On Mon, 2004-04-05 at 15:08, kfogel@collab.net wrote:
> Ben Collins-Sussman <sussman@collab.net> writes:
> > This wouldn't be very hard to write. In the general case, we need some
> > sort of API for finding all revisions that contain a specific property
> > name/value. At the moment, this is already happening when we convert a
> > date to a revision. The RA->get_dated_revision() API scans all the
> > revisions, reading their 'svn:date" property and returns exactly one
> > revision. We just need to generalize this idea. It just that nobody's
> > bothered to do it yet.
>
> Er, that only scales because get_dated_revision can do a binary
> search, right?
Nah, I don't think scalability is a big problem.
If there are N revisions in your repository, we're talking about doing a
database "hit" on each revision, querying each revision for a specific
unversioned prop.
I don't think this will bring BDB to its knees, because it's not too
different from what happens when you run 'svn log' on the repository's
root directory: you get a predecessor node for every single revision,
and thus are hitting the database N times. Yes, it will be much slower
than the binary search done by get_dated_revision(), but it won't be
unusable.
It sounds like Branko agrees with this approach as well.
I guess what we're talking about here is a new svn_fs_* function and
accompanying RA function to "return all revisions which have unversioned
prop/val". Maybe we could file it as a new feature request? It would
be useful not only for giving human names to revisions, but for any
other use of unversioned revision-props... such as workflow systems.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Apr 6 17:24:13 2004