aboutsummaryrefslogtreecommitdiff
path: root/unpack-trees.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 /unpack-trees.c
parent4fa66c85f11bc5a541462ca5ae3246aa0ce02e74 (diff)
downloadgit-edf3b90553f5c667cd8cb99aa809305470ba3bd7.tar.gz
git-edf3b90553f5c667cd8cb99aa809305470ba3bd7.tar.xz
unpack-trees: preserve index extensions
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 'unpack-trees.c')
-rw-r--r--unpack-trees.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/unpack-trees.c b/unpack-trees.c
index aa15111fe..17117bd0f 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -1391,6 +1391,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
WRITE_TREE_SILENT |
WRITE_TREE_REPAIR);
}
+ move_index_extensions(&o->result, o->dst_index);
discard_index(o->dst_index);
*o->dst_index = o->result;
} else {