Sprints/2010-03

Report

http://blog.darcs.net/2010/03/darcs-hacking-sprint-4-report.html

Date and Venue

As part of the Haskell Hackathon (ZuriHac)

When: 19-21 March 2010

Where:

Your checklist

  • Please register with ZuriHac (registrations are closed now)
  • Let Eric know if you’d like to make a travel claim [SAVE/SCAN YOUR RECEIPTS!]
  • Prepare your laptop for Darcs hacking (see below)

Key information

  • Dates and times

    • Pre-sprint meeting Friday 12:00 - Pizzeria Santa Lucia Niederdorf by CB hostel (see map) [Eric will probably be there a good bit earlier]
    • Sprint starts at 14:30 at Google (stop: Bahnhof Enge)
  • Maps

Darcs hacking quick start

You’ll have more fun if you can hit the ground running, so please make sure you can do all of these things:

  1. darcs get –lazy http://darcs.net
  2. cabal configure; cabal build
  3. darcs send (your patch should wind up on the tracker)

    1. create a test patch (see http://darcs.net/report.html )
    2. see Msmtp for easiest setup or configure your MTA if you know how
    3. darcs send
    4. wait 10 minutes
    5. check the patch tracker http://bugs.darcs.net (Patches > Show Open)

Priorities

ProbablyEasy

We’ll meet a little before the sprint to pick out a top-N list of candidates to work through. If we don’t have many new hackers during the sprint

Target-2.5 Priorities

See Roadmap for what’s planned in Darcs 2.5.

We have to remember to focus on small achievable tasks here and not take on things that are too large.

  • fix the O(n) record/etc problem: issue1106 - Petr?
  • global cache: issue1624 - Luca (hopefully)
  • filecache - Benedikt
  • new and improved darcs annotate - issue25 (note this will be an especially nice one for Zurich because Johan Tibell will be there, plus Benedikt working on filecache) - Eric? (at least the easy bits)
  • cache cleanup - Reinier?
  • Windows installer
  • faster darcs get

Talks and meetings

Our previous experience has been that the sprint has been useful for designing stuff.

FRIDAY

  • DONE: Ganesh and Benedikt
  • DONE: GSoC filechace
  • DONE: GSoC florent
  • DONE: release process

SATURDAY

  • DONE: meeting? darcs rebase UI
  • DONE: global cache strategy

SUNDAY

  • DONE - ../DefaultSwitches - lets get some decisions for Darcs 2.5
  • DONE - consensus on hardcoded darcs paths? (kill them!)
  • NOT NEEDED? hashed storage
  • DONE - issue1645 (Petr has been duly nagged)
  • talk: Benedikt and Petr on their performance work
  • Roadmap bis
  • DONE Windows installer status

Notes for the blog

Friday lunch

  • We should have darcs optimize –http (eg. snapshots) - Petr
  • We should have a nice CGI script that makes darcs get over http fast
    • Petr
  • Let’s call filecache something else. Current best candidate: patch index
  • Optimism about file-patch-map: maybe no GSoC project needed for that; do CGI instead?

Friday evening

  • Ganesh and Petr - future handling of darcs conflicts - conflictor as graph
  • Ganesh and Petr - storing files in darcs repos
  • Petr, Ganesh and Eric - making darcs get faster

    • smart cgi script
    • (adapt darcs transfer-mode?)
  • Darcs optimize –http again

Release process

  • We need people to test Darcs more
  • Reinier will do manual alphas on hackage every 4 weeks
  • Future work: automatic uploading? Tahoe-style supported/unsupported?

Darcs rebase

Ganesh explained how darcs rebase worked and we all discussed a sensible user interface for it

global cache

Luca, Reinier and Petr discussed the global cache design. Their conclusion was that we should store the bucketed cache and the old-style cache in different directories. Every time you look up a file in the cache:

If the new-style cache exists:

use that.

Else:
If the old-style cache exists:

Create a new bucketed cache, hardlinked to the old-style one

Else:

Create a new, empty bucketed cache

DPM and Darcs Library

David, Stephen, Ganesh and Florent discussed an exciting new patch management program for project maintainers. The DPM project offers a new way of keeping track of incoming patch bundles; their status, dependencies, reviews, etc. It’s a pioneering user of the Darcs API.

We got a darcs apply –match feature out of this TODO: question about conflicts?

darcs diff –interactive

Florent, Ganesh and Eric discussed darcs diff -i, particularly the question of what to do with patches that have been cherry-picked out of the diff. Should they appear in the diff context (ie. go before) or not? The current thinking is to include them so that users always see the diff in the latest possible context.

Windows installer

Salvatore put together a nice Windows installer using the bamse package. The only thing it can’t do is set the PATH for the user automatically. This will open the door to nicer integration with Windows tools, for example, using Tortoise SSH to avoid issue845

Participants

Initial guesses on what we’ll be working on

  • Florent Becker
  • Guillaume Hoffmann - probably-easy issues (1744, 1427)
  • Eric Kow - show history UI, running around like a headless chicken
  • Reinier Lamers - UTF-8?
  • Ganesh Sittampalam - rebase
  • Petr Rockai - issue1106
  • Salvatore Insalaco (Sat, Sun) - Windows
  • Luca Molteni (Sat, Sun) - global cache
  • Benedikt Schmidt - filecache
  • Radoslav Dorcik - trackdown bisect (over the IRC only)
  • Benedikt Huber - Darcs record Mac GUI
  • David Markvica - Darcs record Mac GUI
  • Steven Keuchel - issue1768

Travel plans

  • Eric Kow arrives at the airport 09:35 on the 19th; leaves at 21:55 on the 21st
  • Ganesh Sittampalam arrives at the airport 12:40 on the 19th; leaves at 20:25 on the 21st (Swiss from LCY and back to LHR) (might try to get on the earlier flight arriving 11:20 if I get to airport in time and Swiss let me)
  • Petr Rockai arrives at Zurich HBF at 9:17 on the 19th and leaves at 19:44 on the 21st
  • Guillaume Hoffmann arrives at Zurich HBF at 10:26 on the 19th and leaves at 17:02 on the 21st
  • Florent Becker arrives at HBF at 11:00 on the 19th and leaves at 17:34 on the 21st.

Shared hostel room

Who’s interested in sharing a hostel room? Eric has booked 5 beds at the City Backpacker (6 person room). The hostel have been advised that we may be a larger group than that, likely to use up the whole room. The beds go for 35 CHF per night + 3 CHF for sheets. For two nights, that would work out to 80 CHF, or roughly 50 EUR.

One more bed available in the room!

  • Guillaume Hoffmann
  • Eric Kow
  • Ganesh Sittampalam
  • Reinier Lamers
  • Florent Becker