# HG changeset patch # User Martin von Zweigbergk # Date 2020-01-11 05:40:01 # Node ID 8082a77cc3a2b4db9a080d41bb50e1ebbf00cdf5 # Parent 9c9cfecd46000948f442c7585594dedeef5d663a rebase: remove some redundant setting of dirstate parents Since we're now setting the dirstate parents to its correct values from the beginning (right after `merge.update()`), we usually don't need to set them again before committing. The only case we need to care about is when committing collapsed commits. So we can remove the `setparents()` calls just before committing and add one only for the collapse case. Differential Revision: https://phab.mercurial-scm.org/D7828 diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -697,6 +697,7 @@ class rebaseruntime(object): editor = cmdutil.getcommiteditor(edit=editopt, editform=editform) revtoreuse = max(self.state) + self.wctx.setparents(repo[p1].node(), repo[self.external].node()) newnode = self._concludenode( revtoreuse, p1, self.external, editor, commitmsg=commitmsg ) @@ -1433,7 +1434,6 @@ def commitmemorynode(repo, p1, p2, wctx, if b'branch' in extra: branch = extra[b'branch'] - wctx.setparents(repo[p1].node(), repo[p2].node()) memctx = wctx.tomemctx( commitmsg, date=date, @@ -1454,8 +1454,6 @@ def commitnode(repo, p1, p2, editor, ext if not repo.ui.configbool(b'rebase', b'singletransaction'): dsguard = dirstateguard.dirstateguard(repo, b'rebase') with dsguard: - repo.setparents(repo[p1].node(), repo[p2].node()) - # Commit might fail if unresolved files exist newnode = repo.commit( text=commitmsg, user=user, date=date, extra=extra, editor=editor