summaryrefslogtreecommitdiff
path: root/unpack-trees.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-05-30 02:16:45 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-05-30 02:16:45 (GMT)
commitfa0624f79f9d5765d09598b003124b3cf0b9acdb (patch)
tree838b81830a401c56d3b9409a3fd891b00ef6f8ec /unpack-trees.c
parent35d802d296df4c1f9f058c4dc9c934a872df6bfe (diff)
parentedf3b90553f5c667cd8cb99aa809305470ba3bd7 (diff)
downloadgit-fa0624f79f9d5765d09598b003124b3cf0b9acdb.zip
git-fa0624f79f9d5765d09598b003124b3cf0b9acdb.tar.gz
git-fa0624f79f9d5765d09598b003124b3cf0b9acdb.tar.bz2
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 c312c2c..d38c37e 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 {