Wie stellst du die Konfiguration für jschconfigessfactory für jgit ein, damit Pull und Push funktionieren?

8

Ich versuche ein git pull / push mit jgits api mit dem folgenden Code zu machen

%Vor%

aber ich bekomme Ausnahmen

%Vor%

Auch wenn cgit verwendet wird, ziehen und drücken funktioniert.

Ich habe versucht, SO zu überprüfen, zum Beispiel Code

Java-Git-Client, der jgit verwendet

aber die obige Frage bietet kein vollständiges codiertes Beispiel dessen, was notwendig ist, um einen Git-Pull mit einem Remote-Repo durchzuführen, der normalerweise über SSH-Schlüssel authentifiziert wird. Es sollte eine Möglichkeit geben, die Anmeldeinformationen von ~/.ssh/ oder den entsprechenden Fenstern zu erhalten.

    
bmillare 19.09.2012, 20:32
quelle

3 Antworten

3

Das Problem ist, dass Jsch ssh-agent s nicht standardmäßig unterstützt. Man muss Ссылка konfigurieren, damit es funktioniert.

Alternativ können Sie Ihre eigene org.eclipse.jgit.transport.CredentialsProvider erstellen und die org.eclipse.jgit.transport.CredentialItem auf die korrekten Werte setzen (indem Sie sie vom Benutzer anfordern oder nach einer Datei suchen). Sie können den Standardwert CredentialsProvider mit org.eclipse.jgit.transport.CredentialsProvider/setDefault

ändern

Siehe meine clojure Bibliothek dj für Details: Ссылка

    
bmillare 21.09.2012, 19:59
quelle
11

Jsch erkennt Ihre SSH-Schlüssel automatisch, schlägt jedoch fehl, wenn diese durch ein Passwort geschützt sind. Sie müssen die Passphrase über einen CredentialsProvider wie folgt angeben:

%Vor%     
Stephan Windmüller 08.03.2013 09:39
quelle
-1

Ich erinnere mich vage daran, einen Fehler mit JSch zu bekommen, der mich für eine Weile blockiert hat, weil das Protokoll nicht sehr explizit war. Ich kann nicht sicher sagen, dass es das gleiche Problem ist, aber ich folgte dieser Seite, um mein Problem zu lösen:

Ссылка

(aufgrund einer falschen Netzwerkkonfiguration)

    
Vince 19.09.2012 21:19
quelle

Tags und Links