# HG changeset patch # User Frédéric Bouquet # Date 1252446162 -7200 # Node ID 5e1e70fcdfdbe9afbc1d74f7966141a83eb3d0e2 # Parent a9c3a727f253f7587614e2763e2ab23fae41125f Corrected some errors. - Indentation problems - Syntax errors (missing ,...) - French mistakes diff -r a9c3a727f253 -r 5e1e70fcdfdb fr/ch02-tour-basic.xml --- a/fr/ch02-tour-basic.xml Tue Sep 08 18:20:00 2009 +0200 +++ b/fr/ch02-tour-basic.xml Tue Sep 08 23:42:42 2009 +0200 @@ -7,92 +7,94 @@ Installer Mercurial sur votre système - Des paquetages binaires de Mercurial sont disponibles pour la plupart -des systèmes d'exploitation, ce qui rend facile l'utilisation immédiate -de Mercurial sur votre ordinateur. + Des paquetages binaires de Mercurial sont disponibles pour la + plupart des systèmes d'exploitation, ce qui rend facile l'utilisation + immédiate de Mercurial sur votre ordinateur. Windows La meilleur version de Mercurial pour Windows est - TortoiseHg, qui peut être téléchargée ici : http://bitbucket.org/tortoisehg/stable/wiki/Home - Ce logiciel n'a aucune dépendance exterieure; il fonctionne - et c'est tout. Il fournit aussi bien les outils en ligne - de commmande qu'un interface graphique. - - - - - Mac OS X - - Lee Cantey publie un installeur de Mercurial pour Mac OS X - sur http://mercurial.berkwood.com. - - - - Linux - - Parce que chaque distribution de Linux a ses propres outils de gestion - de paquets, politiques et rythmes de développements, il est difficile de - donner un ensemble d'instructions uniques pour installer les binaires de - Mercurial. La version de Mercurial avec laquelle vous vous retrouverez - dépendra grandement de l'activité de la personne en charge du paquetage - pour la distribution. - - Pour rester simple, je me concentrerai sur l'installation de Mercurial - en ligne de commande, sous les distributions les plus courantes. La - plupart des distributions fournissent des gestionnaires graphiques de - paquetage qui vous permettront d'installer Mercurial en quelques clicks. - Le paquetage devrait se nommer mercurial. - - - Ubuntu et Debian: - apt-get install mercurial - Fedora: - yum install mercurial - Gentoo: - emerge mercurial - OpenSUSE: - zypper install mercurial - - - - - Solaris - - SunFreeWare, à http://www.sunfreeware.com, - fournit des paquet précompilés pour Mercurial. - - + TortoiseHg, qui peut être téléchargée ici : http://bitbucket.org/tortoisehg/stable/wiki/Home. + Ce logiciel n'a aucune dépendance exterieure; il fonctionne et + c'est tout. Il fournit aussi bien les outils en ligne de + commmande qu'une interface graphique. + + + + + Mac OS X + + Lee Cantey publie un installeur de Mercurial pour Mac OS + X sur http://mercurial.berkwood.com. + + + + Linux + + Parce que chaque distribution de Linux a ses propres + outils de gestion de paquets, politiques et rythmes de + développements, il est difficile de donner un ensemble + d'instructions unique pour installer les binaires de Mercurial. La + version de Mercurial avec laquelle vous vous retrouverez dépendra + grandement de l'activité de la personne en charge du paquetage pour + la distribution. + + Pour rester simple, je me concentrerai sur + l'installation de Mercurial en ligne de commande, sous les + distributions les plus courantes. La plupart des distributions + fournissent des gestionnaires graphiques de paquetage qui vous + permettront d'installer Mercurial en quelques clicks. Le paquetage + devrait se nommer mercurial. + + + Ubuntu et Debian: + apt-get install mercurial + Fedora: + yum install mercurial + Gentoo: + emerge mercurial + OpenSUSE: + zypper install mercurial + + + + + Solaris + + SunFreeWare, à http://www.sunfreeware.com, + fournit des paquets précompilés pour Mercurial. + + Commencer à utiliser Mercurial - Pour commencer, nous utiliserons la commande hg - version pour vérifier si Mercurial est installé proprement. Les - informations affichées sur la version ne sont pas réellement importantes en - soit, c'est surtout de savoir si elles s'affichent qui nous - intéresse. - - &interaction.tour.version; - - - L'aide intégrée - - Mercurial fournit un système d'aide intégré, ce qui est - inestimable quand vous vous retrouvez coincé à essayer de vous rappeler - comment lancer une commande. Si vous êtes bloqué, exécutez simplement - hg help; elle affichera une brève - liste des commandes, avec une description pour chacune. Si vous demandez - de l'aide sur une commande spécifique (voir ci-dessous), elle affichera - des informations plus détaillées. - - &interaction.tour.help; - - Pour un niveau d'informations encore plus détaillées + Pour commencer, nous utiliserons la commande hg version pour vérifier si Mercurial est + installé proprement. Les informations affichées sur la version ne sont + pas réellement importantes en soit, c'est surtout de savoir si elles + s'affichent qui nous intéresse. + + &interaction.tour.version; + + + L'aide intégrée + + Mercurial fournit un système d'aide intégré, ce qui est + inestimable quand vous vous retrouvez coincé à essayer de vous + rappeler comment lancer une commande. Si vous êtes bloqué, exécutez + simplement hg help; elle affichera + une brève liste des commandes, avec une description pour chacune. Si + vous demandez de l'aide sur une commande spécifique (voir + ci-dessous), elle affichera des informations plus détaillées. + + &interaction.tour.help; + + Pour un niveau d'informations encore plus détaillé (ce dont vous aurez rarement besoin), exécuter hg help . L'option est l'abréviation de @@ -110,7 +112,7 @@ Il n'y a rien de particulièrement magique au sujet de ce dépôt, c'est simplement une arborescence sur votre système de fichiers - de Mercurial traite de manière spéciale. Vous pouvez renommer ou effacer + que Mercurial traite de manière spéciale. Vous pouvez renommer ou effacer ce répertoire à n'impporte quel moment, en utilisant la ligne de commande ou votre explorateur de fichiers. @@ -123,32 +125,34 @@ Mercurial. Cette commande est appelée hg clone, car elle crée une copie identique à un dépôt existant. - &interaction.tour.clone; - - Un avantage de la commande hg clone est que, comme nous l'avons vu ci - dessus, elle nous permet de faire de cloner les dépôts à travers le - réseau. Un autre est qu'elle se rappelle d'où a été cloné un dépôt, ce - qui est utile quand on veut mettre à jour le clone. - - Si votre opération de clonage réussit, vous devriez maintenant + &interaction.tour.clone; + + Un avantage de la commande hg + clone est que, comme nous l'avons vu ci dessus, elle nous + permet de faire de cloner les dépôts à travers le réseau. Un autre + est qu'elle se rappelle d'où a été cloné un dépôt, ce qui est utile + quand on veut mettre à jour le clone. + + Si votre opération de clonage réussit, vous devriez maintenant avoir un répertoire local appelé hello. Ce répertoire contiendra quelques fichiers. - &interaction.tour.ls; - - Ces fichiers ont le même contenu et historique dans votre dépôt - qu'ils ont dans le dépôt que vous avez cloné. - - Chaque dépôt Mercurial est complet, autonome et indépendant. Il - contient sa propre copie privée des fichiers du projet et de leur - historique. Le clone d'un dépôt se souvient de la localisation du - dépôt à partir duquel il a été clôné, mais il ne communique pas avec - ce dernier, ou un autre, à moins que vous ne lui demandiez. - - Ce que tout ceci signifie pour le moment est que nous sommes libres - d'expérimenter avec ce dépôt, confiants dans le fait qu'il s'agit d'un - bac à sable qui n'affectera personne d'autre. + &interaction.tour.ls; + + Ces fichiers ont le même contenu et historique dans votre dépôt + qu'ils ont dans le dépôt que vous avez cloné. + + Chaque dépôt Mercurial est complet, autonome et + indépendant. Il contient sa propre copie privée des fichiers du + projet et de leur historique. Le clone d'un dépôt se souvient de la + localisation du dépôt à partir duquel il a été clôné, mais il ne + communique pas avec ce dernier, ou un autre, à moins que vous ne lui + demandiez. + + Ce que tout ceci signifie pour le moment est que nous + sommes libres d'expérimenter avec ce dépôt, confiants dans le fait + qu'il s'agit d'un bac à sable qui n'affectera personne + d'autre. @@ -159,7 +163,7 @@ . C'est ici que Mercurial conserve toutes ses métadonnées. - &interaction.tour.ls-a; + &interaction.tour.ls-a; Le contenu du répertoire .hg et ses sous répertoires sont les seuls propres à Mercurial. @@ -186,7 +190,7 @@ La commande hg log vous donne une vue de l'historique. - &interaction.tour.log; --> + &interaction.tour.log; Par défaut, cette commande affiche à l'écran un bref paragraphe pour chaque révision enregistrée pour ce projet. Dans la terminologie de Mercurial, nous @@ -194,36 +198,38 @@ qu'il contient un ensemble de modifications sur plusieurs fichiers. La commande hg log affiche - ainsi ces informations: + ainsi ces informations : - changeset: Ce champ contient + changeset : Ce champ contient un nombre, séparé par deux points (:), d'une chaine hexadécimale. Il s'agit en fait d'identifiants d'un changeset. Il y a deux identifiants car le numéro de la révision est plus court et plus à facile à saisir qu'une séquence hexadécimale. - user: L'identité de la personne + user : L'identité de la personne qui a créée ce %%% laisser le terme anglais car il sera affiché changeset. C'est un champ libre de forme, mais la plupart du temps il contient le nom et l'email de la personne. - date: La date et l'heure à - laquelle le \textit{changeset a été créé, ainsi que le fuseau horaire dans - laquelle il a été créé. . (La - date et l'heure sont locales à ce \textit{fuseau}, elles indiquent donc quelle - date et heure il était pour la personne qui a créé ce changeset. + date : La date et l'heure à + laquelle le \textit{changeset} a été créé, ainsi que le fuseau horaire dans + lequelle il a été créé. (La date et l'heure sont locales à ce + \textit{fuseau}, elles indiquent donc quelle date et heure il était + pour la personne qui a créé ce changeset. - résumé: La première du + résumé: La première ligne du message que le créateur a associé à son changeset pour le décrire. - + Certains changesets, comme le premier de la + liste ci-dessus ont un champ tag. Le tag est une autre + façon d'identifier un changeset en lui donnant un nom simple à retenir. + (Le tag nommé tip est spécial : il fait toujours + référence aux derniers changements dans le dépôt.) Par défaut, la commande hg log - n'affiche qu'un résumé, il manque - beaucoup de détails. + n'affiche qu'un résumé, il manque beaucoup de détails. La figure fournit une représentation graphique de l'historique du dépôt hello @@ -245,23 +251,22 @@ Changesets, révisions, et collaboration - Comme l'anglais est réputé pour être un langage maladroit, et que l'informatique - est la source de bien des erreurs de terminologies (pourquoi utiliser un - seul terme quand quatre feront l'affaire ?), la gestion de version a une - variété de mots et de phrases qui veulent dire la même chose. Si vous - discutez d'historique de Mercurial avec d'autres personnes, - - vous constaterez que souvent le mot changeset est contracté simplement - en change ou (à l'écrit) cset, et même parfois un - changeset simplement révision, abrégé en rev. + Comme l'anglais est réputé pour être un langage maladroit, + et que l'informatique est la source de bien des erreurs de terminologie + (pourquoi utiliser un seul terme quand quatre feront l'affaire ?), la + gestion de version a une variété de mots et de phrases qui veulent dire + la même chose. Si vous discutez d'historique de Mercurial avec d'autres + personnes, vous constaterez que souvent, le mot changeset + est contracté simplement en change ou (à l'écrit) + cset, et même parfois un changeset + révision, abrégé en rev. Bien que le mot que vous utilisez pour désigner le concept de changeset importe peu, l'identifiant que vous utilisez pour désigner un changeset spécifique a une grande importance. Rappelez vous que le champ changeset affiché par la - commande hg log identifie un changeset à la fois avec - un numéro de révision et une séquence hexadécimale. + commande hg log identifie un changeset à + la fois avec un numéro de révision et une séquence hexadécimale. Le numéro de révision est seulement @@ -271,22 +276,21 @@ pourra toujours être associé au changeset exact de chaque copie de votre dépôt. - La distinction est importante. Si vous envoyez un email - à quelqu'un en parlant de la révision 33, il est très - probable que sa révision 33 ne sera pas la même - que la votre. La raison de ceci est que le numéro de révision dépend - de l'ordre dans lequel les modifications sont arrivées dans le dépôt, - et il n'y a aucune garantie que les mêmes changements soient arrivés - dans le même ordre dans différents dépôts. Trois modifications - a,b,c peuvent aisément apparaitre dans un dépôt - comme 0,1,2, et dans un autre comme 0,2,1 - . - - Mercurial utilise les numéros de révision uniquement comme des raccourcis - pratiques. Si vous devez discuter d'un \textit{changeset} avec quelqu'un, - ou identifer un \textit{changeset} pour une quelquonque %%%TODO: our : "pour" ou "ou" - raison (par exemple, un rapport de \textit{bug}), utilisez la séquence - hexadécimale. + La distinction est importante. Si vous envoyez un email + à quelqu'un en parlant de la révision 33, il est très + probable que sa révision 33 ne sera pas la même + que la votre. La raison de ceci est que le numéro de révision dépend + de l'ordre dans lequel les modifications sont arrivées dans le dépôt, + et il n'y a aucune garantie que les mêmes changements soient arrivés + dans le même ordre dans différents dépôts. Trois modifications + a,b,c peuvent aisément apparaitre dans un dépôt + comme 0,1,2, et dans un autre comme 0,2,1 + . + + Mercurial utilise les numéros de révision uniquement comme des raccourcis + pratiques. Si vous devez discuter d'un \textit{changeset} avec quelqu'un, + ou identifer un \textit{changeset} pour une quelconque raison (par exemple, + un rapport de \textit{bug}), utilisez la séquence hexadécimale. @@ -300,19 +304,17 @@ &interaction.tour.log-r; - Si vous voulez voir l'historique de plusieurs - révisions sans avoir à les énumérer, vous pouvez utiliser la - intervalle de numérotation qui vous permet - d'exprimer l'idée je veux toutes les révisions entre $a$ - et $b$, inclus. - - &interaction.tour.log.range; - - Mercurial respecte aussi l'ordre dans lequel - vous spécifiez les révisions, ainsi - hg log -r 2:4 affichera - 2,3,4 alors que hg log -r 4:2 - affichera 4,3,2. + Si vous voulez voir l'historique de plusieurs révisions + sans avoir à les énumérer, vous pouvez utiliser la intervalle + de numérotation qui vous permet d'exprimer l'idée je + veux toutes les révisions entre $a$ et $b$, inclus + + &interaction.tour.log.range; + + Mercurial respecte aussi l'ordre dans lequel vous spécifiez + les révisions, ainsi hg log -r 2:4 + affichera 2,3,4 alors que hg + log -r 4:2 affichera 4,3,2. @@ -322,15 +324,12 @@ est suffisant si vous savez déjà ce que vous cherchez. En revanche, vous aurez probablement besoin de voir une description complète du changement, ou une liste des fichiers modifiés si vous - cherchez à déterminer qu'un changeset est bien celui que vous + cherchez à déterminer qu'un changeset est bien celui que vous recherchez. L'option \hgopt{-v} de la commande hg log (ou ) vous donne ces informations supplémentaires. - &interaction.tour.log-v; --> + &interaction.tour.log-v; Si vous voulez voir à la fois la description et le contenu d'une modification, ajouter l'option option - est incroyablement utile, il est donc important dans s'en - rappeller. + L'option est + incroyablement utile, il est donc important dans s'en rappeller. @@ -359,9 +357,8 @@ utile pour la suite de notre parcours. Mercurial utilise une approche directe et cohérente - pour interpréter les - options que vous passez aux commandes. Il suit une convention commune - à la plupart des systèmes Unix et Linux modernes. + pour interpréter les options que vous passez aux commandes. Il suit une + convention commune à la plupart des systèmes Unix et Linux modernes. Chaque option a un nom complet. Par exemple, @@ -401,13 +398,12 @@ Option naming consistency - Presque toujours, les commandes de Mercurial utilise + Presque toujours, les commandes de Mercurial utilisent des noms d'options cohérentes pour référer à des concepts identiques. Par exemple, si une commande concerne les changesets, vous les - identifierais toujours avec l'option . Cette utilisation cohérente des noms - d'options permet de mémoriser plus facilement quelles options accepte - une commande. + identifierez toujours avec l'option . + Cette utilisation cohérente des noms d'options permet de mémoriser plus + facilement quelles options accepte une commande. @@ -419,226 +415,229 @@ commandes pour consulter l'historique de Mercurial, regardons comment faire des modifications et les examiner. - La première chose que nous allons faire - c'est isoler notre expérience dans un dépôt à part. Nous - allons utiliser la commande hg - clone, mais nous n'avons pas besoin de faire une - copie de dépôt distant. Comme nous avons déjà une copie locale, - nous pouvons juste faire un clone de celle-ci à la place. C'est - beaucoup plus rapide que de faire une copie à travers le réseau, - et un dépôt cloné localement prend également moins d'espace - disque. - L'économie d'espace disque apparait clairement - quand les dépôts source et destination sont sur le même système - de fichier, où dans ce cas, Mercurial utilisera des liens physiques - pour effectuer des partages copie-lors-des-écritures de ses - métadonnées internes. Si cette explication ne signifie rien pour - vous, ne vous inquietez pas: tout ceci se passe de manière - transparente et automatiquement, et vous n'avez pas du tout - besoin de comprendre ceci. - . - - &interaction.tour.reclone; - - On notera au passage qu'il est souvent considéré - comme une bonne pratique de conserver une copie immaculée - du dépôt distant, à partir de laquelle vous pourrez faire des - copies locales temporaires pour créer des bacs à sable - pour chaque tâche sur laquelle vous souhaitez travailler. Ceci - vous permet de travailler sur plusieurs choses en parallèle, - chacune isolée les unes des autres en attendant que ces tâches - soient finies et que vous soyez prêt à les réintégrer. Parce - que les copies locales sont peu coûteuses, il est très rapide - de créer ou détruire des dépôts dès que vous en avez besoin. - - - Dans notre my-hello - dépôts, nous avons un fichier hello.c - qui contient le classique hello, world. - - - &interaction.tour.cat1; - - Editons ce fichier pour qu'il affiche une autre - ligne sur la sortie standard. - - &interaction.tour.cat2; - - La commande Mercurial hg status - nous dira ce que Mercurial sait des fichiers du dépôts. - - - &interaction.tour.status; - - La commande hg status - n'affichera pas le contenu des fichiers, mais une ligne commençant - par M pour hello.c - . A moins que vous lui demandiez, la commande hg status n'affichera aucune informations - sur les fichiers que vous n'avez pas modifié. - - Le M indique que - Mercurial a remarqué que nous avons modifié le fichier - hello.c. Nous n'avons pas besoin - d'informer Mercurial que nous allons modifier le - fichier avant de commencer à le faire, ou que nous avions modifier le - fichier avant de le faire, il est capable de découvrir ça tout seul. - - - C'est déjà pratique de savoir que nous avons modifié le - fichier hello.c, mais nous préférerions savoir - exactement ce que nous avons changé. Pour ceci, nous - utilisons la commande hg diff. - - &interaction.tour.diff; - - - Comprendre les patches - - Penser à jeter un oeil au site si vous n'arrivez pas à lire la sortie - ci-dessus. - - - - Enregister vos modifications dans une nouvelle révision - - Nous pouvons modifier des fichiers, compiler et - tester nos modifications, et utiliser les commandes - hg status et hg - diff pour voir les modifications effectuées, jusqu'au - moment où nous serons assez satisfaits - pour décider d'enregistrer notre travail dans un \textit{changeset}. - - - La commande hg commit - vous laisse créer une nouvelle révision, nous désignerons généralement - cette opération par faire un commit ou committer - . - - - Définir le nom d'utilisateur - - Quand vous exécutez la commande - hg commit pour la première fois, il n'est pas garanti - qu'elle réussisse du premier coup. En effet, Mercurial enregistre - votre nom et votre adresse avec chaque modification que vous effectuez, - de manière à ce que vous soyez capable (ou d'autres le soient) de - savoir qui a fait quelle modification. Mercurial essaye automatiquement - de découvrir un nom d'utilisateur qui ait un minimum de sens - pour effectuer l'opération de commit avec. Il va essayer chacune - des méthodes suivantes, dans l'ordre: - - Si vous spécifiez l'option avec la commande - hg commit, suivi d'un nom - d'utilisateur, ceci aura toujours la priorité sur les autres - méthodes ci dessous. - Si vous avez défini une variable d'environnement - HGUSER, c'est cette valeur qui est alors utilisée. - Si vous créez un fichier nommé - .hgrc dans votre - répertoire \textit{home}, avec une entrée username, c'est la valeur associée - qui sera utilisée. Pour voir à quoi ressemble le contenu de ce fichier - regardez la section - ci-dessous. - Si vous avez défini une variable - d'environnement EMAIL celle ci sera utilisée ensuite. - Enfin, Mercurial interrogera votre système pour - trouver votre nom d'utilisateur local ainsi que le nom de la machine hôte, - et il fabriquera un nom d'utilisateur à partir de ces données. Comme - il arrive souvent que ce genre de noms soit totalement inutile, il vous - préviendra en affichant un message d'avertissement. - - - Si tous ces mécanismes échouent, Mercurial n'exécutera pas - la commande, affichant un message d'erreur. Dans ce cas, il ne vous - laissera pas effectuer de commit tant que vous n'aurez pas défini un nom - d'utilisateur. - - Vous devriez penser à utiliser la variable d'environement - HGUSER et l'option comme moyen pour changer le nom d' - utilisateur} par défaut. Pour une utilisation normale, la manière la - plus simple et robuste d'opérer est de créer un fichier - .hgrc, voir ci-dessous pour - les détails à ce sujet. - - - Créer un fichier de configuration pour Mercurial - - Pour définir un nom d'utilisateur, utilisez votre - éditeur de texte favori pour créer un fichier .hgrc dans votre répertoire home. - Mercurial va utiliser ce fichier pour retrouver votre - configuration personnelle. Le contenu initial devrait - ressembler à ceci: - - - <quote>Home directory</quote> on Windows + La première chose que nous allons faire c'est isoler notre + expérience dans un dépôt à part. Nous allons utiliser la commande hg clone, mais nous n'avons pas besoin de faire + une copie de dépôt distant. Comme nous avons déjà une copie locale, nous + pouvons juste faire un clone de celle-ci à la place. C'est beaucoup plus + rapide que de faire une copie à travers le réseau, et un dépôt cloné + localement prend également moins d'espace disque + L'économie d'espace disque apparait clairement quand les + dépôts source et destination sont sur le même système de fichier, où, dans + ce cas, Mercurial utilisera des liens physiques pour effectuer des partages + copie-lors-des-écritures de ses métadonnées internes. Si cette explication + ne signifie rien pour vous, ne vous inquietez pas : tout ceci se passe de + manière transparente et automatiquement. Vous n'avez pas du tout besoin de + comprendre ceci.. + + &interaction.tour.reclone; + + On notera au passage qu'il est souvent considéré comme + une bonne pratique de conserver une copie immaculée + du dépôt distant, à partir de laquelle vous pourrez faire des + copies locales temporaires pour créer des bacs à sable + pour chaque tâche sur laquelle vous souhaitez travailler. Ceci + vous permet de travailler sur plusieurs choses en parallèle, + chacune isolée les unes des autres en attendant que ces tâches + soient finies et que vous soyez prêt à les réintégrer. Parce + que les copies locales sont peu coûteuses, il est très rapide + de créer ou détruire des dépôts dès que vous n'en avez plus + besoin. + + Dans notre dépôt my-hello, nous avons un fichier + hello.c qui contient le classique hello, + world. + + &interaction.tour.cat1; + + Editons ce fichier pour qu'il affiche une autre ligne + sur la sortie standard. + + &interaction.tour.cat2; + + La commande Mercurial hg + status nous dira ce que Mercurial sait des fichiers du + dépôts. + + &interaction.tour.status; + + La commande hg status + n'affichera pas le contenu des fichiers, mais une ligne commençant par + M pour hello.c. + A moins que vous lui demandiez, la commande hg + status n'affichera aucune information sur les fichiers que + vous n'avez pas modifiés. + + Le M indique que + Mercurial a remarqué que nous avons modifié le fichier + hello.c. Nous n'avons pas besoin + d'informer Mercurial que nous allons modifier un + fichier avant de commencer à le faire, ou que nous avons modifié un + fichier après avoir commencé à le faire, il est capable de découvrir ça + tout seul. + + C'est déjà pratique de savoir que nous avons modifié le + fichier hello.c, mais nous préférerions savoir + exactement ce que nous avons changé. Pour ceci, nous + utilisons la commande hg diff. + + &interaction.tour.diff; + + + Comprendre les patches + + Penser à jeter un oeil à si vous n'arrivez pas à lire la sortie + ci-dessus. + + + + Enregister vos modifications dans une nouvelle révision + + Nous pouvons modifier des fichiers, compiler et tester + nos modifications, et utiliser les commandes hg + status et hg diff pour + voir les modifications effectuées, jusqu'à ce que nous soyons assez + satisfaits pour décider d'enregistrer notre travail dans un + \textit{changeset}. + + La commande hg commit + vous laisse créer une nouvelle révision, nous désignerons généralement + cette opération par faire un commit ou + committer. + + + Définir le nom d'utilisateur + + Quand vous exécutez la commande hg commit pour la première fois, il n'est + pas garanti qu'elle réussisse du premier coup. En effet, Mercurial + enregistre votre nom et votre adresse avec chaque modification que + vous effectuez, de manière à ce que vous soyez capable (ou d'autres + le soient) de savoir qui a fait quelle modification. Mercurial essaye + automatiquement de découvrir un nom d'utilisateur qui ait un minimum + de sens pour effectuer l'opération de commit avec. Il va essayer + chacune des méthodes suivantes, dans l'ordre : + + + Si vous spécifiez l'option avec la commande hg commit, suivi d'un nom + d'utilisateur, ceci aura toujours la priorité sur les autres + méthodes ci dessous. + Si vous avez défini une variable + d'environnement HGUSER, c'est cette valeur qui est + alors utilisée. + Si vous créez un fichier nommé .hgrc dans votre répertoire + \textit{home}, avec une entrée username, c'est la valeur associée + qui sera utilisée. Pour voir à quoi ressemble le contenu de ce + fichier regardez la section + ci-dessous. + Si vous avez défini une variable + d'environnement EMAIL celle ci sera utilisée + ensuite. + Enfin, Mercurial interrogera votre système + pour trouver votre nom d'utilisateur local ainsi que le nom de la + machine hôte, et il fabriquera un nom d'utilisateur à partir de + ces données. Comme il arrive souvent que ce genre de noms soit + totalement inutile, il vous préviendra en affichant un message + d'avertissement. + + + Si tous ces mécanismes échouent, Mercurial n'exécutera + pas la commande, affichant un message d'erreur. Dans ce cas, il ne + vous laissera pas effectuer de commit tant que vous n'aurez pas + défini un nom d'utilisateur. + + Vous devriez penser à utiliser la variable + d'environement HGUSER et l'option comme moyen pour + changer le nom d'utilisateur par défaut. Pour + une utilisation normale, la manière la plus simple et robuste + d'opérer est de créer un fichier .hgrc, voir ci-dessous pour les détails + à ce sujet. + + + Créer un fichier de configuration pour Mercurial + + Pour définir un nom d'utilisateur, utilisez votre + éditeur de texte favori pour créer un fichier .hgrc dans votre répertoire home. + Mercurial va utiliser ce fichier pour retrouver votre + configuration personnelle. Le contenu initial devrait + ressembler à ceci : + + + <quote>Home directory</quote> sous Windows + + Quand on parle de répertoire home, sur une version + anglaise d'une installation de Windows, il s'agira habituellement + d'un répertoire nommée comme votre nom dans C:\Documents + and Settings. Vous pouvez trouver de quelle répertoire + il s'agit en lançant une fenêtre d'interpréteur de commande et en + exécutant la commande suivante : - Quand on parle de répertoire home, sur une version - anglaise d'une installation de Windows, il s'agira habituellement - d'un répertoire nommée comme votre nom dans C:\Documents - and Settings. Vous pouvez trouver de quelle répertoire - il s'agit en lançant une fenêtre d'interpréteur de commande et en - exécutant la commande suivante: - C:\ echo %UserProfile - - - # This is a Mercurial configuration file. + C:\ echo + %UserProfile + + + # This is a Mercurial configuration file. [ui] username = Firstname Lastname <email.address@domain.net> - La ligne avec [ui] commence une - section du fichier de configuration, ainsi la ligne - username = ... signifie - définir la valeur de l'élément username dans la - section ui. Une section continue jusqu'à ce - qu'une nouvelle commence, ou que la fin du fichier soit atteinte. - Mercurial ignore les lignes vides et traite tout texte situé à la suite - d'un # jusqu'à la fin de la ligne - comme un commentaire. + La ligne avec [ui] commence une + section du fichier de configuration, ainsi la ligne + username = ... signifie + définir la valeur de l'élément username dans la + section ui. Une section continue jusqu'à ce + qu'une nouvelle commence, ou que la fin du fichier soit atteinte. + Mercurial ignore les lignes vides et traite tout texte situé à la suite + d'un # jusqu'à la fin de la ligne + comme un commentaire. Choisir un nom d'utilisateur - - Vous pouvez utiliser n'importe quelle valeur - pour votre username, car cette information - est destinée à d'autres personnes et non à être interprétée - par Mercurial. La convention que la plupart des personnes - suivent est d'utiliser leurs noms suivies de leurs adresses emails, - comme montrée ci-dessus: - - Le mécanisme interne du serveur web intégré à Mercurial, - masque les adresses emails, pour rendre plus difficile leurs - récupérations par les outils utilisés par les spammmers. - Ceci réduit la probabilité que de recevoir encore plus de - spam si vous vous publiez un dépôt sur internet. - - - - - Rédiger un message de \textit{commit} - - Lorsqu'on effectue une opération de commit, Mercurial - lance automatiquement un éditeur de texte pour permettre de saisir - un message qui décrira les modifications effectuées dans cette - révision. Ce message est nommé le message de commit. - Ce sera un enregistrement pour tout lecteur expliquant le pourquoi - et le comment de vos modifications, et il sera affiché par la - commande hg log. - - &interaction.tour.commit; - - L'éditeur que la commande hg - commit déclenche ne contiendra qu'une ligne vide suivi - d'un certain nombre de lignes commençant par HG: - . - - + + Vous pouvez utiliser n'importe quelle valeur + pour votre username, car cette information + est destinée à d'autres personnes et non à être interprétée + par Mercurial. La convention que la plupart des personnes + suivent est d'utiliser leurs noms suivies de leurs adresses emails, + comme montré ci-dessus : + + Le mécanisme interne du serveur web intégré à Mercurial, + masque les adresses emails, pour rendre plus difficile leurs + récupérations par les outils utilisés par les spammmers. + Ceci réduit la probabilité que de recevoir encore plus de + spam si vous vous publiez un dépôt sur internet. + + + + + Rédiger un message de \textit{commit} + + Lorsqu'on effectue une opération de commit, Mercurial + lance automatiquement un éditeur de texte pour permettre de saisir + un message qui décrira les modifications effectuées dans cette + révision. Ce message est nommé le message de commit. + Ce sera un enregistrement pour tout lecteur expliquant le pourquoi + et le comment de vos modifications, et il sera affiché par la + commande hg log. + + &interaction.tour.commit; + + L'éditeur que la commande hg + commit déclenche ne contiendra qu'une ligne vide suivi + d'un certain nombre de lignes commençant par HG: + . + + This is where I type my commit comment. HG: Enter commit message. Lines beginning with 'HG:' are removed. @@ -648,87 +647,90 @@ HG: changed hello.c - Mercurial ignore les lignes qui commencent - avec HG:, il ne les - utilise que pour nous indiquer quels fichiers modifiés il se - prépare à \textit{commiter}. Modifier ou effacer ces lignes n'a - aucune conséquence sur l'opération de commit. - - - - - Rédiger un message \textit{approprié} - - Comme hg log n'affiche - que la première ligne du message de commit par défaut, il est souvent - considéré comme une bonne pratique de rédiger des messages de commit - qui tiennent sur une seule ligne. Voilà un exemple concret de message - de commit qui ne suit pas cette directive, et qui a donc - un résumé peu lisible. - - + Mercurial ignore les lignes qui commencent + avec HG:, il ne les + utilise que pour nous indiquer quels fichiers modifiés il se + prépare à \textit{commiter}. Modifier ou effacer ces lignes n'a + aucune conséquence sur l'opération de commit. + + + + + Rédiger un message \textit{approprié} + + Comme hg log n'affiche + que la première ligne du message de commit par défaut, il est souvent + considéré comme une bonne pratique de rédiger des messages de commit + qui tiennent sur une seule ligne. Voilà un exemple concret de message + de commit qui ne suit pas cette directive, et + qui a donc un résumé peu lisible. + + changeset: 73:584af0e231be user: Censored Person <censored.person@example.org> date: Tue Sep 26 21:37:07 2006 -0700 summary: include buildmeister/commondefs. Add an exports and install - - - A ce sujet, il faut noter qu'il n'existe pas de règle - absolue dans ce domaine. Mercurial lui-même n'interprète pas les - contenus des messages de commit, ainsi votre projet est libre de - concevoir différentes politiques de mise en page des messages. - Ma préférence personnelle va au message court, mais - informatif, qui offre des précisions supplémentaires par rapport à ce - que pourrait m'apprendre une commande hg log - --patch. - Si vous exécutez la commande hg - commit sans aucun argument, elle enregistre tout les - changements qui ont été fait, et qui sont indiqué par les commandes - hg status et hg diff. - - Une surprise pour les utilisateurs habitués à Subversion - - Comme n'importe quel autre commande de Mercurial, si - vous soumettez pas de manière explicite les noms des fichiers à - committer à la commande hg commit, elle - va travailler sur l'ensemble du répertoire de travail. Soyez conscient - de ceci si vous venez du monde Subversion ou CVS, car vous pourriez - attendre qu'elle opère uniquement le répertoire courant et ses sous - répertoires. - - - - Annuler un \textit{commit} + + + A ce sujet, il faut noter qu'il n'existe pas de règle + absolue dans ce domaine. Mercurial lui-même n'interprète pas les + contenus des messages de commit, ainsi votre projet est libre de + concevoir différentes politiques de mise en page des messages. + + Ma préférence personnelle va au message court, mais + informatif, qui offre des précisions supplémentaires par rapport à ce + que pourrait m'apprendre une commande hg log + --patch. + + Si vous exécutez la commande hg + commit sans aucun argument, elle enregistre tous les + changements qui ont été fait, et qui sont indiqué par les commandes + hg status et hg diff. + + + Une surprise pour les utilisateurs habitués à Subversion + + Comme n'importe quel autre commande de Mercurial, si + vous soumettez pas de manière explicite les noms des fichiers à + committer à la commande hg commit, elle + va travailler sur l'ensemble du répertoire de travail. Soyez conscient + de ceci si vous venez du monde Subversion ou CVS, car vous pourriez + attendre qu'elle opère uniquement le répertoire courant et ses sous + répertoires. + + + + Annuler un \textit{commit} Si, en rédigeant le message, vous décidez que finalement vous ne voulez pas effectuer ce commit, il suffit de quitter simplement l'éditeur sans sauver. Ceci n'aura aucune conséquence sur le dépôt ou les fichiers du répertoire de travail. - - - - - Admirer votre travail - - Une fois que votre \textit{commit} est terminé, vous pouvez utiliser - la commande hg tip pour afficher le \textit{changeset} que nous - venons de créer. Cette commande produit une sortie à l'écran qui est - identique à celle du hg log, mais qui n'affiche que la dernière - révision du dépôt. - - &interaction.tour.tip; - - On fait couramment référence à la dernière révision - du dépôt comme étant la révision tip, ou plus - simplement le tip. - - Au passage, la commande hg - tip accepte la plupart des mêmes options que - hg log, ainsi ci dessus inplique soit - verbeux, + + + + Admirer votre travail + + Une fois que votre \textit{commit} est terminé, vous + pouvez utiliser la commande hg tip + pour afficher le \textit{changeset} que vous venez de créer. Cette + commande produit une sortie à l'écran qui est identique à celle du + hg log, mais qui n'affiche que la + dernière révision du dépôt. + + &interaction.tour.tip; + + On fait couramment référence à la dernière révision + du dépôt comme étant la révision tip, ou plus + simplement le tip. + + Au passage, la commande hg + tip accepte la plupart des options qu'accepte + hg log. Ainsi ci dessus implique soit + verbeux, veux dire affiche le patch. L'utilisation de l'option pour afficher un patch est un autre exemple de la cohérence des commandes évoquée plus tôt. @@ -739,267 +741,272 @@ Partager ses modifications Nous avons mentionné plus haut que les dépôts - de Mercurial sont autosuffisants. Ce qui signifie que la nouvelle - révision que vous venez de créer n'existe seulement dans votre - répertoire my-hello. Étudions - comment propager cette modification dans d'autres dépôts. + de Mercurial sont autosuffisants. Ce qui signifie que la nouvelle + révision que vous venez de créer existe seulement dans votre + répertoire my-hello. Étudions + comment propager cette modification dans d'autres dépôts. Récupérer les modifications d'autres dépôts Pour commencer, construisons un clone de notre dépôt - hello qui ne contiendra pas - le changement que nous venons d'effectuer. Nous l'appellerons notre - dépôt temporaire hello-pull. - - &interaction.tour.clone-pull; - - Nous allons utiliser la commande hg pull pour envoyer les modifications depuis - my-hello dans hello-pull. Néanmoins, récupérer - aveuglement des modifications depuis un dépôt a quelque chose d'un peu - effrayant. Mercurial propose donc une commande hg incoming qui permet de savoir quelles modifications - la commande hg pull pourrait - entraîner dans notre dépôt, et ceci sans effectuer réellement de modification - dessus. + hello qui ne contiendra pas + le changement que nous venons d'effectuer. Nous l'appellerons notre + dépôt temporaire hello-pull. + + &interaction.tour.clone-pull; + + Nous allons utiliser la commande hg pull pour envoyer les modifications + depuis my-hello dans hello-pull. Néanmoins, récupérer + aveuglement des modifications depuis un dépôt a quelque chose d'un + peu effrayant. Mercurial propose donc une commande hg incoming qui permet de savoir quelles + modifications la commande hg pull + pourrait entraîner dans notre dépôt, et ceci + sans effectuer réellement de modification dessus. &interaction.tour.incoming; - - Apporter les modifications rapatriées dans - un dépôt se résume donc à exécuter la commande hg pull, et préciser depuis quel dépôt - effectuer le hg pull. - - &interaction.tour.pull; - - Comme vous le voyez avec une sortie avant et après de la - commande hg tip, nous avons réussi à - récupérer aisément les modifications dans notre dépôt. Il reste néanmoins - quelque chose à faire avant de placer ces modifications dans l'espace de - travail. - - - Récupérer des changements précis - - Il est possible à cause du délai entre l'exécution de la - commande hg incoming et l'exécution de - la commande hg pull, que vous ne - puissiez pas voir toutes les modifications que vous rapporterez d'un - autre dépôt. Suppossons que vous récupériez les modifications d'un dépôt - situé quelque part sur le réeau. Alors que vous regardez le résultat de - la commande hg incoming, et avant que - vous ne décidiez de récupérer ces modifications, quelqu'un peut ajouter - de nouvelles révisions dans le dépôt distant. Ce qui signigie que vous - récupérer plus de révision que ce que vous aviez regarder en utilisant - la commande hg incoming. - Si vous voulez seulement récupérer ce que vous aviez - vérifier à l'aide de la commande hg - incoming, ou que pour d'autres raisons vous souhaitiez ne - récupérer qu'un sous ensemble des révisions supplémentaires - disponibles, indiquant simplement les modifications que vous souhaitez - récupérer par leurs ID de révision, soit hg pull - -r7e95bb. - - - - Mise à jour de l'espace de travail - - Nous a:vons jusqu'à maintenant grossièrement définie la - relation entre un dépôt et un espace de travail. La commande hg pull que nous avons exécutée dans la section - a apporté des modifications, que nous - avons vérifiées, dans notre dépôt, mais il n'y a aucune trace de ces - modifications dans notre espace de travail. En effet, hg pull ne touche pas (par défaut) à l'espace - de travail. C'est la commande hg update - qui s'en charge. - - &interaction.tour.update; - - Il peut sembler un peu étrange que la commande hg pull ne mette pas à jour l'espace de travail - automatiquement. Il y a en fait une très bonne raison à cela : vous - pouvez utilisez la commande hg update - pour mettre à jour votre espace de travail à l'état dans lequel il était - à n'importe quelle révision de l'historique du dépôt. - Si vous aviez un espace de travail contenant une ancienne - révision&emdash;pour chercher l'origine d'un bug, par exemple&emdash;et - que vous effectuiez un hg pull qui - mettrait à jour automatiquement votre espace de travail, vous ne seriez - probablement pas très satisfait. - - - Néanmoins, comme les opérations de pull sont très souvent - suivies d'un update, Mercurial vous permet de combiner les - deux aisément en passant l'option - à la commande hg pull. - - Si vous étudiez de nouveau la sortie de la commande hg pull dans la section quand nous l'avons exécutée sans l'option - , vous pouvez constater qu'elle a - affiché un rappel assez utile : vous devez encore effectuer une - opération pour mettre à jour votre espace de travail. - - Pour découvrir sur quelle révision de l'espace de - travail on se trouve, utilisez la commande hg - parents. - - &interaction.tour.parents; - - Si vous regardez de nouveau le dessin , vous verrez les flèches reliant - entre eux les révisions. Le nœud d'où la flèche - part est dans chaque cas un parent, - et le nœud où la flèche arrive est un enfant. - - Pour mettre à jour l'espace de travail d'une révision particulière, - indiquez un numéro de révision ou un \textit{changeset ID} à la commande - hg update. - - &interaction.tour.older; - - Si vous ne précisez pas de manière explicite de numéro - de révision la commande hg update - mettra à jour votre espace de travail avec - le contenu de la révsion \textit{tip}, comme montré dans l'exemple ci - dessus lors du second appel à hg update. - - - - Transférer les modifications à un autre dépôt - - Mercurial vous laisse transférer les modifications - à un autre dépôt, depuis votre dépôt actuel. Comme dans l'exemple - du hg pull ci-dessus, nous allons - créer un dépôt temporaire vers lequel transférer nos modifications. - - &interaction.tour.clone-push; - - La commande hg outgoing - nous indique quels changements nous allons transférer vers l'autre - serveur ? - - &interaction.tour.outgoing; - - Et la commande hg push - effectue réellement le transfert. - - &interaction.tour.push; - - Comme avec hg pull, la - commande hg push ne met pas à jour - le répertoire de travail du dépôt dans lequel il transfère les - modifications. À l'inverse de hg pull, - hg push ne fournit pas d'option - -u pour forcer la mise à jour de l'espace de - travail cible. Cette asymétrie est délibéré : le dépot vers lequel nous - transférons peut très bien être un serveur distant et partagé par - plusieurs personnes. Si nous devions mettre à jour son répertoire de - travail alors que quelqu'un d'autre travail dessus, nous risquerions - de perturber son travail. - - Qu'est ce qui se passe lorsque vous essayez de récupérer - ou de transférer vos modifications et que le dépôt cible a déjà reçu - ces modifications ? Rien de bien excitant. - - &interaction.tour.push.nothing; - - - - - Emplacements par défaut - - Quand nous faisons un clone d'un dépôt, Mercurial - enregistre l'emplacement du dépôt d'origine dans le fichier - .hg/hgrc de notre nouveau dépôt. Si nous ne - fournissons pas d'emplacement à la commande hg pull - ou à la commande hg push, ces commandes utiliseront - alors ces emplacements comme valeur par défaut. Les commandes - hg incoming et hg outgoing feront - de même. - - Si vous regardez le fichier - .hg/hgrc, vous constaterez que son contenu ressemble - à ce qui suit. - - [paths] + + Apporter les modifications rapatriées dans un dépôt se + résume donc à exécuter la commande hg + pull, et préciser depuis quel dépôt effectuer le hg pull. + + &interaction.tour.pull; + + Comme vous le voyez avec une sortie avant et après de la + commande hg tip, nous avons réussi à + récupérer aisément les modifications dans notre dépôt. Il reste néanmoins + quelque chose à faire avant de placer ces modifications dans l'espace de + travail. + + + Récupérer des changements précis + + Il est possible à cause du délai entre l'exécution de la + commande hg incoming et l'exécution de + la commande hg pull, que vous ne + puissiez pas voir toutes les modifications que vous rapporterez d'un + autre dépôt. Supposons que vous récupériez les modifications d'un dépôt + situé quelque part sur le réseau. Alors que vous regardez le résultat de + la commande hg incoming, et avant que + vous ne décidiez de récupérer ces modifications, quelqu'un peut ajouter + de nouvelles révisions dans le dépôt distant. Ce qui signifie que vous + récupérez plus de révision que ce que vous aviez regardées en utilisant + la commande hg incoming. + + Si vous voulez seulement récupérer ce que vous aviez + vérifier à l'aide de la commande hg + incoming, ou que pour d'autres raisons vous souhaitiez ne + récupérer qu'un sous ensemble des révisions supplémentaires + disponibles, indiquant simplement les modifications que vous souhaitez + récupérer par leurs ID de révision, soit hg pull + -r7e95bb. + + + + + Mise à jour de l'espace de travail + + Nous avons jusqu'à maintenant grossièrement défini la + relation entre un dépôt et un espace de travail. La commande hg pull que nous avons exécutée dans la section + a apporté des modifications, que nous + avons vérifiées, dans notre dépôt, mais il n'y a aucune trace de ces + modifications dans notre espace de travail. En effet, hg pull ne touche pas (par défaut) à l'espace + de travail. C'est la commande hg update + qui s'en charge. + + &interaction.tour.update; + + Il peut sembler un peu étrange que la commande hg pull ne mette pas à jour l'espace de travail + automatiquement. Il y a en fait une très bonne raison à cela : vous + pouvez utilisez la commande hg update + pour mettre à jour votre espace de travail à l'état dans lequel il était + à n'importe quelle révision de l'historique du dépôt. + Si vous aviez un espace de travail contenant une ancienne + révision&emdash;pour chercher l'origine d'un bug, par exemple&emdash;et + que vous effectuiez un hg pull qui + mettrait à jour automatiquement votre espace de travail, vous ne seriez + probablement pas très satisfait. + + Néanmoins, comme les opérations de pull sont très souvent + suivies d'un update, Mercurial vous permet de combiner les + deux aisément en passant l'option + à la commande hg pull. + + Si vous étudiez de nouveau la sortie de la commande hg pull dans la section quand nous l'avons exécutée sans l'option + , vous pouvez constater qu'elle a + affiché un rappel assez utile : vous devez encore effectuer une + opération pour mettre à jour votre espace de travail. + + Pour découvrir sur quelle révision de l'espace de + travail on se trouve, utilisez la commande hg + parents. + + &interaction.tour.parents; + + Si vous regardez de nouveau le dessin , vous verrez les flèches reliant + entre elles les révisions. Le nœud d'où la flèche + part est dans chaque cas un parent, + et le nœud où la flèche arrive est un + enfant. + + Pour mettre à jour l'espace de travail d'une révision + particulière, indiquez un numéro de révision ou un \textit{changeset + ID} à la commande hg update. + + &interaction.tour.older; + + Si vous ne précisez pas de manière explicite de numéro + de révision la commande hg update + mettra à jour votre espace de travail avec le contenu de la révison + \textit{tip}, comme montré dans l'exemple ci dessus lors du second + appel à hg update. + + + + Transférer les modifications vers un autre dépôt + + Mercurial vous laisse transférer les modifications vers + un autre dépôt, depuis votre dépôt actuel. Comme dans l'exemple du + hg pull ci-dessus, nous allons créer + un dépôt temporaire vers lequel transférer nos modifications. + + &interaction.tour.clone-push; + + La commande hg outgoing + nous indique quels changements nous allons transférer vers l'autre + serveur. + + &interaction.tour.outgoing; + + Et la commande hg push + effectue réellement le transfert. + + &interaction.tour.push; + + Comme avec hg pull, la + commande hg push ne met pas à jour + le répertoire de travail du dépôt dans lequel il transfère les + modifications. À l'inverse de hg + pull, hg push ne fournit + pas d'option -u pour forcer la mise à jour de + l'espace de travail cible. Cette asymétrie est délibéré : le dépot + vers lequel nous transférons peut très bien être un serveur distant + et partagé par plusieurs personnes. Si nous devions mettre à jour son + répertoire de travail alors que quelqu'un d'autre travaille dessus, + nous risquerions de perturber son travail. + + Qu'est ce qui se passe lorsque vous essayez de récupérer + ou de transférer vos modifications et que le dépôt cible a déjà reçu + ces modifications ? Rien de bien excitant. + + &interaction.tour.push.nothing; + + + + + Emplacements par défaut + + Quand nous faisons un clone d'un dépôt, Mercurial + enregistre l'emplacement du dépôt d'origine dans le fichier + .hg/hgrc de notre nouveau dépôt. Si nous ne + fournissons pas d'emplacement à la commande hg + pull ou à la commande hg push, ces + commandes utiliseront alors cet emplacement comme valeur par défaut. + Les commandes hg incoming et hg + outgoing feront de même. + + Si vous regardez le fichier + .hg/hgrc, vous constaterez que son contenu + ressemble à ce qui suit. + + [paths] default = http://www.selenic.com/repo/hg - Il est possible&emdash;et souvent - pratique&emdash;d'avoir un emplacement par défaut pour la commande - hg push et la commande hg outgoing - différent de celui des commandes hg pull et des - hg incoming. C'est faisable en ajoutant une entrée - default-push à la section [paths] - du .hg/hgrc, comme suit. - - [paths] + Il est possible&emdash;et souvent + pratique&emdash;d'avoir un emplacement par défaut pour les commandes + hg push et hg outgoing + différent de celui des commandes hg pull et + hg incoming. C'est faisable en ajoutant une entrée + default-push à la section + [paths] du .hg/hgrc, comme + suit. + + [paths] default = http://www.selenic.com/repo/hg default-push = http://hg.example.com/hg - - - - Partager ses modifications à travers le réseau - - Les commandes que nous avons étudiées dans les sections - précédentes ne sont pas limitées aux dépôt locaux. Chacune fonctionne - de la même manière à travers une connexion réseau, il suffit de lui - passer une URL à la place d'un chemin de fichier local. - - &interaction.tour.outgoing.net; - - Dans cet exemple, nous allons voir quels changements - nous pourrions transférer vers le dépôt distant, mais le dépôt est, - de manière tout à fait compréhensible, pas configuré pour accepter - des modifications d'utilisateurs anonymes. - - &interaction.tour.push.net; - + + + + Partager ses modifications à travers le réseau + + Les commandes que nous avons étudiées dans les sections + précédentes ne sont pas limitées aux dépôts locaux. Chacune fonctionne + de la même manière à travers une connexion réseau, il suffit de lui + passer une URL à la place d'un chemin de fichier local. + + &interaction.tour.outgoing.net; + + Dans cet exemple, nous allons voir quels changements + nous pourrions transférer vers le dépôt distant, mais le dépôt est, + de manière tout à fait compréhensible, pas configuré pour accepter + des modifications d'utilisateurs anonymes. + + &interaction.tour.push.net; + + + - Commencer un nouveau projetw - - Il est tout aussi aisé de commencer un nouveau projet - que de travailler sur un qui existe déjà. La commande - hg init créer un nouveau dépôt Mercurial, - vide. - - &interaction.ch01-new.init; - - Ceci créer simplement un répertoire nommée - myproject dans le répertoire courant. - - &interaction.ch01-new.ls; - - Nous pouvons dire que myproject - est un dépôt Mercurial car il contient un répertoire - .hg. - - &interaction.ch01-new.ls2; - - Si vous voulons ajouter quelques fichiers préexistants - dans ce dépôt, il suffit de les recopier dans le répertoire de travail, - et demander à Mercurial de commencer les suivre en utilisant la - commande hg add. - - &interaction.ch01-new.add; - - Une fois que nous sommes satisfait de notre projet, - nous pouvons commencer à ajouter nos révisions. - - &interaction.ch01-new.commit; - - Il ne prend que quelques instants pour commencer à + Commencer un nouveau projet + + Il est tout aussi aisé de commencer un nouveau projet + que de travailler sur un qui existe déjà. La commande hg + init crée un nouveau dépôt Mercurial vide. + + &interaction.ch01-new.init; + + Ceci crée simplement un répertoire nommé + myproject dans le répertoire courant. + + &interaction.ch01-new.ls; + + Nous pouvons dire que myproject est + un dépôt Mercurial car il contient un répertoire + .hg. + + &interaction.ch01-new.ls2; + + Si vous voulons ajouter quelques fichiers préexistants + dans ce dépôt, il suffit de les recopier dans le répertoire de travail, + et demander à Mercurial de commencer à les suivre en utilisant la + commande hg add. + + &interaction.ch01-new.add; + + Une fois que nous sommes satisfaits de notre projet, + nous pouvons commencer à ajouter nos révisions. + + &interaction.ch01-new.commit; + + Il ne prend que quelques instants pour commencer à utiliser Mercurial sur un nouveau projet, ce qui fait aussi de ses points forts. Travailler avec une gestion de révision devient très facile, nous pouvons même l'utiliser pour les plus petits projets où nous aurions probablement jamais penser utiliser un outils aussi complexe. - +