
Why I love darcs  - nickb
http://www.nabble.com/a-newbies-confusion-with-repositories---darcs-or-git-p22271697.html
======
nuclear_eclipse
> _Instead darcs knows with 100% certainty where the right place to apply your
> patch is._

> _Being able to apply and unapply patches precisely means that we can merge
> changes all we want -- we know that darcs will always preserve user
> intent..._

As brought up in the discussion of Git, how can the software perfectly 100% of
merge cases, and how does it always know exact user intent? Do es it really
know exactly what the right action is when you try to merge a patch with a
renamed and modified file with a patch deleting that same file? I'd seriously
like to know how they handle those sorts of conflicts, and how the computer
"guessing" on an ambiguous merge is better than letting me handle it
explicitly; yes, I know it's not really "guessing" because it has a notion of
patch theory, but can it possibly understand my exact intent in every possible
case?

> _There used to be conflicts issues, but they are mostly solved. There are
> performance problems, but they only affect large repositories and they are
> getting better._

So, while Git has arguably the best performance of any major VCS available,
and has deterministic merges (it asks you for anything ambiguous) without any
exponential blowup, I should _really_ choose Darcs because it uses patch
theory?

I can understand it being a great project to work on when developing Haskell
skills/experience/kudos, but I don't see how it can compare to Git as a
stable, fast, and reliable DVCS...

