Patches applied in the last week (77)

Thursday, February 21, 2013

The 8th Darcs Hacking Sprint happened on 15-17th February in Paris, at IRILL like in 2011. This sprint occured one week after the latest stable release (2.8.4), and after a process of integrating many new features to the HEAD repository of darcs: rebase, the patch index optimization, the last regrets prompt, and a lot of refactoring in the code base. We are currently looking at the next important milestone for darcs: the release of 2.10, that should happen sometimes this year. This sprint was about polishing as much as possible these new features and take a few short and medium-term decisions.This time we had five people attending: Florent Becker, Ganesh Sittampalam, Guillaume Hoffmann, Owen Stephens and Radoslav Dorcik. We also had a short visit of Pierre-Yves David, a Mercurial hacker.

With Guillaume he also worked on the manual and completedthe help for environment variables and the output of `darcs help markdown`. We decided that http://darcs.net/manual should always have the manual corresponding to the current stable branch of darcs (as of now 2.8), because sometimes commands and flags change. We thus continue the process of moving away the documentation from literate haskell and latex and to have everything in markdown (website documentation and darcs-generated help). Guillaume also fixed bugs in the testsuite, in particular network tests.Florent worked around the UI/Selectchanges code, with three aims:

make the code clearer, and more easily usable by a gui / web ui (in progress)

allow the user to preview dependencies (done) and conflicts (todo) before selectenig a patch

adding darcs diff --interactive and darcs trackdown --interactive (interactive choice of a non-contiguous set of patches to search among.) unleashing the power of implicit branching! (in progress)

The current state of the branch is available on hub.darcs.net, and is subject to agressive rebases (as witnessed by the number of "brouillon" patches).

Owen spent the weekend of the sprint working on darcs-bridge. Spending time getting the theory right for exporting merges, including some tricky corner cases. He implemented a proof-of-concept of the new exporter and has started to integrate it back into the bridge. With lots of help from Ganesh (thanks!), he discussed and worked through most of the difficult implementation points.

Last regrets for 2.10

We decided that 2.10 will contain the last regrets prompt (an extra final question "Do you want to push/pull these patches? [yn...]" ) in its current form.

Darcs on sshfs

We finally closed http://bugs.darcs.net/issue904 , accepting a patch that makes darcs work on sshfs-mounted directories. This, combined with the bare repositories introduced in 2.8, will make darcs easier to work with dumb servers, i.e., ssh-accessible servers which do not have darcs installed.

Google Summer of Code and 2.10 beta

We plan to apply to this year's Google Summer of Code as an independent organization. This means we will ask for two slots. We discussed possible projects. Organizations sumbissions for GSoC are at mid-march, so we estimated a beta release of Darcs 2.10 would make sense by then.

Mercurial's Changesets Evolutions

Pierre-Yves David, a Mercurial developer, came to see us and gave us a short version of his FOSDEM talk "Changesets evolutions with Mercurial". Changesets evolution is a feature that recently made its way into Mercurial, that enables automatic merging of rewritten histories. We discussed similarities and differences with the way darcs commutes patches and how `darcs rebase` works.

IRC Sprinters

We also counted with a good participation on #darcs. Eric Kow did intensive bug triaging on the tracker. Mark Stosberg worked on stabilizing two features: rebase and patch index. Iago Abal helped Ganesh improve the patch code unit tests. Simon Michael updated darcsden (the software behind hub.darcs.net) to the latest API of libdarcs, which changed before and during the sprint. Petr Rockai kept us up to date about the state of the buildbot infrastructure.

Meatspace sprinters

Thanks!

We would like to thank the generous people and organizations that made this sprint possible: