Confirmed users
3,816
edits
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
NOTES: | NOTES: | ||
* ${ | * ${PRODUCT_TAG} is the header for the BRANCH - for sunbird 0.5 this was SUNBIRD_0_5, other releases should follow the same convention | ||
* ${BRANCH_TAG} is made by appending _BRANCH to the ${PRODUCT_TAG} for example, SUNBIRD_0_5_BRANCH | |||
== Create a branch == | == Create a branch == | ||
1. Create a branch from the branch you are releasing from this creates a ${ | 1. Create a branch from the branch you are releasing from this creates a ${PRODUCT_TAG}_BRANCH from the MOZILLA_1_8_BRANCH, you also need to note the time this was done on a page like [[Calendar:Release:Sunbird_0.5]]. | ||
<pre> | <pre> | ||
cvs rtag -r MOZILLA_1_8_BRANCH -b ${ | cvs rtag -r MOZILLA_1_8_BRANCH -b ${PRODUCT_TAG}_BRANCH mozilla | ||
Note time this is done: May 22, 21:37 CDT</pre> | Note time this is done: May 22, 21:37 CDT</pre> | ||
2. Test that the branch was properly created by checking out from the branch. | 2. Test that the branch was properly created by checking out from the branch. | ||
| Line 18: | Line 19: | ||
* calendar/sunbird/config/version.txt | * calendar/sunbird/config/version.txt | ||
* Then you: | * Then you: | ||
<pre>cvs -d ${CVSROOT} co -r ${ | <pre>cvs -d ${CVSROOT} co -r ${PRODUCT_TAG}_BRANCH\ | ||
mozilla/calendar/sunbird/app/module.ver mozilla/calendar/sunbird/config/version.txt | mozilla/calendar/sunbird/app/module.ver mozilla/calendar/sunbird/config/version.txt | ||
</pre> | </pre> | ||
| Line 24: | Line 25: | ||
==Create a minibranch== | ==Create a minibranch== | ||
<pre> | <pre> | ||
cvs tag -b ${ | cvs tag -b ${PRODUCT_TAG}_MINIBRANCH calendar/sunbird/app/module.ver \ | ||
calendar/sunbird/config/version.txt | calendar/sunbird/config/version.txt | ||
cvs up -r ${ | cvs up -r ${PRODUCT_TAG}_MINIBRANCH calendar/sunbird/app/module.ver \ | ||
calendar/sunbird/config/version.txt | calendar/sunbird/config/version.txt | ||
cvs ci -m"bumping version number on calendar/sunbird on minibranch only" | cvs ci -m"bumping version number on calendar/sunbird on minibranch only" | ||
| Line 40: | Line 41: | ||
screen | screen | ||
cd .. (one up from mozilla) | cd .. (one up from mozilla) | ||
mkdir -p tags/${ | mkdir -p tags/${PRODUCT_TAG}_RC${RC} | ||
cd tags && ln -s ${ | cd tags && ln -s ${PRODUCT_TAG}_RC${RC} ${PRODUCT_TAG}_RELEASE && \ | ||
ln -s ${ | ln -s ${PRODUCT_TAG}_RC${RC} ${PRODUCT_TAG}_RELEASE | ||
</pre> | </pre> | ||
Next, check out mozilla/client.mk and any <something>/config/mozconfig files you need with statements like this: | * Next, check out mozilla/client.mk and any <something>/config/mozconfig files you need with statements like this: | ||
<pre> | <pre> | ||
cvs co \ | cvs co \ | ||
| Line 50: | Line 51: | ||
-D "$PULL_DATE" \ | -D "$PULL_DATE" \ | ||
mozilla/client.mk | mozilla/client.mk | ||
becomes: cvs co -r ${ | becomes: cvs co -r ${PRODUCT_TAG}_BRANCH -D "2007-05-23 04:00 +0000" mozilla/client.mk | ||
</pre> | |||
* Next, you follow these steps: | |||
<pre> | |||
# pull version files from the version bump minibranch | |||
cvs up -r ${PRODUCT_TAG}_MINIBRANCH ${APP}/app/module.ver \ | |||
${APP}/config/version.txt config/milestone.txt | |||
# Create the tag. | |||
cvs tag ${PRODUCT_TAG}_RELEASE 2>&1 | tee ../${PRODUCT_TAG}_RELEASE.log | |||
# Look for errors | |||
grep -v "^T" ../${PRODUCT_TAG}_RELEASE.log | |||
# Create the RC tag. | |||
cvs tag ${PRODUCT_TAG}_RC${RC} 2>&1 | tee ../${BRANCH_TAG}_RC${RC}.log | |||
# Look for errors | |||
grep -v "^T" ../${PRODUCT_TAG}_RC${RC}.log | |||
# Create a minibranch for the pull scripts so we can change them without | |||
# changing anything on the original branch. | |||
cvs tag -b ${PRODUCT_TAG}_MINIBRANCH client.mk | |||
# Update client.mk to the minibranch you just created. | |||
cvs up -r ${PRODUCT_TAG}_MINIBRANCH client.mk | |||
# Add the new product tag to the client.mk - need to replace the current branch ID | |||
sed "s/${MOZILLA_1_8_BRANCH}/${PRODUCT_TAG}_RELEASE/g" client.mk > client.mk.tmp | |||
mv client.mk.tmp client.mk | |||
# Verify that client.mk only has the changes you expect | |||
cvs diff -u client.mk | |||
# Verify that client.mk has its sticky tag set properly. | |||
cvs status client.mk | |||
cvs commit -m "For $PRODUCT $VERSION, redirect client.mk onto the ${PRODUCT_TAG}_RELEASE tag." client.mk | |||
# Move the release tag onto the modified version of the pull scripts. | |||
# Note that you may have to wait to gain a lock, that is normal. | |||
cvs tag -F ${PRODUCT_TAG}_RELEASE client.mk | |||
cvs tag -F ${PRODUCT_TAG}_RC${RC} client.mk | |||
</pre> | |||
=== Tag Talkback=== | |||
* '''NOTE:''' to do this, you need access to talkback, currently only lilmatt has that access on our team. | |||
<pre> | |||
# Create the mofo tag directory. | |||
cd ~cltbld/tags/${PRODUCT_TAG}_RC${RC} | |||
mkdir mofo/ | |||
cd mofo/ | |||
# Branch Talkback like we did for the SUNBIRD_0_5_RELEASE earlier: | |||
cvs -d ${CVSROOT}/mofo rtag -r MOZILLA_1_8_BRANCH -b ${PRODUCT_TAG}_BRANCH mofo | |||
# Check out the talkback files from the branch you want to tag. | |||
cvs -d :ext:cltbld@cvs.mozilla.org:/mofo co \ | |||
-r $BRANCH_TAG \ | |||
-D "$PULL_DATE" \ | |||
talkback/fullsoft 2>&1 | tee checkout-output.log | |||
# Create the tag. | |||
cd talkback/fullsoft/ | |||
cvs tag ${PRODUCT_TAG}_RELEASE 2>&1 | tee ../${PRODUCT_TAG}_RELEASE.log | |||
# Look for errors | |||
grep -v "^T" ../${PRODUCT_TAG}_RELEASE.log | |||
</pre> | |||
=== Tag L10N === | |||
* Note that you will need L10N access to do this | |||
<pre> | |||
# Create the l10n tag directory. | |||
cd ~cltbld/tags/${PRODUCT_TAG}_RELEASE | |||
mkdir l10n/ | |||
cd l10n/ | |||
# Branch Locales like we did for the SUNBIRD_0_5_RELEASE earlier: | |||
cvs -d ${CVSROOT}/l10n rtag -r MOZILLA_1_8_BRANCH -b ${PRODUCT_TAG}_BRANCH l10n | |||
# Grab list of shipped locales | |||
LOCALES=`awk '{print $1}' < ../cvsroot/mozilla/calendar/locales/shipped-locales` | |||
# Check out the l10n files from the branch you want to tag. | |||
(for l in $LOCALES | |||
do | |||
cvs -d ${CVSROOT}/l10n co \ | |||
-r $BRANCH_TAG \ | |||
-D "$PULL_DATE" \ | |||
l10n/${l} | |||
done) 2>&1 | tee checkout-output.log | |||
cd l10n/ | |||
</pre> | </pre> | ||