diff options
| author | David Turner <dturner@twopensource.com> | 2015-08-27 13:07:54 -0400 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2015-08-31 08:41:07 -0700 | 
| commit | 475a34451f86d1b954c5da37f04ed044544cf6e4 (patch) | |
| tree | 4e41cc4a71da24cfd4a40260b05d2f45b8949299 /builtin/commit.c | |
| parent | 52f6893d356fd04ba350e5b7dd468b2181844521 (diff) | |
| download | git-475a34451f86d1b954c5da37f04ed044544cf6e4.tar.gz | |
commit: don't rewrite shared index unnecessarilydt/commit-preserve-base-index-upon-opportunistic-cache-tree-update
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 <dturner@twopensource.com>
Acked-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/commit.c')
| -rw-r--r-- | builtin/commit.c | 4 | 
1 files changed, 1 insertions, 3 deletions
| diff --git a/builtin/commit.c b/builtin/commit.c index 254477fd1d..1692620e25 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -404,10 +404,8 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix  		hold_locked_index(&index_lock, 1);  		refresh_cache_or_die(refresh_flags);  		if (active_cache_changed -		    || !cache_tree_fully_valid(active_cache_tree)) { +		    || !cache_tree_fully_valid(active_cache_tree))  			update_main_cache_tree(WRITE_TREE_SILENT); -			active_cache_changed = 1; -		}  		if (active_cache_changed) {  			if (write_locked_index(&the_index, &index_lock,  					       COMMIT_LOCK)) | 
