Dans Mozilla, nous utilisons le système de contrôle de version  Mercurial  (Hg) pour gérer le code source et les localisations. Mercurial permet aux localisateurs de travailler localement (sur leurs machines) et ensuite de pousser (push, un terme Hg) les changements vers un dépôt distant, qui est généralement hébergé sur les serveurs Mozilla (hg.mozilla.org . La localisation des versions actuelles de Firefox, Thunderbird et SeaMonkey inclut le travail avec Mercurial. Si la documentation est incomplète ou si vous avez des questions, veuillez passer par les canaux #l10n ou #hg  sur irc.mozilla.org. Les FAQ Mercurial valent également le détour, en cas de problème

Pour les plus avides et rapides, vous trouverez ci-dessous des instructions sur l'installation et la configuration de Mercurial, des instructions sur la réception d'un privilège de validation de compte Hg, ainsi que quelques tâches que vous pouvez effectuer sans privilège de compte.

Installation de Mercurial

Suivez les instructions ci-dessous pour installer Mercurial sur votre système. Une fois que vous aurez installé Mercurial, nous suivrons les étapes pour le configurer.

Mercurial sur Linux

Vous pouvez facilement installer Mercurial à partir de la ligne de commande en exécutant l'une des commandes suivantes. Choisissez la commande appropriée pour votre installation et assurez-vous de l'exécuter en tant que root.

# Debian/ubuntu
$ apt-get install mercurial

# Fedora
$ dnf install mercurial

# Gentoo
$ emerge mercurial

# Arch Linux
$ pacman -S mercurial

# OpenSolaris
$ pkg install SUNWmercurial

Si vous préférez une interface graphique, vous pouvez télécharger et installer MercurialEclipse ici.

Ça a marché ?

Ouvrez une fenêtre de terminal et entrez  hg --version . Si vous voyez un message à propos de la version de Mercurial (par exemple, Mercurial Distributed SCM (version 1.3.1)), vous avez installé Mercurial avec succès.

Plus de détails

Pour davantage de détails sur l'installation d' Hg sur les systèmes Linux, référez-vous aux instructions de la page de téléchargement de Mercurial.

Mercurial sur Windows

Avec Windows, vous avez quelques options d'installation ;

  • Pour une interface de ligne de commande, téléchargez et installez le package MozillaBuild. Cela permettra non seulement d'installer Hg, mais aussi tous les outils nécessaires pour construire des produits Mozilla sur Windows. Faites-nous confiance, vous le voudrez peut-être.
  • TortoiseHg.pngPour une interface graphique, vous pouvez vouloir installer TortoiseHg  qui s'intègre à votre shell Windows Explorer. Il installe également l'utilitaire de ligne de commande.

Mercurial Installer.png Une partie de la ligne de commande d'installation de Hg pour Windows implique de s'assurer que l'exécutable hg est dans la variable %PATH% du système (TortoiseHg n'a pas besoin de cette étape). Utilisez l'utilitaire add_path.exe trouvé dans C:\mozilla-build\hg pour faire cela.

PS C:\Users\your_id> cd C:\mozilla-build\hg
PS C:\mozilla-build\hg> .\add_path.exe /result .

Notez le point (".") À la fin de la deuxième commande, ce qui signifie le répertoire courant. Si l'utilitaire a modifié avec succès %PATH%, une boîte de dialogue s'ouvrira disant "%PATH% a été correctement mis à jour".

Ou bien, vous pouvez éditer la variable %PATH% manuellement. Pour ce faire, faites un clic droit sur l'icône de votre ordinateur, choisissez Propriétés > Avancé > Variables d'environnement, sélectionnez PATH et cliquez sur Modifier (Edit). Si vous ne voyez pas PATH parmi les options, vous devrez cliquer sur Ajouter (Add) et éditer dans la boîte de dialogue Ajouter. Voir la capture d'écran pour un exemple. PATH.jpg

Ça a marché ?

  1. Allez sur Start > Run... (Démarrer > Éxécuter...)
  2. Tapez cmd.exe et cliquez sur OK. Une nouvelle fenêtre shell devrait apparaître.
  3. Tapez hg --version dans la nouvelle fenêtre shell. Si vous voyez un message sur la version de Mercurial (par exemple, Mercurial Distributed SCM (version 1.3.1)), vous avez installé Mercurial avec succès !

Plus de détails

Pour davantage de détails sur l'installation d'Hg sur Windows, référez-vous aux instructions sur la page de téléchargement de Mercurial.

Mercurial sur Mac OSX

L'installation d'Hg sur Mac OSX est très facile. Vous pouvez installer Mercurial via MacPorts  depuis le terminal, comme ceci :

$ sudo port install mercurial

