2012-05-10 8 views
6

Zastanawiam się, czy ktoś może rzucić trochę wgląd w to, dlaczego SmartGit nie zachowuje się, gdy łączę się z naszym serwerem kontroli kodu źródłowego przez SSH. GitBash zachowuje się dobrze.Ustawienie katalogu domowego klienta Git/SmartGit SSH

Tło:

Mam serwer sterujący źródłem skonfigurować w sieci, działa msysgit z WinSSH jako serwer SSH. Przechwytuje AD, aby rozpoznać nazwy użytkowników itp. I zaimportowałem wszystkie publiczne klucze RSA itd. Wszystko działa brzoskwiniowo.

Jedna krzywa-ball dla nas jest to, że chociaż Git jest zainstalowany w 'C: \ Program Files (x86) \ Git' nasz rzeczywisty kod źródłowy siedzi na 'C: \ Git', który jest wspierany regularnie.

Skonfigurowałem WinSSH tak, aby wszystkie sesje SSH były domyślnie ustawione na "C: \ Git" jako ich katalog domowy, który działa jak ptaszek. Kiedy używam Git Bash do łączenia się z serwerem, domyślnie jest to "C: \ Git". Idealny.

Kiedy dostaję SmartGit (używając SmartGit SSH Client), aby połączyć się z tym samym serwerze, z adresem URL:

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

pojawia się błąd mówiąc ścieżkę ...

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

.. .nie wydaje się być repozytorium. Cóż, tak ... To powinno być szukanie w 'C: \ Git', nie 'C: \ Program Files (x86) \ Git'.

Nie jestem pewien, dlaczego SmartGit nie umieszcza ładnie w tej konfiguracji, ale domyślne ustawienia WinSSH są pomijane przez klienta SSH, ponieważ określa on pełną ścieżkę całkowicie z "C: \ Program Files (x86) \ Git ".

Moje pytania:

jakieś pomysły gdzie SmartGit mogą być uzyskiwanie 'C: \ Program Files (x86) \ Git' ścieżkę od?

Czy jest to zmienna, którą mogę ustawić gdzieś?

Informacja uzupełniająca (Aktualizacja)

Wersja 3.0.4 SmartGit jest jednak kwestia była również obecna w 2.x.

Mam załączeniu co (jestem całkiem pewny) jest wystąpienie awarii w dzienniku aplikacji SmartGit:

1782732 (2012-05-10 12: 18: 56653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - Wykonywanie następującego polecenia: "C: \ Program Files \ 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.wykonywalne - w katalogu: puste

1783049 (2012-05-10 12: 18: 56970) [QThreadPoolThread 8 (smartgit.aqT)] Informacje smartgit.server - otrzymała polecenie: ssh

1786438 (2012- 05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: fatal: 'C:/Program Files (x86) /Git/INIT/INIT.Framework.git' nie wydaje się być repozytorium git

1786438 (2012-05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: 'C:/Program Files (x86) /Git/INIT/INIT.Framework.git "nie wydaje się być repozytorium git

1786439 (2012-05-10 12: 19: 00360) [wątku-29] Błąd smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager Otrzymanie nici: błąd receiveLoop: gniazdo zamknięte

1786763 (2012-05-10 12: 19: 00.684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: fatal: zdalny koniec zawiesił się nieoczekiwanie

1786763 (2012-05- 10 12: 19: 00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: zdalny koniec zakończył się nieoczekiwanie

1786772 (2012-05-10 12: 19: 00,693) [ QThreadPoolThread-2 (smartgit.KL)] WARN sg.command.ping - 'C:/Program Files (x86)/Git/I NIT/INIT.Framework.git "nie wydaje się być repozytorium git Zdalny koniec nieoczekiwanie zawiesił się smartgit.cn:" C:/Program Files (x86) /Git/INIT/INIT.Framework.git "nie wydają się być repozytorium git zdalnego rozłączone nieoczekiwanie

w smartgit.gG.a SourceFile: (86)

w smartgit.ga.a (SourceFile: 63)

w smartgit.ga.a (SourceFile: 53)

at smartgit.hA.a (SourceFile: 57)

w smartgit.ahq.a (SourceFile: 26)

w smartgit.ahl.a (SourceFile: 39)

w smartgit.aL.a SourceFile (46)

w smartgit.aD.a (SourceFile: 41)

w smartgit.Kw.a (SourceFile: 144)

w smartgit.KL.run (SourceFile 34)

na smartgit.Pp.run (SourceFile: 65)

+0

Co dokładna wersja SmartGit używasz? Jaki jest odpowiedni komunikat o błędzie/komunikat stacktrace z log.txt SmartGit (w katalogu ustawień SmartGit, zobacz O dialogu)? – mstrap

+0

Dzięki, nie wiedziałem o tym pliku dziennika. Zaktualizowałem pytanie z przykładem błędu. Niestety, nie wydaje mi się, żeby to rzuciło więcej światła ... Widać, że wpisuje adres zdalny z adresem SSH, ale próbuje pobrać z C: \ Program Files (x86) \, ale to już wszystko. – Martaver

+0

Czy git-ssh.log w katalogu ustawień SmartGit zawiera przydatne informacje? Dodaj także linię "log4j.category.smartgit.ssh.client = DEBUG" do logj4.properties i zrestartuj SmartGit. To da więcej danych wyjściowych debugowania dla połączenia SSH w log.txt. Proszę pisać ponownie linie związane z "smartgit.ssh.client". – mstrap

Odpowiedz

1

bardzo irytujące ze ustalony ścieżka, która może wydawać się problem tutaj ?! Dopóki nie zostanie to naprawione w późniejszej wersji, może powinieneś zamiast tego utworzyć punkt połączenia katalogu lub link symboliczny. Może być rozwiązaniem (szybkim i brudnym) zamiast spędzać czas na naprawianiu programu.

(musi być prowadzony w powłoce Administrator)

Do punktu połączenia:

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

Na symbolicznym linkiem:

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

Świetny pomysł "poza pudełkiem" i rozważyłem to. Przerwa dla mnie była taka, że ​​jak rozumiem, punkt połączenia przekieruje wszystko, a nie tylko sesję git. – Martaver