2016-03-19 8 views
0
using (var repo = new Repository("path/to/your/repo")) 
{ 
    LibGit2Sharp.PullOptions options = new LibGit2Sharp.PullOptions(); 
    options.FetchOptions = new FetchOptions(); 
    options.FetchOptions.CredentialsProvider = new CredentialsHandler(
     (url, usernameFromUrl, types) => 
      new UsernamePasswordCredentials() 
      { 
       Username = USERNAME, 
       Password = PASSWORD 
      }); 
    repo.Network.Pull(new LibGit2Sharp.Signature(USERNAME, EMAIL, new DateTimeOffset(DateTime.Now)), options) 
} 

i konw nicht, wie Argumente zu setzen, wenn ich es verwenden, wird ein Fehler angezeigt ----- Nicht unterstützte URL protocol.could Sie mir sagen, wie Argumente festlegen ?.Libgit2sharp: wie „git pull„ verwenden

+0

Was ist das URL-Protokoll, das Sie verwenden möchten? –

Antwort

0

Es hängt von der uRL, die Sie verwenden

zum Beispiel issue 649 eindeutig fest:

git.git unterstützt relative URLs in Remote-Konfigurationen und löst sie in Bezug auf das Arbeitsverzeichnis.
libgit2 schlägt derzeit mit "Nicht unterstütztes URL-Protokoll" fehl.

Es wird erwartet, dass die Pfade absolut sind.

Wenn Ihre URL tatsächlich ein lokaler Pfad ist, stellen Sie sicher, dass es sich um einen absoluten Pfad (und keinen relativen Pfad) handelt.

Als commented von 崔重阳 wird die Verwendung einer https-instea einer sssh-URL unterstützt.

+0

ok! Danke! Ich finde den Grund. Ich habe ssh vor, wenn ich http ändern, ist es erfolgreich! –

+0

@ 崔 重阳 OK. Ich habe Ihren Kommentar in die Antwort für mehr Sichtbarkeit aufgenommen. – VonC