Vous pouvez aussi l'installer par téléchargement du dmg package à partir de la page de téléchargement Hg . Elle a une boîte de dialogue d'installation qui vous guidera à travers le processus.

Si vous préférez une interface graphique, vous pouvez télécharger et installer MercurialEclipse ici.

Ça a marché ?

Ouvrez une fenêtre de terminal et tapez hg --version. Si vous voyez un message à propos de la version de Mercurial (par exemple, Mercurial Distributed SCM (version 1.3.1)), vous avez installé Mercurial avec succès.

Plus de détails

Pour davantage de détails sur l'installation d'Hg sur Mac OSX, référez-vous aux instructions de la page de téléchargement Mercurial's.

Configuration de Mercurial

Une fois que vous avez installé Mercurial, vous devrez le configurer avant de pouvoir l'utiliser.

Votre configuration Mercurial est contenue dans un fichier "config" que vous devez créer vous-même. Votre fichier de configuration s'appelle ~/ hgrc (systèmes UNIX) ou Mercurial.ini (Windows), selon votre système d'exploitation.

Votre fichier config doit avoir les paramètres suivants :

[ui]
username = Votre vrai nom <user@example.com>
merge = internal:merge

[defaults]
commit = -v

[diff]
git = 1
showfunc = 1
unified = 8

Pour configurer Hg, suivez ces étapes :

  1. créez un nouveau fichier dans votre éditeur de texte préféré,
  2. copiez les paramètres ci-dessus et collez-les dans votre nouveau fichier,
  3. enregistrez le fichier avec l'extension, soit .hgrc (système UNIX) , soit . Ini (Windows) et enregistrez-le dans $HOME/  ou C:\mozilla-build\hg\ ou C:\Program Files\Mercurial\.

Maintenant que vous avez installé et configuré Mercurial, voici quelques tâches que vous pouvez faire sans privilèges d'accès Hg commit.

Clonage et mise à jour de référentiels

Il y a quelques référentiels qui contiennent les fichiers source en-US que la plupart des paramètres régionaux voudront traiter.

  • mozilla-central contient les fichiers pour Firefox.
  • comm-central contient les fichiers pour SeaMonkey et Thunderbird qui ne font pas déjà partie de Firefox.
  • l10n-central contient tous les référentiels de L10n pour Firefox.

Note ; Lorsque vous récupérez le référentiel comm-central, il contient également mozilla-central. Il est donc possible d'utiliser une seule installation pour le développement de Firefox, SeaMonkey et Thunderbird sans pour autant devoir récupérer mozilla-central une seconde fois.

Voici maintenant comment récupérer (ou cloner) les fichiers source en-US pour la première fois

  • Exécutez les commandes suivantes dans la ligne de commande pour récupérer les fichiers source en-US de Firefox :
hg clone https://hg.mozilla.org/mozilla-central/

Cette commande crée un clone du référentiel mozilla-central dans le répertoire mozilla-central.

  • Exécutez les commandes suivantes dans la ligne de commande pour récupérer les fichiers source de la combinaison de Firefox, SeaMonkey et Thunderbird :
hg clone https://hg.mozilla.org/comm-central/
cd comm-central
python client.py checkout

La première commande crée un clone du référentiel comm-central. La seconde commande vous déplace dans le répertoire correspondant. La troisième commande produit un clone de mozilla-central et récupère d'autres référentiels hg. Les autres répertoires sont requis pour SeaMonkey et Thunderbird.

  • Cloner votre référentiel de localisation pour la première fois est facile. Par exemple, pour cloner votre référentiel L10n pour Firefox, exécutez la ligne de commande suivante dans le sous-répertoire de votre code de paramètres régionaux (locale) (fr pour le français):
hg clone https://hg.mozilla.org/l10n-central/ab-CD/

Mise à jour de votre référentiel local

  • Pour mettre à jour votre copie de travail de mozilla-central, placez-vous dans votre répertoire mozilla-central et exécutez :
hg pull -u

Cela permet à la fois d'obtenir les nouvelles modifications de mozilla-central et d'appliquer ces changements dans votre copie de travail.

  • Pour mettre à jour votre copie de travail de comm-central, placez-vous dans votre répertoire comm-central et exécutez :
python client.py checkout

Ceci permet à la fois d'obtenir les modifications de comm-central, mozilla-central et des autres emplacements appropriés et d'appliquer ces changements dans votre copie de travail.

  • Pour mettre à jour votre référentiel L10n local après votre premier clone, exécutez cette commande à partir de votre répertoire L10n :
hg pull -u

Création des paquets L10n

