Hacking Darcs
I am a Darcs user for something over a year maybe, not really sure anymore. I have tailorized most of my semi-private projects from SVN (or SVK) which I have used previously. I now keep my dotfiles in Darcs, on some machines parts of /etc. I am fairly happy with Darcs philosophy overall, although there are obviously some issues I have. Conflict handling (and markup) is certainly suboptimal, and there are a few annoying issues overall. And performance for big projects is not extremely good, either.
You have probably noticed the recent fuss about Darcs and its future (apparently triggered by the not-so-optimistic — to put it rather mildly — Darcs 2 announcement, and the recent GHC move away from Darcs).
Now I have to say, for the small projects, it’s nearly optimal. I don’t do much of divergent branching myself, and the few conflicts that arise aren’t that much of a problem, either. However, it’s easy to get spoilt by the niceties of Darcs — when it works well, it works very much so. Yes, when it screws up, that’s, as Simon PJ likes to put it — unsettling. I quite understand why GHC wants to move away from it (at least for now).
On the other hand, I don’t have much experience with GIT (yet?). It seems many projects are either converting to GIT or considering to — and interestingly, KDE has been considering GIT over SVN lately, it seems.
The two ways
Now you can make two conclusions based on this: either I should move over to GIT, like the rest of the crowd — that would be the “easy” option, sort of. However, I am apparently not the person to take the easy options. Or, the other option: put my hands (and brains) where my mouth is — talking about flaws won’t make them go away.
Moreover, it would make great sense to get back to getting Darcs interoperate nicely with GIT (there has been an effort to add GIT interoperability to Darcs before, but that sort of died out). Yes, I do realize there’s a fairly high ridge between the GIT and Darcs worlds, but I believe there are interesting ways to cross that ridge safely. So that is one of my primary interests in hacking Darcs — making it as seamless as possible to use Darcs to hack on primarily GIT based projects. That seems to be a good way to bring Darcs “back into game” for those many projects that now use GIT as their primary VCS — or more exactly, to those contributors of these projects that are Darcs-inclined (like myself). I think that good GIT compatibility would put Darcs into a very interesting position.
Now, there are others, possibly more far-fetching plans I have for Darcs, but given my, alas limited, hacking time, I won’t commit to anything like that just yet. It seems to be fun hacking Darcs — for one, it’s Haskell. Yeah, I like Haskell. Also, the theory behind Darcs is intriguing — and how (I think) Ian Lynagh put it, patch theory (or, the basic aspects of it) are sound and “natural” (in the sense prime numbers are a natural concept).
A newcomer’s perspective
Admittedly, Darcs community has a whole lot of issues at hand that it needs to solve — Eric Kow could probably write a novel on those by now. But, hopefully, everything is on the right track and the pressing issues will be resolved real soon now. I agree that the hurry (on my part) is a little artificial — I am impatient to get the bigger stuff rolling. But, that indicates some excitement, which is good, right? So what I need now is settling the dust and clearing up some of the collateral damage that happened in my, a little inept (although well-meant) — as it tends to be, entry into the Darcs hackers’ world.
Conclusion
Overall, I am optimistic. So let’s see how things go rolling and let’s hope that the number you get from
darcs changes --count --match 'author me@mornfall.net' --repo http://darcs.net/
increases quickly. Time limitations notwithstanding. I’m already curious what will things look like in a year from now.
Oh, and I should add the obligatory: Darcs needs you. Come, join us. (And I boldly say “us” — and I will hope the rest of the Darcs people won’t disagree about that. What’d you say, Kowey?)
Post-scriptum
I hope readers will pardon this a little confused and a little incoherent post — but you might be used to that from me. And it’s also running late and I am under influence of water pipe and rather strong tea, which doesn’t exactly help my expressive abilities. Now, let me move back home, sober a little, and — hack Darcs!