Hobby-hacking Eric


official darcs blog!

Darcs weekly news has moved! It will now be hosted on the official darcs blog at http://blog.darcs.net.

The latest entry, darcs weekly news #10 has been posted on the new blog.


darcs hacking sprint - Team Brighton Day 2

Ganesh and Ian, slurpies and curl

More Important Looking Things for the whiteboard (faster slurpies, courtesy of Ganesh)

Team Brighton. (having worked out the auto-timer on Eric's camera)

Sprint on!

Sprint wrap-up later...


darcs hacking sprints - some pictures from Team Brighton

Just a little update from day 1. Who's doing what?

Ganesh (Heffalump) profiling away and drinking coffee from a University of Brighton mug!

Ian (Igloo) looking serious and Campy

Eric (kowey) unscattering his brain

Healthy hacking (malteasers conveniently obscured by kettle)

Hope to have a report up after the sprint!


darcs weekly news #9

News and discussions

  1. Enfranchising darcs! An update on the build systems question
  2. Darcs hacking sprint in 2 days!
  3. What does it mean to commute? Darcs hackers like to talk about 'commuting' patches all the time. But what does that mean? Jason explains and provides a tiny bit of code for us to play with
  4. darcsweb 1.1-rc1 Alberto Bertogli reports a release candidate for darcsweb 1.1, with support for darcs 2 repositories, and syntax highlight support if the pygments module is available
  5. First impressions of darcs. A Pythonista named Benjamin tries darcs out for the first time. Here are his likes and dislikes.
  6. Choosing a revision control system. Daniel Carrera compares darcs with Monotone, Mercurial and Bazaar. Daniel finds our "brilliant patch management" to be unique, but what can we learn from the others?


  • Jason Dagit

New contributors

  • Christian Kellermann
  • Salvatore Insalaco
  • J. Garrett Morris

Issues resolved in the last week (1)

issue784 Salvatore Insalaco

Patches applied in the last week (66)

See text entry for details.


darcs weekly news #8

News and discussions

  1. Improving the darcs build system? David Roundy is doing some interesting work on building darcs with his franchise build system. There are also attempts by other folks to Cabalise darcs. Discussions are underway about the future of building darcs.
  2. Type Correct Changes: A Safe Approach to Version Control Implementation. Jason Dagit gave a Galois tech talk on the use of Haskell GADTs to make darcs code more transparent, robust and approachable.
  3. Haskell, static typing, type witnesses and darcs. David Roundy gave a darcs talk at the ACM (5 October), presenting darcs and also explaining how the type witnesses are helping us to avoid errors in the code.
  4. Darcs hacking sprint only 9 days away!


Thanks to our patch reviewers for this week for giving David a hand!

  • Trent W. Buck
  • Jason Dagit
  • Nathan Gray
  • Simon Michael

Issues resolved in the last week (3)

issue1062 Eric Kow
issue1105 Dmitry Kurochkin
issue1139 David Roundy

Patches applied in the last week (96)

See text entry for details.


darcs 2.1.0 released!

I am delighted to announce the release of darcs 2.1.0, available at


What has changed?

This version provides over 20 bug fixes and 7 new features since darcs 2.0.2. The most notable changes are:

  • Defaulting to darcs-2. The darcs initialize command now creates darcs-2 format repositories by default. This change will make the the improved conflict handling and merging semantics from darcs 2 available to more users. Note that no action is required on your part. Darcs will continue working with all pre-existing repositories. You can explicitly request an old-fashioned repository if needed.

  • Better HTTP support. Dmitry Kurochkin has refined our HTTP support and fixed several http-related bugs from darcs 2.0.2. There is also an experimental --http-pipelining feature you can enable on the command line (or in your defaults file) for faster downloading. Note: --http-pipelining is enabled by default for libwww, and also for libcurl 7.19.1 (not yet released at the time of this writing)

  • Repository correctness. David Roundy has resolved a longstanding 'pending patch' regression (originally reported on 2008-02). Needless to say the offending case has been moved to our regression testing suite

See the attached ChangeLog for more details.

What should I do?

Upgrade! Binary versions should be available shortly, either from your favourite package distributor or by third party contributors.

Other than installing the new darcs, no action is required on your part to perform this upgrade. Darcs 2, including this particular version, is 100% compatible with your pre-existing repositories.

If you have not done so already, you should consider using the hashed repository format in place of your current old-fashioned repositories. This format offers greater protection against accidental corruption, better support for case insensitive file systems. It also provides some very nice performance features, including lazy fetching of patches and a global cache (both optional).

If darcs 1 compatibility is not a concern, you could also upgrade your repositories all the way to the darcs 2 format. In addition to the robustness and performance features above, this gives you the improved merging semantics and conflicts handling that give darcs 2 its name.

More details about upgrading to darcs 2 here:


What comes next?

We will now be shifting to a time based release model, with the next darcs release planned for January 2009.

For the next release of darcs, we will be focusing on optimising darcs's day to day performance issues. We want darcs to fetch repositories as fast as it possibly can over a network, and we especially want to rehabilitate known slow commands like darcs annotate. We believe that a few simple and practical changes can really improve the darcs experience for most users.

Think you can help? We would love to hear from you. In fact, the first darcs hacking sprint (25-26 October) is fast approaching! We have three venues available: Brighton, Paris and Portland and everybody is invited to come hack. See http://wiki.darcs.net/index.html/Sprints for details.

Thanks everybody, and enjoy!

darcs weekly news #7

News and discussions

  1. Darcs 2.1.0 released! With 20 bug fixes and 7 new features. Notable changes: darcs-2 repositories by default, HTTP robustness and better pending patch handling.
  2. Optimising darcs annotate. Darcs annotate is too slow. Proposed solution: create a cache mapping filenames to patches. Stay tuned for fast annotate in the future...
  3. Eleven new contributors since darcs 2.0.2. Thanks, Alex, Florent, Gaetan, Judah, Matthias, Max, Nathaniel, Steve, Taylor, Thorkil, and Vlad!


Thanks to our patch reviewers for this week for giving David a hand!

  • Trent Buck
  • Tommy Pettersson

Issues resolved in the last week (6)

issue1104 Dmitry Kurochkin
issue1109 Dmitry Kurochkin
issue1111 Tommy Pettersson
issue1124 Thorkil Naur
issue1128 Benjamin Franksen
issue1131 Dmitry Kurochkin

Patches applied in the last week (35)

See text entry for details.


darcs weekly news #6

News and discussions

  1. Third pre-release of darcs 2.1.0. Release pushed back to 17 October latest for more testing. We're getting very close to the finish line!
  2. Darcs ideas in other VCS. Kirill Smelkov has kind words for us on behalf of the NAVY project, which is moving away from darcs. Best of luck to Kirill with whatever revision control system NAVY choose! While we are delighted that "Good ideas behind [darcs] were adopted by youth", we still have a thing or two to show these whippersnappers.
  3. Haddock + Hoogle == Javadoc on steroids. Simon Michael has combined haddock and hoogle to give us a lovely darcs code browser. In the meantime, Florent Becker has been adding value to this browser by sending in lots of haddock patches. Many thanks to Simon and Florent!
  4. Patch theory update. Ian gives us his latest progress on documenting, prototyping and improving darcs patch theory. "[S]ome proofs are finally starting to appear, albeit rather handwavey for now". Go Ian!


Thanks to our patch reviewers for this week for giving David a hand!

  • Simon Michael

Issues resolved in the last week (5)

issue1003 David Roundy
issue1043 David Roundy
issue1078 Dmitry Kurochkin
issue1102 Eric Kow
issue1110 David Roundy

Patches applied in the last week (47)

See text entry for details.