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.
Pour 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.
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.
Ça a marché ?
- Allez sur
Start > Run...
(Démarrer > Éxécuter...) - Tapez
cmd.exe
et cliquez surOK.
Une nouvelle fenêtre shell devrait apparaître. - 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 :
- créez un nouveau fichier dans votre éditeur de texte préféré,
- copiez les paramètres ci-dessus et collez-les dans votre nouveau fichier,
- enregistrez le fichier avec l'extension, soit .hgrc (système UNIX) , soit . Ini (Windows) et enregistrez-le dans
$HOME/
ouC:\mozilla-build\hg\
ouC:\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:
-
Activez Mq pour ajouter hg.ext = sur votre fichier config Mercurial (
~/.hgrc
sur Unix ouMercurial.ini
sur Windows) sous la section[extensions]
. -
Ouvrez votre outil de ligne de commande et naviguez vers votre répertoire L10n.
-
Dans votre répertoire L10n, initialisez votre référentiel avec Mq par l'exécution de
hg init --mq
. -
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. -
Faites votre modification.
-
Une fois vos changements finis, exécutez
hg qrefresh
pour engager vos changements dans le paquet. -
Naviguez vers votre "référentiel/.hg/paquet" pour trouver votre .patch (paquet).
-
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 :
- 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..
- 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".
- 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
- 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
- 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 !