This is an archive of the discontinued Mercurial Phabricator instance.

split: close transaction in the unlikely event of a conflict while rebasing
ClosedPublic

Authored by martinvonz on Mar 12 2021, 12:57 PM.

Details

Summary

hg split *should* never result in conflicts, but in case there are
bugs, we should at least commit the transaction so they can continue
the rebase. One of our users ran into the regression fixed by
D10120. They fixed the conflict and the tried to continue the rebase,
but it failed with "abort: cannot continue inconsistent rebase"
because the rebase state referred to commits written in a transaction
that was never committed.

Side note: hg split should probably turn off copy tracing to reduce
the impact of such bugs, and to speed it up as well. Copies made in
the rebased commits should still be respected because hg rebase
calls copies.graftcopies().

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

martinvonz created this revision.Mar 12 2021, 12:57 PM
pulkit accepted this revision.Mar 12 2021, 1:24 PM
This revision is now accepted and ready to land.Mar 12 2021, 1:24 PM