L10n:Migration
Preparations
mkdir releases && cd releases mkdir -p l10n/mozilla-aurora mkdir -p l10n/mozilla-beta export LOCS=`wget -qO- 'https://hg.mozilla.org/releases/l10n/mozilla-beta/?style=raw' | grep -v x-testing | awk -F/ '{print $5;}'`
Put this script (upclones.sh) in your $PATH:
#!/bin/bash
HERE=`pwd`
for channel in aurora beta; do
for loc in $LOCS; do
CLONE="$HERE/mozilla-$channel/$loc"
if [[ -d $CLONE/.hg ]]; then
hg -R $CLONE pull -u -r default
else
hg clone -r default https://hg.mozilla.org/releases/l10n/mozilla-$channel/$loc $CLONE
fi
done
done
Then, enable Axel's merge helper extension to hg:
hg clone https://hg.mozilla.org/users/axel_mozilla.com/branch-l10n/ ~/src/branch-l10n
Edit your ~/.hgrc accordingly:
[extensions] ... merge-l10n = ~/src/branch-l10n/merge_l10n.py
Try it out with:
hg help no-op-merge
There's also a test-suite in branch-l10n, which you can run to verify your version of mercurial works.
cd ~/src/branch-l10n/ python test.py
If the extension works, you can proceed with the merge
Merge
Have LOCS set. Also, make sure ssh works for hg, we're pulling over https to speed things up.
The actual merge wants to happen closely to/after the en-US merge and its push to beta.
First, visit the l10n dashboard, and migrate the database. Adjust the time to just before the push to beta of en-US. Or either, if aurora at one point was pushed first. The page is https://l10n.mozilla.org/shipping/release/. Also, on that page, switch off `fallback` for Lightning.
cd releases/l10n
for loc in $LOCS; do
hg -R mozilla-beta/$loc pull -u -r default
hg -R mozilla-aurora/$loc pull -u -r default
hg -R mozilla-beta/$loc no-op-merge -m"Migrating aurora to beta for Firefox 50" $PWD/mozilla-aurora/$loc
hg -R mozilla-beta/$loc push -r default ssh://hg.mozilla.org/releases/l10n/mozilla-beta/$loc
hg -R mozilla-aurora/$loc pull -u -r default mozilla-beta/$loc
# specific for 51 on aurora:
if [ -d "mozilla-aurora/$loc/suite/chrome/common" ]
then
# Move files to SeaMonkey
hg --cwd mozilla-aurora/$loc mv toolkit/chrome/mozapps/help suite/chrome/common/helpviewer
hg --cwd mozilla-aurora/$loc ci -m'Bug 686168 - Move help viewer to comm-central'
else
# Remove folders if SeaMonkey is not available
hg --cwd mozilla-aurora/$loc rm toolkit/chrome/mozapps/help
hg --cwd mozilla-aurora/$loc ci -m'Bug 1290756 - Remove help viewer from toolkit'
fi
hg --cwd mozilla-aurora/$loc rm toolkit/chrome/global/webapps.properties
hg --cwd mozilla-aurora/$loc ci -m'Bug 1297980 - Remove webapps.properties'
hg --cwd mozilla-aurora/$loc rm mobile/android/chrome/feedback.dtd mobile/android/chrome/localepicker.properties mobile/android/chrome/notification.dtd mobile/android/chrome/prompt.dtd mobile/android/chrome/sync.dtd
hg --cwd mozilla-aurora/$loc ci -m'Bug 1298743 - Remove unused localization files from mobile/android'
hg --cwd mozilla-aurora/$loc rm browser/extensions
hg --cwd mozilla-aurora/$loc ci -m'Bug 1301442 - Remove old pocket l10n from mozilla-central'
hg --cwd mozilla-aurora/$loc push -r default ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/$loc
done
This goes through all locales, does a final pull, does the no-op-merge, and pushes to aurora, and then beta. That way, you minimize the time when commits can create heads.