Size: 4098
Comment:
|
Size: 4053
Comment:
|
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 5: | Line 5: |
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 7: |
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 11: | Line 11: |
$ hg clone my-hello my-hello-new-output | $ hg clone my-hello my-hello-new-output }}} Une fois encore, cette commande n'affiche rien si elle s'exécute sans problème. |
Line 13: | Line 15: |
}}} 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. |
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 22: | Line 21: |
$ vi hello.c |
$ vi hello.c |
Line 28: | 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 29: | Line 36: |
int main(void) { printf (STANDART_GREETINGS); printf ("\n"); } |
|
Line 35: | Line 37: |
int main(int argc, char **argv) { printf("hello, world!\n"); return 0; } |
|
Line 39: | 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 53: | Line 58: |
$ hg status C hello.c |
$ hg status M hello.c |
Line 59: | Line 63: |
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 62: | Line 66: |
$ hg commit |
$ hg commit |
Line 68: | Line 71: |
<this line will be empty> HG: manifest hash 0d66196b08b861878228219d46258f088092286e HG: changed hello.c |
<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. |
Line 72: | Line 76: |
}}} 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. 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 78: | Line 80: |
Express great joy at existence of Mercurial |
|
Line 87: | Line 87: |
Line 92: | Line 91: |
$ 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 |
Line 100: | Line 97: |
... | |
Line 101: | Line 99: |
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"].