Hi Mike
So, there are a number of interactions here.
First, even though Subversion has a notion of --limit for 'svn log' queries
(and the equivalent for the repository APIs), the vclib interface doesn't
expose it, so ViewVC doesn't use it.
Secondly, remember that the items on the log view can be sorted by things
other than revision number. So, while we could use --limit for log views
showing revision-sorted (or unsorted, which is the same thing in Subversion)
output, we couldn't use that optimization for any other sorting style.
Ok, I completely forgot the sorting feature. For that you would indeed need to fetch all revisions first. But do you think its worth to keep the
sorting feature? (Actually I have stripped it from my template, because I never used it). I think for doing advanced queries with filtering and
sorting you can better refer to the commit database.
For the implementation details, I can see that in svn_ra you use svn_client_log which supports limit in a never version, but in svn (I think nearly
everyone uses that) its svn_repos_history which does not support limits :(, so changing that seems indeed not that easy.
Jens
PS: I have one practical question: how do you develop viewvc? I have setup eclipse with pydev and I'm quite happy with that, especially able to debug
is really cool. But whenever I do a change in a .py file I have to restart apache or the standalone.py, even if I delete the related .pyc files. Is
there a way to tell python to watch the py/pyc files for changes?
PPS: Almost forgot again: Thanks a lot for your energy and motivation for developing ViewVC! Despite some performance issues, I haven't seen a better
and more flexible version control web frontend... and its look & feel gets better and better :)
|
|