--- a/hgext/evolve.py Thu Oct 16 14:06:52 2014 -0700
+++ b/hgext/evolve.py Thu Oct 16 04:38:37 2014 -0700
@@ -806,14 +806,20 @@
try:
try:
r = rebase.rebasenode(repo, orig.node(), dest.node(),
- {node.nullrev: node.nullrev}, False)
+ {node.nullrev: node.nullrev}, False,
+ orig.p1().node())
if r[-1]: #some conflict
raise util.Abort(
'unresolved merge conflicts (see hg help resolve)')
- cmdutil.duplicatecopies(repo, orig.node(), dest.node())
nodenew = rebase.concludenode(repo, orig.node(), dest.node(),
node.nullid, commitmsg)
except util.Abort, exc:
+ repo.dirstate.beginparentchange()
+ repo.setparents(repo['.'].node(), nullid)
+ repo.dirstate.write()
+ # fix up dirstate for copies and renames
+ copies.duplicatecopies(repo, dest.rev(), orig.p1().rev())
+ repo.dirstate.endparentchange()
class LocalMergeFailure(MergeFailure, exc.__class__):
pass
exc.__class__ = LocalMergeFailure