# HG changeset patch # User Pierre-Yves David # Date 1349873901 -7200 # Node ID 2cd2ee20d9faf2f9a25628aa9634e3650110f200 # Parent cf116ffc9cc52db80e152eb9c96f51d239385ca4 evolve: filter nullid successors diff -r cf116ffc9cc5 -r 2cd2ee20d9fa hgext/evolve.py --- a/hgext/evolve.py Thu Sep 27 16:55:08 2012 +0200 +++ b/hgext/evolve.py Wed Oct 10 14:58:21 2012 +0200 @@ -295,6 +295,25 @@ reposetup = eh.final_reposetup ##################################################################### +### Critical fix ### +##################################################################### + +@eh.wrapfunction(mercurial.obsolete, '_readmarkers') +def safereadmarkers(orig, data): + """safe maker wrapper to remove nullid succesors + + Nullid successors was created by older version of evolve. + """ + for marker in orig(data): + if nullid in marker[1]: + marker = (marker[0], + tuple(s for s in marker[1] if s != nullid), + marker[2], + marker[3]) + yield marker + + +##################################################################### ### Obsolescence Caching Logic ### #####################################################################