Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
See also Branching.
Merging In Pull Requests
See Merging-Pull-Requests for details on how to merge in the contents of a pull request into the
Preparing The Release's Branches
The release process is started when the
integration branch almost, but not quite, is in a state when it makes sense to wrap up all the recent changes, new features, pull requests, bug fixes and so on and package them as a formal release.
A release branch originates from the
integration branch and is named
$ git checkout -b release-1.2 integration
Upping The Version Number
Mapstraction's version number is controlled from the
ant build file,
build.xml. In this file, you'll find two properties,
build.minor. It's up to the designated release manager and other committers to the project to decide whether a release should simply increment the minor release number or is deserved of a major release number hike.
The applicable section of
build.xml which defines the version numbers for v2.1 of Mapstraction looks something like this ...
<property name="build.major" value="2"/> <property name="build.minor" value="1"/>
The new version number can then be committed to the release branch created earlier.
$ git checkout -b release-1.2 integration $ git commit -m "Upping version number to 1.2"
Testing The Release
Putting The Release Under Continuous Integration
Updating The Sandbox Demo
Finalising The Release
Once all the changes and additions that will be part of the release are finalised and locked down, the release is finalised.
Firstly the release branch is merged into
master as every commit to
master is in effect a new release.
$ git checkout master $ git merge --no-ff release-2.1
Secondly the new release is tagged.
$ git tag 2.1.0
Thirdly the release branch is merged in
integration so that
integration are both in synch and in preparation for the next batch of work on
$ git checkout integration $ git merge --no-ff release-2.1
Finally, the release branch can be deleted, if desired.
$ git branch -d release-2.1