Edgewall Software

Ticket #8459: 8459-optimize-eligible-2-r8352.patch

File 8459-optimize-eligible-2-r8352.patch, 2.0 KB (added by rblank, 3 years ago)

Fixed a typo.

  • trac/versioncontrol/svn_fs.py

    diff --git a/trac/versioncontrol/svn_fs.py b/trac/versioncontrol/svn_fs.py
    a b  
    786786        return fs.node_prop(self.root, self._scoped_path_utf8, name, 
    787787                            self.pool()) 
    788788 
     789    def get_branch_origin(self): 
     790        root_and_path = fs.closest_copy(self.root, self._scoped_path_utf8) 
     791        if root_and_path: 
     792            return fs.revision_root_revision(root_and_path[0]) 
     793 
    789794    def get_copy_ancestry(self): 
    790795        """Retrieve the list of `(path,rev)` copy ancestors of this node. 
    791796        Most recent ancestor first. Each ancestor `(path, rev)` corresponds  
  • trac/versioncontrol/svn_prop.py

    diff --git a/trac/versioncontrol/svn_prop.py b/trac/versioncontrol/svn_prop.py
    a b  
    172172                           _get_revs_link(revs_label, context, spath, revs)] 
    173173                    if has_eligible: 
    174174                        first_rev = branch_starts.get(spath) 
    175                         eligible = set(repos._get_node_revs(spath, target_rev, 
    176                                                             first_rev)) 
     175                        if not first_rev: 
     176                            first_rev = node.get_branch_origin() 
     177                        eligible = set(xrange(first_rev or 1, target_rev + 1)) 
    177178                        eligible -= set(Ranges(revs)) 
    178179                        blocked = _get_blocked_revs(props, name, spath) 
    179180                        eligible -= set(Ranges(blocked)) 
     181                        if eligible: 
     182                            noderevs = repos._get_node_revs(spath, target_rev, 
     183                                                            min(eligible)) 
     184                            eligible &= set(noderevs) 
    180185                        eligible = to_ranges(eligible) 
    181186                        row.append(_get_revs_link(_('eligible'), context, 
    182187                                                  spath, eligible))