Version control systems

Isaac Dupree isaacdupree at charter.net
Thu Aug 14 12:10:04 EDT 2008


Iavor Diatchki wrote:
> I also don't think that the darcs model has much to offer over git, in
> fact I find that it lacks some useful features (not counting a
> reliable implementation).  Examples include good support for
> branching, and being able to easily determine the version of the
> software that is in a repository (git uses a hash of the content to
> identify the current state, so it is easy to check if we two
> developers have the same version of the content).

I think these things are possible in darcs's model, just not 
its implementation.  For example, under _darcs it could have 
enough info in various states to allow one to switch 
branches within the same physical directory tree (and if 
there aren't many changes between the two 
branches/patchsets, the switch can be quick).  And if it 
weren't for the varying ways the same patch can be stored, 
hashes of history ought to work too (although that's 
certainly very built in to the current implementation of 
darcs; whether it's technically part of the model probably 
depends whether you can provide the exact same interface, 
semantics, and computational complexity with a different 
representation).

And I wonder why (it sounds like) Git doesn't have tools to 
do some kind of smart cherrypicking, using a heuristic to 
decide which patches in a branch are definitely dependencies 
of the cherry-picked patch.  In any case, I notice a few 
times with ghc/darcs/Trac tickets, more than one commit has 
to be listed explicitly to be merged into the stable branch. 
  Maybe it's not very useful/reliable for these purposes anyway?

Since I've only ever used Darcs (besides read-only 
CVS/SVN/etc.), I personally can't speak to what model is 
better for me!

-Isaac


More information about the Glasgow-haskell-users mailing list