RFC: migrating to git

David Brown haskell3 at davidb.org
Wed Jan 12 02:23:47 CET 2011


On Tue, Jan 11 2011, Roman Leshchinskiy wrote:

> On 11/01/2011, at 22:20, Simon Marlow wrote:
>
>> On 11/01/11 21:57, Roman Leshchinskiy wrote:
>>> This would be useful. Unfortunately, git's rewinding seems rather
>>> crippled compared to darcs.
>> 
>> In what way?
>
> Thomas says that it doesn't do automatic dependency tracking which
> looks like a huge weakness to me. Personally, I haven't been able to
> successfully unpull non-consecutive chunks of patches with git so far
> but I only tried 2 or 3 times before giving up.

I think the confusion might just be in terminology and model.  Going
back to earlier versions in git is trivial, much easier than darcs.

Remember, git doesn't store patches.  Git stores full snapshots of the
tree, with a digraph of dependencies.  The trees and history are
immutable.

The main advantages to darcs are that it can manipulate the sequence of
patches better than git.

The main advantage of git is that every version is accurately named.  If
two people have a commit with a given hash, they will have exactly the
same files and history.

Most projects seem to want most of the history to be immutable, and only
do manipulation on recent stuff.  "Removal" of earlier patches is an
additional patch that removes it rather than removing it from the
history.

David



More information about the Glasgow-haskell-users mailing list