我想知道是否有人可以深入了解为什么当我通过 SSH 连接到我们的源代码控制服务器时 SmartGit 不正常。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 客户端)连接到同一台服务器时,使用 url:
ssh://<server>/<folder>/<repo>
我收到一条错误提示路径...
C:\Program Files (x86)\Git\<folder>\<repo>
...似乎不是存储库。嗯,是的......它应该在“ C:\Git ”中寻找它,而不是“ C:\Program Files (x86)\Git ”。
我不确定为什么 SmartGit 不适合这个设置,但我认为它的 SSH 客户端绕过了默认的 WinSSH 设置,因为它完全从' 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)] 信息 smartgit.core.executable - 执行以下命令:"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)] 信息 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 - 标准错误:致命:'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)[Thread-29] 错误 smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager:接收线程:receiveLoop 中的错误:套接字已关闭
1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - 标准错误:致命:远程端意外挂断
1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO 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)