[darcs-users] 'submitted' branch

Ganesh Sittampalam 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 mailing list