author | Junio C Hamano <gitster@pobox.com> | |
Thu, 15 Jul 2010 19:06:55 +0000 (12:06 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 15 Jul 2010 19:06:55 +0000 (12:06 -0700) |
* jk/maint-status-keep-index-timestamp:
do not write out index when status does not have to
do not write out index when status does not have to
builtin/commit.c | patch | blob | history |
diff --git a/builtin/commit.c b/builtin/commit.c
index c101f006f6b5d7d185aa97081fb9717de92b09cd..a78dbd83bf04c7080487b8508321d79d848e9b1f 100644 (file)
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -343,9 +343,13 @@ static char *prepare_index(int argc, const char **argv, const char *prefix, int
if (!pathspec || !*pathspec) {
fd = hold_locked_index(&index_lock, 1);
refresh_cache_or_die(refresh_flags);
- if (write_cache(fd, active_cache, active_nr) ||
- commit_locked_index(&index_lock))
- die("unable to write new_index file");
+ if (active_cache_changed) {
+ if (write_cache(fd, active_cache, active_nr) ||
+ commit_locked_index(&index_lock))
+ die("unable to write new_index file");
+ } else {
+ rollback_lock_file(&index_lock);
+ }
commit_style = COMMIT_AS_IS;
return get_index_file();
}
fd = hold_locked_index(&index_lock, 0);
if (0 <= fd) {
- if (!write_cache(fd, active_cache, active_nr))
+ if (active_cache_changed &&
+ !write_cache(fd, active_cache, active_nr))
commit_locked_index(&index_lock);
- rollback_lock_file(&index_lock);
+ else
+ rollback_lock_file(&index_lock);
}
s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0;