These two built-ins both deal with the index, but weren't discarding it. In subsequent commits we'll add more free()-ing to discard_index() that we've missed, but let's first call the existing function. We can doubtless add discard_index() (or its alias discard_cache()) to a lot more places, but let's just add it here for now. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- builtin/merge.c | 1 + builtin/reset.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/builtin/merge.c b/builtin/merge.c index 5900b81729d..a6698adbfd3 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1794,5 +1794,6 @@ int cmd_merge(int argc, const char **argv, const char *prefix) } strbuf_release(&buf); free(branch_to_free); + discard_index(&the_index); return ret; } diff --git a/builtin/reset.c b/builtin/reset.c index fdce6f8c856..69f18a248ee 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -481,5 +481,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix) if (!pathspec.nr) remove_branch_state(the_repository, 0); + discard_index(&the_index); + return update_ref_status; } -- 2.38.0.1467.g709fbdff1a9