Changeset 1856

Show
Ignore:
Timestamp:
01/10/07 10:28:09 (2 years ago)
Author:
eblot
Message:

RevtreePlugin:

Add support for "brings" message

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • revtreeplugin/0.10/enhancers/logenhancer/logenhancer.py

    r1696 r1856  
    3838        enhancer._creations = [] 
    3939        enhancer._deliveries = [] 
     40        enhancer._brings = [] 
    4041        enhancer._groups = [] 
    4142        enhancer._svgrevtree = svgrevtree 
     
    99100                    svgchgset = svgbranch.svgchangeset(chgset) 
    100101                    svgchgset.set_shape('Circle') 
     102                elif msg.startswith('brings'): 
     103                    bring = chgset.prop('st:bring') 
     104                    if not bring: 
     105                        continue 
     106                    try: 
     107                        revisions = [int(c) for c in bring.split(',')] 
     108                        revisions.sort() 
     109                        ychg = enhancer._repos.changeset(revisions[-1]) 
     110                        if not ychg: 
     111                            continue 
     112                        brname = ychg.branchname 
     113                        srcbranch = enhancer._repos.branch(brname) 
     114                        if not srcbranch: 
     115                            continue 
     116                        brrevs = [c.rev for c in srcbranch.changesets()] 
     117                        valrevs = [r for r in revisions if r in brrevs] 
     118                        fchg = enhancer._repos.changeset(valrevs[0]) 
     119                        lchg = enhancer._repos.changeset(valrevs[-1]) 
     120                        enhancer._groups.append((fchg,lchg)) 
     121                        enhancer._brings.append((lchg,chgset)) 
     122                    except ValueError: 
     123                        pass 
     124                    except IndexError: 
     125                        pass 
     126 
    101127        return enhancer 
    102128                 
     
    138164                              'blue') 
    139165            enhancer._widgets[2].append(op) 
     166 
     167        for (srcchg, dstchg) in enhancer._brings: 
     168            svgsrcbr = \ 
     169                enhancer._svgrevtree.svgbranch(branchname=srcchg.branchname) 
     170            svgdstbr = \ 
     171                enhancer._svgrevtree.svgbranch(branchname=dstchg.branchname) 
     172            if not svgsrcbr or not svgdstbr: 
     173                continue 
     174            svgsrcchg = svgsrcbr.svgchangeset(srcchg) 
     175            svgdstchg = svgdstbr.svgchangeset(dstchg) 
     176            op = SvgOperation(enhancer._svgrevtree, svgsrcchg, svgdstchg, 
     177                              'orange') 
     178            enhancer._widgets[2].append(op) 
    140179             
    141180        for wl in enhancer._widgets: