# HG changeset patch # User Anton Shestakov # Date 1587483644 -28800 # Node ID b1a564cb18d0b72b0bdecef98ea9f45d35eeb8c5 # Parent 99c25397889e7e7a4bd427921f861eb1fbc38572 obshistory: add _predecessorsverb() similar to _successorsetverb() diff -r 99c25397889e -r b1a564cb18d0 hgext3rd/evolve/obshistory.py --- a/hgext3rd/evolve/obshistory.py Sat Apr 25 18:51:23 2020 +0800 +++ b/hgext3rd/evolve/obshistory.py Tue Apr 21 23:40:44 2020 +0800 @@ -738,6 +738,26 @@ verb = b'split' return {b'verb': verb} +def _predecessorsverb(predecessors, markers): + """ Return the verb summarizing a set of predecessors and related markers. + """ + verb = None + if not predecessors: + # we got successors instead of predecessors, and they are empty + # (this is a special case for showing prunes) + verb = b'pruned' + elif len(markers) == 1 and len(markers[0][1]) > 1: + # peeked at the successors to see if this is a split + verb = b'split' + elif len(predecessors) == 1: + verb = _markerspreciseverb(markers) + + if verb is None: + verb = b'rewritten' + else: + verb = b'folded' + return verb + # Use a more advanced version of obsfateverb that uses effect-flag @eh.wrapfunction(obsutil, 'obsfateverb') def obsfateverb(orig, *args, **kwargs):