Cherry-picking a change in git

From Genecats
Jump to navigationJump to search

The CGIs are built onto hgwbeta every-other Monday night. The QA team tests the new CGIs on hgwbeta. If problems are found, the developer is contacted for a fix to the offending file. It may be necessary to either roll back to a previous version of a file, or to include the developer's new fix in this release of the CGIs. To do either of these, we move the branch tag for the branch release of the CGIs on hgwbeta. If the developer's fix requires skipping one or more versions of the file, then the branch must be patched instead.

Where?

The two directories that are important are:

- the directory where the build is:

  hgwdev:/hive/groups/browser/newBuild/v999_branch

- the directory where the scripts are:

  hgwdev:/hive/groups/browser/newBuild/kent/src/utils/qa/weeklybld

- the file that contains a record of all the cherry-picked commits for a given build:

  hgwdev:/hive/groups/browser/newBuild/v999_branch/cherryPicks.log 

Follow these procedures to Patch a Branch.

How? ("Who" in parenthesis)

  1. (QA): Find an error in the binaries, determine if it needs to be patched, and alert the Developer.
  2. (Developer): Complete a Build Patch issue in redmine and follow the instructions on the Build Patch redmine wiki page.
  3. (QA): Follow the instructions on the Build Patch redmine wiki page.
  4. (Build-Meister): Determine whether the branch tag needs to be moved (new and old versions of a file are consecutive) or whether the branch needs to be patched (versions of a file are skipped in order to incorporate the new fix). Check the Git log in order to determine which needs to be done. If versions of the file need to be skipped, check with the developers that made those changes and with QA to see if they are minor changes that could also be incorporated in which case the branch tag could still be moved.