Une autre chose que vous pouvez faire avec Hg sans avoir besoin de privilège de compte, est de créer des paquets L10n de votre travail pour que quelqu'un d'autre l'engage dans votre référentiel L10n distant sur les serveurs Mozilla. Cela garantit que vos tableaux de bord sont toujours précis, car ils regardent votre référentiel distant.

Voici comment créer un paquet L10n avec Hg et l' extension Mq:

  1. Activez Mq pour ajouter hg.ext = sur votre fichier config Mercurial (~/.hgrc sur Unix ou Mercurial.ini sur Windows) sous la section [extensions].

  2. Ouvrez votre outil de ligne de commande et naviguez vers votre répertoire L10n.

  3. Dans votre répertoire L10n, initialisez votre référentiel avec Mq par l'exécution de hg init --mq.

  4. Pour créer un nouveau paquet, exécutez hg qnew -m "Votre message d'engagement" patch-name.patch. Le message d'engagement doit prendre la forme de "Bug 123456 - Change this thing to work better by doing something; r=reviewers" si votre paquet résoud un bogue.

  5. Faites votre modification.

  6. Une fois vos changements finis, exécutez hg qrefresh pour engager vos changements dans le paquet.

  7. Naviguez vers votre "référentiel/.hg/paquet" pour trouver votre .patch (paquet).

  8. Vous pouvez répéter à partir de l'étape 4 pour un autre paquet. Vos paquets seront incrémentés, c'est-à-dire que de nouveaux paquets seront créés basés sur les anciens. Si vous voulez engager tous les paquets du référentiel et effacer la file de paquets, exécutez hg qfinish.

Référez-vous aux MqTutorial et documentation Mq pour l'utilisation de l'extension Mq et la gestion des correctifs.

Les privilèges de compte de Mercurial

Finalement, vous ou votre chef d'équipe aurez besoin de privilèges de compte Hg. Regardons les choses en face, il est juste plus commode d'engager et de pousser votre travail sur le référentiel à distance vous-même, plutôt que de créer des correctifs et de demander à quelqu'un d'autre de les pousser pour vous.

Pour avoir un accès en écriture aux référentiels l10n hg sur le serveur Mozilla, il y a un peu de paperasse à faire. Le "patron" de l'équipe de localisation doit trouver un bogue demandant un compte hg. Ce bogue va demander le privilège L10n niveau 1. Vous devez suivre les instructions concernant le formulaire de contributeur. L'accès en écriture aux référentiels hg nécessite un '' voucher '', qui, pour le propriétaire, sera fait en fonction de la critique de Mozilla. Pour les pairs d'une localisation, le propriétaire peut se porter garant (une fois enregistré).

Envoi des modifications à Mozilla

Maintenant, vous avez les privilèges de compte, et vous pouvez envoyer votre travail à Mozilla vous-même. Les étapes pour l'envoi de votre travail L10n utilisant Mercurial :

  1. Puisque votre travail L10n a lieu dans votre propre référentiel local, vous devez vous assurer qu'aucune modification n'a été apportée au référentiel distant avant de valider votre travail.  Pour ce faire, mettez à jour votre référentiel local, comme vu dans la section ci-dessus..
  2. Lorsque vous avez terminé une modification ou un ensemble de modifications et que vous avez vérifié les modifications du référentiel distant, vous pouvez entrer cette commande :
    hg commit -m "your message identifying the change (bug 555)"

    La validation n'envoie pas vos modifications au référentiel de Mozilla, mais les prépare pour cela. L'étape suivante enverra vos modifications à votre référentiel distant via "push".

  3. Pour les envoyer aux répertoires hébergés chez Mozilla, vous devez avoir un accès en écriture et vous devez modifier le fichier (votre-racine-hg-locale)/. hg/hgrc (note, ce n'est PAS votre fichier ~/.hgrc) pour ajouter cette ligne (en remplaçant ab-CD par votre code de locale) :
    [paths]
    default = https://hg.mozilla.org/l10n-central/ab-CD
    default-push = ssh://hg.mozilla.org/l10n-central/ab-CD
    
    
  4. Vous devrez encore indiquer à ssh le compte à utiliser pour vos envois, en ajoutant ces lignes à ~/.ssh/config et en ajoutant ces lignes,, sur lesquelles : user@host.domain est votre compte.
    Host hg.mozilla.org
    User user@host.domain
    
  5. Vous pouvez enfin faire un push de vos modifications vers le référentiel central (et vérifier le résultat sur le tableau de bord) par l'entrée de cette commande depuis votre répertoire local  :
hg push

Et tah dah ! Vous avez réussi ! Félicitations pour avoir achevé ce tutoriel. Faites une pause et prenez une collation, vous le méritez !

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, loella16, BenoitL, Mgjbot
Dernière mise à jour par : SphinxKnight,