From 5cd5ace72bf8944c920a20a7b98c82f7ed663d8a Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 1 Oct 2005 13:39:47 -0700 Subject: [PATCH] [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 --- update-index.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/update-index.c b/update-index.c index ade1ee72e..b825a11d2 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; } -- 2.45.2