Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

Für Mozillla verwenden wir das Versionskontrollsystem von Mercurial (Hg) zur Verwaltung des Quellcodes und der Lokalisierungen. Mit Mercurial können Lokalisierer lokal arbeiten (auf dem eigenen Rechner) und dann die Änderungen an ein Remote-Repository hochladen (push), das überlicherweise auf den Mozilla-Servern (hg.mozilla.org) gehostet wird. Für die Lokalisierung aktueller Versionen von Firefox, Thunderbird und SeaMonkey wird Mercurial verwendet. Falls die Dokumentation unvollständig ist oder du Fragen hast, schau bitte bei den #l10n- oder #hg-Kanälen oder auf irc.mozilla.org vorbei. Es lohnt sich auch die Mercurial FAQ zu lesen, falls du auf ein Problem stoßen solltest.

Für die Motivierten und Schnellen unter euch folgen hier Anweisungen zur Installation und Konfiguration von Mercurial, eine Anleitung dazu, wie man Hochlade-Rechte für seinen Hg-Account erhält und einige Aufgaben, die ohne Account-Rechte erfüllt werden können.

Mercurial installieren

Befolge die nachfolgenden Anweisungen um Mercurial auf deinem System zu installieren. Sobald du mit der Installation von Mercurial fertig bist, zeigen wir dir Schritt für Schritt wie man Mercurial konfiguriert.

Mercurial unter Linux

Mit einem der folgenden Befehle ist es ganz einfach möglich Mercurial aus der Befehlszeile  heraus zu installieren. Wähle den zu deiner Distribution passenden Befehl aus und stelle sicher, dass das Terminal als root läuft.

# Debian/ubuntu
$ apt-get install mercurial

# Fedora
$ yum install mercurial

# Gentoo
$ emerge mercurial

# Arch Linux
$ pacman -S mercurial

# OpenSolaris
$ pkg install SUNWmercurial

Wenn du eine grafische Oberfläche bevorzugst kannst du MercurialEclipe hier herunterladen und istallieren.

Hat es funktioniert?

Öffne ein Terminalfenster und gib folgenden Befehl ein: hg --version. Wenn eine Meldung mit der Version von Mercurial erscheint (z. B. Mercurial Distributed SCM (version 1.3.1)), war die Installation von Mercurial erfolgreich.

Weitere Details

Weitere Details zur Installation von Hg auf Linus-Systemen findest in den Anweisungen auf der Download-Seite von Mercurial

Mercurial unter Windows

Unter Windows gibt es zwei Möglichkeiten zur Installation:

  • Herunterladen und installieren des MozillaBuild-Paketes für eine Befehlszeilenschnittstelle. So wird nicht nur Hg installiert, sondern auch alle Tools, die für die Erstellung von Mozilla-Produkten unter Windows benötigt werden. trust us, you'll want this eventually.
  • TortoiseHg.pngInstallieren von TortoiseHg für eine grafische Oberfläche. TurtoiseHg wird in die Windows Explorer-Shell integriert und installiert zusätzlich das Befehlszeilenprogramm.

Mercurial Installer.pngBei derr Befehlszeileninstallation von Hg unter Windows ist es wichtig sicherzustellen, dass sich die ausführbare Datei von hg in der Variable %PATH% des Systems befindet (für TortoiseHg is dieser Schritt nicht nötig). Verwende das Hilfsprogramm add_path.exe, das unter C:\mozilla-build\hg zu finden ist, um diesen Schritt auszuführen.

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

Beachte, dass der Punkt (".") am Ende des zweiten Befehl für das aktuelle Verzeichnis steht. Wenn das Hilfsprogramm %PATH% erfolgreich modifiziert hat, öffnet sich ein Dialog mit der Meldung "%PATH% wurde korrekt aktualisiert".

Alternativ kann die Variable %PATH% auch manuell bearbeitet werden. Klicke hierfür mit der rechten Maustaste auf den Eintrag Computer im Startmenü, gehe zu Eigenschafte > Erweitert > Umgebungsvariablen, wähle PATH und klicke auf Bearbeiten. Wenn xx in der Auswahl nicht angezeigt wird, musst du auf Hinzufügen klicken und die Bearbeitung innerhalb des Dialogs Hinzufügen vornehmen (Beispiel siehe Screenshot).
PATH.jpg

