--- a/hgext/evolve.py Wed Feb 19 18:14:20 2014 -0800
+++ b/hgext/evolve.py Thu Feb 13 18:09:54 2014 -0800
@@ -301,6 +301,31 @@
reposetup = eh.final_reposetup
#####################################################################
+### experimental behavior ###
+#####################################################################
+
+@eh.wrapfunction(mercurial.obsolete, 'createmarkers')
+def _createmarkers(orig, repo, relations, *args, **kwargs):
+ """register parent information at prune time"""
+ # every time this test is run, a kitten is slain.
+ # Change it as soon as possible
+ if '[,{metadata}]' in orig.__doc__:
+ for idx, rel in enumerate(relations):
+ prec = rel[0]
+ sucs = rel[1]
+ if not sucs:
+ meta = {}
+ if 2 < len(rel):
+ meta.update(rel[2])
+ for i, p in enumerate(prec.parents(), 1):
+ meta['p%i' % i] = p.hex()
+ relations[idx] = (prec, sucs, meta)
+ return orig(repo, relations, *args, **kwargs)
+
+def createmarkers(*args, **kwargs):
+ return obsolete.createmarkers(*args, **kwargs)
+
+#####################################################################
### Critical fix ###
#####################################################################
@@ -337,8 +362,6 @@
# - function to travel throught the obsolescence graph
# - function to find useful changeset to stabilize
-createmarkers = obsolete.createmarkers
-
### Useful alias