Error Creating Git Repository in Fisheye 2.7.0
Asked by Nicholas Holmes:

Msysgit is installed to 'C:\\Git\\bin\\git.exe' and is set appropriately in Fisheye administration menu.

Any thoughts on how to correct this? Looks like a path issue but what is passing this path as a param? How can I enclose this and/or correct the Fisheye configuration?


Answers:
author: Nicholas Holmes
body: Sorry for not updating this question sooner but I wanted to offer the solutions that eventually resolved my issue.

1. Fisheye was installed to 'C:\\Program Files' in the Windows environment. This was ultimately the issue. I ended up moving the installation to 'C:\\Fisheye'. My Git installation was not an issue. I made no changes to this aspect.

2. When adding a repostory url I also needed to add a path of '/'. I could not indicate Fisheye to index at the root without placing this value in the path field.

That's it. I hope this helps some of the windows users out there.


author: Michael Heemskerk
body: Nick,

This definitely looks like a path problem. FishEye should be able to cope with paths with spaces in them though, so I'll investigate and try to reproduce the issue locally. In the meantime, you could check the following and see whether this resolves the issue for you. When executing git commands, any of the following could be involved:

* the git.exe itself.
* FISHEYE_HOME/bin/fe_ssh.bat if the git repository url is ssh-based (ssh://..)
* the openssh executable, again if the git repository url is ssh-based (ssh://..)

Also, if you turn on DEBUG logging in the FishEye administration, the git commands that are executed will be logged in the fisheye-debug.log. This might give you a hint. If all this doesn't resolve the issue for you, please head over to <http://support.atlassian.com> and open a support ticket.

Cheers,

Michael

comments: author: Nicholas Holmes
body: I was able to turn on the debug logging and it definitely shed some light on this. This is the message I found..
> Error executing command "C:\\Git\\bin\\git.exe ls-remote -h ssh://git@\[SERVER\]:testing ": 'C:\\Program' is not recognized as an internal or external command,  
> operable program or batch file.  
> fatal: The remote end hung up unexpectedly

The git command seems appropriate but the message makes no sense. How could executing a command on 'C:\\Git' have anything to do with 'C:\\Program'??

I am also seeing..
> Exception executing command "C:\\Git\\bin\\git.exe ls-remote -h ssh://git@nyobgtppncl1vsa:testing " Non-zero exit code: 128 com.atlassian.utils.process

listed in green above my previous red error message as in the image in my question. I have see the confluence troubleshooting article on exit code 138. Any ideas on code 128?


author: Nicholas Holmes
body: I was able to turn on the debug logging and it definitely shed some light on this. This is the message I found..  

Error executing command "C:\\Git\\bin\\git.exe ls-remote -h ssh://git@\[SERVER\]:testing ": 'C:\\Program' is not recognized as an internal or external command,  
operable program or batch file.  
fatal: The remote end hung up unexpectedly  

The git command seems appropriate but the message makes no sense. How could executing a command on 'C:\\Git' have anything to do with 'C:\\Program'??  

I am also seeing..  

Exception executing command "C:\\Git\\bin\\git.exe ls-remote -h ssh://git@\[SERVER\]:testing " Non-zero exit code: 128 com.atlassian.utils.process  

listed in green above my previous red error message as in the image in my question. I have see the confluence troubleshooting article on exit code 138. Any ideas on code 128?


author: Vasili_Prikhodko
body: I also had this problem and resolved it by going to Admin settings -\> Global settings -\> Server page. Then scroll down to 'Git Executable' and enter the path to your executable. The caveat is that your git exe has to be somewhere where there is no space in path, otherwise tool will fail. It is a bug but Atlassian is considering it low priority I guess.


author: Michael Heemskerk
body: As far as I can tell, exit code 128 means 'Errors already reported', which would refer to the earlier errors that are reported.

You may want to check where ssh.exe is installed. FishEye searches for ssh.exe on the path and also reports the ssh.exe that it is using in the logs. Look for the the following in the fisheye-debug.log: "FishEye is using '\<some-path\>' to authenticate with SSH authenticated repositories.". If this is somewhere in C:\\Program Files\\..., please move it to a path without spaces.

comments: author: Nicholas Holmes
body: My issue yet still unresolved. However, there are three things that i've discovered. I thought I might add this here to help anyone in the future.

1. I had to move my FISHEYE_HOME to a higher level directory (ex. C:\\Fisheye). This eliminated the error "C:\\Program is not recognized". Obviously there is some element within the application which cannot handle paths with spaces.

2. FISHEYE_HOME/bin/fe_ssh.bat contains 2 environment variables that you must specify in windows. %SSH_EXEC% \& %FE_SSH_KEY%" which are the path to the ssh executable and path to the fisheye private key respectively. Adding ssh to %PATH% did not work.

3. If you have an environment variable called %HOME% (or must have one by default) make sure its set to a location that fisheye's process has permissions to. It must create a ".ssh" directory for configuration files.