Clone works, remote push doesn't. Remote repository over copssh

copssh, git, msysgit, ssh, windows-7-x64

Solution

stupid fix (this changed /SSH/home/rvc/.gitconfig):

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git config --global remote.origin.receivepack "git receive-pack"

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 246 bytes, done.
Total 2 (delta 0), reused 0 (delta 0)
To ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git
   680f32e..2da0df1  master -> master

Problem

I've "setup-a-msysgit-server-with-copssh-on-windows", following Tim Davis' guide and I was now learning how to use the git commands, following Jason Meridth's guide, and I have managed to get everything working fine, but now I can't pass the push command. I have set the server and the client on the same machine (for now), win7-x64. Here is some info of how things are set up: ``` CopSSH Folder : C:/SSH/ Local Home Folder : C:/Users/rvc/ Remote Home Folder: C:/SSH/home/rvc/ # aka /cygdrive/c/SSH/home/rvc/ git remote rep : C:/SSH/home/rvc/myapp.git # empty rep ``` At '/SSH/home/rvc/.bashrc' and 'Users/rvc/.bashrc': ``` export HOME=/cygdrive/c/SSH/home/rvc gitpath='/cygdrive/c/Program Files (x86)/Git/bin' gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${gitpath}:${gitcorepath}:${PATH} ``` So, cloning works (everything bellow is done via "Git Bash here" :P): ``` rvc@RVC-DESKTOP /c/code $ git clone ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git Initialized empty Git repository in C:/code/myapp/.git/ warning: You appear to have cloned an empty repository. rvc@RVC-DESKTOP /c/code $ cd myapp rvc@RVC-DESKTOP /c/code/myapp (master) $ git remote -v origin ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git (fetch) origin ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git (push) ``` Then I create a file: ``` rvc@RVC-DESKTOP /c/code/myapp (master) $ touch test.file rvc@RVC-DESKTOP /c/code/myapp (master) $ ls test.file ``` Try to push it and get this error: ``` rvc@RVC-DESKTOP /c/code/myapp (master) $ git add test.file rvc@RVC-DESKTOP /c/code/myapp (master) $ GIT_TRACE=1 git push origin master trace: built-in: git 'push' 'origin' 'master' trace: run_command: 'C:\Users\rvc\bin\plink.exe' '-batch' '-P' '5858' 'rvc@192.1 68.1.65' 'git-receive-pack '\''/SSH/home/rvc/myapp.git'\''' git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'. fatal: The remote end hung up unexpectedly ``` "git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'." .. what?! EDIT: RAAAGE!! I'm having the same problem again, but now with ssh: ``` rvc@RVC-DESKTOP /c/code/myapp (master) $ GIT_TRACE=1 git push trace: built-in: git 'push' trace: run_command: 'ssh' '-p' '5858' 'rvc@192.168.1.65' 'git-receive-pack '\''/ SSH/home/rvc/myapp.git'\''' git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'. fatal: The remote end hung up unexpectedly ``` I've tried GUI push, and shows the same message. ``` git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'. Pushing to ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git fatal: The remote end hung up unexpectedly ``` Here's the currents .bashrc: C:\Users\rvc.bashrc (I think this is used only by cygwin/git bash): ``` export HOME=/c/SSH/home/rvc gitpath='/c/Program Files (x86)/Git/bin' gitcorepath='/c/Program Files (x86)/Git/libexec/git-core' export GIT_EXEC_PATH=${gitcorepath} PATH=${gitpath}:${gitcorepath}:${PATH} ``` C:\SSH\home\rvc.bashrc (.. and this is used when git connects via ssh to the "remote" server): ``` export HOME=/c/SSH/home/rvc gitpath='/cygdrive/c/Program Files (x86)/Git/bin' gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' export GIT_EXEC_PATH=${gitcorepath} PATH=${gitpath}:${gitcorepath}:${PATH} ``` EDIT 2: Some additional info: ``` rvc@RVC-DESKTOP /c/code/myapp (master) $ ssh -p 5858 rvc@192.168.1.65 git-receive-pack /SSH/home/rvc/myapp.git git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'. ``` EDIT 3: ``` rvc@RVC-DESKTOP /c/code/myapp (master) $ git push --receive-pack='git receive-pack' ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git --a ll Counting objects: 3, done. Writing objects: 100% (3/3), 202 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git * [new branch] master -> master ``` Has this did the trick?? git push is running 'git-receive-pack', and it should be 'git receive-pack' ? My git version is 'git version 1.7.0.2.msysgit.0'

Original source