Ben Collins-Sussman wrote:
> For years now, people have been criticizing Subversion for telling
> users to go ahead and invent new revprops, but then discovering that
> revprops aren't searchable. "What's the point of all this cool
> metadata, if I can't even execute a query like 'show me all revisions
> written by a specific author?'"
>
> IIRC, our response has always been, "yeah, you're right, someday we
> should build revprop indices on the server for this."
>
> It occurred to me that now that we unconditionally require sqlite in
> the repository, it would be really trivial to implement this feature.
> If sqlite is indexing revprops, it would be pretty easy to add a new
> RA interface to "return all revisions where revpropname matches
> revpropvalue".
>
> I certainly don't want to distract from our focus on merge-tracking,
> but if anyone is hungry for a relatively easy and fun project... this
> seems like a great opportunity. Some real low-hanging fruit!
That's a good observation, Ben. Let's not be guilty of rushing something
under-designed into the codebase, though. "return all revisions where
revpropname matches revpropvalue" is certainly one use-case, but also common
are:
* return all revisions (and revpropvalues?) for whom revpropname is set
at all
* return all revisions for whom revpropname's value matches some regexp
In fact, if you do that last one alone, you've hit all three of them:
.? -- is the property set at all?
^value$ -- does the property match exactly
Spend a little bit of time thinking through high-value functionality so we
don't have to maintain 15 new ra-dav REPORTs and more client-server compat code.
--
C. Michael Pilato <cmpilato@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on Tue May 15 16:13:23 2007