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