Hat es funktioniert?

  1. Gehe zu Start > Ausführen...
  2. Gib cmd.exe ein und klicke auf OK. Ein neues Shell-Fenster sollte erscheinen.
  3. Gib im neuen Shell-Fenster hg --version ein. Wenn eine Meldung mit der Version von Mercurial erscheint (z. B. Mercurial Distributed SCM (version 1.3.1)), war die Installation von Mercurial erfolgreich.

Weitere Details

Weitere Details zur Installation von Hg unter Windows findest in den Anweisungen auf der Download-Seite von Mercurial.

Mercurial unter Mac OSX

Die Installation von Hg unter Mac OSX ist sehr einfach. Mit Hilfe von MacPorts kann Mercurial über das Terminal mit folgendem Befehl installiert werden:

$ sudo port install mercurial

Es ist außerdem möglich Mercurial über die dmg-Datei von der Hg Download-Seite zu installieren. Hier wird man über einen Installations-Dialog Schritt für Schritt durch den Prozess geleitet.

Wenn du eine grafische Oberfläche bevorzugst, kannst du MercurialEclipse hier herunterladen und installieren.

Hat es funktioniert?

Öffne ein Terminal-Fenster und gib folgenden Befehl ein: hg --version. Wenn eine Meldung mit der Version von Mercurial erscheint (z. B. Mercurial Distributed SCM (version 1.3.1)), war die Installation von Mercurial erfolgreich.

Weitere Details

Weitere Details zur Installation von Hg unter Mac OSX findest in den Anweisungen auf der Download-Seite von Mercurial.

Mercurial konfigurieren

Sobald Mercurial installiert wurde, muss es konfiguriert werden, um genutzt werden zu können.

Die Mercurial-Konfiguration befindet sich in einer config-Datei, die du selbst erstellen musst. Je nach Betriebssystem heißt die config-Datei entweder ~/.hgrc (UNIX-Systeme) oder Mercurial.ini (Windows).

Die config-Datei sollte die folgenden Einstellungen haben:

[ui]
username = Your Real Name <user@example.com>
merge = internal:merge

[defaults]
commit = -v

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

Befolge folgende Schritte für die Konfiguration von Hg: 

  1. Erstelle eine neue Datei in einem Texteditor deiner Wahl. 
  2. Kopiere die Einstellungen oben und füge sie in diese neue Datei ein. 
  3. Speichere die Datei entweder unter dem Namen .hgrc (UNIX-Systeme) oder Mercurial.ini (Windows) und lege Sie in unter $HOME/ oder C:\mozilla-build\hg\ or C:\Program Files\Mercurial\ ab.

Wenn die Installation und Konfiguration von Hg abgeschlossen ist, gibt es einige Aufgaben die ohne Upload-Rechte für Hg ausgeführt werden können. 

Repositorys klonen und aktualisieren

Es gibt ein paar Repositorys mit  en-US Quelldateien, die für die meisten Localea relevant sind:

  • mozilla-central beinhaltet Dateien für Firefox Nightly.
  • comm-central beinhaltet Dateien für SeaMonkey und Thunderbird, die nicht auch schon Teil von Firefox sind. 
  • l10n-central beinhaltet alle L10n-Repositrys für Firefox Nightly.

Wenn man das comm-central Repository erstellt, beinhaltet dieses auch das mozilla-central repository. Es ist also möglich, das für die Entwicklung von Firefox, SeaMonkey und Thunderbird konfigurierte Repository zu verwenden, ohne mozilla-central ein weiteres Mal anlegen zu müssen. 

So erstellt (oder klont) man die en-US Quelldateien beim ersten Mal:

  • Führe den folgenden Befehl in der Kommandozeile aus, um die en-US Quelldateien für Firefox zu erhalten:
hg clone https://hg.mozilla.org/mozilla-central/

So wird das mozilla-central Repository ins Verzeichnis mozilla-central geklont.

  • Führe die folgenden Befehle in der Kommandozeile aus, um die en-US Quelldateien für Firefox, SeaMonkey und/oder Thunderbird zu erhalten:
hg clone https://hg.mozilla.org/comm-central/
cd comm-central
python client.py checkout

Der erste Befehl erstellt einen Klon des comm-central Repositorys. Der zweite Befehl führt dich zu diesem Verzeichnis. Der dritte Befehl erstellt einen Klon von mozilla-central und legt einige weitere hg-Repositorys an. Die anderen Verzeichnisse werden für SeaMonkey und Thunderbird benötigt.

  • Das erstmalige Klonen des Lokalisierungs-Repositorys ist genauso einfach. Um beispielsweise das Firefox Nightly L10N Repository zu klonen, führe folgenden Befehl aus und ersetze ab-CD mit dem Code deiner Locale.
