diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-11-26 22:31:59 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-11-29 13:25:53 -0800 |
commit | fc4045ee3eae49c829a466752da1937cfa13e048 (patch) | |
tree | 30d266d3b98323f6fe5f7e1e6298db14ae0e5ae2 /t/t1510-repo-setup.sh | |
parent | 03a2b6effaeaebef86a3c524ecd6c77c70f53273 (diff) | |
download | git-fc4045ee3eae49c829a466752da1937cfa13e048.tar.gz |
t1510: setup case #0
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/t1510-repo-setup.sh')
-rwxr-xr-x | t/t1510-repo-setup.sh | 53 |
1 files changed, 51 insertions, 2 deletions
diff --git a/t/t1510-repo-setup.sh b/t/t1510-repo-setup.sh index d19b9c8e81..26842274a2 100755 --- a/t/t1510-repo-setup.sh +++ b/t/t1510-repo-setup.sh @@ -41,8 +41,10 @@ test_description='Tests of cwd/prefix/worktree/gitdir setup in all cases' test_repo() { ( - if test -n "$1"; then cd "$1"; fi && - if test -f trace; then rm trace; fi && + cd "$1" && + if test -n "$2"; then GIT_DIR="$2" && export GIT_DIR; fi && + if test -n "$3"; then GIT_WORK_TREE="$3" && export GIT_WORK_TREE; fi && + rm -f trace && GIT_TRACE="`pwd`/trace" git symbolic-ref HEAD >/dev/null && grep '^setup: ' trace >result && test_cmp expected result @@ -56,4 +58,51 @@ test_repo() { # Bit 4 = bare repo # Case# = encoding of the above 5 bits +# +# Case #0 +# +############################################################ +# +# Input: +# +# - GIT_WORK_TREE is not set +# - GIT_DIR is not set +# - core.worktree is not set +# - .git is a directory +# - core.bare is not set, cwd is outside .git +# +# Output: +# +# - worktree is .git's parent directory +# - cwd is at worktree root dir +# - prefix is calculated +# - git_dir is set to ".git" +# - cwd can't be outside worktree + +test_expect_success '#0: setup' ' + unset GIT_DIR GIT_WORK_TREE && + mkdir 0 0/sub && + cd 0 && git init && cd .. +' + +test_expect_success '#0: at root' ' + cat >0/expected <<EOF && +setup: git_dir: .git +setup: worktree: $TRASH_DIRECTORY/0 +setup: cwd: $TRASH_DIRECTORY/0 +setup: prefix: (null) +EOF + test_repo 0 +' + +test_expect_success '#0: in subdir' ' + cat >0/sub/expected <<EOF && +setup: git_dir: .git +setup: worktree: $TRASH_DIRECTORY/0 +setup: cwd: $TRASH_DIRECTORY/0 +setup: prefix: sub/ +EOF + test_repo 0/sub +' + test_done |