[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: searchable revprops?

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2007-05-15 16:13:13 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.