[darcs-users] Patch language for a database?

Jason Dagit dagit at codersbase.com
Mon Jun 1 17:49:11 UTC 2009


On Mon, Jun 1, 2009 at 10:31 AM, Maurí­cio <briqueabraque at yahoo.com> wrote:

> Hi,
>
> If this doesn't make sense, please forgive my lack of technical
> knowledge and just forget this message, but...
>
> Common databases use SQL, which is supposed to be based on
> (an incomplete version of, I've been told) relational algebra.
>
> Since darcs has a well defined patch algebra, could we have
> some kind of big bag of patches that could be queried using
> a patch algebra based language? Instead of repositories,
> we (users and providers) would have one (or many, of course)
> big patch database and query it for patches, dependencies,
> changesets or even complex combinatorial operations (that
> providers could restrict to avoid cpu overflow). I belive
> this could even simplify implementation and be faster for
> some simple operations than darcs.
>
> I don't have a good idea on how such language could be,
> though...


I've thought about similar things.  What would a common query look like?
 You might want to know when two patch sets have a common ancestor for
example.  Darcs the implementation stores patch context information
implicitly.  This makes it hard to construct such queries from a "big bag of
patches".  You could fix this by changing context to be explicit.  Next, I
think there is not a clear way to make this work for determining patch
dependencies and whatnot, but that is only because I didn't spend enough
time on it yet :)  Overall, I like the idea of turning version control into
a standard thing with various implementations.  If creating a language
analogous to SQL is the trick to doing this, then we should do it.

I think this idea would work well for meta data and I think some of the
recent work with various cache types are ad-hoc database (really indexes)
implementations as the need arises.  Should these be one database with a
nice schema and carefully indexed tables?  Perhaps.  SQLite would probably
be a very efficient way for us to store all our meta data in one place with
fast querying.

I would encourage people to play with this.  I strongly believe that darcs
should be a playground for people who want to do research into distributed
version control.

Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20090601/4bd4e182/attachment.htm>


More information about the darcs-users mailing list