summaryrefslogtreecommitdiff
path: root/read-cache.c
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2017-05-08 11:41:42 +0200
committerJunio C Hamano <gitster@pobox.com>2017-05-20 18:26:45 +0900
commitedf3b90553f5c667cd8cb99aa809305470ba3bd7 (patch)
treeef9692e36fe67530a48b599bd8d715a3cd24c77b /read-cache.c
parent4fa66c85f11bc5a541462ca5ae3246aa0ce02e74 (diff)
downloadgit-edf3b90553f5c667cd8cb99aa809305470ba3bd7.tar.gz
unpack-trees: preserve index extensionsdt/unpack-save-untracked-cache-extension
Make git checkout (and other unpack_tree operations) preserve the untracked cache. This is valuable for two reasons: 1. Often, an unpack_tree operation will not touch large parts of the working tree, and thus most of the untracked cache will continue to be valid. 2. Even if the untracked cache were entirely invalidated by such an operation, the user has signaled their intention to have such a cache, and we don't want to throw it away. [jes: backed out the watchman-specific parts] Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Ben Peart <benpeart@microsoft.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'read-cache.c')
-rw-r--r--read-cache.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/read-cache.c b/read-cache.c
index 0d0081a11b..79827a4d71 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -2628,3 +2628,9 @@ void stat_validity_update(struct stat_validity *sv, int fd)
fill_stat_data(sv->sd, &st);
}
}
+
+void move_index_extensions(struct index_state *dst, struct index_state *src)
+{
+ dst->untracked = src->untracked;
+ src->untracked = NULL;
+}