Remy Blank committed eb36ea2

0.11-stable: Some more fixes related to #7715:

* Fixed display of new merge property in changeset view.
* Fixed `(toggle deleted branches)` link in changeset view.
* Sort properties by name to ensure the display is consistent.

Comments (0)

Files changed (5)


 /* Styles for the property diffs */
 /* WARNING: This is a compatibility hack. 0.12 has a cleaner but non-compatible solution. */
+.diff .props { color: #666 }
 .diff table.props {
  border: 0;
  font-size: 13px;


             for dummykey, value in self.config.options('svn:externals'):
                 value = value.split()
                 if len(value) != 2:
-                    self.env.warn("svn:externals entry %s doesn't contain "
+                    self.log.warn("svn:externals entry %s doesn't contain "
                             "a space-separated key value pair, skipping.", 
                        [, class_=deleted and 'trac-deleted' or None)
-                        for deleted, p, row in rows])))
+                        for deleted, p, row in rows]), class_='props'))
     def _get_blocked_revs(self, props, name, path):
         """Return the revisions blocked from merging for the given property


     <script type="text/javascript">
       jQuery(document).ready(function($) {
+        $(".trac-toggledeleted").show().click(function() {
+                  $(this).siblings().find(".trac-deleted").toggle();
+                  return false;
+        }).click();
         $("#content").find("li.entry h2 a").parent().addAnchor("Link to this diff");


     def render_properties(self, mode, context, props):
         """Prepare rendering of a collection of properties."""
         return filter(None, [self.render_property(name, mode, context, props)
-                             for name in props])
+                             for name in sorted(props)])
     def render_property(self, name, mode, context, props):
         """Renders a node property to HTML."""


             new_ctx = Context.from_request(req, new_source)
             changed_properties = []
             if old_props != new_props:
-                for k,v in old_props.items():
+                for k, v in sorted(old_props.items()):
                     new = old = diff = None
                     if not k in new_props:
                         old = v # won't be displayed, no need to render it
                     if new or old or diff:
                         changed_properties.append({'name': k, 'old': old,
                                                    'new': new, 'diff': diff})
-                for k,v in new_props.items():
+                for k, v in sorted(new_props.items()):
                     if not k in old_props:
                         new = browser.render_property(k, 'changeset',
                                                       new_ctx, new_props)