General WiMM git maintenace - slash2009/XWMM GitHub Wiki

Prepare for feature release

  • On master, git checkout -b release/v4.0
  • Update changelog.txt:
  • echo 'Version 4.0.0' >> changelog.new.txt
  • git log --format="tformat: - %an: %s (%h)" v3.*.*..HEAD >> changelog.new.txt
  • cat changelog.txt >> changelog.new.txt
  • mv changelog.new.txt changelog.txt
  • git add changelog.txt
  • git commit -m 'Release v4.0.0'
  • git tag -m "XWMM v4.0.0 for XBMC 13.x (Gotham)" release/13-gotham/v4.0.0
  • Create GitHub release from v4.0.0 tag and zip file.
  • Bump version number, git commit -m 'Bumped version to v4.0.1'
  • On master, git merge release/v4.0

Prepare for minor update

  • On release/v4.0, git checkout -b release/v4.0.1
  • Cherry-pick/merge update
  • Update changelog.txt:
  • echo 'Version 4.0.1' >> changelog.new.txt
  • git log --format="tformat: - %an: %s (%h)" v4.0.0..HEAD >> changelog.new.txt
  • cat changelog.txt >> changelog.new.txt
  • mv changelog.new.txt changelog.txt
  • git add changelog.txt
  • git commit -m 'Release v4.0.1'
  • git -m "XWMM v4.0.0 for XBMC 13.x (Gotham)" release/13-gotham/v4.0.1
  • Create GitHub release from v4.0.1 tag and zip file.
  • On release/v4.0
  • git merge release/v4.0.1
  • git branch -d release/v4.0.1 <- it's tagged so we don't need to keep it around
  • Bump version number, git commit -m 'Bumped version to v4.0.2'
  • On master, git merge release/v4.0

Create Tags

# Date                                           Message                               Tag                      Commit
GIT_COMMITTER_DATE="2014-07-01 23:55" git tag -m "XWMM v4.1.0-rc1 for XBMC 13.x (Gotham)"  release/13-gotham/v4.1.0-rc1 4ca8c4a

GIT_COMMITTER_DATE sets the tag date to the same date as the commit being tagged to keep GH release page happy as tags are sorted by date committed not name.