Working With Hotfix Branch - Zimbra/zm-build GitHub Wiki

Assumptions

  • You are branching off of a repository tag.

  • When your work is complete it will be tagged in origin and not kept around as a permanent branch. Example (note your tag naming conventions may vary):

      *  5b2ba30 [Gordon Tillman] (tag: 8.8.6-patch-2) ZCS-4221 Concrete implementation of getListeners for LocalImapMessageStore
      *  b9912d0 [Travis McLane] ZCS-4221 update unittest for current behavior
      *  932ee2d [Gordon Tillman] (tag: 8.8.6-patch-1) ZCS-4004 Update to initial fix
      *  cfc803f [Gordon Tillman] ZESC-460, ZCS-4004: reload - ensure mailbox not modified by another thread
      *  130c8d9 [Gordon Tillman] ZESC-460, ZCS-4004: updateAccessTime - ensure mailbox not modified by another thread
      *  831c6bd [Greg Solovyev] (tag: 8.8.6) fix travisCI svg embed
      *    71b43f8 [Greg Solovyev] Merge branch 'release/8.8.6'
    

Procedure

The following are all done from inside the appropriate git repository directory.

Create the hotfix branch

First make sure your working copy is up-to-date with origin:

git fetch origin --tags
git checkout -b hotfix/<hotfix-version-tag> <base-tag>

Example

git checkout -b hotfix/8.7.11.p1 8.7.11

Do your work, committing your changes to the hotfix/ branch.

Publishing your changes

git push origin hotfix/<hotfix-version-tag>

Merging your hotfix branch after approval

git tag <hotfix-version-tag> hotfix/<hotfix-version-tag>
git push origin --tags

Cleaning up the hotfix branch

This is no longer needed after you have tagged your work and pushed that tag to origin.

git branch -D hotfix/<hotfix-version-tag>
git push origin :hotfix/<hotfix-version-tag>
⚠️ **GitHub.com Fallback** ⚠️