Run command 'git rev-parse --git-dir' under subdir will return realpath of '.git' directory. Some test scripts compare this realpath against "$TRASH_DIRECTORY", they are not equal if current working directory is on a symlink. In this fix, get realpath of "$TRASH_DIRECTORY", store it in "$TRASH_REALPATH" variable, and use it when necessary. Signed-off-by: Jiang Xin <worldhello.net@xxxxxxxxx> --- t/t4035-diff-quiet.sh | 8 +++++--- t/t9903-bash-prompt.sh | 13 +++++++------ 2 个文件被修改,插入 12 行(+),删除 9 行(-) diff --git a/t/t4035-diff-quiet.sh b/t/t4035-diff-quiet.sh index 23141..5855 100755 --- a/t/t4035-diff-quiet.sh +++ b/t/t4035-diff-quiet.sh @@ -4,6 +4,8 @@ test_description='Return value of diffs' . ./test-lib.sh +TRASH_REALPATH="$(cd "$TRASH_DIRECTORY"; pwd -P)" + test_expect_success 'setup' ' echo 1 >a && git add . && @@ -102,7 +104,7 @@ test_expect_success 'git diff, one file outside repo' ' test_expect_success 'git diff, both files outside repo' ' ( - GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/test-outside" && + GIT_CEILING_DIRECTORIES="$TRASH_REALPATH/test-outside" && export GIT_CEILING_DIRECTORIES && cd test-outside/non/git && test_expect_code 0 git diff --quiet a matching-file && @@ -120,7 +122,7 @@ test_expect_success 'git diff --ignore-space-at-eol, one file outside repo' ' test_expect_success 'git diff --ignore-space-at-eol, both files outside repo' ' ( - GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/test-outside" && + GIT_CEILING_DIRECTORIES="$TRASH_REALPATH/test-outside" && export GIT_CEILING_DIRECTORIES && cd test-outside/non/git && test_expect_code 0 git diff --quiet --ignore-space-at-eol a trailing-space && @@ -139,7 +141,7 @@ test_expect_success 'git diff --ignore-all-space, one file outside repo' ' test_expect_success 'git diff --ignore-all-space, both files outside repo' ' ( - GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/test-outside" && + GIT_CEILING_DIRECTORIES="$TRASH_REALPATH/test-outside" && export GIT_CEILING_DIRECTORIES && cd test-outside/non/git && test_expect_code 0 git diff --quiet --ignore-all-space a trailing-space && diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh index f17c1f..275bc 100755 --- a/t/t9903-bash-prompt.sh +++ b/t/t9903-bash-prompt.sh @@ -10,6 +10,7 @@ test_description='test git-specific bash prompt functions' . "$GIT_BUILD_DIR/contrib/completion/git-prompt.sh" actual="$TRASH_DIRECTORY/actual" +TRASH_REALPATH="$(cd "$TRASH_DIRECTORY"; pwd -P)" test_expect_success 'setup for prompt tests' ' mkdir -p subdir/subsubdir && @@ -59,7 +60,7 @@ test_expect_success 'gitdir - .git directory in cwd' ' ' test_expect_success 'gitdir - .git directory in parent' ' - echo "$TRASH_DIRECTORY/.git" > expected && + echo "$TRASH_REALPATH/.git" > expected && ( cd subdir/subsubdir && __gitdir > "$actual" @@ -77,7 +78,7 @@ test_expect_success 'gitdir - cwd is a .git directory' ' ' test_expect_success 'gitdir - parent is a .git directory' ' - echo "$TRASH_DIRECTORY/.git" > expected && + echo "$TRASH_REALPATH/.git" > expected && ( cd .git/refs/heads && __gitdir > "$actual" @@ -115,7 +116,7 @@ test_expect_success 'gitdir - non-existing $GIT_DIR' ' ' test_expect_success 'gitdir - gitfile in cwd' ' - echo "$TRASH_DIRECTORY/otherrepo/.git" > expected && + echo "$TRASH_REALPATH/otherrepo/.git" > expected && echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" > subdir/.git && test_when_finished "rm -f subdir/.git" && ( @@ -126,7 +127,7 @@ test_expect_success 'gitdir - gitfile in cwd' ' ' test_expect_success 'gitdir - gitfile in parent' ' - echo "$TRASH_DIRECTORY/otherrepo/.git" > expected && + echo "$TRASH_REALPATH/otherrepo/.git" > expected && echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" > subdir/.git && test_when_finished "rm -f subdir/.git" && ( @@ -137,7 +138,7 @@ test_expect_success 'gitdir - gitfile in parent' ' ' test_expect_success SYMLINKS 'gitdir - resulting path avoids symlinks' ' - echo "$TRASH_DIRECTORY/otherrepo/.git" > expected && + echo "$TRASH_REALPATH/otherrepo/.git" > expected && mkdir otherrepo/dir && test_when_finished "rm -rf otherrepo/dir" && ln -s otherrepo/dir link && @@ -152,7 +153,7 @@ test_expect_success SYMLINKS 'gitdir - resulting path avoids symlinks' ' test_expect_success 'gitdir - not a git repository' ' ( cd subdir/subsubdir && - GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY" && + GIT_CEILING_DIRECTORIES="$TRASH_REALPATH" && export GIT_CEILING_DIRECTORIES && test_must_fail __gitdir ) -- 1.7.12.rc0.16.gf4916ac -- 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