2012-05-10 5 views
6

Ich frage mich, ob jemand Einblick in die Gründe geben kann, warum SmartGit sich nicht verhält, wenn ich über SSH eine Verbindung zu unserem Quellcodeverwaltungsserver herstelle. GitBash verhält sich gut.Einstellen des Benutzerordners von Git/SmartGit SSH Client

Hintergrund:

ich einen Source-Control-Server im Netzwerk eingerichtet haben, laufen msysGit mit WinSSH als SSH-Server. Es hängt sich in AD ein, um Benutzernamen usw. aufzulösen, und ich habe alle öffentlichen RSA-Schlüssel usw. importiert. Alles funktioniert prächtig.

Eine Kurve-Ball für uns ist, dass, obwohl Git bei installiert ist 'C: \ Program Files (x86) \ Git' unsere eigentlichen Quellcode bei sitzt 'C: \ Git', die unterstützt wird regelmäßig auf.

Ich habe WinSSH konfiguriert, um alle SSH-Sitzungen standardmäßig auf 'C: \ Git' als ihren Home-Ordner zu setzen, was ein Vergnügen ist. Wenn ich Git Bash verwende, um eine Verbindung zum Server herzustellen, wird standardmäßig 'C: \ Git' verwendet. Perfekt.

Wenn ich SmartGit (SmartGit SSH-Client) auf dem gleichen Server zu verbinden, mit url:

ssh://<server>/<folder>/<repo> 

Ich erhalte eine Fehlermeldung, dass der Weg ...

C:\Program Files (x86)\Git\<folder>\<repo> 

.. . scheint kein Repository zu sein. Nun, ja ... Es sollte in 'C: \ Git', nicht 'C: \ Programme (x86) \ Git' suchen.

Ich bin mir nicht sicher, warum SmartGit nicht gut mit diesem Setup platziert, aber ich denke, die Standard-WinSSH-Einstellungen werden von seinem SSH-Client umgangen, da es den gesamten Pfad vollständig von 'C: \ Programme (x86) \ Git '.

Meine Fragen:

Irgendwelche Ideen, wo SmartGit die 'C: \ Program Files (x86) \ Git' sein könnte, immer von dem Pfad?

Ist das eine Variable, die ich irgendwo einstellen kann?

Weitere Informationen (Update)

Die Version von SmartGit ist 3.0.4, aber das Problem auch in 2.x. vorlag

Ich habe angebracht, was (ich bin mir ziemlich sicher) ist ein Beispiel für das Scheitern in dem SmartGit Anwendungsprotokoll:

1782732 (2012-05-10 12: 18: 56.653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - Ausführen des folgenden Befehls: "C: \ Programme \ Git \ bin \ git.exe" ls-remote ssh: //initio-dev01/INIT/INIT.Framework.git refs/heads/

1782732 (2012-05-10 12: 18: 56,653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.ausführbar - im Verzeichnis: null

1783049 (2012-05-10 12: 18: 56.970) [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server - Befehl empfangen: SSH

1786438 (2012- 05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: fatal: "C:/Programme (x86)/Git/INIT/INIT.Framework.git" scheint kein git-Repository zu sein

1786438 (2012-05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: 'C:/Programme (x86) /Git/INIT/INIT.Framework.git 'scheint kein Git-Repository zu sein

1.786.439 (2012-05-10 12: 19: 00.360) [Thema-29] smartgit.ssh.trilead ERROR - com.trilead.ssh2.transport.TransportManager: Thread angezeigt: Fehler in receiveLoop: socket

geschlossen 1786763 (2012-05-10 12: 19: 00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: fatal: Das Remote-Ende, das unerwartet aufhängte

1786763 (2012-05- 10 12: 19: 00.684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: Das Remote-Ende hängt unerwartet auf

1786772 (2012-05-10 12: 19: 00.693) [ QThreadPoolThread-2 (smartgit.KL)] WARN sg.command.ping - 'C:/Programme (x86)/Git/I NIT/INIT.Framework.git scheint kein git-Repository zu sein Das Remote-Ende hängt unerwartet auf smartgit.cn: 'C:/Programme (x86) /Git/INIT/INIT.Framework.git' nicht erscheint eine GIT-Repository Das entfernte Ende unerwartet

aufgehängt sein

bei smartgit.gG.a (Source: 86)

bei smartgit.ga.a (Source: 63)

bei smartgit.ga.a (Quelldatei: 53)

bei smartgit.hA.a (Source: 57)

bei smartgit.ahq.a (Source: 26)

bei smartgit.ahl.a (Source: 39)

bei smartgit.aL.a (Source: 46)

bei smartgit.aD.a (Source: 41)

bei smartgit.Kw.a (Source: 144)

bei smartgit.KL.run (Source: 34)

bei smartgit.Pp.run (Source: 65)

+0

Welche genaue Version von SmartGit verwenden Sie? Was ist die entsprechende Fehlermeldung/stacktrace aus der log.txt von SmartGit (im Einstellungsverzeichnis von SmartGit, siehe Dialogfeld "Info")? – mstrap

+0

Danke, ich wusste nichts über diese Protokolldatei. Ich habe die Frage mit einem Beispiel für den Fehler aktualisiert. Leider glaube ich nicht, dass es mehr Licht wirft ... Sie können sehen, dass es die Remote-Adresse mit der SSH-URL eingibt, aber versucht, von C: \ Program Files (x86) zu ziehen, aber das ist es schon. – Martaver

+0

Enthält git-ssh.log im Einstellungsverzeichnis von SmartGit nützliche Informationen? Fügen Sie außerdem "log4j.category.smartgit.ssh.client = DEBUG" zu logj4.properties hinzu und starten Sie SmartGit neu. Dies wird mehr Debug-Ausgabe für die SSH-Verbindung in log.txt geben. Bitte posten Sie die "smartgit.ssh.client" -bezogenen Zeilen erneut. – mstrap

Antwort

1

Sehr ärgerlich mit fest codierten Pfad ist, was das Problem hier zu sein scheinen könnte ?! Bis dies in einer späteren Version behoben wird, sollten Sie stattdessen einen Verzeichnisverbindungspunkt oder eine symbolische Verbindung erstellen. Könnte eine (schnelle und schmutzige) Lösung sein, anstatt Zeit damit zu verbringen, das Programm zu reparieren.

(muss in einem Administrator-Shell ausgeführt werden)

Für Knotenpunkt:

mklink /j "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder> 

Für symbolischen Link:

mklink /d "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder> 
+0

Großartige Idee von außen, und ich habe darüber nachgedacht. Der Breaker für mich war jedoch, dass, wie ich es verstehe, ein Knotenpunkt alles und nicht nur die Git Session umleiten wird. – Martaver

Verwandte Themen