X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin%2Fcommit.c;h=3c14ade9dddd06001d9c6d5fab23a9a6b7ca2580;hb=e7e1bf0c29f20c505869d2dda7ddb26470f6ebc5;hp=c5ab683d5b66d5ad85f53d13d6df71e29cd9234d;hpb=02125bcc41aed022ddcb5955935726e50d89b60e;p=git.git diff --git a/builtin/commit.c b/builtin/commit.c index c5ab683d5..3c14ade9d 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1017,6 +1017,7 @@ static int git_status_config(const char *k, const char *v, void *cb) int cmd_status(int argc, const char **argv, const char *prefix) { struct wt_status s; + int fd; unsigned char sha1[20]; static struct option builtin_status_options[] = { OPT__VERBOSE(&verbose), @@ -1050,6 +1051,14 @@ int cmd_status(int argc, const char **argv, const char *prefix) read_cache_preload(s.pathspec); refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, s.pathspec, NULL, NULL); + + fd = hold_locked_index(&index_lock, 0); + if (0 <= fd) { + if (!write_cache(fd, active_cache, active_nr)) + commit_locked_index(&index_lock); + rollback_lock_file(&index_lock); + } + s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0; s.in_merge = in_merge; wt_status_collect(&s);