Ticket #6654 (new defect)
Changset view is slow when using sub repository path
| Reported by: | foom@… | Owned by: | cboos |
|---|---|---|---|
| Priority: | high | Milestone: | 0.13 |
| Component: | version control | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
When viewing a changeset restricted to a subpath, when that path hasn't changed for many revisions, the changeset viewer gets extremely slow.
This is using svn 1.3.2 with fsfs repository containing about 160krevs, Trac 0.11dev-r6396.
The reason is changeset.py:424: next_rev = repos.next_rev(chgset.rev, path)
Then looking into svn_fs.py's implementation of next_rev, you can see that it will iterate through every single revision in the repository after the starting revision, one by one, looking for the next revision number which contains a change for this path.
So, for a subpath which hasn't been changed for 50k revisions, this takes just about forever. And all that, just to show a little link in the corner named "next change".
I'm not sure if next_rev can be made faster somehow, as that would obviously be the best solution. But if not, perhaps the actual revision behind the "next change" link should only be computed when you actually click on it.


