3 ms·
I love Darcs conceptually and I used it for a few years but after moving to Git I have to say I prefer it. Darcs is certainly cleaner than how Git is actually
by danssig 16y ago
I love Darcs conceptually and I used it for a few years but after moving to Git I have to say I prefer it. Darcs is certainly cleaner than how Git is actually implemented (scripts and perl everywhere) but Git is nicer to work with day to day. The reason is that in Darcs to make a branch you have to basically check out the tree again. In Git I never need more than my repo directory. All branch checkouts, etc. happen right in that directory. That may sound like a trivial difference but in practice this can save hours a week for the way I work. Git can do most of the cherry picking, etc. that Darcs can do.
I do miss the ability to check in changes that I only ever want to have local though. I haven't found a satisfactory way to do that in Git yet.
- asnyder 16y agoYep, this is one of my biggest issues with git. I can't fork builds and still push/pull from each other. The best you can do is a git rebase to pull in partials, but then you'll never really be able to get new pulls. It's so nice being able to fork, and have independent deviations, while still sharing the remaining code.
- aaronkaplan 16y agoI agree about the convenience of having multiple branches in a single repo, as opposed to the darcs way which is one working directory per branch. For one thing, I never found a convenient way to switch between branches in an IDE when using darcs. For another, having a separate working copy for each branch consumes disk space unnecessarily. (Hopefully with the popularity of SSDs these days, people are less likely to reflexively respond "disk is cheap," but just in case: with git, all branches of my current project fit on my USB stick; with darcs, they wouldn't. It also makes a big difference for copying times.) darcs repos can be deduplicated using hard links, but that only affects the patch history--the working copy is still duplicated. [edit: removed question that was answered by sibling post]