about summary refs log tree commit diff
path: root/third_party/git/t/t7012-skip-worktree-writing.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/t7012-skip-worktree-writing.sh')
-rwxr-xr-xthird_party/git/t/t7012-skip-worktree-writing.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/third_party/git/t/t7012-skip-worktree-writing.sh b/third_party/git/t/t7012-skip-worktree-writing.sh
index 9d1abe50ef..7476781979 100755
--- a/third_party/git/t/t7012-skip-worktree-writing.sh
+++ b/third_party/git/t/t7012-skip-worktree-writing.sh
@@ -134,6 +134,21 @@ test_expect_success 'git-clean, dirty case' '
 	test_i18ncmp expected result
 '
 
+test_expect_success '--ignore-skip-worktree-entries leaves worktree alone' '
+	test_commit keep-me &&
+	git update-index --skip-worktree keep-me.t &&
+	rm keep-me.t &&
+
+	: ignoring the worktree &&
+	git update-index --remove --ignore-skip-worktree-entries keep-me.t &&
+	git diff-index --cached --exit-code HEAD &&
+
+	: not ignoring the worktree, a deletion is staged &&
+	git update-index --remove keep-me.t &&
+	test_must_fail git diff-index --cached --exit-code HEAD \
+		--diff-filter=D -- keep-me.t
+'
+
 #TODO test_expect_failure 'git-apply adds file' false
 #TODO test_expect_failure 'git-apply updates file' false
 #TODO test_expect_failure 'git-apply removes file' false