hg clone https://hg.mozilla.org/l10n-central/ab-CD/

Lokale Repositorys aktualisieren

  • Um deine Arbeitskopie von mozilla-central zu aktualisieren, gehe zum lokalen mozilla-central Verzeichnis und führe folgenden Befehl aus:
hg pull -u

Dieser Befehl ruft neue Changesets von mozilla-central ab und wendet diese Änderungen auf deine Arbeitskopie an.

  • Um deine Arbeitskopie von comm-central zu aktualisieren, gehe zum lokalen comm-central Verzeichnis und führe folgenden Befehl aus:
python client.py checkout

Dieser Befehl ruft neue Changesets von comm-central, mozilla-central und anderen passenden Repositorys ab und wendet diese Änderungen auf deine Arbeitskopie an.

  • Um das lokale L10n Repository nach dem ersten Klonen zu aktualieren, führe folgenden Befehl aus dem lokalen L10n-Verzeichnis aus:
hg pull -u

L10n-Patches erstellen

Another thing you can do with Hg without needing account priviledges is creating L10n patches of your work for someone else to commit to your remote L10n repo on the Mozilla servers. Doing this ensures that your dashboards are always accurate, as they look at your remote repo.

Here's how to create a L10n patch with Hg and the Mq extension:

  1. Enable Mq by adding hg.ext =  to your Mercurial config file (~/.hgrc on Unix-like systems or Mercurial.ini on Windows) under the [extensions] section.
  2. Open your command line tool and navigate to your L10n directory.
  3. Inside your L10n directory, init your repo with Mq by running hg init --mq.
  4. To create a new patch, run hg qnew -m "Your commit message" patch-name.patch. The commit message should take the form of "Bug 123456 - Change this thing to work better by doing something; r=reviewers" if you are to fix a bug.
  5. Make your change.
  6. Once you finish making your change, run hg qrefresh to commit your changes to the patch.
  7. Navigate to your <repository>/.hg/patches to find your .patch.
  8. You may repeat from step 4 to create another patch. Your patches will be incremental, i.e. new patches are created based on old patches. If you want to commit all the patches to the repository and cleanup the patch queue, run hg qfinish.

Please refer to MqTutorial and Mq documentation for further uses of Mq extension to manage patches.

Mercurial account priviledges

Eventually, you or your team leader will need Hg account priviledges. Let's face it, it's just more convenient to commit and push your work to the remote repo yourself, rather than creating patches and asking someone else to push them for you.

To get write access to the l10n hg repositories on the Mozilla server, there's a bit of paper work to be done. The localization team owner needs to file a bug requesting an hg account. This bug will request level 1 L10n priviledges. You need to follow the instructions regarding the contributor form. Write access to the hg repositories requires a ''voucher'', which, for the owner, will be done based on the review by Mozilla. For peers of a localization, the owner can vouch (once she or he is registered).

Sending changes to Mozilla

Now that you have Hg account privileges, you can send your work to Mozilla all by yourself. Here are the steps to send your L10n work using Mercurial:

  1. Since your L10n work takes place in your own local repository, you should ensure that there are no changes made to the remote repository before committing your work. To do this, update your locale, as per the section above.
  2. After finishing a change or set of changes and checking you have updated to the latest, you should commit by entering this command:
hg commit -m "your message identifying the change (bug 555)"

Committing won’t send your changes to Mozilla’s repository, but prepares them for it. The next step will send your changes to your remote repo via push.

  1. To push to mozilla-hosted repositories, you have to have committer access, and you must edit the file (your-local-hg-root AKA the directory you pulled your locale into)/.hg/hgrc (note, this is NOT your ~/.hgrc) to add these lines (replacing ab-CD with your locale code):
[paths]
default = https://hg.mozilla.org/l10n-central/ab-CD/
default-push = ssh://hg.mozilla.org/l10n-central/ab-CD/
  1. You’ll also need to tell ssh which account to use for your pushes, too, by editing ~/.ssh/config and adding these lines, where user@host.domain is your account:
Host hg.mozilla.org
User user@host.domain
  1. Now you can push your work to the repository (and check the result on the dashboard) by entering this command from your local directory:
hg push

And tah dah! You're done! Congratulations on finishing the tutorial. Take a break and grab a snack, you deserve it

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: Agnieszka-87
Zuletzt aktualisiert von: Agnieszka-87,