git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: `git merge --abort` does not run `git rerere clear`

From
Sam Kuper <sam.kuper@uclmail.net>
Date
Jun 12, 2018, 22:35 UTC
Message-ID
<CAD-Jur+CSfUASSFoXZndEoKvWoc3CU9+V3KrngANskFmQgwNhw@mail.gmail.com>
In-Reply-To
<xmqqr2lb9406.fsf@gitster-ct.c.googlers.com>
On 12/06/2018, Junio C Hamano <gitster@pobox.com> wrote:
Show 10 quoted lines
> Sam Kuper <sam.kuper@uclmail.net> writes:
>> [...] It makes sense that `git am [--skip|--abort]` and `git rebase
>> [--skip|--abort]` would run `git rerere clear`.
>>
>> However, if they run it, then shouldn't `git merge --abort` run it, too?
>>
>> If not, then what is the reason why not [...]
>
> I do not think there was any reason, other than that those who added
> "git merge --abort" weren't as careful as they should have been ;-)
Thanks, good to know.
> The command is a mere synonym to "git reset --merge";
Indeed it seems so. Thank you for pointing this out.
Show 5 quoted lines
> I am not so
> confident that "git reset --merge" should also clear the current
> rerere state.  If (and this is a big if) "git reset --merge" should,
> probably the right place to do so would be remove_branch_state(),
> before the function removes merge_rr file.

Unfortunately, I am still not familiar enough with the Git codebase to be able to express an informed opinion about this. Sorry :(

> Doing so might allow us
> to lose calls to rerere_clear() individual codepaths of various
> "abort" implementations make,

That, I think, was an example of a garden path sentence.[1] Took me more than one parse to understand it :)

Anyhow, yes, I agree that this might be an opportunity to DRY the codebase in that regard. (And this would be a good thing, if so.)

> but that would certainly require
> careful thinking to avoid unintended regressions.

I don't use `git reset --merge` often enough to have formed an opinion about whether there are any use-cases for it in which it would be inappropriate for it to run `git rerere clear`. Apologies again not to be able to be more helpful. I hope that you or others on the list will be able to consider this matter, and the question of how/where to best implement the change.

Thank you for your work maintaining Git!
[1] https://en.wikipedia.org/wiki/Garden_path_sentence
Previous: Junio C Hamano
Message 3 of 3 in “`git merge --abort` does not run `git rerere clear`”
  1. Sam KuperJun 12, 2018
  2. Junio C HamanoJun 12, 2018
  3. Sam KuperJun 12, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.