# HG changeset patch # User William Dodé # Date 1253014845 -7200 # Node ID c859c8d328380881c485e6fd7c3355178a734aca # Parent 0d743c1cf1010d55ca14cee1cf6611b74acc392f french: small corrections on ch03 diff -r 0d743c1cf101 -r c859c8d32838 fr/ch03-tour-merge.xml --- a/fr/ch03-tour-merge.xml Tue Sep 15 12:42:52 2009 +0200 +++ b/fr/ch03-tour-merge.xml Tue Sep 15 13:40:45 2009 +0200 @@ -2,7 +2,7 @@ - Un rapide tour de Mercurial: fusionner les travaux + Un tour rapide de Mercurial : fusionner les travaux Nous avons maintenant étudié comment cloner un dépôt, effectuer des changements dedans, et récupérer ou transférer depuis un @@ -11,8 +11,8 @@ Fusionner différents travaux - La fusion est un aspect fondamental lorsqu'on - travaille iavec un gestionnaire de source distribué. + La fusion est un aspect fondamental lorsqu'on + travaille avec un gestionnaire de révisions distribué. @@ -45,13 +45,13 @@ &interaction.tour.merge.cat1; - Et ici est notre légèrement différente version du + Et ici se trouve notre version légèrement différente du dépôt. &interaction.tour.merge.cat2;
- Historique divergent des dépôts <filename + <title>Historique divergeant des dépôts <filename class="directory">my-hello</filename> et <filename class="directory">my-new-hello</filename>. @@ -71,18 +71,18 @@ heads. - Les révisions 'heads' + Les révisions <quote>heads</quote> Rappellez vous que Mercurial enregistre quelle révision est le parent de chaque révision. Si une révision a un parent, nous - l'appelons un enfant(child) ou un descendant de ce parent. Une - "head" est une révision qui n'a donc pas d'enfant. La révision tip - est donc une "head", car c'est la révision la plus récente du dépôt + l'appelons un enfant child ou un descendant de ce parent. Une + head est une révision qui n'a donc pas d'enfant. La révision tip + est donc une head, car c'est la révision la plus récente du dépôt qui n'a pas d'enfant. Il y a des moments où un dépôt peut contenir - plusieurs "head". + plusieurs heads.
- Contenu du dépôt après une récupération ("pull") depuis le + <title>Contenu du dépôt après une récupération (pull) depuis le dépôt <filename class="directory">my-hello</filename> vers le dépôt <filename class="directory">my-new-hello</filename> @@ -95,18 +95,18 @@
Dans la figure , - vous pouvez constater l'effet d'un \textit{pull} depuis le dépôt + vous pouvez constater l'effet d'un pull depuis le dépôt my-hello dans le dépôt my-new-hello. L'historique qui était déjà présent dans le dépôt my-new-hello reste intact, mais une nouvelle révision a été ajoutée. En vous reportant à la figure , vous pouvez voir que le - ID de révision (changeset ID) reste le même dans + ID de révision changeset ID reste le même dans le nouveau dépôt, mais que le numéro de révision reste le même. (Ceci est un parfait exemple de pourquoi il n'est fiable d'utiliser les numéros de révision lorsque - l'on discute d'un \textit{changeset}.) Vous pouvez voir les "heads" + l'on discute d'un changeset.) Vous pouvez voir les heads présentes dans le dépôt en utilisant la commande hg heads. @@ -118,7 +118,7 @@ Que se passe-t-il quand vous essayez d'utiliser la commande hg update pour mettre à - jour votre espace de travail au nouveau "tip" + jour votre espace de travail au nouveau tip &interaction.tour.merge.update; @@ -129,9 +129,9 @@ estime que nous pourrions avoir besoin d'une fusion, à moins de lui forcer la main. À la place, il faut utiliser la commande hg merge pour fusionner les deux - "heads". - - Pour commencer une fusion (merge) entre deux "heads", + heads. + + Pour commencer une fusion (merge) entre deux heads, nous utilisons la commande hg merge. &interaction.tour.merge.merge; @@ -139,7 +139,7 @@ Nous résolvons les conflits dans le fichier hello.c. Ceci met à jour le répertoire de travail de sorte qu'il ne contienne les modifications ne provenance des - deux "heads", ce qui est indiqué par la + deux heads, ce qui est indiqué par la la sortie de la commande hg parents et le contenu du fichier hello.c. @@ -159,7 +159,7 @@ &interaction.tour.merge.commit; Nous avons maintenant un nouveau tip, remarquer qu'il - contient à la fois nos anciennes "heads" et leurs + contient à la fois nos anciennes heads et leurs parents. Ce sont les mêmes révisions que nous avions affichées avec la commande hg parents. @@ -168,13 +168,13 @@ Dans la figure , vous pouvez voir une représentation de ce qui se passe dans l'espace de travail pendant la fusion, et comment ceci affecte le dépôt lors - du "commit". Pendant la fusion, l'espace de travail, qui a deux + du commit. Pendant la fusion, l'espace de travail, qui a deux révisions (changesets) comme parents, voit ces derniers devenir le parent d'une nouvelle révision (changeset).
- Working directory and repository during merge, and - following commit + Répertoire de travail et dépôt pendant une fusion, + et le <quote>commit</quote> qui suit @@ -189,12 +189,12 @@ Fusionner les modifications en conflit - La plupart des fusions sont assez simple à réaliser, mais + La plupart des fusions sont assez simples à réaliser, mais parfois vous vous retrouverez à fusionner des fichiers où la modification touche la même portion de code, au sein d'un même fichier. À moins que ces modification ne soient identiques, ceci aboutira à un conflit, et vous devrez décider comment réconcilier - les différentes modifications dans un tout cohérent. + les différentes modifications dans un ensemble cohérent.
Modifications en conflits dans un document @@ -214,12 +214,12 @@ Mercurial n'a pas de mécanisme interne pour gérer les conflits. À la place, il exécute un programme externe appelé hgmerge. Il s'agit d'un script shell qui est - embarqué par Mercurial, vous pouvez le modifier si vous le voulez. + compris avec Mercurial, vous pouvez le modifier si vous voulez. Ce qu'il fait par défaut est d'essayer de trouver un des différents outils de fusion qui seront probablement installés sur le système. - Il commence par les outils totalement automatiques, et si ils + Il commence par les outils totalement automatiques, et s'ils échouent (parce que la résolution du conflit nécessite une - intervention humaine) ou si ils sont absents, le script tente + intervention humaine) ou s'ils sont absents, le script tente d'exécuter certains outils graphiques de fusion. Il est aussi possible de demander à Mercurial d'exécuter @@ -235,22 +235,22 @@ fonctionnalités classiques des outils graphiques de fusion. Vous pouvez voir une capture d'écran de l'utilisation de kdiff3 dans la figure . Cet outil - effectue une fusion \textit{three-way}, car il y a - trois différentes versions du fichier qui nous intéresse. Le fichier - découpe la partie supérieure de la fenêtre en trois panneaux: + effectue une fusion three-way, car il y a + trois différentes versions du fichier qui nous intéressent. Le fichier + découpe la partie supérieure de la fenêtre en trois panneaux : - A gauche on la version de + À gauche on trouve la version de base du fichier, soit la plus récente version des deux versions qu'on souhaite fusionner. Au centre, il y a notre version du fichier, avec le contenu que nous avons modifié. Sur la droite, on trouve leur version du fichier, celui qui contient la - révision que nous souhaitons intégré. + révision que nous souhaitons intégrer. Dans le panneau en dessous, on trouve le résultat actuel de notre fusion. Notre tâche - consiste donc à remplacement tous les textes en rouges, + consiste donc à remplacer tous les textes en rouges, qui indiquent des conflits non résolus, avec une fusion manuelle et pertinente de notre version et de la leur. @@ -274,14 +274,14 @@ Pour chaque portion de fichier posant problème, nous pouvons choisir de résoudre le conflit en utilisant une combinaison de - texte depuis la version de base, la notre, ou la leur. Nous pouvons + touches depuis la version de base, la notre, ou la leur. Nous pouvons aussi éditer manuellement les fichiers à tout moment, si c'est nécessaire. Il y a beaucoup d'outils de - fusion disponibles, bien trop pour en parler de tous ici. Leurs - disponibilités varient selon les plate formes ainsi que leurs - avantages et inconvénients. La plupart sont optimisé pour - la fusion de fichier contenant un texte plat, certains sont spécialisé + fusion disponibles, bien trop pour parler de tous ici. Leurs + disponibilités varient selon les plateformes ainsi que leurs + avantages et inconvénients. La plupart sont optimisés pour + la fusion de fichier contenant un texte plat, certains sont spécialisés dans un format de fichier précis (généralement XML). @@ -290,12 +290,12 @@ Dans cet exemple, nous allons reproduire la modification de l'historique du fichier de la figure ci dessus. Commençons par créer + linkend="fig:tour-merge:conflict"/> ci-dessus. Commençons par créer un dépôt avec une version de base de notre document. &interaction.tour-merge-conflict.wife; - Créons un clone de ce dépôt et faisons une + Créons un clone de ce dépôt et effectuons une modification dans le fichier. &interaction.tour-merge-conflict.cousin; @@ -315,12 +315,12 @@ &interaction.tour-merge-conflict.pull; Dans cette exemple, je n'utiliserais pas la commande Mercurial - habituelle hgmerge pour effectuer le + habituelle hgmerge pour effectuer la fusion (merge), car il me faudrait abandonner ce joli petit exemple automatisé pour utiliser un outil graphique. À la place, je vais définir la variable d'environnement HGMERGE pour indiquer à Mercurial d'utiliser la commande non-interactive merge. - Cette dernière est embarquée par de nombreux systèmes à la Unix. + Cette dernière est comprise dans de nombreux systèmes à la Unix. Si vous exécutez cet exemple depuis votre ordinateur, ne vous occupez pas de définir HGMERGE. @@ -344,7 +344,7 @@ Si la fusion (merge) automatique ou manuelle échoue, il n'y a rien pour nous empêcher de corriger le tir en - modifiant nous même les fichiers, et enfin effectuer le "commit" du + modifiant nous même les fichiers, et enfin effectuer le commit du fichier: &interaction.tour-merge-conflict.commit; @@ -353,19 +353,19 @@ Où est la <command>hg resolve</command> ? La commande hg resolve a été - introduit dans la version 1.1 de Mercurial, qui a été publié en + introduit dans la version 1.1 de Mercurial, qui a été publiée en décembre 2008. Si vous utilisez une version plus anciennne de Mercurial (exécutez la command hg version pour en - avoir le coeur net), cette commande ne sera pas disponible. Si votre + avoir le cœur net), cette commande ne sera pas disponible. Si votre version de Mercurial est plus ancienne que la 1.1, vous devriez très - fortement considérer une mise à jour à une version plus récente avant + fortement considérer une mise à jour vers une version plus récente avant d'essayer de régler des fusions complexes. - Simplification de la séquence pull-merge-commit + Simplification de la séquence <quote>pull-merge-commit</quote> La procédure pour effectuer la fusion indiquée ci-dessus est simple, mais requiert le lancement de trois commandes à la @@ -375,39 +375,39 @@ hg merge hg commit -m 'Merged remote changes' - Lors du "commit" final, vous devez également saisir un + Lors du commit final, vous devez également saisir un message, qui aura vraisemblablement assez peu d'intérêt. Il serait assez sympathique de pouvoir réduire le nombre d'opérations nécessaire, si possible. De fait Mercurial est - fourni avec une extension appelé fetch + fournit avec une extension appelée fetch qui fait justement cela. - Mercurial fourni un mécanisme d'extension flexible qui permet à chacun + Mercurial fournit un mécanisme d'extension flexible qui permet à chacun d'étendre ces fonctionnalités, tout en conservant le cœur de Mercurial - léger et facile à utiliser. Certains extensions ajoutent de nouvelles + léger et facile à utiliser. Certaines extensions ajoutent de nouvelles commandes que vous pouvez utiliser en ligne de commande, alors que - d'autres travaillent en coulisse, par exemple en ajoutant des + d'autres travaillent en coulisse, par exemple en ajoutant des possibilités au serveur. L'extension fetch ajoute une nouvelle commande nommée, sans surprise, hg fetch. Cette extension résulte en une + role="hg-cmd">hg fetch. Cette extension consiste en une combinaison de hg pull, hg update and hg + role="hg-cmd">hg update et hg merge. Elle commence par récupérer les modifications d'un autre dépôt dans le dépôt courant. Si elle trouve que les - modifications ajoutent une nouvelle "head", elle effectue un "merge", - et ensuite "commit" le résultat du "merge" avec un message généré - automatiquement. Si aucune "head" n'ont été ajouté, elle met à jour le - répertoire de travail au niveau de la nouvelle révision tip. + modifications ajoutent une nouvelle head, elle effectue un merge, + et ensuite commit le résultat du merge avec un message généré + automatiquement. Si aucune head n'a été ajouté, elle met à jour le + répertoire de travail au niveau de la nouvelle révision tip. Activer l'extension fetch est facile. Modifiez votre .hgrc, et soit allez à la section extensions soit créer une section + role="rc-extensions">extensions soit créez une section extensions. Ensuite ajoutez - une ligne qui consiste simplement en \Verb+fetch =. + une ligne qui consiste simplement en fetch =. [extensions] fetch = @@ -431,16 +431,16 @@ Mercurial permet de faire ce genre de modification de manière fluide, à condition de l'informer de ce que nous faisons. Si - vous voulez renommenr un ficher, vous devriez utiliser les commande + vous voulez renommer un ficher, vous devriez utiliser la commande hg rename - Si vous un utilisateur de Unix, vous serez content - de savoir que la commande hg rename command + Si vous êtes un utilisateur d'Unix, vous serez content + de savoir que la commande hg rename peut être abrégée en hg mv. pour changer son nom, ainsi Mercurial peut ensuite prendre la bonne décision, plus tard, en cas de fusionv (merge). - Nous étudierojns en détail l'utilisation de ces commandes, - en détail, dans le chapitre . + Nous étudierons, en détail, l'utilisation de ces commandes + dans le chapitre .