From: Linus Torvalds Date: Sat, 1 Oct 2005 20:39:47 +0000 (-0700) Subject: [PATCH] Re-instate index file write optimization X-Git-Tag: v0.99.8~9 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=5cd5ace72bf8944c920a20a7b98c82f7ed663d8a;p=git.git [PATCH] Re-instate index file write optimization This makes "git-update-index" avoid the new index file write if it didn't make any changes to the index. It still doesn't make things like "git status" be read-only operations in general, but if the index file doesn't need refreshing, it now will at least avoid making unnecessary changes. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- diff --git a/update-index.c b/update-index.c index ade1ee72..b825a11d 100644 --- a/update-index.c +++ b/update-index.c @@ -391,9 +391,11 @@ int main(int argc, const char **argv) update_one(buf.buf, prefix, prefix_length); } } - if (write_cache(newfd, active_cache, active_nr) || - commit_index_file(&cache_file)) - die("Unable to write new cachefile"); + if (active_cache_changed) { + if (write_cache(newfd, active_cache, active_nr) || + commit_index_file(&cache_file)) + die("Unable to write new cachefile"); + } return has_errors ? 1 : 0; }