diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2013-04-13 09:12:08 +1000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-15 08:54:45 -0700 |
commit | 08d595dc1cdf6f0d8e6022a69c4fcdd2fba628cf (patch) | |
tree | 16b4f6d24e7a3419f6e247d9fd3498189d5c731d /t/t1011-read-tree-sparse-checkout.sh | |
parent | 85e7e81ccfcec98972e341ab81b0109084b84906 (diff) | |
download | git-08d595dc1cdf6f0d8e6022a69c4fcdd2fba628cf.tar.gz git-08d595dc1cdf6f0d8e6022a69c4fcdd2fba628cf.tar.xz |
checkout: add --ignore-skip-worktree-bits in sparse checkout mode
"git checkout -- <paths>" is usually used to restore all modified
files in <paths>. In sparse checkout mode, this command is overloaded
with another meaning: to add back all files in <paths> that are
excluded by sparse patterns.
As the former makes more sense for day-to-day use. Switch it to the
default and the latter enabled with --ignore-skip-worktree-bits.
While at there, add info/sparse-checkout to gitrepository-layout.txt
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/t1011-read-tree-sparse-checkout.sh')
-rwxr-xr-x | t/t1011-read-tree-sparse-checkout.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/t/t1011-read-tree-sparse-checkout.sh b/t/t1011-read-tree-sparse-checkout.sh index 5c0053a20..0c74beedd 100755 --- a/t/t1011-read-tree-sparse-checkout.sh +++ b/t/t1011-read-tree-sparse-checkout.sh @@ -250,4 +250,28 @@ EOF test_cmp expected actual ' +test_expect_success 'checkout without --ignore-skip-worktree-bits' ' + echo "*" >.git/info/sparse-checkout && + git checkout -f top && + test_path_is_file init.t && + echo sub >.git/info/sparse-checkout && + git checkout && + echo modified >> sub/added && + git checkout . && + test_path_is_missing init.t && + git diff --exit-code HEAD +' + +test_expect_success 'checkout with --ignore-skip-worktree-bits' ' + echo "*" >.git/info/sparse-checkout && + git checkout -f top && + test_path_is_file init.t && + echo sub >.git/info/sparse-checkout && + git checkout && + echo modified >> sub/added && + git checkout --ignore-skip-worktree-bits . && + test_path_is_file init.t && + git diff --exit-code HEAD +' + test_done |