Paul Johnston venit, vidit, dixit 15.09.2008 10:30: > I'm having trouble with git-clone and I'm wondering if there's > something I'm doing wrong or something wrong with git. Probably the > former, hopefully someone can set me straight. > > I'm an admittedly novice git user. I'm trying to clone a repository > over ssh. The host machine 'imac' is my mac osx 10.4 with git 1.6.0 > installed from a macports package. This installs into /opt/local/bin. > I also cloned git from HEAD and 'make; make install'ed into ~/bin, > this is the version shown below. Either way, these are > nonstandard/non-system-wide installation locations, and it requires > that my shell PATH reflect this, obviously. > > ---------------------------------------------- > > # About my installation > imac:~ paul$ which git > /Users/paul/bin/git > > imac:~ paul$ git --version > git version 1.6.0.1.285.g1070 > > imac:~ paul$ ls /opt/local/bin/git* > /opt/local/bin/git > /opt/local/bin/git-upload-archive /opt/local/bin/gitk > /opt/local/bin/git-receive-pack /opt/local/bin/git-upload-pack > > imac:~ paul$ ls ~/bin/git* > /Users/paul/bin/git > /Users/paul/bin/git-shell > /Users/paul/bin/git-upload-pack > /Users/paul/bin/git-receive-pack > /Users/paul/bin/git-upload-archive > > # Make a simple reposirtory /tmp/test/.git > imac:~ paul$ cd /tmp > imac:/tmp paul$ mkdir test; cd test; echo 'Hello World' > README; git > init; git add README; git commit -a -m'Initial import'; cd .. > Initialized empty Git repository in /private/tmp/test/.git/ > Created initial commit 49c10e6: Initial import > 1 files changed, 1 insertions(+), 0 deletions(-) > create mode 100644 README > > # OK, this fails expectedly > imac:/tmp paul$ cd ~ > imac:~ paul$ git clone ssh://localhost/tmp/test/.git > Initialized empty Git repository in /Users/paul/test/.git/ > Password: > bash: line 1: git-upload-pack: command not found > fatal: The remote end hung up unexpectedly > > # This has been killing me... Have tried numerous variants of the > same with similar results... > imac:~ paul$ git clone --upload-pack /opt/local/bin/git-upload-pack > ssh://localhost/tmp/test/.git > Initialized empty Git repository in /Users/paul/test/.git/ > Password: > remote: fatal: exec pack-objects failed. > error: git-upload-pack: git-pack-objects died with error. > fatal: git-upload-pack: aborting due to possible repository corruption > on the remote side. > remote: aborting due to possible repository corruption on the remote side. > fatal: early EOF > fatal: index-pack failed > > # Fix it with symlinks in /usr/bin > imac:~ paul$ cd /usr/bin/ > imac:/usr/bin paul$ sudo ln -s /opt/local/bin/git* . > imac:/usr/bin paul$ ls -al git* > lrwxr-xr-x 1 root wheel 18 Sep 9 19:18 git -> /opt/local/bin/git > lrwxr-xr-x 1 root wheel 31 Sep 9 19:18 git-receive-pack -> > /opt/local/bin/git-receive-pack > lrwxr-xr-x 1 root wheel 33 Sep 9 19:18 git-upload-archive -> > /opt/local/bin/git-upload-archive > lrwxr-xr-x 1 root wheel 30 Sep 9 19:18 git-upload-pack -> > /opt/local/bin/git-upload-pack > lrwxr-xr-x 1 root wheel 19 Sep 9 19:18 gitk -> /opt/local/bin/gitk > > # And now git-clone works as expected... > imac:/usr/bin paul$ cd > imac:~ paul$ git clone ssh://localhost/tmp/test/.git > Initialized empty Git repository in /Users/paul/test/.git/ > Password: > remote: Counting objects: 3, done. > remote: Total 3 (delta 0), reused 0 (delta 0) > Receiving objects: 100% (3/3), done. > > imac:~ paul$ find test/ > test/ > test//.git > { file listing removed for brevity... } > test//README > > ------------------------------------------- > > OK, great, now it works. I suspect I'm not using the --upload-pack > option correctly or my ssh installation is suboptimal, but as I could > find no existing documentation on the subject, I am posting this > message. Any thoughts? re ssh: I'm surprised your PATH doesn't include $HOME/bin when sshing. That should make everything work. re upload-pack: That indeed sounds as if upload-pack can't execute pack-objects. I checked by moving my bin away, and clone failed. Seems everyone is using proper PATHS ;) In fact, upload-pack tries to call "git pack-objects" and fails if it can't find git. Patch upcoming... Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html