Tutorial - Partager des changements avec une autre personne

Dans le ["TutorialPartageChangements"], nous avons appris comment propager un Changeset d'un dépôt à l'autre.

Mercurial fournit plusieurs moyens de partager les changements avec d'autres personnes, mais la manière la plus commune est de le faire via e-mail.

Après que nous ayons soumis un Changeset, nous pouvons l'exporter dans un fichier, et l'envoyer par e-mail en pièce jointe à quelqu'un d'autre.

Pour exporter un changement, nous utilisons la commande export. Nous devons fournir une étiquette, un numéro de révision, ou encore un ChangeSetID pour dire à Mercurial ce qu'il doit exporter. Dans notre cas, nous voulons exporter le Tip. Par défaut, export affiche uniquement le patch, nous devons donc rediriger la sortie standard vers un fichier.

Dès ce moment, nous devons encore être dans le dossier my-hello-share.

$ hg export tip > /tmp/my-patch
$ cat /tmp/my-patch
# HG changeset patch
# User Matt Mackall <mpm@selenic.com>
# Node ID b8daa9444f08a98a0d91d922dbeba05ab3247169
# Parent  82e55d328c8ca4ee16520036c0aaace03a5beb65
Voici l'expression de la grande joie de l'existence de Mercurial

diff -r 82e55d328c8c -r b8daa9444f08 hello.c
--- a/hello.c   Fri Aug 26 08:21:28 2005
+++ b/hello.c   Sun Aug 28 09:10:28 2005
@@ -12,5 +12,6 @@
 int main(int argc, char **argv)
 {
        printf("hello, world!\n");
+       printf("Certain que vous tes heureux d'utiliser Mercurial!\n");
        return 0;
 }

Ce fichier est un patch au format Unified Diff, avec quelques informations supplémentaires qui disent à Mercurial comment l'importer.

Lorsque le destinataire reçoit notre e-mail, il enregistrera le fichier attaché et utilisera la commande d'import pour importer le changeset dans son dépôt. Plaçons-nous dans la position du destinataire, et apprenons comment inclure (merger, fusionner) un changement, dans le ["TutorialMergeFr"]