As I have been playing with tahoe-lafs I wanted to checkout the latest version of the trunk after I had reported some bugs on a release candiate. Their choice of VCS was darcs, I have had a look at darcs before in the past and just dismissed it due to the size of the community and the lack of performance when it comes to tracking large repositories of files.

Just to experiment I converted one of my own repositories to darcs to see how it works. I used this tool to do the conversion http://hackage.haskell.org/package/darcs-fastconvert and following the instructions from this post http://lists.osuosl.org/pipermail/darcs-users/2010-September/025251.html.

Just in case if the archives don't work

cabal install darcs-fastconvert

To convert a git repo to darcs

(cd gitproject; git fast-export --all --progress=500) | \
   darcs-fastconvert import gitproject-darcs

To convert a darcs repo into git

mkdir darcsproject-git
cd darcs-project-git
git init
(cd ../darcsproject; dracs-fastconvert export) | git fast-import

First impressions of darcs is, I kinda like the theory behind the patch sets and the interface. But it's slow and it doesn't handle binary blobs too well and the implementation is done with haskell. So I'm not entirely sure of it, it's a bit of a pain to compile but if you just use the binaries it's fine.

I'll keep using git for now, I might give vng more of a try since I like the darcs interface somewhat.

Bookmark and Share