by Tom Epperly <epperly2@llnl.gov>
August 17, 2006
Our process for committing to and issuing patches for a formal Babel release is more structured than a normal commit to the main trunk because we want to ensure that we can identify what patches have been applied to a deployed copy of Babel.
Normally, every commit to a release begins with an issue entry in Babel's Roundup issue tracking database. If any entry does not exist and you intend to publish a patch, create a new issue on Roundup.
Frequently, issues are first addressed on the Babel main trunk svn+ssh://cca-forum.org/home/svn/babel/trunk and then back ported to the release branch. Other times, you will fix the issue on the release branch directly. Instructions for each case will be provided separately.
In cases where you're going to back port, svn commit the fix to the main trunk and note the revision number, n, that svn reports after your commit.
Check out a working copy of the release branch to
which you will apply the patch:
svn co
svn+ssh://cca-forum.org/home/svn/babel/branches/release-1-0-0-branch/
babel_1_0_0_branch
cd babel_1_0_0_branch
svn merge -r <n-1>:<n>
svn+ssh://cca-forum.org/home/svn/babel/trunk
Where <n-1>
is replaced by the numbern-1,
and <n>n (the
revision number of your commit to the main trunk.
In this case, you're not going to make the fix on the trunk first. You will edit the release branch directly.
Check out a working copy of the release branch:
svn co
svn+ssh://cca-forum.org/home/svn/babel/branches/release-1-0-0-branch/
babel_1_0_0_branch
cd babel_1_0_0_branch
Use an editor to fix the issue.
At this point you should have a working copy of the release with uncommitted changes that address the issue. Now you need to make a patch file in runtime/patches/.
Use your favorite text editor to create a new file in runtime/patches/. The filename should be 14 characters or less and end with ".txt". Normally, it's named issuex.txt for something that resolves Roundup issue x. For patches that don't address a Roundup issue, give it a brief descriptive name.
The first line should be a brief description of the patch (ideally less than 46 character).
The second line should be the email of the issuing person or organization. For members of the LLNL Babel team, this should be components@llnl.gov.
svn add --auto-props issuex.txt your file (use whatever patch file name you chose).
Perform appropriate testing for your patch.
Make the patch file. cd to the top of your release branch.
svn diff > /tmp/issuex.txt
Review this file, and then upload it into the appropriate Roundup
issue entry.
Add an entry about your patch on this Wiki: https://www.cca-forum.org/wiki/tiki-index.php?page=Babel+Patches
svn commit your changes and the patch file.
If the issue is very serious consider sending an email to babel-users@llnl.gov.