Checklist for Creating a Hot-Fix Entry

Starting with the c08 release series we will be posting UNIX patch files with each new entry in the HotFixes pages. This is a far more efficient means of communicating the changes that need to be made, especially for more elaborate bug fixes. There is no longer any need for lengthy explanations that the user needs to change line "n" in file "x", so the description can be much shorter and to-the-point. The goal is to create a system where consecutively applying patch1 through patch<n> takes you exactly from the original release to the current head of the release branch. For this to work, every hot-fix needs to be accompanied by a patch file, even for trivial changes... Note that the patch file may be an accumulation of patches that were not posted on the HotFixes page!

To help with creating the UNIX patch files, we have created a tags directory  /tags/patch_versions. Each posting on the HotFixes page should be accompanied by a matching entry in this directory. This is the checklist for creating a new hot-fix entry.

1) Apply your patch to the current release branch, e.g. c08_branch, and test this patch.

2) Check the values of the variables CLD_MAJOR, CLD_MINOR, CLD_PATCH in the file version.h. Typically you will need to increase CLD_PATCH by 1 and leave the other two alone. The numbers should match the name of the tag you will give this patch update in step 4, i.e. if CLD_MAJOR=xx, CLD_MINOR=yy, and CLD_PATCH=zz, then the name of the tag in step 4 should be c<xx>.<yy>_pl<zz>.

3) Submit your changes to the release branch.

4) Create a tag in the /tags/patch_versions directory, making sure that it gets a number that is one higher than the previous tag. I.e., when the previous patch update was c08.02_pl03, you will now create c08.02_pl04. For this you use the command:

svn copy<xx>_branch<xx>.<yy>_pl<zz>

where xx, yy, and zz have the same meaning as in step 2.

5) Create the entry on the HotFixes page and include a link at the top of the entry to the patch<zz> file as follows

[diff:tags/patch_versions/c<xx>.<yy>_pl<zz-1>//tags/patch_versions/c<xx>.<yy>_pl<zz> patch<zz>]    

One final note. To make step 5 easier for the first patch, we will create entries c<xx>.<yy>_pl00 in /tags/patch_versions. These are exact copies of the c<xx>.<yy> release in the /tags/release directory. This is implies that the first patch to a new release will have zz=01.

Peter van Hoof. 2008 May 16.