monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] org.debian.monotone: 119d9835473083ea281f8b6c25


From: code
Subject: [Monotone-commits-diffs] org.debian.monotone: 119d9835473083ea281f8b6c25106c414cdc1712
Date: Mon, 11 Mar 2013 21:53:38 +0100 (CET)

revision:            119d9835473083ea281f8b6c25106c414cdc1712
date:                2011-04-16T20:57:48
author:              Ludovic Brenta
branch:              org.debian.monotone
changelog:
propagate from branch 'org.debian.monotone.for-mtn-1.0' (head 
1b6c64d7c30293cd13d7a9590926392e4a6ffc25)
            to branch 'org.debian.monotone' (head 
5ead3ba09fe8703404f408d89290944ef090ab64)

manifest:
format_version "1"

new_manifest [81aaa441b32c0fd59d8849a59ce85c22bb2ad17a]

old_revision [1b6c64d7c30293cd13d7a9590926392e4a6ffc25]

add_file "patches/30-french-po-translation.diff"
 content [ece3bd092a177090c33b30ea9ec9023b386df6ca]

patch "changelog"
 from [c6c1d4441d259590ef449cd987f64b89712996f7]
   to [56a933c43b5bc6a2d13bcd3b6401828760837220]

patch "patches/series"
 from [d085ce25149726bf6612542039b1db24c5f58199]
   to [236f423bf2b7169227baf0189c68a9ee0ebbb343]

old_revision [5ead3ba09fe8703404f408d89290944ef090ab64]

delete "monotone-doc.dirs"

delete "monotone-doc.postinst"

delete "mtn.1"

delete "mtnopt.1"

delete "patches/00-fail_cleanly_on_unreadable_db.diff"

delete "patches/10-sqlite_3.7.3_empty_blob.diff"

delete "patches/20-empty-command.diff"

add_file "monotone-extras.install"
 content [073df8a5bf50190e88baebeaa43caf8f6b1030ea]

add_file "monotone-extras.manpages"
 content [00a41d70dd2531062e4332f49f74b0954e50bb79]

add_file "monotone-server.install"
 content [a858c18b9dc0457a6496d90e12de6d5ed1f371af]

add_file "monotone.bash-completion"
 content [9c69ac6439278e55c7f47523e422f0b80b4a6b2d]

add_file "monotone.install"
 content [8bf0469ffc5d883940c29a2ac7d71e20d608513a]

add_file "nofakeroot"
 content [d369479dbe3ce7fd13457355a575f47408b5bef2]

add_file "patches/00-db-extension-bash-completion.diff"
 content [5c2f94ea2ba17dd0985d43eed3e0b4586dc9d6aa]

patch "NEWS"
 from [78caab2b1867e334beafb4f4c95c79549cd4e8c9]
   to [8bc3d4ad19514c4c0ce9fe34092f2219f990ea00]

patch "README.source"
 from [87ba90d5cb10c8de344980c01934dbfae29ca6bf]
   to [96e6fe0fe05d1cc8d6d5bcb2ba745189781a0840]

patch "changelog"
 from [e748d7bdb93064d684705702a77171cf2a8251f6]
   to [56a933c43b5bc6a2d13bcd3b6401828760837220]

patch "control"
 from [dc83d89942e580c2902eebe94e189550fd339f5e]
   to [c15336837da5d51e4de284b765dcc95d31ca5ba9]

patch "monotone-doc.docs"
 from [befa0a5aa8814a3a456423e6fa384348e9660721]
   to [eda7c1fca468a046ffe0db875f92786dce5b5089]

patch "monotone-doc.info"
 from [a9819b431d8d972835382dcd0ec843c5c9a89123]
   to [969043f2a07d32f9486390f82a5bdb68c856e1f1]

patch "monotone-server.dirs"
 from [8371baee2f6bd274d9570f775fb93ef89cfbb2c4]
   to [2cc70b3d6de42321bd5fae1384a476de322ef637]

patch "monotone-server.monotone.init"
 from [0252e2d038ead1a191bb35610f452afd632a70a7]
   to [7877078cede63a76a087b7ee337877fa59ff2458]

patch "monotone-server.postinst"
 from [96f6ef1f815b124b4c1470f8350eac81dafd4102]
   to [4849f56d9430439b269eaacdc39c5b14ac3c52e1]

patch "monotone-server.postrm"
 from [c0e4b14cd4e68e04d124512de019131aeb366bf4]
   to [40b86523664da7c4e85dded8e81551b94ca44e38]

patch "monotone.docs"
 from [acbe6763ec74c6f43841414c82df93c6eddd8f73]
   to [aa81a7323cad8a809f867f778766d182509a1a4c]

patch "monotone.manpages"
 from [0feb2e5e14684d3b745f5010c25f2b7afcaf8ec7]
   to [2655a78f856fac191d29bba0116261b29006b73b]

patch "patches/90-stacktrace-on-crash.diff"
 from [b2e12bcd791608afa8729fa452cf54a11b2b87a1]
   to [5be4b7c1a377c269a92e51af71f6d9f5f8b9ace5]

patch "patches/series"
 from [9efdefce8bcaa0f95576d2e60dac60317a58e4c7]
   to [236f423bf2b7169227baf0189c68a9ee0ebbb343]

patch "rules"
 from [7ac69708a183c3eefcb4bfd4594f07f417334070]
   to [30cd3012c7c46422bff2988de9fdd5f44a1eddf8]

patch "source/format"
 from [61652cd1568dcf2614df833eba241755eee34e89]
   to [1064dc0ce263680c076a1005f35ec906a5cf5a32]

  set "nofakeroot"
 attr "mtn:execute"
value "true"
============================================================
--- changelog	c6c1d4441d259590ef449cd987f64b89712996f7
+++ changelog	56a933c43b5bc6a2d13bcd3b6401828760837220
@@ -37,6 +37,13 @@ monotone (1.0-1) unstable; urgency=low
 
  -- Richard Levitte <address@hidden>  Sat, 16 Apr 2011 17:52:38 +0200
 
+monotone (0.48-4) unstable; urgency=low
+
+  * Add updated french po translation from the debian-l10n-french mailing list
+    with minor fixes from Richard Levitte (closes: #606185). 
+
+ -- Francis Russell <address@hidden>  Sun, 26 Dec 2010 13:55:48 +0000
+
 monotone (0.48-3) unstable; urgency=high
 
   * Add debian/source/format file as it may become mandatory.
============================================================
--- /dev/null	
+++ patches/30-french-po-translation.diff	ece3bd092a177090c33b30ea9ec9023b386df6ca
@@ -0,0 +1,8620 @@
+Description: Updated french po translation, proof read by the debian-l10n-french
+  mailing list contributors. This version required minor fixes from Richard
+  Levitte before gettext would handle it cleanly and comes from revision
+  1c00e6f4ffa7bfadf236707c54e0ac8f525d7b5d of the monotone-0.48 branch. The
+  Applied-Upstream tag refers to the commit of these translations to mainline.
+Origin: http://bugs.debian.org/606185
+Bug-Debian: http://bugs.debian.org/606185
+Applied-Upstream: https://code.monotone.ca/p/monotone/source/commit/4dfe24e1d8cecb7e9c0fe6212ce92bb874b6d855/
+Index: monotone-0.48/po/LINGUAS
+===================================================================
+--- monotone-0.48.orig/po/LINGUAS	2010-12-26 13:41:41.670556635 +0000
++++ monotone-0.48/po/LINGUAS	2010-12-26 13:41:53.280105187 +0000
+@@ -3,4 +3,4 @@
+ de
+ es
+ pt
+-
++fr
+Index: monotone-0.48/po/fr.po
+===================================================================
+--- monotone-0.48.orig/po/fr.po	2010-12-26 13:43:20.952695843 +0000
++++ monotone-0.48/po/fr.po	2010-12-26 13:43:51.310483222 +0000
+@@ -3,6 +3,7 @@
+ # Benoît Dejean <address@hidden>, 2005-2007
+ # Richard Levitte <address@hidden>, 2006-2007
+ # Stéphane Gimenez <address@hidden>, 2007
++# Steve Petruzzello <address@hidden>, 2010
+ #
+ # GUIDE DE TRADUCTION
+ # ===================
+@@ -59,7 +60,7 @@
+ # a baseline              ?
+ # a Berkeley DB           une base Berkeley
+ # a bookkeeping directory
+-#                         un dossier administratif
++#                         un répertoire administratif
+ # a boolean               ?
+ # a branch                une branche
+ # a buffer                ?
+@@ -80,7 +81,7 @@
+ # a descendent            un descendant
+ # destination             destination / but
+ # an external definition  une référence externe
+-# a directory             un dossier / un répertoire
++# a directory             un répertoire / un répertoire
+ # a disapproval           désapprobation
+ # disconnection           déconnexion
+ # a divergence            divergence
+@@ -247,12 +248,13 @@
+ # invalid                 pas valable
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: monotone 0.36\n"
++"Project-Id-Version: monotone 0.48\n"
+ "Report-Msgid-Bugs-To: address@hidden"
+-"POT-Creation-Date: 2010-06-13 23:48+0200\n"
+-"PO-Revision-Date: 2008-12-18 22:02+0100\n"
+-"Last-Translator: Benoît Dejean <address@hidden>\n"
+-"Language-Team: Benoît Dejean <address@hidden>\n"
++"POT-Creation-Date: 2010-12-25 17:00+0100\n"
++"PO-Revision-Date: 2010-12-25 17:06+0100\n"
++"Last-Translator: Steve Petruzzello <address@hidden>\n"
++"Language-Team: French <address@hidden>\n"
++"Language: fr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -275,12 +277,13 @@
+ #, c-format
+ msgid "%s:%d: index '%s' = %d overflowed vector '%s' with size %d"
+ msgstr ""
+-"%s:%d : l'index « %s » = %d dépasse la capacité du vecteur « %s » de taille %d"
++"%s:%d : l'index « %s » = %d dépasse la capacité du vecteur « %s » de taille "
++"%d"
+ 
+ #: sanity.cc:423
+ #, c-format
+ msgid "Current work set: %i items"
+-msgstr "Ensemble de travail actuel: %i objets"
++msgstr "Ensemble de travail actuel : %i objets"
+ 
+ #: sanity.hh:374 lua_hooks.cc:105
+ #, c-format
+@@ -288,14 +291,14 @@
+ msgstr "%s"
+ 
+ #: vocab.cc:37
+-#, fuzzy, c-format
++#, c-format
+ msgid "bad character '%c' in '%s'"
+-msgstr "caractère invalide « %c » dans le symbole « %s »"
++msgstr "caractère invalide « %c » dans « %s »"
+ 
+ #: vocab.cc:49
+ #, c-format
+ msgid "hex encoded ID '%s' size != %d"
+-msgstr "ID codée en hexadécimal « %s » size != %d"
++msgstr "ID codée en hexadécimal « %s » size != %d"
+ 
+ #: vocab.cc:53
+ #, c-format
+@@ -303,9 +306,9 @@
+ msgstr "caractère invalide « %c » dans le nom de l'identifiant « %s »"
+ 
+ #: vocab.cc:65
+-#, fuzzy, c-format
++#, c-format
+ msgid "invalid ID '%s'"
+-msgstr "dossier invalide «  »"
++msgstr "ID invalide « %s »"
+ 
+ #: vocab.cc:74
+ #, c-format
+@@ -340,37 +343,37 @@
+ #: charset.cc:337 charset.cc:351
+ #, c-format
+ msgid "error converting %d UTF-8 bytes to IDNA ACE: %s"
+-msgstr "conversion de %d octets d'UTF-8 en IDNA ACE: %s"
++msgstr "conversion de %d octets d'UTF-8 en IDNA ACE : %s"
+ 
+ #: paths.cc:360 paths.cc:381 paths.cc:386
+ #, c-format
+ msgid "path '%s' is invalid"
+-msgstr "le chemin « %s » n'est pas valide"
++msgstr "le chemin « %s » est invalide"
+ 
+ #: paths.cc:365
+-#, fuzzy, c-format
++#, c-format
+ msgid "absolute path '%s' is invalid"
+-msgstr "l'espace de travail est corrompu : %s est invalide"
++msgstr "le chemin absolu « %s » est invalide"
+ 
+ #: paths.cc:446 paths.cc:466
+ #, c-format
+ msgid "path '%s' is in bookkeeping dir"
+-msgstr ""
++msgstr "Le chemin « %s » est dans le répertoire administratif"
+ 
+ #: paths.cc:460
+ #, c-format
+ msgid "Invalid utf8"
+-msgstr ""
++msgstr "Encodage UTF8 invalide"
+ 
+ #: paths.cc:484
+-#, fuzzy, c-format
++#, c-format
+ msgid "Path is not normalized"
+-msgstr "la liste %s n'est pas en forme normalisé\n"
++msgstr "le chemin n'est pas en forme normalisée"
+ 
+ #: paths.cc:486
+ #, c-format
+ msgid "Bookkeeping path is not in bookkeeping dir"
+-msgstr ""
++msgstr "Le chemin administratif n'est pas dans le répertoire administratif"
+ 
+ #: paths.cc:809
+ #, c-format
+@@ -378,19 +381,19 @@
+ msgstr "chemin invalide «  »"
+ 
+ #: paths.cc:892
+-#, fuzzy, c-format
++#, c-format
+ msgid "skipping directory '%s' with unsupported name"
+-msgstr "le dossier à importer « %s » est un fichier"
++msgstr "Omission du répertoire « %s » ayant un nom non-géré"
+ 
+ #: paths.cc:894
+ #, c-format
+ msgid "skipping file '%s' with unsupported name"
+-msgstr ""
++msgstr "Omission du fichier « %s » ayant un nom non-géré"
+ 
+ #: paths.cc:912
+-#, fuzzy, c-format
++#, c-format
+ msgid "current directory '%s' is not below root '%s'"
+-msgstr "le dossier « %s » n'est pas suivi ou n'existe pas"
++msgstr "le répertoire courant « %s » ne se trouve pas sous la racine « %s »"
+ 
+ #: paths.cc:1020
+ #, c-format
+@@ -400,7 +403,7 @@
+ #: paths.cc:1021
+ #, c-format
+ msgid "search root '%s' is not a directory"
+-msgstr "la racine recherchée « %s » n'est pas un dossier"
++msgstr "la racine recherchée « %s » n'est pas un répertoire"
+ 
+ #: luaext_parse_basic_io.cc:44
+ #, c-format
+@@ -415,12 +418,12 @@
+ #: lua.cc:592
+ #, c-format
+ msgid "Directory '%s' does not exist"
+-msgstr "le dossier « %s » n'existe pas"
++msgstr "le répertoire « %s » n'existe pas"
+ 
+ #: lua.cc:594 cmd_othervcs.cc:61 work.cc:2090
+ #, c-format
+ msgid "'%s' is not a directory"
+-msgstr "« %s » n'est pas un dossier"
++msgstr "« %s » n'est pas un répertoire"
+ 
+ #: lua.cc:616 lua_hooks.cc:216
+ #, c-format
+@@ -428,9 +431,9 @@
+ msgstr "erreur lua lors du chargement du fichier « %s »"
+ 
+ #: file_io.cc:182
+-#, fuzzy, c-format
++#, c-format
+ msgid "could not create directory '%s': it is a file"
+-msgstr "impossible de créer le dossier « %s », c'est un fichier"
++msgstr "impossible de créer le répertoire « %s » car c'est un fichier"
+ 
+ #: file_io.cc:204
+ #, c-format
+@@ -440,17 +443,18 @@
+ #: file_io.cc:205
+ #, c-format
+ msgid "file to delete, '%s', is not a file but a directory"
+-msgstr "le fichier à supprimer « %s » n'est pas un fichier, c'est un dossier"
++msgstr "le fichier à supprimer « %s » n'est pas un fichier mais un répertoire"
+ 
+ #: file_io.cc:213
+ #, c-format
+ msgid "directory to delete '%s' does not exist"
+-msgstr "le dossier à supprimer « %s » n'existe pas"
++msgstr "le répertoire à supprimer « %s » n'existe pas"
+ 
+ #: file_io.cc:214
+ #, c-format
+ msgid "directory to delete, '%s', is not a directory but a file"
+-msgstr "le dossier à supprimer « %s » n'est pas un dossier, c'est un fichier"
++msgstr ""
++"le répertoire à supprimer « %s » n'est pas un répertoire, mais un fichier"
+ 
+ #: file_io.cc:222
+ #, c-format
+@@ -460,12 +464,12 @@
+ #: file_io.cc:230
+ #, c-format
+ msgid "directory to delete, '%s', does not exist"
+-msgstr "le dossier à supprimer « %s » n'existe pas"
++msgstr "le répertoire à supprimer « %s » n'existe pas"
+ 
+ #: file_io.cc:231
+ #, c-format
+ msgid "directory to delete, '%s', is a file"
+-msgstr "le dossier à supprimer « %s » est un fichier"
++msgstr "le répertoire à supprimer « %s » est un fichier"
+ 
+ #: file_io.cc:241
+ #, c-format
+@@ -476,8 +480,8 @@
+ #, c-format
+ msgid "rename source file '%s' is a directory -- bug in monotone?"
+ msgstr ""
+-"le fichier à renommer « %s » est un dossier -- serait-ce un bogue dans "
+-"monotone ?"
++"le fichier à renommer « %s » est un répertoire -- serait-ce un bogue dans "
++"monotone ?"
+ 
+ #: file_io.cc:245 file_io.cc:260 file_io.cc:272
+ #, c-format
+@@ -487,14 +491,14 @@
+ #: file_io.cc:255
+ #, c-format
+ msgid "rename source dir '%s' does not exist"
+-msgstr "le dossier à renommer « %s » n'existe pas"
++msgstr "le répertoire à renommer « %s » n'existe pas"
+ 
+ #: file_io.cc:257
+ #, c-format
+ msgid "rename source dir '%s' is a file -- bug in monotone?"
+ msgstr ""
+-"le dossier à renommer « %s » est un fichier -- serait-ce un bogue dans "
+-"monotone ?"
++"le répertoire à renommer « %s » est un fichier -- serait-ce un bogue dans "
++"monotone ?"
+ 
+ #: file_io.cc:270
+ #, c-format
+@@ -509,7 +513,7 @@
+ #: file_io.cc:282
+ #, c-format
+ msgid "file %s cannot be read as data; it is a directory"
+-msgstr "le fichier « %s » ne peut être lu ; c'est un dossier"
++msgstr "le fichier « %s » ne peut être lu ; c'est un répertoire"
+ 
+ #: file_io.cc:286
+ #, c-format
+@@ -525,32 +529,33 @@
+ #, c-format
+ msgid "file '%s' cannot be overwritten as data; it is a directory"
+ msgstr ""
+-"le fichier « %s » ne peut être réécrit avec des données; c'est un dossier"
++"le fichier « %s » ne peut être réécrit avec des données ; c'est un répertoire"
+ 
+ #: file_io.cc:426 work.cc:1809
+ #, c-format
+ msgid "no such file or directory: '%s'"
+-msgstr "aucun fichier ou dossier de ce nom : « %s »"
++msgstr "aucun fichier ou répertoire de ce nom : « %s »"
+ 
+ #: file_io.cc:454
+ #, c-format
+ msgid "expected file '%s', but it is a directory."
+-msgstr "le fichier attendu « %s » ne peut être lu ; c'est un dossier"
++msgstr "le fichier attendu « %s » ne peut être lu ; c'est un répertoire"
+ 
+ #: globish.cc:55 globish.cc:62 globish.cc:129
+ #, c-format
+ msgid "invalid pattern '%s': unmatched '['"
+-msgstr ""
++msgstr "motif « %s » invalide : « [ » n'est pas fermé "
+ 
+ #: globish.cc:88 globish.cc:117 globish.cc:161 globish.cc:195
+ #, c-format
+ msgid "invalid pattern '%s': control character 0x%02x is not allowed"
+-msgstr ""
++msgstr "motif « %s » invalide : caractère de contrôle 0x%02x interdit"
+ 
+ #: globish.cc:95
+ #, c-format
+ msgid "invalid pattern '%s': one-element character ranges are not allowed"
+ msgstr ""
++"motif « %s » invalide : les plages de caractères à un élément sont interdits"
+ 
+ #: globish.cc:98
+ #, c-format
+@@ -558,46 +563,52 @@
+ "invalid pattern '%s': endpoints of a character range must be in ascending "
+ "numeric order"
+ msgstr ""
++"motif « %s » invalide : les terminaisons de plage de caractères doivent être "
++"dans un ordre croissant"
+ 
+ #: globish.cc:102 globish.cc:121
+ #, c-format
+ msgid "invalid pattern '%s': cannot use non-ASCII characters in classes"
+ msgstr ""
++"motif « %s » invalide : interdiction d'utiliser des caractères non-ASCII "
++"dans des classes"
+ 
+ #: globish.cc:113
+ #, c-format
+ msgid "syntax error in '%s': character classes may not be nested"
+ msgstr ""
++"Erreur de syntaxe dans « %s » : les classes de caractères ne peuvent "
++"s'emboîter"
+ 
+ #: globish.cc:132
+ #, c-format
+ msgid "invalid pattern '%s': empty character class"
+-msgstr ""
++msgstr "motif « %s » invalide : classe de caractères vide"
+ 
+ #: globish.cc:192
+ #, c-format
+ msgid "invalid pattern '%s': un-escaped \\ at end"
+-msgstr ""
++msgstr "motif « %s » invalide : \\ non protégé à la fin"
+ 
+ #: globish.cc:206
+ #, c-format
+ msgid "invalid pattern '%s': unmatched ']'"
+-msgstr ""
++msgstr "motif « %s » invalide : « ] » pas ouvert"
+ 
+ #: globish.cc:215
+ #, c-format
+ msgid "invalid pattern '%s': braces nested too deeply"
+-msgstr ""
++msgstr "motif « %s » invalide : les accolades s'emboîtent trop profondément"
+ 
+ #: globish.cc:228
+ #, c-format
+ msgid "invalid pattern '%s': unmatched '}'"
+-msgstr ""
++msgstr "motif « %s » invalide : « } » pas ouvert"
+ 
+ #: globish.cc:235
+ #, c-format
+ msgid "invalid pattern '%s': unmatched '{'"
+-msgstr ""
++msgstr "motif « %s » invalide : « { » pas fermé"
+ 
+ #: basic_io.cc:30
+ #, c-format
+@@ -605,9 +616,9 @@
+ msgstr "erreur syntaxique, %s à la position %d:%d:E : %s"
+ 
+ #: platform-wrapped.hh:68
+-#, fuzzy, c-format
++#, c-format
+ msgid "'%s' is neither a file nor a directory"
+-msgstr "« %s » n'est pas un dossier"
++msgstr "« %s » n'est ni un fichier ni un répertoire"
+ 
+ #: ui.cc:203
+ #, c-format
+@@ -636,23 +647,24 @@
+ 
+ #: ui.cc:625
+ msgid "warning: "
+-msgstr "avertissement : "
++msgstr "avertissement : "
+ 
+ #: ui.cc:636
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "fatal: %s\n"
+ "this is almost certainly a bug in monotone.\n"
+ "please send this error message, the output of '%s version --full',\n"
+ "and a description of what you were doing to %s."
+ msgstr ""
+-"fatal : %s\n"
++"fatal : %s\n"
+ "Ceci est presque certainement un bogue dans monotone.\n"
+-"Veuillez envoyer ce message d'erreur, la sortie de « %s --full-version »,\n"
++"Veuillez envoyer ce message d'erreur ainsi que la sortie de « %s --full-"
++"version »,\n"
+ "et une description de ce que vous vouliez faire à %s."
+ 
+ #: ui.cc:649
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "fatal: %s\n"
+ "this is almost certainly a bug in monotone.\n"
+@@ -662,18 +674,21 @@
+ "database you were using, so please preserve it in case it can\n"
+ "help in finding the bug."
+ msgstr ""
+-"fatal : %s\n"
++"fatal : %s\n"
+ "Ceci est presque certainement un bogue dans monotone.\n"
+-"Veuillez envoyer ce message d'erreur, la sortie de « %s --full-version »,\n"
+-"et une description de ce que vous vouliez faire à %s."
++"Veuillez envoyer ce message d'erreur ainsi que la sortie de « %s --full-"
++"version »,\n"
++"et une description de ce que vous vouliez faire à %s. Cette erreur semble "
++"avoir été engendrée par quelque chose dans la base de données utilisée, "
++"veuillez donc la préserver au cas où elle pourrait aider à résoudre le bogue."
+ 
+ #: ui.cc:691
+ msgid "error: memory exhausted"
+-msgstr "erreur: mémoire insuffisante"
++msgstr "erreur : mémoire insuffisante"
+ 
+ #: ui.cc:737
+ msgid "C++ exception of unknown type"
+-msgstr ""
++msgstr "Exception C++ de type inconnu"
+ 
+ #: ui.cc:811
+ #, c-format
+@@ -689,54 +704,56 @@
+ #, c-format
+ msgid "Options specific to '%s %s' (run '%s help' to see global options):"
+ msgstr ""
++"Options spécifiques à « %s %s » (exécuter « %s help » pour afficher les "
++"options globales)"
+ 
+ #: automate_ostream_demuxed.hh:62
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s: remote warning: "
+-msgstr "avertissement : "
++msgstr "avertissement distant : « %s » "
+ 
+ #: automate_ostream_demuxed.hh:64
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s: remote error: "
+-msgstr "erreur sqlite : "
++msgstr "erreur distante : « %s »"
+ 
+ #: automate_ostream_demuxed.hh:66
+ #, c-format
+ msgid "%s: remote message: "
+-msgstr ""
++msgstr "message distant : « %s »"
+ 
+ #: automate_ostream_demuxed.hh:76
+ #, c-format
+ msgid "%s: remote header: "
+-msgstr ""
++msgstr "en-tête distant : « %s »"
+ 
+ #: automate_reader.cc:46
+ #, c-format
+ msgid "Bad input to automate stdio: expected ':' after string size"
+ msgstr ""
+-"donnée invalide pour automate stdio : « : » est attendu après la longueur de "
++"Donnée invalide pour automate stdio : « : » est attendu après la longueur de "
+ "la chaîne de caractères"
+ 
+ #: automate_reader.cc:66
+ #, c-format
+ msgid "Bad input to automate stdio: unexpected EOF"
+-msgstr "donnée invalide pour automate stdio : EOF inattendue"
++msgstr "Donnée invalide pour automate stdio : EOF inattendue"
+ 
+ #: automate_reader.cc:94
+ #, c-format
+ msgid "Bad input to automate stdio: unknown start token '%c'"
+ msgstr ""
+-"donnée invalide pour automate stdio : le lexème de départ « %c » est inconnu"
++"Donnée invalide pour automate stdio : le lexème de départ « %c » est inconnu"
+ 
+ #: automate_reader.cc:116
+ #, c-format
+ msgid "Bad input to automate stdio: expected '%c' token"
+-msgstr "donnée invalide pour automate stdio : lexème « %c » attendu"
++msgstr "Donnée invalide pour automate stdio : lexème « %c » attendu"
+ 
+ #: automate_reader.cc:123
+ #, c-format
+ msgid "Bad input to automate stdio: command name is missing"
+-msgstr "donnée invalide pour automate stdio : nom de commande manquant"
++msgstr "Donnée invalide pour automate stdio : nom de commande manquant"
+ 
+ #: commands.cc:475
+ #, c-format
+@@ -746,7 +763,7 @@
+ #: commands.cc:485
+ #, c-format
+ msgid "'%s' is ambiguous; possible completions are:"
+-msgstr ""
++msgstr "« %s » est ambigu ; les complétions possibles sont :"
+ 
+ #: cmd.hh:150
+ #, c-format
+@@ -756,11 +773,11 @@
+ #: cmd.hh:160
+ #, c-format
+ msgid "all arguments given were bookkeeping paths; aborting"
+-msgstr "tous les arguments donnés sont des chemins administratifs ; abandon"
++msgstr "tous les arguments donnés sont des chemins administratifs ; abandon"
+ 
+ #: cmd.cc:46
+ msgid "Commands that aid in scripted execution"
+-msgstr ""
++msgstr "Commandes qui aident à l'exécution scriptée"
+ 
+ #: cmd.cc:49
+ msgid "Commands that manipulate the database"
+@@ -768,88 +785,87 @@
+ 
+ #: cmd.cc:52
+ msgid "Commands that aid in program debugging"
+-msgstr ""
++msgstr "Commandes qui aident à déboguer le programme"
+ 
+ #: cmd.cc:55
+ msgid "Commands for information retrieval"
+-msgstr ""
++msgstr "Commandes pour obtenir de l'information"
+ 
+ #: cmd.cc:58
+ msgid "Commands to manage keys and certificates"
+-msgstr ""
++msgstr "Commandes pour gérer les clés et les certificats"
+ 
+ #: cmd.cc:61
+ msgid "Commands that access the network"
+-msgstr ""
++msgstr "Commandes pour accéder au réseau"
+ 
+ #: cmd.cc:64
+ msgid "Commands for packet reading and writing"
+-msgstr ""
++msgstr "Commandes pour lire et écrire des paquets"
+ 
+ #: cmd.cc:67
+ msgid "Commands for interaction with other version control systems"
+-msgstr ""
++msgstr "commandes pour interagir avec d'autres systèmes de contrôle de version"
+ 
+ #: cmd.cc:70
+-#, fuzzy
+ msgid "Commands to review revisions"
+-msgstr "mise à jour vers la révision de base %s"
++msgstr "Commandes pour passer en revue les révisions"
+ 
+ #: cmd.cc:73
+ msgid "Commands to manipulate the tree"
+-msgstr ""
++msgstr "Commandes pour manipuler l'arbre"
+ 
+ #: cmd.cc:76
+ msgid "Commands to manage persistent variables"
+-msgstr ""
++msgstr "Commandes pour gérer les variables persistantes"
+ 
+ #: cmd.cc:79
+ msgid "Commands that deal with the workspace"
+-msgstr ""
++msgstr "Commandes en relation avec l'espace de travail"
+ 
+ #: cmd.cc:82
+ msgid "Commands defined by the user"
+-msgstr ""
++msgstr "Commandes définies par l'utilisateur"
+ 
+ #: cmd.cc:99
+ #, c-format
+ msgid "command '%s' is invalid; it is a group"
+-msgstr ""
++msgstr "Commande « %s » invalide ; c'est un groupe"
+ 
+ #: cmd.cc:102
+-#, fuzzy, c-format
++#, c-format
+ msgid "no subcommand specified for '%s'"
+-msgstr "aucun manifeste « %s »"
++msgstr "aucune sous-commande spécifiée pour « %s »"
+ 
+ #: cmd.cc:105
+ #, c-format
+ msgid "could not match '%s' to a subcommand of '%s'"
+-msgstr ""
++msgstr "impossible d'apparier « %s » à une sous-commande de « %s »"
+ 
+ #: cmd.cc:220
+-#, fuzzy, c-format
++#, c-format
+ msgid "Commands in group '%s':"
+-msgstr "ligne de commande : %s\n"
++msgstr "Commandes dans le groupe « %s » :"
+ 
+ #: cmd.cc:226
+-#, fuzzy, c-format
++#, c-format
+ msgid "Subcommands of '%s %s':"
+-msgstr "aucun manifeste « %s »"
++msgstr "Sous-commandes de « %s %s » :"
+ 
+ #: cmd.cc:230
+-#, fuzzy, c-format
++#, c-format
+ msgid "Syntax specific to '%s %s':"
+-msgstr "Options spécifiques à « %s %s » :"
++msgstr "Syntaxe spécifique à « %s %s » :"
+ 
+ #: cmd.cc:254
+ #, c-format
+ msgid "Purpose of group '%s':"
+-msgstr ""
++msgstr "But du groupe « %s » :"
+ 
+ #: cmd.cc:258
+-#, fuzzy, c-format
++#, c-format
+ msgid "Description for '%s %s':"
+-msgstr "Options spécifiques à « %s %s » :"
++msgstr "Description pour « %s %s » :"
+ 
+ #: cmd.cc:268
+ #, c-format
+@@ -867,6 +883,8 @@
+ "For information on a specific command, type 'mtn help <command_name> "
+ "[subcommand_name ...]'."
+ msgstr ""
++"Pour obtenir de l'information sur une commande spécifique, entrez « mtn help "
++"<nom_commande> [nom_sous-commande ...] »"
+ 
+ #: cmd.cc:290
+ #, c-format
+@@ -874,6 +892,8 @@
+ "To see more details about the commands of a particular group, type 'mtn help "
+ "<group_name>'."
+ msgstr ""
++"Pour obtenir davantage de détails à propos d'une commande d'un groupe "
++"particulier, entrez « mtn help <nom_groupe> »"
+ 
+ #: cmd.cc:293
+ #, c-format
+@@ -881,11 +901,14 @@
+ "Note that you can always abbreviate a command name as long as it does not "
+ "conflict with other names."
+ msgstr ""
++"Veuillez noter que vous pouvez toujours raccourcir le nom d'une commande "
++"tant qu'elle n'entre pas en conflit avec d'autres noms."
+ 
+ #: cmd.cc:353
+ #, c-format
+ msgid "Call to user command %s (lua command: %s) failed."
+ msgstr ""
++"L'appel à la commande utilisateur « %s » (commande lua : « %s ») a échoué."
+ 
+ #: cmd.cc:402
+ msgid "command [ARGS...]"
+@@ -893,7 +916,7 @@
+ 
+ #: cmd.cc:403
+ msgid "Displays help about commands and options"
+-msgstr ""
++msgstr "Affiche de l'aide sur les commandes et les options"
+ 
+ #: cmd.cc:419
+ msgid "Shows the program version"
+@@ -906,7 +929,7 @@
+ 
+ #: cmd.cc:434
+ msgid "Triggers the specified kind of crash"
+-msgstr ""
++msgstr "Déclenche le type spécifique de crash"
+ 
+ #: cmd.cc:514
+ #, c-format
+@@ -929,45 +952,49 @@
+ "Include/exclude pattern was given both as part of the URL and as a separate "
+ "argument."
+ msgstr ""
++"Le motif include/exclude a été donné comme partie de l'URL et comme un "
++"argument séparé."
+ 
+ #: cmd_netsync.cc:194 cmd_netsync.cc:321 cmd_netsync.cc:453
+ #, c-format
+ msgid "setting default server to %s"
+-msgstr "positionnement de l'adresse par défaut du serveur à %s"
++msgstr "positionnement de l'adresse par défaut du serveur à %s"
+ 
+ #: cmd_netsync.cc:201
+ #, c-format
+ msgid "setting default branch include pattern to '%s'"
+-msgstr "motif de branche à inclure par défaut positionné à « %s »"
++msgstr "motif de branche à inclure par défaut positionné à « %s »"
+ 
+ #: cmd_netsync.cc:209
+ #, c-format
+ msgid "setting default branch exclude pattern to '%s'"
+-msgstr "motif de branche à exclure par défaut positionné à « %s »"
++msgstr "motif de branche à exclure par défaut positionné à « %s »"
+ 
+ #: cmd_netsync.cc:217
+-#, fuzzy, c-format
++#, c-format
+ msgid "setting default include pattern for server '%s' to '%s'"
+-msgstr "motif de branche à inclure par défaut positionné à « %s »"
++msgstr ""
++"positionnement du motif include par défaut pour le serveur « %s » à « %s »"
+ 
+ #: cmd_netsync.cc:225
+-#, fuzzy, c-format
++#, c-format
+ msgid "setting default exclude pattern for server '%s' to '%s'"
+-msgstr "motif de branche à exclure par défaut positionné à « %s »"
++msgstr ""
++"positionnement du motif exclude par défaut pour le serveur «  %s » à « %s »"
+ 
+ #: cmd_netsync.cc:265
+ #, c-format
+ msgid "no branch pattern given"
+ msgstr "aucun motif de branche fourni"
+ 
++#
+ #: cmd_netsync.cc:277
+-#, fuzzy
+ msgid "[ADDRESS[:PORTNUMBER]]"
+-msgstr "[ADRESSE[:PORT] [MOTIF ...]]"
++msgstr "[ADRESSE[:PORT]]"
+ 
+ #: cmd_netsync.cc:278
+ msgid "Opens an 'automate stdio' connection to a remote server"
+-msgstr ""
++msgstr "Ouvre une connexion stdio automatique vers un serveur distant"
+ 
+ #: cmd_netsync.cc:291 cmd_netsync.cc:423
+ #, c-format
+@@ -975,18 +1002,21 @@
+ "No database given; assuming '%s' database. This means that we can't\n"
+ "verify the server key, because we have no record of what it should be."
+ msgstr ""
++"Aucune base de données donnée, on suppose que c'est la base de données "
++"« %s ». Cela signifie que l'on ne peut pas vérifier la clé du serveur, car "
++"nous n'avons aucun enregistrement la concernant."
+ 
+ #: cmd_netsync.cc:410
+ msgid "COMMAND [ARGS]"
+-msgstr ""
++msgstr "COMMANDE [ARGUMENTS]"
+ 
+ #: cmd_netsync.cc:411
+ msgid "Executes COMMAND on a remote server"
+-msgstr ""
++msgstr "Exécute COMMANDE sur le serveur distant"
+ 
+ #: cmd_netsync.cc:419 cmd_list.cc:981 cmd_packet.cc:182 cmd_merging.cc:368
+-#: cmd_merging.cc:1108 cmd_merging.cc:1177 cmd_ws_commit.cc:1263
+-#: cmd_ws_commit.cc:1377 cmd_ws_commit.cc:1399 cmd_automate.cc:134
++#: cmd_merging.cc:1108 cmd_merging.cc:1177 cmd_ws_commit.cc:1260
++#: cmd_ws_commit.cc:1374 cmd_ws_commit.cc:1396 cmd_automate.cc:134
+ #: cmd_files.cc:236 cmd_files.cc:333 cmd_files.cc:361 automate.cc:83
+ #: automate.cc:120 automate.cc:173 automate.cc:296 automate.cc:398
+ #: automate.cc:429 automate.cc:518 automate.cc:1242 automate.cc:1415
+@@ -1000,9 +1030,9 @@
+ msgstr "nombre d'arguments incorrect"
+ 
+ #: cmd_netsync.cc:506
+-#, fuzzy, c-format
++#, c-format
+ msgid "received remote error code %d"
+-msgstr "erreur de réception réseau : %s"
++msgstr "Reçu le code d'erreur du réseau distant : %d"
+ 
+ #: cmd_netsync.cc:510 cmd_netsync.cc:530 cmd_netsync.cc:550 cmd_netsync.cc:577
+ #: cmd_netsync.cc:597 cmd_netsync.cc:628
+@@ -1019,7 +1049,7 @@
+ "netsync server at the address ADDRESS."
+ msgstr ""
+ "Toutes les branches correspondant au MOTIF vont être envoyées au serveur "
+-"netsync à l'ADRESSE."
++"netsync à l'adresse ADRESSE."
+ 
+ #: cmd_netsync.cc:551 cmd_netsync.cc:578
+ msgid "Pulls branches from a netsync server"
+@@ -1031,7 +1061,7 @@
+ "netsync server at the address ADDRESS."
+ msgstr ""
+ "Toutes les branches correspondant au MOTIF vont être récupérées depuis le "
+-"serveur netsync à l'ADRESSE."
++"serveur netsync à l'adresse ADRESSE."
+ 
+ #: cmd_netsync.cc:569 cmd_netsync.cc:735
+ #, c-format
+@@ -1049,26 +1079,27 @@
+ "netsync server at the address ADDRESS."
+ msgstr ""
+ "Toutes les branches correspondant au MOTIF vont être synchronisées avec le "
+-"serveur netsync à l'ADRESSE."
++"serveur netsync à l'adresse ADRESSE."
+ 
+ #: cmd_netsync.cc:654
+ msgid "ADDRESS[:PORTNUMBER] BRANCH [DIRECTORY]"
+-msgstr "ADRESSE[:PORT] BRANCHE [DOSSIER]"
++msgstr "ADRESSE[:PORT] BRANCHE [RÉPERTOIRE]"
+ 
+ #: cmd_netsync.cc:655
+ msgid "Checks out a revision from a remote database into a directory"
+ msgstr ""
++"Télécharge une révision depuis une base de données distante dans un "
++"répertoire"
+ 
+ #: cmd_netsync.cc:656
+-#, fuzzy
+ msgid ""
+ "If a revision is given, that's the one that will be checked out.  Otherwise, "
+ "it will be the head of the branch supplied.  If no directory is given, the "
+ "branch name will be used as directory"
+ msgstr ""
+-"récupère une révision depuis une base de données distante dans un dossier.\n"
+-"Si aucune révision n'est spécifiée, la version de tête de la\n"
+-"branche choisie sera utilisée. Si aucun nom de dossier n'est\n"
++"Si une révision est spécifiée, c'est celle-là qui sera récupérée.\n"
++"Si aucune révision n'est spécifiée, la version la plus récente de la\n"
++"branche choisie sera utilisée. Si aucun nom de répertoire n'est\n"
+ "spécifié, le nom de la branche sera utilisé."
+ 
+ #: cmd_netsync.cc:673
+@@ -1079,20 +1110,20 @@
+ #: cmd_netsync.cc:693
+ #, c-format
+ msgid "clone destination directory '%s' already exists"
+-msgstr "le dossier « %s », destination du clone, existe déjà"
++msgstr "le répertoire « %s », destination du clone, existe déjà"
+ 
+-#: cmd_netsync.cc:700 cmd_ws_commit.cc:1739
+-#, fuzzy, c-format
++#: cmd_netsync.cc:700 cmd_ws_commit.cc:1736
++#, c-format
+ msgid "bookkeeping directory already exists in '%s'"
+-msgstr "le dossier administratif de monotone « %s » existe déjà dans « %s »"
++msgstr "le répertoire administratif existe déjà dans « %s »"
+ 
+ #: cmd_netsync.cc:753 cmd_merging.cc:519 cmd_merging.cc:637 cmd_merging.cc:642
+-#: cmd_merging.cc:1429 cmd_ws_commit.cc:982
++#: cmd_merging.cc:1429 cmd_ws_commit.cc:979
+ #, c-format
+ msgid "branch '%s' is empty"
+ msgstr "la branche « %s » est vide"
+ 
+-#: cmd_netsync.cc:756 cmd_ws_commit.cc:985 cmd_ws_commit.cc:1807
++#: cmd_netsync.cc:756 cmd_ws_commit.cc:982 cmd_ws_commit.cc:1804
+ #, c-format
+ msgid "branch %s has multiple heads:"
+ msgstr "la branche %s a plusieurs têtes :"
+@@ -1100,14 +1131,14 @@
+ #: cmd_netsync.cc:760
+ #, c-format
+ msgid "choose one with '%s clone -r<id> SERVER BRANCH'"
+-msgstr "choisissez en une avec « %s clone -r<id> SERVER BRANCHE »"
++msgstr "choisissez-en une avec « %s clone -r<id> SERVEUR BRANCHE »"
+ 
+-#: cmd_netsync.cc:761 cmd_ws_commit.cc:991 cmd_ws_commit.cc:1813
++#: cmd_netsync.cc:761 cmd_ws_commit.cc:988 cmd_ws_commit.cc:1810
+ #, c-format
+ msgid "branch %s has multiple heads"
+ msgstr "la branche %s a plusieurs têtes"
+ 
+-#: cmd_netsync.cc:772 cmd_ws_commit.cc:1006 cmd_ws_commit.cc:1793
++#: cmd_netsync.cc:772 cmd_ws_commit.cc:1003 cmd_ws_commit.cc:1790
+ #, c-format
+ msgid "revision %s is not a member of branch %s"
+ msgstr "la révision %s n'est pas membre de la branche %s"
+@@ -1131,8 +1162,8 @@
+ msgid ""
+ "need permission to store persistent passphrase (see hook persist_phrase_ok())"
+ msgstr ""
+-"permission requise pour garder la phrase de passe de façon persistante\n"
+-"Voyez la procédure automatique (hook) « persiste_phrase_ok() »."
++"permission requise pour garder la phrase de passe de façon persistante.\n"
++"Voyez la procédure automatique (hook) « persiste_phrase_ok() »."
+ 
+ #: cmd_netsync.cc:863
+ #, c-format
+@@ -1149,15 +1180,15 @@
+ msgstr "Affiche les objets de la base de données"
+ 
+ #: cmd_list.cc:52
+-#, fuzzy
+ msgid ""
+ "This command is used to query information from the database.  It shows "
+ "database objects, or the current workspace manifest, or known, unknown, "
+ "intentionally ignored, missing, or changed-state files."
+ msgstr ""
+-"affiche les objets de base de données, le manifeste de l'espace de travail "
+-"actuel, ou les fichiers connus, inconnus, intentionnellement ignorés, "
+-"manquants ou changés"
++"Cette commande est utilisée pour obtenir de l'information de la base de "
++"données. Elle affiche les objets en base de données, le manifeste de "
++"l'espace de travail actuel, ou les fichiers connus, inconnus, "
++"intentionnellement ignorés, manquants ou changés"
+ 
+ #: cmd_list.cc:100
+ msgid "Lists certificates attached to an identifier"
+@@ -1183,7 +1214,7 @@
+ 
+ #: cmd_list.cc:171
+ msgid "ok"
+-msgstr "0K"
++msgstr "OK"
+ 
+ #: cmd_list.cc:174 database.cc:1297
+ msgid "bad"
+@@ -1198,6 +1229,8 @@
+ "Lists duplicate files in the specified revision. If no revision is "
+ "specified, use the workspace"
+ msgstr ""
++"Liste les fichiers doublons pour une révision spécifique. Si aucune révision "
++"n'est spécifiée, elle utilise l'espace de travail."
+ 
+ #: cmd_list.cc:221
+ #, c-format
+@@ -1232,12 +1265,12 @@
+ #: cmd_list.cc:465
+ #, c-format
+ msgid "Some key names refer to multiple keys"
+-msgstr ""
++msgstr "Certaines noms de clés se réfèrent à plusieurs clés."
+ 
+ #: cmd_list.cc:469
+-#, fuzzy, c-format
++#, c-format
+ msgid "Duplicate Key: %s"
+-msgstr "nom_doublon %s"
++msgstr "Clé en double : %s"
+ 
+ #: cmd_list.cc:476
+ msgid "Lists branches in the database that match a pattern"
+@@ -1245,12 +1278,12 @@
+ 
+ #: cmd_list.cc:499
+ msgid "Lists the current epoch of branches that match a pattern"
+-msgstr ""
++msgstr "Liste l'époque courante des branches qui correspondent au motif."
+ 
+ #: cmd_list.cc:526
+ #, c-format
+ msgid "no epoch for branch %s"
+-msgstr "la branche « %s » n'a pas d'époque"
++msgstr "la branche « %s » n'a pas d'époque"
+ 
+ #: cmd_list.cc:535
+ msgid "Lists all tags in the database"
+@@ -1258,55 +1291,57 @@
+ 
+ #: cmd_list.cc:585
+ msgid "Lists variables in the whole database or a domain"
+-msgstr ""
++msgstr "Liste les variables de toute la base de données ou d'un domaine."
+ 
+ #: cmd_list.cc:618
+ msgid "Lists managed databases and their known workspaces"
+-msgstr ""
++msgstr "Liste les bases de données gérées et leurs espaces de travail connus."
+ 
+-#: cmd_list.cc:625 database.cc:4753
++#: cmd_list.cc:625 database.cc:4760
+ #, c-format
+ msgid "could not query default database locations"
+-msgstr ""
++msgstr "Impossible d'obtenir l'emplacement par défaut de la base de données"
+ 
+ #: cmd_list.cc:671
+-#, fuzzy, c-format
++#, c-format
+ msgid ":%s (in %s):"
+-msgstr "%s:%s : %s"
++msgstr ":%s (dans %s) :"
+ 
+ #: cmd_list.cc:706
+-#, fuzzy
+ msgid "<no branch set>"
+-msgstr "Branche actuelle : %s"
++msgstr "<aucune branche positionnée>"
+ 
+ #: cmd_list.cc:708
+-#, fuzzy, c-format
++#, c-format
+ msgid "\t%s (in %s)"
+-msgstr "%s (révision de base : %s)"
++msgstr "\t%s (dans %s)"
+ 
+ #: cmd_list.cc:712
+-#, fuzzy, c-format
++#, c-format
+ msgid "\tno known valid workspaces"
+-msgstr "Supprime des fichiers de l'espace de travail"
++msgstr "\tAucun espace de travail connu valide"
+ 
+ #: cmd_list.cc:718
+ msgid "Lists workspace files that belong to the current branch"
+ msgstr ""
+-"Liste les fichiers de l'espace de travail qui appartienent à la branche "
++"Liste les fichiers de l'espace de travail qui appartiennent à la branche "
+ "actuelle"
+ 
+ #: cmd_list.cc:758
+ msgid "Lists workspace files that do not belong to the current branch"
+-msgstr "Liste les fichiers qui n'appartiennent pas à la branche actuelle"
++msgstr ""
++"Liste les fichiers de l'espace de travail qui n'appartiennent pas à la "
++"branche actuelle"
+ 
+ #: cmd_list.cc:789
+-#, fuzzy
+ msgid "Lists files that belong to the branch but are not in the workspace"
+-msgstr "le fichier %s est inconnu dans l'espace de travail"
++msgstr ""
++"Liste les fichiers appartenant à la branche mais qui ne sont pas dans "
++"l'espace de travail"
+ 
+ #: cmd_list.cc:812
+ msgid "Lists files that have changed with respect to the current revision"
+-msgstr ""
++msgstr "Liste les fichiers modifiés par rapport à la révision courante"
+ 
+ #: cmd_list.cc:917
+ msgid "Lists all keys in the keystore"
+@@ -1352,28 +1387,26 @@
+ msgstr "la clef publique « %s » n'existe pas"
+ 
+ #: cmd_packet.cc:65
+-#, fuzzy
+ msgid "Prints a private key packet"
+-msgstr "écrire un paquet pour une clef privée sur la sortie standard"
++msgstr "Affiche un paquet pour une clef privée"
+ 
+ #: cmd_packet.cc:82
+ #, c-format
+ msgid "public and private key '%s' do not exist in keystore"
+-msgstr "la clef publique ou privée « %s » n'existe pas dans l'entrepôt de clefs"
++msgstr ""
++"la clef publique ou privée « %s » n'existe pas dans l'entrepôt de clefs"
+ 
+ #: cmd_packet.cc:176
+ msgid "PACKET-DATA"
+ msgstr "PAQUET-DONNÉES"
+ 
+ #: cmd_packet.cc:177
+-#, fuzzy
+ msgid "Load the given packets into the database."
+-msgstr "charge le contenu du fichier dans la base de données"
++msgstr "charge le contenu du paquet donné dans la base de données"
+ 
+ #: cmd_packet.cc:193
+-#, fuzzy
+ msgid "Reads packets from files"
+-msgstr "lecture des paquets depuis des fichiers ou l'entrée standard"
++msgstr "lecture des paquets depuis des fichiers"
+ 
+ #: cmd_packet.cc:194
+ msgid "If no files are provided, the standard input is used."
+@@ -1395,31 +1428,30 @@
+ #, c-format
+ msgid "read %d packet"
+ msgid_plural "read %d packets"
+-msgstr[0] "lu %d paquet"
+-msgstr[1] "lu %d paquets"
++msgstr[0] "lit %d paquet"
++msgstr[1] "lit %d paquets"
+ 
+ #: cmd_key_cert.cc:33
+-#, fuzzy
+ msgid "KEY_NAME"
+-msgstr "FICHIER"
++msgstr "NOM_CLEF"
+ 
+ #: cmd_key_cert.cc:34
+ msgid "Generates an RSA key-pair"
+-msgstr "Génére une paire de clefs RSA"
++msgstr "Génère une paire de clefs RSA"
+ 
+ #: cmd_key_cert.cc:49 automate.cc:1795
+-#, fuzzy, c-format
++#, c-format
+ msgid "you already have a key named '%s'"
+-msgstr "caractère invalide « %c » dans le nom de la clef « %s »"
++msgstr "Vous possédez déjà une clef nommée « %s »"
+ 
+ #: cmd_key_cert.cc:53 automate.cc:1799
+-#, fuzzy, c-format
++#, c-format
+ msgid "there is another key named '%s'"
+-msgstr "caractère invalide « %c » dans le nom de la clef « %s »"
++msgstr "Il existe une autre clef nommée « %s »"
+ 
+ #: cmd_key_cert.cc:60 cmd_key_cert.cc:109
+ msgid "KEY_NAME_OR_HASH"
+-msgstr ""
++msgstr "NOM_CLEF_OU_HASH"
+ 
+ #: cmd_key_cert.cc:61
+ msgid "Drops a public and/or private key"
+@@ -1483,15 +1515,13 @@
+ msgstr "RÉVISION NOM VALEUR SIGNATAIRE1 [SIGNATAIRE2 [...]]"
+ 
+ #: cmd_key_cert.cc:214
+-#, fuzzy
+ msgid "Tests whether a hypothetical certificate would be trusted"
+ msgstr ""
+-"tester s'il est possible d'avoir confiance en un certificat hypothétique par "
+-"les paramètres actuels"
++"Teste s'il serait possible d'avoir confiance en un certificat hypothétique"
+ 
+ #: cmd_key_cert.cc:215
+ msgid "The current settings are used to run the test."
+-msgstr ""
++msgstr "Les réglages actuels sont utilisés pour exécuter le test."
+ 
+ #: cmd_key_cert.cc:256
+ #, c-format
+@@ -1502,11 +1532,11 @@
+ "was signed by: %s\n"
+ "it would be: %s"
+ msgstr ""
+-"si un certificat sur : %s\n"
+-"avec la clef : %s\n"
+-"et la valeur : %s\n"
+-"était signé par : %s\n"
+-"ce serait : %s"
++"si un certificat sur : %s\n"
++"avec la clef : %s\n"
++"et la valeur : %s\n"
++"était signé par : %s\n"
++"ce serait : %s"
+ 
+ #: cmd_key_cert.cc:265
+ msgid "trusted"
+@@ -1565,7 +1595,7 @@
+ #: cmd_key_cert.cc:382
+ #, c-format
+ msgid "edit comment failed"
+-msgstr "l'édition du commentaire a échoué"
++msgstr "la modification du commentaire a échoué"
+ 
+ #: cmd_key_cert.cc:388
+ #, c-format
+@@ -1576,13 +1606,13 @@
+ #: cmd_merging.cc:963
+ #, c-format
+ msgid "[left]  %s"
+-msgstr "[gauche]   %s"
++msgstr "[gauche]  %s"
+ 
+ #: cmd_merging.cc:120 cmd_merging.cc:423 cmd_merging.cc:661 cmd_merging.cc:831
+ #: cmd_merging.cc:964
+ #, c-format
+ msgid "[right] %s"
+-msgstr "[droite]   %s"
++msgstr "[droite]  %s"
+ 
+ #: cmd_merging.cc:150
+ #, c-format
+@@ -1596,7 +1626,7 @@
+ "\n"
+ "try again with explicit --branch"
+ msgstr ""
+-"la révision cible appartient à plusieurs branches: %s\n"
++"la révision cible appartient à plusieurs branches : %s\n"
+ "\n"
+ "Essayez de nouveau avec une option --branch explicite."
+ 
+@@ -1610,8 +1640,8 @@
+ "le prochain commit utilisera la branche %s"
+ 
+ #: cmd_merging.cc:193 cmd_merging.cc:801 cmd_ws_commit.cc:391
+-#: cmd_ws_commit.cc:1279 cmd_ws_commit.cc:1934 cmd_ws_commit.cc:2162
+-#: cmd_ws_commit.cc:2277 cmd_files.cc:305 cmd_files.cc:373 automate.cc:1031
++#: cmd_ws_commit.cc:1276 cmd_ws_commit.cc:1931 cmd_ws_commit.cc:2159
++#: cmd_ws_commit.cc:2274 cmd_files.cc:305 cmd_files.cc:373 automate.cc:1031
+ #: automate.cc:1324
+ #, c-format
+ msgid "this command can only be used in a single-parent workspace"
+@@ -1644,7 +1674,7 @@
+ msgstr ""
+ "votre requête ne correspond à aucun descendant de la révision actuelle\n"
+ "Elle ne correspond même pas à la révision actuelle. Peut-être voulez-vous "
+-"employer quelque chose comme --revision=h:%s ?"
++"employer quelque chose comme --revision=h:%s ?"
+ 
+ #: cmd_merging.cc:218
+ #, c-format
+@@ -1654,12 +1684,12 @@
+ #: cmd_merging.cc:223
+ #, c-format
+ msgid "choose one with '%s update -r<id>'"
+-msgstr "choisissez en un avec « %s update -r<id> »"
++msgstr "choisissez-en un avec « %s update -r<id> »"
+ 
+ #: cmd_merging.cc:225
+ #, c-format
+ msgid "multiple update candidates remain after selection"
+-msgstr "il reste plusieurs candidats possible après la sélection"
++msgstr "il reste plusieurs candidats possibles après la sélection"
+ 
+ #: cmd_merging.cc:243
+ #, c-format
+@@ -1679,7 +1709,7 @@
+ #: cmd_merging.cc:339
+ #, c-format
+ msgid "switched branch; next commit will use branch %s"
+-msgstr "changement de branche ; le prochain commit utilisera la branche %s"
++msgstr "changement de branche ; le prochain commit utilisera la branche %s"
+ 
+ #: cmd_merging.cc:340
+ #, c-format
+@@ -1691,24 +1721,21 @@
+ msgstr "Met à jour l'espace de travail"
+ 
+ #: cmd_merging.cc:345
+-#, fuzzy
+ msgid ""
+ "This command modifies your workspace to be based off of a different "
+ "revision, preserving uncommitted changes as it does so.  If a revision is "
+ "given, update the workspace to that revision.  If not, update the workspace "
+ "to the head of the branch."
+ msgstr ""
+-"met à jour l'espace de travail.\n"
+-"Cette commande modifie votre espace de travail en se fondant sur\n"
+-"une révision différente, tout en préservant les changements locaux\n"
+-"attendant un commit. Si une révision est donnée, l'espace de travail\n"
+-"est mis à jour à partir de cette révision. Sinon, il est mis à jour\n"
+-"à partir de la tête de la branche actuelle."
++"Cette commande modifie votre espace de travail afin de le baser sur une "
++"révision différente, tout en préservant les changements non-commités. Si une "
++"révision est spécifiée, elle mettra à jour l'espace de travail vers celle-"
++"ci. Dans le cas contraire, elle met à jour vers la tête de la branche."
+ 
+ #: cmd_merging.cc:371
+ #, c-format
+ msgid "at most one revision selector may be specified"
+-msgstr ""
++msgstr "Vous ne pouvez spécifier qu'au plus un sélecteur de révision"
+ 
+ #: cmd_merging.cc:436 cmd_merging.cc:764
+ #, c-format
+@@ -1733,13 +1760,13 @@
+ #, c-format
+ msgid "%d head on branch '%s'"
+ msgid_plural "%d heads on branch '%s'"
+-msgstr[0] "il y a %d tête dans la branche « %s »"
+-msgstr[1] "il y a %d têtes dans la branche « %s »"
++msgstr[0] "il y a %d tête dans la branche « %s »"
++msgstr[1] "il y a %d têtes dans la branche « %s »"
+ 
+ #: cmd_merging.cc:554
+ #, c-format
+ msgid "merge %d / %d:"
+-msgstr "fusion %d / %d :"
++msgstr "fusion %d / %d :"
+ 
+ #: cmd_merging.cc:555
+ #, c-format
+@@ -1750,25 +1777,23 @@
+ #, c-format
+ msgid "note: branch '%s' still has %d heads; run merge again"
+ msgstr ""
+-"note : la branche « %s » a toujours %d têtes; lancez une nouvelle fusion"
++"note : la branche « %s » a toujours %d têtes ; lancez une nouvelle fusion"
+ 
+ #: cmd_merging.cc:575
+ msgid "SOURCE-BRANCH DEST-BRANCH"
+ msgstr "BRANCHE-SOURCE BRANCHE-DESTINATION"
+ 
+ #: cmd_merging.cc:576
+-#, fuzzy
+ msgid "Merges from one branch to another asymmetrically"
+-msgstr "fusion d'une branche à une autre de façon asymétrique"
++msgstr "fusionne une branche vers une autre de façon asymétrique"
+ 
+ #: cmd_merging.cc:615
+ msgid "SOURCE-BRANCH DEST-BRANCH DIR"
+-msgstr "BRANCHE-SOURCE BRANCHE-DESTINATION DOSSIER"
++msgstr "BRANCHE-SOURCE BRANCHE-DESTINATION RÉPERTOIRE"
+ 
+ #: cmd_merging.cc:616
+-#, fuzzy
+ msgid "Merges one branch into a subdirectory in another branch"
+-msgstr "fusionne une branche dans un sous dossier d'une autre branche"
++msgstr "fusionne une branche dans un sous-répertoire d'une autre branche"
+ 
+ #: cmd_merging.cc:639 cmd_merging.cc:644
+ #, c-format
+@@ -1778,7 +1803,7 @@
+ #: cmd_merging.cc:651
+ #, c-format
+ msgid "branch '%s' is up-to-date with respect to branch '%s'"
+-msgstr "la branche « %s » est à jour par rapport à la branche « %s »"
++msgstr "la branche « %s » est à jour par rapport à la branche « %s »"
+ 
+ #: cmd_merging.cc:653
+ #, c-format
+@@ -1793,7 +1818,8 @@
+ #: cmd_merging.cc:666
+ #, c-format
+ msgid "no merge necessary; putting %s in branch '%s'"
+-msgstr "pas de fusion nécessaire ; inscription de « %s » dans la branche « %s »"
++msgstr ""
++"pas de fusion nécessaire ; inscription de « %s » dans la branche « %s »"
+ 
+ #: cmd_merging.cc:704
+ #, c-format
+@@ -1805,12 +1831,11 @@
+ msgstr "AUTRE-RÉVISION"
+ 
+ #: cmd_merging.cc:772
+-#, fuzzy
+ msgid "Merges a revision into the current workspace's base revision"
+-msgstr "le fichier %s est inconnu dans l'espace de travail"
++msgstr ""
++"Fusionne une révision avec la révision actuelle de l'espace de travail "
+ 
+ #: cmd_merging.cc:773
+-#, fuzzy
+ msgid ""
+ "Merges OTHER-REVISION into the current workspace's base revision, and update "
+ "the current workspace with the result.  There can be no pending changes in "
+@@ -1819,7 +1844,7 @@
+ "branch is not changed."
+ msgstr ""
+ "Fusionne AUTRE-RÉVISION avec la révision de base de l'espace de travail "
+-"actuel, et met à jour l'espace de travail avec le résultat. Il ne doit pas y "
++"actuel et met à jour l'espace de travail avec le résultat. Il ne doit pas y "
+ "avoir de changements latents dans l'espace de travail. AUTRE-RÉVISION et la "
+ "révision de base de l'espace de travail seront tous les deux enregistrés "
+ "comme parents lors du commit. La branche de l'espace de travail n'est pas "
+@@ -1829,18 +1854,18 @@
+ #, c-format
+ msgid "'%s' can only be used in a workspace with no pending changes"
+ msgstr ""
+-"« %s » ne peut être utilisé que dans un espace de travail sans changements "
++"« %s » ne peut être utilisé que dans un espace de travail sans changements "
+ "latents"
+ 
+ #: cmd_merging.cc:822
+ #, c-format
+ msgid "workspace is already at revision %s"
+-msgstr "l'espace de travail est déjà positionné sur la révision « %s »"
++msgstr "l'espace de travail est déjà positionné sur la révision « %s »"
+ 
+ #: cmd_merging.cc:825
+-#, fuzzy, c-format
++#, c-format
+ msgid "revision %s is already an ancestor of your workspace"
+-msgstr "%s est déjà un ancêtre de %s"
++msgstr "la révision %s est déjà un ancêtre de votre espace de travail"
+ 
+ #: cmd_merging.cc:827
+ #, c-format
+@@ -1848,6 +1873,8 @@
+ "revision %s is a descendant of the workspace parent,\n"
+ "did you mean 'mtn update -r %s'?"
+ msgstr ""
++"la révision %s est un descendant de l'espace de travail parent,\n"
++"vouliez-vous dire « mtn update -r %s » ?"
+ 
+ #: cmd_merging.cc:880
+ #, c-format
+@@ -1856,24 +1883,23 @@
+ " [left] %s\n"
+ "[right] %s\n"
+ msgstr ""
+-"mise à jour effectué avec le résultat de la fusion: [gauche] %s\n"
+-"  [droit] %s\n"
++"mise à jour effectuée avec le résultat de la fusion : [gauche] %s\n"
++"[droit] %s\n"
+ 
+ #: cmd_merging.cc:888
+ msgid "LEFT-REVISION RIGHT-REVISION DEST-BRANCH"
+ msgstr "RÉVISION-GAUCHE RÉVISION-DROITE BRANCHE-DESTINATION"
+ 
+ #: cmd_merging.cc:889
+-#, fuzzy
+ msgid "Merges two explicitly given revisions"
+-msgstr ""
+-"fusionne deux révisions données explicitement et inscrit le résultat dans la "
+-"branche donnée"
++msgstr "fusionne deux révisions données explicitement"
+ 
+ #: cmd_merging.cc:890
+ msgid ""
+ "The results of the merge are placed on the branch specified by DEST-BRANCH."
+ msgstr ""
++"Le résultat de la fusion est placé dans la branche spécifiée par BRANCHE-"
++"DESTINATION"
+ 
+ #: cmd_merging.cc:912
+ #, c-format
+@@ -1888,65 +1914,63 @@
+ #: cmd_merging.cc:976 cmd_merging.cc:991
+ #, c-format
+ msgid "%s is an ancestor of %s; no merge is needed."
+-msgstr "%s est un ancêtre de %s ; aucune fusion n'est nécessaire."
++msgstr "%s est un ancêtre de %s ; aucune fusion n'est nécessaire."
+ 
+ #: cmd_merging.cc:1018
+ #, c-format
+ msgid "no conflicts detected"
+-msgstr "pas de conflits détectés"
++msgstr "aucun conflit détecté"
+ 
+ #: cmd_merging.cc:1052 cmd_conflicts.cc:160 cmd_conflicts.cc:173
+ #, c-format
+ msgid "warning: %d conflict with no supported resolutions."
+ msgid_plural "warning: %d conflicts with no supported resolutions."
+-msgstr[0] ""
+-msgstr[1] ""
++msgstr[0] "avertissement : conflit %d mais aucune solution gérée."
++msgstr[1] "avertissement : conflits %d mais aucune solution gérée."
+ 
+ #: cmd_merging.cc:1059
+ msgid "REV REV"
+ msgstr "RÉV RÉV"
+ 
+ #: cmd_merging.cc:1060
+-#, fuzzy
+ msgid "Shows what conflicts need resolution between two revisions"
+ msgstr ""
+-"indique quels conflits auraient besoin d'être résolus lors d'une fusion des "
+-"révisions données."
++"Indique quels conflits auraient besoin d'être résolus entre deux révisions."
+ 
+ #: cmd_merging.cc:1061
+ msgid ""
+ "The conflicts are calculated based on the two revisions given in the REV "
+ "parameters."
+ msgstr ""
++"Les conflits sont calculés sur la base des deux révisions données aux "
++"paramètres REV."
+ 
+ #: cmd_merging.cc:1095
+ #, c-format
+ msgid "branch '%s' has only 1 head; must be at least 2 for conflicts"
+ msgstr ""
++"La branche « %s » n'a qu'une tête, il en faut au moins deux pour les "
++"conflits."
+ 
+ #: cmd_merging.cc:1128
+ msgid "[LEFT_REVID RIGHT_REVID]"
+ msgstr "[REVID_GAUCHE REVID_DROITE]"
+ 
+ #: cmd_merging.cc:1129
+-#, fuzzy
+ msgid "Shows the conflicts between two revisions."
+-msgstr ""
+-"indique quels conflits auraient besoin d'être résolus lors d'une fusion des "
+-"révisions données."
++msgstr "Indique les conflits entre deux révisions."
+ 
+ #: cmd_merging.cc:1130
+ msgid ""
+ "If no arguments are given, LEFT_REVID and RIGHT_REVID default to the first "
+ "two heads that would be chosen by the 'merge' command."
+ msgstr ""
++"Si aucun argument n'est donné, GAUCHE_REVID et DROITE_REVID prennent par "
++"défaut les deux têtes qui seraient choisies par la commande « merge »."
+ 
+ #: cmd_merging.cc:1144
+-#, fuzzy
+ msgid "Store the conflicts from merging two revisions."
+-msgstr ""
+-"indique quels conflits auraient besoin d'être résolus lors d'une fusion des "
+-"révisions données."
++msgstr "Enregistre les conflits résultant d'une fusion de deux révisions."
+ 
+ #: cmd_merging.cc:1145
+ msgid ""
+@@ -1954,21 +1978,26 @@
+ "two heads that would be chosen by the 'merge' command. If --conflicts-file "
+ "is not given, '_MTN/conflicts' is used."
+ msgstr ""
++"Si aucun argument n'est donné, GAUCHE_REVID et DROITE_REVID prennent par "
++"défaut les deux têtes qui seraient choisies par la commande « merge ». Si --"
++"conflicts-file n'est pas donné, « _MTN/conflicts » est utilisé."
+ 
+ #: cmd_merging.cc:1163
+ msgid "LEFT_REVID LEFT_FILENAME RIGHT_REVID RIGHT_FILENAME"
+-msgstr ""
++msgstr "GAUCHE_REVID NOM_FICHIER_GAUCHE DROITE_REVID NOM_DE_FICHIER_DROITE"
+ 
+ #: cmd_merging.cc:1164
+ msgid ""
+ "Prints the results of the internal line merger, given two child revisions "
+ "and file names"
+ msgstr ""
++"Quand deux révisions enfant ainsi que les noms de fichiers sont donnés, "
++"cette commande affiche le résultat de la fusion interne."
+ 
+ #: cmd_merging.cc:1216
+-#, fuzzy, c-format
++#, c-format
+ msgid "internal line merger failed"
+-msgstr "la fusion a échoué"
++msgstr "la fusion interne a échoué"
+ 
+ #: cmd_merging.cc:1221
+ msgid "[-r FROM] -r TO [PATH...]"
+@@ -1977,9 +2006,10 @@
+ #: cmd_merging.cc:1222
+ msgid "Applies changes made at arbitrary places in history"
+ msgstr ""
++"Applique les changements effectués à des moments arbitraires dans "
++"l'historique"
+ 
+ #: cmd_merging.cc:1223
+-#, fuzzy
+ msgid ""
+ "This command takes changes made at any point in history, and edits your "
+ "current workspace to include those changes.  The end result is identical to "
+@@ -1991,14 +2021,12 @@
+ "If two revisions are given, applies the changes made to get from the first "
+ "revision to the second."
+ msgstr ""
+-"applique des changements faits en des lieux arbitraires, dans le passé de "
+-"l'espace de travail actuel.\n"
+-"Cette commande prends des changements faits à n'importe quel point du passé "
++"Cette commande prend des changements faits à n'importe quel point du passé "
+ "et édite l'espace de travail courant en tenant compte de ces changements. Le "
+-"résultat final est identique à « mtn diff -r FROM -r TO | patch -p0 », à ceci "
+-"près que cette commande utilise le processus de fusion interne de monotone "
+-"et manipule donc les changements de nom, les conflits et le reste de façon "
+-"intelligente.\n"
++"résultat final est identique à « mtn diff -r FROM -r TO | patch -p0 », à "
++"ceci près que cette commande utilise le processus de fusion interne de "
++"monotone et manipule donc les changements de nom, les conflits et le reste "
++"de façon intelligente.\n"
+ "Si une révision est donnée, les changements faits depuis son parent sont "
+ "appliqués.\n"
+ "Si deux révisions sont données, les changements pour aller de la première à "
+@@ -2011,9 +2039,9 @@
+ "to apply the changes relative to one of its parents, use:\n"
+ "  %s pluck -r PARENT -r %s"
+ msgstr ""
+-"la révision « %s » est le résultat d'une fusion.\n"
+-"Pour appliquer les changements relatifs à un de ses parents, utiliser :\n"
+-"« %s pluck -r PARENT -r %s »"
++"la révision « %s » est le résultat d'une fusion.\n"
++"Pour appliquer les changements relatifs à un de ses parents, utiliser :\n"
++"« %s pluck -r PARENT -r %s »"
+ 
+ #: cmd_merging.cc:1263
+ #, c-format
+@@ -2033,7 +2061,7 @@
+ #: cmd_merging.cc:1379
+ #, c-format
+ msgid "applied changes to workspace"
+-msgstr "les changements ont été appliqués l'espace de travail"
++msgstr "les changements ont été appliqués à l'espace de travail"
+ 
+ #: cmd_merging.cc:1411
+ msgid "Shows unmerged head revisions of a branch"
+@@ -2054,20 +2082,16 @@
+ msgstr "[ID_RÉV]"
+ 
+ #: cmd_merging.cc:1441
+-#, fuzzy
+ msgid "Dumps the roster associated with a given identifier"
+-msgstr ""
+-"extrait la liste associée avec l'ID_RÉV donné, ou l'espace de travail si "
+-"aucun ID_RÉV est donné"
++msgstr "Extrait la liste associée avec un identifiant."
+ 
+ #: cmd_merging.cc:1442
+ msgid "If no REVID is given, the workspace is used."
+ msgstr "Si aucune REVID n'est donnée, l'espace de travail est utilisé."
+ 
+ #: cmd_db.cc:40
+-#, fuzzy
+ msgid "Deals with the database"
+-msgstr "nom de la base de données"
++msgstr "Traite avec la base de données"
+ 
+ #: cmd_db.cc:44
+ msgid "Initializes a database"
+@@ -2079,7 +2103,7 @@
+ 
+ #: cmd_db.cc:56
+ msgid "Shows information about the database"
+-msgstr "Affiche des information à propos de la base de données"
++msgstr "Affiche des informations à propos de la base de données"
+ 
+ #: cmd_db.cc:68
+ msgid "Shows the database's version"
+@@ -2087,7 +2111,7 @@
+ 
+ #: cmd_db.cc:80
+ msgid "Attempt to fix bad certs"
+-msgstr ""
++msgstr "Tente de corriger les mauvais certificats"
+ 
+ #: cmd_db.cc:81
+ msgid ""
+@@ -2097,6 +2121,13 @@
+ "needed if you had such certs in your db when upgrading from 0.44 or earlier, "
+ "or if you loaded such certs with 'mtn read'."
+ msgstr ""
++"D'anciennes versions de monotone associaient parfois des certificats à de "
++"fausses clés. Cette action corrige les certificats si vous possédez la bonne "
++"clef, et efface facultativement tout mauvais certificat pour lequel vous "
++"n'avez pas la bonne clef. Ceci n'est nécessaire que si vous aviez de tels "
++"certificats dans votre base de données lors de la mise à niveau depuis la "
++"version 0.44 ou plus ancienne, ou encore si vous avez chargé de tels "
++"certificats avec la commande « mtn read »."
+ 
+ #: cmd_db.cc:97
+ msgid "Dumps the contents of the database"
+@@ -2115,7 +2146,7 @@
+ 
+ #: cmd_db.cc:111
+ msgid "Loads the contents of the database"
+-msgstr "Charge le contenu dans la base de données"
++msgstr "Charge le contenu de la base de données"
+ 
+ #: cmd_db.cc:112
+ msgid ""
+@@ -2123,11 +2154,13 @@
+ "database.  This is supposed to be used in conjunction with the output "
+ "generated by the 'dump' command."
+ msgstr ""
++"Lit une liste de requêtes SQL pour régénérer le contenu de la base de "
++"données. Cela est supposé être utilisé avec la sortie créée par la commande "
++"« dump »."
+ 
+ #: cmd_db.cc:125
+-#, fuzzy
+ msgid "Migrates the database to a newer schema"
+-msgstr "fournit l'accès de la base de donnée aux clients qui se connectent"
++msgstr "Migre la base de données vers un nouveau schéma"
+ 
+ #: cmd_db.cc:126
+ msgid ""
+@@ -2135,6 +2168,9 @@
+ "automatically resolve incompatibilities that may be introduced in newer "
+ "versions of monotone."
+ msgstr ""
++"Met à niveau le schéma interne de la base de données vers le plus récent. "
++"Cela est nécessaire afin de résoudre automatiquement des incompatibilités "
++"qui pourraient être introduites dans de nouvelles versions de monotone."
+ 
+ #: cmd_db.cc:151
+ #, c-format
+@@ -2143,28 +2179,27 @@
+ "of monotone, you're not done yet.  If you're a project leader, then\n"
+ "see the file UPGRADE for instructions on running '%s db %s'"
+ msgstr ""
+-"NOTE: étant donné que cette base de données a été utilisée en dernier\n"
++"NOTE : étant donné que cette base de données a été utilisée en dernier\n"
+ "lieu par une version plutôt vieille de monotone, vous n'en avez pas\n"
+ "terminé. Si vous êtes directeur du projet, regardez le fichier\n"
+-"UPGRADE pour obtenir des informations sur la commande « %s db %s »"
++"UPGRADE pour obtenir des informations sur la commande « %s db %s »"
+ 
+ #: cmd_db.cc:159
+ msgid "Executes an SQL command on the database"
+-msgstr "Exécute une commande SQL sur la base de données"
++msgstr "Exécute une requête SQL sur la base de données"
+ 
+ #: cmd_db.cc:160
+ msgid "Directly executes the given SQL command on the database"
+-msgstr "Exécute directement la commande SQL donnée sur la base de données"
++msgstr "Exécute directement la requête SQL donnée sur la base de données"
+ 
+ #: cmd_db.cc:171
+-#, fuzzy
+ msgid "Kills a revision from the local database"
+-msgstr "aucune révision pour le fichier « %s » dans la base de données"
++msgstr "Supprime une révision de la base de données locale"
+ 
+ #: cmd_db.cc:188
+ #, c-format
+ msgid "revision %s already has children. We cannot kill it."
+-msgstr "la révision « %s » a déjà des descendants. Impossible de la tuer."
++msgstr "la révision « %s » a déjà des descendants. Impossible de la tuer."
+ 
+ #: cmd_db.cc:216
+ #, c-format
+@@ -2184,9 +2219,10 @@
+ "autre révision avant d'essayer de tuer cette révision à nouveau."
+ 
+ #: cmd_db.cc:224
+-#, fuzzy, c-format
++#, c-format
+ msgid "applying changes from %s on the current workspace"
+-msgstr "le fichier %s est inconnu dans l'espace de travail"
++msgstr ""
++"Application des changements depuis « %s » vers l'espace de travail courant"
+ 
+ #: cmd_db.cc:244
+ msgid "Kills branch certificates from the local database"
+@@ -2203,27 +2239,28 @@
+ #: cmd_db.cc:269
+ msgid "Ensures that the database is consistent by issuing multiple checks."
+ msgstr ""
++"Vérifie l'intégrité de la base de données en faisant de multiples "
++"vérifications."
+ 
+ #: cmd_db.cc:281
+ msgid "Converts the database to the changeset format"
+-msgstr ""
++msgstr "Convertit la base de données vers le format changeset."
+ 
+ #: cmd_db.cc:302
+-#, fuzzy
+ msgid "Converts the database to the rosters format"
+-msgstr "fournit l'accès de la base de donnée aux clients qui se connectent"
++msgstr "Convertit la base de donnée vers le format roster."
+ 
+ #: cmd_db.cc:324
+ msgid "Regenerates the caches stored in the database"
+-msgstr "Régénere les caches stockés dans la base de données"
++msgstr "Régénère les caches stockés dans la base de données"
+ 
+ #: cmd_db.cc:336
+ msgid "Clears the branch's epoch"
+-msgstr ""
++msgstr "Vide l'époque de la branche"
+ 
+ #: cmd_db.cc:348
+ msgid "Sets the branch's epoch"
+-msgstr ""
++msgstr "Positionne l'époque de la branche"
+ 
+ #: cmd_db.cc:356
+ #, c-format
+@@ -2235,9 +2272,8 @@
+ msgstr "DOMAINE NOM VALEUR"
+ 
+ #: cmd_db.cc:364 automate.cc:2207
+-#, fuzzy
+ msgid "Sets a database variable"
+-msgstr "%s (la base de donnée n'a pas de tables !)"
++msgstr "Positionne une variable de la base de données"
+ 
+ #: cmd_db.cc:365
+ msgid ""
+@@ -2245,21 +2281,25 @@
+ "named NAME, stored in the database, and sets it to the given value in "
+ "VALUE.  The variable is placed in the domain DOMAIN."
+ msgstr ""
++"Cette commande modifie (ou ajoute si elle n'existait pas auparavant) la "
++"variable NOM enregistrée dans la base de données et lui donne la valeur "
++"VALEUR. Cette variable est placée dans le domaine DOMAINE."
+ 
+ #: cmd_db.cc:383
+ msgid "DOMAIN NAME"
+ msgstr "DOMAINE NOM"
+ 
+ #: cmd_db.cc:384
+-#, fuzzy
+ msgid "Unsets a database variable"
+-msgstr "nom de la base de données"
++msgstr "Vide une variable de la base de données"
+ 
+ #: cmd_db.cc:385
+ msgid ""
+ "This command removes the variable NAME from domain DOMAIN, which was "
+ "previously stored in the database."
+ msgstr ""
++"Cette commande supprime la variable NOM du domaine DOMAINE qui était "
++"précédemment enregistrée dans la base de données."
+ 
+ #: cmd_db.cc:399 automate.cc:2253
+ #, c-format
+@@ -2268,39 +2308,41 @@
+ 
+ #: cmd_db.cc:404 cmd_db.cc:426
+ msgid "[WORKSPACE_PATH]"
+-msgstr ""
++msgstr "[CHEMIN_ESPACE_TRAVAIL]"
+ 
+ #: cmd_db.cc:405
+-#, fuzzy
+ msgid "Registers a new workspace for the current database"
+ msgstr ""
+-"Liste les fichiers de l'espace de travail qui appartienent à la branche "
+-"actuelle"
++"Enregistre un nouvel espace de travail pour la base de données actuelle."
+ 
+ #: cmd_db.cc:406
+ msgid "This command adds WORKSPACE_PATH to the list of `known-workspaces'."
+ msgstr ""
++"Cette commande ajoute CHEMIN_ESPACE_TRAVAIL à la liste des espaces de "
++"travail connus."
+ 
+ #: cmd_db.cc:413 cmd_db.cc:435
+-#, fuzzy, c-format
++#, c-format
+ msgid "No workspace given"
+-msgstr "aucun nom d'hôte fourni"
++msgstr "aucun espace de travail fourni"
+ 
+ #: cmd_db.cc:427
+-#, fuzzy
+ msgid "Unregisters an existing workspace for the current database"
+ msgstr ""
+-"Liste les fichiers de l'espace de travail qui appartienent à la branche "
+-"actuelle"
++"Supprime un espace de travail existant dans la base de données courante."
+ 
+ #: cmd_db.cc:428
+ msgid "This command removes WORKSPACE_PATH to the list of `known-workspaces'."
+ msgstr ""
++"Cette commande supprime CHEMIN_ESPACE_TRAVAIL de la liste des espaces de "
++"travail connus."
+ 
+ #: cmd_db.cc:448
+ msgid ""
+ "Removes all invalid, registered workspace paths for the current database"
+ msgstr ""
++"Supprime tous les chemins des espaces de travail enregistrés et invalides de "
++"la base de données courante."
+ 
+ #: cmd_db.cc:493
+ msgid "(revision|file|key) PARTIAL-ID"
+@@ -2317,13 +2359,15 @@
+ 
+ #: cmd_db.cc:548
+ msgid "Runs one step of migration on the specified database"
+-msgstr ""
++msgstr "Exécute une étape de la migration sur la base de données spécifiée."
+ 
+ #: cmd_db.cc:549
+ msgid ""
+ "This command migrates the given database from the specified schema in SCHEMA "
+ "to its successor."
+ msgstr ""
++"Cette commande migre la base de données fournie du schéma spécifié dans "
++"SCHEMA vers son successeur."
+ 
+ #: cmd_db.cc:562
+ msgid "Shows a revision's height"
+@@ -2332,23 +2376,24 @@
+ #: cmd_db.cc:575
+ #, c-format
+ msgid "cached height: %s"
+-msgstr "altitude dans le cache: %s"
++msgstr "altitude dans le cache : %s"
+ 
+ #: cmd_db.cc:581
+-#, fuzzy
+ msgid "load all revisions from the database"
+-msgstr "aucune révision pour le fichier « %s » dans la base de données"
++msgstr "charge le contenu de toutes les révisions de la base de données"
+ 
+ #: cmd_db.cc:582
+ msgid ""
+ "This command loads all revisions from the database and is intended to be "
+ "used for timing revision loading performance."
+ msgstr ""
++"Cette commande charge le contenu de toutes les révisions de la base de "
++"données et est prévue pour minuter l'exécution du chargement des révisions. "
+ 
+ #: cmd_db.cc:593
+-#, fuzzy, c-format
++#, c-format
+ msgid "loading revisions"
+-msgstr "%d révisions manquantes"
++msgstr "chargement des révisions"
+ 
+ #: cmd_db.cc:594 network/netsync_session.cc:1345 rcs_import.cc:1234
+ #: database_check.cc:325
+@@ -2356,66 +2401,69 @@
+ msgstr "révisions"
+ 
+ #: cmd_db.cc:610
+-#, fuzzy
+ msgid "load all roster versions from the database"
+-msgstr "aucune révision pour le fichier « %s » dans la base de données"
++msgstr "charge toutes les versions « roster » de la base de données"
+ 
+ #: cmd_db.cc:611
+ msgid ""
+ "This command loads all roster versions from the database and is intended to "
+ "be used for timing roster reconstruction performance."
+ msgstr ""
++"Cette commande charge toutes les versions « roster » de la base de données "
++"et est prévue pour minuter l'exécution de la reconstruction du « roster »."
+ 
+ #: cmd_db.cc:622
+-#, fuzzy, c-format
++#, c-format
+ msgid "loading rosters"
+-msgstr "%d listes manquantes"
++msgstr "chargement des listes (« rosters »)"
+ 
+ #: cmd_db.cc:623 database_check.cc:193
+ msgid "rosters"
+-msgstr "rosters"
++msgstr "listes"
+ 
+ #: cmd_db.cc:638
+-#, fuzzy
+ msgid "load all file versions from the database"
+-msgstr ""
+-"aucune version de fichier « %s » n'a été trouvée dans la base de données"
++msgstr "charge toutes les versions des fichiers depuis la base de données"
+ 
+ #: cmd_db.cc:639
+ msgid ""
+ "This command loads all files versions from the database and is intended to "
+ "be used for timing file reconstruction performance."
+ msgstr ""
++"Cette commande charge toutes les versions des fichiers depuis la base de "
++"données et est prévue pour minuter l'exécution de la reconstruction des "
++"fichiers."
+ 
+ #: cmd_db.cc:647
+-#, fuzzy, c-format
++#, c-format
+ msgid "loading files"
+-msgstr "%d fichiers manquants"
++msgstr "chargement des fichiers"
+ 
+ #: cmd_db.cc:648 database_check.cc:164
+ msgid "files"
+ msgstr "fichiers"
+ 
+ #: cmd_db.cc:664
+-#, fuzzy
+ msgid "load all certs from the database"
+-msgstr "Charge le contenu dans la base de données"
++msgstr "Charge tous les certificats depuis la base de données"
+ 
+ #: cmd_db.cc:665
+ msgid ""
+ "This command loads all certs from the database and is intended to be used "
+ "for timing cert loading performance."
+ msgstr ""
++"Cette commande charge tous les certificats depuis la base de données et est "
++"prévue pour minuter l'exécution du chargement des certificats."
+ 
+ #: cmd_db.cc:672 database.cc:1285
+-#, fuzzy, c-format
++#, c-format
+ msgid "loading certs"
+-msgstr "suppression du certificat"
++msgstr "chargement des certificats"
+ 
+ #: cmd_db.cc:674
+-#, fuzzy, c-format
++#, c-format
+ msgid "loaded %d certs"
+-msgstr "lu %d paquet"
++msgstr "chargé %d certificats"
+ 
+ #: cmd_diff_log.cc:254
+ #, c-format
+@@ -2425,7 +2473,7 @@
+ #: cmd_diff_log.cc:257
+ #, c-format
+ msgid "--reverse only allowed with exactly one revision"
+-msgstr ""
++msgstr "l'option --reverse n'est valide qu'avec une seule révision"
+ 
+ #: cmd_diff_log.cc:270
+ #, c-format
+@@ -2434,7 +2482,7 @@
+ "(specify a revision to diff against with --revision)"
+ msgstr ""
+ "cet espace de travail possède plus d'un parent\n"
+-"Spécifiez la révision avec laquelle comparer à l'aide de --revision."
++"Spécifiez la révision à comparer à l'aide de --revision."
+ 
+ #: cmd_diff_log.cc:414 rev_output.cc:147
+ msgid "no changes"
+@@ -2442,7 +2490,7 @@
+ 
+ #: cmd_diff_log.cc:419 cmd_ws_commit.cc:559 cmd_ws_commit.cc:568
+ #: cmd_ws_commit.cc:697 cmd_ws_commit.cc:734 cmd_ws_commit.cc:825
+-#: cmd_ws_commit.cc:1404 automate.cc:1012
++#: cmd_ws_commit.cc:1401 automate.cc:1012
+ msgid "[PATH]..."
+ msgstr "[CHEMIN]..."
+ 
+@@ -2451,7 +2499,6 @@
+ msgstr "Affiche les différences actuelles"
+ 
+ #: cmd_diff_log.cc:421
+-#, fuzzy
+ msgid ""
+ "Compares the current tree with the files in the repository and prints the "
+ "differences on the standard output.\n"
+@@ -2459,7 +2506,8 @@
+ "is shown.  If two revisions are given, the diff between them is given.  If "
+ "no format is specified, unified is used by default."
+ msgstr ""
+-"affiche la différence actuelle sur la sortie standard.\n"
++"Compare l'arbre actuel avec les fichiers dans le dépôt actuel et affiche la "
++"différence sur la sortie standard.\n"
+ "Si une révision est donnée, la différence entre l'espace de travail\n"
+ "et cette révision est affichée. Si deux révisions sont données, leur\n"
+ "différence est affichée. Si aucun format n'est précisé, le format\n"
+@@ -2480,26 +2528,23 @@
+ 
+ #: cmd_diff_log.cc:467
+ msgid "Calculates diffs of files"
+-msgstr ""
++msgstr "Calcule la différence entre fichiers"
+ 
+ #: cmd_diff_log.cc:548
+-#, fuzzy
+ msgid "[PATH] ..."
+ msgstr "[CHEMIN]..."
+ 
+ #: cmd_diff_log.cc:549
+-#, fuzzy
+ msgid "Prints selected history in forward or reverse order"
+-msgstr "Affiche l'historique dans l'ordre inverse"
++msgstr "Affiche l'historique dans l'ordre normal ou inversé"
+ 
+ #: cmd_diff_log.cc:550
+-#, fuzzy
+ msgid ""
+ "This command prints selected history in forward or reverse order, filtering "
+ "it by PATH if given."
+ msgstr ""
+-"Affiche l'historique en sens inverse (filtré par « FICHIER »). Si une "
+-"révision ou plus sont données, elles seront employées comme point de départ."
++"Cette commande affiche l'historique en sens normal ou inversé (filtré par "
++"« CHEMIN » si donné)."
+ 
+ #: cmd_diff_log.cc:577
+ #, c-format
+@@ -2509,18 +2554,20 @@
+ #: cmd_diff_log.cc:594
+ #, c-format
+ msgid "try passing a --from revision to start at"
+-msgstr ""
++msgstr "Essayez d'employer l'option --from revision pour débuter"
+ 
+ #: cmd_diff_log.cc:603
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "workspace parent revision '%s' not found - did you specify a wrong database?"
+-msgstr "la révision de base %s n'existe pas dans la base de données"
++msgstr ""
++"la révision parent de l'espace de travail %s est manquante. Est-ce la bonne "
++"base de données ?"
+ 
+ #: cmd_diff_log.cc:925
+ #, c-format
+ msgid "(Revision: %s)"
+-msgstr "(Révision : %s)"
++msgstr "(Révision : %s)"
+ 
+ #: cmd_ws_commit.cc:178
+ #, c-format
+@@ -2529,6 +2576,9 @@
+ "This file must be removed before commit will proceed.\n"
+ "You may recover the previous message from this file if necessary."
+ msgstr ""
++"Une sauvegarde provenant d'un changement échoué existe dans _MTN/commit.\n"
++"Il faut supprimer ce fichier avant d'effectuer un nouveau changement.\n"
++"Vous pouvez récupérer le message précédent de ce fichier si nécessaire."
+ 
+ #: cmd_ws_commit.cc:183
+ msgid ""
+@@ -2536,34 +2586,37 @@
+ "The values of Author, Date and Branch may be modified as required.\n"
+ "\n"
+ msgstr ""
++"Veuillez documenter ce changement sous la ligne du CHANGELOG.\n"
++"Les valeurs des champs Auteur, Date et Branches peuvent être modifiées à "
++"souhait.\n"
++"\n"
+ 
+ #: cmd_ws_commit.cc:187
+-#, fuzzy
+ msgid "*** REMOVE THIS LINE TO CANCEL THE COMMIT ***\n"
+-msgstr "*****SUPPRIMEZ CETTE LIGNE POUR CONFIRMER LE COMMIT*****"
++msgstr "*** SUPPRIMEZ CETTE LIGNE POUR ANNULER LE COMMIT ***\n"
+ 
+-#: cmd_ws_commit.cc:209 cmd_ws_commit.cc:930
++#: cmd_ws_commit.cc:209 cmd_ws_commit.cc:927
+ msgid "*** THIS REVISION WILL CREATE A NEW BRANCH ***"
+-msgstr ""
++msgstr "*** CETTE RÉVISION VA CRÉER UNE NOUVELLE BRANCHE ***"
+ 
+-#: cmd_ws_commit.cc:212 cmd_ws_commit.cc:933
+-#, fuzzy
++#: cmd_ws_commit.cc:212 cmd_ws_commit.cc:930
+ msgid "Old Branch: "
+-msgstr "Branche actuelle : %s"
++msgstr "Ancienne branche : "
+ 
+-#: cmd_ws_commit.cc:213 cmd_ws_commit.cc:934
+-#, fuzzy
++#: cmd_ws_commit.cc:213 cmd_ws_commit.cc:931
+ msgid "New Branch: "
+-msgstr "Branche actuelle : %s"
++msgstr "Nouvelle branche : "
+ 
+-#: cmd_ws_commit.cc:224 cmd_ws_commit.cc:945
++#: cmd_ws_commit.cc:224 cmd_ws_commit.cc:942
+ msgid "*** THIS REVISION WILL CREATE DIVERGENCE ***"
+-msgstr ""
++msgstr "*** CETTE RÉVISION VA CRÉER DES DIVERGENCES ***"
+ 
+ #: cmd_ws_commit.cc:240
+-#, c-format
+-msgid "date format '%s' cannot be used for commit; using default instead"
++#, fuzzy, c-format
++msgid "date format '%s' cannot be parsed; using default instead"
+ msgstr ""
++"le format de date « %s » ne peut pas être utilisé pour le commit ; "
++"utilisation du format par défaut"
+ 
+ #: cmd_ws_commit.cc:259
+ #, c-format
+@@ -2573,84 +2626,83 @@
+ #: cmd_ws_commit.cc:278
+ #, c-format
+ msgid "Commit failed. Instructions not found."
+-msgstr ""
++msgstr "le commit a échoué. Aucune instruction trouvée."
+ 
+ #: cmd_ws_commit.cc:285
+ #, c-format
+ msgid "Commit cancelled."
+-msgstr ""
++msgstr "le commit a été annulé"
+ 
+ #: cmd_ws_commit.cc:288
+ msgid "Author: "
+-msgstr ""
++msgstr "Auteur :"
+ 
+ #: cmd_ws_commit.cc:289
+-#, fuzzy
+ msgid "Date: "
+-msgstr "note : "
++msgstr "Date : "
+ 
+ #: cmd_ws_commit.cc:290
+ msgid "Branch: "
+-msgstr ""
++msgstr "Branche :"
+ 
+ #: cmd_ws_commit.cc:291 rev_output.cc:106
+ msgid "Changelog: "
+-msgstr ""
++msgstr "Changelog :"
+ 
+ #: cmd_ws_commit.cc:304
+ #, c-format
+ msgid "Commit failed. Revision/Parent header not found."
+-msgstr ""
++msgstr "Le commit a échoué. L'en-tête de révision/parent est introuvable."
+ 
+ #: cmd_ws_commit.cc:309
+ #, c-format
+ msgid "Commit failed. Author header not found."
+-msgstr ""
++msgstr "Le commit a échoué. L'en-tête de l'auteur est introuvable."
+ 
+ #: cmd_ws_commit.cc:314
+ #, c-format
+ msgid "Commit failed. Author value empty."
+-msgstr ""
++msgstr "Le commit a échoué. La valeur du champ Auteur est vide."
+ 
+ #: cmd_ws_commit.cc:319
+ #, c-format
+ msgid "Commit failed. Date header not found."
+-msgstr ""
++msgstr "Le commit a échoué. L'en-tête de la date est introuvable."
+ 
+ #: cmd_ws_commit.cc:324
+ #, c-format
+ msgid "Commit failed. Date value empty."
+-msgstr ""
++msgstr "Le commit a échoué. La valeur de la date est vide."
+ 
+ #: cmd_ws_commit.cc:334
+ #, c-format
+ msgid "Commit failed. Branch header not found."
+-msgstr ""
++msgstr "Le commit a échoué. L'en-tête de la branche est introuvable."
+ 
+ #: cmd_ws_commit.cc:339
+ #, c-format
+ msgid "Commit failed. Branch value empty."
+-msgstr ""
++msgstr "Le commit a échoué. La valeur de la branche est vide."
+ 
+ #: cmd_ws_commit.cc:345
+ #, c-format
+ msgid "Commit failed. Blank line before Changelog header not found."
+-msgstr ""
++msgstr "Le commit a échoué. Aucune ligne vide avant l'en-tête du Changelog."
+ 
+ #: cmd_ws_commit.cc:350
+ #, c-format
+ msgid "Commit failed. Changelog header not found."
+-msgstr ""
++msgstr "Le commit a échoué. L'en-tête du Changelog est introuvable."
+ 
+ #: cmd_ws_commit.cc:359
+ #, c-format
+ msgid "Commit failed. Change summary not found."
+-msgstr ""
++msgstr "Le commit a échoué. Le résumé des changements est introuvable."
+ 
+ #: cmd_ws_commit.cc:362
+ #, c-format
+ msgid "Commit failed. Text following Change summary."
+-msgstr ""
++msgstr "Le commit a échoué. Du texte suit le résumé des changements."
+ 
+ #: cmd_ws_commit.cc:383
+ #, c-format
+@@ -2679,24 +2731,27 @@
+ msgstr "recréation de %s/"
+ 
+ #: cmd_ws_commit.cc:560
+-#, fuzzy
+ msgid "Reverts files and/or directories"
+-msgstr "aucun fichier ou dossier de ce nom : « %s »"
++msgstr "Rétablissement de fichiers et/ou de répertoires"
+ 
+ #: cmd_ws_commit.cc:561
+ msgid ""
+ "In order to revert the entire workspace, specify \".\" as the file name."
+ msgstr ""
++"Afin de rétablir l'espace de travail entier, veuillez utiliser « . » comme "
++"nom de fichier."
+ 
+ #: cmd_ws_commit.cc:569
+ msgid "Reverses a mistaken 'drop'"
+-msgstr ""
++msgstr "Rétablit un « drop » erroné"
+ 
+ #: cmd_ws_commit.cc:570
+ msgid ""
+ "If the file was deleted from the workspace, this is the same as 'revert'. "
+ "Otherwise, it just removes the 'drop' from the manifest."
+ msgstr ""
++"Si le fichier a été supprimé de l'espace de travail, c'est la même chose que "
++"« revert », « drop » est simplement retiré du manifeste."
+ 
+ #: cmd_ws_commit.cc:578
+ msgid "Disapproves a particular revision"
+@@ -2705,39 +2760,40 @@
+ #: cmd_ws_commit.cc:601
+ #, c-format
+ msgid "revision %s has %d changesets, cannot invert"
+-msgstr "la révision « %s » possède %d changements, inversion impossible"
++msgstr "la révision « %s » possède %d changements, inversion impossible"
+ 
+ #: cmd_ws_commit.cc:606
+ #, c-format
+ msgid "need --branch argument for disapproval"
+-msgstr "un argument à l'option --branch est requis pour la commande disapprove"
++msgstr ""
++"un argument à l'option --branch est requis pour la commande disapproval"
+ 
+-#: cmd_ws_commit.cc:651 cmd_ws_commit.cc:1692
++#: cmd_ws_commit.cc:651 cmd_ws_commit.cc:1689
+ #, c-format
+ msgid ""
+ "note: this revision creates divergence\n"
+ "note: you may (or may not) wish to run '%s merge'"
+ msgstr ""
+-"note: cette révision a créé une divergence\n"
+-"note: vous voulez peut-être (ou peut-être pas) exécuter « %s merge » ?"
++"note : cette révision a créé une divergence\n"
++"note : vous voulez peut-être (ou peut-être pas) exécuter « %s merge » ?"
+ 
+ #: cmd_ws_commit.cc:658
+ msgid "[DIRECTORY...]"
+-msgstr "[DOSSIER...]"
++msgstr "[RÉPERTOIRE...]"
+ 
+ #: cmd_ws_commit.cc:659
+ msgid "Creates directories and adds them to the workspace"
+-msgstr "Crée des dossiers et les ajoute à l'espace de travail"
++msgstr "Crée des répertoires et les ajoute à l'espace de travail"
+ 
+ #: cmd_ws_commit.cc:677
+ #, c-format
+ msgid "directory '%s' already exists"
+-msgstr "le dossier « %s » existe déjà"
++msgstr "le répertoire « %s » existe déjà"
+ 
+ #: cmd_ws_commit.cc:684
+ #, c-format
+ msgid "ignoring directory '%s' [see .mtn-ignore]"
+-msgstr "dossier « %s » ignoré [voir « .mtn-ignore »]"
++msgstr "répertoire « %s » ignoré [voir « .mtn-ignore »]"
+ 
+ #: cmd_ws_commit.cc:698
+ msgid "Adds files to the workspace"
+@@ -2753,7 +2809,7 @@
+ "SRC1 [SRC2 [...]] DEST_DIR"
+ msgstr ""
+ "SOURCE DESTINATION\n"
+-"SOURCE1 [SOURCE2 [...]] DOSSIER_DESTINATION"
++"SOURCE1 [SOURCE2 [...]] RÉPERTOIRE_DESTINATION"
+ 
+ #: cmd_ws_commit.cc:771
+ msgid "Renames entries in the workspace"
+@@ -2762,7 +2818,7 @@
+ #: cmd_ws_commit.cc:797
+ #, c-format
+ msgid "The specified target directory %s/ doesn't exist."
+-msgstr "Le dossier cible spécifié « %s/ » n'existe pas."
++msgstr "Le répertoire cible spécifié « %s/ » n'existe pas."
+ 
+ #: cmd_ws_commit.cc:803
+ msgid "NEW_ROOT PUT_OLD"
+@@ -2770,17 +2826,15 @@
+ 
+ #: cmd_ws_commit.cc:804
+ msgid "Renames the root directory"
+-msgstr "Impossible de supprimer la racine"
++msgstr "Renomme le répertoire racine"
+ 
+ #: cmd_ws_commit.cc:805
+-#, fuzzy
+ msgid ""
+ "After this command, the directory that currently has the name NEW_ROOT will "
+ "be the root directory, and the directory that is currently the root "
+ "directory will have name PUT_OLD.\n"
+ "Use of --bookkeep-only is NOT recommended."
+ msgstr ""
+-"change le nom de la racine\n"
+ "Après cette commande, le dossier actuellement nommé RACINE_NOUVELLE\n"
+ "deviendra la racine, et le dossier qui est actuellement la racine\n"
+ "deviendra le dossier appelé PLACE_ANCIENNE.\n"
+@@ -2790,176 +2844,175 @@
+ msgid "Shows workspace's status information"
+ msgstr "Affiche des informations sur l'état de l'espace de travail"
+ 
+-#: cmd_ws_commit.cc:849
+-#, c-format
+-msgid "date format '%s' cannot be used for commit"
+-msgstr ""
+-
+-#: cmd_ws_commit.cc:874
++#: cmd_ws_commit.cc:871
+ #, c-format
+ msgid "bisection from revision %s in progress"
+-msgstr ""
++msgstr "bissection de la révision %s en cours"
+ 
+-#: cmd_ws_commit.cc:954 cmd_ws_commit.cc:1718 cmd_ws_commit.cc:1870
++#: cmd_ws_commit.cc:951 cmd_ws_commit.cc:1715 cmd_ws_commit.cc:1867
+ msgid "[DIRECTORY]"
+-msgstr "[DOSSIER]"
++msgstr "[RÉPERTOIRE]"
+ 
+-#: cmd_ws_commit.cc:955
++#: cmd_ws_commit.cc:952
+ msgid "Checks out a revision from the database into a directory"
+-msgstr ""
++msgstr "Importe une révision de la base de données dans un répertoire"
+ 
+-#: cmd_ws_commit.cc:956
+-#, fuzzy
++#: cmd_ws_commit.cc:953
+ msgid ""
+ "If a revision is given, that's the one that will be checked out.  Otherwise, "
+ "it will be the head of the branch (given or implicit).  If no directory is "
+ "given, the branch name will be used as directory."
+ msgstr ""
+-"extrait une révision depuis une base de données dans un dossier.\n"
+ "Si une révision est spécifiée, c'est celle-ci qui sera récupérée. Sinon, il "
+ "s'agira de la version de tête de la branche spécifiée (ou implicite). Si "
+ "aucun nom de dossier n'est fourni, le nom de la branche sera utilisé comme "
+ "nom de dossier."
+ 
+-#: cmd_ws_commit.cc:976
++#: cmd_ws_commit.cc:973
+ #, c-format
+ msgid "use --revision or --branch to specify what to checkout"
+ msgstr "utiliser --revision ou --branch pour préciser quoi extraire"
+ 
+-#: cmd_ws_commit.cc:989
++#: cmd_ws_commit.cc:986
+ #, c-format
+ msgid "choose one with '%s checkout -r<id>'"
+ msgstr "choisissez en un avec « %s checkout -r<id> »"
+ 
+-#: cmd_ws_commit.cc:1023
++#: cmd_ws_commit.cc:1020
+ #, c-format
+ msgid "you must specify a destination directory"
+ msgstr "vous devez préciser un dossier de destination"
+ 
+-#: cmd_ws_commit.cc:1036
++#: cmd_ws_commit.cc:1033
+ #, c-format
+ msgid "checkout directory '%s' already exists"
+ msgstr "le dossier d'extraction « %s » existe déjà"
+ 
+-#: cmd_ws_commit.cc:1064
++#: cmd_ws_commit.cc:1061
+ msgid "Manages file attributes"
+ msgstr "Gère les attributs de fichiers"
+ 
+-#: cmd_ws_commit.cc:1065
++#: cmd_ws_commit.cc:1062
+ msgid "This command is used to set, get or drop file attributes."
+ msgstr ""
+-"Cette commande est utilisée pour attacher, obtienir ou détacher des "
+-"attributs de fichiers"
++"Cette commande est utilisée pour attacher, obtenir ou détacher des attributs "
++"de fichiers"
+ 
+-#: cmd_ws_commit.cc:1084 cmd_ws_commit.cc:1152 cmd_ws_commit.cc:1202
+-#: cmd_ws_commit.cc:1283
++#: cmd_ws_commit.cc:1081 cmd_ws_commit.cc:1149 cmd_ws_commit.cc:1199
++#: cmd_ws_commit.cc:1280
+ #, c-format
+ msgid "Unknown path '%s'"
+ msgstr "chemin « %s » inconnu"
+ 
+-#: cmd_ws_commit.cc:1101
++#: cmd_ws_commit.cc:1098
+ #, c-format
+ msgid "Path '%s' does not have attribute '%s'"
+ msgstr "Le chemin « %s » n'a pas d'attribut « %s »"
+ 
+-#: cmd_ws_commit.cc:1120 cmd_ws_commit.cc:1133
++#: cmd_ws_commit.cc:1117 cmd_ws_commit.cc:1130
+ msgid "PATH [ATTR]"
+ msgstr "CHEMIN [ATTR]"
+ 
+-#: cmd_ws_commit.cc:1121
+-#, fuzzy
++#: cmd_ws_commit.cc:1118
+ msgid "Removes attributes from a file"
+-msgstr "pas d'attributs pour « %s »"
++msgstr "Supprime les attributs d'un fichier"
+ 
+-#: cmd_ws_commit.cc:1122
++#: cmd_ws_commit.cc:1119
+ msgid ""
+ "If no attribute is specified, this command removes all attributes attached "
+ "to the file given in PATH.  Otherwise only removes the attribute specified "
+ "in ATTR."
+ msgstr ""
++"Si aucun attribut n'est spécifié, cette commande supprime tous les attributs "
++"liés au fichier dont le chemin est CHEMIN. Sinon, ne supprime que les "
++"attributs spécifiés dans ATTR."
+ 
+-#: cmd_ws_commit.cc:1134
+-#, fuzzy
++#: cmd_ws_commit.cc:1131
+ msgid "Gets the values of a file's attributes"
+-msgstr "attache, obtient ou détache des attributs de fichiers"
++msgstr "Obtient les attributs d'un fichier"
+ 
+-#: cmd_ws_commit.cc:1135
++#: cmd_ws_commit.cc:1132
+ msgid ""
+ "If no attribute is specified, this command prints all attributes attached to "
+ "the file given in PATH.  Otherwise it only prints the attribute specified in "
+ "ATTR."
+ msgstr ""
++"Si aucun attribut n'est spécifié, cette commande affiche tous les attributs "
++"liés au fichier dont le chemin est CHEMIN. Sinon, n'affiche que les "
++"attributs spécifiés dans ATTR."
+ 
+-#: cmd_ws_commit.cc:1168
++#: cmd_ws_commit.cc:1165
+ #, c-format
+ msgid "No attributes for '%s'"
+-msgstr "pas d'attributs pour « %s »"
++msgstr "Pas d'attributs pour « %s »"
+ 
+-#: cmd_ws_commit.cc:1180
++#: cmd_ws_commit.cc:1177
+ #, c-format
+ msgid "No attribute '%s' on path '%s'"
+-msgstr "pas d'attribut « %s » pour le chemin « %s »"
++msgstr "Pas d'attribut « %s » pour le chemin « %s »"
+ 
+-#: cmd_ws_commit.cc:1226
++#: cmd_ws_commit.cc:1223
+ msgid "PATH ATTR VALUE"
+ msgstr "CHEMIN ATTR VALEUR"
+ 
+-#: cmd_ws_commit.cc:1227
++#: cmd_ws_commit.cc:1224
+ msgid "Sets an attribute on a file"
+-msgstr ""
++msgstr "Positionne un attribut sur un fichier"
+ 
+-#: cmd_ws_commit.cc:1228
++#: cmd_ws_commit.cc:1225
+ msgid ""
+ "Sets the attribute given on ATTR to the value specified in VALUE for the "
+ "file mentioned in PATH."
+ msgstr ""
++"Positionne l'attribut donné par ATTR à la valeur spécifiée dans VALEUR pour "
++"le fichier dont le chemin est CHEMIN. "
+ 
+-#: cmd_ws_commit.cc:1257 cmd_files.cc:135 cmd_files.cc:230
++#: cmd_ws_commit.cc:1254 cmd_files.cc:135 cmd_files.cc:230
+ msgid "PATH"
+ msgstr "CHEMIN"
+ 
+-#: cmd_ws_commit.cc:1258
++#: cmd_ws_commit.cc:1255
+ msgid "Prints all attributes for the specified path"
+-msgstr ""
++msgstr "Affiche tous les attributs pour le chemin spécifié."
+ 
+-#: cmd_ws_commit.cc:1371
++#: cmd_ws_commit.cc:1368
+ msgid "PATH KEY VALUE"
+ msgstr "CHEMIN CLEF VALEUR"
+ 
+-#: cmd_ws_commit.cc:1372
++#: cmd_ws_commit.cc:1369
+ msgid "Sets an attribute on a certain path"
+-msgstr ""
++msgstr "Positionne un attribut pour un certain chemin"
+ 
+-#: cmd_ws_commit.cc:1393
++#: cmd_ws_commit.cc:1390
+ msgid "PATH [KEY]"
+ msgstr "CHEMIN [CLEF]"
+ 
+-#: cmd_ws_commit.cc:1394
++#: cmd_ws_commit.cc:1391
+ msgid "Drops an attribute or all of them from a certain path"
+-msgstr ""
++msgstr "Supprime un ou tous les attributs d'un certain chemin"
+ 
+-#: cmd_ws_commit.cc:1405
++#: cmd_ws_commit.cc:1402
+ msgid "Commits workspace changes to the database"
+ msgstr ""
+-"Effectue un « commit » depuis l'espace de travail vers la base de données"
++"Effectue un « commit » depuis l'espace de travail vers la base de données"
+ 
+-#: cmd_ws_commit.cc:1445
++#: cmd_ws_commit.cc:1442
+ #, c-format
+ msgid "no changes to commit"
+ msgstr "aucun changement nécessitant un commit"
+ 
+-#: cmd_ws_commit.cc:1466
++#: cmd_ws_commit.cc:1463
+ #, c-format
+ msgid ""
+ "parent revisions of this commit are in different branches:\n"
+ "'%s' and '%s'.\n"
+ "please specify a branch name for the commit, with --branch."
+ msgstr ""
+-"les révisions parentes de ce commit sont dans des branches différentes :\n"
+-"« %s » et « %s »\n"
+-"Veuillez spécifiez un nom de branche pour le commit, avec --branch."
++"les révisions parentes de ce commit sont dans des branches différentes :\n"
++"« %s » et « %s »\n"
++"Veuillez spécifier un nom de branche pour le commit, avec --branch."
+ 
+-#: cmd_ws_commit.cc:1488
++#: cmd_ws_commit.cc:1485
+ #, c-format
+ msgid ""
+ "_MTN/log is non-empty and log message was specified on command line\n"
+@@ -2971,251 +3024,280 @@
+ "Veuillez déplacer ou supprimer _MTN/log, ou enlever --message/--message-file "
+ "de la ligne de commande."
+ 
+-#: cmd_ws_commit.cc:1533
++#: cmd_ws_commit.cc:1530
+ #, c-format
+ msgid "empty log message; commit canceled"
+-msgstr "message d'historique vide ; commit annulé"
++msgstr "message d'historique vide ; commit annulé"
+ 
+-#: cmd_ws_commit.cc:1556
++#: cmd_ws_commit.cc:1553
+ #, c-format
+ msgid "log message rejected by hook: %s"
+-msgstr "entrée d'historique rejetée par procédure automatique (hook) : %s"
++msgstr "entrée d'historique rejetée par procédure automatique (hook) : %s"
+ 
+-#: cmd_ws_commit.cc:1566
++#: cmd_ws_commit.cc:1563
+ #, c-format
+ msgid "beginning commit on branch '%s'"
+-msgstr "début du commit sur la branche « %s »"
++msgstr "début du commit sur la branche « %s »"
+ 
+-#: cmd_ws_commit.cc:1572
++#: cmd_ws_commit.cc:1569
+ #, c-format
+ msgid "revision %s already in database"
+-msgstr "la révision « %s » est déjà dans la base de données"
++msgstr "la révision « %s » est déjà dans la base de données"
+ 
+-#: cmd_ws_commit.cc:1616 cmd_ws_commit.cc:1646
++#: cmd_ws_commit.cc:1613 cmd_ws_commit.cc:1643
+ #, c-format
+ msgid "file '%s' modified during commit, aborting"
+ msgstr "le fichier « %s » a été modifié pendant le commit, interruption"
+ 
+-#: cmd_ws_commit.cc:1627
++#: cmd_ws_commit.cc:1624
+ #, c-format
+ msgid "Your database is missing version %s of file '%s'"
+ msgstr "il manque la version %s du fichier « %s » dans votre base de données"
+ 
+-#: cmd_ws_commit.cc:1685
++#: cmd_ws_commit.cc:1682
+ #, c-format
+ msgid "committed revision %s"
+ msgstr "révision %s enregistrée"
+ 
+-#: cmd_ws_commit.cc:1719
++#: cmd_ws_commit.cc:1716
+ msgid "Sets up a new workspace directory"
+ msgstr "Fait d'un dossier donné un nouvel espace de travail"
+ 
+-#: cmd_ws_commit.cc:1720
+-#, fuzzy
++#: cmd_ws_commit.cc:1717
+ msgid "If no directory is specified, uses the current directory."
+-msgstr "le dossier de destination « %s » n'est pas un dossier"
++msgstr "Si aucun répertoire n'est spécifié, utilise le répertoire courant"
+ 
+-#: cmd_ws_commit.cc:1727
++#: cmd_ws_commit.cc:1724
+ #, c-format
+ msgid "need --branch argument for setup"
+ msgstr "un argument à l'option --branch est requis pour la commande setup"
+ 
+-#: cmd_ws_commit.cc:1765
++#: cmd_ws_commit.cc:1762
+ msgid "DIRECTORY"
+-msgstr "DOSSIER"
++msgstr "RÉPERTOIRE"
+ 
+-#: cmd_ws_commit.cc:1766
++#: cmd_ws_commit.cc:1763
+ msgid "Imports the contents of a directory into a branch"
+ msgstr "Importe le contenu d'un dossier dans une branche"
+ 
+-#: cmd_ws_commit.cc:1780
++#: cmd_ws_commit.cc:1777
+ #, c-format
+ msgid "you must specify a directory to import"
+ msgstr "vous devez préciser un dossier à importer"
+ 
+-#: cmd_ws_commit.cc:1800
++#: cmd_ws_commit.cc:1797
+ #, c-format
+ msgid ""
+ "use --revision or --branch to specify the parent revision for the import"
+ msgstr ""
+-"utiliser --revision ou --branch pour préciser la révision parente pour "
++"utilisez --revision ou --branch pour préciser la révision parente pour "
+ "l'import"
+ 
+-#: cmd_ws_commit.cc:1811
++#: cmd_ws_commit.cc:1808
+ #, c-format
+ msgid "choose one with '%s import -r<id>'"
+ msgstr "choisissez en une avec « %s import -r<id> »"
+ 
+-#: cmd_ws_commit.cc:1822
++#: cmd_ws_commit.cc:1819
+ #, c-format
+ msgid "import directory '%s' doesn't exists"
+ msgstr "le dossier à importer « %s » n'existe pas"
+ 
+-#: cmd_ws_commit.cc:1823
++#: cmd_ws_commit.cc:1820
+ #, c-format
+ msgid "import directory '%s' is a file"
+ msgstr "le dossier à importer « %s » est un fichier"
+ 
+-#: cmd_ws_commit.cc:1871
++#: cmd_ws_commit.cc:1868
+ msgid "Migrates a workspace directory's metadata to the latest format"
+ msgstr ""
+ "Migre les méta-données d'un espace de travail dans le format le plus récent"
+ 
+-#: cmd_ws_commit.cc:1872
+-#, fuzzy
++#: cmd_ws_commit.cc:1869
+ msgid "If no directory is given, defaults to the current workspace."
+-msgstr "le fichier %s est inconnu dans l'espace de travail"
++msgstr ""
++"Si aucun répertoire n'est précisé, utilise par défaut l'espace de travail "
++"courant"
+ 
+-#: cmd_ws_commit.cc:1896
++#: cmd_ws_commit.cc:1893
+ msgid "Refreshes the inodeprint cache"
+ msgstr "Rafraîchit le cache d'inodeprint"
+ 
+-#: cmd_ws_commit.cc:1907
++#: cmd_ws_commit.cc:1904
+ msgid "Search revisions to find where a change first appeared"
+ msgstr ""
++"Cherche les révisions afin de trouver où est apparu le premier changement"
+ 
+-#: cmd_ws_commit.cc:1908
++#: cmd_ws_commit.cc:1905
+ msgid ""
+ "These commands subdivide a set of revisions into good, bad and untested "
+ "subsets and successively narrow the untested set to find the first revision "
+ "that introduced some change."
+ msgstr ""
++"Ces commandes divisent un ensemble de révisions en trois sous-ensembles de "
++"révisions, bons, mauvais et non-testés, afin de réduire l'ensemble des "
++"révisions non-testées pour trouver la première révision qui a introduit des "
++"changements."
+ 
+-#: cmd_ws_commit.cc:1913
++#: cmd_ws_commit.cc:1910
+ msgid "Reset the current bisection search"
+-msgstr ""
++msgstr "Redémarre la recherche de la bissection actuelle"
+ 
+-#: cmd_ws_commit.cc:1914
++#: cmd_ws_commit.cc:1911
+ msgid ""
+ "Update the workspace back to the revision from which the bisection was "
+ "started and remove all current search information, allowing a new search to "
+ "be started."
+ msgstr ""
++"Remet l'espace de travail au niveau de la dernière révision à partir de "
++"laquelle la bissection avait démarrée et supprime toutes les recherches "
++"d'informations courantes, permettant une nouvelle recherche."
+ 
+-#: cmd_ws_commit.cc:1929 cmd_ws_commit.cc:1985
++#: cmd_ws_commit.cc:1926 cmd_ws_commit.cc:1982
+ #, c-format
+ msgid "no bisection in progress"
+-msgstr ""
++msgstr "aucune bissection en cours"
+ 
+-#: cmd_ws_commit.cc:1944 cmd_ws_commit.cc:2172
+-#, fuzzy, c-format
++#: cmd_ws_commit.cc:1941 cmd_ws_commit.cc:2169
++#, c-format
+ msgid "this command can only be used in a workspace with no pending changes"
+ msgstr ""
+-"« %s » ne peut être utilisé que dans un espace de travail sans changements "
+-"latents"
++"Cette commande ne peut être utilisée que dans un espace de travail sans "
++"changements latents"
+ 
+-#: cmd_ws_commit.cc:1950
++#: cmd_ws_commit.cc:1947
+ #, c-format
+ msgid "reset back to %s"
+-msgstr ""
++msgstr "retourne à « %s »"
+ 
+-#: cmd_ws_commit.cc:2016
++#: cmd_ws_commit.cc:2013
+ #, c-format
+ msgid ""
+ "bisecting revisions; %d good; %d bad; %d skipped; specify good revisions to "
+ "start search"
+ msgstr ""
++"Révisions en cours de bissection ; %d bonnes, %d mauvaises, %d sautées. "
++"Veuillez spécifier les bonnes révisions pour débuter la recherche."
+ 
+-#: cmd_ws_commit.cc:2022
++#: cmd_ws_commit.cc:2019
+ #, c-format
+ msgid ""
+ "bisecting revisions; %d good; %d bad; %d skipped; specify bad revisions to "
+ "start search"
+ msgstr ""
++"Révisions en cours de bissection ; %d bonnes, %d mauvaises, %d sautées. "
++"Veuillez spécifier les mauvaises révisions pour débuter la recherche."
+ 
+-#: cmd_ws_commit.cc:2085
++#: cmd_ws_commit.cc:2082
+ #, c-format
+ msgid "bisecting %d revisions; %d good; %d bad; %d skipped; %d remaining"
+ msgstr ""
++"%d révisions en cours de bissection ; %d bonnes, %d mauvaises, %d sautées, "
++"%d restantes"
+ 
+-#: cmd_ws_commit.cc:2103
+-#, fuzzy, c-format
++#: cmd_ws_commit.cc:2100
++#, c-format
+ msgid "bisection finished at revision %s"
+-msgstr "l'espace de travail est déjà positionné sur la révision « %s »"
++msgstr "bissection terminée à la révision « %s »"
+ 
+-#: cmd_ws_commit.cc:2196
+-#, fuzzy, c-format
++#: cmd_ws_commit.cc:2193
++#, c-format
+ msgid "bisection started at revision %s"
+-msgstr "l'espace de travail est déjà positionné sur la révision « %s »"
++msgstr "bissection débutée à la révision « %s »"
+ 
+-#: cmd_ws_commit.cc:2212
+-#, fuzzy, c-format
++#: cmd_ws_commit.cc:2209
++#, c-format
+ msgid "ignored redundant bisect %s on revision %s"
+-msgstr "aucun fichier « %s » dans la révision « %s »"
++msgstr "bissection redondante « %s » ignorée pour la révision « %s »"
+ 
+-#: cmd_ws_commit.cc:2217
+-#, fuzzy, c-format
++#: cmd_ws_commit.cc:2214
++#, c-format
+ msgid "conflicting bisect %s/%s on revision %s"
+-msgstr "impossible de créer le dossier « %s » pour « %s »"
++msgstr "bissection conflictuelle « %s/%s » pour la révision « %s »"
+ 
+-#: cmd_ws_commit.cc:2235
+-#, fuzzy, c-format
++#: cmd_ws_commit.cc:2232
++#, c-format
+ msgid "updating to %s"
+-msgstr "mise à jour de %s en %s"
++msgstr "mise à jour vers %s"
+ 
+-#: cmd_ws_commit.cc:2260
+-#, fuzzy
++#: cmd_ws_commit.cc:2257
+ msgid "Reports on the current status of the bisection search"
+-msgstr "Importe le contenu d'un dossier dans une branche"
++msgstr "Indique l'état courant pour la recherche de bissection"
+ 
+-#: cmd_ws_commit.cc:2261
++#: cmd_ws_commit.cc:2258
+ msgid ""
+ "Lists the total number of revisions in the search set; the number of "
+ "revisions that have been determined to be good or bad; the number of "
+ "revisions that have been skipped and the number of revisions remaining to be "
+ "tested."
+ msgstr ""
++"Liste le nombre total de révisions dans l'ensemble de recherche, le nombre "
++"de révisions déterminées comme bonnes ou mauvaises, le nombre de révisions "
++"sautées et le nombre de révisions encore à tester."
+ 
+-#: cmd_ws_commit.cc:2289
++#: cmd_ws_commit.cc:2286
+ #, c-format
+ msgid "next revision for bisection testing is %s\n"
+-msgstr ""
++msgstr "prochaine révision pour le test de bissection est %s\n"
+ 
+-#: cmd_ws_commit.cc:2290
++#: cmd_ws_commit.cc:2287
+ #, c-format
+ msgid "however this workspace is currently at %s\n"
+-msgstr ""
++msgstr "toutefois, cet espace de travail est actuellement à %s\n"
+ 
+-#: cmd_ws_commit.cc:2291
++#: cmd_ws_commit.cc:2288
+ #, c-format
+ msgid "run 'bisect update' to update to this revision before testing"
+ msgstr ""
++"exécutez « bisect update » pour mettre à jour vers cette révision avant de "
++"tester"
+ 
+-#: cmd_ws_commit.cc:2296
++#: cmd_ws_commit.cc:2293
+ msgid "Updates the workspace to the next revision to be tested by bisection"
+ msgstr ""
++"Met l'espace de travail à jour vers la prochaine révision pour être testée "
++"par bissection"
+ 
+-#: cmd_ws_commit.cc:2297
++#: cmd_ws_commit.cc:2294
+ msgid ""
+ "This command can be used if updates by good, bad or skip commands fail due "
+ "to blocked paths or other problems."
+ msgstr ""
++"Cette commande peut être utilisée pour les commandes bonnes, mauvaises ou "
++"sautées en échec à cause des chemins bloqués ou autres problèmes."
+ 
+-#: cmd_ws_commit.cc:2307
++#: cmd_ws_commit.cc:2304
+ msgid "Excludes the current revision or specified revisions from the search"
+-msgstr ""
++msgstr "Exclut la révision courante ou celles spécifiées par la recherche."
+ 
+-#: cmd_ws_commit.cc:2308
++#: cmd_ws_commit.cc:2305
+ msgid ""
+ "Skipped revisions are removed from the set being searched. Revisions that "
+ "cannot be tested for some reason should be skipped."
+ msgstr ""
++"Les révisions sautées sont supprimées de l'ensemble en cours de recherche. "
++"Les révisions qui ne peuvent être testées quelle qu'en soit la raison, "
++"devraient être sautées."
+ 
+-#: cmd_ws_commit.cc:2318
++#: cmd_ws_commit.cc:2315
+ msgid "Marks the current revision or specified revisions as bad"
+-msgstr ""
++msgstr "Marque la révision courante ou spécifiée comme mauvaise."
+ 
+-#: cmd_ws_commit.cc:2319
++#: cmd_ws_commit.cc:2316
+ msgid "Known bad revisions are removed from the set being searched."
+ msgstr ""
++"Les révisions connues comme étant mauvaises sont supprimées de l'ensemble de "
++"recherche."
+ 
+-#: cmd_ws_commit.cc:2328
++#: cmd_ws_commit.cc:2325
+ msgid "Marks the current revision or specified revisions as good"
+-msgstr ""
++msgstr "Marque la révision courante ou spécifiée comme bonne."
+ 
+-#: cmd_ws_commit.cc:2329
++#: cmd_ws_commit.cc:2326
+ msgid "Known good revisions are removed from the set being searched."
+ msgstr ""
++"Les révisions connues comme étant bonnes sont supprimées de l'ensemble de "
++"recherche."
+ 
+ #: cmd_othervcs.cc:28
+ msgid "RCSFILE..."
+@@ -3223,17 +3305,15 @@
+ 
+ #: cmd_othervcs.cc:29
+ msgid "Parses versions in RCS files"
+-msgstr "Analyse syntaxique des versions dans des fichiers RCS"
++msgstr "Analyse syntaxiquement des versions dans des fichiers RCS"
+ 
+ #: cmd_othervcs.cc:30
+-#, fuzzy
+ msgid ""
+ "This command doesn't reconstruct or import revisions.  You probably want to "
+ "use cvs_import."
+ msgstr ""
+-"analyse les versions dans des fichiers RCS\n"
+-"Cette commande ne reconstruit pas et n'importe pas des révisions, vous "
+-"voulez probablement utiliser cvs_import."
++"Cette commande ne reconstruit pas et n'importe pas de révisions, vous voulez "
++"probablement utiliser cvs_import."
+ 
+ #: cmd_othervcs.cc:43
+ msgid "CVSROOT"
+@@ -3246,7 +3326,7 @@
+ #: cmd_othervcs.cc:56
+ #, c-format
+ msgid "need base --branch argument for importing"
+-msgstr "un argument à l'option --branch est requis pour la commande import"
++msgstr "requiert un argument à l'option --branch pour la commande import"
+ 
+ #: cmd_othervcs.cc:60
+ #, c-format
+@@ -3255,66 +3335,67 @@
+ 
+ #: cmd_othervcs.cc:73
+ msgid "Produces a git fast-export data stream on stdout"
+-msgstr ""
++msgstr "Produit un flux de données git d'export rapide sur la sortie standard"
+ 
+ #: cmd_othervcs.cc:91
+ #, c-format
+ msgid "reading author mappings from '%s'"
+-msgstr ""
++msgstr "lecture des mappages de l'auteur depuis « %s »"
+ 
+ #: cmd_othervcs.cc:98
+ #, c-format
+ msgid "reading branch mappings from '%s'"
+-msgstr ""
++msgstr "lecture des mappages de la branche depuis « %s »"
+ 
+ #: cmd_othervcs.cc:106
+-#, fuzzy, c-format
++#, c-format
+ msgid "importing revision marks from '%s'"
+-msgstr "supprime la révision « %s »"
++msgstr "importe les marques de la révision depuis « %s »"
+ 
+ #: cmd_othervcs.cc:143
+-#, fuzzy, c-format
++#, c-format
+ msgid "exporting revision marks to '%s'"
+-msgstr "supprime la révision « %s »"
++msgstr "exporte les marques de la révision vers « %s »"
+ 
+ #: cmd_automate.cc:38
+ msgid "Interface for scripted execution"
+-msgstr ""
++msgstr "Interface pour l'exécution par scripts"
+ 
+ #: cmd_automate.cc:104
+-#, fuzzy
+ msgid "Prints the automation interface's version"
+-msgstr "interface d'automatisation"
++msgstr "Affiche la version de l'interface d'automatisation"
+ 
+ #: cmd_automate.cc:128
+ msgid ""
+ "Emulates certain kinds of diagnostic / UI messages for debugging and testing "
+ "purposes, such as stdio"
+ msgstr ""
++"Émule certains types de diagnostics ou messages de l'interface utilisateur "
++"dans un but de test et de déboguage telle que stdio"
+ 
+ #: cmd_automate.cc:138
+-#, fuzzy, c-format
++#, c-format
+ msgid "this is an informational message"
+-msgstr "créer un certificat pour une révision"
++msgstr "message informatif"
+ 
+ #: cmd_automate.cc:140
+ #, c-format
+ msgid "this is a warning"
+-msgstr ""
++msgstr "message d'avertissement"
+ 
+ #: cmd_automate.cc:142
+-#, fuzzy, c-format
++#, c-format
+ msgid "this is an error message"
+-msgstr "message d'historique du commit"
++msgstr "message d'erreur"
+ 
+ #: cmd_automate.cc:207
+ msgid "Automates several commands in one run"
+-msgstr ""
++msgstr "automatise plusieurs commandes en une fois"
+ 
+ #: cmd_automate.cc:264 cmd_automate.cc:438 network/automate_session.cc:193
+-#, fuzzy, c-format
++#, c-format
+ msgid "no completions for this command"
+-msgstr "pas d'ancêtre commun pour %s et %s"
++msgstr "pas de complétion pour cette commande"
+ 
+ #: cmd_automate.cc:269 cmd_automate.cc:443 network/automate_session.cc:198
+ #, c-format
+@@ -3324,12 +3405,12 @@
+ #: cmd_automate.cc:285 network/automate_session.cc:222
+ #, c-format
+ msgid "sorry, that can't be run remotely or over stdio"
+-msgstr ""
++msgstr "désolé, impossible d'exécuter à distance ou par-dessus stdio"
+ 
+ #: cmd_automate.cc:372
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory %s is not a workspace"
+-msgstr "le fichier « %s » n'existe pas dans l'espace de travail"
++msgstr "le répertoire « %s » n'est pas un espace de travail"
+ 
+ #: cmd_automate.cc:392
+ #, c-format
+@@ -3337,16 +3418,20 @@
+ "It is illegal to call the mtn_automate() lua extension,\n"
+ "unless from a command function defined by register_command()."
+ msgstr ""
++"il est illégal d'appeler l'extension lua mtn_automate()\n"
++"sauf à partir d'une commande de fonction définie par register_command()."
+ 
+ #: cmd_automate.cc:401
+-#, fuzzy, c-format
++#, c-format
+ msgid "Bad input to mtn_automate() lua extension: command name is missing"
+-msgstr "donnée invalide pour automate stdio : nom de commande manquant"
++msgstr ""
++"donnée invalide pour l'extension lua mtn_automate() : nom de commande "
++"manquant"
+ 
+ #: cmd_automate.cc:431
+-#, fuzzy, c-format
++#, c-format
+ msgid "no command found"
+-msgstr "aucun ancêtre commun n'a été trouvé"
++msgstr "aucune commande trouvée"
+ 
+ #: cmd_files.cc:37
+ msgid "Loads a file's contents into the database"
+@@ -3363,7 +3448,7 @@
+ #: cmd_files.cc:72
+ #, c-format
+ msgid "ancestor file id does not exist"
+-msgstr "l'id d'un fichier ancêtre n'existe pas"
++msgstr "l'id du fichier ancêtre n'existe pas"
+ 
+ #: cmd_files.cc:75
+ #, c-format
+@@ -3385,9 +3470,8 @@
+ msgstr "NOM_SRC NOM_DEST ID_SRC ID_DEST"
+ 
+ #: cmd_files.cc:96
+-#, fuzzy
+ msgid "Differences 2 files and outputs the result"
+-msgstr "fusionne deux fichiers et affiche le résultat"
++msgstr "Fait la différence entre deux fichiers et affiche le résultat"
+ 
+ #: cmd_files.cc:115
+ #, c-format
+@@ -3404,11 +3488,10 @@
+ msgstr "Affiche une copie annotée d'un fichier"
+ 
+ #: cmd_files.cc:137
+-#, fuzzy
+ msgid ""
+ "Calculates and prints an annotated copy of the given file from the specified "
+ "REVISION."
+-msgstr "affiche une copie annotée du fichier venant de RÉVISION"
++msgstr "Calcule et affiche une copie annotée du fichier venant de RÉVISION"
+ 
+ #: cmd_files.cc:169
+ #, c-format
+@@ -3427,7 +3510,7 @@
+ #: cmd_files.cc:191
+ #, c-format
+ msgid "'%s' in revision '%s' is not a file"
+-msgstr "« %s » dans la révision « %s » n'est pas un fichier"
++msgstr "« %s » dans la révision « %s » n'est pas un fichier"
+ 
+ #: cmd_files.cc:199
+ msgid "[PATH]"
+@@ -3442,21 +3525,23 @@
+ "If any PATH is given, calculates their identity; otherwise, the one from the "
+ "standard input is calculated."
+ msgstr ""
++"Si un CHEMIN est donné, calcule son identité, sinon, c'est celui de l'entrée "
++"standard qui sera calculé."
+ 
+ #: cmd_files.cc:231
+ msgid "Prints the file identifier of a file"
+-msgstr ""
++msgstr "Affiche l'identifiant d'un fichier"
+ 
+ #: cmd_files.cc:241
+ #, c-format
+ msgid "Cannot read from stdin"
+-msgstr "Ne peut pas lire de l'entrée standard"
++msgstr "Ne peut pas lire l'entrée standard"
+ 
+ #: cmd_files.cc:255 automate.cc:2010
+ #, c-format
+ msgid "no file version %s found in database"
+ msgstr ""
+-"aucune version de fichier « %s » n'a été trouvée dans la base de données"
++"aucune version de fichier « %s » n'a été trouvée dans la base de données"
+ 
+ #: cmd_files.cc:277 cmd_files.cc:281
+ #, c-format
+@@ -3469,13 +3554,15 @@
+ 
+ #: cmd_files.cc:289
+ msgid "Prints a file from the database"
+-msgstr "Afficher un fichier de la base de données"
++msgstr "Affiche un fichier de la base de données"
+ 
+ #: cmd_files.cc:290
+ msgid ""
+ "Fetches the given file FILENAME from the database and prints it to the "
+ "standard output."
+ msgstr ""
++"Cherche le fichier donné FICHIER de la base de données et l'affiche sur la "
++"sortie standard."
+ 
+ #: cmd_files.cc:327 automate.cc:1522
+ msgid "FILEID"
+@@ -3483,35 +3570,35 @@
+ 
+ #: cmd_files.cc:328
+ msgid "Prints the contents of a file (given an identifier)"
+-msgstr ""
++msgstr "Affiche le contenu d'un fichier (à partir de son identifiant)"
+ 
+ #: cmd_files.cc:356
+ msgid "Prints the contents of a file (given a name)"
+-msgstr ""
++msgstr "Affiche le contenu d'un fichier (à partir de son nom)"
+ 
+ #: cmd_conflicts.cc:19
+ msgid "Commands for conflict resolutions"
+ msgstr "Commandes pour les résolutions de conflits"
+ 
+ #: cmd_conflicts.cc:71
+-#, fuzzy, c-format
++#, c-format
+ msgid "orphaned node %s"
+-msgstr "expansion à « %s »"
++msgstr "nœud orphelin « %s »"
+ 
+ #: cmd_conflicts.cc:76 cmd_conflicts.cc:103 cmd_conflicts.cc:143
+ #, c-format
+ msgid "possible resolutions:"
+-msgstr "résolutions possible :"
++msgstr "résolutions possibles :"
+ 
+ #: cmd_conflicts.cc:77
+ #, c-format
+ msgid "resolve_first drop"
+-msgstr ""
++msgstr "suppression de resolve_first"
+ 
+ #: cmd_conflicts.cc:78
+ #, c-format
+ msgid "resolve_first rename \"file_name\""
+-msgstr ""
++msgstr "resolve_first renomme « nom du fichier »"
+ 
+ #: cmd_conflicts.cc:98
+ #, c-format
+@@ -3521,42 +3608,42 @@
+ #: cmd_conflicts.cc:107
+ #, c-format
+ msgid "resolve_first_left drop"
+-msgstr ""
++msgstr "suppression de first_left_drop"
+ 
+ #: cmd_conflicts.cc:108
+ #, c-format
+ msgid "resolve_first_left keep"
+-msgstr ""
++msgstr "conservation de resolve_first_left"
+ 
+ #: cmd_conflicts.cc:109
+ #, c-format
+ msgid "resolve_first_left rename \"name\""
+-msgstr ""
++msgstr "resolve_first_left renomme « nom »"
+ 
+ #: cmd_conflicts.cc:110
+ #, c-format
+ msgid "resolve_first_left user \"name\""
+-msgstr ""
++msgstr "resolve_first_left utilisateur « nom »"
+ 
+ #: cmd_conflicts.cc:115
+ #, c-format
+ msgid "resolve_first_right drop"
+-msgstr ""
++msgstr "suppression de resolve_first_right"
+ 
+ #: cmd_conflicts.cc:116
+ #, c-format
+ msgid "resolve_first_right keep"
+-msgstr ""
++msgstr "conservation de resolve_first_right"
+ 
+ #: cmd_conflicts.cc:117
+ #, c-format
+ msgid "resolve_first_right rename \"name\""
+-msgstr ""
++msgstr "resolve_first renomme « nom »"
+ 
+ #: cmd_conflicts.cc:118
+ #, c-format
+ msgid "resolve_first_right user \"name\""
+-msgstr ""
++msgstr "resolve_first_right utilisateur « nom »"
+ 
+ #: cmd_conflicts.cc:138
+ #, c-format
+@@ -3566,22 +3653,22 @@
+ #: cmd_conflicts.cc:144
+ #, c-format
+ msgid "resolve_first interactive \"file_name\""
+-msgstr ""
++msgstr "resolve_first interactive « nom du fichier »"
+ 
+ #: cmd_conflicts.cc:145
+ #, c-format
+ msgid "resolve_first user \"file_name\""
+-msgstr ""
++msgstr "resolve_first utilisateur « nom du fichier »"
+ 
+ #: cmd_conflicts.cc:164
+ #, c-format
+ msgid "all conflicts resolved"
+-msgstr ""
++msgstr "tous les conflits résolus"
+ 
+ #: cmd_conflicts.cc:200 merge_conflict.cc:1484
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s is not a supported conflict resolution for %s"
+-msgstr "Commandes pour les résolutions de conflits"
++msgstr "%s n'est pas une résolution de conflit gérée pour %s"
+ 
+ #: cmd_conflicts.cc:250 cmd_conflicts.cc:255
+ #, c-format
+@@ -3591,7 +3678,7 @@
+ #: cmd_conflicts.cc:260 cmd_conflicts.cc:276
+ #, c-format
+ msgid "other resolution must be 'drop' or 'rename'"
+-msgstr ""
++msgstr "autre résolution doit être « supprimer » ou « renommer »"
+ 
+ #: cmd_conflicts.cc:265 cmd_conflicts.cc:271 cmd_conflicts.cc:338
+ #: cmd_conflicts.cc:344 cmd_conflicts.cc:369 cmd_conflicts.cc:384
+@@ -3603,32 +3690,34 @@
+ #: cmd_conflicts.cc:372
+ #, c-format
+ msgid "result path must be under _MTN"
+-msgstr ""
++msgstr "le chemin de résultat doit être sous _MTN"
+ 
+ #: cmd_conflicts.cc:404
+-#, fuzzy, c-format
++#, c-format
+ msgid "no resolvable yet unresolved left side conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "conflits côté gauche non résolus et encore sans solution"
+ 
+ #: cmd_conflicts.cc:408
+-#, fuzzy, c-format
++#, c-format
+ msgid "no resolvable yet unresolved right side conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "conflits côté droit non résolus et encore sans solution"
+ 
+ #: cmd_conflicts.cc:412
+-#, fuzzy, c-format
++#, c-format
+ msgid "no resolvable yet unresolved single-file conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "conflits dans un fichier non résolus et encore sans solution"
+ 
+ #: cmd_conflicts.cc:426
+ msgid ""
+ "Show the first unresolved conflict in the conflicts file, and possible "
+ "resolutions"
+ msgstr ""
++"Montre le premier conflit non-résolu dans le fichier des conflits, ainsi que "
++"des solutions possibles."
+ 
+ #: cmd_conflicts.cc:439
+ msgid "Show the remaining unresolved conflicts in the conflicts file"
+-msgstr ""
++msgstr "Montre les conflits non-résolus restants dans le fichiers des conflits"
+ 
+ #: cmd_conflicts.cc:451 cmd_conflicts.cc:465 cmd_conflicts.cc:479
+ msgid "RESOLUTION"
+@@ -3636,23 +3725,29 @@
+ 
+ #: cmd_conflicts.cc:452
+ msgid "Set the resolution for the first unresolved single-file conflict"
+-msgstr ""
++msgstr "Règle la résolution pour le premier fichier de conflits non-résolus"
+ 
+ #: cmd_conflicts.cc:466
+ msgid "Set the left resolution for the first unresolved two-file conflict"
+ msgstr ""
++"Active la résolution côté gauche pour le premier conflit non résolu entre "
++"deux fichiers"
+ 
+ #: cmd_conflicts.cc:480
+ msgid "Set the right resolution for the first unresolved two-file conflict"
+ msgstr ""
++"Active la résolution côté droit pour le premier conflit non résolu entre "
++"deux fichiers"
+ 
+ #: cmd_conflicts.cc:494
+ msgid "Delete any bookkeeping files related to conflict resolution"
+ msgstr ""
++"Supprime tous les fichiers d'administration reliées aux résolutions de "
++"conflits "
+ 
+ #: lua_hooks.cc:104
+ msgid "lua: "
+-msgstr ""
++msgstr "lua :"
+ 
+ #: lua_hooks.cc:245
+ #, c-format
+@@ -3674,7 +3769,7 @@
+ "%s for assistance.\n"
+ msgstr ""
+ "%s\n"
+-"Cela peut être du a une faille mémoire, une corruption de données\n"
++"Cela peut être dû à une faille mémoire, une corruption de données\n"
+ "pendant une transmission réseau, une corruption de votre base de\n"
+ "données ou de votre espace de travail, ou a un bogue dans monotone.\n"
+ "Si l'erreur persiste, veuillez contacter %s pour obtenir de l'aide.\n"
+@@ -3691,11 +3786,13 @@
+ msgstr "espace de travail requis mais introuvable"
+ 
+ #: work.cc:142
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "workspace required but not found\n"
+ "%s"
+-msgstr "espace de travail requis mais introuvable%s%s"
++msgstr ""
++"espace de travail requis mais introuvable\n"
++"%s"
+ 
+ #: work.cc:151
+ #, c-format
+@@ -3705,22 +3802,22 @@
+ #: work.cc:160
+ #, c-format
+ msgid "monotone bookkeeping directory '%s' already exists in '%s'"
+-msgstr "le dossier administratif de monotone « %s » existe déjà dans « %s »"
++msgstr "le dossier administratif de monotone « %s » existe déjà dans « %s »"
+ 
+ #: work.cc:228 migrate_work.cc:197 migrate_work.cc:219
+ #, c-format
+ msgid "workspace is corrupt: reading %s: %s"
+-msgstr "l'espace de travail est corrompu : lors de la lecture de %s : %s"
++msgstr "l'espace de travail est corrompu : lors de la lecture de %s : %s"
+ 
+ #: work.cc:259
+-#, fuzzy, c-format
++#, c-format
+ msgid "no update has occurred in this workspace"
+-msgstr "Renomme des entrées dans l'espace de travail"
++msgstr "aucune mise à jour n'a eu lieu dans cet espace de travail"
+ 
+ #: work.cc:266
+ #, c-format
+ msgid "no update revision available"
+-msgstr ""
++msgstr "aucune mise à jour de révision disponible"
+ 
+ #: work.cc:298
+ #, c-format
+@@ -3728,36 +3825,38 @@
+ msgstr "la révision de base %s n'existe pas dans la base de données"
+ 
+ #: work.cc:313
+-#, fuzzy, c-format
++#, c-format
+ msgid "parent revision %s does not exist, did you specify the wrong database?"
+-msgstr "la révision de base %s n'existe pas dans la base de données"
++msgstr ""
++"la révision de base %s n'existe pas dans la base de données, auriez-vous "
++"spécifié la mauvaise base de données ?"
+ 
+ #: work.cc:472
+ #, c-format
+ msgid "Failed to read options file %s: %s"
+-msgstr "La lecture du fichier d'options %s a échoué : %s"
++msgstr "La lecture du fichier d'options %s a échoué : %s"
+ 
+ #: work.cc:489 work.cc:535
+-#, fuzzy, c-format
++#, c-format
+ msgid "a memory database '%s' cannot be used in a workspace"
+ msgstr ""
+-"la commande « %s %s » ne peut être restreinte dans un espace de travail "
+-"possédant deux parents"
++"une base de données mémoire « %s » ne peut pas être utilisée dans un espace "
++"de travail"
+ 
+ #: work.cc:521
+ #, c-format
+ msgid "unrecognized key '%s' in options file %s - ignored"
+-msgstr "clef non reconnue « %s » dans le fichier d'options %s -- ignorée"
++msgstr "clef non reconnue « %s » dans le fichier d'options %s -- ignorée"
+ 
+ #: work.cc:525
+-#, fuzzy, c-format
++#, c-format
+ msgid "Could not parse entire options file %s"
+-msgstr "L'enregistrement du fichier d'options %s a échoué : %s"
++msgstr "ne peut analyser l'entier du fichier des options %s"
+ 
+ #: work.cc:560
+ #, c-format
+ msgid "Failed to write options file %s: %s"
+-msgstr "L'enregistrement du fichier d'options %s a échoué : %s"
++msgstr "L'enregistrement du fichier d'options %s a échoué : %s"
+ 
+ #: work.cc:720
+ #, c-format
+@@ -3783,6 +3882,8 @@
+ "Non-recursive add: Files in the directory '%s' will not be added "
+ "automatically."
+ msgstr ""
++"Ajout non-récursif : les fichiers dans le répertoire « %s » ne seront pas "
++"ajoutés automatiquement."
+ 
+ #: work.cc:1174
+ #, c-format
+@@ -3830,19 +3931,19 @@
+ msgstr "le contenu du fichier « %s » a changé, il ne sera pas écrasé"
+ 
+ #: work.cc:1418
+-#, fuzzy, c-format
++#, c-format
+ msgid "updating %s"
+-msgstr "mise à jour de %s en %s"
++msgstr "mise à jour de %s"
+ 
+ #: work.cc:1473
+ #, c-format
+ msgid "cannot drop non-empty directory '%s'"
+-msgstr "impossible de supprimer le dossier non vide « %s »"
++msgstr "impossible de supprimer le dossier non vide « %s »"
+ 
+ #: work.cc:1506
+ #, c-format
+ msgid "attach node %d blocked by unversioned path '%s'"
+-msgstr "attache le nœud %d bloqué par le chemin non suivi « %s »"
++msgstr "attache le nœud %d bloqué par le chemin sans version attribué « %s »"
+ 
+ #: work.cc:1525
+ #, c-format
+@@ -3857,7 +3958,7 @@
+ #: work.cc:1614
+ #, c-format
+ msgid "moved conflicting path %s to %s"
+-msgstr ""
++msgstr "déplacement du chemin conflictuel %s vers %s"
+ 
+ #: work.cc:1678
+ #, c-format
+@@ -3890,12 +3991,12 @@
+ " '%s drop --missing' or\n"
+ " '%s revert --missing'"
+ msgstr ""
+-"%d fichiers manquants ; utilisez « %s ls missing » pour les visualiser\n"
+-"Pour restaurer un état consistent, sur chaque fichier manquant lancer :\n"
++"%d fichiers manquants ; utilisez « %s ls missing » pour les visualiser\n"
++"Pour restaurer un état cohérent, sur chaque fichier manquant lancez :\n"
+ " « %s drop FICHIER » pour le supprimer définitivement, ou\n"
+ " « %s revert FICHIER » pour le restaurer.\n"
+-"Pour tout faire d'un coup, « %s drop --missing », ou\n"
+-" « %s revert --missing »"
++"Pour tout faire d'un coup, « %s drop --missing », ou\n"
++" « %s revert --missing »"
+ 
+ #: work.cc:1876
+ #, c-format
+@@ -3915,13 +4016,12 @@
+ #: work.cc:1904
+ #, c-format
+ msgid "directory %s not empty - it will be dropped but not deleted"
+-msgstr ""
+-"le dossier « %s » n'est pas vide -- il sera supprimé, mais pas physiquement"
++msgstr "le dossier « %s » n'est pas vide -- il sera retiré, mais pas effacé"
+ 
+ #: work.cc:1915
+ #, c-format
+ msgid "file %s changed - it will be dropped but not deleted"
+-msgstr "le fichier « %s » a changé -- il sera supprimé, mais pas physiquement"
++msgstr "le fichier « %s » a changé -- il sera retiré, mais pas effacé"
+ 
+ #: work.cc:1919
+ #, c-format
+@@ -3932,16 +4032,18 @@
+ #, c-format
+ msgid "cannot rename the workspace root (try '%s pivot_root' instead)"
+ msgstr ""
++"impossible de renommer l'espace de travail racine (essayez « %s pivot_root » "
++"à la place)"
+ 
+ #: work.cc:1963 work.cc:1997
+ #, c-format
+ msgid "source file %s is not versioned"
+-msgstr "le fichier « %s » n'est pas suivi"
++msgstr "la version du fichier « %s » n'est pas indiqué"
+ 
+ #: work.cc:1978
+-#, fuzzy, c-format
++#, c-format
+ msgid "destination path's parent directory %s/ doesn't exist"
+-msgstr "le dossier à importer « %s » n'existe pas"
++msgstr "le répertoire parent de destination « %s » n'existe pas"
+ 
+ #: work.cc:1988
+ #, c-format
+@@ -3949,9 +4051,9 @@
+ msgstr "la destination « %s/ » n'est pas un dossier"
+ 
+ #: work.cc:2001
+-#, fuzzy, c-format
++#, c-format
+ msgid "destination %s already exists in the workspace manifest"
+-msgstr "la destination %s existe déjà dans le manifeste actuel"
++msgstr "la destination %s existe déjà dans le manifeste de l'espace de travail"
+ 
+ #: work.cc:2015
+ #, c-format
+@@ -3971,17 +4073,17 @@
+ "du système de fichier"
+ 
+ #: work.cc:2049
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s doesn't exist in workspace and %s does, skipping filesystem rename"
+ msgstr ""
+-"la destination %s existe déjà dans l'espace de travail, pas de modification "
++"%s n'existe pas dans l'espace de travail et %s existe, pas de modification "
+ "du système de fichier"
+ 
+ #: work.cc:2070
+ #, c-format
+ msgid "proposed new root directory '%s' is not versioned or does not exist"
+ msgstr ""
+-"le nouveau dossier racine proposé « %s » n'est pas suivi ou n'existe pas"
++"le nouveau dossier racine proposé « %s » n'a pas de version ou n'existe pas"
+ 
+ #: work.cc:2073
+ #, c-format
+@@ -3991,12 +4093,12 @@
+ #: work.cc:2076
+ #, c-format
+ msgid "proposed new root directory '%s' contains illegal path %s"
+-msgstr "la nouveau dossier racine proposé « %s » contient le chemin illégal %s"
++msgstr "le nouveau dossier racine proposé « %s » contient le chemin illégal %s"
+ 
+ #: work.cc:2086
+ #, c-format
+ msgid "directory '%s' is not versioned or does not exist"
+-msgstr "le dossier « %s » n'est pas suivi ou n'existe pas"
++msgstr "le dossier « %s » n'a pas de version ou n'existe pas"
+ 
+ #: work.cc:2094
+ #, c-format
+@@ -4018,11 +4120,13 @@
+ "re-run this command with --move-conflicting-paths to move conflicting paths "
+ "out of the way."
+ msgstr ""
++"exécutez à nouveau la commande avec l'option --move-conflicting-paths pour "
++"sortir les chemins conflictuels"
+ 
+ #: work.cc:2188
+ #, c-format
+ msgid "moved some conflicting files into %s/%s"
+-msgstr ""
++msgstr "déplacement de certains fichiers conflictuels dans %s/%s"
+ 
+ #: migrate_work.cc:79
+ #, c-format
+@@ -4033,7 +4137,7 @@
+ #, c-format
+ msgid "_MTN/format should not exist in a format 1 workspace; corrected"
+ msgstr ""
+-"_MTN/format ne devrait pas exister dans un espace de travail au format 1 ; "
++"_MTN/format ne devrait pas exister dans un espace de travail au format 1 ; "
+ "corrigé"
+ 
+ #: migrate_work.cc:125
+@@ -4052,7 +4156,7 @@
+ "le format 0 est impossible). Une fois que vous avez fait cela vous\n"
+ "ne pourrez plus utiliser l'espace de travail avec des versions de\n"
+ "monotone antérieures à %s.\n"
+-"Nous nous excusions pour la gêne occasionnée."
++"Nous nous excusons pour la gêne occasionnée."
+ 
+ #: migrate_work.cc:134
+ #, c-format
+@@ -4065,7 +4169,7 @@
+ msgstr ""
+ "Pour utiliser cet espace de travail avec cette version de monotone,\n"
+ "ses méta-données au format %d doivent être traduites vers le format %d\n"
+-"en utilisant la commande « %s migrate_workspace ».\n"
++"en utilisant la commande « %s migrate_workspace ».\n"
+ "Une fois que vous avez fait cela, vous ne pourrez plus utiliser cet\n"
+ "espace de travail avec des versions de monotone antérieures à %s."
+ 
+@@ -4076,10 +4180,10 @@
+ "in formats 0 through %d.  your workspace is in format %d.\n"
+ "you need a newer version of monotone to use this workspace."
+ msgstr ""
+-"cette version de monotone prend en charge uniquement les\n"
++"Cette version de monotone prend en charge uniquement les\n"
+ "méta-données d'espace de travail de format 0 jusqu'à %d.\n"
+-"votre espace de travail est au format %d.\n"
+-"vous avez besoin d'une version plus récente de monotone pour\n"
++"Votre espace de travail est au format %d.\n"
++"Vous avez besoin d'une version plus récente de monotone pour\n"
+ "utiliser cet espace de travail."
+ 
+ #: migrate_work.cc:173
+@@ -4111,7 +4215,7 @@
+ #: cert.cc:127
+ #, c-format
+ msgid "calculated cert hash '%s' does not match '%s'"
+-msgstr "la somme de contrôle du certificat « %s » n'est pas « %s »"
++msgstr "la somme de contrôle du certificat « %s » ne correspond pas à « %s »"
+ 
+ #: project.cc:476
+ #, c-format
+@@ -4119,26 +4223,28 @@
+ "could not interpret test result string '%s'; valid strings are: 1, 0, yes, "
+ "no, true, false, pass, fail"
+ msgstr ""
++"incapacité d'interpréter la chaîne de résultat du test « %s » ; les chaînes "
++"valides sont : 1, 0, yes, no, true, false, pass, fail"
+ 
+ #: project.cc:541 project.cc:557
+-#, fuzzy, c-format
++#, c-format
+ msgid "you have %d keys named '%s'"
+-msgstr "caractère invalide « %c » dans le nom de la clef « %s »"
++msgstr "Vous avez « %d » clefs nommées « %s »"
+ 
+ #: project.cc:549
+-#, fuzzy, c-format
++#, c-format
+ msgid "there are %d keys named '%s'"
+-msgstr "caractère invalide « %c » dans le nom de la clef « %s »"
++msgstr "Il y a « %d » clefs nommées « %s »"
+ 
+ #: project.cc:565
+-#, fuzzy, c-format
++#, c-format
+ msgid "there is no key named '%s'"
+-msgstr "caractère invalide « %c » dans le nom de la clef « %s »"
++msgstr "Il n'y a pas de clef nommée « %s »"
+ 
+ #: project.cc:586
+-#, fuzzy, c-format
++#, c-format
+ msgid "key %s does not exist"
+-msgstr "le fichier « %s » n'existe pas"
++msgstr "la clef « %s » n'existe pas"
+ 
+ #: project.cc:718
+ msgid "note: "
+@@ -4176,9 +4282,9 @@
+ "donner le nom d'une branche"
+ 
+ #: database.cc:567
+-#, fuzzy, c-format
++#, c-format
+ msgid "initializing new database '%s'"
+-msgstr "Initialise une base de données"
++msgstr "Initialise une nouvelle base de données « %s »"
+ 
+ #: database.cc:576
+ #, c-format
+@@ -4196,12 +4302,12 @@
+ "  pull into a fresh database.\n"
+ "sorry about the inconvenience."
+ msgstr ""
+-"la base de données « %s » contient des révisions dans l'ancien style\n"
++"La base de données « %s » contient des révisions dans l'ancien style\n"
+ "Si vous êtes le chef de projet ou si vous faites des tests localement :\n"
+ "  voyez le fichier UPGRADE pour les instructions de mise à jour.\n"
+ "Si vous n'êtes pas le chef de projet :\n"
+-"  attendez que le chef ait migré les données du projet, et\n"
+-"  récupérez les dans une nouvelle base de données.\n"
++"  attendez que le chef ait migré les données du projet, puis\n"
++"  récupérez-les dans une nouvelle base de données.\n"
+ "Nous nous excusons pour la gêne occasionnée."
+ 
+ #: database.cc:608
+@@ -4211,8 +4317,8 @@
+ "this is a very old database; it needs to be upgraded\n"
+ "please see README.changesets for details"
+ msgstr ""
+-"la base de données %s contient des manifestes mais aucune révision.\n"
+-"C'est un base de données très ancienne; elle a besoin d'être mise à jour.\n"
++"La base de données %s contient des manifestes mais aucune révision.\n"
++"C'est un base de données très ancienne ; elle a besoin d'être mise à jour.\n"
+ "Veuillez lire les détails dans README.changesets."
+ 
+ #: database.cc:622
+@@ -4221,9 +4327,9 @@
+ "database %s lacks some cached data\n"
+ "run '%s db regenerate_caches' to restore use of this database"
+ msgstr ""
+-"le cache de la base de donnée %s manque de données\n"
+-"Lancez « %s db regenerate_caches » pour pouvoir utiliser la base de donnés de "
+-"nouveau."
++"le cache de la base de données %s manque de données\n"
++"Lancez « %s db regenerate_caches » pour pouvoir utiliser cette base de "
++"données de nouveau."
+ 
+ #: database.cc:928
+ msgid "sqlite error: "
+@@ -4237,7 +4343,7 @@
+ msgid " (not a monotone database)"
+ msgstr " (pas une base de données monotone)"
+ 
+-#: database.cc:1014 database.cc:1044 database.cc:1721 database.cc:1741
++#: database.cc:1014 database.cc:1044 database.cc:1728 database.cc:1748
+ #, c-format
+ msgid "%u"
+ msgstr "%u"
+@@ -4278,7 +4384,7 @@
+ "  fichiers complets  : %s\n"
+ "  deltas de fichiers : %s\n"
+ "  révisions          : %s\n"
+-"  arêtres de parenté : %s\n"
++"  arêtes de parenté  : %s\n"
+ "  certificats        : %s\n"
+ "  fichiers logiques  : %s\n"
+ "octets:\n"
+@@ -4298,7 +4404,7 @@
+ #: database.cc:1127
+ #, c-format
+ msgid "invalid date '%s' for revision %s; skipped"
+-msgstr ""
++msgstr "date « %s » invalide pour la révision « %s » ; ignorée"
+ 
+ #: database.cc:1209
+ #, c-format
+@@ -4325,6 +4431,27 @@
+ "  95th percentile : %s sec\n"
+ "  99th percentile : %s sec\n"
+ msgstr ""
++"justesse des datations (« timestamp ») entre révisions :\n"
++"  dates correctes     : %s arêtes\n"
++"  dates égales        : %s arêtes\n"
++"  dates incorrectes   : %s arêtes\n"
++"  basée sur la racine : %s arêtes\n"
++"  dates manquantes    : %s arêtes\n"
++"\n"
++"différences de datation (« timestamp ») entre revisions :\n"
++"  moyenne             : %d sec\n"
++"  min                 : %d sec\n"
++"  max                 : %d sec\n"
++"\n"
++"  1er centile      : %s sec\n"
++"  5eme centile     : %s sec\n"
++"  10eme centile    : %s sec\n"
++"  25eme centile    : %s sec\n"
++"  50eme centile    : %s sec\n"
++"  75eme centile    : %s sec\n"
++"  90eme centile    : %s sec\n"
++"  95eme centile    : %s sec\n"
++"  99eme centile    : %s sec\n"
+ 
+ #: database.cc:1260
+ #, c-format
+@@ -4332,271 +4459,279 @@
+ msgstr "version du schéma de la base de données : %s"
+ 
+ #: database.cc:1294
+-#, fuzzy, c-format
++#, c-format
+ msgid "checking"
+-msgstr "importation du fichier « %s »\n"
++msgstr "en cours de vérification"
+ 
+ #: database.cc:1296
+ msgid "checked"
+-msgstr ""
++msgstr "vérifié"
+ 
+ #: database.cc:1298
+-#, fuzzy
+ msgid "fixed"
+-msgstr "fichiers"
++msgstr "corrigé"
+ 
+ #: database.cc:1301
+-#, fuzzy
+ msgid "dropped"
+-msgstr "  supprimé %s"
++msgstr "supprimé"
+ 
+ #: database.cc:1356
+ #, c-format
+ msgid "checked %d certs, found %d bad, fixed %d, dropped %d"
+-msgstr ""
++msgstr "vérifié %d certificats, trouvé %d mauvais, corrigé %d, sauté %d"
+ 
+ #: database.cc:1361
+ #, c-format
+ msgid "checked %d certs, found %d bad, fixed %d"
+-msgstr ""
++msgstr "vérifié %d certificats, trouvé %d mauvais, corrigé %d"
+ 
+ #: database.cc:1424
+ #, c-format
+ msgid "multiple statements in query: %s"
+-msgstr "plusieurs assertions dans la requête: %s"
++msgstr "plusieurs assertions dans la requête : %s"
+ 
+ #: database.cc:1430
+ #, c-format
+ msgid "wanted %d columns got %d in query: %s"
+-msgstr "%d colonnes attendues, %d reçues dans la requête: %s"
++msgstr "%d colonnes attendues, %d reçues dans la requête : %s"
+ 
+ #: database.cc:1495
+ #, c-format
+ msgid "null result in query: %s"
+-msgstr "résultat vide lors de la requête: %s"
++msgstr "résultat vide lors de la requête : %s"
+ 
+-#: database.cc:1514
++#: database.cc:1521
+ #, c-format
+ msgid "wanted %d rows got %d in query: %s"
+-msgstr "%d lignes attendues, %d reçues lors de la requête: %s"
++msgstr "%d lignes attendues, %d reçues lors de la requête : %s"
+ 
+-#: database.cc:1848
++#: database.cc:1855
+ #, c-format
+ msgid "roster does not match hash"
+-msgstr ""
++msgstr "la liste ne correspond pas au hachage"
+ 
+-#: database.cc:1869
++#: database.cc:1876
+ #, c-format
+ msgid "roster_delta does not match hash"
+-msgstr ""
++msgstr "la liste roster_delta ne correspond pas au hachage"
+ 
+-#: database.cc:2040
++#: database.cc:2047
+ #, c-format
+ msgid "delta-reconstructed '%s' item does not match hash"
+-msgstr ""
++msgstr "l'élément delta_reconstructed « %s » ne correspond pas au hachage"
+ 
+-#: database.cc:2369
++#: database.cc:2376
+ #, c-format
+ msgid "file preimage '%s' missing in db"
+-msgstr "la préimage du fichier « %s » est absente de la base de données"
++msgstr "la pré-image du fichier « %s » est absente de la base de données"
+ 
+-#: database.cc:2370
++#: database.cc:2377
+ #, c-format
+ msgid "dropping delta '%s' -> '%s'"
+-msgstr "supprime le delta '%s' -> '%s'"
++msgstr "supprime le delta « %s » -> « %s »"
+ 
+-#: database.cc:2386
++#: database.cc:2393
+ #, c-format
+ msgid ""
+ "Unknown delta direction '%s'; assuming 'reverse'. Valid values are "
+ "'reverse', 'forward', 'both'."
+ msgstr ""
++"Direction delta « %s » inconnue ; « reverse » supposée. Les valeurs valides "
++"sont « reverse », « forward » et « both »."
+ 
+-#: database.cc:2714
+-#, fuzzy, c-format
++#: database.cc:2721
++#, c-format
+ msgid "revision does not match hash"
+-msgstr "le certificat de révision « %s » n'existe pas dans la base de données"
++msgstr "la révision ne correspond pas au hachage"
+ 
+-#: database.cc:2846
++#: database.cc:2853
+ #, c-format
+ msgid "missing prerequisite revision '%s'"
+-msgstr "la révision prérequise « %s » est manquante"
++msgstr "la révision prérequise « %s » est manquante"
+ 
+-#: database.cc:2848 database.cc:2859 database.cc:2875 database.cc:2883
++#: database.cc:2855 database.cc:2866 database.cc:2882 database.cc:2890
+ #, c-format
+ msgid "dropping revision '%s'"
+-msgstr "supprime la révision « %s »"
++msgstr "supprime la révision « %s »"
+ 
+-#: database.cc:2858
++#: database.cc:2865
+ #, c-format
+ msgid "missing prerequisite file '%s'"
+-msgstr "le fichier requis « %s » est manquant"
++msgstr "le fichier prérequis « %s » est manquant"
+ 
+-#: database.cc:2873
++#: database.cc:2880
+ #, c-format
+ msgid "missing prerequisite file pre-delta '%s'"
+-msgstr "le fichier « %s » requis « pré-delta » est manquant"
++msgstr "le fichier « %s » prérequis « pré-delta » est manquant"
+ 
+-#: database.cc:2881
++#: database.cc:2888
+ #, c-format
+ msgid "missing prerequisite file post-delta '%s'"
+-msgstr "le fichier « %s » requis « post-delta » est manquant"
++msgstr "le fichier « %s » requis « post-delta » est manquant"
+ 
+-#: database.cc:2989
+-#, fuzzy, c-format
++#: database.cc:2996
++#, c-format
+ msgid "revision contains incorrect manifest_id"
+-msgstr "%s n'existe pas dans le manifeste actuel"
++msgstr "la révision contient un identifiant manifest_id incorrect"
+ 
+-#: database.cc:3317
++#: database.cc:3324
+ #, c-format
+ msgid "Failed to get RSA verifying key for %s"
+-msgstr ""
++msgstr "Échec de l'obtention de la clef de vérification RSA pour %s"
+ 
+-#: database.cc:3456
++#: database.cc:3463
+ #, c-format
+ msgid "Your database contains multiple keys named %s"
+-msgstr ""
++msgstr "Votre base de données contient de multiples clefs nommées %s"
+ 
+-#: database.cc:3617
++#: database.cc:3624
+ #, c-format
+ msgid "cert revision '%s' does not exist in db"
+-msgstr "le certificat de révision « %s » n'existe pas dans la base de données"
++msgstr "le certificat de révision « %s » n'existe pas dans la base de données"
+ 
+-#: database.cc:3619
++#: database.cc:3626
+ #, c-format
+ msgid "dropping cert"
+ msgstr "suppression du certificat"
+ 
+-#: database.cc:3928
++#: database.cc:3935
+ #, c-format
+ msgid "ignoring bad signature by '%s' on '%s'"
+-msgstr "signature erronée faite par « %s » sur « %s » ignorée"
++msgstr "signature erronée faite par « %s » sur « %s » ignorée"
+ 
+-#: database.cc:3933
++#: database.cc:3940
+ #, c-format
+ msgid "ignoring unknown signature by '%s' on '%s'"
+-msgstr "signature inconnue faite par « %s » sur « %s » ignorée"
++msgstr "signature inconnue faite par « %s » sur « %s » ignorée"
+ 
+-#: database.cc:3935
++#: database.cc:3942
+ #, c-format
+ msgid "trust function disliked %d signers of %s cert on revision %s"
+ msgstr ""
+-"la fonction de confiance n'a pas aimé %d signataires du certificat %s dans "
++"la fonction de confiance n'a pas aimé %d signataires de %s certificats  dans "
+ "la révision %s"
+ 
+-#: database.cc:4595
++#: database.cc:4602
+ #, c-format
+ msgid "no database specified"
+ msgstr "aucune base de données n'a été spécifiée"
+ 
+-#: database.cc:4608
++#: database.cc:4615
+ #, c-format
+ msgid "database %s does not exist"
+ msgstr "la base de données %s n'existe pas"
+ 
+-#: database.cc:4616
+-#, fuzzy, c-format
++#: database.cc:4623
++#, c-format
+ msgid ""
+ "%s is a workspace, not a database\n"
+ "(did you mean %s?)"
+-msgstr "%s est un dossier, pas une base de données"
++msgstr ""
++"%s est un espace de travail, pas une base de données\n"
++"(vouliez-vous dire %s ?)"
+ 
+-#: database.cc:4620
++#: database.cc:4627
+ #, c-format
+ msgid "%s is a directory, not a database"
+ msgstr "%s est un dossier, pas une base de données"
+ 
+-#: database.cc:4628
++#: database.cc:4635
+ #, c-format
+ msgid "database %s already exists"
+ msgstr "la base de données %s existe déjà"
+ 
+-#: database.cc:4633
++#: database.cc:4640
+ #, c-format
+ msgid ""
+-"existing (possibly stale) journal file '%s' has same stem as new database '%"
+-"s'\n"
++"existing (possibly stale) journal file '%s' has same stem as new database "
++"'%s'\n"
+ "cancelling database creation"
+ msgstr ""
+-"le fichier journal « %s » (possiblement figé) a la même ossature que la "
++"le fichier journal « %s » (possiblement périmé) a la même ossature que la "
+ "nouvelle base de données « %s »\n"
+-"opération sur la base de données annulée"
++"Création de la base de données annulée"
+ 
+-#: database.cc:4788
+-#, fuzzy, c-format
++#: database.cc:4795
++#, c-format
+ msgid "the database alias '%s' has multiple ambiguous expansions:"
+-msgstr "l'identifiant partiel « %s » a plusieurs expansions ambiguës :"
++msgstr "l'alias de la base de données « %s » a plusieurs expansions ambiguës :"
+ 
+-#: database.cc:4811
+-#, fuzzy, c-format
++#: database.cc:4818
++#, c-format
+ msgid "could not query default database alias"
+-msgstr "impossible d'ouvrir la base de données « %s » : %s"
++msgstr "impossible d'interroger l'alias par défaut de la base de données"
+ 
+-#: database.cc:4822
++#: database.cc:4829
+ #, c-format
+ msgid "invalid database alias '%s': does not start with a colon"
+ msgstr ""
++"alias « %s » de la base de données invalide : ne débute pas par deux-points"
+ 
+-#: database.cc:4826
++#: database.cc:4833
+ #, c-format
+ msgid "invalid database alias '%s': must not be empty"
+-msgstr ""
++msgstr "alias « %s » de la base de données invalide : ne doit pas être vide"
+ 
+-#: database.cc:4839
++#: database.cc:4846
+ #, c-format
+ msgid "invalid database alias '%s': does contain invalid characters"
+ msgstr ""
++"alias « %s » de la base de données invalide : contient des caractères "
++"invalides"
+ 
+ #: key_store.cc:89
+-#, fuzzy, c-format
++#, c-format
+ msgid "No available keystore found"
+-msgstr "variable introuvable"
++msgstr "Aucun entrepôt de clefs disponible trouvé"
+ 
+ #: key_store.cc:133 key_store.cc:137 key_store.cc:141 key_store.cc:143
+ #: key_store.cc:148
+ #, c-format
+ msgid "Extraneous data in key store."
+-msgstr ""
++msgstr "Données superflues trouvées dans l'entrepôt de clefs"
+ 
+ #: key_store.cc:159
+ #, c-format
+ msgid "Key store has multiple copies of the key with id '%s'."
+ msgstr ""
++"L'entrepôt de clefs contient plusieurs exemplaires de la clef ayant "
++"l'identitiant « %s »."
+ 
+ #: key_store.cc:168
+ #, c-format
+ msgid "converting old-format private key '%s'"
+-msgstr ""
++msgstr "conversion en cours de la clef privée « %s » de format ancien"
+ 
+ #: key_store.cc:226
+-#, fuzzy, c-format
++#, c-format
+ msgid "ignored invalid key file ('%s') in key store"
+-msgstr "aucune paire de clefs « %s » dans l'entrepôt de clefs « %s »"
++msgstr "fichier « %s » de clef invalide ignoré dans l'entrepôt de clefs"
+ 
+ #: key_store.cc:454
+-#, fuzzy, c-format
++#, c-format
+ msgid "enter new passphrase for key ID [%s] (%s): "
+-msgstr "saisissez une nouvelle phrase de passe pour l'ID de clef [%s] :"
++msgstr ""
++"saisissez une nouvelle phrase secrète pour l'ID de clef [%s] (« %s ») :"
+ 
+ #: key_store.cc:457
+-#, fuzzy, c-format
++#, c-format
+ msgid "enter passphrase for key ID [%s] (%s): "
+-msgstr "saississez la phrase de passe pour l'ID de clef [%s] :"
++msgstr "saississez la phrase secrète pour l'ID de clef [%s](« %s »)  :"
+ 
+ #: key_store.cc:461
+-#, fuzzy, c-format
++#, c-format
+ msgid "confirm passphrase for key ID [%s] (%s): "
+-msgstr "confirmez la phrase de passe pour la clef d'ID [%s] :"
++msgstr "confirmez la phrase secrète pour la clef d'ID [%s] (« %s ») :"
+ 
+ #: key_store.cc:481
+ #, c-format
+ msgid "too many failed passphrases"
+-msgstr "trop de phrases de passe incorrectes"
++msgstr "trop de phrases secrètes incorrectes"
+ 
+ #: key_store.cc:482
+ #, c-format
+ msgid "passphrases do not match, try again"
+-msgstr "les phrases de passe ne correspondent pas, essayez à nouveau"
++msgstr "les phrases secrètes ne correspondent pas, essayez à nouveau"
+ 
+ #: key_store.cc:513 key_store.cc:722 keys.cc:40
+ #, c-format
+@@ -4609,11 +4744,14 @@
+ "failed to decrypt old private RSA key, probably incorrect passphrase or "
+ "missing 'get_passphrase' lua hook"
+ msgstr ""
++"Échec du déchiffrage de l'ancienne clef privée RSA, probablement dû à une "
++"phrase de passe incorrecte ou à un crochet lua « get_passphrase » manquant."
+ 
+ #: key_store.cc:579
+ #, c-format
+ msgid "failed to extract RSA private key from PKCS#8 keypair"
+ msgstr ""
++"Échec de l'extraction de la clef privée RSA depuis la paire de clefs PKCS#8."
+ 
+ #: key_store.cc:619
+ #, c-format
+@@ -4631,19 +4769,19 @@
+ msgstr "enregistrement de la paire de clefs « %s » dans %s/"
+ 
+ #: key_store.cc:692
+-#, fuzzy, c-format
++#, c-format
+ msgid "storing public key '%s' in %s"
+-msgstr "enregistrement de la paire de clefs « %s » dans %s/"
++msgstr "enregistrement de la paire de clefs publiques « %s » dans %s"
+ 
+ #: key_store.cc:708
+ #, c-format
+ msgid "key '%s' has hash '%s'"
+-msgstr ""
++msgstr "La clef « %s » possède le hachage « %s »."
+ 
+ #: key_store.cc:774
+ #, c-format
+ msgid "Botan error decrypting data: '%s'"
+-msgstr ""
++msgstr "Erreur de déchiffrage (avec Botan) de données : « %s »"
+ 
+ #: key_store.cc:797
+ #, c-format
+@@ -4651,13 +4789,13 @@
+ "You have chosen to sign only with ssh-agent but ssh-agent does not seem to "
+ "be running."
+ msgstr ""
+-"vous avez choisi de signer seulement avec ssh-agent mais ssh-agent ne semble "
++"Vous avez choisi de signer seulement avec ssh-agent mais ssh-agent ne semble "
+ "pas être lancé"
+ 
+ #: key_store.cc:827
+ #, c-format
+ msgid "You don't seem to have your monotone key imported "
+-msgstr "il semble que vous n'ayez pas importé votre clef monotone"
++msgstr "Il semble que vous n'ayez pas importé votre clef monotone"
+ 
+ #: key_store.cc:881
+ #, c-format
+@@ -4666,24 +4804,26 @@
+ "ssh signature     : %s\n"
+ "monotone signature: %s"
+ msgstr ""
+-"make_signature: signature ssh (%i) != signature monotone (%i)\n"
++"make_signature : signature ssh (%i) != signature monotone (%i)\n"
+ "signature ssh      : %s\n"
+ "signature monotone : %s"
+ 
+ #: key_store.cc:897
+ #, c-format
+ msgid "make_signature: signature is not valid"
+-msgstr "make_signature: la signature n'est pas valide"
++msgstr "make_signature : la signature n'est pas valide"
+ 
+ #: key_store.cc:909
+ #, c-format
+ msgid "no ssh-agent is available, cannot add key '%s'"
+-msgstr ""
++msgstr "ssh-agent indisponible, impossible d'ajouter la clef « %s »"
+ 
+ #: key_store.cc:1006
+ #, c-format
+ msgid "failed to decrypt old private RSA key, probably incorrect passphrase"
+ msgstr ""
++"Échec du déchiffrage de l'ancienne clef privée RSA, phrase secrète manquante "
++"probablement"
+ 
+ #: key_store.cc:1043
+ #, c-format
+@@ -4693,22 +4833,22 @@
+ #: ssh_agent.cc:141
+ #, c-format
+ msgid "string not long enough to get a long"
+-msgstr ""
++msgstr "chaîne de caractères trop courte"
+ 
+ #: ssh_agent.cc:159
+ #, c-format
+ msgid "ssh_agent: length (%i) of buf less than loc (%u) + len (%u)"
+-msgstr ""
++msgstr "ssh_agent : longueur (%i) de buf inférieur à loc (%u) + len (%u)"
+ 
+ #: ssh_agent.cc:263
+-#, fuzzy, c-format
++#, c-format
+ msgid "ssh_agent: fetch_packet: zero-length packet from ssh-agent"
+-msgstr "ssh_agent : connect : impossible d'ouvrir le socket vers ssh-agent"
++msgstr "ssh_agent : fetch_packet : paquet de longueur nulle de ssh-agent"
+ 
+ #: ssh_agent.cc:314
+ #, c-format
+ msgid "ssh_agent: packet type (%u) != 12"
+-msgstr ""
++msgstr "ssh_gent : type de paquet (%u) != 12"
+ 
+ #: ssh_agent.cc:352
+ #, c-format
+@@ -4716,18 +4856,24 @@
+ "ssh_agent: get_keys: not all or too many key bytes consumed, location (%u), "
+ "length (%i)"
+ msgstr ""
++"ssh_agent :get_keys : pas tous ou trop d'octets de clefs consummés, "
++"emplacement (%u), longueur (%i)"
+ 
+ #: ssh_agent.cc:376
+ #, c-format
+ msgid ""
+-"ssh_agent: get_keys: not all or too many packet bytes consumed, location (%"
+-"u), length (%i)"
++"ssh_agent: get_keys: not all or too many packet bytes consumed, location "
++"(%u), length (%i)"
+ msgstr ""
++"ssh_agent : get_keys : pas tous ou trop d'octets de clefs consummés, "
++"emplacement (%u), longueur (%i)"
+ 
+ #: ssh_agent.cc:420
+ #, c-format
+ msgid "ssh_agent: get_keys: attempted to sign data when not connected"
+ msgstr ""
++"ssh_agent : get_keys  : tentative de signer les données pendant une "
++"déconnexion"
+ 
+ #: ssh_agent.cc:466
+ #, c-format
+@@ -4735,28 +4881,33 @@
+ "ssh_agent: sign_data: not all or too many signature bytes consumed, location "
+ "(%u), length (%i)"
+ msgstr ""
++"ssh_agent : sign_data : pas tous ou trop d'octets de clefs consummés, "
++"emplacement (%u), longueur (%i)"
+ 
+ #: ssh_agent.cc:472
+ #, c-format
+ msgid ""
+-"ssh_agent: sign_data: not all or too many packet bytes consumed, location (%"
+-"u), length (%i)"
++"ssh_agent: sign_data: not all or too many packet bytes consumed, location "
++"(%u), length (%i)"
+ msgstr ""
++"ssh_agent : sign_data : pas tous ou trop d'octets de clefs consummés, "
++"emplacement (%u), longueur (%i)"
+ 
+ #: ssh_agent.cc:482
+ #, c-format
+ msgid "ssh_agent: add_identity: attempted to add a key when not connected"
+ msgstr ""
++"ssh_agent : add_identity : tentative d'ajout de clef lors d'une déconnexion"
+ 
+ #: ssh_agent.cc:498
+ #, c-format
+ msgid "ssh_agent: add_identity: response packet of unexpected size (%u)"
+-msgstr ""
++msgstr "ssh_agent : add_identity : paquet de réponse de taille inattendue (%u)"
+ 
+ #: ssh_agent.cc:501
+ #, c-format
+ msgid "ssh_agent: packet type (%u) != 6"
+-msgstr ""
++msgstr "ssh_agent : type de paquet (%u) !=6"
+ 
+ #: keys.cc:85
+ #, c-format
+@@ -4764,6 +4915,8 @@
+ "The key '%s' stored in your database does\n"
+ "not match the version in your local key store!"
+ msgstr ""
++"La clef « %s » enregistrée dans votre base de données ne correspond pas à la "
++"version dans votre entrepôt local de clefs !"
+ 
+ #: keys.cc:99
+ #, c-format
+@@ -4780,7 +4933,7 @@
+ "you have multiple private keys\n"
+ "pick one to use for signatures by adding '-k<keyname>' to your command"
+ msgstr ""
+-"vous avez plusieurs clefs privés\n"
++"vous avez plusieurs clefs privées\n"
+ "Choisissez celle que vous voulez utiliser pour signer en ajoutant « -"
+ "k<nomdeclef> » à votre commande"
+ 
+@@ -4790,31 +4943,33 @@
+ "a key is required for this operation, but the --key option was given with an "
+ "empty argument"
+ msgstr ""
++"Une clef est requise pour cette opération, mais l'argument de l'option --key "
++"était vide."
+ 
+ #: packet.cc:131
+-#, fuzzy, c-format
++#, c-format
+ msgid "malformed packet: invalid identifier"
+-msgstr "Complète un identifiant partiel"
++msgstr "paquet malformé : identifiant invalide"
+ 
+ #: packet.cc:138 packet.cc:144
+ #, c-format
+ msgid "malformed packet: invalid base64 block"
+-msgstr ""
++msgstr "paquet malformé : bloc base64 invalide"
+ 
+ #: packet.cc:151
+ #, c-format
+ msgid "malformed packet: invalid key name"
+-msgstr "paquet mal formé : nom de clef invalide"
++msgstr "paquet malformé : nom de clef invalide"
+ 
+ #: packet.cc:158
+-#, fuzzy, c-format
++#, c-format
+ msgid "malformed packet: invalid cert name"
+-msgstr "paquet mal formé"
++msgstr "paquet malformé : nom de certificat invalide"
+ 
+ #: packet.cc:165
+ #, c-format
+ msgid "malformed packet: too many arguments in header"
+-msgstr ""
++msgstr "paquet malformé : trop d'arguments dans l'en-tête"
+ 
+ #: packet.cc:290
+ #, c-format
+@@ -4825,7 +4980,8 @@
+ #, c-format
+ msgid "parse failure %d:%d: expecting %s, got %s with value '%s'"
+ msgstr ""
+-"erreur d'analyse syntaxique %d:%d: attendu %s, obtenu %s avec la valeur « %s »"
++"erreur d'analyse syntaxique %d:%d: attendu %s, obtenu %s avec la valeur "
++"« %s »"
+ 
+ #: rcs_file.cc:373
+ #, c-format
+@@ -4851,7 +5007,7 @@
+ "you must follow a special procedure to make it usable again.\n"
+ "see the file UPGRADE, in the distribution, for instructions.)"
+ msgstr ""
+-"(Si cette base de données à été utilisée en dernier lieu par\n"
++"(Si cette base de données a été utilisée en dernier lieu par\n"
+ "monotone 0.16 ou antérieur, vous devez suivre une procédure\n"
+ "particulière pour la rendre à nouveau utilisable. Voir le\n"
+ "fichier UPGRADE, inclus dans la distribution, et consulter\n"
+@@ -4869,7 +5025,7 @@
+ #: migrate_schema.cc:579
+ #, c-format
+ msgid "moving key '%s' from database to %s"
+-msgstr "migration de la clef « %s » de la base de données vers %s"
++msgstr "migration de la clef « %s » de la base de données vers %s"
+ 
+ #: migrate_schema.cc:1118
+ #, c-format
+@@ -4894,7 +5050,7 @@
+ #: migrate_schema.cc:1126
+ #, c-format
+ msgid "%s (database has no tables!)"
+-msgstr "%s (la base de donnée n'a pas de tables !)"
++msgstr "%s (la base de donnée n'a pas de tables !)"
+ 
+ #: migrate_schema.cc:1139
+ #, c-format
+@@ -4903,7 +5059,7 @@
+ "(monotone databases must be created with '%s db init')"
+ msgstr ""
+ "ne peut utiliser la base sqlite vide %s\n"
+-"(les bases de données monotone doivent être créées avec « %s db init »)"
++"(les bases de données monotone doivent être créées avec « %s db init »)"
+ 
+ #: migrate_schema.cc:1144
+ #, c-format
+@@ -4929,8 +5085,8 @@
+ "(this is irreversible; you may want to make a backup copy first)"
+ msgstr ""
+ "la disposition de la base de données %s est faite selon un vieux schéma\n"
+-"Essayez « %s db migrate » pour mettre la base de données à niveau.\n"
+-"(Cette opération est irréversible ; vous voudrez probablement en faire une "
++"Essayez « %s db migrate » pour mettre la base de données à niveau.\n"
++"(Cette opération est irréversible ; vous voudrez probablement en faire une "
+ "copie de sauvegarde préalablement.)"
+ 
+ #: migrate_schema.cc:1196
+@@ -4942,7 +5098,7 @@
+ #, c-format
+ msgid "no migration performed; database schema already up-to-date"
+ msgstr ""
+-"aucune migration n'a été effectuée ; le schéma de la base de données est "
++"aucune migration n'a été effectuée ; le schéma de la base de données est "
+ "déjà à jour"
+ 
+ #: migrate_schema.cc:1226
+@@ -4993,7 +5149,7 @@
+ #: migrate_ancestry.cc:312
+ #, c-format
+ msgid "failed to eliminate edge %d -> %d"
+-msgstr "impossible d'éliminer l'arête %d -> %d"
++msgstr "impossible d'éliminer l'arête %d -> %d"
+ 
+ #: migrate_ancestry.cc:323
+ #, c-format
+@@ -5001,9 +5157,11 @@
+ msgstr "reconstruction de %d nœuds"
+ 
+ #: migrate_ancestry.cc:489
+-#, fuzzy, c-format
++#, c-format
+ msgid "Directory %s for path %s cannot be added, as there is a file in the way"
+-msgstr "Le dossier %s ne peut pas être ajouté, un fichier fait obstacle"
++msgstr ""
++"Le dossier %s pour le chemin %s ne peut pas être ajouté, un fichier fait "
++"obstacle"
+ 
+ #: migrate_ancestry.cc:510
+ #, c-format
+@@ -5023,7 +5181,7 @@
+ "(if you just want it to go away, see the switch --drop-attr, but\n"
+ "seriously, if you'd like to keep it, we're happy to figure out how)"
+ msgstr ""
+-"attribut inconnu « %s » sur le chemin « %s »\n"
++"attribut inconnu « %s » sur le chemin « %s »\n"
+ "Veuillez contacter %s pour que nous puissions trouver le bon moyen de\n"
+ "traduire cela. (Si vous souhaitez simplement l'oublier, utilisez\n"
+ "l'option --drop-attr. Mais sérieusement, si vous voulez le garder,\n"
+@@ -5032,7 +5190,7 @@
+ #: migrate_ancestry.cc:904
+ #, c-format
+ msgid "converting existing revision graph to new roster-style revisions"
+-msgstr "conversion du graphe de révisions actuel au nouveau style liste"
++msgstr "conversion du graphe de révision actuel au nouveau style de liste"
+ 
+ #: migrate_ancestry.cc:950
+ #, c-format
+@@ -5052,22 +5210,22 @@
+ #: migrate_ancestry.cc:1017
+ #, c-format
+ msgid "finished regenerating cached rosters and heights"
+-msgstr "régénération du cache des « rosters » des altitudes effectuée"
++msgstr "régénération du cache des « rosters » et des altitudes effectuée"
+ 
+ #: migrate_ancestry.cc:1019
+-#, fuzzy, c-format
++#, c-format
+ msgid "regenerating cached branches"
+-msgstr "régénération du cache des listes et des altitudes"
++msgstr "régénération du cache des branches"
+ 
+ #: migrate_ancestry.cc:1041
+-#, fuzzy, c-format
++#, c-format
+ msgid "finished regenerating cached branches"
+-msgstr "régénération du cache des « rosters » des altitudes effectuée"
++msgstr "régénération du cache des branches effectuée"
+ 
+ #: refiner.cc:371
+ #, c-format
+ msgid "underflow on query-in-flight counter"
+-msgstr ""
++msgstr "trop peu d'objets sur le compteur de requêtes à la volée"
+ 
+ #: netsync.cc:109 netsync.cc:219
+ #, c-format
+@@ -5135,17 +5293,17 @@
+ #: network/automate_session.cc:71
+ #, c-format
+ msgid "server is too old for remote automate connections"
+-msgstr ""
++msgstr "le serveur est trop vieux pour les connexions automatiques à distance"
+ 
+ #: network/automate_session.cc:171
+ #, c-format
+ msgid "Sorry, you aren't allowed to do that."
+-msgstr ""
++msgstr "Désolé, vous n'êtes pas autorisé à faire cela."
+ 
+ #: network/automate_session.cc:310
+ #, c-format
+ msgid "unexpected netcmd '%d' received on automate connection"
+-msgstr ""
++msgstr "Réception inattendue de netcmd « %d » lors d'une connexion automatique"
+ 
+ #: network/listener_base.cc:49
+ #, c-format
+@@ -5155,7 +5313,7 @@
+ #: network/listener.cc:62
+ #, c-format
+ msgid "accepted new client connection from %s : %s"
+-msgstr "nouvelle connexion d'un client acceptée de %s : %s"
++msgstr "nouvelle connexion d'un client acceptée de %s : %s"
+ 
+ #: network/make_server.cc:63
+ #, c-format
+@@ -5173,27 +5331,27 @@
+ 
+ #: network/netsync_session.cc:362
+ msgid "bytes in"
+-msgstr "octets ⇩"
++msgstr "octets entrants"
+ 
+ #: network/netsync_session.cc:364
+ msgid "bytes out"
+-msgstr "octets ⇧"
++msgstr "octets sortants"
+ 
+ #: network/netsync_session.cc:368 network/netsync_session.cc:389
+ msgid "certs in"
+-msgstr "cert. ⇩"
++msgstr "cert. entrants"
+ 
+ #: network/netsync_session.cc:370 network/netsync_session.cc:383
+ msgid "revs in"
+-msgstr "rév. ⇩"
++msgstr "rév. sortants"
+ 
+ #: network/netsync_session.cc:375 network/netsync_session.cc:391
+ msgid "certs out"
+-msgstr "cert. ⇧"
++msgstr "cert. sortants"
+ 
+ #: network/netsync_session.cc:377 network/netsync_session.cc:385
+ msgid "revs out"
+-msgstr "rév. ⇧"
++msgstr "rév. sortants"
+ 
+ #: network/netsync_session.cc:499
+ #, c-format
+@@ -5203,31 +5361,31 @@
+ #: network/netsync_session.cc:737
+ #, c-format
+ msgid "Unexpected 'refine' command on non-refined item type"
+-msgstr "commande « refine » inattendue sur un objet sans spécialisation"
++msgstr "commande « refine » inattendue sur un objet sans spécialisation"
+ 
+ #: network/netsync_session.cc:769
+ #, c-format
+ msgid "Unexpected 'done' command on non-refined item type"
+-msgstr "Commande « done » inattendue sur un objet sans spécialisation"
++msgstr "Commande « done » inattendue sur un objet sans spécialisation"
+ 
+ #: network/netsync_session.cc:837
+ #, c-format
+ msgid "%s with hash '%s' does not exist in our database"
+-msgstr "%s avec le hash « %s » n'existe pas dans notre base de données"
++msgstr "%s avec le hash « %s » n'existe pas dans notre base de données"
+ 
+ #: network/netsync_session.cc:959
+ #, c-format
+ msgid "Mismatched epoch on branch %s. Server has '%s', client has '%s'."
+ msgstr ""
+-"discordance d'époque sur la branche %s. Le serveur a « %s », le client a « %s "
+-"»."
++"Discordance d'époque sur la branche %s. Le serveur a « %s », le client a « "
++"%s »."
+ 
+ #: network/netsync_session.cc:978
+ #, c-format
+ msgid "hash check failed for public key '%s' (%s); wanted '%s' got '%s'"
+ msgstr ""
+-"le test de la somme de contrôle a échoué pour la clef publique « %s » (%s) ; "
+-"attendu « %s », obtenu « %s »"
++"le test de la somme de contrôle a échoué pour la clef publique « %s » (%s) ; "
++"attendu « %s », obtenu « %s »"
+ 
+ #: network/netsync_session.cc:987
+ #, c-format
+@@ -5240,6 +5398,8 @@
+ "Dropping incoming cert which claims to be signed by key\n"
+ "'%s' (name '%s'), but has a bad signature"
+ msgstr ""
++"Suppression des certificats entrants affirmant être signés par une clef\n"
++"« %s » (nom « %s ») mais ayant une mauvaise signature"
+ 
+ #: network/netsync_session.cc:1011
+ #, c-format
+@@ -5249,29 +5409,34 @@
+ "the name of the key involved is '%s', but note that there are multiple\n"
+ "keys with this name and we don't know which one it is"
+ msgstr ""
++"suppression du certificat entrant signé par une clef inconnue\n"
++"vous devez probablement obtenir cette clef d'un pair netsync plus récent\n"
++"le nom de la clef impliquée est « %s » mais notez qu'il existe plusieurs\n"
++"clefs ayant ce nom et nous ne savons pas de laquelle il s'agit"
+ 
+ #: network/netsync_session.cc:1026
+ #, c-format
+ msgid "hash check failed for revision cert '%s'"
+ msgstr ""
+-"le test de la somme de contrôle a échoué pour le certificat de révision « %s »"
++"la vérification de la somme de contrôle a échoué pour le certificat de "
++"révision « %s »"
+ 
+ #: network/netsync_session.cc:1040
+-#, fuzzy, c-format
++#, c-format
+ msgid "hash check failed for revision %s"
+ msgstr ""
+-"le test de la somme de contrôle a échoué pour le certificat de révision « %s »"
++"la vérification de la somme de contrôle a échoué pour la révision « %s »"
+ 
+ #: network/netsync_session.cc:1055
+-#, fuzzy, c-format
++#, c-format
+ msgid "hash check failed for file %s"
+ msgstr ""
+-"le test de la somme de contrôle a échoué pour le certificat de révision « %s »"
++"la vérification de la somme de contrôle a échoué pour le fichier « %s »"
+ 
+ #: network/netsync_session.cc:1208
+ #, c-format
+ msgid "rejected attempt at anonymous connection for write"
+-msgstr "tentative de connexion anonyme pour écrire rejeté"
++msgstr "tentative rejetée de connexion anonyme pour écrire"
+ 
+ #: network/netsync_session.cc:1227
+ #, c-format
+@@ -5283,8 +5448,8 @@
+ msgid ""
+ "denied '%s' read permission for '%s' excluding '%s' because of branch '%s'"
+ msgstr ""
+-"permission de lecture refusée à « %s » pour « %s » en excluant « %s » à cause "
+-"de la branche « %s »"
++"permission de lecture refusée à « %s » pour « %s » en excluant « %s » à "
++"cause de la branche « %s »"
+ 
+ #: network/netsync_session.cc:1245
+ #, c-format
+@@ -5299,27 +5464,29 @@
+ #: network/netsync_session.cc:1255
+ #, c-format
+ msgid "allowed anonymous read/write permission for '%s' excluding '%s'"
+-msgstr "permission de lecture anonyme accordée pour « %s » en excluant « %s »"
++msgstr ""
++"permission de lecture/écriture anonyme accordée pour « %s » en excluant "
++"« %s »"
+ 
+ #: network/netsync_session.cc:1264
+ #, c-format
+ msgid "denied '%s' write permission for '%s' excluding '%s'"
+-msgstr "permission d'écrire refusée à « %s » pour « %s » en excluant « %s »"
++msgstr "permission d'écriture refusée à « %s » pour « %s » en excluant « %s »"
+ 
+ #: network/netsync_session.cc:1269
+ #, c-format
+ msgid "allowed '%s' write permission for '%s' excluding '%s'"
+-msgstr "permission d'écrire accordée à « %s » pour « %s » en excluant « %s »"
++msgstr "permission d'écriture accordée à « %s » pour « %s » en excluant « %s »"
+ 
+ #: network/netsync_session.cc:1293 network/reactor.cc:53
+ #, c-format
+ msgid "protocol error while processing peer %s: '%s'"
+-msgstr "erreur de protocole en communiquant avec le pair %s: « %s »"
++msgstr "erreur de protocole en communiquant avec le pair %s : « %s »"
+ 
+ #: network/netsync_session.cc:1299 network/reactor.cc:59
+-#, fuzzy, c-format
++#, c-format
+ msgid "recoverable '%s' error while processing peer %s: '%s'"
+-msgstr "erreur de protocole en communiquant avec le pair %s: « %s »"
++msgstr "erreur récupérable « %s » en communiquant avec le pair %s : « %s »"
+ 
+ #: network/netsync_session.cc:1339
+ #, c-format
+@@ -5340,9 +5507,9 @@
+ msgstr "impossible de trouver la clef « %s »"
+ 
+ #: network/reactor.cc:182
+-#, fuzzy, c-format
++#, c-format
+ msgid "peer %s has been idle too long, disconnecting"
+-msgstr "le fd %d (pair %s) est inactif depuis trop longtemps, déconnexion"
++msgstr "le pair %s est inactif depuis trop longtemps, déconnexion"
+ 
+ #: network/session.cc:191
+ #, c-format
+@@ -5364,11 +5531,11 @@
+ "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
+ "@ ATTENTION : L'IDENTIFICATION DU SERVEUR A CHANGÉ        @\n"
+ "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
+-"IL EST POSSIBLE QUE QUELQU'UN SOIT ENTRAIN DE FAIRE\n"
++"IL EST POSSIBLE QUE QUELQU'UN SOIT EN TRAIN DE FAIRE\n"
+ "QUELQUE CHOSE DE MÉCHANT\n"
+ "il est également possible que la clef du serveur ait juste\n"
+ "changé\n"
+-"l'hôte distant a envoyée la clef %s\n"
++"l'hôte distant a envoyé la clef %s\n"
+ "j'attendais %s\n"
+ "« %s unset %s %s » pour passer outre cette vérification"
+ 
+@@ -5406,7 +5573,7 @@
+ #: network/session.cc:542
+ #, c-format
+ msgid "unknown bye phase %d received"
+-msgstr "phase d'aurevoir %d inconnue reçue"
++msgstr "phase d'au revoir %d inconnue reçue"
+ 
+ #: network/session.cc:590 network/session.cc:602
+ msgid "source and sink"
+@@ -5424,7 +5591,7 @@
+ #, c-format
+ msgid "detected replay attack in auth netcmd"
+ msgstr ""
+-"une attaque de type « replay » a été détectée dans la phase auth de netcmd"
++"une attaque de type « replay » a été détectée dans la phase auth de netcmd"
+ 
+ #: network/session.cc:641
+ #, c-format
+@@ -5432,18 +5599,18 @@
+ msgstr "signature du client invalide"
+ 
+ #: network/session_base.cc:151
+-#, fuzzy, c-format
++#, c-format
+ msgid "peer %s IO terminated connection in working state (error)"
+-msgstr "pair %s échec de lecture en état de travail (erreur)"
++msgstr "connexion E/S terminée du pair %s en état de travail (erreur)"
+ 
+ #: network/session_base.cc:156
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "peer %s IO terminated connection in shutdown state (possibly client "
+ "misreported error)"
+ msgstr ""
+-"pair %s échec de lecture en état de mise à l'arrêt (erreur peut-être "
+-"reportée à tord par le client)"
++"connexion E/S du pair %s échec de lecture en état de mise à l'arrêt (peut-"
++"être reportée à tort par le client)"
+ 
+ #: network/session_base.cc:228
+ #, c-format
+@@ -5451,21 +5618,21 @@
+ msgstr "reçu des données hors-bande du pair %s, déconnexion"
+ 
+ #: network/session_base.cc:237
+-#, fuzzy, c-format
++#, c-format
+ msgid "peer %s IO failed in working state (error)"
+-msgstr "pair %s échec de lecture en état de travail (erreur)"
++msgstr "échec E/S du pair %s en état de travail (erreur)"
+ 
+ #: network/session_base.cc:242
+-#, fuzzy, c-format
++#, c-format
+ msgid "peer %s IO failed in shutdown state (possibly client misreported error)"
+ msgstr ""
+-"pair %s échec de lecture en état de mise à l'arrêt (erreur peut-être "
+-"reportée à tord par le client)"
++"échec E/S du pair %s en état de mise à l'arrêt (erreur peut-être reportée à "
++"tort par le client)"
+ 
+ #: network/session_base.cc:248
+-#, fuzzy, c-format
++#, c-format
+ msgid "peer %s IO failed in confirmed state (success)"
+-msgstr "pair %s échec de lecture en état confirmé (erreur)"
++msgstr "échec E/S du pair %s en état confirmé (erreur)"
+ 
+ #: network/session_base.cc:256
+ #, c-format
+@@ -5475,57 +5642,57 @@
+ #: netxx_pipe.cc:50 netxx_pipe.cc:182
+ #, c-format
+ msgid "this transport not supported on native Win32; use Cygwin"
+-msgstr ""
++msgstr "ce transport n'était pas géré sous Win32 natif, utilisez Cygwin"
+ 
+ #: netxx_pipe.cc:63
+ #, c-format
+ msgid "pipe handle is invalid"
+-msgstr "descripteu de pipe invalide"
++msgstr "descripteur de pipe invalide"
+ 
+ #: netxx_pipe.cc:206
+ #, c-format
+ msgid "CreateNamedPipe(%s,...) call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel CreateNamedPipe(%s,...) : %s"
+ 
+ #: netxx_pipe.cc:223
+ #, c-format
+ msgid "CreateFile(%s,...) call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel CreateFile(%s,...) : %s"
+ 
+ #: netxx_pipe.cc:254
+ #, c-format
+ msgid "CreateProcess(%s,...) call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel CreateProcess(%s,...) : %s"
+ 
+ #: netxx_pipe.cc:270
+-#, fuzzy, c-format
++#, c-format
+ msgid "pipe/fork failed: %s"
+-msgstr "importation du fichier « %s »\n"
++msgstr "Échec du pipe/fork : %s"
+ 
+ #: netxx_pipe.cc:316
+ #, c-format
+ msgid "WriteFile call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel WriteFile : %s"
+ 
+ #: netxx_pipe.cc:408
+-#, fuzzy, c-format
++#, c-format
+ msgid "ReadFile call failed: %s"
+-msgstr "le rôle donné %d est inconnu"
++msgstr "Échec de l'appel ReadFile : %s"
+ 
+ #: netxx_pipe.cc:443
+ #, c-format
+ msgid "WaitForMultipleObjects call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel WaitForMultipleObjects : %s"
+ 
+ #: netxx_pipe.cc:453
+ #, c-format
+ msgid "WaitForSingleObject call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel de WaitForSingleObject : %s"
+ 
+ #: netxx_pipe.cc:473
+ #, c-format
+ msgid "GetOverlappedResult call failed: %s"
+-msgstr ""
++msgstr "Échec de l'appel GetOverlappedResult : %s"
+ 
+ #: netcmd.cc:46
+ #, c-format
+@@ -5538,27 +5705,28 @@
+ msgstr "code de commande netcmd inconnu 0x%x"
+ 
+ #: netcmd.cc:139
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "protocol version mismatch: wanted between '%d' and '%d' got '%d' (netcmd "
+ "code %d)\n"
+ "%s"
+ msgstr ""
+-"discordance de versions de protocoles: attendu « %d », obtenu « %d »\n"
++"discordance de versions de protocole : attendu entre « %d » et « %d », obtenu « %d » (code netcmd %d)\n"
+ "%s"
+ 
+ #: netcmd.cc:146
+ msgid "the remote side has a newer, incompatible version of monotone"
+-msgstr "l'autre côté emploi une nouvelle version de monotone (incompatible)"
++msgstr ""
++"l'autre côté emploie une version plus récente et incompatible de monotone"
+ 
+ #: netcmd.cc:147
+ msgid "the remote side has an older, incompatible version of monotone"
+-msgstr "l'autre côté emploi une ancienne version de monotone (incompatible)"
++msgstr "l'autre côté emploie une ancienne version de monotone (incompatible)"
+ 
+ #: netcmd.cc:160
+ #, c-format
+ msgid "oversized payload of '%d' bytes"
+-msgstr "charge utile sur-dimensionnée de '%d' octets"
++msgstr "charge utile sur-dimensionnée de « %d » octets"
+ 
+ #: netcmd.cc:200
+ #, c-format
+@@ -5583,7 +5751,7 @@
+ #, c-format
+ msgid "mismatched node hash value %s, expected %s"
+ msgstr ""
+-"la somme de contrôle « %s » ne correspond pas à la valeur attendue « %s »"
++"la somme de contrôle « %s » ne correspond pas à la valeur attendue « %s »"
+ 
+ #: rcs_import.cc:714
+ #, c-format
+@@ -5607,81 +5775,83 @@
+ "try importing a module instead, with 'cvs_import %s/<module_name>"
+ msgstr ""
+ "%s semble être la racine d'un dépôt CVS\n"
+-"tentative d'importer un module, en employant « cvs_import %s/<nom_du_module> »"
++"tentative d'importer un module, en employant « cvs_import %s/"
++"<nom_du_module> »"
+ 
+ #: rcs_import.cc:1259
+ msgid "tags"
+ msgstr "étiquettes"
+ 
+ #: git_export.cc:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "ignored invalid mapping '%s'"
+-msgstr "aucune clef correspondant à « %s »"
++msgstr "mappage « %s » invalide ignoré"
+ 
+ #: git_export.cc:92
+ #, c-format
+ msgid "invalid git author '%s' mapped from monotone author '%s'"
+-msgstr ""
++msgstr "auteur « %s » git invalide lié à l'auteur « %s » de monotone"
+ 
+ #: git_export.cc:114
+ #, c-format
+ msgid "missing leading ':' in marks file"
+-msgstr ""
++msgstr "deux-points de tête manquant dans le fichier de marques "
+ 
+ #: git_export.cc:118
+ #, c-format
+ msgid "missing space after mark"
+-msgstr ""
++msgstr "espace manquant après la marque"
+ 
+ #: git_export.cc:120
+-#, fuzzy, c-format
++#, c-format
+ msgid "bad revision id in marks file"
+-msgstr "« %s » dans la révision « %s » n'est pas un fichier"
++msgstr "mauvais identifiant de révision dans le fichier de marques"
+ 
+ #: git_export.cc:124
+-#, fuzzy, c-format
++#, c-format
+ msgid "incomplete line in marks file"
+-msgstr "la fusion a échoué"
++msgstr "ligne incomplète dans le fichier de marques"
+ 
+ #: git_export.cc:167
+-#, fuzzy
+ msgid "loading"
+-msgstr "ajout de %s"
++msgstr "en cours de chargement"
+ 
+ #: git_export.cc:223
+ msgid "exporting"
+-msgstr ""
++msgstr "en cours d'exportation"
+ 
+ #: git_export.cc:312
+ #, c-format
+ msgid "invalid git author '%s' from monotone author key '%s'"
+ msgstr ""
++"auteur « %s » git invalide provenant de la clef de l'auteur monotone « %s »"
+ 
+ #: git_export.cc:329
+ #, c-format
+ msgid "invalid git author '%s' from monotone author value '%s'"
+ msgstr ""
++"auteur « %s » git invalide provenant de la valeur de l'auteur monotone « %s »"
+ 
+ #: revision.cc:28
+-#, fuzzy, c-format
++#, c-format
+ msgid "Revision has no manifest id"
+-msgstr "révision %s, liste et manifeste ne correspondent pas"
++msgstr "cette révision n'a aucun identifiant de manifeste"
+ 
+ #: revision.cc:39
+-#, fuzzy, c-format
++#, c-format
+ msgid "Merge revision has a null parent"
+-msgstr "la révision cible n'est pas dans la branche actuelle"
++msgstr "la révision fusionnée a un parent nul"
+ 
+ #: revision.cc:43
+-#, fuzzy, c-format
++#, c-format
+ msgid "Revision has %d edges, not 1 or 2"
+-msgstr "la révision « %s » possède %d changements, inversion impossible"
++msgstr "la révision possède %d bords, non pas 1 ou 2"
+ 
+ #: revision.cc:237
+ #, c-format
+ msgid "the command '%s %s' cannot be restricted in a two-parent workspace"
+ msgstr ""
+-"la commande « %s %s » ne peut être restreinte dans un espace de travail "
++"la commande « %s %s  » ne peut être restreinte dans un espace de travail "
+ "possédant deux parents"
+ 
+ #: revision.cc:379
+@@ -5693,29 +5863,31 @@
+ msgstr ""
+ "rencontre d'une révision au format inconnu, version %s\n"
+ "Je ne comprend que le format version « 1 »,\n"
+-"Une version plus récente de monotone est requise pour compléter cette "
++"Une version plus récente de monotone est requise pour terminer cette "
+ "opération."
+ 
+ #: revision.cc:402
+-#, fuzzy, c-format
++#, c-format
+ msgid "failed to parse revision"
+-msgstr "mise à jour vers la révision de base %s"
++msgstr "Échec de l'analyse de la révision"
+ 
+ #: roster.cc:2490
+ #, c-format
+ msgid "restriction includes deletion of '%s' but excludes deletion of '%s'"
+ msgstr ""
+-"les contraintes incluent de supprimer « %s » mais excluent supprimer « %s »"
++"les contraintes incluent la suppression de « %s » mais excluent celle de "
++"« %s »"
+ 
+ #: roster.cc:2501
+ #, c-format
+ msgid "restriction excludes addition of '%s' but includes addition of '%s'"
+-msgstr "les contraintes excluent d'ajouter « %s » mais incluent d'ajouter « %s »"
++msgstr ""
++"les contraintes excluent l'ajout de « %s » mais incluent celle de « %s »"
+ 
+ #: roster.cc:2527
+-#, fuzzy, c-format
++#, c-format
+ msgid "restriction excludes addition of root directory"
+-msgstr "les contraintes excluent d'ajouter « %s » mais incluent d'ajouter « %s »"
++msgstr "les contraintes excluent l'ajout d'un répertoire racine"
+ 
+ #: roster.cc:2531
+ #, c-format
+@@ -5742,6 +5914,17 @@
+ "Changes since base revision:\n"
+ "%s"
+ msgstr ""
++"%s\n"
++"Exécuté sur               : %s\n"
++"Compilateur C++           : %s\n"
++"Bibliothèque standard C++ : %s\n"
++"Version de Boost          : %s\n"
++"Version de SQLite         : %s (compilé avec %s)\n"
++"Version de Lua            : %s\n"
++"Version de PCRE           : %s (compilé avec %d.%d)\n"
++"Version de Botan          : %d.%d.%d (compilé avec %d.%d.%d)\n"
++"Changements depuis la rev. de base :\n"
++"%s"
+ 
+ #: automate.cc:77
+ msgid "[BRANCH]"
+@@ -5756,6 +5939,8 @@
+ msgid ""
+ "with no argument, this command prints the heads of the workspace's branch"
+ msgstr ""
++"Sans aucun argument, cette commande affiche les têtes de la branche de "
++"l'espace de travail"
+ 
+ #: automate.cc:114 automate.cc:167 automate.cc:1593
+ msgid "REV1 [REV2 [REV3 [...]]]"
+@@ -5766,18 +5951,16 @@
+ msgstr "Affiche les ancêtres des révisions données"
+ 
+ #: automate.cc:168
+-#, fuzzy
+ msgid "Prints the descendents of the given revisions"
+-msgstr "note le résultat d'un test sur une révision"
++msgstr "Affiche les descendants des révisions données"
+ 
+ #: automate.cc:221 automate.cc:251
+ msgid "[REV1 [REV2 [REV3 [...]]]]"
+ msgstr "[RÉV1 [RÉV2 [RÉV3 [...]]]]"
+ 
+ #: automate.cc:222
+-#, fuzzy
+ msgid "Erases the ancestors in a list of revisions"
+-msgstr "note le résultat d'un test sur une révision"
++msgstr "Efface les ancêtres dans une liste de révisions"
+ 
+ #: automate.cc:252
+ msgid "Topologically sorts a list of revisions"
+@@ -5788,9 +5971,8 @@
+ msgstr "NOUVELLE_RÉV [ANCIENNE_RÉV1 [ANCIENNE_RÉV2 [...]]]"
+ 
+ #: automate.cc:290
+-#, fuzzy
+ msgid "Lists the ancestors of the first revision given, not in the others"
+-msgstr "Liste les ancêtres"
++msgstr "Liste les ancêtres de la première révision donnée, pas des autres"
+ 
+ #: automate.cc:337
+ msgid "Lists the leaves of the revision graph"
+@@ -5801,14 +5983,12 @@
+ msgstr "Liste les racines du graphe des révisions"
+ 
+ #: automate.cc:393
+-#, fuzzy
+ msgid "Prints the parents of a revision"
+-msgstr "créer un certificat pour une révision"
++msgstr "Affiche les parents d'une révision"
+ 
+ #: automate.cc:424
+-#, fuzzy
+ msgid "Prints the children of a revision"
+-msgstr "créer un certificat pour une révision"
++msgstr "Affiche les enfants d'une révision"
+ 
+ #: automate.cc:465
+ msgid "Prints the complete ancestry graph"
+@@ -5820,7 +6000,7 @@
+ 
+ #: automate.cc:513
+ msgid "Lists the revisions that match a selector"
+-msgstr ""
++msgstr "Liste les révisions qui correspondent à un sélecteur"
+ 
+ #: automate.cc:900
+ #, c-format
+@@ -5828,59 +6008,53 @@
+ "'%s' is both known and ignored; it will be shown as 'missing'. Check .mtn-"
+ "ignore."
+ msgstr ""
+-"« %s » est à la fois connu et ignoré; il sera affiché comme « manquant ».\n"
++"« %s » est à la fois connu et ignoré ; il sera affiché comme « manquant ».\n"
+ "Vérifiez .mtn-ignore."
+ 
+ #: automate.cc:1013
+-#, fuzzy
+ msgid "Prints a summary of files found in the workspace"
+-msgstr "renomme des entrées dans l'espace de travail"
++msgstr "Affiche un résumé des fichiers trouvés dans l'espace de travail"
+ 
+ #: automate.cc:1236 automate.cc:1456 automate.cc:1487
+ msgid "REVID"
+ msgstr "ID_RÉVISION"
+ 
+ #: automate.cc:1237
+-#, fuzzy
+ msgid "Shows change information for a revision"
+-msgstr "créer un certificat pour une révision"
++msgstr "Affiche les changements pour une révision"
+ 
+ #: automate.cc:1264
+-#, fuzzy
+ msgid "[PATHS ...]"
+-msgstr "[CHEMIN]..."
++msgstr "[CHEMINS]..."
+ 
+ #: automate.cc:1265
+-#, fuzzy
+ msgid "Shows change information for a workspace"
+-msgstr "créer un certificat pour une révision"
++msgstr "Affiche les changements pour un espace de travail"
+ 
+ #: automate.cc:1311
+ msgid "Shows the revision on which the workspace is based"
+-msgstr "Affiche la révision sur laquelle l'espace de travail est basée"
++msgstr "Affiche la révision sur laquelle l'espace de travail est basé"
+ 
+ #: automate.cc:1339
+-#, fuzzy
+ msgid "Shows the revision of the current workspace"
+-msgstr "le fichier %s est inconnu dans l'espace de travail"
++msgstr "Affiche la révision pour l'espace de travail courant"
+ 
+ #: automate.cc:1408
+ msgid "Shows the manifest associated with a revision"
+ msgstr "Affiche le manifeste associé à une révision"
+ 
+ #: automate.cc:1457
+-#, fuzzy
+ msgid "Prints the revision data in packet format"
+-msgstr "écrire un paquet pour une révision sur la sortie standard"
++msgstr "Affiche les données de révision dans un format de paquet"
+ 
+ #: automate.cc:1488
+ msgid "Prints the certs associated with a revision in packet format"
+ msgstr ""
++"Affiche les certificats associés à une révision dans un format de paquet"
+ 
+ #: automate.cc:1523
+-#, fuzzy
+ msgid "Prints the file data in packet format"
+-msgstr "écrire un paquet pour un fichier sur la sortie standard"
++msgstr "Affiche les données de fichier dans un format de paquet"
+ 
+ #: automate.cc:1538
+ #, c-format
+@@ -5892,13 +6066,14 @@
+ msgstr "ANCIEN_FICHIER NOUVEAU_FICHIER"
+ 
+ #: automate.cc:1555
+-#, fuzzy
+ msgid "Prints the file delta in packet format"
+-msgstr "Affiche le paquet delta pour un fichier"
++msgstr "Affiche le fichier delta dans un format de paquet"
+ 
+ #: automate.cc:1594
+ msgid "Prints revisions that are common ancestors of a list of revisions"
+ msgstr ""
++"Affiche les révisions qui ont des ancêtres communs avec une liste de "
++"révisions"
+ 
+ #: automate.cc:1609
+ #, c-format
+@@ -5907,7 +6082,7 @@
+ 
+ #: automate.cc:1633
+ msgid "Prints all branch certs in the revision graph"
+-msgstr ""
++msgstr "Affiche tous les certificats de branches dans un graphe de révision"
+ 
+ #: automate.cc:1684
+ msgid "[BRANCH_PATTERN]"
+@@ -5918,9 +6093,8 @@
+ msgstr "Afficher toutes les étiquettes attachées à un ensemble de branches"
+ 
+ #: automate.cc:1779
+-#, fuzzy
+ msgid "KEY_NAME PASSPHRASE"
+-msgstr "ID_CLEF PHRASE_DE_PASSE"
++msgstr "NOM_CLEF PHRASE_DE_PASSE"
+ 
+ #: automate.cc:1780
+ msgid "Generates a key"
+@@ -5942,6 +6116,7 @@
+ msgid ""
+ "Lists the revisions that changed the content relative to another revision"
+ msgstr ""
++"Liste les révisions qui ont modifié le contenu relatif à une autre révision"
+ 
+ #: automate.cc:1891 automate.cc:1958
+ #, c-format
+@@ -5956,6 +6131,8 @@
+ msgid ""
+ "Prints the name of a file in a target revision relative to a given revision"
+ msgstr ""
++"Affiche le nom d'un fichier dans une révision cible relative à une révision "
++"donnée"
+ 
+ #: automate.cc:1985
+ msgid "[FILEID] CONTENTS"
+@@ -5967,17 +6144,16 @@
+ 
+ #: automate.cc:2040
+ msgid "REVISION-DATA"
+-msgstr "DONNÉS-DE-RÉVISION"
++msgstr "DONNÉES-DE-RÉVISION"
+ 
+ #: automate.cc:2041
+-#, fuzzy
+ msgid "Stores a revision into the database"
+-msgstr "la révision %s n'existe pas dans la base de données"
++msgstr "Enregistre une révision dans la base de données"
+ 
+ #: automate.cc:2083
+ #, c-format
+ msgid "missing prerequisite for revision %s"
+-msgstr "des prérequises pour la révision « %s » manquent"
++msgstr "des prérequis pour la révision « %s » manquent"
+ 
+ #: automate.cc:2100
+ msgid "REVISION-ID NAME VALUE"
+@@ -5989,41 +6165,37 @@
+ 
+ #: automate.cc:2136
+ msgid "[DOMAIN]"
+-msgstr "[DOMAINE] NOM"
++msgstr "[DOMAINE]"
+ 
+ #: automate.cc:2137
+ msgid "Retrieve database variables"
+-msgstr "Récupèrer les variables de la base de données"
++msgstr "Récupérer les variables de la base de données"
+ 
+ #: automate.cc:2185
+-#, fuzzy, c-format
++#, c-format
+ msgid "No variables found or invalid domain specified"
+-msgstr "aucune base de données n'a été spécifiée"
++msgstr "Aucune variable trouvée ou domaine invalide spécifié"
+ 
+ #: automate.cc:2236
+ msgid "DOMAIN [NAME]"
+ msgstr "DOMAINE [NOM]"
+ 
+ #: automate.cc:2237
+-#, fuzzy
+ msgid "Drops a database variable"
+-msgstr "%s (la base de donnée n'a pas de tables !)"
++msgstr "Supprime une variable de la base de données"
+ 
+ #: automate.cc:2273
+-#, fuzzy, c-format
++#, c-format
+ msgid "no variables found in domain %s"
+-msgstr "aucune variable nommée %s dans le domaine %s"
++msgstr "aucune variable trouvée dans le domaine %s"
+ 
+ #: automate.cc:2290
+-#, fuzzy
+ msgid "Prints the workspace root for the current directory"
+-msgstr ""
+-"Liste les fichiers de l'espace de travail qui appartienent à la branche "
+-"actuelle"
++msgstr "Affiche la racine de l'espace de travail pour le répertoire courant"
+ 
+ #: automate.cc:2313
+ msgid "Executes the given lua function and returns the result"
+-msgstr ""
++msgstr "Exécute la fonction lua donnée et affiche le résultat"
+ 
+ #: automate.cc:2323
+ #, c-format
+@@ -6031,15 +6203,15 @@
+ msgstr "la fonction lua « %s » n'existe pas"
+ 
+ #: automate.cc:2336
+-#, fuzzy, c-format
++#, c-format
+ msgid "lua call '%s' failed"
+-msgstr "la vérification de « %s » a échoué"
++msgstr "Échec de l'appel lua « %s »"
+ 
+ #: database_check.cc:153
+ #, c-format
+ msgid "file structure is corrupted; cannot check further"
+ msgstr ""
+-"la structure du fichier est corrompue ; impossible de faire plus de "
++"la structure du fichier est corrompue ; impossible de faire plus de "
+ "vérifications"
+ 
+ #: database_check.cc:252
+@@ -6048,7 +6220,7 @@
+ 
+ #: database_check.cc:421
+ msgid "ancestry"
+-msgstr "parenté"
++msgstr "ascendance"
+ 
+ #: database_check.cc:479
+ msgid "certs"
+@@ -6063,11 +6235,8 @@
+ msgstr "relations d'altitude"
+ 
+ #: database_check.cc:625
+-#, fuzzy
+ msgid "branches"
+-msgstr ""
+-"branche « %s »\n"
+-"\n"
++msgstr "branches"
+ 
+ #: database_check.cc:689
+ #, c-format
+@@ -6100,8 +6269,8 @@
+ "revision %s missing (%d revision references; %d cert references; %d parent "
+ "references; %d child references; %d roster references)"
+ msgstr ""
+-"révision %s manquante (%d révisions réf.; %d certificats réf.; %d parents "
+-"réf.; %d enfants réf.; %d liste réf.)"
++"révision %s manquante (%d réf. de révisions ; %d réf. de certificats ; %d "
++"réf. de parents  ; %d réf. de enfants ; %d réf. de liste)"
+ 
+ #: database_check.cc:766
+ #, c-format
+@@ -6131,13 +6300,13 @@
+ #: database_check.cc:803
+ #, c-format
+ msgid "revision %s mismatched parents (%d ancestry parents; %d revision refs)"
+-msgstr "révision %s, parents déparaillés (%d parents; %d révision réf.)"
++msgstr "révision %s, parents dépareillés (%d parents ; %d réf. de révision)"
+ 
+ #: database_check.cc:812
+ #, c-format
+ msgid "revision %s mismatched children (%d ancestry children; %d parents)"
+ msgstr ""
+-"révision %s, des enfants ne se correspondent pas (%d enfants; %d parents)"
++"révision %s, des enfants ne correspondent pas (%d enfants ; %d parents)"
+ 
+ #: database_check.cc:824
+ #, c-format
+@@ -6149,7 +6318,7 @@
+ msgid "revision %s is not parseable (perhaps with unnormalized paths?)"
+ msgstr ""
+ "la révision %s n'est pas syntaxiquement correcte (peut-être a-t-elle des "
+-"chemins non normalisés ?)"
++"chemins non normalisés ?)"
+ 
+ #: database_check.cc:838
+ #, c-format
+@@ -6202,19 +6371,19 @@
+ "l'altitude de la révision %s n'est pas supérieure à celle de son parent"
+ 
+ #: database_check.cc:984
+-#, fuzzy, c-format
++#, c-format
+ msgid "cached branch '%s' not used"
+-msgstr "la branche « %s » n'est pas fusionnée"
++msgstr "la branche mise en cache « %s » n'est pas utilisée"
+ 
+ #: database_check.cc:989
+-#, fuzzy, c-format
++#, c-format
+ msgid "branch '%s' not cached"
+-msgstr "la branche « %s » n'est pas fusionnée"
++msgstr "la branche « %s » n'est pas mise en cache"
+ 
+ #: database_check.cc:994
+-#, fuzzy, c-format
++#, c-format
+ msgid "branch '%s' wrong head count"
+-msgstr "la branche « %s » est vide"
++msgstr "la branche « %s » a un mauvais comptage de tête"
+ 
+ #: database_check.cc:1089
+ #, c-format
+@@ -6229,7 +6398,7 @@
+ #: database_check.cc:1094
+ #, c-format
+ msgid "%d unreferenced rosters"
+-msgstr "%d listes non référencés"
++msgstr "%d listes non référencées"
+ 
+ #: database_check.cc:1096
+ #, c-format
+@@ -6265,7 +6434,7 @@
+ #, c-format
+ msgid "%d revisions not parseable (perhaps with invalid paths)"
+ msgstr ""
+-"%d révisions non analysables (peut-être ont-elles des chemins invalides ?)"
++"%d révisions non analysables (peut-être ont-elles des chemins invalides)"
+ 
+ #: database_check.cc:1112
+ #, c-format
+@@ -6295,7 +6464,7 @@
+ #: database_check.cc:1127
+ #, c-format
+ msgid "%d unchecked signatures due to missing keys"
+-msgstr "%d signature non contrôlées à cause de clefs manquantes"
++msgstr "%d signatures non contrôlées à cause de clefs manquantes"
+ 
+ #: database_check.cc:1129
+ #, c-format
+@@ -6320,31 +6489,31 @@
+ #: database_check.cc:1139
+ #, c-format
+ msgid "%d branches cached but not used"
+-msgstr ""
++msgstr "%d branches mises en cache mais non utilisées"
+ 
+ #: database_check.cc:1141
+ #, c-format
+ msgid "%d branches with incorrect head count"
+-msgstr ""
++msgstr "%d branches ayant un mauvais comptage de tête"
+ 
+ #: database_check.cc:1143
+ #, c-format
+ msgid "%d branches missing from branch cache"
+-msgstr ""
++msgstr "%d branches manquent dans le cache de branche"
+ 
+ #: database_check.cc:1172
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "check complete: %d files; %d rosters; %d revisions; %d keys; %d certs; %d "
+ "heights; %d branches"
+ msgstr ""
+-"vérification terminée : %d fichiers; %d listes; %d révisions; %d clefs; %d "
+-"certificats; %d altitudes"
++"vérification terminée : %d fichiers ; %d listes ; %d révisions ; %d clefs ; "
++"%d certificats ; %d altitudes ; %d branches"
+ 
+ #: database_check.cc:1180
+ #, c-format
+ msgid "total problems detected: %d (%d serious)"
+-msgstr "total problèmes détectés: %d (%d sérieux)"
++msgstr "total problèmes détectés : %d (%d sérieux)"
+ 
+ #: database_check.cc:1185
+ #, c-format
+@@ -6364,22 +6533,22 @@
+ #: selectors.cc:75
+ #, c-format
+ msgid "expanded selector '%s' -> '%s'"
+-msgstr "expansion du sélecteur « %s » en « %s »"
++msgstr "expansion du sélecteur « %s » en « %s »"
+ 
+ #: selectors.cc:124
+ #, c-format
+ msgid "unknown selector type: %c"
+-msgstr "type de sélecteur inconnu: %c"
++msgstr "type de sélecteur inconnu : %c"
+ 
+ #: selectors.cc:137
+ #, c-format
+ msgid "selector '%s' is not a valid date\n"
+-msgstr "le sélecteur « %s » ne correspond pas à une date valide\n"
++msgstr "le sélecteur « %s » ne correspond pas à une date valide\n"
+ 
+ #: selectors.cc:155
+ #, c-format
+ msgid "selector '%s' is not a valid date (%s)"
+-msgstr "le sélecteur « %s » n'est pas une date valide (%s)"
++msgstr "le sélecteur « %s » n'est pas une date valide (%s)"
+ 
+ #: selectors.cc:159
+ #, c-format
+@@ -6387,32 +6556,33 @@
+ msgstr "expansion de la date « %s » en « %s »\n"
+ 
+ #: selectors.cc:172
+-#, fuzzy, c-format
++#, c-format
+ msgid "the empty branch selector b: refers to the current branch"
+-msgstr ""
+-"Liste les fichiers de l'espace de travail qui appartienent à la branche "
+-"actuelle"
++msgstr "Le sélecteur de branche vide b: se réfère à la branche courante"
+ 
+ #: selectors.cc:174
+ #, c-format
+ msgid "the empty head selector h: refers to the head of the current branch"
+ msgstr ""
++"Le sélecteur de branche vide h: se réfère à la tête de la branche courante"
+ 
+ #: selectors.cc:183
+ #, c-format
+ msgid "the cert selector c: may not be empty"
+-msgstr ""
++msgstr "Le sélecteur de certificat c: ne peut pas être vide"
+ 
+ #: selectors.cc:189
+ #, c-format
+ msgid ""
+ "the empty parent selector p: refers to the base revision of the workspace"
+ msgstr ""
++"Le sélecteur de parent vide p: se réfère à la révision de base de l'espace "
++"de travail"
+ 
+ #: selectors.cc:210
+ #, c-format
+ msgid "no value is allowed with the update selector u:"
+-msgstr ""
++msgstr "Aucune valeur n'est autorisée pour le sélecteur de mise à jour u:"
+ 
+ #: selectors.cc:212
+ #, c-format
+@@ -6420,16 +6590,19 @@
+ "the update selector u: refers to the revision before the last update in the "
+ "workspace"
+ msgstr ""
++"Le sélecteur de mise à jour u: se réfère à la révision précédant la dernière "
++"mise à jour dans l'espace de travail."
+ 
+ #: selectors.cc:222
+ #, c-format
+ msgid "no value is allowed with the base revision selector w:"
+-msgstr ""
++msgstr "Aucune valeur n'est autorisée pour le sélecteur de révision de base w:"
+ 
+ #: selectors.cc:371
+-#, fuzzy, c-format
++#, c-format
+ msgid "the selector w: returns the base revision(s) of the workspace"
+-msgstr "le fichier %s est inconnu dans l'espace de travail"
++msgstr ""
++"Le sélecteur w: retourne le ou les révision(s) de base de l'espace de travail"
+ 
+ #: selectors.cc:438
+ #, c-format
+@@ -6454,17 +6627,17 @@
+ #: annotate.cc:425
+ #, c-format
+ msgid "%s.. by %s %s: "
+-msgstr ""
++msgstr "%s.. par %s %s :"
+ 
+ #: restrictions.cc:68 restrictions.cc:150
+-#, fuzzy, c-format
++#, c-format
+ msgid "including missing parent '%s'"
+-msgstr "dossier « %s » manquant"
++msgstr "inclusion du parent manquant « %s »"
+ 
+ #: restrictions.cc:79 restrictions.cc:159
+-#, fuzzy, c-format
++#, c-format
+ msgid "including required parent '%s'"
+-msgstr "la révision prérequise « %s » est manquante"
++msgstr "inclusion du parent requis « %s »"
+ 
+ #: restrictions.cc:102 restrictions.cc:176
+ #, c-format
+@@ -6489,9 +6662,9 @@
+ msgstr[1] "%d chemins inconnus"
+ 
+ #: maybe_workspace_updater.cc:64
+-#, fuzzy, c-format
++#, c-format
+ msgid "note: your workspace has not been updated"
+-msgstr "note : vos espaces de travail n'ont pas été mis à jour"
++msgstr "note : votre espace de travail n'a pas été mis à jour"
+ 
+ #: merge_roster.cc:333
+ #, c-format
+@@ -6500,6 +6673,9 @@
+ "will be ignored during this merge as the file has been\n"
+ "removed on one side of the merge.  Affected revisions include:"
+ msgstr ""
++"Le contenu modifié dans le fichier « %s »\n"
++"sera ignoré durant cette fusion puisque le fichier a été supprimé sur un "
++"côté de la fusion. Les révisions affectées sont :"
+ 
+ #: merge_roster.cc:338
+ #, c-format
+@@ -6507,154 +6683,154 @@
+ msgstr "Révision : %s"
+ 
+ #: merge_conflict.cc:576
+-#, fuzzy, c-format
++#, c-format
+ msgid "conflict: missing root directory"
+-msgstr "dossier « %s » manquant"
++msgstr "conflit : répertoire racine manquant"
+ 
+ #: merge_conflict.cc:586 merge_conflict.cc:628
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' pivoted to root on the left"
+-msgstr "le dossier « %s » n'est pas suivi ou n'existe pas"
++msgstr "le répertoire « %s » a été pivoté vers la racine à gauche"
+ 
+ #: merge_conflict.cc:596 merge_conflict.cc:638
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' deleted on the right"
+-msgstr "le dossier « %s » existe déjà"
++msgstr "le répertoire « %s » supprimé à gauche"
+ 
+ #: merge_conflict.cc:609 merge_conflict.cc:649
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' deleted on the left"
+-msgstr "le dossier « %s » n'existe pas"
++msgstr "le répertoire « %s » supprimé à droite"
+ 
+ #: merge_conflict.cc:618 merge_conflict.cc:658
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' pivoted to root on the right"
+-msgstr "le dossier « %s » n'est pas suivi ou n'existe pas"
++msgstr "le répertoire « %s » a été pivoté vers la racine à droite"
+ 
+ #: merge_conflict.cc:702
+ #, c-format
+ msgid "conflict: invalid name _MTN in root directory"
+-msgstr ""
++msgstr "conflit : nom invalide _MTN dans le répertoire racine"
+ 
+ #: merge_conflict.cc:712
+ #, c-format
+ msgid "'%s' pivoted to root on the left"
+-msgstr ""
++msgstr "« %s » pivoté vers la racine à gauche"
+ 
+ #: merge_conflict.cc:722 merge_conflict.cc:825 merge_conflict.cc:843
+ #, c-format
+ msgid "'%s' renamed to '%s' on the right"
+-msgstr ""
++msgstr "« %s » renommé en « %s » à droite"
+ 
+ #: merge_conflict.cc:730
+-#, fuzzy, c-format
++#, c-format
+ msgid "'%s' added in revision %s on the right"
+-msgstr "« %s » dans la révision « %s » n'est pas un fichier"
++msgstr "« %s » ajouté à la révision « %s » à droite"
+ 
+ #: merge_conflict.cc:742
+ #, c-format
+ msgid "'%s' pivoted to root on the right"
+-msgstr ""
++msgstr "« %s » pivoté vers la racine à droite"
+ 
+ #: merge_conflict.cc:752 merge_conflict.cc:816 merge_conflict.cc:834
+ #, c-format
+ msgid "'%s' renamed to '%s' on the left"
+-msgstr ""
++msgstr "« %s » renommé en « %s » à gauche "
+ 
+ #: merge_conflict.cc:760
+-#, fuzzy, c-format
++#, c-format
+ msgid "'%s' added in revision %s on the left"
+-msgstr "« %s » dans la révision « %s » n'est pas un fichier"
++msgstr "« %s » ajouté à la révision « %s » à gauche"
+ 
+ #: merge_conflict.cc:809
+ #, c-format
+ msgid "conflict: directory loop created"
+-msgstr ""
++msgstr "conflit : création d'une boucle de répertoire"
+ 
+ #: merge_conflict.cc:887
+-#, fuzzy, c-format
++#, c-format
+ msgid "conflict: orphaned file '%s' from revision %s"
+-msgstr "aucun fichier « %s » dans la révision « %s »"
++msgstr "conflit : fichier orphelin « %s » de la révision %s"
+ 
+ #: merge_conflict.cc:894
+-#, fuzzy, c-format
++#, c-format
+ msgid "conflict: orphaned directory '%s' from revision %s"
+-msgstr "impossible de créer le dossier « %s » pour « %s »"
++msgstr "conflit : répertoire orphelin « %s » de la révision %s"
+ 
+ #: merge_conflict.cc:911
+-#, fuzzy, c-format
++#, c-format
+ msgid "parent directory '%s' was deleted on the right"
+-msgstr "le dossier à importer « %s » n'existe pas"
++msgstr "le répertoire parent « %s » a été supprimé à droite"
+ 
+ #: merge_conflict.cc:920
+ #, c-format
+ msgid "file '%s' was renamed from '%s' on the left"
+-msgstr ""
++msgstr "le fichier « %s » a été renommé à partir de « %s » à gauche"
+ 
+ #: merge_conflict.cc:923
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' was renamed from '%s' on the left"
+-msgstr "le dossier « %s » n'est pas suivi ou n'existe pas"
++msgstr "le répertoire « %s » a été renommé à partir de « %s » à gauche"
+ 
+ #: merge_conflict.cc:933
+-#, fuzzy, c-format
++#, c-format
+ msgid "file '%s' was added on the left"
+-msgstr "le fichier « %s » n'existe pas"
++msgstr "le fichier « %s » a été ajouté à gauche"
+ 
+ #: merge_conflict.cc:936
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' was added on the left"
+-msgstr "le dossier « %s » n'existe pas"
++msgstr "le répertoire « %s » a été ajouté à gauche"
+ 
+ #: merge_conflict.cc:954
+-#, fuzzy, c-format
++#, c-format
+ msgid "parent directory '%s' was deleted on the left"
+-msgstr "le dossier à importer « %s » n'existe pas"
++msgstr "le répertoire parent « %s » a été supprimé à gauche"
+ 
+ #: merge_conflict.cc:963
+ #, c-format
+ msgid "file '%s' was renamed from '%s' on the right"
+-msgstr ""
++msgstr "le fichier « %s » a été renommé à partir de « %s » à droite"
+ 
+ #: merge_conflict.cc:966
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' was renamed from '%s' on the right"
+-msgstr "le dossier « %s » n'est pas suivi ou n'existe pas"
++msgstr "le répertoire « %s » a été renommé à partir de « %s » à droite"
+ 
+ #: merge_conflict.cc:975
+-#, fuzzy, c-format
++#, c-format
+ msgid "file '%s' was added on the right"
+-msgstr "le fichier « %s » n'existe pas"
++msgstr "le fichier « %s » a été ajouté à droite"
+ 
+ #: merge_conflict.cc:978
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory '%s' was added on the right"
+-msgstr "le dossier « %s » existe déjà"
++msgstr "le répertoire « %s » a été ajouté à droite"
+ 
+ #: merge_conflict.cc:1035
+-#, fuzzy, c-format
++#, c-format
+ msgid "conflict: multiple names for file '%s' from revision %s"
+-msgstr "aucun fichier « %s » dans la révision « %s »"
++msgstr "conflit : plusieurs noms pour le fichier « %s » de la révision %s"
+ 
+ #: merge_conflict.cc:1038
+ #, c-format
+ msgid "conflict: multiple names for directory '%s' from revision %s"
+-msgstr ""
++msgstr "conflit : plusieurs noms pour le répertoire « %s » de la révision %s"
+ 
+ #: merge_conflict.cc:1041
+-#, fuzzy, c-format
++#, c-format
+ msgid "renamed to '%s' on the left"
+-msgstr "le dossier à renommer « %s » n'existe pas"
++msgstr "renommé en  « %s » à gauche"
+ 
+ #: merge_conflict.cc:1042
+-#, fuzzy, c-format
++#, c-format
+ msgid "renamed to '%s' on the right"
+-msgstr "le dossier à renommer « %s » n'existe pas"
++msgstr "renommé en « %s » à droite"
+ 
+ #: merge_conflict.cc:1100
+-#, fuzzy, c-format
++#, c-format
+ msgid "conflict: duplicate name '%s' for the directory '%s'"
+-msgstr "impossible de créer le dossier « %s »"
++msgstr "conflit : nom en double « %s » pour le répertoire « %s »"
+ 
+ #: merge_conflict.cc:1109
+ #, c-format
+@@ -6663,82 +6839,86 @@
+ "          named '%s' on the left and\n"
+ "          named '%s' on the right."
+ msgstr ""
++"conflit : nom en double « %s » pour le répertoire\n"
++"\tnommé « %s » à gauche et\n"
++"\tnommé « %s » à droite."
+ 
+ #: merge_conflict.cc:1127 merge_conflict.cc:1177
+ #, c-format
+ msgid "added as a new file on the left"
+-msgstr ""
++msgstr "ajouté en tant que nouveau fichier à gauche"
+ 
+ #: merge_conflict.cc:1129 merge_conflict.cc:1179
+ #, c-format
+ msgid "added as a new directory on the left"
+-msgstr ""
++msgstr "ajouté en tant que nouveau répertoire à gauche"
+ 
+ #: merge_conflict.cc:1137 merge_conflict.cc:1161
+ #, c-format
+ msgid "added as a new file on the right"
+-msgstr ""
++msgstr "ajouté en tant que nouveau fichier à droite"
+ 
+ #: merge_conflict.cc:1139 merge_conflict.cc:1163
+ #, c-format
+ msgid "added as a new directory on the right"
+-msgstr ""
++msgstr "ajouté en tant que nouveau répertoire à droite"
+ 
+ #: merge_conflict.cc:1152 merge_conflict.cc:1204
+-#, fuzzy, c-format
++#, c-format
+ msgid "renamed from file '%s' on the left"
+-msgstr "le chemin à renommer « %s » n'existe pas"
++msgstr "renommé à partir du fichier « %s » à gauche"
+ 
+ #: merge_conflict.cc:1154 merge_conflict.cc:1206
+-#, fuzzy, c-format
++#, c-format
+ msgid "renamed from directory '%s' on the left"
+-msgstr "le dossier à importer « %s » n'existe pas"
++msgstr "renommé à partir du répertoire « %s » à gauche"
+ 
+ #: merge_conflict.cc:1187 merge_conflict.cc:1214
+-#, fuzzy, c-format
++#, c-format
+ msgid "renamed from file '%s' on the right"
+-msgstr "le chemin à renommer « %s » n'existe pas"
++msgstr "renommé à partir du fichier « %s » à droite"
+ 
+ #: merge_conflict.cc:1189 merge_conflict.cc:1216
+-#, fuzzy, c-format
++#, c-format
+ msgid "renamed from directory '%s' on the right"
+-msgstr "le dossier à importer « %s » n'existe pas"
++msgstr "renommé à partir du répertoire « %s » à droite"
+ 
+ #: merge_conflict.cc:1267
+ #, c-format
+ msgid "conflict: multiple values for attribute '%s' on file '%s'"
+-msgstr ""
++msgstr "conflit : plusieurs valeurs pour l'attribut « %s » du fichier « %s »"
+ 
+ #: merge_conflict.cc:1270
+ #, c-format
+ msgid "conflict: multiple values for attribute '%s' on directory '%s'"
+ msgstr ""
++"conflit : plusieurs valeurs pour l'attribut « %s » du répertoire « %s »"
+ 
+ #: merge_conflict.cc:1274
+ #, c-format
+ msgid "set to '%s' on the left"
+-msgstr ""
++msgstr "positionné à « %s » à gauche"
+ 
+ #: merge_conflict.cc:1276
+ #, c-format
+ msgid "deleted on the left"
+-msgstr ""
++msgstr "supprimé à gauche"
+ 
+ #: merge_conflict.cc:1279
+ #, c-format
+ msgid "set to '%s' on the right"
+-msgstr ""
++msgstr "positionné à « %s » à droite"
+ 
+ #: merge_conflict.cc:1281
+-#, fuzzy, c-format
++#, c-format
+ msgid "deleted on the right"
+-msgstr "Entrées supprimées :"
++msgstr "supprimé à droite"
+ 
+ #: merge_conflict.cc:1301
+ #, c-format
+ msgid ""
+ "conflict: multiple values for attribute '%s' on file '%s' from revision %s"
+-msgstr ""
++msgstr "conflit : plusieurs valeurs pour l'attribut « %s » du fichier « %s » de la révision %s"
+ 
+ #: merge_conflict.cc:1304
+ #, c-format
+@@ -6746,175 +6926,180 @@
+ "conflict: multiple values for attribute '%s' on directory '%s' from revision "
+ "%s"
+ msgstr ""
++"conflit : plusieurs valeurs pour l'attribut « %s » du répertoire « %s » de "
++"la révision %s"
+ 
+ #: merge_conflict.cc:1310
+-#, fuzzy, c-format
++#, c-format
+ msgid "set to '%s' on left file '%s'"
+-msgstr "impossible d'ouvrir le fichier journal « %s »"
++msgstr "positionné à « %s » sur le fichier à gauche « %s »"
+ 
+ #: merge_conflict.cc:1313
+-#, fuzzy, c-format
++#, c-format
+ msgid "set to '%s' on left directory '%s'"
+-msgstr "impossible de supprimer le dossier non vide « %s »"
++msgstr "positionné à « %s » sur le répertoire à gauche « %s »"
+ 
+ #: merge_conflict.cc:1319
+-#, fuzzy, c-format
++#, c-format
+ msgid "deleted from left file '%s'"
+-msgstr "impossible de créer le fichier pid « %s »"
++msgstr "supprimé du fichier à gauche « %s »"
+ 
+ #: merge_conflict.cc:1322
+-#, fuzzy, c-format
++#, c-format
+ msgid "deleted from left directory '%s'"
+-msgstr "impossible de créer le dossier « %s »"
++msgstr "supprimé du répertoire à gauche « %s »"
+ 
+ #: merge_conflict.cc:1329
+-#, fuzzy, c-format
++#, c-format
+ msgid "set to '%s' on right file '%s'"
+-msgstr "impossible d'ouvrir le fichier journal « %s »"
++msgstr "positionné à « %s » sur le fichier à droite « %s »"
+ 
+ #: merge_conflict.cc:1332
+-#, fuzzy, c-format
++#, c-format
+ msgid "set to '%s' on right directory '%s'"
+-msgstr "dossier « %s » manquant"
++msgstr "positionné à « %s » sur le répertoire à droite « %s »"
+ 
+ #: merge_conflict.cc:1338
+-#, fuzzy, c-format
++#, c-format
+ msgid "deleted from right file '%s'"
+-msgstr "impossible de créer le fichier pid « %s »"
++msgstr "supprimé du fichier à droite « %s »"
+ 
+ #: merge_conflict.cc:1341
+-#, fuzzy, c-format
++#, c-format
+ msgid "deleted from right directory '%s'"
+-msgstr "impossible de créer le dossier « %s »"
++msgstr "supprimé du répertoire à droite « %s »"
+ 
+ #: merge_conflict.cc:1416
+ #, c-format
+ msgid "conflict: content conflict on file '%s'"
+-msgstr ""
++msgstr "conflit : conflit de contenu sur le fichier « %s »"
+ 
+ #: merge_conflict.cc:1418
+ #, c-format
+ msgid "content hash is %s on the left"
+-msgstr ""
++msgstr "le contenu du hachage est %s sur la gauche"
+ 
+ #: merge_conflict.cc:1419
+ #, c-format
+ msgid "content hash is %s on the right"
+-msgstr ""
++msgstr "contenu du hachage est %s sur la droite"
+ 
+ #: merge_conflict.cc:1438
+-#, fuzzy, c-format
++#, c-format
+ msgid "conflict: content conflict on file '%s' from revision %s"
+-msgstr "aucun fichier « %s » dans la révision « %s »"
++msgstr ""
++"conflit : conflit de contenu sur le fichier « %s » de la révision « %s »"
+ 
+ #: merge_conflict.cc:1440
+ #, c-format
+ msgid "content hash is %s on the left in file '%s'"
+-msgstr ""
++msgstr "le hachage du contenu vaut %s sur la gauche pour le fichier « %s »"
+ 
+ #: merge_conflict.cc:1442
+ #, c-format
+ msgid "content hash is %s on the right in file '%s'"
+-msgstr ""
++msgstr "le hachage du contenu vaut %s sur la droite pour le fichier « %s »"
+ 
+ #: merge_conflict.cc:1483 merge_conflict.cc:1714 merge_conflict.cc:2079
+ #, c-format
+ msgid "conflicts file does not match current conflicts"
+-msgstr ""
++msgstr "le fichier des conflits ne correspond pas aux conflits courants"
+ 
+ #: merge_conflict.cc:1485
+ msgid "extra chars at end of conflict"
+-msgstr ""
++msgstr "caractère supplémentaire en fin de conflit "
+ 
+ #: merge_conflict.cc:1701
+ #, c-format
+ msgid "expected orphaned_directory or orphaned_file, found %s"
+-msgstr ""
++msgstr "attendu orphaned_directory ou orphaned_file, trouvé %s"
+ 
+ #: merge_conflict.cc:2131
+-#, fuzzy, c-format
++#, c-format
+ msgid "extra data in file"
+-msgstr "charger un fichier rc supplémentaire"
++msgstr "données supplémentaires dans le fichier"
+ 
+ #: merge_conflict.cc:2251
+-#, fuzzy, c-format
++#, c-format
+ msgid "left revision id does not match conflict file"
+-msgstr "le certificat de révision « %s » n'existe pas dans la base de données"
++msgstr ""
++"l'identifiant de révision à gauche ne correspond pas au fichier de conflit"
+ 
+ #: merge_conflict.cc:2257
+-#, fuzzy, c-format
++#, c-format
+ msgid "right revision id does not match conflict file"
+-msgstr "le certificat de révision « %s » n'existe pas dans la base de données"
++msgstr ""
++"l'identifiant de révision à droite ne correspond pas au fichier de conflit"
+ 
+ #: merge_conflict.cc:2283
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s already exists"
+-msgstr "le chemin %s existe déjà"
++msgstr "%s existe déjà"
+ 
+ #: merge_conflict.cc:2285
+-#, fuzzy, c-format
++#, c-format
+ msgid "directory %s does not exist or is unknown"
+-msgstr "le dossier « %s » n'existe pas"
++msgstr "le répertoire %s n'existe pas ou est inconnu"
+ 
+ #: merge_conflict.cc:2335
+-#, fuzzy, c-format
++#, c-format
+ msgid "can't drop directory %s; it is not empty"
+-msgstr "impossible de supprimer « %s/ », il n'est pas vide"
++msgstr "impossible de supprimer %s, il n'est pas vide"
+ 
+ #: merge_conflict.cc:2350
+ #, c-format
+ msgid "no resolution provided for orphaned_node %s"
+-msgstr ""
++msgstr "aucune solution proposée pour orphaned_node %s"
+ 
+ #: merge_conflict.cc:2355
+ #, c-format
+ msgid "invalid resolution for orphaned_node %s"
+-msgstr ""
++msgstr "solution invalide pour orphaned_node %s"
+ 
+ #: merge_conflict.cc:2379 merge_conflict.cc:2417
+ #, c-format
+ msgid "inconsistent left/right resolutions for %s"
+-msgstr ""
++msgstr "solutions gauche/droite incohérentes pour %s"
+ 
+ #: merge_conflict.cc:2381
+ #, c-format
+ msgid "replacing content of %s with %s"
+-msgstr ""
++msgstr "remplace le contenu de %s par %s"
+ 
+ #: merge_conflict.cc:2408
+-#, fuzzy, c-format
++#, c-format
+ msgid "can't drop %s; not empty"
+-msgstr "impossible de supprimer « %s/ », il n'est pas vide"
++msgstr "impossible de supprimer %s, il n'est pas vide"
+ 
+ #: merge_conflict.cc:2419
+-#, fuzzy, c-format
++#, c-format
+ msgid "keeping %s"
+-msgstr "rétablissement de %s"
++msgstr "conservation de %s"
+ 
+ #: merge_conflict.cc:2431
+ #, c-format
+ msgid "no resolution provided for duplicate_name %s"
+-msgstr ""
++msgstr "aucune solution proposée pour duplicate_name %s"
+ 
+ #: merge_conflict.cc:2436
+ #, c-format
+ msgid "invalid resolution for duplicate_name %s"
+-msgstr ""
++msgstr "solution invalide pour duplicate_name %s"
+ 
+ #: merge_conflict.cc:2536
+-#, fuzzy, c-format
++#, c-format
+ msgid "merge of %s, %s failed"
+-msgstr "la fusion a échoué"
++msgstr "la fusion de %s et %s a échoué"
+ 
+ #: merge_conflict.cc:2538
+ #, c-format
+ msgid "merged %s, %s"
+-msgstr "fusionné %s, %s"
++msgstr "fusionné %s et %s"
+ 
+ #: merge_conflict.cc:2547
+ #, c-format
+ msgid "replacing content of %s, %s with %s"
+-msgstr ""
++msgstr "remplace le contenu de %s, %s par %s"
+ 
+ #: merge_content.cc:271
+ #, c-format
+@@ -6924,7 +7109,7 @@
+ #: merge_content.cc:272
+ #, c-format
+ msgid "'%s' in workspace is a directory, not a file"
+-msgstr "« %s » est un dossier, pas un fichier"
++msgstr "« %s » dans l'espace de travail est un dossier, pas un fichier"
+ 
+ #: merge_content.cc:276
+ #, c-format
+@@ -6953,137 +7138,141 @@
+ msgid "%d content conflict requires user intervention"
+ msgid_plural "%d content conflicts require user intervention"
+ msgstr[0] ""
++"Un conflit sur le contenu %d nécessite l'intervention de l'utilisateur"
+ msgstr[1] ""
++"Des conflits sur le contenu %d nécessitent l'intervention de l'utilisateur"
+ 
+ #: merge_content.cc:716
+ #, c-format
+ msgid "can't spawn external merger when non-interactive"
+-msgstr ""
++msgstr "Impossible d'utiliser un fusionneur externe en mode non-interactif"
+ 
+ #: merge_content.cc:726
+ #, c-format
+ msgid "merge failed due to unresolved conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "la fusion a échoué à cause de conflits non résolus"
+ 
+ #: uri.cc:43
+ #, c-format
+ msgid "IPv6 address in URI has no closing ']'"
+-msgstr ""
++msgstr "l'adresse IPV6 dans l'URI n'as pas de crochet fermant"
+ 
+ #: uri.cc:63
+ #, c-format
+ msgid "explicit port-number specification in URI has no digits"
+-msgstr ""
++msgstr "le numéro de port mentionné dans l'URI n'a pas de chiffre"
+ 
+ #: uri.cc:66
+ #, c-format
+ msgid "explicit port-number specification in URI contains nondigits"
+ msgstr ""
++"le numéro de port mentionné dans l'URI contient des caractères non numériques"
+ 
+ #: uri.cc:154 uri.cc:157 uri.cc:179 uri.cc:200
+-#, fuzzy, c-format
++#, c-format
+ msgid "Bad URLencoded string '%s'"
+-msgstr "lua : chaîne extraite = %s"
++msgstr "mauvaise chaîne URL-encodée « %s »"
+ 
+ #: sha1.cc:34
+ msgid "Benchmarks botan's SHA-1 core"
+-msgstr ""
++msgstr "Comparatifs de performance pour SHA-1 de botan"
+ 
+ #: sha1.cc:38
+ #, c-format
+ msgid "Benchmarking botan's SHA-1 core"
+-msgstr ""
++msgstr "Évaluation de SHA-1 de botan"
+ 
+ #: sha1.cc:61
+ #, c-format
+ msgid "SHA-1 provider '%s': %s MiB/s"
+-msgstr ""
++msgstr "Fournisseur SHA-1 « %s » : %s Mio/s"
+ 
+ #: sha1.cc:73
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s MiB/s"
+-msgstr "%s : %s MiB/s"
++msgstr "%s MiB/s"
+ 
+ #: pcrewrap.cc:163
+ #, c-format
+ msgid "while compiling regex \"%s\": %s"
+-msgstr ""
++msgstr "pendant que l'_expression_ régulière compile « %s » : %s"
+ 
+ #: pcrewrap.cc:172
+-#, fuzzy, c-format
++#, c-format
+ msgid "error in regex \"%s\": %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur dans l'_expression_ régulière « %s » : %s"
+ 
+ #: pcrewrap.cc:174
+-#, fuzzy, c-format
++#, c-format
+ msgid "error near char %d of regex \"%s\": %s"
+-msgstr "erreur de syntaxe près de l'option « %s » : %s"
++msgstr "erreur près du caractère %d de l'_expression_ régulière « %s » : %s"
+ 
+ #: pcrewrap.cc:189
+ #, c-format
+ msgid "while studying regex \"%s\": %s"
+-msgstr ""
++msgstr "pendant l'étude de l'_expression_ régulière « %s » : %s"
+ 
+ #: pcrewrap.cc:207
+ #, c-format
+ msgid "backtrack limit exceeded in regular _expression_ matching"
+ msgstr ""
++"Limite de référence arrière (« backtrack ») dépassée lors de la "
++"correspondance de l'_expression_ rationnelle"
+ 
+ #: pcrewrap.cc:211
+ #, c-format
+ msgid "recursion limit exceeded in regular _expression_ matching"
+ msgstr ""
++"Limite de récursion dépassée lors de la correspondance de l'_expression_ "
++"rationnelle"
+ 
+ #: pcrewrap.cc:216
+ #, c-format
+ msgid "invalid UTF-8 sequence found during regular _expression_ matching"
+ msgstr ""
++"séquence UTF-8 invalide trouvée lors de la correspondance de l'_expression_ "
++"régulière"
+ 
+ #: pcrewrap.cc:219
+ #, c-format
+ msgid "pcre_match returned %d"
+-msgstr ""
++msgstr "pcre_match a retourné %d"
+ 
+ #: rev_output.cc:61
+-#, fuzzy
+ msgid "Revision: "
+-msgstr "Révision : %s"
++msgstr "Révision : "
+ 
+ #: rev_output.cc:67
+ msgid "Parent:   "
+-msgstr ""
++msgstr "Parent :  "
+ 
+ #: rev_output.cc:79
+-#, fuzzy
+ msgid "Author:   "
+-msgstr "parenté"
++msgstr "Auteur :  "
+ 
+ #: rev_output.cc:85 rev_output.cc:89
+-#, fuzzy
+ msgid "Date:     "
+-msgstr "note : "
++msgstr "Date : "
+ 
+ #: rev_output.cc:95
+ msgid "Branch:   "
+-msgstr ""
++msgstr "Branche : "
+ 
+ #: rev_output.cc:99
+ msgid "Tag:      "
+-msgstr ""
++msgstr "Tag : "
+ 
+ #: rev_output.cc:114
+ msgid "Comments: "
+-msgstr ""
++msgstr "Commentaires : "
+ 
+ #: rev_output.cc:141
+-#, fuzzy
+ msgid "Changes"
+-msgstr "aucun changement"
++msgstr "Changements"
+ 
+ #: rev_output.cc:143
+-#, fuzzy
+ msgid "Changes against parent "
+-msgstr "Changement par rapport au parent %s"
++msgstr "Changements par rapport au parent "
+ 
+ #: rev_output.cc:151
+ #, c-format
+@@ -7110,25 +7299,24 @@
+ msgstr "  modifié  %s"
+ 
+ #: rev_output.cc:173
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "  attr on  %s\n"
+ "      set  %s\n"
+ "       to  %s"
+ msgstr ""
+-"  attr sur  %s\n"
+-"      attr  %s\n"
+-"    valeur  %s"
++"   attr sur  %s\n"
++" positionné  %s\n"
++"         en  %s"
+ 
+ #: rev_output.cc:186
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "  attr on  %s\n"
+ "    unset  %s"
+ msgstr ""
+-"  attr sur  %s\n"
+-"      attr  %s\n"
+-"    valeur  %s"
++"   attr sur  %s\n"
++"   supprimé  %s"
+ 
+ #: asciik.cc:374
+ msgid "Prints an ASCII representation of the revisions' graph"
+@@ -7140,16 +7328,18 @@
+ "current date '%s' is outside usable range\n"
+ "(your system clock may not be set correctly)"
+ msgstr ""
++"la date courante « %s » est hors de la plage utilisable\n"
++"(votre horloge système n'est peut-être pas réglée correctement)"
+ 
+ #: dates.cc:385 dates.cc:389
+ #, c-format
+ msgid "date '%s' is out of range and cannot be formatted"
+-msgstr ""
++msgstr "la date « %s » est hors plage et ne peut pas être formatée"
+ 
+ #: dates.cc:427
+ #, c-format
+ msgid "time format specification '%s' produces no output"
+-msgstr ""
++msgstr "la spécification du format d'heure « %s » ne produit pas de sortie"
+ 
+ #: dates.cc:433
+ #, c-format
+@@ -7157,83 +7347,87 @@
+ "date '%s' is too long when formatted using '%s' (the result must fit in %d "
+ "characters)"
+ msgstr ""
++"la date « %s » est trop longue quand elle est formatée en utilisant "
++"« %s » (le résultat doit tenir en %d caractères)"
+ 
+ #: dates.cc:494
+ #, c-format
+ msgid "date '%s' is out of range and cannot be parsed"
+-msgstr ""
++msgstr "la date « %s » est hors plage et ne peut être analysée"
+ 
+ #: dates.cc:535 dates.cc:549 dates.cc:564 dates.cc:572 dates.cc:579
+ #: dates.cc:591 dates.cc:603 dates.cc:612 dates.cc:646
+ #, c-format
+ msgid "unrecognized date (monotone only understands ISO 8601 format)"
+-msgstr ""
++msgstr "date non reconnue (monotone ne reconnaît que le format ISO 8601)"
+ 
+ #: dates.cc:539
+ #, c-format
+ msgid "seconds out of range"
+-msgstr ""
++msgstr "secondes hors plage"
+ 
+ #: dates.cc:553
+ #, c-format
+ msgid "minutes out of range"
+-msgstr ""
++msgstr "minutes hors plage"
+ 
+ #: dates.cc:568
+ #, c-format
+ msgid "hour out of range"
+-msgstr ""
++msgstr "heure hors plage"
+ 
+ #: dates.cc:594
+ #, c-format
+ msgid "month out of range in '%s'"
+-msgstr ""
++msgstr "mois hors plage dans « %s »"
+ 
+ #: dates.cc:619
+ #, c-format
+ msgid "date too early (monotone only goes back to 0001-01-01T00:00:00)"
+ msgstr ""
++"date trop ancienne (monotone ne peut remonter qu'en 0001-01-01T00:00:00)"
+ 
+ #: dates.cc:621
+ #, c-format
+ msgid "date too late (monotone only goes forward to year 292,278,993)"
+-msgstr ""
++msgstr "date trop récente (monotone ne peut dépasser l'année 292278993)"
+ 
+ #: dates.cc:630
+ #, c-format
+ msgid "day out of range for its month in '%s'"
+-msgstr ""
++msgstr "le jour du mois « %s » est hors plage"
+ 
+ #: netio.hh:36 netio.hh:54
+ #, c-format
+ msgid "need %d bytes to decode %s at %d, only have %d"
+ msgstr ""
+-"%d octets sont nécessaire pour décoder %s à %d, seulement %d sont disponibles"
++"%d octets sont nécessaires pour décoder %s à %d, seulement %d sont "
++"disponibles"
+ 
+ #: netio.hh:82 netio.hh:117
+ #, c-format
+ msgid ""
+ "overflow while decoding variable length integer '%s' into a %d-byte field"
+ msgstr ""
+-"débordement lors du décodage d'un entier de longueur variable « %s » dans un "
++"débordement lors du décodage d'un entier de longueur variable « %s » dans un "
+ "champ de %d octets"
+ 
+ #: netio.hh:137
+ #, c-format
+ msgid "ran out of bytes reading variable length integer '%s' at pos %d"
+ msgstr ""
+-"pas assez d'octets en lisant un entier de taille variable « %s », à la "
++"pas assez d'octets en lisant un entier de taille variable « %s », à la "
+ "position %d"
+ 
+ #: netio.hh:273
+ #, c-format
+ msgid "decoding variable length string of %d bytes for '%s', maximum is %d"
+-msgstr "décodage d'une ligne de %d octets pour « %s » quand le maximum est %d"
++msgstr "décodage d'une ligne de %d octets pour « %s » quand le maximum est %d"
+ 
+ #: netio.hh:328
+ #, c-format
+ msgid "expected %s to end at %d, have %d bytes"
+-msgstr "je m'attendai à ce que %s finisse à %d, et j'ai %d octets"
++msgstr "je m'attendais à ce que %s finisse à %d, et j'ai %d octets"
+ 
+ #: option.cc:24
+ #, c-format
+@@ -7246,29 +7440,29 @@
+ msgstr "option « %s » inconnue"
+ 
+ #: option.cc:32
+-#, fuzzy, c-format
++#, c-format
+ msgid "missing argument to option '%s'"
+-msgstr "dossier « %s » manquant"
++msgstr "argument pour l'option « %s » manquant"
+ 
+ #: option.cc:36
+-#, fuzzy, c-format
++#, c-format
+ msgid "option '%s' does not take an argument"
+-msgstr "l'identifiant partiel « %s » n'a pas d'expansions"
++msgstr "l'option « %s » ne prend pas d'argument"
+ 
+ #: option.cc:40
+-#, fuzzy, c-format
++#, c-format
+ msgid "bad argument '%s' to option '%s'"
+-msgstr "pas d'attribut « %s » pour le chemin « %s »"
++msgstr "mauvais argument « %s » pour l'option « %s »"
+ 
+ #: option.cc:46
+-#, fuzzy, c-format
++#, c-format
+ msgid "bad argument '%s' to option '%s': %s"
+-msgstr "pas d'attribut « %s » pour le chemin « %s »"
++msgstr "mauvais argument « %s » pour l'option « %s » : %s"
+ 
+ #: option.cc:217
+ #, c-format
+ msgid "Invalid escape in --xargs file"
+-msgstr ""
++msgstr "Échappement invalide pour le fichier --xargs"
+ 
+ #: options_list.hh:77
+ msgid "override author for commit"
+@@ -7288,15 +7482,16 @@
+ "automatically update the workspace, if it is clean and the base revision is "
+ "a head of an affected branch"
+ msgstr ""
++"met à jour l'espace de travail automatiquement, s'il est propre et que la "
++"révision de base est une tête de la branche affectée"
+ 
+ #: options_list.hh:105
+-#, fuzzy
+ msgid "do not touch the workspace (default)"
+-msgstr "Ajoute des fichiers à l'espace de travail"
++msgstr "ne pas impacter l'espace de travail (par défaut)"
+ 
+ #: options_list.hh:118
+ msgid "address:port to listen on (default :4691)"
+-msgstr "écouter sur adresse:port (défaut :4691)"
++msgstr "écouter sur adresse:port (défaut : 4691)"
+ 
+ #: options_list.hh:126
+ msgid "disable transport authentication"
+@@ -7311,6 +7506,8 @@
+ "cause monotone to lie about the maximum netsync protocol version that it "
+ "supports, mostly for debugging"
+ msgstr ""
++"rend monotone menteur sur la version maximale du protocole netsync qu'il "
++"gère, principalement pour des raisons de déboguage"
+ 
+ #: options_list.hh:152
+ msgid ""
+@@ -7318,10 +7515,14 @@
+ "supports, useful for debugging or if you want to prevent use of older "
+ "protocol versions"
+ msgstr ""
++"rend monotone menteur sur la version minimale du protocole netsync qu'il "
++"gère, utile pour le déboguage ou si vous voulez restreindre l'utilisation "
++"d'anciens protocoles"
+ 
+ #: options_list.hh:163
+ msgid "sets the host (and optionally the port) for a remote netsync action"
+ msgstr ""
++"règle l'hôte (et optionnellement le port) pour une action netsync à distance"
+ 
+ #: options_list.hh:172
+ msgid "select branch cert for operation"
+@@ -7333,15 +7534,15 @@
+ 
+ #: options_list.hh:188
+ msgid "annotate using full revision ids only"
+-msgstr ""
++msgstr "annote en utilisant les identifiants de révision complets uniquement"
+ 
+ #: options_list.hh:200
+ msgid "set location of configuration directory"
+-msgstr "emplacement du dossier de configuration"
++msgstr "renseigne l'emplacement du dossier de configuration"
+ 
+ #: options_list.hh:210
+ msgid "forbid use of the default confdir"
+-msgstr ""
++msgstr "interdit l'usage du confdir par défaut"
+ 
+ #: options_list.hh:218
+ msgid "override date/time for commit"
+@@ -7349,20 +7550,21 @@
+ 
+ #: options_list.hh:233
+ msgid "strftime(3) format specification for printing dates"
+-msgstr ""
++msgstr "spécification du format strftime(3) pour l'affichage des dates"
+ 
+ #: options_list.hh:241
+-#, fuzzy
+ msgid "print date certs exactly as stored in the database"
+-msgstr "Régénere les caches stockés dans la base de données"
++msgstr ""
++"Affiche la date des certificats exactement comme celle enregistrée dans la "
++"base de données"
+ 
+ #: options_list.hh:251
+ msgid "set name of database"
+-msgstr "nom de la base de données"
++msgstr "renseigne le nom de la base de données"
+ 
+ #: options_list.hh:272
+ msgid "log roster cache statistic to the given file"
+-msgstr ""
++msgstr "journalise les statistiques du cache des listes dans le fichier donné"
+ 
+ #: options_list.hh:280
+ msgid "print debug log to stderr while running"
+@@ -7379,11 +7581,11 @@
+ 
+ #: options_list.hh:302
+ msgid "argument to pass external diff hook"
+-msgstr "argument à passer la procédure automatique (hook) de « diff » externe"
++msgstr "argument à passer à la procédure (hook) de « diff » externe"
+ 
+ #: options_list.hh:311
+ msgid "reverse order of diff"
+-msgstr ""
++msgstr "ordre inversé du diff"
+ 
+ #: options_list.hh:319
+ msgid "use context diff format"
+@@ -7392,7 +7594,7 @@
+ #: options_list.hh:326
+ msgid "use external diff hook for generating diffs"
+ msgstr ""
+-"emploie la procédure automatique (hook) de « diff » externe pour générer des "
++"emploie une procédure (« hook ») de « diff » externe pour générer des "
+ "différences"
+ 
+ #: options_list.hh:333
+@@ -7405,12 +7607,11 @@
+ 
+ #: options_list.hh:351
+ msgid "show the matching cset in the diff header"
+-msgstr ""
++msgstr "affiche le cset correspondant dans l'en-tête du diff"
+ 
+ #: options_list.hh:359
+-#, fuzzy
+ msgid "do not show the matching cset in the diff header"
+-msgstr "ne pas afficher la fonction contenant chaque bloc de changements"
++msgstr "ne pas afficher le cset correspondant dans l'en-tête du diff"
+ 
+ #: options_list.hh:367
+ msgid "print diffs along with logs"
+@@ -7424,15 +7625,15 @@
+ 
+ #: options_list.hh:384
+ msgid "don't perform the operation, just show what would have happened"
+-msgstr "n'effectue pas l'opération, montre seulement ce qu'il se serait passé"
++msgstr "n'effectue pas l'opération, montre seulement ce qui se serait passé"
+ 
+ #: options_list.hh:392
+ msgid "drop certs signed by keys we don't know about"
+-msgstr ""
++msgstr "supprimer les certificats signés par des clefs inconnues"
+ 
+ #: options_list.hh:400
+ msgid "file to dump debugging log to, on failure"
+-msgstr "ficher dans lequel verser les informations de debug, en cas d'erreur"
++msgstr "fichier dans lequel verser les informations de debug, en cas d'erreur"
+ 
+ #: options_list.hh:409
+ msgid "leave out anything described by its argument"
+@@ -7441,53 +7642,58 @@
+ #: options_list.hh:417
+ msgid "only update monotone's internal bookkeeping, not the filesystem"
+ msgstr ""
+-"ne mettre à jour que les documents d'administration de monotone, pas le "
+-"système de fichiers"
++"ne mettre à jour que les documents d'administration interne de monotone, pas "
++"le système de fichiers"
+ 
+ #: options_list.hh:425
+ msgid ""
+ "move conflicting, unversioned paths into _MTN/resolutions before proceeding "
+ "with any workspace change"
+ msgstr ""
++"déplacer les chemins en conflit et sans version vers _MTN/resolutions avant "
++"de procéder à tout changement de l'espace de travail"
+ 
+ #: options_list.hh:434
+-#, fuzzy
+ msgid ""
+ "controls use of ssh-agent.  valid arguments are: 'yes' to use ssh-agent to "
+ "make signatures if possible, 'no' to force use of monotone's internal code, "
+ "'only' to force use of ssh-agent, 'check' to sign with both and compare"
+ msgstr ""
+-"signe avec ssh-agent, « yes » pour signer avec ssh si une clef est trouvée, "
+-"« no » pour obliger monotone à signer, « check » pour signer avec les deux et "
+-"comparer"
++"usage des contrôles de ssh_agent. Les arguments valides sont : « yes » pour "
++"utiliser ssh_agent comme signataire si possible, « no » pour forcer "
++"l'utilisation du code interne de monotone, « only » pour forcer "
++"l'utilisation de ssh_agent et « check » pour utiliser les deux et les "
++"comparer. "
+ 
+ #: options_list.hh:442
+ #, c-format
+ msgid "--ssh-sign requires a value ['yes', 'no', 'only', or 'check']"
+-msgstr "--ssh-sign nécessite un argument ('yes', 'no', 'only', ou 'check')"
++msgstr ""
++"--ssh-sign nécessite une valeur (« yes », « no », « only », ou « check »)"
+ 
+ #: options_list.hh:448
+ #, c-format
+ msgid "--ssh-sign must be set to 'yes', 'no', 'only', or 'check'"
+-msgstr "--ssh-sign doit être renseigné avec 'yes', 'no', 'only' ou 'check'"
++msgstr ""
++"--ssh-sign doit être renseigné avec « yes », « no », « only », ou « check »"
+ 
+ #: options_list.hh:456
+ msgid "force genkey to not error out when the named key already exists"
+ msgstr ""
++"force genkey de ne pas déclencher une erreur quand une clef nommée existe "
++"déjà"
+ 
+ #: options_list.hh:465
+-#, fuzzy
+ msgid "print detailed information"
+-msgstr "affiche les numéros de version détaillés"
++msgstr "affiche des informations détaillées"
+ 
+ #: options_list.hh:472
+ msgid "display help message"
+ msgstr "affiche le message d'aide"
+ 
+ #: options_list.hh:480
+-#, fuzzy
+ msgid "show hidden commands"
+-msgstr "commande inconnue « %s »"
++msgstr "affiche les commandes cachées"
+ 
+ #: options_list.hh:489
+ msgid "include anything described by its argument"
+@@ -7495,15 +7701,17 @@
+ 
+ #: options_list.hh:497
+ msgid "do not ignore revisions marked as suspended"
+-msgstr ""
++msgstr "ne pas ignorer les révisions marquées comme suspendues"
+ 
+ #: options_list.hh:505
+ msgid "do not prompt the user for input"
+-msgstr ""
++msgstr "ne pas demander à l'utilisateur une entrée"
+ 
+ #: options_list.hh:514
+ msgid "sets the key for signatures, using either the key name or the key hash"
+ msgstr ""
++"positionne la clef pour des signatures, en utilisant soit le nom de la clef, "
++"soit le hachage de la clef"
+ 
+ #: options_list.hh:526
+ msgid "set location of key store"
+@@ -7515,37 +7723,39 @@
+ 
+ #: options_list.hh:543
+ msgid "limit log output to the last number of entries"
+-msgstr "limiter la sortie de « debug » au nombre d'entrées spécifié"
++msgstr "limiter la sortie au dernier nombre d'entrées"
+ 
+ #: options_list.hh:552
+ msgid "file to write the log to"
+-msgstr "fichier où inscrire les informations de « debug »"
++msgstr "fichier où inscrire les informations de « debug »"
+ 
+ #: options_list.hh:564
+ msgid "set commit changelog message"
+-msgstr "message d'historique du commit"
++msgstr "renseigne le message d'historique du commit"
+ 
+ #: options_list.hh:571
+ msgid "set filename containing commit changelog message"
+-msgstr "nom du fichier qui contient le message d'historique associé au commit"
++msgstr ""
++"renseigne le nom du fichier qui contient le message d'historique associé au "
++"commit"
+ 
+ #: options_list.hh:578
+ msgid "no prefix to message"
+-msgstr ""
++msgstr "pas de préfixe au message"
+ 
+ #: options_list.hh:586
+ msgid "perform the operations for files missing from workspace"
+ msgstr ""
+-"exécuter les opérations sur les fichiers répertoriés « manquants » dans "
++"exécuter les opérations sur les fichiers répertoriés « manquants » dans "
+ "l'espace de travail"
+ 
+ #: options_list.hh:594
+ msgid "limit log output to the next number of entries"
+-msgstr "limiter l'affichage de l'historique au nombre d'entrées spécifié"
++msgstr "limiter l'affichage de l'historique au prochain nombre d'entrées"
+ 
+ #: options_list.hh:604
+ msgid "exclude files when printing logs"
+-msgstr "exclure les fichiers lors de l'affichage de l'historique"
++msgstr "exclure les fichiers lors de l'affichage des journaux"
+ 
+ #: options_list.hh:612
+ msgid "do not use ASCII graph to display ancestry"
+@@ -7557,7 +7767,7 @@
+ 
+ #: options_list.hh:628
+ msgid "exclude merges when printing logs"
+-msgstr "exclure les fusions lors de l'affichage de l'historique"
++msgstr "exclure les fusions lors de l'affichage des journaux"
+ 
+ #: options_list.hh:636
+ msgid "do not load ~/.monotone/monotonerc or _MTN/monotonerc lua files"
+@@ -7565,7 +7775,7 @@
+ 
+ #: options_list.hh:644
+ msgid "do not load standard lua hooks"
+-msgstr "inhibe les procédures automatiques (hooks) lua standard"
++msgstr "inhibe les procédures automatiques (« hooks ») lua standard"
+ 
+ #: options_list.hh:652
+ msgid "record process id of server"
+@@ -7573,7 +7783,7 @@
+ 
+ #: options_list.hh:660
+ msgid "suppress verbose, informational and progress messages"
+-msgstr "supprime les messages verbeux, informatifs et d'indication de progrès"
++msgstr "supprime les messages verbeux, informatifs et d'indication d'avancées"
+ 
+ #: options_list.hh:670
+ msgid "load extra rc file"
+@@ -7583,14 +7793,13 @@
+ msgid "suppress warning, verbose, informational and progress messages"
+ msgstr ""
+ "supprime les messages d'avertissement, verbeux, informatifs et d'indication "
+-"de progrès"
++"d'avancées"
+ 
+ #: options_list.hh:688
+-#, fuzzy
+ msgid "show timestamps in front of errors, warnings and progress messages"
+ msgstr ""
+-"supprime les messages d'avertissement, verbeux, informatifs et d'indication "
+-"de progrès"
++"afficher la date devant les erreurs, les avertissements et les messages de "
++"progression"
+ 
+ #: options_list.hh:697
+ msgid "also operate on the contents of any listed directories"
+@@ -7598,21 +7807,21 @@
+ 
+ #: options_list.hh:706
+ msgid "select revision id for operation"
+-msgstr "choisir une révision pour l'opération"
++msgstr "choisir un identifiant de révision pour l'opération"
+ 
+ #: options_list.hh:714
+ msgid "limit search for workspace to specified root"
+ msgstr "limite la recherche d'un espace de travail à la racine donnée"
+ 
+ #: options_list.hh:722
+-#, fuzzy
+ msgid "don't look for a workspace"
+-msgstr "Supprime des fichiers de l'espace de travail"
++msgstr "ne pas chercher un espace de travail"
+ 
+ #: options_list.hh:730
+-#, fuzzy
+ msgid "use the current netsync arguments and options as the future default"
+-msgstr "emploie les arguments actuels comme défauts futurs"
++msgstr ""
++"utiliser les arguments et options courants de netsync comme valeurs par "
++"défaut pour le futur"
+ 
+ #: options_list.hh:739
+ msgid "set ticker style (count|dot|none)"
+@@ -7621,15 +7830,15 @@
+ #: options_list.hh:750
+ #, c-format
+ msgid "argument must be 'none', 'dot', or 'count'"
+-msgstr "l'argument doit être 'none', 'dot' ou 'count'"
++msgstr "l'argument doit être « none », « dot » ou « count »"
+ 
+ #: options_list.hh:754
+ msgid "revision(s) to start logging at"
+-msgstr "révision(s) où commencer l'historique"
++msgstr "révision(s) où commencer la journalisation"
+ 
+ #: options_list.hh:761
+ msgid "revision(s) to stop logging at"
+-msgstr "révision(s) où terminer l'historique"
++msgstr "révision(s) où terminer la journalisation"
+ 
+ #: options_list.hh:769
+ msgid "perform the operations for unknown files from workspace"
+@@ -7639,7 +7848,7 @@
+ # **** Richard stopped here ****
+ #: options_list.hh:778
+ msgid "verbose completion output"
+-msgstr "affiche plus d'information à la fin de l'exécution"
++msgstr "affiche plus d'informations à la fin de l'exécution"
+ 
+ #: options_list.hh:786
+ msgid "print version number, then exit"
+@@ -7647,215 +7856,212 @@
+ 
+ #: options_list.hh:794
+ msgid "insert command line arguments taken from the given file"
+-msgstr "fourre les arguments pris du fichier donné dans la ligne de commande"
++msgstr "ajoute les arguments pris du fichier donné dans la ligne de commande"
+ 
+ #: options_list.hh:807
+-#, fuzzy
+ msgid "don't output ignored files"
+-msgstr "n'ignorer aucun fichier"
++msgstr "ne pas afficher les fichiers ignorés"
+ 
+ #: options_list.hh:815
+-#, fuzzy
+ msgid "don't output unknown files"
+-msgstr "n'ignorer aucun fichier"
++msgstr "ne pas afficher les fichiers inconnus"
+ 
+ #: options_list.hh:823
+ msgid "don't output unchanged files"
+-msgstr ""
++msgstr "ne pas afficher les fichiers inchangés"
+ 
+ #: options_list.hh:831
+ msgid "don't output corresponding renames if restricted on such nodes"
+ msgstr ""
++"ne pas afficher les renommages correspondant si restreints à de tels nœuds"
+ 
+ #: options_list.hh:843
+-#, fuzzy
+ msgid "use file to resolve conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "utiliser ce fichier pour résoudre les conflits"
+ 
+ #: options_list.hh:850 options_list.hh:876
+ #, c-format
+ msgid "conflicts file must be under _MTN"
+-msgstr ""
++msgstr "le fichier des conflits doit se trouver sous _MTN"
+ 
+ #: options_list.hh:856
+-#, fuzzy
+ msgid "use _MTN/conflicts to resolve conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "utiliser _MTN/conflicts pour résoudre les conflits"
+ 
+ #: options_list.hh:860
+ #, c-format
+ msgid ""
+ "only one of --resolve-conflicts or --resolve-conflicts-file may be given"
+ msgstr ""
++"seuls une des deux options --resolve-conflicts ou --resolve-conflicts-file "
++"peut être spécifiée"
+ 
+ #: options_list.hh:869
+-#, fuzzy
+ msgid "file in which to store conflicts"
+-msgstr "la fusion a échoué à cause de conflits irrésolus"
++msgstr "fichier dans lequel enregistrer les conflits"
+ 
+ #: options_list.hh:882
+ msgid "use only one changelog cert for the git commit message"
+-msgstr ""
++msgstr "n'utiliser qu'un certificat de changelog pour le message de commit git"
+ 
+ #: options_list.hh:890
+ msgid "file mapping author names from original to new values"
+ msgstr ""
++"correspondance entre fichier et auteur de l'original vers les nouvelles "
++"valeurs"
+ 
+ #: options_list.hh:898
+ msgid "file mapping branch names from original to new values "
+ msgstr ""
++"correspondance entre fichier et branche de l'original vers les nouvelles "
++"valeurs"
+ 
+ #: options_list.hh:906
+ msgid "include git refs for 'revs', 'roots' or 'leaves'"
+-msgstr ""
++msgstr "inclut les références git pour « revs », « roots » ou « leaves »"
+ 
+ #: options_list.hh:913
+-#, fuzzy, c-format
++#, c-format
+ msgid "git ref type must be 'revs', 'roots', or 'leaves'"
+-msgstr "l'argument doit être 'none', 'dot' ou 'count'"
++msgstr "la référence git doit être « revs », « roots » ou « leaves »"
+ 
+ #: options_list.hh:918
+-#, fuzzy
+ msgid "include revision ids in commit logs"
+-msgstr "le certificat de révision « %s » n'existe pas dans la base de données"
++msgstr "inclut l'identifiant de révision dans les journaux de commit"
+ 
+ #: options_list.hh:926
+ msgid "include standard cert values in commit logs"
+ msgstr ""
++"inclut les valeurs des certificats standards dans les journaux de commit"
+ 
+ #: options_list.hh:934
+ msgid "load the internal marks table before exporting revisions"
+-msgstr ""
++msgstr "charger la table des marques internes avant d'exporter les révisions"
+ 
+ #: options_list.hh:942
+ msgid "save the internal marks table after exporting revisions"
+ msgstr ""
++"enregistrer la table des marques internes avant d'exporter les révisions"
+ 
+ #: safe_map.hh:25
+-#, fuzzy, c-format
++#, c-format
+ msgid "erasing nonexistent key from %s"
+-msgstr "omission du fichier %s qui peut ignoré\n"
++msgstr "suppression de la clef inexistante de %s"
+ 
+ #: safe_map.hh:42 safe_map.hh:62
+-#, fuzzy, c-format
++#, c-format
+ msgid "inserting duplicate entry into %s"
+-msgstr "positionnement de l'adresse par défaut du serveur à %s"
++msgstr "insertion de l'entrée dupliquée dans %s"
+ 
+ #: safe_map.hh:80
+ #, c-format
+ msgid "fetching nonexistent entry from %s"
+-msgstr ""
++msgstr "cherche un enregistrement inexistant de %s"
+ 
+ #: unix/process.cc:63
+-#, fuzzy, c-format
++#, c-format
+ msgid "error getting status of file %s: %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur lors de l'obtention du statut du fichier  %s : %s"
+ 
+ #: unix/process.cc:87
+-#, fuzzy, c-format
++#, c-format
+ msgid "error opening file %s: %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur d'ouverture du fichier %s : %s"
+ 
+ #: unix/process.cc:103
+-#, fuzzy, c-format
++#, c-format
+ msgid "setting execute permission on %s"
+-msgstr "positionnement de l'adresse par défaut du serveur à %s"
++msgstr "positionnement de la permission d'exécution sur %s"
+ 
+ #: unix/process.cc:108
+ #, c-format
+ msgid "clearing execute permission on %s"
+-msgstr ""
++msgstr "suppression de la permission d'exécution sur %s"
+ 
+ #: unix/process.cc:119
+-#, fuzzy, c-format
++#, c-format
+ msgid "error closing file %s: %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur de fermeture du fichier %s : %s"
+ 
+ #: unix/fs.cc:49 win32/fs.cc:26
+-#, fuzzy, c-format
++#, c-format
+ msgid "cannot get working directory: %s"
+-msgstr "impossible de supprimer le dossier non vide « %s »"
++msgstr "impossible de trouver le répertoire de travail : %s"
+ 
+ #: unix/fs.cc:61 win32/fs.cc:42
+-#, fuzzy, c-format
++#, c-format
+ msgid "cannot change to directory %s: %s"
+-msgstr "aucun fichier ou dossier de ce nom : « %s »"
++msgstr "impossible d'aller dans le répertoire %s : %s"
+ 
+ #: unix/fs.cc:83
+-#, fuzzy, c-format
++#, c-format
+ msgid "could not find home directory for uid %d"
+-msgstr "impossible de créer le dossier « %s »"
++msgstr "impossible de trouver le répertoire personnel de l'uid %d"
+ 
+ #: unix/fs.cc:116
+-#, fuzzy, c-format
++#, c-format
+ msgid "could not find home directory for user %s"
+-msgstr ""
+-"impossible de créer le dossier « %s »\n"
+-"%s"
++msgstr "impossible de trouver le répertoire personnel de l'utilisateur %s"
+ 
+ #: unix/fs.cc:134
+-#, fuzzy, c-format
++#, c-format
+ msgid "error accessing file %s: %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur lors de l'accès au fichier %s : %s"
+ 
+ #: unix/fs.cc:143
+-#, fuzzy, c-format
++#, c-format
+ msgid "cannot handle special file %s"
+-msgstr "le rôle donné %d est inconnu"
++msgstr "ne peut manipuler le fichier spécial %s"
+ 
+ #: unix/fs.cc:159 win32/fs.cc:172
+-#, fuzzy, c-format
++#, c-format
+ msgid "could not open directory '%s': %s"
+-msgstr ""
+-"impossible de créer le dossier « %s »\n"
+-"%s"
++msgstr "impossible d'ouvrir le répertoire %s : %s"
+ 
+ #: unix/fs.cc:250
+-#, fuzzy, c-format
++#, c-format
+ msgid "error accessing '%s/%s': %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur lors de l'accès de « %s/%s » : %s"
+ 
+ #: unix/fs.cc:272
+ #, c-format
+ msgid "stat(%s) failed: %s"
+-msgstr ""
++msgstr "Échec de stat(%s) : %s"
+ 
+ #: unix/fs.cc:284
+-#, fuzzy, c-format
++#, c-format
+ msgid "chmod(%s) failed: %s"
+-msgstr "la vérification de « %s » a échoué"
++msgstr "Échec de chmod( %s) : %s"
+ 
+ #: unix/fs.cc:295
+-#, fuzzy, c-format
++#, c-format
+ msgid "renaming '%s' to '%s' failed: %s"
+-msgstr "renommage de %s en %s"
++msgstr "Échec du renommage de %s en %s : %s"
+ 
+ #: unix/fs.cc:308 unix/fs.cc:363 win32/fs.cc:248
+ #, c-format
+ msgid "could not remove '%s': %s"
+-msgstr "impossible de supprimer « %s »: %s"
++msgstr "impossible de supprimer « %s » : %s"
+ 
+ #: unix/fs.cc:390 win32/fs.cc:303
+-#, fuzzy, c-format
++#, c-format
+ msgid "could not create directory '%s': %s"
+-msgstr ""
+-"impossible de créer le dossier « %s »\n"
+-"%s"
++msgstr "impossible de créer le répertoire « %s » : %s"
+ 
+ #: unix/fs.cc:456 win32/fs.cc:451
+-#, fuzzy, c-format
++#, c-format
+ msgid "cannot create temp file %s: %s"
+-msgstr "impossible de créer %s car ceci existe déjà"
++msgstr "impossible de créer le ficher temporaire %s : %s"
+ 
+ #: unix/fs.cc:466
+ #, c-format
+ msgid "all %d possible temporary file names are in use"
+-msgstr "Les %d noms de fichier temporaire sont déjà utilisés"
++msgstr "Les %d noms de fichier temporaires sont déjà utilisés"
+ 
+ #: unix/fs.cc:507 win32/fs.cc:512
+-#, fuzzy, c-format
++#, c-format
+ msgid "error writing to temp file %s: %s"
+-msgstr "erreur lors de la lecture du fichier RCS « %s » : %s"
++msgstr "erreur lors de l'écriture dans le fichier temporaire « %s » : %s"
+ 
+ #: unix/fs.cc:512 win32/fs.cc:519
+ #, c-format
+@@ -7864,68 +8070,72 @@
+ msgid_plural ""
+ "giving up after four zero-length writes to %s (%d bytes written, %d left)"
+ msgstr[0] ""
++"abandon après quatre écritures de longueur zéro sur %s (%d octet écrit, %d "
++"laissés)"
+ msgstr[1] ""
++"abandon après quatre écritures de longueur zéro sur %s (%d octets écrits, %d "
++"laissés)"
+ 
+ #: unix/os_strerror.cc:21 win32/os_strerror.cc:27
+-#, fuzzy, c-format
++#, c-format
+ msgid "unknown error code %d"
+-msgstr "code de commande netcmd inconnu 0x%x"
++msgstr "code d'erreur inconnu %d"
+ 
+ #: unix/ssh_agent_platform.cc:48
+-#, fuzzy, c-format
++#, c-format
+ msgid "ssh_agent: failed to create a socket: %s"
+-msgstr "impossible de créer le fichier pid « %s »"
++msgstr "ssh_agent : échec de la création de la socket : %s"
+ 
+ #: unix/ssh_agent_platform.cc:55
+ #, c-format
+ msgid "ssh_agent: failed to set socket as close-on-exec: %s"
+-msgstr ""
++msgstr "ssh_agent : échec du positionnement de la socket en close-on-exec : %s"
+ 
+ #: unix/ssh_agent_platform.cc:67
+-#, fuzzy, c-format
++#, c-format
+ msgid "ssh_agent: failed to connect to agent: %s"
+-msgstr ""
+-"ssh-agent : connect : impossible de se connecter au socket vers ssh-agent"
++msgstr "ssh_agent : échec de la connexion à l'agent : %s"
+ 
+ #: unix/ssh_agent_platform.cc:99
+ #, c-format
+ msgid "ssh_agent: error during send: %s"
+-msgstr ""
++msgstr "ssh_agent : erreur lors de l'envoi : %s"
+ 
+ #: unix/ssh_agent_platform.cc:102
+ #, c-format
+ msgid "ssh_agent: giving up after %d ineffective sends to agent"
+-msgstr ""
++msgstr "ssh_agent : abandon après %d essais infructueux d'envoi à l'agent "
+ 
+ #: unix/ssh_agent_platform.cc:109
+-#, fuzzy, c-format
++#, c-format
+ msgid "ssh_agent: sent %u extra bytes to agent"
+-msgstr "%u octets supplémentaires venant de ssh-agent"
++msgstr "ssh_agent : envoi de %u octets supplémentaires à l'agent"
+ 
+ #: unix/ssh_agent_platform.cc:129
+ #, c-format
+ msgid "ssh_agent: error during receive: %s"
+-msgstr ""
++msgstr "ssh_agent : erreur lors de la réception : %s"
+ 
+ #: unix/ssh_agent_platform.cc:132
+ #, c-format
+ msgid "ssh_agent: giving up after %d ineffective receives from agent"
+ msgstr ""
++"ssh_agent : abandon après %d essais infructueux de réception de l'agent"
+ 
+ #: unix/ssh_agent_platform.cc:138
+-#, fuzzy, c-format
++#, c-format
+ msgid "ssh_agent: received %u extra bytes from agent"
+-msgstr "%u octets supplémentaires venant de ssh-agent"
++msgstr "ssh_agent : reçu %u octets supplémentaires venant de l'agent"
+ 
+ #: unix/parse_date.cc:21
+-#, fuzzy, c-format
++#, c-format
+ msgid "unable to parse date '%s' with format '%s'"
+-msgstr "échou de comprendre la date « %s » : %s"
++msgstr "incapable d'analyser la date « %s » de format « %s »"
+ 
+ #: unix/parse_date.cc:24
+ #, c-format
+ msgid "invalid date '%s' not matched by format '%s'"
+-msgstr ""
++msgstr "date « %s » invalide ne correspondant pas au format « %s »"
+ 
+ #: win32/get_system_flavour.cc:161
+ #, c-format
+@@ -7938,39 +8148,43 @@
+ msgstr "Windows %s (%d.%d, build %d, %s) sur %s"
+ 
+ #: win32/fs.cc:59
+-#, fuzzy, c-format
++#, c-format
+ msgid "could not determine configuration path"
+-msgstr "impossible de déterminer la branche pour la mise à jour"
++msgstr "impossible de déterminer le chemin de configuration"
+ 
+ #: win32/fs.cc:144
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s: GetFileAttributes error: %s"
+-msgstr "pas d'attributs pour « %s »"
++msgstr "%s : erreur de GetFileAttributes : %s"
+ 
+ #: win32/fs.cc:194
+ #, fuzzy, c-format
+ msgid "error while reading directory: %s"
+-msgstr "aucun fichier ou dossier de ce nom : « %s »"
++msgstr "erreur lors de la lecture du répertoire : « %s »"
+ 
+ #: win32/fs.cc:291
+ #, c-format
+ msgid "could not remove '%s' and contents: SHFileOperation error code 0x%x"
+ msgstr ""
++"impossible de supprimer « %s » et les contenus : code d'erreur de "
++"SHFileOperation 0x%x"
+ 
+ #: win32/fs.cc:294
+ #, c-format
+ msgid "could not remove '%s' and contents: SHFileOperation partially aborted"
+ msgstr ""
++"impossible de supprimer « %s » et les contenus : SHFileOperation "
++"partiellement abandonné"
+ 
+ #: win32/fs.cc:359
+-#, fuzzy, c-format
++#, c-format
+ msgid "GetFileAttributes(%s) failed: %s"
+-msgstr "pas d'attributs pour « %s »"
++msgstr "Échec de GetFileAttributes(%s) : %s"
+ 
+ #: win32/fs.cc:364
+ #, fuzzy, c-format
+ msgid "SetFileAttributes(%s) failed: %s"
+-msgstr "pas d'attributs pour « %s »"
++msgstr "Échec de SetFileAttributes(%s) : %s"
+ 
+ #: win32/fs.cc:390
+ #, c-format
+@@ -7990,67 +8204,74 @@
+ #: win32/ssh_agent_platform.cc:82
+ #, c-format
+ msgid "Asked to write more than %u to pageant."
+-msgstr ""
++msgstr "Demandé d'écrire plus que %u à pageant."
+ 
+ #: win32/ssh_agent_platform.cc:91
+ #, c-format
+ msgid "Error sending message to pageant (%d)."
+-msgstr ""
++msgstr "Erreur d'envoi de message à pageant (%d)."
+ 
+ #: win32/ssh_agent_platform.cc:105
+ #, c-format
+ msgid "Asked to read more than %u from pageant."
+-msgstr ""
++msgstr "Demandé de lire plus que %u de pageant."
+ 
+-#: win32/parse_date.cc:19
++#: win32/parse_date.cc:21
+ #, c-format
+ msgid "date parsing not available on win32"
+-msgstr ""
++msgstr "analyse de date indisponible sous win32"
+ 
+ #: monotone.cc:126
+ #, c-format
+ msgid "std::terminate() - exception thrown while handling another exception"
+ msgstr ""
++"std::terminate() - exception levée lors de la gestion d'une autre exception"
+ 
+ #: monotone.cc:186
+ #, c-format
+ msgid "This monotone binary requires at least SQLite 3.3.8 to run."
+-msgstr ""
++msgstr "Ce binaire de monotone requiert au moins SQLite 3.3.8 pour s'exécuter."
+ 
+ #: monotone.cc:189
+ #, c-format
+ msgid "This monotone binary requires at least SQLite 3.3.14 to run."
+ msgstr ""
++"Ce binaire de monotone requiert au moins SQLite 3.3.14 pour s'exécuter."
+ 
+ #: monotone.cc:200
+ #, c-format
+ msgid "Monotone does not support Botan 1.7.14."
+-msgstr ""
++msgstr "Monotone ne gère pas Botan 1.7.14"
+ 
+ #: monotone.cc:204
+ #, c-format
+ msgid "This monotone binary requires Botan 1.6.3 or newer."
+ msgstr ""
++"Ce binaire de monotone requiert une version de Botan au moins égale à 1.6.3."
+ 
+ #: monotone.cc:206
+ #, c-format
+ msgid "This monotone binary does not work with Botan newer than 1.7.6."
+ msgstr ""
++"Ce binaire de monotone ne fonctionne pas avec une version de Botan plus "
++"récente que 1.7.6."
+ 
+ #: monotone.cc:209
+ #, c-format
+ msgid "This monotone binary requires Botan 1.7.7 or newer."
+ msgstr ""
++"Ce binaire de monotone requiert une version de Botan au moins égale à 1.7.7."
+ 
+ #: monotone.cc:215 monotone.cc:220
+ #, c-format
+ msgid "This monotone binary does not work with Botan 1.9.x."
+ msgstr ""
++"Ce binaire de monotone ne fonctionne pas avec les versions 1.9.x de Botan."
+ 
+ #: monotone.cc:218
+ #, c-format
+ msgid "This monotone binary requires Botan 1.7.22 or newer."
+-msgstr ""
++msgstr "Ce binaire de monotone requiert une version au moins égale à 1.7.22."
+ 
+ #: std_hooks.lua:56
+ msgid "Press enter"
+@@ -8060,1037 +8281,5 @@
+ msgid "Press enter when the subprocess has completed"
+ msgstr "Appuyez sur [Entrée] quand le sous-processus s'est terminé"
+ 
+-#~ msgid "Deleted entries:"
+-#~ msgstr "Entrées supprimées :"
+-
+-#~ msgid "Renamed entries:"
+-#~ msgstr "Entrées renommées :"
+-
+-#~ msgid "Added files:"
+-#~ msgstr "Fichiers ajoutés :"
+-
+-#~ msgid "Added directories:"
+-#~ msgstr "Dossiers ajoutés :"
+-
+-#~ msgid "Modified files:"
+-#~ msgstr "Fichiers modifiés :"
+-
+-#~ msgid "Modified attrs:"
+-#~ msgstr "Attributs modifiés :"
+-
+-#, fuzzy
+-#~ msgid "Current revision: %s"
+-#~ msgstr "Branche actuelle : %s"
+-
+-#~ msgid "Current branch: %s"
+-#~ msgstr "Branche actuelle : %s"
+-
+-#~ msgid "  no changes"
+-#~ msgstr "  aucun changement"
+-
+-#~ msgid ""
+-#~ "  unset on %s\n"
+-#~ "      attr %s"
+-#~ msgstr ""
+-#~ "  détaché  %s\n"
+-#~ "     attr  %s"
+-
+-#~ msgid ""
+-#~ "Enter a description of this change.\n"
+-#~ "Lines beginning with `MTN:' are removed automatically."
+-#~ msgstr ""
+-#~ "Saisissez une description pour ce changement.\n"
+-#~ "Les lignes commençant par « MTN: » sont supprimées automatiquement."
+-
+-#~ msgid "failed to remove magic line; commit cancelled"
+-#~ msgstr "impossible de supprimer la ligne magique ; commit annulé"
+-
+-#~ msgid "trust function disliked %d signers of %s cert on manifest %s"
+-#~ msgstr ""
+-#~ "la fonction de confiance n'a pas aimé %d signataires du certificat %s "
+-#~ "dans le manifeste %s"
+-
+-#~ msgid "[FILE] ..."
+-#~ msgstr "[FICHIER] ..."
+-
+-#~ msgid "KEYID"
+-#~ msgstr "ID_CLEF"
+-
+-#~ msgid "Mismatched Key: %s"
+-#~ msgstr "Clefs dépareillées: %s"
+-
+-#~ msgid "key '%s' is not equal to key '%s' in database"
+-#~ msgstr ""
+-#~ "la clef « %s » n'est pas égale à la clef « %s » dans la base de données"
+-
+-#, fuzzy
+-#~ msgid "cannot handle special files in dir '%s'"
+-#~ msgstr "le rôle donné %d est inconnu"
+-
+-#~ msgid "Options specific to '%s %s':"
+-#~ msgstr "Options spécifiques à « %s %s » :"
+-
+-#~ msgid ""
+-#~ "Running on          : %s\n"
+-#~ "C++ compiler        : %s\n"
+-#~ "C++ standard library: %s\n"
+-#~ "Boost version       : %s\n"
+-#~ "Changes since base revision:\n"
+-#~ "%s"
+-#~ msgstr ""
+-#~ "Lancé sur                 : %s\n"
+-#~ "Compilateur C++           : %s\n"
+-#~ "Bibliothèque standard C++ : %s\n"
+-#~ "Version de Boost          : %s\n"
+-#~ "Changements depuis la révision de base :\n"
+-#~ "%s"
+-
+-#~ msgid "rejected attempt at anonymous connection while running as sink"
+-#~ msgstr ""
+-#~ "rejet d'une tentative de connexion anonyme pendant une exécution en mode "
+-#~ "puits"
+-
+-#~ msgid ""
+-#~ "denied '%s' read permission for '%s' excluding '%s' while running as pure "
+-#~ "sink"
+-#~ msgstr ""
+-#~ "permission de lecture refusée à « %s » pour « %s » en excluant « %s » "
+-#~ "pendant une exécution en mode puits pur"
+-
+-#~ msgid ""
+-#~ "denied '%s' write permission for '%s' excluding '%s' while running as "
+-#~ "pure source"
+-#~ msgstr ""
+-#~ "permission d'écriture refusée à « %s » pour « %s » en excluant « %s » "
+-#~ "pendant une exécution en mode source pure"
+-
+-#~ msgid "input buffer for peer %s is overfull after netcmd dispatch"
+-#~ msgstr ""
+-#~ "le tampon d'entrée pour le pair %s est en dépassement de capacité après "
+-#~ "netcmd"
+-
+-#~ msgid "set key for signatures"
+-#~ msgstr "choix de la clef utilisée pour signer"
+-
+-#~ msgid "%s:%d: invariant '%s' violated"
+-#~ msgstr "%s:%d : violation de l'invariant « %s »"
+-
+-#~ msgid ""
+-#~ "NOTE: this upgrade cleared monotone's caches\n"
+-#~ "you should now run '%s db regenerate_caches'"
+-#~ msgstr ""
+-#~ "NOTE: cette mise à jour à nettoyé les caches de monotone.  Vous\n"
+-#~ "devriez lancer « %s db regenerate_caches » maintenant."
+-
+-#~ msgid "ssh_agent: connect: could not open socket to ssh-agent"
+-#~ msgstr "ssh_agent : connect : impossible d'ouvrir le socket vers ssh-agent"
+-
+-#~ msgid "ssh_agent: connect: could not set up socket for ssh-agent"
+-#~ msgstr "ssh_agent : connect : impossible de créer le socket vers ssh-agent"
+-
+-#~ msgid "modifying %s"
+-#~ msgstr "modification de %s"
+-
+-#, fuzzy
+-#~ msgid "Gets a database variable"
+-#~ msgstr "%s (la base de donnée n'a pas de tables !)"
+-
+-#~ msgid "no revision for file '%s' in database"
+-#~ msgstr "aucune révision pour le fichier « %s » dans la base de données"
+-
+-#~ msgid "key '%s' does not exist in the keystore"
+-#~ msgstr "la clef « %s » n'existe pas dans l'entrepôt de clefs"
+-
+-#~ msgid "the key you specified cannot be found"
+-#~ msgstr "la clef que vous avez spécifiée n'a pu être trouvée"
+-
+-#~ msgid "[source] %s"
+-#~ msgstr "[source] %s"
+-
+-#~ msgid "[target] %s"
+-#~ msgstr "[cible] %s"
+-
+-#~ msgid "There are %s node_name_conflicts."
+-#~ msgstr "Il y a %s node_name_conflicts."
+-
+-#~ msgid "There are %s file_content_conflicts."
+-#~ msgstr "Il y a %s file_content_conflicts."
+-
+-#~ msgid "There are %s node_attr_conflicts."
+-#~ msgstr "Il y a %s node_attr_conflicts."
+-
+-#~ msgid "There are %s orphaned_node_conflicts."
+-#~ msgstr "Il y a %s orphaned_node_conflicts."
+-
+-#~ msgid "There are %s rename_target_conflicts."
+-#~ msgstr "Il y a %s rename_target_conflicts."
+-
+-#~ msgid "There are %s directory_loop_conflicts."
+-#~ msgstr "Il y a %s directory_loop_conflicts."
+-
+-#~ msgid ""
+-#~ "You gave a database option of: \n"
+-#~ "%s\n"
+-#~ "That is actually a workspace.  Did you mean: \n"
+-#~ "%s"
+-#~ msgstr ""
+-#~ "vous avez donné le nom de base de données suivant :\n"
+-#~ "%s\n"
+-#~ "c'est en réalité un espace de travail, souhaitiez vous donner :\n"
+-#~ "%s"
+-
+-#~ msgid "caught runtime error %s constructing file path for %s"
+-#~ msgstr ""
+-#~ "une erreur d'exécution %s est survenue pendant la construction du chemin "
+-#~ "de fichier pour « %s »"
+-
+-#~ msgid "got empty passphrase from get_passphrase() hook"
+-#~ msgstr "la phrase de passe obtenue par get_passphrase() est vide"
+-
+-#~ msgid "passphrase for '%s' is incorrect"
+-#~ msgstr "la phrase de passe pour « %s » est incorrecte"
+-
+-#~ msgid "resolve non-content conflicts and then try again."
+-#~ msgstr "résolvez les conflits ne concernant pas le contenu et réessayez"
+-
+-#~ msgid "remote public key hash '%s' is unknown"
+-#~ msgstr "l'empreinte « %s » de la clef publique distante est inconnue"
+-
+-#~ msgid "protocol error while processing peer %s: '%s', marking as bad"
+-#~ msgstr ""
+-#~ "erreur de protocole en communiquant avec le pair %s: « %s », marqué comme "
+-#~ "erroné"
+-
+-#~ msgid "protocol error while processing peer %s: '%s', disconnecting"
+-#~ msgstr ""
+-#~ "erreur de protocole en communiquant avec le pair %s: « %s », déconnexion"
+-
+-#~ msgid "peer %s write failed in working state (error)"
+-#~ msgstr "pair %s échec d'écriture en état de travail (erreur)"
+-
+-#~ msgid ""
+-#~ "peer %s write failed in shutdown state (possibly client misreported error)"
+-#~ msgstr ""
+-#~ "pair %s échec d'écriture en état de mise à l'arrêt (erreur peut-être "
+-#~ "reportée à tord par le client)"
+-
+-#~ msgid "peer %s write failed in confirmed state (success)"
+-#~ msgstr "pair %s échec d'écriture en état confirmé (erreur)"
+-
+-#~ msgid "peer %s processing finished, disconnecting"
+-#~ msgstr "traitement du pair %s terminé, déconnexion"
+-
+-#~ msgid "got some OOB data on fd %d (peer %s), disconnecting"
+-#~ msgstr "reçu des données hors-bande sur le fd %d (pair %s), déconnexion"
+-
+-#~ msgid "Path %s added to child roster multiple times"
+-#~ msgstr "Le chemin %s a été ajouté à la liste fille plusieurs fois"
+-
+-#~ msgid "The URI syntax is invalid. Maybe you used an URI in scp-style?"
+-#~ msgstr ""
+-#~ "Cette syntaxe d'URI n'est pas valide.\n"
+-#~ "Peut-être avez-vous utilisé une URI en style scp ?"
+-
+-#~ msgid "bad character '%c' in ace string '%s'"
+-#~ msgstr "caractère invalide « %c » dans la chaîne ace « %s »"
+-
+-#~ msgid "destination name %s already exists as an unversioned directory"
+-#~ msgstr ""
+-#~ "le chemin de destination « %s » existe déjà en tant que dossier non suivi"
+-
+-#~ msgid "destination dir %s/ is not versioned (perhaps add it?)"
+-#~ msgstr "le dossier de destination « %s/ » n'est pas suivi (l'ajouter ?)"
+-
+-#~ msgid "destination %s is an existing file in current revision"
+-#~ msgstr ""
+-#~ "la destination « %s » est un fichier qui existe dans la révision actuelle"
+-
+-#~ msgid "destination directory %s does not exist in current manifest"
+-#~ msgstr ""
+-#~ "le dossier de destination « %s » n'existe pas dans le manifeste actuel"
+-
+-#~ msgid ""
+-#~ "skipping move_path in filesystem %s->%s, source doesn't exist, "
+-#~ "destination does"
+-#~ msgstr ""
+-#~ "saut de l'étape move_path dans le système de fichiers %s -> %s, la source "
+-#~ "n'existe pas et la destination existe"
+-
+-#~ msgid "debug"
+-#~ msgstr "débogue"
+-
+-#~ msgid "FILE"
+-#~ msgstr "FICHIER"
+-
+-#~ msgid "automation"
+-#~ msgstr "automatisation"
+-
+-#~ msgid "database"
+-#~ msgstr "base de données"
+-
+-#~ msgid ""
+-#~ "init\n"
+-#~ "info\n"
+-#~ "version\n"
+-#~ "dump\n"
+-#~ "load\n"
+-#~ "migrate\n"
+-#~ "execute\n"
+-#~ "kill_rev_locally ID\n"
+-#~ "kill_branch_certs_locally BRANCH\n"
+-#~ "kill_tag_locally TAG\n"
+-#~ "check\n"
+-#~ "changesetify\n"
+-#~ "rosterify\n"
+-#~ "regenerate_caches\n"
+-#~ "set_epoch BRANCH EPOCH\n"
+-#~ msgstr ""
+-#~ "init\n"
+-#~ "info\n"
+-#~ "version\n"
+-#~ "dump\n"
+-#~ "load\n"
+-#~ "migrate\n"
+-#~ "execute\n"
+-#~ "kill_rev_locally ID\n"
+-#~ "kill_branch_certs_locally BRANCHE\n"
+-#~ "kill_tag_locally ÉTIQUETTE\n"
+-#~ "check\n"
+-#~ "changesetify\n"
+-#~ "rosterify\n"
+-#~ "regenerate_caches\n"
+-#~ "set_epoch BRANCHE ÉPOQUE\n"
+-
+-#~ msgid "vars"
+-#~ msgstr "variables"
+-
+-#~ msgid "set the database variable NAME to VALUE, in domain DOMAIN"
+-#~ msgstr ""
+-#~ "établir la variable NOM de la base de données dans le domaine DOMAINE "
+-#~ "avec la valeur VALEUR"
+-
+-#~ msgid "remove the database variable NAME in domain DOMAIN"
+-#~ msgstr ""
+-#~ "supprimer la variable NOM de la base de données dans le domaine DOMAINE"
+-
+-#~ msgid "informative"
+-#~ msgstr "information"
+-
+-#~ msgid "key and cert"
+-#~ msgstr "clef et certificats"
+-
+-#~ msgid "review"
+-#~ msgstr "examen"
+-
+-#~ msgid ""
+-#~ "certs ID\n"
+-#~ "keys [PATTERN]\n"
+-#~ "branches [PATTERN]\n"
+-#~ "epochs [BRANCH [...]]\n"
+-#~ "tags\n"
+-#~ "vars [DOMAIN]\n"
+-#~ "known\n"
+-#~ "unknown\n"
+-#~ "ignored\n"
+-#~ "missing\n"
+-#~ "changed"
+-#~ msgstr ""
+-#~ "certs ID\n"
+-#~ "keys [MOTIF]\n"
+-#~ "branches [MOTIF]\n"
+-#~ "epochs [BRANCHE [...]]\n"
+-#~ "tags\n"
+-#~ "vars [DOMAINE]\n"
+-#~ "known\n"
+-#~ "unknown\n"
+-#~ "ignored\n"
+-#~ "missing\n"
+-#~ "changed"
+-
+-#~ msgid "workspace"
+-#~ msgstr "espace de travail"
+-
+-#~ msgid "tree"
+-#~ msgstr "arborescence"
+-
+-#~ msgid "network"
+-#~ msgstr "réseau"
+-
+-#~ msgid "rcs"
+-#~ msgstr "rcs"
+-
+-#~ msgid "packet i/o"
+-#~ msgstr "e/s de paquets"
+-
+-#~ msgid "revert file(s), dir(s) or entire workspace (\".\")"
+-#~ msgstr ""
+-#~ "rétablit les fichiers, dossiers ou l'espace de travail en entier « . »"
+-
+-#~ msgid "show status of workspace"
+-#~ msgstr "affiche l'état de l'espace de travail"
+-
+-#~ msgid ""
+-#~ "set PATH ATTR VALUE\n"
+-#~ "get PATH [ATTR]\n"
+-#~ "drop PATH [ATTR]"
+-#~ msgstr ""
+-#~ "set CHEMIN ATTR VALEUR\n"
+-#~ "get CHEMIN [ATTR]\n"
+-#~ "drop CHEMIN [ATTR]"
+-
+-#~ msgid "command '%s' has multiple ambiguous expansions:"
+-#~ msgstr "la commande « %s » possède plusieurs expansions ambiguës :"
+-
+-#~ msgid "display command help"
+-#~ msgstr "afficher l'aide de la commande"
+-
+-#~ msgid "cannot open file %s for writing"
+-#~ msgstr "impossible d'ouvrir le fichier « %s » pour l'écrire"
+-
+-#~ msgid "non-hex digits in id"
+-#~ msgstr "chiffre non hexadécimal dans l'id"
+-
+-#~ msgid "expanded partial id '%s' to '%s'"
+-#~ msgstr "expansion de l'identifiant partiel « %s » en « %s »"
+-
+-#~ msgid "revision %s already present in the database, skipping"
+-#~ msgstr ""
+-#~ "la révision %s est déjà présente dans la base de données, rien à faire"
+-
+-#~ msgid "another key with name '%s' already exists"
+-#~ msgstr "une autre clef nommée « %s » existe déjà"
+-
+-#~ msgid "no file %s found in database for %s"
+-#~ msgstr "aucun fichier « %s » trouvé dans la base de données pour %s"
+-
+-#~ msgid "empty passphrase not allowed"
+-#~ msgstr "la phrase de passe ne doit pas être vide"
+-
+-#~ msgid "empty passphrases not allowed, try again"
+-#~ msgstr "la phrase de passe ne doit pas être vide, essayez de nouveau"
+-
+-#~ msgid "no passphrase given"
+-#~ msgstr "aucune phrase de passe fournie"
+-
+-#~ msgid "uleb128 decode for '%s' into %d-byte datum overflowed"
+-#~ msgstr "décodage uleb128 de « %s » en donnée de %d octets a débordé"
+-
+-#~ msgid "perform the associated file operation"
+-#~ msgstr "accomplis les opérations sur les fichiers associés"
+-
+-#~ msgid "path '%s' already exists, cannot create"
+-#~ msgstr "le chemin « %s » existe déjà, ne peux pas le créer"
+-
+-#~ msgid "unable to probe database version in file %s"
+-#~ msgstr "le sondage de la version de la base de données dans « %s » a échouée"
+-
+-#~ msgid "database %s is not an sqlite version 3 file, try dump and reload"
+-#~ msgstr ""
+-#~ "la base de données %s n'est pas un fichier sqlite version 3, essayer dump "
+-#~ "puis reload"
+-
+-#~ msgid "could not initialize database: %s: already exists"
+-#~ msgstr "impossible d'initialiser la base de données : %s : elle existe déjà"
+-
+-#~ msgid "mismatched result of migration, got %s, wanted %s"
+-#~ msgstr "discordance de résultats de la migration, reçu %s, voulais %s"
+-
+-#~ msgid "failure on COMMIT"
+-#~ msgstr "COMMIT échoué"
+-
+-#~ msgid "error running analyze after migration"
+-#~ msgstr "erreur en analysant après la migration"
+-
+-#~ msgid "database schema %s is unknown; cannot perform migration"
+-#~ msgstr ""
+-#~ "le schéma de la base de données %s est inconnu ; impossible d'effectuer "
+-#~ "la migration"
+-
+-#, fuzzy
+-#~ msgid "missing %s"
+-#~ msgstr "modification de %s"
+-
+-#~ msgid "read from client failed with error code: %d"
+-#~ msgstr "la lecture depuis le client a échoué avec le code d'erreur : %d"
+-
+-#~ msgid "PATTERN ..."
+-#~ msgstr "CHEMIN ..."
+-
+-#~ msgid "not serving branch '%s'"
+-#~ msgstr "la branche « %s » n'est pas servie"
+-
+-#~ msgid "negative depth not allowed\n"
+-#~ msgstr "profondeur négative interdite\n"
+-
+-#~ msgid "illegal argument to --next: cannot be zero or negative\n"
+-#~ msgstr "argument illégal à --next : il ne pas être nul ou négatif\n"
+-
+-#~ msgid ""
+-#~ "illegal argument to --automate-stdio-size: cannot be zero or negative\n"
+-#~ msgstr ""
+-#~ "argument illégal à --automate-stdio-size : il ne doit pas être nul ou "
+-#~ "négatif\n"
+-
+-#~ msgid "[DIRECTORY]\n"
+-#~ msgstr "[DOSSIER]\n"
+-
+-#~ msgid "%s:\n"
+-#~ msgstr "%s :\n"
+-
+-#~ msgid "calculating rosters to regenerate"
+-#~ msgstr "calcul des listes à régénérer"
+-
+-#~ msgid "option %s doesn't exist"
+-#~ msgstr "l'option %s n'existe pas"
+-
+-#, fuzzy
+-#~ msgid "roster %s is not parseable (perhaps with unnormalized paths?)"
+-#~ msgstr ""
+-#~ "liste %s n'est pas analysable (peut-être y-a-t'il des chemins non "
+-#~ "normalisé?)\n"
+-
+-#, fuzzy
+-#~ msgid "revision %s incomplete (missing roster link)"
+-#~ msgstr "révision %s incomplète (le lien à la liste manque)\n"
+-
+-#, fuzzy
+-#~ msgid "%d rosters not parseable (perhaps with invalid paths)"
+-#~ msgstr ""
+-#~ "%d listes non analysable (peut-être ont-ils des chemins pas valable?)\n"
+-
+-#~ msgid "%d rosters not in normalized form"
+-#~ msgstr "%d listes pas en forme normalisée"
+-
+-#~ msgid "%d unreferenced roster links"
+-#~ msgstr "%d liens à liste non-référencés"
+-
+-#~ msgid "Problem with workspace: %s is unreadable"
+-#~ msgstr "Problème avec l'espace de travail: %s n'est pas lisible"
+-
+-#~ msgid "need --branch argument for branch-based checkout"
+-#~ msgstr "il faut un argument --branch pour récupérer basé sur une branche"
+-
+-#~ msgid "problem parsing arguments from file %s: %s"
+-#~ msgstr "erreur lors de l'analyse d'arguments venant du fichier %s : %s"
+-
+-#~ msgid "weird error when stuffing arguments read from %s: %s\n"
+-#~ msgstr "erreur bizarre en employant des arguments lu de %s: %s\n"
+-
+-#~ msgid "%s %s doesn't use the option %s"
+-#~ msgstr "%s %s n'utilise pas l'option %s"
+-
+-#~ msgid "interrupted"
+-#~ msgstr "interrompu"
+-
+-#~ msgid "terminated by signal"
+-#~ msgstr "terminé par un signal"
+-
+-#, fuzzy
+-#~ msgid "starting with revision 1 / %d"
+-#~ msgstr "en commencent avec la révision 1 / %d\n"
+-
+-#, fuzzy
+-#~ msgid "merging with revision %d / %d"
+-#~ msgstr "fusionnent avec la révision %d / %d\n"
+-
+-#~ msgid "access to branch '%s' denied by server"
+-#~ msgstr "accès à la branche « %s » refusé par le serveur"
+-
+-#~ msgid "negative or zero last not allowed\n"
+-#~ msgstr "« last » négative ou zéro interdite\n"
+-
+-#~ msgid "negative or zero next not allowed\n"
+-#~ msgstr "« next » négative ou zéro interdite\n"
+-
+-#~ msgid "branch '%s' is empty\n"
+-#~ msgstr "la branche « %s » est vide\n"
+-
+-#~ msgid "Unknown file '%s' for log command"
+-#~ msgstr "Fichier « %s » inconnu donnée à la commande log"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "interface_version\n"
+-#~ "heads [BRANCH]\n"
+-#~ "ancestors REV1 [REV2 [REV3 [...]]]\n"
+-#~ "attributes [FILE]\n"
+-#~ "parents REV\n"
+-#~ "descendents REV1 [REV2 [REV3 [...]]]\n"
+-#~ "children REV\n"
+-#~ "graph\n"
+-#~ "erase_ancestors [REV1 [REV2 [REV3 [...]]]]\n"
+-#~ "toposort [REV1 [REV2 [REV3 [...]]]]\n"
+-#~ "ancestry_difference NEW_REV [OLD_REV1 [OLD_REV2 [...]]]\n"
+-#~ "leaves\n"
+-#~ "inventory\n"
+-#~ "stdio\n"
+-#~ "certs REV\n"
+-#~ "select SELECTOR\n"
+-#~ "get_file FILEID\n"
+-#~ "get_manifest_of [REVID]\n"
+-#~ "get_revision [REVID]\n"
+-#~ "packet_for_rdata REVID\n"
+-#~ "packets_for_certs REVID\n"
+-#~ "packet_for_fdata FILEID\n"
+-#~ "packet_for_fdelta OLD_FILE NEW_FILE\n"
+-#~ "keys\n"
+-#~ msgstr ""
+-#~ "interface_version\n"
+-#~ "heads [BRANCHE]\n"
+-#~ "ancestors RÉV1 [RÉV2 [RÉV3 [...]]]\n"
+-#~ "attributes [FICHIER]\n"
+-#~ "parents RÉV\n"
+-#~ "descendents RÉV1 [RÉV2 [RÉV3 [...]]]\n"
+-#~ "children RÉV\n"
+-#~ "graph\n"
+-#~ "erase_ancestors [RÉV1 [RÉV2 [RÉV3 [...]]]]\n"
+-#~ "toposort [RÉV1 [RÉV2 [RÉV3 [...]]]]\n"
+-#~ "ancestry_difference NOUVELLE_RÉV [ANCIENNE_RÉV1 [ANCIENNE_RÉV2 [...]]]\n"
+-#~ "leaves\n"
+-#~ "inventory\n"
+-#~ "stdio\n"
+-#~ "certs RÉV\n"
+-#~ "select SELECTEUR\n"
+-#~ "get_file ID_FICHIER\n"
+-#~ "get_manifest_of [ID_RÉV]\n"
+-#~ "get_revision [ID_RÉV]\n"
+-#~ "keys\n"
+-
+-#~ msgid ""
+-#~ "sqlite error: %d: %s\n"
+-#~ "%s"
+-#~ msgstr ""
+-#~ "erreur sqlite : %d : %s\n"
+-#~ "%s"
+-
+-#~ msgid "use least common ancestor as ancestor for merge"
+-#~ msgstr "emploi le plus petit ancêtre commun comme ancêtre pour la fusion"
+-
+-#~ msgid ""
+-#~ "Running on: %s\n"
+-#~ "Changes since base revision: %s\n"
+-#~ msgstr ""
+-#~ "En cours d'exécution sur : %s\n"
+-#~ "Changements depuis la révision de base : %s\n"
+-
+-#~ msgid "revision '%s' does not exist in our database"
+-#~ msgstr "la révision « %s » n'existe pas dans notre base de données"
+-
+-#~ msgid "file '%s' does not exist in our database"
+-#~ msgstr "le fichier « %s » n'existe pas dans notre base de données"
+-
+-#~ msgid "cert '%s' does not exist in our database"
+-#~ msgstr "le certif « %s » n'existe pas dans notre base de données"
+-
+-#~ msgid "reconstructed file from delta '%s' -> '%s' has wrong id '%s'\n"
+-#~ msgstr ""
+-#~ "fichier reconstruit du delta « %s » -> « %s » a une identité incorrected « %"
+-#~ "s »\n"
+-
+-#~ msgid ""
+-#~ "unknown attribute %s on path %s\n"
+-#~ "please contact %s so we can work out the right way to migrate this"
+-#~ msgstr ""
+-#~ "attribut %s inconnu pour le chemin %s\n"
+-#~ "veuillez contacter %s pour négocier la meilleure façon pour migrer"
+-
+-#~ msgid "failure extracting schema from sqlite_master"
+-#~ msgstr "extraction de schéma de sqlite_master échoué"
+-
+-#~ msgid "monotone: "
+-#~ msgstr "monotone: "
+-
+-#~ msgid "write cert packets to stdout"
+-#~ msgstr "écrire des paquets pour des certifs sur la sortie standard"
+-
+-#~ msgid "Error running editor '%s' to enter log message\n"
+-#~ msgstr ""
+-#~ "Erreur pendant l'exécution de « %s » pour saisir le message du journal\n"
+-
+-#, fuzzy
+-#~ msgid "adding %s to workspace delete set\n"
+-#~ msgstr "ajouter des fichiers à la copie de travail"
+-
+-#~ msgid "working copy"
+-#~ msgstr "copie de travail"
+-
+-#, fuzzy
+-#~ msgid "no private key '%s' found in key store or get_priv_key hook"
+-#~ msgstr ""
+-#~ "la clef publique ou privée « %s » n'existe pas dans la base de données"
+-
+-#~ msgid "SRC DST"
+-#~ msgstr "SRC DST"
+-
+-#~ msgid "rebuild the indices used to sync over the network"
+-#~ msgstr ""
+-#~ "reconstruction des index utilisés pour la synchronisation par le réseau"
+-
+-#~ msgid "LEFT RIGHT"
+-#~ msgstr "GAUCHE DROITE"
+-
+-#, fuzzy
+-#~ msgid "print least common ancestor"
+-#~ msgstr "l'ancêtre commun est %s\n"
+-
+-#, fuzzy
+-#~ msgid "no common ancestor/dominator found"
+-#~ msgstr "l'ancêtre commun est %s\n"
+-
+-#~ msgid ""
+-#~ "LEFT-REVISION RIGHT-REVISION DEST-BRANCH\n"
+-#~ "LEFT-REVISION RIGHT-REVISION COMMON-ANCESTOR DEST-BRANCH"
+-#~ msgstr ""
+-#~ "RÉVISION-GAUCHE RÉVISION-DROITE BRANCHE-DESTINATION\n"
+-#~ "RÉVISION GAUCHE RÉVISION DROITE ANCÊTRE-COMMUN BRANCHE-DESTINATION"
+-
+-#~ msgid "manifests"
+-#~ msgstr "manifestes"
+-
+-#, fuzzy
+-#~ msgid "mcerts"
+-#~ msgstr "mcerts"
+-
+-#, fuzzy
+-#~ msgid "pubkeys"
+-#~ msgstr "clefs"
+-
+-#, fuzzy
+-#~ msgid "privkeys"
+-#~ msgstr "clefs"
+-
+-#~ msgid "revs written"
+-#~ msgstr "révs écrites"
+-
+-#~ msgid "cert ok\n"
+-#~ msgstr "certificat OK\n"
+-
+-#~ msgid "conflict detected, resolved in A's favour\n"
+-#~ msgstr "conflit détecté, résolu en faveur de A\n"
+-
+-#~ msgid "conflict detected, resolved in B's favour\n"
+-#~ msgstr "conflit détecté, résolu en faveur de B\n"
+-
+-#~ msgid "moving file %s -> %s\n"
+-#~ msgstr "déplacement du fichier %s -> %s\n"
+-
+-#~ msgid "executing command '%s'\n"
+-#~ msgstr "exécution de la commande « %s »\n"
+-
+-#~ msgid ""
+-#~ "new manifest '%s'\n"
+-#~ "new revision '%s'\n"
+-#~ msgstr ""
+-#~ "nouveau manifeste « %s »\n"
+-#~ "nouvelle révision « %s »\n"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "common ancestor %s found\n"
+-#~ "trying 3-way merge\n"
+-#~ msgstr "aucun ancêtre commun n'a été trouvé"
+-
+-#, fuzzy
+-#~ msgid "checking %d files\n"
+-#~ msgstr "la vérification de « %s » a échouée"
+-
+-#~ msgid "checking manifest %s\n"
+-#~ msgstr "vérification du manifeste « %s »\n"
+-
+-#~ msgid "checking %d revisions\n"
+-#~ msgstr "verification de %d révisions\n"
+-
+-#~ msgid "checking revision %s\n"
+-#~ msgstr "vérification de la révisions %s\n"
+-
+-#, fuzzy
+-#~ msgid "error parsing revision %s: %s"
+-#~ msgstr "erreur lors de la lecture du fichier RCS %s : %s\n"
+-
+-#~ msgid "checking %d public keys\n"
+-#~ msgstr "vérification de %d clefs publiques\n"
+-
+-#~ msgid "%d unreferenced manifests\n"
+-#~ msgstr "%d manifestes non-référencés\n"
+-
+-#~ msgid "statement cache statistics\n"
+-#~ msgstr "statistiques relatives au cache des expressions\n"
+-
+-#~ msgid "prepared %d statements\n"
+-#~ msgstr "%d expressions préparées\n"
+-
+-#~ msgid "%d executions of %s\n"
+-#~ msgstr "%d exécutions de %s\n"
+-
+-#, fuzzy
+-#~ msgid "after get_branch_heads for %s, heads has %d entries\n"
+-#~ msgstr "la branche %s a %d entrées\n"
+-
+-#~ msgid "conflicting prefixes\n"
+-#~ msgstr "préfixes en conflit\n"
+-
+-#~ msgid "conflicting suffixes\n"
+-#~ msgstr "suffixes en conflit\n"
+-
+-#~ msgid "conflict detected. no merge.\n"
+-#~ msgstr "conflit détecté, pas de fusion.\n"
+-
+-#~ msgid "files are identical\n"
+-#~ msgstr "les fichiers sont identiques\n"
+-
+-#~ msgid ""
+-#~ "help required for 2-way merge\n"
+-#~ "[    left] %s\n"
+-#~ "[   right] %s\n"
+-#~ "[  merged] %s\n"
+-#~ msgstr ""
+-#~ "aide requise pour la fusion de 2 fichiers\n"
+-#~ "[  gauche] %s\n"
+-#~ "[  droite] %s\n"
+-#~ "[fusionné] %s\n"
+-
+-#~ msgid ""
+-#~ "generated %d-byte public key\n"
+-#~ "generated %d-byte (encrypted) private key\n"
+-#~ msgstr ""
+-#~ "clef publique de %d octets générée\n"
+-#~ "clef privée (chiffrée) de %d octets générée\n"
+-
+-#, fuzzy
+-#~ msgid "have %d-byte encrypted private key\n"
+-#~ msgstr ""
+-#~ "clef publique de %d octets générée\n"
+-#~ "clef privée (chiffrée) de %d octets générée\n"
+-
+-#, fuzzy
+-#~ msgid "Lua::ok(): failed"
+-#~ msgstr "Lua::ok() : échec = %i"
+-
+-#~ msgid "lua stack: %s"
+-#~ msgstr "pile lua : %s"
+-
+-#~ msgid "lua: extracted int = %i"
+-#~ msgstr "lua : int extrait = %i"
+-
+-#~ msgid "lua: extracted double = %i"
+-#~ msgstr "lua : double extrait = %i"
+-
+-#~ msgid "lua: extracted bool = %i"
+-#~ msgstr "lua : bool extrait = %i"
+-
+-#~ msgid "opening rcfile '%s' ...\n"
+-#~ msgstr "ouverture du fichier rc « %s » ...\n"
+-
+-#~ msgid "'%s' is ok\n"
+-#~ msgstr "« %s » est 0K\n"
+-
+-#~ msgid "scanning file %s\n"
+-#~ msgstr "analyse du fichier %s\n"
+-
+-#~ msgid "set locale: LC_ALL=%s\n"
+-#~ msgstr "paramétrage de la locale : LC_ALL=%s\n"
+-
+-#~ msgid "read %d bytes from fd %d (peer %s)\n"
+-#~ msgstr "%d octets lu sur le descripteur de fichier %d (pair %s)\n"
+-
+-#~ msgid "wrote %d bytes to fd %d (peer %s)\n"
+-#~ msgstr "%d octets écris sur le descripteur de fichier %d (pair %s)\n"
+-
+-#~ msgid "server key has name %s, hash %s\n"
+-#~ msgstr "le nom du serveur est %s, et son hachi %s :)\n"
+-
+-#~ msgid "client signature OK, accepting authentication\n"
+-#~ msgstr "signature du client 0K, authentification acceptée\n"
+-
+-#~ msgid "server signature OK, accepting authentication\n"
+-#~ msgstr "signature du serveur 0K, authentification acceptée\n"
+-
+-#~ msgid "bad server signature\n"
+-#~ msgstr "signature du serveur invalide\n"
+-
+-#~ msgid "unknown server key\n"
+-#~ msgstr "clef du serveur inconnue\n"
+-
+-#~ msgid "public key '%s' already exists in our database\n"
+-#~ msgstr "la clef publique « %s » existe déjà dans notre base de données\n"
+-
+-#~ msgid "revision '%s' already exists in our database\n"
+-#~ msgstr "la révision « %s » existe déjà dans notre base de données\n"
+-
+-#~ msgid "manifest version '%s' already exists in our database\n"
+-#~ msgstr ""
+-#~ "la version du manifeste « %s » existe déjà dans notre base de données\n"
+-
+-#~ msgid "file version '%s' already exists in our database\n"
+-#~ msgstr ""
+-#~ "la version « %s » du fichier existe déjà dans notre base de données\n"
+-
+-#, fuzzy
+-#~ msgid "Received greeting from usher: %s"
+-#~ msgstr "erreur réseau : %s"
+-
+-#~ msgid "Sent reply."
+-#~ msgstr "Réponse envoyée."
+-
+-#~ msgid "failed to process '%s' packet"
+-#~ msgstr "échec du traitement du paquet « %s »"
+-
+-#, fuzzy
+-#~ msgid "read from fd %d (peer %s) closed OK after goodbye\n"
+-#~ msgstr "la lecture du fd %d (pair %s) fermée OK après aurevoir\n"
+-
+-#~ msgid "write on fd %d (peer %s) closed OK after goodbye\n"
+-#~ msgstr "la écriture du fd %d (pair %s) a échouée, déconnexion\n"
+-
+-#~ msgid "terminated exchange with %s\n"
+-#~ msgstr "échange avorté avec %s\n"
+-
+-#~ msgid "accepting new connection on %s : %s\n"
+-#~ msgstr "nouvelle connexion sur %s : %s\n"
+-
+-#~ msgid "accept() returned a dead client\n"
+-#~ msgstr "accept() à renvoyée un client mort\n"
+-
+-#~ msgid "fd %d (peer %s) read failed, disconnecting\n"
+-#~ msgstr "la lecture sur le fd %d (pair %s) a échouée, déconnexion\n"
+-
+-#~ msgid "fd %d (peer %s) write failed, disconnecting\n"
+-#~ msgstr "l'écriture sur le fd %d (pair %s) a échouée, déconnexion\n"
+-
+-#, fuzzy
+-#~ msgid "skipping prohibited key pair %s\n"
+-#~ msgstr "omission du fichier %s qui peut ignoré\n"
+-
+-#~ msgid "wrote %i queued packets\n"
+-#~ msgstr "écriture de %i paquets en attente\n"
+-
+-#, fuzzy
+-#~ msgid "read data packet"
+-#~ msgstr "lecture d'un paquet de donnée\n"
+-
+-#, fuzzy
+-#~ msgid "read delta packet"
+-#~ msgstr "lecture d'un paquet delta\n"
+-
+-#, fuzzy
+-#~ msgid "read cert packet"
+-#~ msgstr "lecture d'un paquet certificat\n"
+-
+-#, fuzzy
+-#~ msgid "read pubkey data packet"
+-#~ msgstr "lecture d'un paquet de données\n"
+-
+-#, fuzzy
+-#~ msgid "read keypair data packet"
+-#~ msgstr "lecture d'un paquet de données\n"
+-
+-#~ msgid "version %s has %d lines\n"
+-#~ msgstr "la version %s a %d lignes\n"
+-
+-#~ msgid "last modification time is %d\n"
+-#~ msgstr "la date de dernière modification est %d\n"
+-
+-#~ msgid "verifying new revisions (this may take a while)\n"
+-#~ msgstr "vérification des nouvelles révisions (ceci peut prendre du temps)\n"
+-
+-#~ msgid "parent %s -> node %d\n"
+-#~ msgstr "parent %s -> nœud %d\n"
+-
+-#~ msgid "checking whether %s is an ancestor of %s\n"
+-#~ msgstr "vérification si %s est un ancêtre de %s\n"
+-
+-#~ msgid "new root: %s\n"
+-#~ msgstr "nouvelle racine : %s\n"
+-
+-#~ msgid "new leaf: %s\n"
+-#~ msgstr "nouvelle feuille : %s\n"
+-
+-#~ msgid "no common ancestor for %s and %s\n"
+-#~ msgstr "pas d'ancêtre commun pour « %s » et « %s »\n"
+-
+-#~ msgid "common ancestor is %s\n"
+-#~ msgstr "l'ancêtre commun est %s\n"
+-
+-#~ msgid "node %d is a root node\n"
+-#~ msgstr "le nœud %d est un nœud racine\n"
+-
+-#~ msgid "converting %d bytes from %s to %s\n"
+-#~ msgstr "conversion de %d octets de %s en %s\n"
+-
+-#, fuzzy
+-#~ msgid "doing linesep conversion to %s\n"
+-#~ msgstr "conversion des "
+-
+-#~ msgid ""
+-#~ "sorry -- 'drop <directory>' is currently broken.\n"
+-#~ "try 'find %s -type f | monotone drop address@hidden'\n"
+-#~ msgstr ""
+-#~ "désolé mais « drop <répertoire> » est actuellement cassé.\n"
+-#~ "essayez « find %s -type f | monotone drop address@hidden"
+-
+-#~ msgid "old manifest is %s\n"
+-#~ msgstr "l'ancien manifeste est %s\n"
+-
+-#~ msgid "old manifest has %d entries\n"
+-#~ msgstr "l'ancien manifeste a %d entrées\n"
+-
+-#~ msgid "branch %s is empty"
+-#~ msgstr "la branche %s est vide"
+-
+-#~ msgid "ADDRESS[:PORTNUMBER] PATTERN ..."
+-#~ msgstr "ADRESSE[:PORT] MOTIF ..."
+-
+-#~ msgid "key '%s' already exists in database"
+-#~ msgstr "la clef « %s » est déjà dans la base de données"
+-
+-#~ msgid "removing %s failed"
+-#~ msgstr "la suppression de %s a échouée"
+-
+-#~ msgid "database %s is a directory"
+-#~ msgstr "la base de données %s est un dossier"
+-
+-#~ msgid "guess_binary called with an invalid parameter"
+-#~ msgstr "guess_binary a été appelé avec un paramètre invalide"
+-
+-#~ msgid "IncludeDir called with an invalid parameter"
+-#~ msgstr "IncludeDir a été appelé avec un paramètre invalide"
+-
+-#~ msgid "path %s is not a directory"
+-#~ msgstr "le chemin %s n'est pas un dossier"
+-
+-#~ msgid ""
+-#~ "merge of %s\n"
+-#~ "     and %s\n"
+-#~ msgstr ""
+-#~ "fusion de %s\n"
+-#~ "       et %s\n"
+-
+-#~ msgid ""
+-#~ "explicit_merge of %s\n"
+-#~ "              and %s\n"
+-#~ "   using ancestor %s\n"
+-#~ "        to branch '%s'\n"
+-#~ msgstr ""
+-#~ "fusion explicite de %s\n"
+-#~ "                 et %s\n"
+-#~ "  avec pour ancêtre %s\n"
+-#~ "  vers la branche   %s\n"
+-
+-#, fuzzy
+-#~ msgid "public key '%s' not found in database"
+-#~ msgstr "la clef « %s » n'existe pas dans la base de données"
+-
+-#~ msgid "initial path is %s\n"
+-#~ msgstr "le chemin initial est %s\n"
+-
+-#~ msgid "'%s' does not exist\n"
+-#~ msgstr "« %s » n'existe pas\n"
+-
+-#~ msgid "runtime error: %s\n"
+-#~ msgstr "erreur d'exécution : %s\n"
+-
+-#~ msgid "Running on: %s"
+-#~ msgstr "Fonctionne sur : %s"
+-
+-#~ msgid "network error: %s\n"
+-#~ msgstr "erreur réseau : %s\n"
++#~ msgid "date format '%s' cannot be used for commit"
++#~ msgstr "le format de date « %s » ne peut pas être utilisé pour le commit"
============================================================
--- patches/series	d085ce25149726bf6612542039b1db24c5f58199
+++ patches/series	236f423bf2b7169227baf0189c68a9ee0ebbb343
@@ -1,2 +1,3 @@ 00-db-extension-bash-completion.diff
 00-db-extension-bash-completion.diff
+30-french-po-translation.diff
 90-stacktrace-on-crash.diff
============================================================
--- NEWS	78caab2b1867e334beafb4f4c95c79549cd4e8c9
+++ NEWS	8bc3d4ad19514c4c0ce9fe34092f2219f990ea00
@@ -1,3 +1,47 @@
+monotone (1.0~dev-2) unstable; urgency=low
+
+  A new package is produced, called monotone-extras, containing a
+  tested collection of extra scripts and monotone hooks.
+
+  The hook 'get_netsync_key' has been split upstream into two separate
+  hooks, 'get_netsync_client_key' and 'get_netsync_server_key'.
+  Please notify the users that they will need to change their custom
+  hooks to accommodate this change.
+
+  The database format has changed slightly upstream, for speed
+  improvements.  You need to do the following on each of your
+  databases after taking a backup of the (except for the server
+  database handled by the monotone-server package, for which it is
+  done automatically):
+
+        mtn db migrate
+
+  No "flag day" is needed for this, you do not have to upgrade at the
+  same time as everyone else in your projects.
+
+  For more information, please read the upstream NEWS file.
+
+ -- Richard Levitte <address@hidden>  Mon, 21 Feb 2011 03:59:13 +0100
+
+monotone (0.99.1-1) UNRELEASED; urgency=low
+
+  * Upstream made major changes, for speed, usability and more.  This may
+    disrupt some script, as some commands and options have been changed as
+    well as the output of some commands.  See NEWS and UPGRADE for full
+    details.
+
+    The database format has changed slightly.  You need to do the following
+    on each of your databases after taking a backup of the (except for the
+    server database handled by the monotone-server package, for which it is
+    done automatically):
+
+        mtn db migrate
+
+    No "flag day" is needed for this, you do not have to upgrade at the
+    same time as everyone else in your projects.
+
+ -- Richard Levitte <address@hidden>  Thu, 11 Nov 2010 13:17:33 +0100
+
 monotone (0.45-1) unstable; urgency=low
 
   * The fix for bug #542287 changes the default run-levels in which
============================================================
--- README.source	87ba90d5cb10c8de344980c01934dbfae29ca6bf
+++ README.source	96e6fe0fe05d1cc8d6d5bcb2ba745189781a0840
@@ -7,10 +7,10 @@ Thus, this sequence of commands will rep
 the Debian version.
 
 Thus, this sequence of commands will replicate any Debian version
-starting with 0.43-1:
+starting with 1.0-1:
 
-$ wget -O monotone_X.Y.orig.tar.gz \
-       http://monotone.ca/downloads/X.Y/monotone-X.Y.tar.gz
+$ wget -O monotone_X.Y.orig.tar.bz2 \
+	http://monotone.ca/downloads/X.Y/monotone-X.Y.tar.bz2
 $ tar zxf monotone_X.Y.orig.tar.gz
 $ cd monotone-X.Y
 $
============================================================
--- changelog	e748d7bdb93064d684705702a77171cf2a8251f6
+++ changelog	56a933c43b5bc6a2d13bcd3b6401828760837220
@@ -1,3 +1,42 @@
+monotone (1.0-1) unstable; urgency=low
+
+  [ Richard Levitte ]
+  * New upstream release (closes: #622954).
+  * New package produced, monotone-extras.
+  * debian/patches/00-fail_cleanly_on_unreadable_db.diff,
+  * debian/patches/10-sqlite_3.7.3_empty_blob.diff,
+  * debian/patches/20-empty-command.diff: removed, merged upstream.
+  * debian/monotone-server.postinst: updated because 0.99 has another need
+    for database migration.  Changed all occurences of --norc to
+    --no-standard-rcfiles.
+  * debian/monotone-server.monotone.init: changed all occurences of --norc
+    to --no-standard-rcfiles.
+  * rules: rewritten to use dh.
+  * nofakeroot: added script that runs a command after temporarly disabling
+    the effects of fakeroot.  We need this because we build via the binary /
+    binary-arch / binary-indep targets, and they are run via fakeroot, which
+    is not recommended for certain build targets.
+  * monotone-server.monotone.init: Small adaptation, the startup lua
+    script changed name from hooks.lua to serverrc.
+  * Remove the monotone user and group on purge, only if
+    /var/lib/monotone and /var/run/monotone have been successfully
+    removed.
+  * debian/control: Change the package descriptions not to start with "A".
+    (removes lintian warning description-synopsis-starts-with-article)
+
+  [ Francis Russell ]
+  * Make monotone-doc suggest monotone instead of require.
+  * Update Vcs-Browser field to point to new source management front-end.
+  * Install manual page auto-generated during build instead of outdated version.
+  * Attempt deletion of /var/run/monotone and /etc/monotone on purge.
+  * Add successful removal of /etc/monotone as condition for removal of
+    monotone user and group as well.
+  * debian/patches/00-db-extension-bash-completion.diff: new, backported
+    from upstream to support both "mtn" and "db" file extensions for
+    databases.
+
+ -- Richard Levitte <address@hidden>  Sat, 16 Apr 2011 17:52:38 +0200
+
 monotone (0.48-4) unstable; urgency=low
 
   * Add updated french po translation from the debian-l10n-french mailing list
============================================================
--- control	dc83d89942e580c2902eebe94e189550fd339f5e
+++ control	c15336837da5d51e4de284b765dcc95d31ca5ba9
@@ -6,19 +6,21 @@ Homepage: http://monotone.ca/
  Zack Weinberg <address@hidden>, Ludovic Brenta <address@hidden>,
  Francis Russell <address@hidden>
 Homepage: http://monotone.ca/
-Vcs-Browser: http://viewmtn.angrygoats.net/branch/changes/net.venge.monotone
-Build-Depends: debhelper (>= 7), autotools-dev, po-debconf, quilt, patch,
+Vcs-Browser: http://code.monotone.ca/p/monotone/source/tree/h:net.venge.monotone/
+Build-Depends: debhelper (>= 7.0.50~), autotools-dev, po-debconf, quilt, patch,
  libboost-dev, libbotan1.8-dev, libidn11-dev, liblua5.1-0-dev, libpcre3-dev,
- libsqlite3-dev, libz-dev, texinfo
+ libsqlite3-dev, libz-dev, texinfo,
+ expect, bash-completion, bash (>= 4.0), source-highlight, mime-construct
 Build-Depends-Indep: poppler-utils | xpdf-utils, ps2eps,
  texlive-generic-recommended, texlive-latex-base
-Standards-Version: 3.9.0
+Standards-Version: 3.9.1
 
 Package: monotone
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, bash (>= 4.0)
 Suggests: monotone-doc, monotone-server
-Description: A distributed version (revision) control system
+Recommends: monotone-extras
+Description: Distributed version (revision) control system
  Monotone is a free, distributed version control system. It provides
  fully disconnected operation, manages complete tree versions, keeps
  its state in a local transactional database, supports overlapping
@@ -26,11 +28,33 @@ Description: A distributed version (revi
  network protocol, performs history-sensitive merging, and delegates
  trust functions to client-side RSA certificates.
 
+Package: monotone-extras
+Architecture: all
+Depends: ${misc:Depends}, monotone (>= ${source:Version})
+Recommends: mime-construct, source-highlight, perl, python
+Description: Distributed version (revision) control system - extras
+ Monotone is a free, distributed version control system. It provides
+ fully disconnected operation, manages complete tree versions, keeps
+ its state in a local transactional database, supports overlapping
+ branches and extensible metadata, uses an efficient peer-to-peer
+ network protocol, performs history-sensitive merging, and delegates
+ trust functions to client-side RSA certificates.
+ .
+ This package contains scripts, monotone hooks and more:
+ .
+   * mtn-cleanup
+     (please install perl to use this)
+   * monotone-mail-notify.lua + monotone-mail-notify
+     (please install mime-construct and source-highlight to use this)
+   * get_passphrase_from_file.lua
+   * authorize_remote_automate.lua
+
 Package: monotone-server
 Architecture: all
-Depends: monotone (>= ${source:Version}), adduser, ucf (>= 0.28), 
+Depends: monotone (>= ${source:Version}), 
+ monotone-extras (>= ${source:Version}), adduser, ucf (>= 0.28), 
  lsb-base (>= 3.0-6), ${misc:Depends}
-Description: A distributed version (revision) control system - server scripts
+Description: Distributed version (revision) control system - server scripts
  Monotone is a free, distributed version control system. It provides
  fully disconnected operation, manages complete tree versions, keeps
  its state in a local transactional database, supports overlapping
@@ -43,8 +67,9 @@ Architecture: all
 Package: monotone-doc
 Section: doc
 Architecture: all
-Depends: monotone (>= ${source:Version}), ${misc:Depends}
-Description: A distributed version (revision) control system - documentation
+Depends: ${misc:Depends}
+Suggests: monotone
+Description: Distributed version (revision) control system - documentation
  Monotone is a free, distributed version control system. It provides
  fully disconnected operation, manages complete tree versions, keeps
  its state in a local transactional database, supports overlapping
============================================================
--- monotone-doc.dirs	b56b9b6133b90761bb88fcb5c6ea9d8d8e16ebd1
+++ /dev/null	
@@ -1,2 +0,0 @@
-usr/share/doc/monotone/html/figures
-usr/share/doc/monotone/html/images
============================================================
--- monotone-doc.docs	befa0a5aa8814a3a456423e6fa384348e9660721
+++ monotone-doc.docs	eda7c1fca468a046ffe0db875f92786dce5b5089
@@ -1 +1,2 @@
-monotone.pdf
+doc/monotone.pdf
+doc/html
============================================================
--- monotone-doc.info	a9819b431d8d972835382dcd0ec843c5c9a89123
+++ monotone-doc.info	969043f2a07d32f9486390f82a5bdb68c856e1f1
@@ -1,2 +1,2 @@
-monotone.info
-monotone.info-*
+doc/monotone.info
+doc/monotone.info-*
============================================================
--- monotone-doc.postinst	f22408b56c4988171403ec530806f2b9f5eb73c5
+++ /dev/null	
@@ -1,15 +0,0 @@
-#! /bin/sh
-
-set -e
-
-case "$1" in
-    configure)
-        # directory turned into symlink; give dpkg a hand
-	if [ ! -L /usr/share/doc/monotone-doc ] && \
-	   [ -e /usr/share/doc/monotone-doc ]; then
-            rmdir /usr/share/doc/monotone-doc
-	    ln -sf monotone /usr/share/doc/monotone-doc
-	fi
-esac
-
-#DEBHELPER#
============================================================
--- /dev/null	
+++ monotone-extras.install	073df8a5bf50190e88baebeaa43caf8f6b1030ea
@@ -0,0 +1,3 @@
+usr/bin/mtn-cleanup
+usr/share/monotone/hooks
+usr/share/monotone/scripts
============================================================
--- /dev/null	
+++ monotone-extras.manpages	00a41d70dd2531062e4332f49f74b0954e50bb79
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/mtn-cleanup.1
============================================================
--- monotone-server.dirs	8371baee2f6bd274d9570f775fb93ef89cfbb2c4
+++ monotone-server.dirs	2cc70b3d6de42321bd5fae1384a476de322ef637
@@ -1,6 +1,7 @@ etc/monotone
 var/lib/monotone
 var/lib/monotone/keys
 etc/monotone
+etc/monotone/hooks.d
 var/log/monotone
 usr/share/doc
 usr/share/monotone
============================================================
--- /dev/null	
+++ monotone-server.install	a858c18b9dc0457a6496d90e12de6d5ed1f371af
@@ -0,0 +1 @@
+usr/share/monotone/*.base
============================================================
--- monotone-server.monotone.init	0252e2d038ead1a191bb35610f452afd632a70a7
+++ monotone-server.monotone.init	7877078cede63a76a087b7ee337877fa59ff2458
@@ -64,9 +64,9 @@ d_start()
     if start-stop-daemon --start --quiet --oknodo --background \
         --pidfile $PIDFILE --exec $DAEMON --chuid monotone --chdir $MTN_HOME \
 	-- \
-        --confdir=$MTN_CONFDIR --db=$MTN_DB --norc --pid-file=$PIDFILE \
-        --log=$MAINLOG --dump=$ERRORLOG --timestamps \
-        --rcfile=$MTN_CONFDIR/hooks.lua --keydir=$MTN_KEYDIR --quiet \
+        --confdir=$MTN_CONFDIR --db=$MTN_DB --no-standard-rcfiles \
+	--pid-file=$PIDFILE --log=$MAINLOG --dump=$ERRORLOG --timestamps \
+        --rcfile=$MTN_CONFDIR/serverrc --keydir=$MTN_KEYDIR --quiet \
         --bind=$ADDRESS serve
 
     then log_end_msg 0
============================================================
--- monotone-server.postinst	96f6ef1f815b124b4c1470f8350eac81dafd4102
+++ monotone-server.postinst	4849f56d9430439b269eaacdc39c5b14ac3c52e1
@@ -40,15 +40,16 @@ monotone_migrate ()
 
 monotone_migrate ()
 {
-    if dpkg --compare-versions "$MTN_VERSION" lt "0.46-1"; then
+    if dpkg --compare-versions "$MTN_VERSION" lt "0.99-1"; then
 	# upgradable version of monotone
 	echo "Attempting to migrate monotone database.  This may take a while..." >&2
 	echo "A backup named '`basename $MTN_DB~`' will be created in $MTN_HOME." >&2
 
 	cp $MTN_DB $MTN_DB~
 
-	if $MTN --db=$MTN_DB db migrate --rcfile=$MTN_CONFDIR/hooks.lua \
-	    --norc --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR >&2; then
+	if $MTN --db=$MTN_DB db migrate --rcfile=$MTN_CONFDIR/serverrc \
+	    --no-standard-rcfiles --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR \
+	    >&2; then
 	    echo "Database successfully migrated." >&2
 	    true
 	else
@@ -68,8 +69,9 @@ monotone_rosterify ()
 	# now we need to rosterify
 	echo "Attempting to rosterify monotone database..." >&2
 
-	if $MTN --db=$MTN_DB db rosterify --rcfile=$MTN_CONFDIR/hooks.lua \
-	    --norc --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR >&2; then
+	if $MTN --db=$MTN_DB db rosterify --rcfile=$MTN_CONFDIR/serverrc \
+	    --no-standard-rcfiles --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR \
+	    >&2; then
 	    echo "Database successfully rosterified." >&2
 	    true
 	else
@@ -89,8 +91,9 @@ monotone_regenerate_caches ()
 	# now we need to regenerate caches
 	echo "Attempting to regenerate caches..." >&2
 
-	if $MTN --db=$MTN_DB db regenerate_caches --rcfile=$MTN_CONFDIR/hooks.lua \
-	    --norc --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR >&2; then
+	if $MTN --db=$MTN_DB db regenerate_caches --rcfile=$MTN_CONFDIR/serverrc \
+	    --no-standard-rcfiles --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR \
+	    >&2; then
 	    echo "Caches successfully regenerated." >&2
 	    true
 	else
@@ -119,14 +122,28 @@ case "$1" in
        MTN_CONFDIR=/etc/monotone
        MTN_KEYDIR=$MTN_HOME/keys
 
-       ucf --debconf-ok /usr/share/monotone/write-permissions.base /etc/monotone/write-permissions
-       ucf --debconf-ok /usr/share/monotone/read-permissions.base /etc/monotone/read-permissions
-       ucf --debconf-ok /usr/share/monotone/hooks.lua.base /etc/monotone/hooks.lua
+       ucf --debconf-ok /usr/share/monotone/write-permissions.base $MTN_CONFDIR/write-permissions
+       ucf --debconf-ok /usr/share/monotone/read-permissions.base $MTN_CONFDIR/read-permissions
+       if [ -f $MTN_CONFDIR/hooks.lua -a ! -f $MTN_CONFDIR/serverrc ]; then
+	   ucf --debconf-ok /usr/share/monotone/serverrc.base $MTN_CONFDIR/hooks.lua
+	   mv  $MTN_CONFDIR/hooks.lua $MTN_CONFDIR/serverrc
+           # mimic dpkg and remove backups too
+           for ext in '' '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do
+               rm -f $MTN_CONFDIR/hooks.lua$ext || true
+           done
+	   ucfr --purge monotone-server $MTN_CONFDIR/hooks.lua
+       else
+	   ucf --debconf-ok /usr/share/monotone/serverrc.base $MTN_CONFDIR/serverrc
+       fi
 
-       ucfr monotone-server /etc/monotone/write-permissions
-       ucfr monotone-server /etc/monotone/read-permissions
-       ucfr monotone-server /etc/monotone/hooks.lua
+       if [ ! -f $MTN_CONFDIR/hooks.d/get_passphrase_from_file.lua ]; then
+	   ln -s /usr/share/monotone/hooks/get_passphrase_from_file.lua $MTN_CONFDIR/hooks.d/
+       fi
 
+       ucfr monotone-server $MTN_CONFDIR/write-permissions
+       ucfr monotone-server $MTN_CONFDIR/read-permissions
+       ucfr monotone-server $MTN_CONFDIR/serverrc
+
        # if this is our first install give config files correct permissions
        if [ -z "$2" ]; then
            # create monotone user and fix permissions of files
@@ -145,12 +162,12 @@ case "$1" in
            chmod 0750 $MTN_CONFDIR
            chmod 0750 $MTN_KEYDIR
 
-           chown monotone:monotone /etc/monotone/write-permissions
-           chown monotone:monotone /etc/monotone/read-permissions
-           chown monotone:monotone /etc/monotone/hooks.lua
-           chmod 0640 /etc/monotone/write-permissions
-           chmod 0640 /etc/monotone/read-permissions
-           chmod 0640 /etc/monotone/hooks.lua
+           chown monotone:monotone $MTN_CONFDIR/write-permissions
+           chown monotone:monotone $MTN_CONFDIR/read-permissions
+           chown monotone:monotone $MTN_CONFDIR/serverrc
+           chmod 0640 $MTN_CONFDIR/write-permissions
+           chmod 0640 $MTN_CONFDIR/read-permissions
+           chmod 0640 $MTN_CONFDIR/serverrc
        fi
 
        db_get monotone-server/manage-db
@@ -160,7 +177,7 @@ case "$1" in
 
            # read our passphrase from a file
            if [ -e "$MTN_CONFDIR/passphrases" ]; then
-               db_set monotone-server/passphrase "`grep "$MTN_KEY" $MTN_CONFDIR/passphrases | awk -F ' "|" "|" |"' '{print $2}'`"
+               db_set monotone-server/passphrase "`grep "$MTN_KEY" $MTN_CONFDIR/passphrases | cut -f2 -d"\\""`"
            fi
 
            db_get monotone-server/passphrase
@@ -178,7 +195,8 @@ case "$1" in
               if [ ! -e $MTN_DB ]; then
                   echo "Creating Monotone database..." >&2
                   $MTN --db=$MTN_DB db init \
-                     --norc --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR
+                     --no-standard-rcfiles --keydir=$MTN_KEYDIR \
+                     --confdir=$MTN_CONFDIR
 
                   chmod 0600 $MTN_DB
                   chown monotone:monotone $MTN_DB
@@ -187,7 +205,8 @@ case "$1" in
 
                   yes "$MTN_KEY_PASSWD" |
                      $MTN --db=$MTN_DB genkey $MTN_KEY --quiet \
-                     --norc --keydir=$MTN_KEYDIR --confdir=$MTN_CONFDIR
+                     --no-standard-rcfiles --keydir=$MTN_KEYDIR \
+                     --confdir=$MTN_CONFDIR
 
                   chown monotone:monotone $MTN_HOME/keys/*
 
============================================================
--- monotone-server.postrm	c0e4b14cd4e68e04d124512de019131aeb366bf4
+++ monotone-server.postrm	40b86523664da7c4e85dded8e81551b94ca44e38
@@ -19,8 +19,11 @@ MTN_HOME="/var/lib/monotone"
 # the debian-policy package
 
 MTN_HOME="/var/lib/monotone"
+MTN_CONF_DIR="/etc/monotone"
+MTN_HOOKS_DIR="${MTN_CONF_DIR}/hooks.d"
 MTN_KEY_DIR="${MTN_HOME}/keys"
 MTN_LOG_DIR="/var/log/monotone"
+MTN_RUN_DIR="/var/run/monotone"
 MAINLOG="${MTN_LOG_DIR}/mtn.log"
 ERRORLOG="${MTN_LOG_DIR}/error.log"
 
@@ -60,7 +63,7 @@ case "$1" in
        # below we do cleanups only if the relevant program exists.
 
        # remove config files from ucf database and filesystem
-       for conf in write-permissions read-permissions hooks.lua; do
+       for conf in write-permissions read-permissions serverrc; do
 
           # mimic dpkg and remove backups too
           for ext in '' '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do
@@ -118,10 +121,45 @@ case "$1" in
          rmdir --ignore-fail-on-non-empty ${MTN_HOME}
        fi
 
+       if [ -d ${MTN_RUN_DIR} ]; then
+         rmdir --ignore-fail-on-non-empty ${MTN_RUN_DIR}
+       fi
+
+       # We only delete get_passphrase_from_file.lua if it is a symlink
+       # (as that is what the postinst script creates).
+       GET_PASSPHRASE_HOOK="${MTN_HOOKS_DIR}/get_passphrase_from_file.lua"
+       if [ -L ${GET_PASSPHRASE_HOOK} ]; then
+         rm ${GET_PASSPHRASE_HOOK}
+       fi
+
+       if [ -d ${MTN_HOOKS_DIR} ]; then
+         rmdir --ignore-fail-on-non-empty ${MTN_HOOKS_DIR}
+       fi
+
+       if [ -d ${MTN_CONF_DIR} ]; then
+         rmdir --ignore-fail-on-non-empty ${MTN_CONF_DIR}
+       fi
+
+       # delete log files if they exist
+       if [ -d ${MTN_LOG_DIR} ]; then
+         rm -f ${MAINLOG}
+         rm -f ${ERRORLOG}
+         rmdir --ignore-fail-on-non-empty ${MTN_LOG_DIR}
+       fi
+
+       # Create a list of paths that still exist and may contain files owned by the monotone
+       # user or group.
+       MTN_USED_PATHS=""
+       for MTN_USED_PATH in "${MTN_HOME}" "${MTN_CONF_DIR}" "${MTN_LOG_DIR}" "${MTN_RUN_DIR}"; do
+         if [ -d "${MTN_USED_PATH}" ]; then
+           MTN_USED_PATHS="${MTN_USED_PATHS:+${MTN_USED_PATHS}, }${MTN_USED_PATH}"
+         fi
+       done
+
        # if deluser/delgroup exist, remove the server user and group.
-       # do not do this if /var/lib/monotone still exists (so that it
-       # will still have a named user owning it).
-       if which deluser > /dev/null && [ ! -e ${MTN_HOME} ]; then
+       # do not do this if /var/lib/monotone or /var/run/monotone still
+       # exists (so that it will still have a named user owning it).
+       if which deluser > /dev/null && [ -z "${MTN_USED_PATHS}" ]; then
 	   if [ -n "`id -u monotone 2>/dev/null`" ]; then
                deluser --quiet monotone 2>/dev/null >/dev/null
 	   fi
@@ -130,21 +168,14 @@ case "$1" in
                delgroup --quiet monotone 2>/dev/null >/dev/null
 	   fi
        else
-	   if [ -e ${MTN_HOME} ]; then
-	       reason="${MTN_HOME} still exists"
+	   if [ -n "${MTN_USED_PATHS}" ]; then
+	       reason="the following paths still exist: ${MTN_USED_PATHS}"
 	   else
 	       reason="deluser is not available"
 	   fi
-	   echo "warning: not deleting monotone user or group because $reason" >&2
+	   echo "warning: not deleting monotone user or group because $reason." >&2
        fi
 
-       # delete log files if they exist
-       if [ -d ${MTN_LOG_DIR} ]; then
-         rm -f ${MAINLOG}
-         rm -f ${ERRORLOG}
-         rmdir --ignore-fail-on-non-empty ${MTN_LOG_DIR}
-       fi
-
     ;;
     remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
     ;;
============================================================
--- /dev/null	
+++ monotone.bash-completion	9c69ac6439278e55c7f47523e422f0b80b4a6b2d
@@ -0,0 +1 @@
+etc/bash_completion.d/monotone.bash_completion monotone
============================================================
--- monotone.docs	acbe6763ec74c6f43841414c82df93c6eddd8f73
+++ monotone.docs	aa81a7323cad8a809f867f778766d182509a1a4c
@@ -1,6 +1,5 @@ README
 AUTHORS
 NEWS
 README
-README.changesets
 UPGRADE
 contrib
============================================================
--- /dev/null	
+++ monotone.install	8bf0469ffc5d883940c29a2ac7d71e20d608513a
@@ -0,0 +1,3 @@
+usr/bin/mtn
+usr/bin/mtnopt
+usr/share/locale
============================================================
--- monotone.manpages	0feb2e5e14684d3b745f5010c25f2b7afcaf8ec7
+++ monotone.manpages	2655a78f856fac191d29bba0116261b29006b73b
@@ -1,2 +1,2 @@
-debian/mtn.1
-debian/mtnopt.1
+debian/tmp/usr/share/man/man1/mtn.1
+debian/tmp/usr/share/man/man1/mtnopt.1
============================================================
--- mtn.1	151a4df63a976022f9304ee1b7d0498a2a8a01d7
+++ /dev/null	
@@ -1,337 +0,0 @@
-.TH MTN 1 2007-06-09 monotone monotone
-.SH NAME
-mtn \- distributed version control system
-.SH SYNOPSIS
-\fBmtn\fP \fI[options] <command> [parameters]\fP
-.SH WARNING
-.P
-This manpage is not well\(hymaintained; it is a summary of monotone's
-capabilities, and probably contains inaccuracies.  For the complete,
-accurate manual, including tutorial, concepts, and full reference
-documentation, please use \fBinfo monotone\fP or refer to
-'nh
-.BR http://monotone.ca/docs/ .
-'hy 1
-The developers will gratefully accept patches to arrange that this
-manpage, the \fI\-\-help\fP output, and the main manual are kept
-in sync mechanically.
-.P
-On Debian systems, the \fBmonotone\-doc\fP package contains a local
-copy of the HTML manual at
-'nh
-.BR /usr/share/doc/monotone/html/index.html ,
-'hy 1
-and a printable PDF version.
-.SH DESCRIPTION
-.P
-Monotone is a version control system, which allows you to keep old
-versions of files, as well as special \fImanifest files\fP which
-describe the location of files in a tree. Unlike other systems,
-versions in monotone are \fIidentified\fP by cryptographic hash, and
-operations are authenticated by individual users' evaluating
-cryptographic signatures on meta\(hydata, rather than any central
-authority.
-.P
-Monotone keeps a collection of versions in a single\(hyfile relational
-database. It is essentially serverless, using network servers only as
-untrusted communication facilities. A monotone database is a regular
-file, which contains all the information needed to extract previous
-versions of files, verify signatures, merge and modify versions, and
-communicate with network servers.
-.SH COMMANDS
-.TP 
-\fBcomment\fP \fI<id>\fP
-Write a comment cert for a revision.
-.TP
-\fBapprove\fP \fI<id>\fP
-Make a "branch" cert approving of a revision's membership in a branch.
-.TP
-\fBdisapprove\fP \fI<id1>\fP
-Disapprove of a revision, committing the inverse changes as as a
-descendant of the disapproved revision.
-.TP
-\fBtag\fP \fI<id> <tagname>\fP
-Put a symbolic tag cert on a revision.
-.TP
-\fBtestresult\fP \fI<id> (0|1|true|false|yes|no|pass|fail)\fP
-Indicate a passing or failing test result on a revision.
-.TP
-\fBdiff \fI[\-\-revision=<id1> [\-\-revision=<id2>] ] [<pathname>...]\fP
-Show diffs between workspace and database.
-.TP
-\fBstatus \fI[<pathname>...]\fP
-Show status of workspace.
-.TP
-\fBlog\fP \fI[id] \fP
-Show historical log of revisions, starting from workspace
-base revision, or \fI[id]\fP if given.
-.TP
-\fBcert\fP \fI<id> <certname> [certval]\fP
-Create a custom cert for a revision. Reads cert value
-from stdin if no value given on command line.
-.TP
-\fBgenkey\fP \fI<keyid>\fP
-Generate an RSA key\(hypair and store it in the database.
-.TP
-\chkeypass\fP \fI<keyid>\fP
-Change passphrase of the private half of a key.
-.TP
-\fBlist certs\fP \fI<id>\fP
-List certs associated with revision.
-.TP
-\fBlist keys\fP \fI[partial\(hyid]\fP
-List keys matching glob, or list all keys if no glob given.
-.TP
-\fBlist branches\fP
-List all branches.
-.TP
-\fBlist tags\fP
-List all tags.
-.TP
-\fBlist vars \fI[<domain>]\fP
-List all vars (possibly limited by domain).
-.TP
-\fBlist unknown \fI[<pathname...]\fP
-List files in workspace, but not in revision's manifest or
-work list.
-.TP
-\fBlist ignored \fI[<pathname...]\fP
-List files intentionally ignored due to the ignore_file hook.
-.TP
-\fBlist missing \fI[<pathname...]\fP
-List files in revision's manifest, but not in workspace.
-.TP
-\fBlist changed \fI[<pathname...]\fP
-List files in workspace that have changed compared to the base
-revision.
-.TP
-\fBfdata\fP \fI<id>\fP
-Write file data packet to stdout.
-.TP
-\fBfdelta\fP \fI<oldid> <newid>\fP
-Write file delta packet to stdout.
-.TP
-\fBmdata\fP \fI<id>\fP
-Write manifest data packet to stdout.
-.TP
-\fBmdelta\fP \fI<oldid> <newid>\fP
-Write manifest delta packet to stdout.
-.TP
-\fBcerts\fP \fI<id>\fP
-Write revision cert packets to stdout.
-.TP
-\fBrdata\fP \fI<id>\fP
-Write revision data packet to stdout.
-.TP
-\fBprivkey\fP \fI<id>\fP
-Write private key packet to stdout.
-.TP
-\fBpubkey\fP \fI<id>\fP
-Write public key packet to stdout.
-.TP
-\fBread\fP \fI[<file1> [<file2> [...]]]\fP
-Read packets from files or stdin. 
-.TP
-\fBcvs_import\fP \fI<cvsroot>/<module>\fP
-Import all versions in CVS module. Reconstructs revisions and converts
-metadata to certificates. A private signing key must already exist in
-the database.
-.TP
-\fBrcs_import\fP \fI<rcsfile> ...\fP
-Import all file versions in RCS files. Does not reconstruct revisions
-across the entire tree.  You do not want this command, it is for
-debugging; use cvs_import.
-.TP
-\fBcheckout\fP \fI[\-\-revision=revision\(hyid]\fP \fI[<directory>]\fP
-Check out revision from database.
-.TP
-\fBco\fP \fI[\-\-revision=revision\(hyid]\fP \fI[<directory>]\fP
-Check out revision from database; an alias for \fBcheckout\fP.
-.TP
-\fBcat\fP \fI(file|manifest) <id>\fP
-Write file or manifest from database to stdout.
-.TP
-\fBheads\fP
-Show unmerged heads of branch, or report when branch is merged.
-.TP
-\fBmerge\fP
-Merge unmerged heads of branch.
-.TP
-\fBadd\fP \fI<pathname> [...]\fP
-Add files to workspace. adding a file does not copy it into the database,
-merely adds it to the work list. You must \fBcommit\fP your changes in order
-to copy added files to the database.
-.TP
-\fBdrop\fP \fI<pathname> [...]\fP
-Drop files from workspace. Files are not deleted from workspace, 
-merely noted as removals in the work list.
-.TP
-\fBrename\fP \fI<src> \fI<dst>\fP
-Rename files from \fI<src> \fP to \fI<dst> \fP in workspace.
-.TP
-\fBcommit\fP \fI[(\-\-message=<log message>|\-\-message\-file=<file>)] [<pathname>...]\fP
-Commit workspace to database.  Each commit has a changelog message
-associated with it.  If \-\-message is provided on the command line, it
-is used; if \-\-message\-file is provided, the content of the
-named file will be used as a commit message. If the filename is '\-'
-the commit message will be read from standard input.  Otherwise a log
-message editor will be invoked.  If the file _MTN/log exists
-and is non\(hyempty, its content is used to prefill the editor.  You
-cannot specify both \-\-message and \-\-message\-file at the same time, and
-if _MTN/log exists and is non\(hyempty, you can cannot specify either of them
-at all.
-.TP
-\fBupdate\fP  \fI[revision\(hyid]\fP
-Update workspace.
-.TP
-\fBrefresh_inodeprints\fP 
-Turn on inodeprints mode, and force a cache refresh.
-.TP
-\fBpush\fP \fI[<host> [<glob>]]\fP 
-Push contents of \fI<glob>\fP to database on \fI<host>\fP.
-.TP
-\fBpull\fP \fI[<host> [<glob>]]\fP 
-Push contents of \fI<glob>\fP from database on \fI<host>\fP.
-.TP
-\fBsync\fP \fI<host> <glob>\fP 
-Sync contents of \fI<glob>\fP with database on \fI<host>\fP.
-.TP
-\fBserve\fP \fI[\-\-pid\-file=<path>] [\-\-bind=[<host>][:<port>]] <glob> [\-\-exclude=<exclude\(hyglob>]\fP 
-Serve contents of \fI<glob>\fP at network address \fI<host>\fP, on the
-port \fI<port>\fP.  If \fI<port>\fP isn't given, 4691 is used. If a
-\-\-pid\-file option is provided on the command line, monotone will store
-the process id of the server in the specified file.
-.TP
-\fBset\fP \fI<domain> <name> <value>\fP 
-Set the db var \fI<name>\fP in domain \fI<domain>\fP to value
-\fI<value>\fP. 
-.TP
-\fBunset\fP \fI<domain> <name>\fP 
-Delete any setting for db var \fI<name>\fP in domain \fI<domain>\fP.
-.TP
-\fBautomate\fP \fI(interface_version | heads | ancestors | attributes | parents | descendents | children | graph | erase_ancestors | toposort | ancestry_difference | leaves | inventory | stdio | certs | select)\fP
-Scripting interface.
-.TP
-\fBdb\fP \fI(init | info | version | dump | load | migrate | rebuild | execute | check)\fP
-Manipulate database state.
-.SH OPTIONS
-.P
-Command line options override environment variables and
-settings in lua scripts (such as \fB.monotonerc\fP)
-.TP
-\fB\-\-help\fP
-Print help message.
-.TP
-\fB\-\-debug\fP
-Turn on debugging log on standard error stream. This is very
-verbose. Default is to be silent, unless an error occurs, in which
-case failure log is dumped.
-.TP
-\fB\-\-quiet\fP
-Turn off normal progress messages.
-.TP
-\fB\-\-dump=\fP\fI<file>\fP
-Dump debugging log to \fIfile\fP on failure.
-.TP
-\fB\-\-nostd\fP
-Do not evaluate "standard" lua hooks compiled into \fBmonotone\fP.
-.TP
-\fB\-\-norc\fP
-Do not load lua hooks from user's \fB~/.monotonerc\fP file.
-.TP
-\fB\-\-rcfile=\fP\fI<file>\fP
-Load extra lua hooks from \fIfile\fP (may be given multiple times).
-.TP
-\fB\-\-db=\fP\fI<file>\fP
-Use database in \fIfile\fP.
-.TP
-\fB\-\-key=\fP\fI<keyid>\fP
-Use \fIkeyid\fP for operations which produce RSA signatures. Default
-is inferred from presence of unique private key in database. Can also
-be customized on a per\(hybranch basis with hook function 
-\fBget_branch_key(branchname)\fP.
-.TP
-\fB\-k\fP \fI<keyid>\fP
-An alias for \fB\-\-key=\fP\fI<keyid>\fP
-.TP
-\fB\-\-branch=\fP\fI<branchname>\fP
-Use \fIbranchname\fP for operations on a branch. Default is inferred
-in operations on existing branches (commit, update, etc).
-.TP
-\fB\-b\fP \fI<branchname>\fP
-An alias for \fB\-\-branch=\fP\fI<branchname>\fP
-.TP
-\fB\-\-ticket=\fP\fIdot|count|none\fP
-Use the given method to print tickers.  The \fBcount\fP method prints
-the count for each ticker on one line, incrementing the numbers in
-place, while the \fBdot\fP method prints a continuous string of
-characters (like some programs provide a progress line of dots).
-\fBnone\fP prints nothing.  The default is \fBcount\fP.
-.TP
-\fB\-\-revision=\fP\fI<id>\fP
-Used to specify one or more revision ids to various commands.
-.TP
-\fB\-r\fP \fI<id>\fP
-An alias for \fB\-\-revision=\fP\fI<id>\fP
-.TP
-\fB\-\-message=\fI<log message>\fP
-Use the given message as the changelog when committing a new revision
-rather than invoking the log message editor. Currently this option only
-applies to the commit command but it may also apply to the comment
-command in the future.
-This option is alternative to \-\-message\-file
-.TP
-\fB\-m \fI<log message>\fP
-An alias for \fB\-\-message=\fI<log message>\fP
-.TP
-\fB\-\-message\-file=\fI<message file>\fP
-Use the content of the given file as the changelog when committing a
-new revision rather than invoking the log message editor. If the passed filename is '\-' the changelog message will be read from standard input.
-Currently this option only applies to the commit command but it may also apply
-to the comment command in the future.
-This option is alternative to \-\-message.
-.TP
-\fB\-\-author=\fI<author email>\fP
-Use the given author as the value of the "author" cert when committing
-a new revision, rather than the default author.  Useful when
-committing a patch on behalf of someone else, or when importing
-history from another version control system.
-.TP
-\fB\-\-date=\fI<date and time>\fP
-Use the given given date and time as value of the "date" cert when
-committing a new revision, rather than the current time.  Useful when
-importing history from another version control system.
-.TP
-\fB\-\-root=\fI<root dir>\fP
-Stop the search for a workspace (containing the _MTN directory)
-at the specified root directory rather than at the physical root of the
-filesystem.
-.TP
-\fB\-\-xargs=\fI<file>\fP
-Inject the contents of the file in place among the command line
-arguments.  This may be useful in case the command line would
-otherwise become too long for your system.  This option can be used
-more than once if needed.
-.TP
-\fB\-@ \fI<file>\fP
-An alias for \fB\-\-xargs=\fI<file>\fP.
-.SH ENVIRONMENT
-.TP
-\fBEDITOR\fP
-Used to edit comments, log messages, etc.
-.TP
-\fBVISUAL\fP
-Used in preference to \fBEDITOR\fP, if set.
-.SH FILES
-.TP
-\fB$HOME/.monotonerc\fP
-A lua script, used as a customization file.
-.SH "SEE ALSO"
-.P
-http://monotone.ca/
-.SH BUGS
-.P
-see http://savannah.nongnu.org/bugs/?group=monotone
-.SH AUTHOR
-.P
-graydon hoare <address@hidden>
============================================================
--- mtnopt.1	51d9513e56c6ff0e1ffe173d412e3baf4de4c8bf
+++ /dev/null	
@@ -1,95 +0,0 @@
-.TH MTNOPT 1 2009-02-13 monotone monotone
-.SH NAME
-mtnopt \- generate shell variables from monotone workspace options
-.SH SYNOPSIS
-.B mtnopt
-.RB [\| \-s \||\| \-c \||\| \-v \|]
-.RB [\| \-d 
-.IR dir \|]
-.RB [\| \-k
-.IR keys \|]
-.br
-.B mtnopt -h
-.br
-.SH DESCRIPTION
-.B mtnopt
-prints shell variable assignments for each value in the file of
-monotone workspace options,
-.IR _MTN/options ,
-in the current directory. For instance, if
-.I _MTN/options
-contained this text:
-.IP
-\f(CWdatabase "/home/user/src/monotone.mtn"\fP
-.br
-\f(CW  branch "net.venge.monotone"\fP
-.br
-\f(CW  keydir "/home/user/.monotone/keys"\fP
-.PP
-.B mtnopt
-would print:
-.IP
-\f(CWMTN_database="/home/user/src/monotone.mtn";\fP
-.br
-\f(CWMTN_branch="net.venge.monotone";\fP
-.br
-\f(CWMTN_keydir="/home/user/.monotone/keys";\fP
-.PP
-By default,
-.B mtnopt 
-attempts to guess appropriate syntax from the value of the
-.B SHELL
-environment variable.  This can be overridden with the 
-.B \-s
-and 
-.B \-c
-command\(hyline options.
-.SH OPTIONS
-.TP
-.B \-s
-Print variable assignments in 
-.BR sh (1)
-syntax.
-.TP
-.B \-c
-Print variable assignments in 
-.BR csh (1)
-syntax.
-.TP
-.B \-v
-Print only the values, with no indication of the corresponding option keys.
-.TP
-.BI \-d\  directory
-Look for 
-.I _MTN/options
-in
-.IR directory ,
-rather than in the current directory.
-.TP
-.BI \-k\  keys
-Print assignments for only those options that match the
-.BR egrep (1)
-regular _expression_
-.IR keys .
-.TP
-.B \-h
-Print a help message and exit.
-.SH BUGS
-.B mtnopt
-only looks in the current directory for the
-.I _MTN
-directory, so it will fail in a subdirectory of a workspace.
-.PP
-.B mtnopt
-should be aware of the set of possible options, rather than blindly
-printing whatever is in
-.IR _MTN/options .
-.PP
-The behavior when there is no
-.I _MTN/options
-file to be found is less than helpful.
-.SH SEE ALSO
-.BR mtn (1),
-.BR egrep (1),
-.BR sh (1),
-.BR csh (1)
============================================================
--- /dev/null	
+++ nofakeroot	d369479dbe3ce7fd13457355a575f47408b5bef2
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+# Usage:
+#   nofakeroot [command ...]
+#
+# Runs command after removing any trace of fakeroot from the environment it
+# receives.
+
+my_PRELOAD=
+for l in $LD_PRELOAD; do
+    if ! echo $l | grep "libfakeroot[-a-z]*\\.so" > /dev/null; then
+	if [ -n "$my_PRELOAD" ]; then
+	    my_PRELOAD="$my_PRELOAD $l"
+	else
+	    my_PRELOAD="$l"
+	fi
+    fi
+done
+
+was_IFS="$IFS" IFS=:
+my_LIBRARY_PATH=
+for p in $LD_LIBRARY_PATH; do
+    if ! echo $p | grep "/libfakeroot\$" > /dev/null; then
+	if [ -n "$my_LIBRARY_PATH" ]; then
+	    my_LIBRARY_PATH="${my_LIBRARY_PATH}:$p"
+	else
+	    my_LIBRARY_PATH="$p"
+	fi
+    fi
+done
+IFS="$was_IFS"
+
+LD_PRELOAD="$my_PRELOAD" LD_LIBRARY_PATH="$my_LIBRARY_PATH" eval "$@"
============================================================
--- /dev/null	
+++ patches/00-db-extension-bash-completion.diff	5c2f94ea2ba17dd0985d43eed3e0b4586dc9d6aa
@@ -0,0 +1,16 @@
+Description: Since monotone defaults to databases ending with .db as
+ well, check for files with that extension as well when looking for
+ databases.
+Origin: upstream, commit: bb5b0702260383c4086ab2088bfa79883f53f6ce
+Index: monotone-1.0/extra/shell/monotone.bash_completion.in
+===================================================================
+--- monotone-1.0.orig/extra/shell/monotone.bash_completion.in	2011-04-16 16:48:56.943628328 +0100
++++ monotone-1.0/extra/shell/monotone.bash_completion.in	2011-04-16 16:49:18.683795516 +0100
+@@ -70,6 +70,7 @@
+ 
+ _monotone_databases() {
+     _filedir mtn
++    _filedir db
+     COMPREPLY=(
+ 	"address@hidden"
+ 	$(compgen -W "$(LANG=POSIX \
============================================================
--- patches/00-fail_cleanly_on_unreadable_db.diff	ef03fafa904ae94e146ff33b0692bdd1bccf449e
+++ /dev/null	
@@ -1,17 +0,0 @@
-From upstream changelog for revision 78f4db157a353de19b33df875959efc2492812b4:
-  SQLite 3.7 is less eager about creting journal files; in particular a
-  do-nothing 'db migrate' doesn't create one. So don't require that
-  'db migrate' fail if the database directory isn't writeable.
-
-Index: monotone-0.48/tests/fail_cleanly_on_unreadable_db/__driver__.lua
-===================================================================
---- monotone-0.48.orig/tests/fail_cleanly_on_unreadable_db/__driver__.lua	2010-08-01 02:38:13.994830204 +0100
-+++ monotone-0.48/tests/fail_cleanly_on_unreadable_db/__driver__.lua	2010-08-01 02:38:52.708854534 +0100
-@@ -48,7 +48,6 @@
- check(mtn("--db=subdir/foo.db", "ls", "branches"), 0, false, false)
- check(mtn("--db=subdir/foo.db", "db", "info"), 0, false, false)
- check(mtn("--db=subdir/foo.db", "db", "version"), 0, false, false)
--check(mtn("--db=subdir/foo.db", "db", "migrate"), 1, false, false)
- check(mtn("--db=subdir/bar.db", "db", "load"), 1, false, false)
- check(mtn("--db=subdir/baz.db", "db", "init"), 1, false, false)
- check({"chmod", "a+w", "subdir"})
============================================================
--- patches/10-sqlite_3.7.3_empty_blob.diff	69ffd220f2ed68b00fe2b06bd93402b76cf01903
+++ /dev/null	
@@ -1,34 +0,0 @@
-From upstream changelog for revision 97939c9677047b36beef031cce4c1896849a987c:
-  sqlite3_column_blob() returns null for both empty blobs and real nulls.
-  Check the actual datatype first, and don't rely on a non-null return.
-  This only matters for recent SQLite, noted in bug 96.
-
-See also http://code.monotone.ca/p/monotone/issues/96/.
-Index: monotone-0.48.1/database.cc
-===================================================================
---- monotone-0.48.1.orig/database.cc	2010-10-26 17:09:59.401570755 +0100
-+++ monotone-0.48.1/database.cc	2010-10-26 17:10:14.563939979 +0100
-@@ -1489,12 +1489,19 @@
-       vector<string> row;
-       for (int col = 0; col < ncol; col++)
-         {
-+          // We never store NULLs, so we should never see one.
-+          int const datatype = sqlite3_column_type(i->second.stmt(), col);
-+          E(datatype != SQLITE_NULL, origin::database,
-+            F("null result in query: %s") % query.sql_cmd);
-           const char * value = (const char*)sqlite3_column_blob(i->second.stmt(), col);
-           int bytes = sqlite3_column_bytes(i->second.stmt(), col);
--          E(value, origin::database,
--            F("null result in query: %s") % query.sql_cmd);
--          row.push_back(string(value, value + bytes));
--          //L(FL("row %d col %d value='%s'") % nrow % col % value);
-+          if (value) {
-+            row.push_back(string(value, value + bytes));
-+          } else {
-+            // sqlite3_column_blob() returns null for zero-length
-+            I(bytes == 0);
-+            row.push_back(string());
-+          }
-         }
-       res.push_back(row);
-     }
============================================================
--- patches/20-empty-command.diff	57f26a70ddcacfd5ce05c7a5dc5954ce5d75838e
+++ /dev/null	
@@ -1,45 +0,0 @@
-Description: Prevent remote crashing of certain montone server configurations
-  Monotone versions 0.46, 0.47 and 0.48 are affected by a bug whereby a client
-  sending an empty command string to the server can cause it to terminate if
-  remote command execution is enabled. This was fixed in 0.48.1.
-Bug-Debian: http://bugs.debian.org/601850
-Origin: upstream, commit: 2cc01e1baf1032ccf40053bd9910b12d7b87cce6, 
-  commit: c6d7e5ab7f497d2cbef5f91e6880028a67d1f8e2
-Index: monotone-0.48/commands.cc
-===================================================================
---- monotone-0.48.orig/commands.cc	2010-10-30 12:00:32.906613057 +0100
-+++ monotone-0.48/commands.cc	2010-10-30 12:00:33.168601416 +0100
-@@ -302,8 +302,6 @@
-   {
-     map< command_id, command * > matches;
- 
--    I(!prefix().empty());
--
-     for (children_set::const_iterator iter = children().begin();
-          iter != children().end(); iter++)
-       {
-@@ -426,8 +424,10 @@
-   complete_command(args_vector const & args)
-   {
-     // Handle categories early; no completion allowed.
--    if (CMD_REF(__root__)->find_command(make_command_id(args[0]())) != NULL)
--      return make_command_id(args[0]());
-+    command_id first_cmd_part = make_command_id(args[0]());
-+    if (!first_cmd_part.empty() &&
-+         CMD_REF(__root__)->find_command(first_cmd_part) != NULL)
-+      return first_cmd_part;
- 
-     command_id id;
-     for (args_vector::const_iterator iter = args.begin();
-Index: monotone-0.48/tests/empty_command_name/__driver__.lua
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ monotone-0.48/tests/empty_command_name/__driver__.lua	2010-10-30 12:00:33.169601371 +0100
-@@ -0,0 +1,7 @@
-+mtn_setup()
-+
-+check(mtn(''), 1, false, true)
-+check(qgrep("is ambiguous", "stderr"))
-+
-+check(mtn('ls', ''), 1, false, true)
-+check(qgrep("is ambiguous", "stderr"))
============================================================
--- patches/90-stacktrace-on-crash.diff	b2e12bcd791608afa8729fa452cf54a11b2b87a1
+++ patches/90-stacktrace-on-crash.diff	5be4b7c1a377c269a92e51af71f6d9f5f8b9ace5
@@ -2,13 +2,13 @@ in the testsuite, we can get more detail
 trace on crash.  This won't fix anything, but by activating this mode
 in the testsuite, we can get more detail on the alpha and sparc FTBFSes.
 
-Index: monotone-0.43/unix/main.cc
+Index: monotone-1.0/src/unix/main.cc
 ===================================================================
---- monotone-0.43.orig/unix/main.cc	2009-04-12 13:39:49.000000000 -0700
-+++ monotone-0.43/unix/main.cc	2009-04-12 13:42:56.000000000 -0700
+--- monotone-1.0.orig/src/unix/main.cc	2009-04-12 13:39:49.000000000 -0700
++++ monotone-1.0/src/unix/main.cc	2009-04-12 13:42:56.000000000 -0700
 @@ -36,12 +36,21 @@
  
- #include "base.hh"
+ #include "../base.hh"
  #include <signal.h>
 -#include <time.h>
 +#include <stdlib.h>
============================================================
--- patches/series	9efdefce8bcaa0f95576d2e60dac60317a58e4c7
+++ patches/series	236f423bf2b7169227baf0189c68a9ee0ebbb343
@@ -1,5 +1,3 @@
-00-fail_cleanly_on_unreadable_db.diff
-10-sqlite_3.7.3_empty_blob.diff
-20-empty-command.diff
+00-db-extension-bash-completion.diff
 30-french-po-translation.diff
 90-stacktrace-on-crash.diff
============================================================
--- rules	7ac69708a183c3eefcb4bfd4594f07f417334070
+++ rules	30cd3012c7c46422bff2988de9fdd5f44a1eddf8
@@ -1,144 +1,107 @@
 #!/usr/bin/make -f
+# -*- makefile -*-
 #
-# debian/rules for monotone, by Zack Weinberg
-# Based on a public domain template, originally written by Joey Hess.
+# debian/rules for monotone, by Richard Levitte
+# based on the dh7 template provided by dh_make(1)
 
 # put this up top so it's the default rule.
 #
-# Policy (section 4.9) says that build should depend on build-indep.
-# However, this is only a "should", and it doesn't work, because
-# dpkg-buildpackage uses build even in -B mode.  Thus, if build
-# depends on build-indep, even a -B build will try to generate the
-# manuals -- and the buildds will do this having installed only the
-# Build-Depends, for they are ignorant of B-D-I.  All die, O the
-# embarrassment.  (This has been a festering known problem for 
-# nearly a *decade*, with no forward progress since 2007.  See bugs
-# #218893 and #229357.)
+# Policy (version 3.9.1.0, 2010-07-26, section 4.9) says that when
+# different binary packages are produced in different ways, it doesn't
+# make sense to have a build target that builds it all.  Quoted:
 #
-# Conversely, not having build depend on build-indep means that if you
-# do a normal dpkg-buildpackage, the manual gets generated in the
-# binary-indep phase rather than the build phase, which works fine (as
-# long as you are being sensible and using fakeroot, anyway; I haven't
-# tried it with actual root privileges and don't propose to).
+#   or some packages, notably ones where the same source tree is
+#   compiled in different ways to produce two binary packages, the
+#   build target does not make much sense. For these packages it is
+#   good enough to provide two (or more) targets (build-a and build-b
+#   or whatever) for each of the ways of building the package, and a
+#   build target that does nothing. The binary target will have to
+#   build the package in each of the possible ways and make the binary
+#   package out of each.
 #
-# (This is also the primary reason we aren't using "dh" yet; it only
-# knows about the "build" target, not "build-arch"/"build-indep".)
-build: build-arch
-binary: binary-indep binary-arch
+#   ...
+#
+#   When a package has a configuration and build routine which takes a
+#   long time, or when the makefiles are poorly designed, or when
+#   build needs to run clean first, it is a good idea to touch build
+#   when the build process is complete. This will ensure that if
+#   debian/rules build is run again it will not rebuild the whole
+#   program.
+#
+# We definitely have this situation, as we have -indep packages and
+# -arch packages, and we need to treat them separately, because the
+# buildds will build with -B after having installed only the Build-
+# Depends (for they are ignorant of B-D-I.  All die, O the
+# embarrassment)
+#
+# However, it also means that we're having configuring, building and
+# testing done via fakeroot, which isn't a good idea.  However, that's
+# easy to deal with with a little hack (see the file 'nofakeroot' in
+# this directory) and overrides for those cases.
+#
+# So, we disable the build target entirely and let the binary targets
+# take care of building as well (which dh provides support for, so we
+# really need nothing extra here).
+build:
+	@echo 'The build target is disabled, please use the appropriate binary target.'
 
-# patching
-include /usr/share/quilt/quilt.make
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
 
-# DEB_BUILD_OPTIONS handling
+%:
+	dh $@ --parallel --with=bash_completion
 
-ifeq "$(findstring noopt,$(DEB_BUILD_OPTIONS))" ""
-DEFAULT_CFLAGS = -g -O2
-else # optimization disabled
-DEFAULT_CFLAGS = -g -O0
-endif
-CFLAGS ?= $(DEFAULT_CFLAGS)
+override_dh_auto_configure:
+	debian/nofakeroot dh_auto_configure
+# To enable documentation to only be built for the monotone-doc
+# package (really, any -indep target), we need to make sure all
+# relevant dh_auto_* calls behave differently for arch and indep
+# calls.
+override_dh_auto_build:
+	LANG=POSIX debian/nofakeroot \
+	    dh_auto_build -pmonotone-doc -- info pdf html
+	LANG=POSIX debian/nofakeroot \
+	    dh_auto_build --remaining-packages -- INFO_DEPS=''
 
-PAR := $(patsubst parallel=%,-j%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-
-
-# Other tunables
-
 # Thanks to buildd configuration decisions that no one will explain to
 # me in sufficient detail to detect reliably, we have to disable all
 # netsync tests until upstream gets around to converting them to local
 # network sockets.
 export DISABLE_NETWORK_TESTS = 1
-export DH_VERBOSE = 1
 
 # This is a hack to get more detail out of the alpha and sparc testsuite
 # crashes.
 export MTN_STACKTRACE_ON_CRASH = 1
 
+override_dh_auto_test:
+	debian/nofakeroot dh_auto_test -pmonotone -- INFO_DEPS='' || \
+	    sh extra/building/dump-test-logs.sh
 
-# Building
+override_dh_auto_install:
+	dh_auto_install -Nmonotone-doc -- INFO_DEPS=''
+	dh_auto_install -pmonotone-doc
 
-config.status: configure
-	dh_testdir
-	$(MAKE) -f debian/rules patch
-	[ -f config.sub.upstream ] || mv config.sub config.sub.upstream
-	[ -f config.guess.upstream ] || mv config.guess config.guess.upstream
-	cp -f /usr/share/misc/config.sub config.sub
-	cp -f /usr/share/misc/config.guess config.guess
-	dh_auto_configure -- CXXFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
+	# monotone-server uses these
+	mkdir -p debian/tmp/usr/share/monotone
+	for x in read-permissions write-permissions server-setup/serverrc; do \
+		cp -p examples/$$x debian/tmp/usr/share/monotone/$${x##*/}.base; \
+	done
 
-# We don't want to generate the info documentation in build-arch.
-build-arch: build-arch-stamp
-build-arch-stamp: config.status
-	dh_auto_build -- $(PAR) INFO_DEPS=
-ifeq "$(findstring nocheck,$(DEB_BUILD_OPTIONS))" ""
-	if [ `id -u` -eq 0 ]; then \
-	  echo "WARNING: Test suite does not work for root - skipping"; \
-	else \
-	  dh_auto_test -- $(PAR) INFO_DEPS= || sh contrib/dump-test-logs.sh; \
-	fi
-endif
-	touch $@
+# Finally, there are a few overrides needed for the install phase.
 
-# Conversely, in build-indep all we want is the documentation.
-build-indep: build-indep-stamp
-build-indep-stamp: config.status
-	make $(PAR) info html monotone.pdf
-	touch $@
+# Targets where we rely entirely on the upstream installation
+override_dh_install:
+	dh_install --sourcedir=debian/tmp
 
-clean:
-	dh_testdir
-	dh_auto_clean
-	dh_clean
-	[ ! -f config.sub.upstream ] || mv -f config.sub.upstream config.sub
-	[ ! -f config.guess.upstream ] || mv -f config.guess.upstream config.guess
-	$(MAKE) -f debian/rules unpatch
+# Upstream file "ChangeLog" is not actually a change log
+override_dh_installchangelogs:
+	dh_installchangelogs -X ChangeLog
 
-
-# Architecture-dependent binary packages.
-
-binary-arch: build-arch
-	dh_testroot
-	dh_prep
-	dh_installdirs -a
-
-# again, we don't want the documentation in this package; this pair of
-# targets installs everything but
-	$(MAKE) DESTDIR=$(shell pwd)/debian/monotone \
-	    install-exec-am install-data-local
-
-# dh_installdirs created etc/bash_completion.d.  dh_install cannot install
-# a file under a different basename.
-	cp contrib/monotone.bash_completion \
-	   debian/monotone/etc/bash_completion.d/monotone
-
-	dh_installdocs -a
-# upstream file "ChangeLog" is not actually a change log
-	dh_installchangelogs -a -X ChangeLog
-	dh_installexamples -a
-	dh_installman -a
 # colorize seems to compress to something weird, Lintian keeps warning about it
-	dh_compress -a -Xcolorize
-	dh_fixperms -a
-	dh_strip -a
-	dh_shlibdeps -a
-	dh_installdeb -a
-	dh_gencontrol -a
-	dh_md5sums -a
-	dh_builddeb -a
+# PDFs should generally not be compressed.
+override_dh_compress:
+	dh_compress -Xcolorize -X.pdf
 
-
-# Architecture-independent binary packages.
-#
-# Both monotone-server and monotone-doc are permitted to have their
-# documentation directories be symlinks to the main package's
-# documentation directory, per Policy 12.5.  (We are tricksily having
-# monotone-doc add to the contents of the main documentation
-# directory.) This means we should not run dh_installexamples or
-# dh_installchangelogs for either, and should not run dh_installdocs
-# for monotone-server.  monotone-doc needs to run dh_installdocs for
-# monotone.pdf and doc-base support, but this requires a few -X flags
-# to avoid conflicting files.
-#
 # The upstream makefiles' install targets do nothing useful for these
 # packages.  (In particular, we do not want the monolithic
 # monotone.html installed.)  Annoyingly, at present we cannot simply
@@ -147,43 +110,12 @@ binary-arch: build-arch
 # hierarchy that is required and use cp -p to put all the files in
 # place.  (Using globs in monotone-doc.docs would get everything dumped
 # directly into /usr/share/doc/monotone, which doesn't work.)
+override_dh_installdocs:
+	dh_installdocs --link-doc=monotone
 
-binary-indep: build-indep
-	dh_testroot
-	dh_prep
-
-	dh_installdirs -i
-	cd debian/monotone-doc/usr/share/doc && \
-	    ln -s monotone monotone-doc
-	cd debian/monotone-server/usr/share/doc && \
-	    ln -s monotone monotone-server
-
-	cp -p html/*.html html/*.css \
-	    debian/monotone-doc/usr/share/doc/monotone/html
-	cp -p html/figures/*.png \
-	    debian/monotone-doc/usr/share/doc/monotone/html/figures
-	cp -p html/images/*.png \
-	    debian/monotone-doc/usr/share/doc/monotone/html/images
-	dh_installdocs -p monotone-doc -X copyright -X NEWS
-
-	cp -p examples/read-permissions \
-	    debian/monotone-server/usr/share/monotone/read-permissions.base
-	cp -p examples/write-permissions \
-	    debian/monotone-server/usr/share/monotone/write-permissions.base
-	cp -p contrib/get_passphrase_from_file.lua \
-	    debian/monotone-server/usr/share/monotone/hooks.lua.base
-
-	dh_installdebconf -i
-
+# Install init for monotone-server, but with the name monotone
+override_dh_installinit:
+	dh_installinit --name=monotone
 # we should have logrotate support for monotone-server, but currently we don't
-#	dh_installlogrotate -i --name=monotone
-	dh_installinit -i --name=monotone
-	dh_installinfo -i
-	dh_compress -i -X .pdf
-	dh_fixperms -i
-	dh_installdeb -i
-	dh_gencontrol -i
-	dh_md5sums -i
-	dh_builddeb -i
-
-.PHONY: clean build build-arch build-indep binary binary-arch binary-indep
+#override_dh_installlogrotate:
+#	dh_installlogrotate --name=monotone
============================================================
--- source/format	61652cd1568dcf2614df833eba241755eee34e89
+++ source/format	1064dc0ce263680c076a1005f35ec906a5cf5a32
@@ -1 +1 @@
-1.0
+3.0 (quilt)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]