Moving Branch Tags
- Last updated: July 27, 2006.
- Author: Brooke Rhead and Ann Zweig
- Use this method to move a branch tag in the latest build on hgwbeta.
Why?
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.
Where?
The two directories that are important are:
- the directory where the build is:
hgwbeta:/data/tmp/releaseBuild/vXYZ_branch
- the directory where the scripts are:
hgwbeta:/cluster/bin/build/scripts
How?
- Check the developer's change.
- Verify the developer's change on hgwdev.
- Get the revision number of the developer's change for this file.
- Check the CVS log to make sure that you are only picking up only one change (between the last branch and the developer's change).
- Tell the program which file and version you want to change to.
hgwbeta:/cluster/bin/build/scripts> vi MoveBranchTagFiles.conf
Edit this file to include the file name and new version number like so:
hg/$CGI/fileName.c 1.234
- Run the script to move the branch tag.
- Do a test run and verify that everything is set up correctly:
hgwbeta:/cluster/bin/build/scripts/moveBranchTag.csh
- If it is correct, run it for real:
hgwbeta:/cluster/bin/build/scripts/moveBranchTag.csh real
- Determine which CGIs are affected by this file change:
hgwbeta:/usr/local/apache/cgi-bin> dependencies fileName.c
- Go to the current build:
hgwbeta> cd $BUILDDIR
- Determine the current branch number. It will be the most recent directory that looks like "v---_branch".
hgwbeta:/data/tmp/releaseBuild> ls -ltr
- Do a 'make' in the library directory, if necessary. If the file change was a lib file,
then do a make in the corresponding lib directory:
hgwbeta:/data/tmp/releaseBuild/vXYZ_branch/kent/src/hg/lib> make
or
hgwbeta:/data/tmp/releaseBuild/vXYZ_branch/kent/src/lib> make
- Do a 'make alpha' in the CGI directories that are impacted by the change:
hgwbeta:/data/tmp/releaseBuild/vXYZ_branch/kent/src/hg/hgTracks> make alpha
- Test the change on hgwbeta.
Specific Instructions for Moving Branch Tags for otherOrgs.ra files
The hgGene page uses otherOrgs.ra files to determine which database to use in the "other species"
section (labeled "Homologous Genes in Other Species (BLASTP Best Hit)"). OtherOrgs.ra files
exist at three levels, like trackDb.ra files. To make a change on hgwdev and propagate it to
hgwbeta and the RR:
- Change otherOrgs.ra in your CVS sandbox at hgwdev:~/kent/src/hg/hgGene/hgGeneData (usually at
the assembly level).
- Check in the change.
- Make alpha from the tip of the tree at hgwdev:~/kent/src/hg/hgGene to see the change on dev.
(Might have to "make clean" and "make libs" first.) Making alpha will put a copy of the
otherOrgs.ra file in hgwdev:/usr/local/apache/cgi-bin/hgGeneData.
- To see the change on Beta, move the branch tag for the otherOrgs file that got changed,
then make alpha from hgGene on beta:
- go to hgwbeta:/cluster/bin/build/scripts
- change the MoveBranchTagFiles.conf file to the name and version of the change wanted
(e.g., hg/hgGene/hgGeneData/S_cerevisiae/sacCer1/otherOrgs.ra 1.5) -- note that the pathway
starts with "hg/..." Also, it is possible to do several branch tag moves at once. Simply
add more lines to the MoveBranchTagFiles.conf file.
- run "moveBranchTag.csh" to preview change
- run "moveBranchTag.csh real" to actually get change
- make alpha (on beta) FROM THE CURRENT BUILD SANDBOX. To get there, cd $BUILDDIR on
hgwbeta - this should go to hgwbeta:/data/tmp/releaseBuild. Choose the most recent build and
go to the hgGene level (e.g., hgwbeta:/data/tmp/releaseBuild/v137_branch/kent/src/hg/hgGene)
- There should now be a new copy of the otherOrgs file at hgwbeta:/usr/local/apache/cgi-bin/hgGeneData.
- Push this file to the RR and MGC to change.
WARNING: This change will eventually go out with a new cgi build, even if it's not pushed, so be
aware of the timing when moving the pointers to different databases.