hgbook
changeset 1017:77b4f62bed20
some typo and better french translation
author | André Sintzoff <andre.sintzoff@gmail.com> |
---|---|
date | Wed Nov 25 15:33:52 2009 +0100 (2009-11-25) |
parents | c1848976fd6a |
children | 75456ed96549 |
files | fr/ch04-concepts.xml |
line diff
1.1 --- a/fr/ch04-concepts.xml Wed Nov 25 14:45:11 2009 +0100 1.2 +++ b/fr/ch04-concepts.xml Wed Nov 25 15:33:52 2009 +0100 1.3 @@ -14,12 +14,12 @@ 1.4 Mercurial a été développé avec soin pour être à la fois 1.5 <emphasis>sûr</emphasis> et <emphasis>efficace</emphasis>. De surcroît, 1.6 s'il m'est facile de garder en tête ce que le logiciel fait lorsque 1.7 - j'accompli des tâches de révision, j'aurai moins de risques d'être 1.8 + j'accomplis des tâches de révision, j'aurai moins de risques d'être 1.9 surpris par son comportement.</para> 1.10 1.11 <para id="x_2ea">Dans ce chapitre, nous décrirons tout d'abord les concepts 1.12 essentiels de l'architecture de Mercurial, pour ensuite discuter quelques 1.13 - uns des détails intéressants de son implémentation.</para> 1.14 + détails intéressants de son implémentation.</para> 1.15 1.16 <sect1> 1.17 <title>Conservation de l'historique sous Mercurial</title> 1.18 @@ -33,7 +33,7 @@ 1.19 révision du fichier correspondant. Les <quote>filelogs</quote> sont des fichiers 1.20 stockés dans le répertoire <filename role="special" 1.21 class="directory">.hg/store/data</filename>. Un <quote>filelog</quote> contient 1.22 - des informations de deux types: les données de révision, et un index 1.23 + des informations de deux types : les données de révision, et un index 1.24 pour permettre à Mercurial une recherche efficace d'une révision 1.25 donnée.</para> 1.26 1.27 @@ -79,7 +79,7 @@ 1.28 <sect2> 1.29 <title>Relations entre les révisions</title> 1.30 1.31 - <para id="x_2f0">A l'intérieur d'un <quote>changelog</quote>, d'un <quote>manifest</quote>, ou d'un 1.32 + <para id="x_2f0">À l'intérieur d'un <quote>changelog</quote>, d'un <quote>manifest</quote>, ou d'un 1.33 <quote>filelog</quote>, chaque révision enregistre un pointeur vers son parent 1.34 immédiat (ou à ses deux parents s'il s'agit d'une révision 1.35 correspondant à une fusion (merge)). Comme mentionné plus haut, il y 1.36 @@ -124,13 +124,13 @@ 1.37 <emphasis>revlog</emphasis>.</para> 1.38 1.39 <sect2> 1.40 - <title>stockage efficace</title> 1.41 + <title>Stockage efficace</title> 1.42 1.43 <para id="x_2f5">Le <quote>revlog</quote> fournit un stockage efficace des révisions en 1.44 - utilisant un mécanisme <emphasis>delta</emphasis>. A lieu de stocker 1.45 + utilisant un mécanisme <emphasis>delta</emphasis>. Au lieu de stocker 1.46 une copie complète d'un fichier à chaque révision, il stocke les 1.47 changements requis pour transformer une révision plus ancienne en une 1.48 - nouvelle révision. Pour plusieurs type de données, ces deltas sont 1.49 + nouvelle révision. Pour plusieurs types de données, ces deltas sont 1.50 typiquement une fraction de pourcentage de la taille de la copie 1.51 complète d'un fichier.</para> 1.52 1.53 @@ -155,7 +155,7 @@ 1.54 <para id="x_2f8">De plus, Mercurial traite chaque écriture comme la 1.55 partie d'une <emphasis>transaction</emphasis> qui peut comprendre 1.56 plusieurs fichiers. Une transaction est <emphasis>atomique</emphasis> 1.57 - : soit la transaction entière réussie ses effets sont tous 1.58 + : soit la transaction entière réussit et ses effets sont tous 1.59 visibles aux lecteurs en une étape, soit la totalité est annulée. 1.60 Cette garantie de l'atomicité signifie que si vous exécutez deux 1.61 copies de Mercurial, où une lit les données et l'autre les écrit, le 1.62 @@ -173,7 +173,7 @@ 1.63 1.64 <para id="x_2fa">Mercurial évite habillement un piège commun à tous les 1.65 vieux systèmes de gestion de révisions : le problème de la 1.66 - <emphasis>récupération inefficace</emphasis> La plupart des systèmes 1.67 + <emphasis>récupération inefficace</emphasis>. La plupart des systèmes 1.68 de gestion de révisions stockent le contenu d'une révision comme une 1.69 série incrémentale de modifications faites à un 1.70 <quote>snapshot</quote>. (Certains basent le <quote>snapshot</quote> sur la plus 1.71 @@ -192,8 +192,8 @@ 1.72 </mediaobject> 1.73 </figure> 1.74 1.75 - <para id="x_2fc">L'inovation que Mercurial apporte à ce problème est 1.76 - simple mais effective. Une fois que la quantité cumulée de deltas 1.77 + <para id="x_2fc">L'innovation que Mercurial apporte à ce problème est 1.78 + simple mais efficace. Une fois que la quantité cumulée de deltas 1.79 d'informations stockées depuis le dernier snapshot excède un seuil 1.80 fixé, il stocke un nouveau <quote>snapshot</quote> (compressé bien sûr), plutôt qu'un 1.81 nouveau delta. Ceci rend possible la reconstruction de 1.82 @@ -207,13 +207,13 @@ 1.83 lire pour reconstruire une révision particulière.</para> 1.84 1.85 <sect3> 1.86 - <title>En amont : l'influence de la compression vidéo</title> 1.87 + <title>Aparté : l'influence de la compression vidéo</title> 1.88 1.89 <para id="x_2fe">Si vous êtes familiés de la compression vidéo ou 1.90 - avez déjà regardé un programme TV par cable ou par un service 1.91 + avez déjà regardé un programme TV par câble ou par un service 1.92 satellite, vous devez savoir que la plupart des schémas de 1.93 - compression vidéo stockent chaque frame de vidéo comme un delta vis 1.94 - à vis de la frame précédente.</para> 1.95 + compression vidéo stockent chaque trame de vidéo comme un delta 1.96 + vis-à-vis de la trame précédente.</para> 1.97 1.98 <para id="x_2ff">Mercurial emprunte cette idée pour rendre possible 1.99 la reconstruction d'une révision à partir d'un snapshot et d'un 1.100 @@ -235,8 +235,8 @@ 1.101 identifiants pour les révisions. Les <quote>hashs</quote> d'identifications d'un 1.102 <quote>changeset</quote> que vous voyez comme utilisateur final proviennent des 1.103 révisions du <quote>changelog</quote>. Bien que les <quote>filelogs</quote> et le <quote>manifest</quote> 1.104 - utilisent aussi des <quote>hashs</quote>, Mercurial ne les utilise qu'en arrière 1.105 - plan.</para> 1.106 + utilisent aussi des <quote>hashs</quote>, Mercurial ne les utilise qu'en 1.107 + arrière-plan.</para> 1.108 1.109 <para id="x_302">Mercurial vérifie que les <quote>hashs</quote> sont corrects lorsqu'il 1.110 récupère les révisions de fichiers et lorsqu'il récupère (pull) les 1.111 @@ -329,11 +329,11 @@ 1.112 donne les parents du dirstate.</para> 1.113 1.114 <sect2> 1.115 - <title>Que se passe-t'il lorsque vous <quote>committez</quote></title> 1.116 + <title>Que se passe-t-il lorsque vous <quote>committez</quote></title> 1.117 1.118 <para id="x_30b">Le <quote>dirstate</quote> stocke les informations sur les parents 1.119 - pour plus qu'un simple livre de stockage. Mercurial utilise les 1.120 - parents du <quote>distate</quote> comme <emphasis>les parents d'un nouveau 1.121 + pour plus qu'une simple comptabilité. Mercurial utilise les 1.122 + parents du <quote>dirstate</quote> comme <emphasis>les parents d'un nouveau 1.123 <quote>changeset</quote></emphasis> lorsque vous <quote>committez</quote>.</para> 1.124 1.125 <figure id="fig:concepts:wdir"> 1.126 @@ -385,7 +385,7 @@ 1.127 introduit un bug. Dans des cas comme ça, la chose naturelle à faire 1.128 est de faire un <quote>update</quote> du répertoire de travail au <quote>changeset</quote> qui vous 1.129 intéresse, et ensuite d'en examiner les fichiers pour regarder leurs 1.130 - contenus comme ils l'étaient lorsque vous avez <quote>commité</quote> ce <quote>changeset</quote>. 1.131 + contenus comme ils l'étaient lorsque vous avez <quote>committé</quote> ce <quote>changeset</quote>. 1.132 L'effet de ceci est montré dans <xref 1.133 linkend="fig:concepts:wdir-pre-branch"/>.</para> 1.134 1.135 @@ -399,7 +399,7 @@ 1.136 </figure> 1.137 1.138 <para id="x_313">En ayant fait un <quote>update</quote> du répertoire de travail vers 1.139 - un <quote>changeset</quote> plus ancien, que se passe-t'il si vous faites des 1.140 + un <quote>changeset</quote> plus ancien, que se passe-t-il si vous faites des 1.141 changements et ensuite <quote>committez</quote> ? Mercurial se comporte comme je 1.142 l'ai fait remarqué plus haut. Les parents du répertoire de travail 1.143 deviennent les parents du nouveau <quote>changeset</quote>. Ce nouveau <quote>changeset</quote> n'a 1.144 @@ -418,7 +418,7 @@ 1.145 </figure> 1.146 1.147 <note> 1.148 - <para id="x_315">Si vous êtes nouveau à Mercurial, vous devez garder 1.149 + <para id="x_315">Si vous êtes un nouvel utilisateur de Mercurial, vous devez garder 1.150 à l'esprit une <quote>erreur</quote> commune, qui est d'utiliser la 1.151 commande <command role="hg-cmd">hg pull</command> sans aucune 1.152 option. Par défaut, la commande <command role="hg-cmd">hg 1.153 @@ -433,7 +433,7 @@ 1.154 pull -u</command>.</para> 1.155 1.156 <para id="x_316">Je place le mot <quote>erreur</quote> entre 1.157 - guillemets parce que tous ce dont vous avez besoin de faire pour 1.158 + guillemets parce que tout ce dont vous avez besoin de faire pour 1.159 rectifier la situation où vous avez créé une nouvelle <quote>head</quote> par 1.160 accident est un <command role="hg-cmd">hg merge</command> suivi 1.161 d'un <command role="hg-cmd">hg commit</command>. En d'autres mots, 1.162 @@ -479,27 +479,27 @@ 1.163 mais que l'autre a modifié le fichier, demander à l'utilisateur 1.164 quoi faire : garder le fichier modifié ou le supprimer ?</para> 1.165 </listitem> 1.166 - <listitem><para id="x_31e">Si chacun des <quote>changeset</quote> a modifié un 1.167 + <listitem><para id="x_31e">Si chacun des <quote>changesets</quote> a modifié un 1.168 fichier, invoquer le programme externe de fusion pour choisir les 1.169 nouveaux contenus pour le fichier fusionné. Ceci peut demander 1.170 - des entrées de l'utilisateur.</para></listitem> 1.171 + une intervention de l'utilisateur.</para></listitem> 1.172 <listitem><para id="x_31f">Si un <quote>changeset</quote> a modifié un fichier, et 1.173 que l'autre a renommé ou copié le fichier, être sûr que les 1.174 changements suivent le nouveau nom du fichier.</para></listitem> 1.175 </itemizedlist> 1.176 1.177 <para id="x_320">Il y a plus de détails&emdash;fusionner a beaucoup de 1.178 - cas anguleux&emdash;mais ceux-ci sont des chois plus communs qui sont 1.179 - invoqués pendant une fusion (merge). Comme vous pouvez le voir, la 1.180 + <quote>corner cases</quote>&emdash;mais ceux-ci sont des choix plus communs qui sont 1.181 + liés à une fusion (merge). Comme vous pouvez le voir, la 1.182 plupart des cas sont entièrement automatiques, et effectivement, la 1.183 - plupart des fusions (merge) se terminent automatiquement, sans avoir 1.184 - besoin d'entrées pour résoudre un conflit.</para> 1.185 + plupart des fusions (merge) se terminent automatiquement, sans nécessiter 1.186 + votre intervention pour résoudre un conflit.</para> 1.187 1.188 <para id="x_321">Lorsque vous pensez à ce qu'il se passe lorsque vous 1.189 <quote>committez</quote> après un <quote>merge</quote>, une fois encore, le répertoire de travail 1.190 est <quote>le changeset que je suis sur le point de 1.191 committer</quote>. Après que la commande <command role="hg-cmd">hg 1.192 - merge</command> ait terminé, le répertoire de travail a deux 1.193 + merge</command> soit terminée, le répertoire de travail a deux 1.194 parents ; ceux ci vont devenir les parents du nouveau 1.195 <quote>changeset</quote>.</para> 1.196 1.197 @@ -508,10 +508,10 @@ 1.198 au fur et à mesure. Ceci est nécessaire puisque Mercurial ne stocke 1.199 que deux parents pour chaque révision et le répertoire de travail. 1.200 Alors qu'il serait techniquement faisable de fusionner de multiples 1.201 - <quote>changesets</quote> en même temps, Mercurial interdit cette simplicité. Avec 1.202 + <quote>changesets</quote> en même temps, Mercurial interdit cela pour être plus simple. Avec 1.203 des fusions multiples, les risques de confusion pour l'utilisateur, de 1.204 - conflits de résolutions, et de pagaille dans les fusions 1.205 - augmenteraient de façon Intolérable.</para> 1.206 + mauvaie résolution de conflits, et de pagaille dans les fusions 1.207 + augmenteraient de façon intolérable.</para> 1.208 1.209 </sect2> 1.210 1.211 @@ -519,13 +519,13 @@ 1.212 <title>Fusions et renommages</title> 1.213 1.214 <para id="x_69a">Un nombre surprenant de systèmes de gestion de 1.215 - révisions fait peu ou pas attention à un <emphasis>nom</emphasis> au 1.216 + révisions fait peu ou pas attention à un <emphasis>nom</emphasis> de fichier au 1.217 cours du temps. Par exemple, il était habituel que si un fichier 1.218 était renommé d'un coté de la fusion, les changements à partir de 1.219 l'autre coté étaient supprimés silencieusement.</para> 1.220 1.221 <para id="x_69b">Mercurial enregistre les metadata lorsque vous lui 1.222 - dite d'exécuter un renommage ou une copie. Il utilise ces metadatas 1.223 + dites d'exécuter un renommage ou une copie. Il utilise ces metadatas 1.224 durant une fusion pour faire les bonnes choses dans le cas d'un 1.225 <quote>merge</quote>. Par exemple, si je renomme un fichier et que vous l'éditez 1.226 sans le renommer, lorsque l'on fusionne, le fichier sera renommé et 1.227 @@ -542,14 +542,14 @@ 1.228 illustrer l'attention particulière qui a été portée à la fiabilité et à 1.229 la performance. Cependant, l'attention aux détails ne s'arrête pas ici. 1.230 Il y a de nombreux aspects sur la construction de Mercurial que je 1.231 - trouve personnellement intéressante. J'en détaillerai quelques-uns 1.232 + trouve personnellement intéressants. J'en détaillerai quelques-uns 1.233 ici, séparément des éléments du <quote>big ticket</quote> ci-dessus, 1.234 ainsi, si vous êtes intéressés, vous pourrez avoir une meilleure idée 1.235 de la quantité d'ingéniosité qu'il y a derrière un système bien 1.236 conçu.</para> 1.237 1.238 <sect2> 1.239 - <title>Compression élégante</title> 1.240 + <title>Compression astucieuse</title> 1.241 1.242 <para id="x_324">Lorsque cela est approprié, Mercurial stocke les 1.243 <quote>snapshots</quote> et deltas sous une forme compressée. Il le fait en 1.244 @@ -565,7 +565,7 @@ 1.245 compressée une seule fois et Mercurial stockera alors le 1.246 <literal>zip</literal> ou JPEG.</para> 1.247 1.248 - <para id="x_326">Les Deltas entre les révisions d'un fichier compressé 1.249 + <para id="x_326">Les deltas entre les révisions d'un fichier compressé 1.250 sont habituellement plus gros que les snapshots du fichier, et 1.251 Mercurial fait à nouveau <quote>la bonne chose</quote> dans ces cas. 1.252 Il trouve qu'un delta dépasse le seuil auquel il devrait stocker un 1.253 @@ -574,12 +574,12 @@ 1.254 seulement.</quote> 1.255 1.256 <sect3> 1.257 - <title>Recompression réseau</title> 1.258 + <title>Recompression sur le réseau</title> 1.259 1.260 <para id="x_327">Lors du stockage des révisions sur le disque, 1.261 Mercurial utilise l'algorithme de compression 1.262 - <quote>deflate</quote> (le même que celui utilisé pour le format 1.263 - d'archive populaire <literal>zip</literal>), qui est un bon 1.264 + <quote>deflate</quote> (le même que celui utilisé pour le format populaire 1.265 + d'archive <literal>zip</literal>), qui est un bon 1.266 compromis entre la vitesse et le taux de compression. Cependant, 1.267 lors de la transmission d'une révision de données par une connexion 1.268 réseau, Mercurial décompresse les données de révision 1.269 @@ -590,7 +590,7 @@ 1.270 compression qui donne un meilleur taux de compression (l'algorithme 1.271 Burrows-Wheeler utilisé principalement par le logiciel de 1.272 compression <literal>bzip2</literal>). Cette combinaison de 1.273 - l'algorithme et de compression du flux entier (plutôt que pour une 1.274 + l'algorithme et de la compression du flux entier (plutôt que pour une 1.275 révision à la fois) réduit substantiellement le nombre de bits qui 1.276 sont transférés, résultant en une performance réseau accrue sur 1.277 la plupart des supports.</para> 1.278 @@ -598,7 +598,7 @@ 1.279 <para id="x_329">Si la connexion passe par 1.280 <command>ssh</command>, Mercurial <emphasis>ne</emphasis> 1.281 recompresse <emphasis>pas</emphasis> le flux puisque 1.282 - <command>ssh</command> peut déjà le faire par lui même. Vous pouvez 1.283 + <command>ssh</command> peut déjà le faire par lui-même. Vous pouvez 1.284 demander à Mercurial de toujours utiliser la compression 1.285 <command>ssh</command> en éditant le fichier 1.286 <filename>.hgrc</filename> de votre répertoire personnel comme ci-dessous. 1.287 @@ -610,7 +610,7 @@ 1.288 </sect3> 1.289 </sect2> 1.290 <sect2> 1.291 - <title>Ordres de Lecture/Écriture et atomicité</title> 1.292 + <title>Ordre de lecture/écriture et atomicité</title> 1.293 1.294 <para id="x_32a">L'histoire ne se résume pas à ajouter à la fin des fichiers 1.295 lorsque l'on cherche à garantir que le lecteur ne verra 1.296 @@ -651,15 +651,15 @@ 1.297 multi-utilisateurs, vous n'avez pas besoin de donner aux autres 1.298 utilisateurs locaux la permission d'<emphasis>écrire</emphasis> sur 1.299 votre dépôt pour qu'ils soient capable de faire un clone ou un <quote>pull</quote> 1.300 - des changements à partir de celui ci ; ils ont seulement besoin de la 1.301 + des changements à partir de celui-ci ; ils ont seulement besoin de la 1.302 permission en <emphasis>lecture</emphasis>. (Il 1.303 <emphasis>ne</emphasis> s'agit <emphasis>pas</emphasis> d'une 1.304 fonctionnalité commune à travers les systèmes de gestion de révisions, 1.305 - donc ne prenez pas ça pour garantie ! La plupart ont besoin que les 1.306 + donc ne prenez pas ça pour argent comptant ! La plupart ont besoin que les 1.307 lecteurs soient capables de mettre un lock sur le dépôt pour y 1.308 accéder en toute sécurité, et ceci demande des permissions en 1.309 écriture, sur au moins un répertoire, ce qui provoque bien sûr toutes 1.310 - sortes de problèmes néfastes et ennuyants relatifs à la sécurité et à 1.311 + sortes de problèmes pénibles et agaçants relatifs à la sécurité et à 1.312 l'administration.)</para> 1.313 1.314 <para id="x_32f">Mercurial utilise des <quote>locks</quote> pour assurer qu'un seul 1.315 @@ -739,7 +739,7 @@ 1.316 role="hg-cmd">hg add</command>, <command role="hg-cmd">hg 1.317 remove</command>, <command role="hg-cmd">hg rename</command> ou 1.318 <command role="hg-cmd">hg copy</command> sur des fichiers, Mercurial 1.319 - met à jour le <quote>dirstate</quote> afin de savoir quoi faire lorsque vous 1.320 + met à jour le <quote>dirstate</quote> afin de savoir que faire lorsque vous 1.321 effectuez un <quote>commit</quote>.</para> 1.322 1.323 <para id="x_337">Le <quote>dirstate</quote> aide Mercurial à vérifier efficacement le 1.324 @@ -750,9 +750,9 @@ 1.325 fichier du répertoire de travail, il compare d'abord la date de 1.326 dernière modification du fichier avec celle enregistrée dans le 1.327 <quote>dirstate</quote> qui correspond à celle que Mercurial a écrit en dernier sur ce 1.328 - fichier. Si le temps de dernière modification correspond au temps 1.329 + fichier. Si la date de dernière modification correspond à la date 1.330 où Mercurial a écrit le fichier, celui ci n'a pas été modifié, 1.331 - donc mercurial n'a pas besoin de revérifier.</para> </listitem> 1.332 + donc Mercurial n'a pas besoin de revérifier.</para> </listitem> 1.333 <listitem> <para id="x_727"> Si la taille du fichier a changé, celui-ci 1.334 a été modifié. Si la date de modification a changé mais que la 1.335 taille est restée inchangée, seulement à ce moment là Mercurial