Re: [PATCH v6 3/3] rerere: go on at a conflict when the lock stays busy
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Oct 9, 2026, 09:06 UTC
- Message-ID
- <asiuemA6ouAW9NXy@pks.im>
- In-Reply-To
- <cd018289bbb330753e41a1e5b6156b6e85c12dbe.1790939492.git.gitgitgadget@gmail.com>
On Fri, Oct 02, 2026 at 11:11:32AM +0000, Thomas Bachem via GitGitGadget wrote:
Show 21 quoted lines
> From: Thomas Bachem <mail@thomasbachem.com> > > When a merge, rebase, cherry-pick, revert, am, stash or apply stops > at a conflict, it runs rerere right before it returns to the user. > If MERGE_RR.lock is still held when rerere.lockTimeout runs out, the > command dies there. In a rebase, the sequencer has not yet written the > state that "git rebase --continue" needs. A later > "git rebase --continue" fails, and the "git commit --amend" that its > message offers first folds the conflicted pick into the previous > commit. > > So warn and go on without rerere. The conflict is still in place, and > a hint tells the user to run "git rerere" before resolving it. That > records the preimage or replays a known resolution, as the command > would have. The hint is under advice.mergeConflict like other hints > printed at a conflict stop. > > Everything else that waits for the lock is left as it is and still > fails if the wait times out. That includes "git commit" and > "git am --continue", which run rerere after a resolution. When they > fail, the rebase or am can still be continued.
Is this a commit that we maybe want to defer to a later point in time? I'm not yet convinced that it's really necessary with the other changes that you've done, and it feels fishy to me to just skip some operations. So I'd propose that we drop the commit for now, but keep the option open to reintroduce it at a later point in time in case where we have users actually hit the issue in the wild.
Patrick