On Mon, Jun 1, 2009 at 10:31 AM, Maurício <[email protected]> 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
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
