TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why I love darcs

4 pointsby nickbabout 16 years ago

1 comment

nuclear_eclipseabout 16 years ago
&#62; <i>Instead darcs knows with 100% certainty where the right place to apply your patch is.</i><p>&#62; <i>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...</i><p>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?<p>&#62; <i>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.</i><p>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 <i>really</i> choose Darcs because it uses patch theory?<p>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...