diff options
-rw-r--r-- | builtin-commit.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin-commit.c b/builtin-commit.c index 33aa593c21..83b7c353ed 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -278,11 +278,13 @@ static char *prepare_index(int argc, const char **argv, const char *prefix, int * We still need to refresh the index here. */ if (!pathspec || !*pathspec) { - fd = hold_locked_index(&index_lock, 1); + fd = hold_locked_index(&index_lock, !is_status); refresh_cache(refresh_flags); - if (write_cache(fd, active_cache, active_nr) || - commit_locked_index(&index_lock)) - die("unable to write new_index file"); + if (0 <= fd) { + if (write_cache(fd, active_cache, active_nr) || + commit_locked_index(&index_lock)) + die("unable to write new_index file"); + } commit_style = COMMIT_AS_IS; return get_index_file(); } |