Мне интересно, может ли кто-нибудь пролить свет на то, почему SmartGit не работает, когда я подключаюсь к нашему серверу управления версиями через SSH. GitBash ведет себя нормально.
Предыстория:
У меня есть сервер управления версиями, установленный в сети, на котором работает MSYSGit с WinSSH в качестве SSH-сервера. Он подключается к AD для разрешения имен пользователей и т. Д., И я импортировал все открытые ключи RSA и т. Д. Все работает отлично.
Одной из загадок для нас является то, что хотя Git установлен в ' C:\Program Files (x86)\Git', наш фактический исходный код находится в ' C:\Git', который регулярно копируется.
Я настроил WinSSH так, чтобы по умолчанию для всех сеансов SSH использовалась ' C:\Git' в качестве домашней папки, что очень удобно. Когда я использую Git Bash для подключения к серверу, по умолчанию используется «C:\Git». Идеально.
Когда я получаю SmartGit (используя SmartGit SSH Client) для подключения к тому же серверу с URL-адресом:
ssh://<server>/<folder>/<repo>
я получаю сообщение об ошибке с указанием пути...
C:\Program Files (x86)\Git\<folder>\<repo>
...похоже, что это не репозиторий . Ну да... Он должен искать его в "C:\Git", а не в "C:\Program Files (x86)\Git".
Я не уверен, почему SmartGit плохо сочетается с этой настройкой, но я считаю, что настройки WinSSH по умолчанию обходят его SSH-клиент, поскольку он полностью указывает весь путь из ' C:\Program Файлы (x86)\Git'.
Мои вопросы:
Есть идеи, откуда SmartGit может получить путь ' C:\Program Files (x86)\Git'?
Можно ли где-нибудь установить эту переменную?
Дополнительная информация (обновление)
Версия SmartGit — 3.0.4, однако проблема присутствовала и в версии 2.x.
Я прикрепил (я почти уверен) пример сбоя в журнале приложений SmartGit:
1782732 (2012-05-10 12:18:56,653) [QThreadPoolThread-2 (smartgit.KL )] INFO smartgit.core.executable — выполнение следующей команды: «C:\Program Files\Git\bin\git.exe» ls-remote ssh://initio-dev01/INIT/INIT.Framework.git refs/heads/
1782732 (10.05.2012, 12:18:56,653) [QThreadPoolThread-2 (smartgit.KL)] ИНФОРМАЦИЯ smartgit.core.executable — в каталоге: null
1783049 (10.05.2012, 12:18) :56,970) [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server - полученная команда: 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» не является репозиторием git
1786438 (10 мая 2012 г., 12:19) :00,359) [QThreadPoolThread-6 (smartgit.cR)] ИНФОРМАЦИЯ smartgit.core.command — фатальная: 'C:/Program Files (x86)/Git/INIT/INIT.Framework.git не является репозиторием git
1786439 (2012-05-10 12:19:00,360) [Thread-29] ОШИБКА smartgit.ssh.trilead — com.trilead.ssh2.transport.TransportManager: поток получения : ошибка в ReceiveLoop: сокет закрыт
1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] ИНФОРМАЦИЯ smartgit.command.logging - stderr: фатальный: удаленный конец неожиданно завис.
1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] ИНФОРМАЦИЯ smartgit.core.command — фатальная: удаленный конец неожиданно завис
1786772 (2012-05- 10 12:19:00,693) [QThreadPoolThread-2 (smartgit.KL)] ПРЕДУПРЕЖДЕНИЕ sg.command.ping — «C:/Program Files (x86)/Git/INIT/INIT.Framework.git» не является git-репозиторий Удаленный конец неожиданно повесил трубку smartgit.cn: «C:/Program Files (x86)/Git/INIT/INIT.Framework.git» не является репозиторием git Удаленный конец неожиданно завис
на smartgit.gG.a(SourceFile:86)
на smartgit.ga.a(SourceFile:63)
на smartgit.ga.a(SourceFile:53)
на smartgit.hA.a(SourceFile:57)
на smartgit.ahq.a(SourceFile:26)
на smartgit.ahl.a(SourceFile:39)
на smartgit.aL.a( SourceFile:46)
в smartgit.aD.a(SourceFile:41)
в smartgit.Kw.a(SourceFile:144)
в smartgit.KL.run(SourceFile:34)
в smartgit.Pp.run(SourceFile:65)