Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2005-08-26 01:22:57
Size: 4058
Editor: waste
Comment:
Revision 7 as of 2006-05-13 12:38:46
Size: 4017
Comment: one more trailing '=' removal
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Tutorial - faire nos premiers changements = = = Tutorial - faire nos premiers changements =
Line 26: Line 26:
 /*
  * 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.
  */
Line 28: Line 37:
 int main(void) {
         printf (STANDART_GREETINGS);
         printf ("\n");
 int main(int argc, char **argv)
 {
     printf("hello, world!\n");
     return 0;
Line 36: Line 46:
 #include <stdio.h>

 
int main(void) {
      printf (STANDART_GREETINGS);
      printf ("\n");
         printf
("Certain que vous êtes heureux d'utiliser Mercurial!");
 }
int main(int argc, char **argv)
{
    printf("hello, world!\n");
    printf("Certain que vous êtes heureux d'utiliser Mercurial!\n");
    return 0;
}
Line 49: Line 58:
 $ hg status
 C hello.c
$ hg status
M hello.c
Line 57: Line 66:
 $ hg commit $ hg commit
Line 62: Line 71:
 <this line will be empty>
 HG: manifest hash 0d66196b08b861878228219d46258f088092286e
 HG: changed hello.c
<cette ligne sera vide>
HG: changed hello.c
Line 66: Line 74:
La première ligne est vide, la seconde contient un bien long "hash", et les lignes qui suivent identifient les fichiers qui iront dans le Changeset. La première ligne est vide et les lignes qui suivent identifient les fichiers qui iront dans le Changeset.
Line 71: Line 79:

Express great joy at existence of Mercurial
Line 84: Line 90:
 $ hg log
 changeset: 4:dc707e118a8ca2c3ec4f9462802ef5676cb8f994
 tag: tip
 user: tnorth@localhost.localdomain
 date: Tue Aug 2 18:17:49 2005
 summary: Voici l'expression de la grande joie de l'existence de Mercurial
 [...]
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

...

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 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.

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 :

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

Une fois encore, cette commande n'affiche rien si elle aboutit.

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.

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" (submission). 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 raison pour 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 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)