Skip to content

Commit 2231ede

Browse files
committed
update-index: optionally leave skip-worktree entries alone
While `git update-index` mostly ignores paths referring to index entries whose skip-worktree bit is set, in b4d1690 (Teach Git to respect skip-worktree bit (reading part), 2009-08-20), for reasons that are not entirely obvious, the `--remove` option was made special: it _does_ remove index entries even if their skip-worktree bit is set. Seeing as this behavior has been in place for a decade now, it does not make sense to change it. However, in preparation for fixing a bug in `git stash` where it pretends that skip-worktree entries have actually been removed, we need a mode where `git update-index` leaves all skip-worktree entries alone, even if the `--remove` option was passed. Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 513b0d0 commit 2231ede

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

t/t7012-skip-worktree-writing.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,17 +135,18 @@ test_expect_success 'git-clean, dirty case' '
135135
'
136136

137137
test_expect_success '--ignore-skip-worktree-entries leaves worktree alone' '
138-
test_commit geroff-me &&
139-
git update-index --skip-worktree geroff-me.t &&
140-
rm geroff-me.t &&
138+
test_commit keep-me &&
139+
git update-index --skip-worktree keep-me.t &&
140+
rm keep-me.t &&
141141
142142
: ignoring the worktree &&
143-
git update-index --remove --ignore-skip-worktree-entries geroff-me.t &&
143+
git update-index --remove --ignore-skip-worktree-entries keep-me.t &&
144144
git diff-index --cached --exit-code HEAD &&
145145
146146
: not ignoring the worktree, a deletion is staged &&
147-
git update-index --remove geroff-me.t &&
148-
test_must_fail git diff-index --cached --exit-code HEAD
147+
git update-index --remove keep-me.t &&
148+
test_must_fail git diff-index --cached --exit-code HEAD \
149+
--diff-filter=D -- keep-me.t
149150
'
150151

151152
#TODO test_expect_failure 'git-apply adds file' false

0 commit comments

Comments
 (0)