summaryrefslogtreecommitdiff
path: root/builtin-diff.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-11-09 00:24:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-11-09 00:26:23 (GMT)
commitfbbdbfc3ccff209136c9f94fed8321e5d3d0ca85 (patch)
treec3fd8702e36c87582b938b08c4d0f583fcc0ced9 /builtin-diff.c
parent4f2e94c0f7685f9c58e67b0651147684efb0f57e (diff)
downloadgit-fbbdbfc3ccff209136c9f94fed8321e5d3d0ca85.zip
git-fbbdbfc3ccff209136c9f94fed8321e5d3d0ca85.tar.gz
git-fbbdbfc3ccff209136c9f94fed8321e5d3d0ca85.tar.bz2
refresh_index_quietly(): express "optional" nature of index writing better
The point of the part of the code this patch touches is that if we modified the active_cache, we try to write it out and make it the index file for later users to use by calling "commit_locked_index", but we do not really care about the failure from this sequence because it is done purely as an optimization. The original code called three functions primarily for their side effects but as condition of an if statement, which is admittedly a bad style. Incidentally, it squelches an "empty if body" warning from gcc. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-diff.c')
-rw-r--r--builtin-diff.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/builtin-diff.c b/builtin-diff.c
index f77352b..f557d21 100644
--- a/builtin-diff.c
+++ b/builtin-diff.c
@@ -200,15 +200,11 @@ static void refresh_index_quietly(void)
discard_cache();
read_cache();
refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED);
- if (active_cache_changed) {
- if (write_cache(fd, active_cache, active_nr) ||
- close(fd) ||
- commit_locked_index(lock_file))
- ; /*
- * silently ignore it -- we haven't mucked
- * with the real index.
- */
- }
+
+ if (active_cache_changed &&
+ !write_cache(fd, active_cache, active_nr) && !close(fd))
+ commit_locked_index(lock_file);
+
rollback_lock_file(lock_file);
}