[darcs-users] 'submitted' branch
ganesh at earth.li
Sun Sep 12 19:28:51 UTC 2010
I'd like to propose a change to the way we manage submitted patches. This
proposal is independent of the adventure branch, though it might mean that
less work needs to go on adventure, and the idea might also be applicable
to the adventure branch.
The basic idea is to reduce the conflicts and friction caused by the
review backlog, by having patches waiting to be reviewed sitting in a
'submitted' branch. Patches would then be pushed to HEAD once reviewed.
People would submit new work against 'submited' rather than against HEAD.
In turn, this would mean that patches that had landed in 'submitted' would
not be amend-recorded or unpulled. Instead follow up patches, perhaps even
a rollback, would have to be used.
Anyone on the review team would be allowed to push patches, including
their own patches, to 'submitted'. The criteria would that the patch
looked halfway sane and would not be very disruptive if it had to be
rolled back. For example a significant refactoring, like the
reorganisation of Darcs.Patch I recently did might fall into that
category; for those patches I would probably have asked for some light
review from someone else that they were happy with the general idea before
pushing them to 'submitted'.
The person pushing to submitted would be ultimately responsible for making
sure that they were rolled back if rejected, although normally that actual
patch submitter would be expected to help with that and the review team
member (if different) would just be the backstop.
A few people discussed this on IRC
(http://irclog.perlgeek.de/darcs/2010-09-02#i_2775869). The main obstacle
is that the review methodology would be painful without some way of being
able to pull a single bundle of patches plus its minimum set of
dependencies into some repo (as opposed to the full context). It seems
like a 'darcs pull --bundle <foo.dpatch> <some repo>' command would be
nice here. It would take the patch names from foo.dpatch, but ignore the
contents, and pull the patches from <some repo> instead.
The submission and review workflow would then be:
(1) Submitter sends patches against http://darcs.net/submitted to the
patch tracker as usual.
(2) Review team member does sanity check and pushes to submitted.
These two steps might be done by the same person at the same time.
(3) Patch reviewer gets foo.dpatch from the tracker and does a pull
--bundle <foo.dpatch> http://darcs.net/submitted. If this pulls in more
patches than are in the bundle, there are unreviewed dependencies. These
should be reviewed either first or at the same time. Care should be taken
not to inappropriately push only part of another bundle inappropriately.
Any updates to the bundle are done as follow-up patches.
More information about the darcs-users