From 475a34451f86d1b954c5da37f04ed044544cf6e4 Mon Sep 17 00:00:00 2001 From: David Turner Date: Thu, 27 Aug 2015 13:07:54 -0400 Subject: commit: don't rewrite shared index unnecessarily MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove a cache invalidation which would cause the shared index to be rewritten on as-is commits. When the cache-tree has changed, we need to update it. But we don't necessarily need to update the shared index. So setting active_cache_changed to SOMETHING_CHANGED is unnecessary. Instead, we let update_main_cache_tree just update the CACHE_TREE_CHANGED bit. In order to test this, make test-dump-split-index not segfault on missing replace_bitmap/delete_bitmap. This new codepath is not called now that the test passes, but is necessary to avoid a segfault when the new test is run with the old builtin/commit.c code. Signed-off-by: David Turner Acked-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- test-dump-split-index.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'test-dump-split-index.c') diff --git a/test-dump-split-index.c b/test-dump-split-index.c index 9cf3112c9..861d28c9b 100644 --- a/test-dump-split-index.c +++ b/test-dump-split-index.c @@ -26,9 +26,11 @@ int main(int ac, char **av) sha1_to_hex(ce->sha1), ce_stage(ce), ce->name); } printf("replacements:"); - ewah_each_bit(si->replace_bitmap, show_bit, NULL); + if (si->replace_bitmap) + ewah_each_bit(si->replace_bitmap, show_bit, NULL); printf("\ndeletions:"); - ewah_each_bit(si->delete_bitmap, show_bit, NULL); + if (si->delete_bitmap) + ewah_each_bit(si->delete_bitmap, show_bit, NULL); printf("\n"); return 0; } -- cgit v1.2.1