L10n:Migration: Difference between revisions

 
(46 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Clone everything that's needed ==
== Preparations ==
 
  mkdir releases && cd releases
  hg clone http://hg.mozilla.org/releases/mozilla-aurora
  hg clone http://hg.mozilla.org/releases/mozilla-beta


  mkdir releases && cd releases 
   mkdir -p l10n/mozilla-aurora
   mkdir -p l10n/mozilla-aurora
   mkdir -p l10n/mozilla-beta
   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:
Put this script (upclones.sh) in your $PATH:
<pre><nowiki>
<pre><nowiki>
Line 13: Line 12:
   
   
HERE=`pwd`
HERE=`pwd`
CHANNEL=$1
SHIPPEDLOCALES=$2
for loc in `cat $SHIPPEDLOCALES | awk '{print $1;}' | sort | uniq`; do 


     if [[ $loc == 'en-US' ]]; then
for channel in aurora beta; do
        continue
     for loc in $LOCS; do 
    fi


    CLONE="$HERE/$loc"
        CLONE="$HERE/mozilla-$channel/$loc"
 
    if [[ -d $CLONE/.hg ]]; then
        hg -R $CLONE pull -u
    else
        hg clone ssh://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$loc $CLONE
    fi


        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
done
</nowiki></pre>
</nowiki></pre>
Clone the l10n repos:
  cd releases/l10n/mozilla-aurora
  upclones.sh aurora ../../mozilla-aurora/browser/locales/shipped-locales
  cd releases/l10n/mozilla-beta
  upclones.sh beta ../../mozilla-beta/browser/locales/shipped-locales
Check out https://l10n-stage-sj.mozilla.org/pushes/releases/l10n/mozilla to make sure you have the latest changesets in the l10n repos.  If you don't, run upclones.sh again.
== Merge ==


First, enable Axel's merge helper extension to hg:
Then, enable Axel's merge helper extension to hg:


   hg clone http://hg.mozilla.org/users/axel_mozilla.com/branch-l10n/ ~/src/branch-l10n
   hg clone https://hg.mozilla.org/users/axel_mozilla.com/branch-l10n/ ~/src/branch-l10n
    
    
Edit your ~/.hgrc accordingly:
Edit your ~/.hgrc accordingly:
Line 58: Line 41:
   hg help no-op-merge
   hg help no-op-merge


If it shows the help screen, you can proceed with the merge
There's also a test-suite in branch-l10n, which you can run to verify your version of mercurial works.


  cd releases/
    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.
 
Notes:
* Do not use wildcards in Mercurial commands, they won't work with --cwd
 
<pre style="overflow-x:scroll">cd releases/l10n
 
# This function can be used to ignore locales working on central, e.g.
# isCentralLocale $loc
# if [ $? -eq 1 ] ; then
#  # Ignore locales working on mozilla-central
#  continue
# else
#  # Do something for other locales
# fi
 
function isCentralLocale () {
  central_locales=(eo es-ES fr it pl ru)
  for locale in ${central_locales[@]}; do
    if [[ $locale == $1 ]]; then
      return 1
    fi
  done
 
  return 0
}
 
# Path to migration script, without trailing slash (removed if present)
# Use $HOME instead of ~ if needed
# migration_path="$HOME/mozilla-central/python/devtools/migrate-l10n/migrate"
# migration_path=${migration_path%/}
    
    
  for loc in `cat mozilla-*a/browser/locales/shipped-locales|awk '{print $1;}'|sort|uniq`; do hg -R l10n/mozilla-beta/$loc no-op-merge -m"Migrating aurora to beta for Firefox 7" $PWD/l10n/mozilla-aurora/$loc; done
for loc in $LOCS; do
  # Default migration actions
  hg -R releases/l10n/mozilla-beta/$loc pull -u -r default
  hg -R l10n-central/$loc pull -u -r default
  hg -R releases/l10n/mozilla-beta/$loc no-op-merge -m"Migrating central to beta for Firefox 56" $PWD/l10n-central/$loc
  hg -R releases/l10n/mozilla-beta/$loc push -r default ssh://hg.mozilla.org/releases/l10n/mozilla-beta/$loc
done
</pre>
As we're continuing the localization with 56 on central, we stop pushing the beta merge to aurora,
so nothing like
<pre style="overflow-x:scroll">  hg -R mozilla-aurora/$loc pull -u -r default mozilla-beta/$loc
</pre>
 
The following code is to be run for locales we merge from aurora to central:


== Push ==
The following should work:  <code>ls | egrep -v "eo|es-ES|fr|it|pl|ru"</code>


Once the source migration is complete, push the merged repos back to h.m.o.
<pre style="overflow-x:scroll">  # Specific for 55 on central, post 54 aurora:
for loc in $LOCS; do
  hg --cwd l10n-central/$loc pull -u -r default releases/l10n/mozilla-aurora/$loc
  hg --cwd l10n-central/$loc rm mobile/searchplugins
  hg --cwd l10n-central/$loc ci -m 'Bug 1347830, Bug 1324045 - Remove mobile/searchplugins'


   cd releases/
   hg --cwd l10n-central/$loc mv devtools/client/eyedropper.properties devtools/shared
  hg --cwd l10n-central/$loc ci -m 'Bug 1354647 - Move the eyedropper l10n strings to /devtools/shared/'


   for loc in `ls -1`; do hg -R $loc push -f; done
   hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/advanced.dtd browser/chrome/browser/preferences-old/advanced.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/applications.dtd browser/chrome/browser/preferences-old/applications.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/containers.dtd browser/chrome/browser/preferences-old/containers.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/containers.properties browser/chrome/browser/preferences-old/containers.properties
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/content.dtd browser/chrome/browser/preferences-old/content.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/main.dtd browser/chrome/browser/preferences-old/main.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/preferences.dtd browser/chrome/browser/preferences-old/preferences.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/preferences.properties browser/chrome/browser/preferences-old/preferences.properties
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/privacy.dtd browser/chrome/browser/preferences-old/privacy.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/search.dtd browser/chrome/browser/preferences-old/search.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/security.dtd browser/chrome/browser/preferences-old/security.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/sync.dtd browser/chrome/browser/preferences-old/sync.dtd
  hg --cwd l10n-central/$loc cp browser/chrome/browser/preferences/tabs.dtd browser/chrome/browser/preferences-old/tabs.dtd
  hg --cwd l10n-central/$loc ci -m 'Bug 1343682 - Create temporary killswitch for preference reorg'
 
  # Push to central
  hg --cwd mozilla-aurora/$loc push -r default ssh://hg.mozilla.org/l10n-central/$loc
done
</pre>
Confirmed users, Bureaucrats and Sysops emeriti
2,976

edits