rev-parse tests: add tests executed from a subdirectory
t2027-worktree-list has an incorrect expectation for --git-common-dir which has been adjusted and marked to expect failure. Some of the tests added have been marked to expect failure. These demonstrate a problem with the way that some options to git rev-parse behave when executed from a subdirectory of the main worktree. [jes: fixed incorrect assumption that objects/ lives in the worktree-specific git-dir (it lives in the common dir instead). Also adjusted t1700 so that the test case does not *need* to be the last one in that script.] Signed-off-by: Michael Rappazzo <rappazzo@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
6e3a7b3398
commit
5de8a549b4
@ -87,4 +87,32 @@ test_rev_parse -C work -g ../repo.git -b t 'GIT_DIR=../repo.git, core.bare = tru
|
||||
|
||||
test_rev_parse -C work -g ../repo.git -b u 'GIT_DIR=../repo.git, core.bare undefined' false false true ''
|
||||
|
||||
test_expect_success 'git-common-dir from worktree root' '
|
||||
echo .git >expect &&
|
||||
git rev-parse --git-common-dir >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_failure 'git-common-dir inside sub-dir' '
|
||||
mkdir -p path/to/child &&
|
||||
test_when_finished "rm -rf path" &&
|
||||
echo "$(git -C path/to/child rev-parse --show-cdup).git" >expect &&
|
||||
git -C path/to/child rev-parse --git-common-dir >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'git-path from worktree root' '
|
||||
echo .git/objects >expect &&
|
||||
git rev-parse --git-path objects >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_failure 'git-path inside sub-dir' '
|
||||
mkdir -p path/to/child &&
|
||||
test_when_finished "rm -rf path" &&
|
||||
echo "$(git -C path/to/child rev-parse --show-cdup).git/objects" >expect &&
|
||||
git -C path/to/child rev-parse --git-path objects >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -200,4 +200,20 @@ EOF
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_failure 'rev-parse --shared-index-path' '
|
||||
test_create_repo split-index &&
|
||||
(
|
||||
cd split-index &&
|
||||
git update-index --split-index &&
|
||||
echo .git/sharedindex* >expect &&
|
||||
git rev-parse --shared-index-path >actual &&
|
||||
test_cmp expect actual &&
|
||||
mkdir subdirectory &&
|
||||
cd subdirectory &&
|
||||
echo ../.git/sharedindex* >expect &&
|
||||
git rev-parse --shared-index-path >actual &&
|
||||
test_cmp expect actual
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -8,16 +8,24 @@ test_expect_success 'setup' '
|
||||
test_commit init
|
||||
'
|
||||
|
||||
test_expect_success 'rev-parse --git-common-dir on main worktree' '
|
||||
test_expect_failure 'rev-parse --git-common-dir on main worktree' '
|
||||
git rev-parse --git-common-dir >actual &&
|
||||
echo .git >expected &&
|
||||
test_cmp expected actual &&
|
||||
mkdir sub &&
|
||||
git -C sub rev-parse --git-common-dir >actual2 &&
|
||||
echo sub/.git >expected2 &&
|
||||
echo ../.git >expected2 &&
|
||||
test_cmp expected2 actual2
|
||||
'
|
||||
|
||||
test_expect_failure 'rev-parse --git-path objects linked worktree' '
|
||||
echo "$(git rev-parse --show-toplevel)/.git/objects" >expect &&
|
||||
test_when_finished "rm -rf linked-tree && git worktree prune" &&
|
||||
git worktree add --detach linked-tree master &&
|
||||
git -C linked-tree rev-parse --git-path objects >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success '"list" all worktrees from main' '
|
||||
echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
|
||||
test_when_finished "rm -rf here && git worktree prune" &&
|
||||
|
Loading…
Reference in New Issue
Block a user