Sponsored links
Camp (Commute And Merge Patches) is a version control system based on a patch theory similar to that of darcs. It is our hope that it will be the basis of darcs 3. This video explains what is unique about camp and darcs — why we prefer them to the other VCSs, and think it is worth spending our time developing them.
Currently, camp is far from complete, and is not ready to be used. We are working towards a specification of the theory, a formal proof that it is correct, and an open source (BSD license) implementation.
The current implementation is available from a darcs repository;
run
darcs get http://code.haskell.org/camp/devel/src/ camp
to check it out. It is featureful enough to be useful for
experimenting with the theory, but not to be usable as a version
control system yet.
There is also a darcs2camp program. This is currently
non-trivial to build, as you need to link it against some of the
darcs object files. Shortly it will be able to use darcs as a
library instead, which will make things much easier. To grab the
repo run
darcs get http://code.haskell.org/camp/devel/darcs2camp/
The LaTeX source for the paper describing the theory also lives
in a darcs repository; run
darcs get http://code.haskell.org/camp/devel/paper/
to check it out, or take a look at a
snapshot of the PDF.
It still needs some restructuring, and not all the proofs are
written, but it should give you an idea of the direction in
which we are headed. Note that, at the time of writing, you need
the trunk version of coqdoc if you want to be able to build the
paper out of the box.
Some coq experiments are happening in the paper repository,
but most coq work is happening in a darcs 2 repo hosted on
patch-tag; run
darcs get http://patch-tag.com/publicrepos/dic
to check it out.
We also have descriptions of the scheme for generating patch names and the repository format. The implementation doesn't fully implement these yet, though.
Camp is a volunteer effort. If you would like to support it, please consider donating. Thanks!
Ian Lynagh, <igloo@earth.li>.