Ticket #7715: 7715-optimize-eligible-r8342.diff
| File 7715-optimize-eligible-r8342.diff, 2.0 KB (added by cboos, 3 years ago) |
|---|
-
trac/versioncontrol/svn_fs.py
786 786 return fs.node_prop(self.root, self._scoped_path_utf8, name, 787 787 self.pool()) 788 788 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_path[0]) 793 789 794 def get_copy_ancestry(self): 790 795 ancestors = [] 791 796 previous = (self._scoped_path_utf8, self._requested_rev, self.root) -
trac/versioncontrol/svn_prop.py
142 142 spath, revs)] 143 143 if has_eligible: 144 144 first_rev = branch_starts.get(spath) 145 eligible = set(repos._get_node_revs(spath, target_rev, 146 first_rev)) 145 if not first_rev: 146 first_rev = node.get_branch_origin() 147 eligible = set(xrange(first_rev or 1, target_rev)) 147 148 eligible -= set(Ranges(revs)) 148 149 blocked = self._get_blocked_revs(props, name, spath) 149 150 eligible -= set(Ranges(blocked)) 151 if eligible: 152 noderevs = repos._get_node_revs(spath, target_rev, 153 min(eligible)) 154 eligible &= set(noderevs) 150 155 eligible = to_ranges(eligible) 151 156 row.append(self._get_revs_link(_('eligible'), context, 152 157 spath, eligible))
