Peer Review and Patch Processing

FIXME: rewrite and reformulate for public users, this is just copy from old wiki now

Motivation

Just a few notes about the patch/review process. I am actually rather pleased with this procedure based on my experience so far. I think that we should seriously consider instituting this as standard practice even after the release. We have not been good enough about software quality, and I believe that having another set of eyes look at all changes will be very helpful. That said, managing patches and performing reviews represent extra work, so this will slow our development speed. I am interested in other opinions about whether this extra effort is worth it.

Assuming that we go ahead with the patch → review → commit procedure, we need to understand how to manage patches. First of all, having correct tabs is extremely important because otherwise the patches are much bigger (comparing the same lines but with different whitespace) and hard to read. Immediately after 0.50 is release we need to use whatever combination of automated tools, search/replace and manual processing is necessary in order to fix all sources once and for all.

...

When you post a complex patch, it would be very helpful if you take 5 minutes to post a comment describing what the patch does. Remember that the reviewer probably doesn’t know your code as well as you do.

Matt

Request Review

- Update your repository to avoid conflicts when applying your patch. - When you have finished fixing a bug, it’s important to make a patch right away to avoid getting stuff mixed up:

cvs diff -u12pdNa >diff-bugXXX-v1.patch    #v1 means patch version number

- Then you should submit the patch for review (use patch-review flag on attachment) and keep working on something else. We can define some maximum deadline for reviews but I think 24 hours would be the absolute minimum, so we have to keep working while we wait. - When the patch(es) is/are reviewed, you can back them out of your tree with

patch -Rp0 <diff-bugXXX-v1.patch

- Make a full diff of the tree (to capture all your other changes):

cvs diff -u12pdN >current.patch

- Back out the full diff:

patch -Rp0 <current.patch

- Reapply the patches:

patch -p0 <diff-bugXXX-v1.patch

- Commit, use message in the following format to have proper links in Bonsai:

cvs ci -m "Fixed bug #XXX DESCRIPTION using patch @YYY."

- Reapply the full diff:

patch -p0 <current.patch
 
src/hack/patches.txt · Last modified: 2007/02/23 17:46 by jakub
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki