t2405: clarify test descriptions and simplify test
When 'checkout --to' functionality was moved to 'worktree add', tests were adapted
in f194b1ef6e
(tests: worktree: retrofit "checkout --to" tests for "worktree add",
2015-07-06).
The calls were changed to 'worktree add' in this test (then t7410), but the test
descriptions were not updated, keeping 'checkout' instead of using the new
terminology (linked worktrees).
Also, in the test each worktree is created in
$TRASH_DIRECTORY/<leading-directory>/main, where the name of <leading-directory>
carries some information about what behavior each test verifies. This directory
structure is not mandatory for the tests; the worktrees can live next to one
another in the trash directory.
Clarify the tests by using the right terminology, and remove the unnecessary
leading directories such that all superproject worktrees are directly next to one
another in the trash directory.
Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
4eaadc8493
commit
129510a067
@ -18,43 +18,39 @@ test_expect_success 'setup: create origin repos' '
|
|||||||
git -C origin/main commit -m "sub updated"
|
git -C origin/main commit -m "sub updated"
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'setup: clone' '
|
test_expect_success 'setup: clone superproject to create main worktree' '
|
||||||
mkdir clone &&
|
git clone --recursive "$base_path/origin/main" main
|
||||||
git -C clone clone --recursive "$base_path/origin/main"
|
|
||||||
'
|
'
|
||||||
|
|
||||||
rev1_hash_main=$(git --git-dir=origin/main/.git show --pretty=format:%h -q "HEAD~1")
|
rev1_hash_main=$(git --git-dir=origin/main/.git show --pretty=format:%h -q "HEAD~1")
|
||||||
rev1_hash_sub=$(git --git-dir=origin/sub/.git show --pretty=format:%h -q "HEAD~1")
|
rev1_hash_sub=$(git --git-dir=origin/sub/.git show --pretty=format:%h -q "HEAD~1")
|
||||||
|
|
||||||
test_expect_success 'checkout main' '
|
test_expect_success 'add superproject worktree' '
|
||||||
mkdir default_checkout &&
|
git -C main worktree add "$base_path/worktree" "$rev1_hash_main"
|
||||||
git -C clone/main worktree add "$base_path/default_checkout/main" "$rev1_hash_main"
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_failure 'can see submodule diffs just after checkout' '
|
test_expect_failure 'submodule is checked out just after worktree add' '
|
||||||
git -C default_checkout/main diff --submodule master"^!" >out &&
|
git -C worktree diff --submodule master"^!" >out &&
|
||||||
grep "file1 updated" out
|
grep "file1 updated" out
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'checkout main and initialize independent clones' '
|
test_expect_success 'add superproject worktree and initialize submodules' '
|
||||||
mkdir fully_cloned_submodule &&
|
git -C main worktree add "$base_path/worktree-submodule-update" "$rev1_hash_main" &&
|
||||||
git -C clone/main worktree add "$base_path/fully_cloned_submodule/main" "$rev1_hash_main" &&
|
git -C worktree-submodule-update submodule update
|
||||||
git -C fully_cloned_submodule/main submodule update
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'can see submodule diffs after independent cloning' '
|
test_expect_success 'submodule is checked out just after submodule update in linked worktree' '
|
||||||
git -C fully_cloned_submodule/main diff --submodule master"^!" >out &&
|
git -C worktree-submodule-update diff --submodule master"^!" >out &&
|
||||||
grep "file1 updated" out
|
grep "file1 updated" out
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'checkout sub manually' '
|
test_expect_success 'add superproject worktree and manually add submodule worktree' '
|
||||||
mkdir linked_submodule &&
|
git -C main worktree add "$base_path/linked_submodule" "$rev1_hash_main" &&
|
||||||
git -C clone/main worktree add "$base_path/linked_submodule/main" "$rev1_hash_main" &&
|
git -C main/sub worktree add "$base_path/linked_submodule/sub" "$rev1_hash_sub"
|
||||||
git -C clone/main/sub worktree add "$base_path/linked_submodule/main/sub" "$rev1_hash_sub"
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'can see submodule diffs after manual checkout of linked submodule' '
|
test_expect_success 'submodule is checked out after manually adding submodule worktree' '
|
||||||
git -C linked_submodule/main diff --submodule master"^!" >out &&
|
git -C linked_submodule diff --submodule master"^!" >out &&
|
||||||
grep "file1 updated" out
|
grep "file1 updated" out
|
||||||
'
|
'
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user