author | Junio C Hamano <junkio@cox.net> | |
Thu, 10 May 2007 00:11:15 +0000 (17:11 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Thu, 10 May 2007 20:26:14 +0000 (13:26 -0700) | ||
commit | c2f599e09fd0496413d1744b5b89b9b5c223555d | |
tree | 7a1ea1e4ad23972c12bef9281edf9034cfe16640 | tree | snapshot |
parent | c69f4050958b648acd668b37dc77772e05148a97 | commit | diff |
git-clone: don't get fooled by $PWD
If you have /home/me/git symlink pointing at /pub/git/mine,
trying to clone from /pub/git/his/ using relative path would not
work as expected:
$ cd /home/me
$ cd git
$ ls ../
his mine
$ git clone -l -s -n ../his/stuff.git
This is because "cd ../his/stuff.git" done inside git-clone to
check if the repository is local is confused by $PWD, which is
set to /home/me, and tries to go to /home/his/stuff.git which is
different from /pub/git/his/stuff.git.
We could probably say "set -P" (or "cd -P") instead, if we know
the shell is POSIX, but the way the patch is coded is probably
more portable.
[jc: this is updated with Andy Whitcroft's improvements]
Signed-off-by: Junio C Hamano <junkio@cox.net>
If you have /home/me/git symlink pointing at /pub/git/mine,
trying to clone from /pub/git/his/ using relative path would not
work as expected:
$ cd /home/me
$ cd git
$ ls ../
his mine
$ git clone -l -s -n ../his/stuff.git
This is because "cd ../his/stuff.git" done inside git-clone to
check if the repository is local is confused by $PWD, which is
set to /home/me, and tries to go to /home/his/stuff.git which is
different from /pub/git/his/stuff.git.
We could probably say "set -P" (or "cd -P") instead, if we know
the shell is POSIX, but the way the patch is coded is probably
more portable.
[jc: this is updated with Andy Whitcroft's improvements]
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-clone.sh | diff | blob | history |