Hi,

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.

Cheers,

Ganesh

---------

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.

_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to