Planning

Things a Darcs monad would be good for:

Unstable maintenance (prior to 2007-12)

Checklist

  1. more-unstable
    • make
    • make slowtest
  2. linux:
    • darcs trackdown
  3. win:
    • darcs trackdown -- eh... maybe not just yet
  4. unstable
    • darcs trackdown
    • push
  5. mail

Undo count

Times I have visibly slipped up: 2 (quoted matchers, ntfs hard links)


Unstable workflow

Jotting notes on how I did unstable maintainership, (and how this might/could/should change). Did I mention that I welcome people editing my page on this wiki? It'd be a good way to let me know you if you think I should be doing things differently.

Stage 0 : Incoming!

  1. New patch comes in, save to =ACTION

Stage 1 : Review

When I find the time to do patch-reviewing (usually weekends and nights). For each patch bundle in =ACTION

  1. Read the patch in my mail client (this is somewhat uncomfortable... could be improved!)
  2. Save to /tmp
  3. (Don't forget to use v to view each patch individually)
    darcs apply --interactive /tmp/foo.dpatch
    darcs diff --diff-command='opendiff %1 %2' --last=N
    # actually, i have an alias darcs-opendiff="darcs diff --diff-comannd='opendiff %1 %2'"
    
  4. Think really hard
  5. make test -j3
    

Stage 2 down : Fear, uncertainty and doubt

  1. darcs changes --last=n >> /tmp/rejected
    darcs obliterate
    
  2. Respond-to-list with comments and requests
  3. Transfer patch from =ACTION to =WAITING (this might actually be a bad idea - i seem to tend to let crap pile up in there)

Stage 2 up : Seems ok

  1. Respond to email thread (so that people know what happened to the patch)
  2. Either
    • There are any patches I want to wait longer on: flag the mail using ! (in mutt) [this turns it red in my config]
    • I'm completely happy
  3. If I am unsure about the patch, let it ripen for a few days (usually not)

Stage 3: One last check

This for all patches at once

  1. darcs push # goes from more-unstable to unstable
    
  2. cd ..
    cd unstable
    make test -j3 # the -j3 is just to make my machine compile faster
    darcs push --no-set-default kowey@my_linux_vm:darcs-unstable # and then log in there and make test -j3
    

Stage 4: Really push

This is for all patches at once

  1. Breathe deeply
    cd ..
    cd unstable
    darcs push
    
  2. Generate patches-accepted-on-this-date mail:
    • Use darcs changes --reverse --last=N to get messages for accepted patches

    • Use darcs apply --interactive and copy-n-paste to get messages for rejected/pending/waiting patches

    • Write a summary (since, author, basic idea) for any bundles that are waiting for resubmission


Projects

Personal Darcs to-do list and scratchpad. Of course, if somebody else wants to do these, please please help yourself! :)

All this stuff now goes on the back burner. My main objective is to manage incoming patches smoothly and responsibly. Can you say, "bit off more than you can chew?"

Actions

query cat

minimal context

Gui

''Understanding darcs'' wikibook

Miscellaneous

Refactors

minimal_context notes

  1. head_permutations is probably useful for this job

  2. should think about how i would QuickCheck this or do unit testing otherwise

Where is ssh used?

The internal stuff

Someday/Maybe


DarcsWiki: EricKow (last edited 2008-05-09 07:55:00 by EricKow)