comparison hgext3rd/evolve/obshistory.py @ 2896:462adae9fea7

obsfate: use effect flag information for computing a better verb
author Boris Feld <boris.feld@octobus.net>
date Wed, 09 Aug 2017 11:32:19 +0200
parents dfad30be866c
children
comparison
equal deleted inserted replaced
2895:e4ee0b6170e9 2896:462adae9fea7
724 markersmeta = [dict(m[3]) for m in markers] 724 markersmeta = [dict(m[3]) for m in markers]
725 users = set(meta.get('user') for meta in markersmeta if meta.get('user')) 725 users = set(meta.get('user') for meta in markersmeta if meta.get('user'))
726 726
727 return {'users': sorted(users)} 727 return {'users': sorted(users)}
728 728
729 VERBMAPPING = {
730 DESCCHANGED: "reworded",
731 METACHANGED: "meta-changed",
732 USERCHANGED: "reauthored",
733 DATECHANGED: "date-changed",
734 BRANCHCHANGED: "branch-changed",
735 PARENTCHANGED: "rebased",
736 DIFFCHANGED: "amended"
737 }
738
729 def _successorsetverb(successorset, markers): 739 def _successorsetverb(successorset, markers):
730 """ Return the verb summarizing the successorset 740 """ Return the verb summarizing the successorset
731 """ 741 """
742 verb = None
732 if not successorset: 743 if not successorset:
733 verb = 'pruned' 744 verb = 'pruned'
734 elif len(successorset) == 1: 745 elif len(successorset) == 1:
735 verb = 'rewritten' 746 # Check for effect flag
747
748 metadata = [dict(marker[3]) for marker in markers]
749 ef1 = [data.get('ef1') for data in metadata]
750
751 if all(ef1):
752 combined = 0
753 for ef in ef1:
754 combined |= int(ef)
755
756 # Combined will be in VERBMAPPING only of one bit is set
757 if combined in VERBMAPPING:
758 verb = VERBMAPPING[combined]
759
760 if verb is None:
761 verb = 'rewritten'
736 else: 762 else:
737 verb = 'split' 763 verb = 'split'
738 return {'verb': verb} 764 return {'verb': verb}
739 765
740 FORMATSSETSFUNCTIONS = [ 766 FORMATSSETSFUNCTIONS = [