L10n:Migration: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 61: Line 61:
   hg -R mozilla-beta/$loc pull -u -r default
   hg -R mozilla-beta/$loc pull -u -r default
   hg -R mozilla-aurora/$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 45" $PWD/mozilla-aurora/$loc
   hg -R mozilla-beta/$loc no-op-merge -m"Migrating aurora to beta for Firefox 47" $PWD/mozilla-aurora/$loc
   hg -R mozilla-beta/$loc push -r default ssh://hg.mozilla.org/releases/l10n/mozilla-beta/$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
   hg -R mozilla-aurora/$loc pull -u -r default mozilla-beta/$loc
   # specific for 45:
   # specific for 47:
   hg --pwd mozilla-aurora/$loc mv browser/chrome/browser/browser-pocket.properties browser/extensions/pocket/pocket.properties
   hg --pwd mozilla-aurora/$loc rm webapprt
   hg --pwd mozilla-aurora/$loc ci -m'bug 1215694 - Move Pocket file'
   hg --pwd mozilla-aurora/$loc ci -m'Bug 1238079 - remove the desktop web runtime'
   hg --pwd mozilla-aurora/$loc push -r default ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/$loc
   hg --pwd mozilla-aurora/$loc push -r default ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/$loc
done
done

Revision as of 15:59, 9 March 2016

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 47" $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 47:
  hg --pwd mozilla-aurora/$loc rm webapprt
  hg --pwd mozilla-aurora/$loc ci -m'Bug 1238079 - remove the desktop web runtime'
  hg --pwd 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.