# HG changeset patch # User Pierre-Yves David # Date 1418522963 28800 # Node ID bc601c010185ace6e64db6c4a72a75b1d321c623 # Parent 58370c71818380754d2d028185d66cf772da8f38 evolve: remove the use of `rebase.concludenode` Half of this function is now done in `merge.graft` and the over part is easy to redo manually. So we remove the usage of this function to remove the dependency of evolve on the rebase extension. diff -r 58370c718183 -r bc601c010185 hgext/evolve.py --- a/hgext/evolve.py Sat Dec 13 17:47:09 2014 -0800 +++ b/hgext/evolve.py Sat Dec 13 18:09:23 2014 -0800 @@ -808,20 +808,25 @@ try: if repo['.'].rev() != dest.rev(): merge.update(repo, dest, False, True, False) - r = merge.graft(repo, orig, orig.p1(), - ['local', 'graft']) - if r[-1]: #some conflict + if keepbranch: + repo.dirstate.setbranch(orig.branch()) + r = merge.graft(repo, orig, orig.p1(), ['local', 'graft']) + if r[-1]: #some conflict raise util.Abort( 'unresolved merge conflicts (see hg help resolve)') - if keepbranch: - def _extrafn(ctx, extra): - extra['branch'] = ctx.branch() - else: - _extrafn = (lambda ctx, extra: None) + if commitmsg is None: + commitmsg = orig.description() + extra = {'rebase_source': orig.hex()} - nodenew = rebase.concludenode(repo, orig.node(), dest.node(), - node.nullid, commitmsg, - extrafn=_extrafn) + backup = repo.ui.backupconfig('phases', 'new-commit') + try: + targetphase = max(orig.phase(), phases.draft) + repo.ui.setconfig('phases', 'new-commit', targetphase, 'rebase') + # Commit might fail if unresolved files exist + nodenew = repo.commit(text=commitmsg, user=orig.user(), + date=orig.date(), extra=extra) + finally: + repo.ui.restoreconfig(backup) except util.Abort, exc: repo.dirstate.beginparentchange() repo.setparents(repo['.'].node(), nullid)