I'm wondering if anyone can shed some insight into why SmartGit isn't behaving when I'm connecting to our source control server through SSH. GitBash behaves fine.
Background:
I've got a source control server set up on the network, running MSYSGit with WinSSH as the SSH server. It hooks into AD to resolve usernames etc, and I've imported all the public RSA keys etc. Everything works peachy.
One curve-ball for us, is that although Git is installed at 'C:\Program Files (x86)\Git' our actual source code sits at 'C:\Git', which is backed up regularly.
I've configured WinSSH to make all SSH sessions default to 'C:\Git' as their home folder, which works a treat. When I use Git Bash to connect to the server, it defaults to 'C:\Git'. Perfect.
When I get SmartGit (using SmartGit SSH Client) to connect to the same server, with url:
ssh://<server>/<folder>/<repo>
I get an error saying the path...
C:\Program Files (x86)\Git\<folder>\<repo>
...doesn't appear to be a repository. Well, yeah... It should be looking for it in 'C:\Git', not 'C:\Program Files (x86)\Git'.
I'm not sure why SmartGit doesn't place nice with this setup, but I reckon the default WinSSH settings are being bypassed by its SSH client, since its specifying the whole path completely from 'C:\Program Files (x86)\Git'.
My Questions:
Any ideas where SmartGit might be getting the 'C:\Program Files (x86)\Git' path from?
Is this a variable I can set somewhere?
Further Information (Update)
The version of SmartGit is 3.0.4, however the issue was also present in 2.x.
I have attached what (I'm pretty sure) is an instance of the failure in the SmartGit application log:
1782732 (2012-05-10 12:18:56,653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - Executing following command: "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.executable - in directory: null
1783049 (2012-05-10 12:18:56,970) [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server - received command: 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' does not appear to be a git repository
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' does not appear to be a git repository
1786439 (2012-05-10 12:19:00,360) [Thread-29] ERROR smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager: Receive thread: error in receiveLoop: socket closed
1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: fatal: The remote end hung up unexpectedly
1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: The remote end hung up unexpectedly
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' does not appear to be a git repository The remote end hung up unexpectedly smartgit.cn: 'C:/Program Files (x86)/Git/INIT/INIT.Framework.git' does not appear to be a git repository The remote end hung up unexpectedly
at smartgit.gG.a(SourceFile:86)
at smartgit.ga.a(SourceFile:63)
at smartgit.ga.a(SourceFile:53)
at smartgit.hA.a(SourceFile:57)
at smartgit.ahq.a(SourceFile:26)
at smartgit.ahl.a(SourceFile:39)
at smartgit.aL.a(SourceFile:46)
at smartgit.aD.a(SourceFile:41)
at smartgit.Kw.a(SourceFile:144)
at smartgit.KL.run(SourceFile:34)
at smartgit.Pp.run(SourceFile:65)