Edgewall Software

Ticket #3002: prop_diffs_3002.patch

File prop_diffs_3002.patch, 2.2 KB (added by cboos, 3 years ago)

Patch on r3116 implementing the suggested feature

  • templates/changeset.cs

     
    212212   var:item.rev.new ?> of this file in browser"><?cs 
    213213   var:item.path.new ?></a></h2><?cs 
    214214   if:len(item.props) ?><ul class="props"><?cs 
    215     each:prop = item.props ?><li>Property <strong><?cs 
    216      var:prop.name ?></strong> <?cs 
     215    each:prop = item.props ?><li><?cs 
     216     alt:prop.html ?>Property <strong><?cs var:prop.name ?> </strong><?cs 
    217217     if:prop.old && prop.new ?>changed from <?cs 
    218218     elif:!prop.old ?>set<?cs 
    219219     else ?>deleted<?cs 
    220220     /if ?><?cs 
    221221     if:prop.old && prop.new ?><em><tt><?cs var:prop.old ?></tt></em><?cs /if ?><?cs 
    222      if:prop.new ?> to <em><tt><?cs var:prop.new ?></tt></em><?cs /if ?></li><?cs 
     222     if:prop.new ?> to <em><tt><?cs var:prop.new ?></tt></em><?cs /if ?><?cs /alt ?></li><?cs 
    223223    /each ?></ul><?cs 
    224224   /if ?><?cs 
    225225   if:len(item.diff) ?><table class="<?cs 
  • trac/versioncontrol/web_ui/changeset.py

     
    394394                    if not k in new_props: 
    395395                        changed_props[k] = {'old': v} 
    396396                    elif v != new_props[k]: 
    397                         changed_props[k] = {'old': v, 'new': new_props[k]} 
     397                        nv = new_props[k] 
     398                        changes = {'old': v, 'new': nv} 
     399                        if '\n' in v or '\n' in nv: 
     400                            # diff view for multiline properties 
     401                            changes['html'] = Mimeview(self.env).render( 
     402                                req, 'text/x-diff',  
     403                                '--- %s\n+++ %s\n' % (k, k) 
     404                                + '\n'.join(unified_diff(v.splitlines(), 
     405                                                         nv.splitlines(), 3))) 
     406                        changed_props[k] = changes 
    398407                for k,v in new_props.items(): 
    399408                    if not k in old_props: 
    400409                        changed_props[k] = {'new': v}