D6957: rebase: unconditionally clear merge state when `--stop`ing a rebase
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Fri Oct 4 01:40:11 UTC 2019
durin42 created this revision.
Herald added a reviewer: martinvonz.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
I am NOT sure of the correctness of this change, but I've hit a point
on a work repository where the needupdate function returns false and
so the merge state never gets correctly cleared. As far as I can tell
when we're *always* in a merge state at this point, so we should
*always* clear the merge state.
I'm not sure how to structure the test at the moment, but if others
agree that this looks plausible I'll try and figure out what state my
work repository is in to craft a test case that can be used to prevent
any backsliding on this fix.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6957
AFFECTED FILES
hgext/rebase.py
CHANGE DETAILS
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -909,10 +909,9 @@
hint=_('either enable obsmarkers to allow unstable '
'revisions or use --keep to keep original '
'changesets'))
- if needupdate(repo, rbsrt.state):
- # update to the current working revision
- # to clear interrupted merge
- hg.updaterepo(repo, rbsrt.originalwd, overwrite=True)
+ # update to the current working revision
+ # to clear interrupted merge
+ hg.updaterepo(repo, rbsrt.originalwd, overwrite=True)
rbsrt._finishrebase()
return 0
elif inmemory:
To: durin42, martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list