Migration de l10n central vers aurora

SphinxKnight edited this page Sep 3, 2016 · 1 revision
Clone this wiki locally

Cette opération est a réaliser toutes les 6 semaines suivant le cycle de développement de Mozilla. Elle consiste en la récupération de notre travail sur l10n-central et son envoi sur la branche aurora, d'où elle continuera tranquillement son chemin jusqu'à la version finale.

Rappel : l'explication détaillé se trouve sur https://developer.mozilla.org/en/Uplifting_a_Localization_from_central_to_aurora

Table of Contents

Préparation

On a besoin de :

  • un clone de l10n-central dans un répertoire l10n-central/fr ;
  • un clone de l10n-aurora dans un répertoire releases/l10n/mozilla-aurora/fr.
Pour éviter les problèmes, on peut partir d'un répertoire vierge :
 hg clone ssh://hg.mozilla.org/l10n-central/fr l10n-central/fr
 hg clone ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/fr releases/l10n/mozilla-aurora/fr

Création d'un répertoire de travail

On va ensuite se créer un répertoire de travail en local (appelons-le workrepo) en lançant les commandes suivantes en console :

 # crée un nouveau clone de central dans un répertoire de travail
 hg clone l10n-central/fr workrepo
 cd workrepo
 # y importer les changesets qui se trouvent dans aurora
 hg pull -r default ../releases/l10n/mozilla-aurora/fr

Généralement on va obtenir deux têtes (+1 heads) qu'il faudra ensuite fusionner :

 added xx changesets with yy changes to zz files (+1 heads)
 (run 'hg heads' to see heads, 'hg merge' to merge)

Si on voit autre chose, ce n'est pas bon du tout et mieux vaut aller se renseigner sur IRC.

Fusion et résolution des conflits

La première tentative consiste tout simplement à exécuter la commande :

 hg merge

Les fichiers à fusionner seront alors listés à l'écran. Certains d'entre-eux seront peut-être en conflit, ce qui ressemble à ça :

 merging dom/chrome/dom/dom.properties
 warning: conflicts during merge!
 merging dom/chrome/dom/dom.properties failed!
 …
 xx files updated, yy files merged, zz files removed, n files unresolved
 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon

Si la commande indique qu'il y a conflit (ça arrive presque toujours pour au moins un ou deux fichiers), la solution la plus simple est de recopier, dans nos répertoires source, la version du fichier se trouvant sur l10n-central vers aurora. Ce n'est pas grave s'il y a d'autres changements dans le fichier que les lignes en conflit, ça fera simplement un fichier en moins à fusionner. Faire un commit sur l'aurora source suivi d'un push vers le serveur.

Il faut alors supprimer le répertoire workrepo et relancer les commandes ci-dessus jusqu'à ce que le merge se passe bien, c'est-à-dire qu'il ne liste que des fichiers fusionnés sans renvoyer aucun warning.

À la fin, cela doit ressembler à quelque chose comme ceci :

 xx files updated, yy files merged, zz files removed, 0 files unresolved
 (branch merge, don't forget to commit)

Quand le merge a finalement fonctionné, faire un commit dans workrepo avec le message "merging central and aurora".

 hg commit -m "merging central and aurora"

Validation des changements et envoi sur le serveur

C'est alors le moment d'envoyer le contenu de workrepo sur notre copie d'aurora :

 # push vers aurora
 hg push ../releases/l10n/mozilla-aurora/fr

Et enfin d'envoyer tout cela sur le serveur :

 # push d'aurora vers le serveur
 cd ../releases/l10n/mozilla-aurora/fr
 hg push

Normalement il n'y a rien d'autre à faire du moment que personne n'a fait de push sur le serveur pendant ce temps. Sinon, supprimer le répertoire workrepo et repartir des sources mises à jour autant de fois que nécessaire.

Catégorie:Traduction