Imported Upstream version 2.27.0
[platform/upstream/git.git] / t / t1011-read-tree-sparse-checkout.sh
index 0c6f48f..140f459 100755 (executable)
@@ -74,13 +74,19 @@ test_expect_success 'read-tree --no-sparse-checkout with empty .git/info/sparse-
 test_expect_success 'read-tree with empty .git/info/sparse-checkout' '
        git config core.sparsecheckout true &&
        echo >.git/info/sparse-checkout &&
-       read_tree_u_must_fail -m -u HEAD &&
+       read_tree_u_must_succeed -m -u HEAD &&
        git ls-files --stage >result &&
        test_cmp expected result &&
        git ls-files -t >result &&
+       cat >expected.swt <<-\EOF &&
+       S init.t
+       S sub/added
+       S sub/addedtoo
+       S subsub/added
+       EOF
        test_cmp expected.swt result &&
-       test -f init.t &&
-       test -f sub/added
+       test -f init.t &&
+       test -f sub/added
 '
 
 test_expect_success 'match directories with trailing slash' '
@@ -215,7 +221,6 @@ test_expect_success 'read-tree adds to worktree, dirty case' '
 '
 
 test_expect_success 'index removal and worktree narrowing at the same time' '
-       >empty &&
        echo init.t >.git/info/sparse-checkout &&
        echo sub/added >>.git/info/sparse-checkout &&
        git checkout -f top &&
@@ -223,30 +228,30 @@ test_expect_success 'index removal and worktree narrowing at the same time' '
        git checkout removed &&
        git ls-files sub/added >result &&
        test ! -f sub/added &&
-       test_cmp empty result
+       test_must_be_empty result
 '
 
 test_expect_success 'read-tree --reset removes outside worktree' '
-       >empty &&
        echo init.t >.git/info/sparse-checkout &&
        git checkout -f top &&
        git reset --hard removed &&
        git ls-files sub/added >result &&
-       test_cmp empty result
+       test_must_be_empty result
 '
 
-test_expect_success 'print errors when failed to update worktree' '
+test_expect_success 'print warnings when some worktree updates disabled' '
        echo sub >.git/info/sparse-checkout &&
        git checkout -f init &&
        mkdir sub &&
        touch sub/added sub/addedtoo &&
-       test_must_fail git checkout top 2>actual &&
+       # Use -q to suppress "Previous HEAD position" and "Head is now at" msgs
+       git checkout -q top 2>actual &&
        cat >expected <<\EOF &&
-error: The following untracked working tree files would be overwritten by checkout:
+warning: The following paths were already present and thus not updated despite sparse patterns:
        sub/added
        sub/addedtoo
-Please move or remove them before you switch branches.
-Aborting
+
+After fixing the above paths, you may want to run `git sparse-checkout reapply`.
 EOF
        test_i18ncmp expected actual
 '