Creating Mercurial release clones

When you want to make a new release branch (for high resistance for a milestone or release):

  1. Decide on a branch point, i.e. the last changeset in main you wish to have in the release.
 This should be the last changeset in some trusted continuous build which passes all tests.
 Call this revision abc123 for purposes of example.
  1. On the server, create the clone with the desired name:
hg clone -r abc123 main release61-beta
  1. In a regular checkout of the main repository,
 tag the branch point for future reference:
hg fetch && hg tag -r abc123 release61-beta_base && hg push
  1. Clone the release branch and in that checkout tag the branch point as well:
hg tag -r abc123 release61-beta_base && hg push
  1. Announce the existence of the release branch and the high resistance rules etc.

Some explanatory notes:

  • You need to tag both repositories since the tagging revision is separate from
 (and later than) the tagged revision in Mercurial,
 and if you branch at the tagged revision, the branch will not contain the tagging revision.
  • Tagging directly in the server repository will not work because there is no checkout,
 and the tag command works incorrectly in this case
 (Hg bug #916).
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo