Creating a branch is something the release manager does just before generating the first candidate for a feature release. For more context, see ReleasePrep

  1. To create a new branch, change directory to the root of your trunk code client and issue the following command, where $DOCS_ROOT is the root directory of your docs client:
    • ant "-Ddocs.root=$DOCS_ROOT" -quiet createBranch
  2. Post a message to derby-dev@db.apache.org requesting creation of a Jenkins build job for the new branch. Alternatively, follow these instructions:

    • At https://builds.apache.org/view/A-D/view/Derby there is a link "New
      Item" in the upper left corner if you are logged in. If you click that
      link, you'll get to the page where you create new build jobs. Type the
      name of the new build job in the text box near the top of the page, and
      then go to the bottom of the page, where you'll find a text box where
      you can type the name of the job you want to copy.
      
      After you have copied it, you should go to the configuration panel of
      the new build job and change the Subversion URL to point to 10.13
      instead of 10.12.
      
      If you don't see the "New Item" link in the top left, you are probably not a member of the hudson-jobadmin group; follow the instructions at http://wiki.apache.org/general/Jenkins#How_do_I_get_an_account to update that group and refresh the page and try again.
  3. After creating the branch, bump the version number on trunk. Again, from the root directory of your code client, issue the following command:

    • ant writeRelProps

      (!) You will be prompted to enter a new release ID. Use 0 for the third and fourth numbers of the id and add "beta" to the end. This will guarantee that distributions built from the trunk will know that they are non-upgradable alpha versions. So for instance, "10.8.0.0 beta" would be a legal release id for the trunk.

  4. Also consider bumping the version number for the upgrade tests on trunk at this time. But this can also be done the next time new upgrade tests get added on trunk. You will need to do the following:
    • Add a new version number to DataDictionary.

    • Stuff that version number into softwareVersion at the beginning of DataDictionaryImpl.boot().

    • Add a case for the new version number to DD_Version.majorToString().
  5. Add the new branch number to the list of branches on the source page of the website.
  6. Add the new version information to JIRA, by going to the "Administration" tab of https://issues.apache.org/jira/browse/DERBY.

    • Here's an outline, by way of an example, in this case when we created the 10.13 branch:
    • Create a 10.14.0.0 release id to represent the head of the development trunk after you have cut the 10.13 branch.
    • RENAME 10.13.0.0 to be 10.13.1.0. This will automagically associate the release with all bugs which have been fixed for 10.13.
    • Create a new 10.13.1.1 release id to represent the head of the 10.13 branch after the release goes GA. Note that you have to adjust the 10.13 ids in JIRA every time you create a new release candidate. But the idea is that, when the release is finished, its id will be
        10.13.1.x
      and the head of the 10.13 branch will be advanced to
        10.13.1.(x+1) 

CreatingDerbyBranch (last edited 2016-10-02 18:43:49 by BryanPendleton)