aboutsummaryrefslogtreecommitdiff
path: root/unpack-trees.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-05-30 11:16:45 +0900
committerJunio C Hamano <gitster@pobox.com>2017-05-30 11:16:45 +0900
commitfa0624f79f9d5765d09598b003124b3cf0b9acdb (patch)
tree838b81830a401c56d3b9409a3fd891b00ef6f8ec /unpack-trees.c
parent35d802d296df4c1f9f058c4dc9c934a872df6bfe (diff)
parentedf3b90553f5c667cd8cb99aa809305470ba3bd7 (diff)
downloadgit-fa0624f79f9d5765d09598b003124b3cf0b9acdb.tar.gz
git-fa0624f79f9d5765d09598b003124b3cf0b9acdb.tar.xz
Merge branch 'dt/unpack-save-untracked-cache-extension'
When "git checkout", "git merge", etc. manipulates the in-core index, various pieces of information in the index extensions are discarded from the original state, as it is usually not the case that they are kept up-to-date and in-sync with the operation on the main index. The untracked cache extension is copied across these operations now, which would speed up "git status" (as long as the cache is properly invalidated). * dt/unpack-save-untracked-cache-extension: unpack-trees: preserve index extensions
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 c312c2cd3..d38c37e38 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -1396,6 +1396,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 {