path: root/Documentation/git-update-index.txt
diff options
authorJohannes Schindelin <>2019-10-30 10:49:37 (GMT)
committerJunio C Hamano <>2019-11-02 06:22:00 (GMT)
commit8dfb04ae964868dda758997e5e7da29edff6164b (patch)
tree5d1eee5a858583ef426eb0086ec370d0899473e3 /Documentation/git-update-index.txt
parent5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9 (diff)
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 b4d1690df11 (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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-update-index.txt')
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index 1c4d146..0839344 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -16,6 +16,7 @@ SYNOPSIS
+ [--[no-]ignore-skip-worktree-entries]
@@ -113,6 +114,11 @@ you will need to handle the situation manually.
set and unset the "skip-worktree" bit for the paths. See
section "Skip-worktree bit" below for more information.
+ Do not remove skip-worktree (AKA "index-only") entries even when
+ the `--remove` option was specified.
When one of these flags is specified, the object name recorded
for the paths are not updated. Instead, these options