Thunderbird/Release Driving/Rapid Release Activities/Merge Repositories

Setting up

Clone the drivertools repo

hg clone http://hg.mozilla.org/users/bugzilla_standard8.plus.com/drivertools/
cd drivertools/comm-merges

Run reset????repos.sh. This is a script which sets up the working copies of the repositories, it downloads the bundles, extracts and updates them and then sets the hg push urls to the ssh versions automatically.

If doing a comm-beta -> comm-release merge, run

./resetreleaserepos.sh

If doing a comm-central -> comm-aurora or comm-aurora to comm-beta, run

./resetmainrepos.sh

Doing the merges

Close the Trees

You definitely want to close Thunderbird-Aurora, Thunderbird-Beta, SeaMonkeyAurora and SeaMonkeyBeta.

You may also wish to close Thunderbird-Trunk and SeaMonkeyTrunk, Thunderbird-Release and SeaMonkeyRelease

comm-aurora -> comm-beta merge

Run the script

./merge-aurora-2-beta.sh &>aurora2beta.log
less aurora2beta.log

When viewing the log check for:

  • Outgoing tag to comm-aurora
  • The diff of changes committed to comm-beta looks OK
  • The outgoing changes to comm-beta look ok, including closing of the old head, and tagging at the start and end of the list.

When ready:

hg push -R aurora

This won't cause anything to build, but will push the tag.

Note: It is best if the next part is done in association with the mozilla-aurora to mozilla-beta merge

Clobber the comm-beta builds using clobberer

Then push to comm-beta:

hg push -R beta -f

Once the builders have run, check that you still have green builds.

comm-central -> comm-aurora merge

Run the script

./merge-central-2-aurora.sh &>central2aurora.log
less central2aurora.log

When viewing the log check for:

  • Outgoing tag to comm-central
  • The diff of changes committed to comm-aurora looks OK
  • The outgoing changes to comm-aurora look ok, including closing of the old head, and tagging at the start and end of the list.

When ready:

hg push -R central
Note: It is best if the next part is done in association with the mozilla-aurora to mozilla-beta merge

Clobber the comm-aurora builds using clobberer

Then push to comm-aurora:

hg push -R aurora -f

Once the builders have run, check that you still have green builds.

comm-beta -> comm-release

Run the script

./merge-beta-2-release.sh &>beta2release.log
less beta2release.log

When viewing the log check for:

  • Outgoing tag to comm-beta
  • The diff of changes committed to comm-release looks OK
  • The outgoing changes to comm-release look ok, including closing of the old head, and tagging at the start and end of the list.

When ready:

hg push -R beta

This won't cause anything to build, but will push the tag.

Note: It is best if the next part is done in association with the mozilla-beta to mozilla-release merge, but if you can't, kill off the builds once they start, and then clobber them.

Clobber the comm-release builds using clobberer and seamonkey-clobberer

Then push to comm-release:

hg push -R release -f

Once the builders have run, check that you still have green builds.

Central version bumps

Bump the versions in

central/mail/config/version.txt
central/suite/config/version.txt

and commit with a message like "Version bumps for SeaMonkey and Thunderbird a=auroramerge".

Post-Merge tidy

Please commit and push any changes to the drivertools repo, for history purposes.

Reopening trees

The Aurora and Beta trees are only normally re-opened to the approval state once the builders have cycled post merges and the trees are still in the previous state.

Hidden Builders

On tbpl, check that the list of builders is the same across the aurora/beta and then the central/aurora trees (via Tree Info -> Open Admin Tree Panel). Sometimes new builders are added, and only unhidden once green - this needs to be updated as the trains move along.