[darcs-users] Linus on Git

Juliusz Chroboczek Juliusz.Chroboczek at pps.jussieu.fr
Tue Aug 23 17:05:10 UTC 2005


> Slow?  Current head has almost complete support for working with Git
> repositories.  Trust me, that was a lot of work.

I've received a few notes that imply that I might not have been clear.

While the actual code for interacting with Git was written by me,
getting it to work required a significant amount of internal
restructuring of most of the Darcs code, mostly done by David and Ian
(and a few others, but I'm too lazy to run darcs changes right now).

The restructuring was needed because the upper layers of Darcs (the
commands code) used to directly manipulate repositories, without an
intervening abstraction layer.  Most of the work in Darcs-Git
consisted in implementing such a convergence layer.

The net result is a Darcs that is less closely linked to the internals
of the repository format.  This will make it possible to evolve Darcs
faster, and a first example of this is the recent RepoFormat code by
David.

So while Darcs recently received only minor user-visible changes,
there have been massive internal improvements.  These should result in
user-visible improvements in the future; most notably:

 - we now have code to deal with backwards-compatible changes to the
   repo format; expect new (internal) patch types that improve memory
   usage;

 - since it is now possible to change command behaviour without
   understanding repo internals, expect more people willing to add new
   commands.

                                        Juliusz




More information about the darcs-users mailing list