Mercurial > hg
comparison hgext/rebase.py @ 44666:e7af56a0733e
rebase: don't create merge when continuing rebase interrupted by old hg
This fixes the bug described and demonstrated in the previous
commit. It does so by practically undoing 8082a77cc3a2 (rebase: remove
some redundant setting of dirstate parents, 2020-01-10).
Differential Revision: https://phab.mercurial-scm.org/D8356
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 01 Apr 2020 14:34:21 -0700 |
parents | f63598aa1c4b |
children | b7808443ed6a 1f114c797961 |
comparison
equal
deleted
inserted
replaced
44665:e89b3603d3da | 44666:e7af56a0733e |
---|---|
629 merging = p2 != nullrev | 629 merging = p2 != nullrev |
630 editform = cmdutil.mergeeditform(merging, b'rebase') | 630 editform = cmdutil.mergeeditform(merging, b'rebase') |
631 editor = cmdutil.getcommiteditor( | 631 editor = cmdutil.getcommiteditor( |
632 editform=editform, **pycompat.strkwargs(opts) | 632 editform=editform, **pycompat.strkwargs(opts) |
633 ) | 633 ) |
634 # We need to set parents again here just in case we're continuing | |
635 # a rebase started with an old hg version (before 9c9cfecd4600), | |
636 # because those old versions would have left us with two dirstate | |
637 # parents, and we don't want to create a merge commit here (unless | |
638 # we're rebasing a merge commit). | |
639 self.wctx.setparents(repo[p1].node(), repo[p2].node()) | |
634 newnode = self._concludenode(rev, p1, editor) | 640 newnode = self._concludenode(rev, p1, editor) |
635 else: | 641 else: |
636 # Skip commit if we are collapsing | 642 # Skip commit if we are collapsing |
637 newnode = None | 643 newnode = None |
638 # Update the state | 644 # Update the state |