Differences between revisions 7 and 9 (spanning 2 versions)
Revision 7 as of 2006-05-13 12:38:46
Size: 4017
Comment: one more trailing '=' removal
Revision 9 as of 2008-01-15 09:04:10
Size: 4107
Editor: abuehl
Comment: moved
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from TutorialPremiersChangements
Line 5: Line 6:
C'est une bonne habitude dans le développement avec Mercurial d'isoler chaque changement dans un dépôt différent, séparé. Cela empêche le mélange de code non lié et rend plus simple les tests de gros morceaux de travail un par un. Commençons en suivant ce modèle. C'est une bonne habitude dans le développement avec Mercurial d'isoler chaque changement dans un dépôt séparé. Cela évite de mélanger des modifications non liées entre elles et simplifie les tests de gros morceaux de travail un par un. Commençons en suivant ce modèle.
Line 7: Line 8:
Notre stupide but initial est de modifier notre programme "hello, tout le monde" pour qu'il affiche une autre ligne. D'abord, nous clonons notre dépôt my-hello : Notre but initial est de modifier notre programme "hello, tout le monde" pour qu'il affiche une autre ligne. D'abord, nous clonons notre dépôt my-hello :
Line 13: Line 14:
Une fois encore, cette commande n'affiche rien si elle aboutit. Une fois encore, cette commande n'affiche rien si elle s'exécute sans problème.
Line 15: Line 16:
Note: Notez que nous avons donné à notre dépôt un nom descriptif, qui identifie simplement le but de celui-ci. Puisque faire un clonage d'un dépôt est bon marché avec Mercurial, nous en accumulerons rapidement pas mal de différents. Si nous ne donnons pas de noms descriptifs à ceux-ci, nous perdrons rapidement la capacité de les identifier un à un. Note: Notez que nous avons donné à notre dépôt un nom descriptif, qui identifie simplement le but de celui-ci. Puisque faire un clonage d'un dépôt est une opération peu coûteuse avec Mercurial, nous en accumulerons rapidement un certains nombre. Si nous ne donnons pas de noms descriptifs à ceux-ci, nous perdrons rapidement la capacité de les identifier un à un.
Line 63: Line 64:
Le fait de créer un Changeset est appelé "commit" (submission). Nous faisons un "commit" (ou nous soumettons un changeset) à l'aide de la commande: Le fait de créer un Changeset est appelé "commit" (soumission). Nous faisons un "commit" (ou nous soumettons un changeset) à l'aide de la commande:
Line 76: Line 77:
Pour soumettre le Changeset, on doit donner une raison pour celui-ci. On appelle cela un commentaire de soumission. Tapons quelque chose comme ça: Pour soumettre le Changeset, on doit donner une explication de celui-ci. On appelle cela un commentaire de soumission.
Tapons quelque chose comme ça:
Line 98: Line 100:
Il est là ! Nous avons soumis notre Changeset. Il est bien là ! Nous avons soumis notre Changeset.

Tutorial - faire nos premiers changements

Nous sommes dans notre dépôt my-hello que nous avons cloné dans le ["TutorialCloneFr"]

C'est une bonne habitude dans le développement avec Mercurial d'isoler chaque changement dans un dépôt séparé. Cela évite de mélanger des modifications non liées entre elles et simplifie les tests de gros morceaux de travail un par un. Commençons en suivant ce modèle.

Notre but initial est de modifier notre programme "hello, tout le monde" pour qu'il affiche une autre ligne. D'abord, nous clonons notre dépôt my-hello :

 $ cd ..
 $ hg clone my-hello my-hello-new-output

Une fois encore, cette commande n'affiche rien si elle s'exécute sans problème.

Note: Notez que nous avons donné à notre dépôt un nom descriptif, qui identifie simplement le but de celui-ci. Puisque faire un clonage d'un dépôt est une opération peu coûteuse avec Mercurial, nous en accumulerons rapidement un certains nombre. Si nous ne donnons pas de noms descriptifs à ceux-ci, nous perdrons rapidement la capacité de les identifier un à un.

Maintenant il est temps de faire un changement dans notre nouveau dépôt. Allons dans le dossier de travail, qui est simplement le nom du répertoire contenant les fichiers:

$ cd my-hello-new-output
$ vi hello.c

Le contenu de hello.c ressemble à ceci:

 /*
  * hello.c
  *
  * Placed in the public domain by Bryan O'Sullivan
  *
  * This program is not covered by patents in the United States or other
  * countries.
  */

 #include <stdio.h>

 int main(int argc, char **argv)
 {
     printf("hello, world!\n");
     return 0;
 }

Éditons-le afin qu'il affiche une autre ligne de sortie:

int main(int argc, char **argv)
{
    printf("hello, world!\n");
    printf("Certain que vous êtes heureux d'utiliser Mercurial!\n");
    return 0;
}

Une fois que c'est fait, nous quittons vi (ou l'éditeur de texte de notre choix) et nous avons terminé. Voilà. L'édition est maintenant prête pour consister en un Changeset.

Mais que se passe-t-il si nous avons été interrompu, et que nous avons oublié quels changements vont être intégrés dans le Changeset une fois créé ? Pour cela, nous utilisons la commande status.

$ hg status
M hello.c

Cette sortie est laconique, mais elle dit simplement que hello.c a un changement prêt à aller dans le Changeset.

Le fait de créer un Changeset est appelé "commit" (soumission). Nous faisons un "commit" (ou nous soumettons un changeset) à l'aide de la commande:

$ hg commit

Ceci va nous envoyer dans notre éditeur de texte (ndr: en général vi) et nous présenter quelques étranges lignes de texte:

<cette ligne sera vide>
HG: changed hello.c

La première ligne est vide et les lignes qui suivent identifient les fichiers qui iront dans le Changeset.

Pour soumettre le Changeset, on doit donner une explication de celui-ci. On appelle cela un commentaire de soumission. Tapons quelque chose comme ça:

Voici l'expression de la grande joie de l'existence de Mercurial

Ensuite, nous quittons l'éditeur (vi : Esc, :wq), et (comme nous l'attendions) le commit n'affiche rien.

Mais que nous donne alors la commande status maintenant ?

 $ hg status

Rien du tout ! Notre changement a été soumis à un Changeset, donc notre Tip correspond maintenant au contenu du dossier. Cela signifie-t-il que notre commit va se retrouver dans l'historique des changements ?

changeset:   2:b8daa9444f08
tag:         tip
user:        Matt Mackall <mpm@selenic.com>
date:        Sun Aug 28 02:10:28 2005 -0700
summary:     Voici l'expression de la grande joie de l'existence de Mercurial

...

Il est bien là ! Nous avons soumis notre Changeset.

Comme nous en parlions dans le ["TutorialCloneFr"], le nouveau Changeset existe uniquement dans ce dépôt.

Pour partager ces changements, nous devons continuer avec le ["TutorialPartageChangements"].

FrenchTutorialFirstChange (last edited 2012-11-06 16:29:50 by abuehl)