Мне интересно, может ли кто-нибудь пролить свет на то, почему 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 Files (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 -удаленный ssh://initio-dev01/INIT/INIT.Framework.git refs/heads/
1782732 (2012-05-10 12:18:56,653) [QThreadPoolThread-2 (smartgit.KL)] ИНФОРМАЦИЯ smartgit.core.executable — в каталоге: null
1783049 (2012-05-10 12:18:56,970) [QThreadPoolThread-8 (smartgit.aqT)] ИНФОРМАЦИЯ smartgit.server — получена команда: ssh
1786438 (2012-05-10 12:19:00,359) [QThreadPoolThread-6 (smartgit.cR)] ИНФОРМАЦИЯ smartgit.command.logging — stderr: fatal: 'C:/Program Files (x86)/Git/INIT/INIT. Framework.git не является репозиторием git.
1786438 (2012-05-10 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) [Тема-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)] WARN 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)