refresh_index_quietly(): express "optional" nature of index writing better
authorJunio C Hamano <gitster@pobox.com>
Fri, 9 Nov 2007 00:24:00 +0000 (16:24 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 9 Nov 2007 00:26:23 +0000 (16:26 -0800)
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>
builtin-diff.c

index f77352b..f557d21 100644 (file)
@@ -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);
 }