Working with the old HEAD releases

Last modified: October 3, 2008 - 21:27

If your module existed at the time the new release system was created, you have a release node called 'HEAD'. If you try to edit it to change the name or the Drupal version it points to, you will find you can make no changes to that node.

You'll need the one-time intervention of the CVS administration team to rename the HEAD node to the right name for the Drupal version you want to associate your HEAD node with, and after that you'll be able to work with it yourself.

Here's an example of how the process would work to associate the HEAD node with Drupal 7, assuming you haven't yet created any D7 branches or releases.

  1. File an issue in the infrastructure issue queue (use CVS as the component) to get the HEAD release node renamed to 7.x-1.x-dev. Make sure to provide the URL of both the project page and the release node so that the infrastructure team doesn't have to search for your release.
  2. In CVS terms, HEAD is the tip of the MAIN branch, and it stays that way, but the release node that is tied to CVS HEAD (and was also called 'HEAD'!) is now called 7.x-1.x-dev. Here in the MAIN branch is where you should develop and publish your latest version.
  3. Later, when you want to create a D7 branch, create a new branch (from MAIN!) and MAKE SURE TO GIVE IT THE BRANCH NAME THAT CORRESPONDS EXACTLY TO YOUR SNAPSHOT RELEASE NODE! This is very important! See Overview of contributions branches and tags for an explanation of how CVS branch names correspond to version strings. Continuing the example of 7.x-1.x-dev, the branch should be called DRUPAL-7--1.
  4. DO NOT go to 'Add new release' on your project page! In this case, the release already exists!
  5. Choose 'View all releases' on your project page, find the 7.x-1.x-dev release, and edit it.
  6. You will see that it says that the CVS branch is HEAD. But you will now also have another option for the CVS branch, DRUPAL-7--1, since that branch corresponds with the version string the release node already has (7.x-1.x-dev). Choose that option to point the release to your new branch. Make any other changes needed and save them.
  7. Now HEAD is free -- there is no release node for HEAD. If you go to 'Add new release' at this point, you'll see 'HEAD' as an option. You can now create a new release node for HEAD and identify which Drupal version you now want to associate HEAD with.

The name of the release node shows up in your issue queue in the available version names. When you no longer have a release node called 'HEAD', that will no longer be an available option, so people will be forced to choose a specific version. This is probably one of the best reasons for getting that release re-named.

See Strategies for using HEAD effectively for more information about using HEAD and managing releases once your 'HEAD' release has been re-named. For a concise summary of managing releases, including how to use the HEAD branch, please read the two page hand-out about maintaining releases that describes the essentials and best practices in condensed form.

If you are a full Drupal.org administrator with the administer projects permission, http://drupal.org/node/274027 contains instructions on how to fix this problem.

 
 

Drupal is a registered trademark of Dries Buytaert.