rerere: exit silently on "forget" when rerere is disabled
If you run "git rerere forget foo" in a repository that does not have rerere enabled, git hits an internal error: $ git init -q $ git rerere forget foo fatal: BUG: attempt to commit unlocked object The problem is that setup_rerere() will not actually take the lock if the rerere system is disabled. We should notice this and return early. We can return with a success code here, because we know there is nothing to forget. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
282616c72d
commit
0544574cdc
2
rerere.c
2
rerere.c
|
@ -667,6 +667,8 @@ int rerere_forget(struct pathspec *pathspec)
|
||||||
return error("Could not read index");
|
return error("Could not read index");
|
||||||
|
|
||||||
fd = setup_rerere(&merge_rr, RERERE_NOAUTOUPDATE);
|
fd = setup_rerere(&merge_rr, RERERE_NOAUTOUPDATE);
|
||||||
|
if (fd < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
unmerge_cache(pathspec);
|
unmerge_cache(pathspec);
|
||||||
find_conflict(&conflict);
|
find_conflict(&conflict);
|
||||||
|
|
Loading…
Reference in New Issue