# HG changeset patch # User Martin von Zweigbergk # Date 1521607313 25200 # Node ID 0ab0d94ead72fb9ad77e0b5801e37820997eb61a # Parent b7f5d03e1e541e2d65fcf84734cfd53181d50e20 rebase: pass in "extra" itself into conclude[memory]node() We were passing in a function instead for no clear reason (probably historical, but I haven't bothered looking). Differential Revision: https://phab.mercurial-scm.org/D2917 diff -r b7f5d03e1e54 -r 0ab0d94ead72 hgext/rebase.py --- a/hgext/rebase.py Wed Mar 21 11:05:32 2018 -0700 +++ b/hgext/rebase.py Tue Mar 20 21:41:53 2018 -0700 @@ -457,10 +457,14 @@ ctx = repo[rev] if commitmsg is None: commitmsg = ctx.description() + extrafn = _makeextrafn(self.extrafns) + extra = {'rebase_source': ctx.hex()} + if extrafn: + extrafn(ctx, extra) if self.inmemory: newnode = concludememorynode(repo, ctx, p1, p2, wctx=self.wctx, - extrafn=_makeextrafn(self.extrafns), + extra=extra, commitmsg=commitmsg, editor=editor, keepbranches=self.keepbranchesf, @@ -468,7 +472,7 @@ mergemod.mergestate.clean(repo) else: newnode = concludenode(repo, ctx, p1, p2, - extrafn=_makeextrafn(self.extrafns), + extra=extra, commitmsg=commitmsg, editor=editor, keepbranches=self.keepbranchesf, @@ -1031,15 +1035,12 @@ (max(destancestors), ', '.join("%d" % p for p in sorted(parents)))) -def concludememorynode(repo, ctx, p1, p2, wctx, editor, extrafn, keepbranches, +def concludememorynode(repo, ctx, p1, p2, wctx, editor, extra, keepbranches, date, commitmsg): '''Commit the memory changes with parents p1 and p2. Reuse commit info from - ctx but also store useful information in extra. + ctx. Return node of committed revision.''' keepbranch = keepbranches and repo[p1].branch() != ctx.branch() - extra = {'rebase_source': ctx.hex()} - if extrafn: - extrafn(ctx, extra) destphase = max(ctx.phase(), phases.draft) overrides = {('phases', 'new-commit'): destphase} @@ -1065,10 +1066,9 @@ wctx.clean() # Might be reused return commitres -def concludenode(repo, ctx, p1, p2, editor, extrafn, keepbranches, date, +def concludenode(repo, ctx, p1, p2, editor, extra, keepbranches, date, commitmsg): - '''Commit the wd changes with parents p1 and p2. Reuse commit info from ctx - but also store useful information in extra. + '''Commit the wd changes with parents p1 and p2. Reuse commit info from ctx. Return node of committed revision.''' dsguard = util.nullcontextmanager() if not repo.ui.configbool('rebase', 'singletransaction'): @@ -1076,9 +1076,6 @@ with dsguard: repo.setparents(repo[p1].node(), repo[p2].node()) keepbranch = keepbranches and repo[p1].branch() != ctx.branch() - extra = {'rebase_source': ctx.hex()} - if extrafn: - extrafn(ctx, extra) destphase = max(ctx.phase(), phases.draft) overrides = {('phases', 'new-commit'): destphase}