Installing the Git / SmartGit SSH Client Home Folder

I am wondering if anyone can clarify why SmartGit does not behave when I connect to our version control server via SSH. GitBash behaves perfectly.

Background:

I have a version control server configured on the network, working with MSYSGit with WinSSH as an SSH server. It connects to AD to resolve usernames, etc., and I imported all the public RSA keys, etc. Everything works peachy.

One curved ball for us is that although Git is installed in 'C: \ Program Files (x86) \ Git', our actual source code is on 'C: \ Git', which is regularly maintained.

I configured WinSSH to make all SSH sessions default to "C: \ Git" as the home folder that works. 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 the URL:

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

I get an error message ...

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

... does not seem to be a repository. Well, yes ... He should look for it in 'C: \ Git', not 'C: \ Program Files (x86) \ Git'.

I'm not sure why SmartGit is not suitable with this setting, but I believe that WinSSH settings are ignored by its SSH client by default, since it fully defines the entire path from "C: \ Program Files" (x86) \ Git.

My questions:

Any ideas SmartGit can get the path "C: \ Program Files (x86) \ Git"?

Is this a variable that I can set somewhere?

Additional information (update)

SmartGit version 3.0.4, however, the problem was also present in 2.x.

I attached what (I'm sure) is a failure instance in the SmartGit application log:

1782732 (2012-05-10 12: 18: 56,653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - Run the 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 the directory: null

1783049 (2012-05-10 12: 18: 56,970) [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server - command received: 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 'is not 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 'is not a git repository

1786439 (2012-05-10 12: 19: 00,360) [Thread-29] ERROR smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager: Receive stream: 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' is not a Git repository; the remote end unexpectedly hung up smartgit.cn: 'C: / Program Files (x86) /Git/INIT/INIT.Framework.git' does not appear to be a Git repository; the remote end unexpectedly hung up

at smartgit.gG.a (SourceFile: 86)

at smartgit.ga.a (SourceFile: 63)

at smartgit.ga.a (SourceFile: 53)

on smartgit.hA.a (SourceFile: 57)

at smartgit.ahq.a (SourceFile: 26)

at smartgit.ahl.a (SourceFile: 39)

on smartgit.aL.a (SourceFile: 46)

on smartgit.aD.a (SourceFile: 41)

on smartgit.Kw.a (SourceFile: 144)

in smartgit.KL.run (SourceFile: 34)

in smartgit.Pp.run (SourceFile: 65)

+6
source share
1 answer

Very annoying hard way, which might seem like a problem here ?! Until this is fixed in a later version, perhaps you should create a directory junction point or a symbolic link. There may be a (quick and dirty) solution instead of wasting time fixing the program.

(must be running in the admin shell)

For a junction point:

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

For a symbolic link:

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

Source: https://habr.com/ru/post/915347/


All Articles