diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-12-27 08:26:04 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-12-27 08:34:19 -0800 |
commit | 0ed748134748579a13cf27e1e8b3e55371bcd9dc (patch) | |
tree | 3f39dda690dc82e361b0e33df3bf59512d2bd3f3 /t/t1501-worktree.sh | |
parent | e7d1efbe9dc5c03e65a573d6f8c4d8804118eb0a (diff) | |
download | git-0ed748134748579a13cf27e1e8b3e55371bcd9dc.tar.gz |
setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd
When setup_work_tree() is called, it moves cwd to $GIT_WORK_TREE and
makes internal copy of $GIT_WORK_TREE absolute. The environt variable,
if set by user, remains unchanged. If the variable is relative, it is
no longer correct because its base dir has changed.
Instead of making $GIT_WORK_TREE absolute too, we just say "." and let
subsequent git processes handle it.
Reported-by: Michel Briand <michelbriand@free.fr>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1501-worktree.sh')
-rwxr-xr-x | t/t1501-worktree.sh | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/t/t1501-worktree.sh b/t/t1501-worktree.sh index 2c8f01f668..f072a8ed48 100755 --- a/t/t1501-worktree.sh +++ b/t/t1501-worktree.sh @@ -340,4 +340,11 @@ test_expect_success 'make_relative_path handles double slashes in GIT_DIR' ' git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file ' +test_expect_success 'relative $GIT_WORK_TREE and git subprocesses' ' + GIT_DIR=repo.git GIT_WORK_TREE=repo.git/work \ + test-subprocess --setup-work-tree rev-parse --show-toplevel >actual && + echo "$TRASH_DIRECTORY/repo.git/work" >expected && + test_cmp expected actual +' + test_done |