mirror of
https://github.com/git/git
synced 2024-10-12 11:32:34 +00:00
t1092: mv directory from out-of-cone to in-cone
Add test for "mv: add check_dir_in_index() and solve general dir check issue" in this series. This change tests the following: 1. mv <source> as a directory on the sparse index boundary (where it would be a sparse directory in a sparse index). 2. mv <source> as a directory which is deeper than the boundary (so the sparse index would expand in the cache_name_pos() method). These tests can be written now for correctness, but later the first case can be updated to use the 'ensure_not_expanded' helper in t1092. Suggested-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com> Acked-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
367844e5b7
commit
1143cc01b7
|
@ -1828,4 +1828,29 @@ test_expect_success 'checkout behaves oddly with df-conflict-2' '
|
||||||
test_cmp full-checkout-err sparse-index-err
|
test_cmp full-checkout-err sparse-index-err
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'mv directory from out-of-cone to in-cone' '
|
||||||
|
init_repos &&
|
||||||
|
|
||||||
|
# <source> as a sparse directory (or SKIP_WORKTREE_DIR without enabling
|
||||||
|
# sparse index).
|
||||||
|
test_all_match git mv --sparse folder1 deep &&
|
||||||
|
test_all_match git status --porcelain=v2 &&
|
||||||
|
test_sparse_match git ls-files -t &&
|
||||||
|
git -C sparse-checkout ls-files -t >actual &&
|
||||||
|
grep -e "H deep/folder1/0/0/0" actual &&
|
||||||
|
grep -e "H deep/folder1/0/1" actual &&
|
||||||
|
grep -e "H deep/folder1/a" actual &&
|
||||||
|
|
||||||
|
test_all_match git reset --hard &&
|
||||||
|
|
||||||
|
# <source> as a directory deeper than sparse index boundary (where
|
||||||
|
# sparse index will expand).
|
||||||
|
test_sparse_match git mv --sparse folder1/0 deep &&
|
||||||
|
test_sparse_match git status --porcelain=v2 &&
|
||||||
|
test_sparse_match git ls-files -t &&
|
||||||
|
git -C sparse-checkout ls-files -t >actual &&
|
||||||
|
grep -e "H deep/0/0/0" actual &&
|
||||||
|
grep -e "H deep/0/1" actual
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue