OSDN Git Service

l10n: fr.po v2.13 round 1
authorJean-Noel Avila <jn.avila@free.fr>
Sun, 23 Apr 2017 21:29:44 +0000 (23:29 +0200)
committerJean-Noel Avila <jn.avila@free.fr>
Tue, 2 May 2017 20:21:09 +0000 (22:21 +0200)
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
po/fr.po

index af7c327..fb0e0de 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -73,8 +73,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2017-02-18 01:00+0800\n"
-"PO-Revision-Date: 2017-02-18 00:09+0100\n"
+"POT-Creation-Date: 2017-04-23 09:54+0800\n"
+"PO-Revision-Date: 2017-05-02 22:20+0200\n"
 "Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -125,7 +125,7 @@ msgstr ""
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:114 builtin/merge.c:1206
+#: advice.c:114 builtin/merge.c:1185
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
@@ -408,7 +408,7 @@ msgstr "le patch a échoué : %s:%ld"
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:253
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
@@ -535,7 +535,7 @@ msgstr "le mode change pour %s, qui n'est pas dans la HEAD actuelle"
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:252 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
@@ -613,7 +613,7 @@ msgstr[1] "Application du patch %%s avec %d rejets..."
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
+#: apply.c:4531 builtin/fetch.c:739 builtin/fetch.c:988
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
@@ -641,166 +641,166 @@ msgstr "entrée non reconnue"
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4824
+#: apply.c:4823
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4849
+#: apply.c:4850
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "%d erreur d'espace ignorée"
 msgstr[1] "%d erreurs d'espace ignorées"
 
-#: apply.c:4855 apply.c:4870
+#: apply.c:4856 apply.c:4871
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d ligne a ajouté des erreurs d'espace."
 msgstr[1] "%d lignes ont ajouté des erreurs d'espace."
 
-#: apply.c:4863
+#: apply.c:4864
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d ligne ajoutée après correction des erreurs d'espace."
 msgstr[1] "%d lignes ajoutées après correction des erreurs d'espace."
 
-#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
+#: apply.c:4880 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
-#: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
-#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
-#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: apply.c:4911 apply.c:4914 builtin/am.c:2277 builtin/am.c:2280
+#: builtin/clone.c:113 builtin/fetch.c:98 builtin/pull.c:180
+#: builtin/submodule--helper.c:304 builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:632 builtin/submodule--helper.c:973
+#: builtin/submodule--helper.c:976 builtin/submodule--helper.c:1161
 #: git-add--interactive.perl:239
 msgid "path"
 msgstr "chemin"
 
-#: apply.c:4911
+#: apply.c:4912
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4914
+#: apply.c:4915
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4916 builtin/am.c:2286
+#: apply.c:4917 builtin/am.c:2286
 msgid "num"
 msgstr "num"
 
-#: apply.c:4917
+#: apply.c:4918
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4920
+#: apply.c:4921
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4922
+#: apply.c:4923
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrée"
 
-#: apply.c:4926
+#: apply.c:4927
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "afficher le nombre de lignes ajoutées et supprimées en notation décimale"
 
-#: apply.c:4928
+#: apply.c:4929
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "au lieu d'appliquer le patch, afficher un résumer de l'entrée"
 
-#: apply.c:4930
+#: apply.c:4931
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "au lieu d'appliquer le patch, voir si le patch est applicable"
 
-#: apply.c:4932
+#: apply.c:4933
 msgid "make sure the patch is applicable to the current index"
 msgstr "s'assurer que le patch est applicable sur l'index actuel"
 
-#: apply.c:4934
+#: apply.c:4935
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4936
+#: apply.c:4937
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4938
+#: apply.c:4939
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec ---stat/--summary/--check)"
 
-#: apply.c:4940
+#: apply.c:4941
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "tenter une fusion à 3 points si le patch ne s'applique pas proprement"
 
-#: apply.c:4942
+#: apply.c:4943
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "construire un index temporaire fondé sur l'information de l'index embarqué"
 
-#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
+#: apply.c:4946 builtin/checkout-index.c:169 builtin/ls-files.c:508
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4947
+#: apply.c:4948
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:4948 builtin/am.c:2265
+#: apply.c:4949 builtin/am.c:2265
 msgid "action"
 msgstr "action"
 
-#: apply.c:4949
+#: apply.c:4950
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 "détecter des lignes nouvelles ou modifiées qui contiennent des erreurs "
 "d'espace"
 
-#: apply.c:4952 apply.c:4955
+#: apply.c:4953 apply.c:4956
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4958
+#: apply.c:4959
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4960
+#: apply.c:4961
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4962
+#: apply.c:4963
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:4964
+#: apply.c:4965
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: apply.c:4966 builtin/add.c:267 builtin/check-ignore.c:19
 #: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
-#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
+#: builtin/log.c:1867 builtin/mv.c:122 builtin/read-tree.c:134
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:4967
+#: apply.c:4968
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "tolérer des erreurs de détection de retours chariot manquants en fin de "
 "fichier"
 
-#: apply.c:4970
+#: apply.c:4971
 msgid "do not trust the line counts in the hunk headers"
 msgstr "ne pas se fier au compte de lignes dans les en-têtes de section"
 
-#: apply.c:4972 builtin/am.c:2274
+#: apply.c:4973 builtin/am.c:2274
 msgid "root"
 msgstr "racine"
 
-#: apply.c:4973
+#: apply.c:4974
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -823,103 +823,108 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
+#: archive.c:332 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
 
-#: archive.c:429
+#: archive.c:417
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:429
+#: archive.c:417
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:430 builtin/log.c:1429
+#: archive.c:418 builtin/log.c:1436
 msgid "prefix"
 msgstr "préfixe"
 
-#: archive.c:431
+#: archive.c:419
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
-#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
-#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: archive.c:420 builtin/blame.c:2598 builtin/blame.c:2599 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1061
+#: builtin/hash-object.c:101 builtin/ls-files.c:542 builtin/ls-files.c:545
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:129
 #: parse-options.h:153
 msgid "file"
 msgstr "fichier"
 
-#: archive.c:433 builtin/archive.c:89
+#: archive.c:421 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "écrire l'archive dans ce fichier"
 
-#: archive.c:435
+#: archive.c:423
 msgid "read .gitattributes in working directory"
 msgstr "lire .gitattributes dans le répertoire de travail"
 
-#: archive.c:436
+#: archive.c:424
 msgid "report archived files on stderr"
 msgstr "afficher les fichiers archivés sur stderr"
 
-#: archive.c:437
+#: archive.c:425
 msgid "store only"
 msgstr "stockage seulement"
 
-#: archive.c:438
+#: archive.c:426
 msgid "compress faster"
 msgstr "compression rapide"
 
-#: archive.c:446
+#: archive.c:434
 msgid "compress better"
 msgstr "compression efficace"
 
-#: archive.c:449
+#: archive.c:437
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
+#: archive.c:439 builtin/archive.c:90 builtin/clone.c:103 builtin/clone.c:106
+#: builtin/submodule--helper.c:641 builtin/submodule--helper.c:982
 msgid "repo"
 msgstr "dépôt"
 
-#: archive.c:452 builtin/archive.c:91
+#: archive.c:440 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "récupérer l'archive depuis le dépôt distant <dépôt>"
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:485
+#: archive.c:441 builtin/archive.c:92 builtin/notes.c:485
 msgid "command"
 msgstr "commande"
 
-#: archive.c:454 builtin/archive.c:93
+#: archive.c:442 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "chemin vers la commande distante git-upload-archive"
 
-#: archive.c:461
+#: archive.c:449
 msgid "Unexpected option --remote"
 msgstr "Option --remote inattendue"
 
-#: archive.c:463
+#: archive.c:451
 msgid "Option --exec can only be used together with --remote"
 msgstr "L'option --exec ne peut être utilisée qu'en complément de --remote"
 
-#: archive.c:465
+#: archive.c:453
 msgid "Unexpected option --output"
 msgstr "Option --output inattendue"
 
-#: archive.c:487
+#: archive.c:475
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Format d'archive inconnu '%s'"
 
-#: archive.c:494
+#: archive.c:482
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
 
-#: attr.c:263
+#: attr.c:212
+#, c-format
+msgid "%.*s is not a valid attribute name"
+msgstr "%.*s n'est pas un nom valide d'attribut"
+
+#: attr.c:408
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -927,27 +932,27 @@ msgstr ""
 "Les motifs de négation sont ignorés dans les attributs git\n"
 "Utilisez '\\!' pour un point d'exclamation littéral."
 
-#: bisect.c:441
+#: bisect.c:443
 #, c-format
 msgid "Could not open file '%s'"
 msgstr "impossible d'ouvrir le fichier '%s'"
 
-#: bisect.c:446
+#: bisect.c:448
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "Contenu mal cité dans le fichier '%s' : %s"
 
-#: bisect.c:655
+#: bisect.c:656
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Impossible de pousser la bissection plus loin !\n"
 
-#: bisect.c:708
+#: bisect.c:709
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s n'est pas un nom de commit valide"
 
-#: bisect.c:732
+#: bisect.c:733
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -956,7 +961,7 @@ msgstr ""
 "La base de fusion %s est mauvaise.\n"
 "Cela signifie que le bogue été corrigé entre %s et [%s].\n"
 
-#: bisect.c:737
+#: bisect.c:738
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -965,7 +970,7 @@ msgstr ""
 "La base de fusion %s est nouvelle.\n"
 "La propriété a changé entre %s et [%s].\n"
 
-#: bisect.c:742
+#: bisect.c:743
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -974,7 +979,7 @@ msgstr ""
 "La base de fusion %s est %s.\n"
 "Ceci signifie que le premier commit '%s' est entre %s et [%s].\n"
 
-#: bisect.c:750
+#: bisect.c:751
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -985,7 +990,7 @@ msgstr ""
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
 "Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
-#: bisect.c:763
+#: bisect.c:764
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -997,36 +1002,36 @@ msgstr ""
 "et %s.\n"
 "On continue tout de même."
 
-#: bisect.c:798
+#: bisect.c:799
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bissection : une base de fusion doit être testée\n"
 
-#: bisect.c:849
+#: bisect.c:850
 #, c-format
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
+#: bisect.c:867 builtin/notes.c:174 builtin/tag.c:255
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:917
+#: bisect.c:918
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:947
+#: bisect.c:948
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:967
+#: bisect.c:968
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:975
+#: bisect.c:976
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1035,7 +1040,7 @@ msgstr ""
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais paramètre de chemin ?\n"
 
-#: bisect.c:994
+#: bisect.c:995
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1044,7 +1049,7 @@ msgstr[1] "(à peu près %d étapes)"
 
 #. TRANSLATORS: the last %s will be replaced with
 #. "(roughly %d steps)" translation
-#: bisect.c:998
+#: bisect.c:999
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
@@ -1191,7 +1196,7 @@ msgstr "Point d'embranchement invalide : '%s'."
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' est déjà extrait dans '%s'"
 
-#: branch.c:363
+#: branch.c:364
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "la HEAD de la copie de travail %s n'est pas mise à jour"
@@ -1206,7 +1211,7 @@ msgstr "'%s' ne semble pas être un fichier bundle v2"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1339 sequencer.c:1760 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -1215,10 +1220,10 @@ msgstr "impossible d'ouvrir '%s'"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Le dépôt ne dispose pas des commits prérequis suivants :"
 
-#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
-#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
-#: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:360 builtin/shortlog.c:177
+#: bundle.c:163 ref-filter.c:1852 sequencer.c:1162 sequencer.c:2299
+#: builtin/blame.c:2811 builtin/commit.c:1061 builtin/log.c:353
+#: builtin/log.c:897 builtin/log.c:1347 builtin/log.c:1673 builtin/log.c:1916
+#: builtin/merge.c:359 builtin/shortlog.c:176
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
@@ -1257,7 +1262,7 @@ msgstr "rev-list a disparu"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
+#: bundle.c:443 builtin/log.c:170 builtin/log.c:1579 builtin/shortlog.c:281
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
@@ -1280,7 +1285,7 @@ msgstr "l'index de groupe a disparu"
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: commit.c:40 sequencer.c:1572 builtin/am.c:421 builtin/am.c:457
 #: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
@@ -1291,7 +1296,7 @@ msgstr "impossible d'analyser %s"
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un commit !"
 
-#: commit.c:1514
+#: commit.c:1511
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
@@ -1307,146 +1312,165 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:518
+#: config.c:191
+msgid "relative config include conditionals must come from files"
+msgstr "les conditions d'inclusion de configuration relative doivent venir de fichiers"
+
+#: config.c:701
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:522
+#: config.c:705
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:526
+#: config.c:709
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:530
+#: config.c:713
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "ligne %d de config incorrecte dans le blob de sous-module %s"
 
-#: config.c:534
+#: config.c:717
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "ligne %d de config incorrecte dans la ligne de commande %s"
 
-#: config.c:538
+#: config.c:721
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:657
+#: config.c:840
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:657
+#: config.c:840
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:663
+#: config.c:846
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:668
+#: config.c:851
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob "
 "%s : %s"
 
-#: config.c:671
+#: config.c:854
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le fichier "
 "%s : %s"
 
-#: config.c:674
+#: config.c:857
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans l'entrée "
 "standard : %s"
 
-#: config.c:677
+#: config.c:860
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob de "
 "sous-module %s : %s"
 
-#: config.c:680
+#: config.c:863
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans la ligne de "
 "commande %s : %s"
 
-#: config.c:683
+#: config.c:866
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans %s : %s"
 
-#: config.c:770
+#: config.c:953
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:865 config.c:876
+#: config.c:1048 config.c:1059
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:993
+#: config.c:1176
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1149
+#: config.c:1332
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1339
+#: config.c:1522
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:1389
+#: config.c:1572
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:1743
+#: config.c:1931
+#, c-format
+msgid "Invalid %s: '%s'"
+msgstr "%s invalide : '%s'"
+
+#: config.c:1952
+#, c-format
+msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
+msgstr "valeur '%s' de core.untrackedCache inconnue ; utilisation de 'keep' par défaut"
+
+#: config.c:1978
+#, c-format
+msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
+msgstr "la valeur '%d' de splitIndex.maxPercentChange devrait se situer entre 0 et 100"
+
+#: config.c:1989
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 "impossible d'analyser '%s' depuis le configuration en ligne de commande"
 
-#: config.c:1745
+#: config.c:1991
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 "variable de configuration '%s' incorrecte dans le fichier '%s' à la ligne %d"
 
-#: config.c:1804
+#: config.c:2050
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2225 config.c:2450
+#: config.c:2384 config.c:2609
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2343
+#: config.c:2502
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2345
+#: config.c:2504 builtin/remote.c:774
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
@@ -1621,20 +1645,20 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:3085
+#: diff.c:3102
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:3411
+#: diff.c:3428
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:3501
+#: diff.c:3518
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:3664
+#: diff.c:3681
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1643,24 +1667,24 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:3678
+#: diff.c:3695
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
 
-#: diff.c:4696
+#: diff.c:4719
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "détection de renommage inexact annulée à cause d'un trop grand nombre de "
 "fichiers."
 
-#: diff.c:4699
+#: diff.c:4722
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "recherche uniquement des copies par modification de chemin à cause d'un trop "
 "grand nombre de fichiers."
 
-#: diff.c:4702
+#: diff.c:4725
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1668,186 +1692,206 @@ msgstr ""
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:1862
+#: dir.c:1899
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:1981
+#: dir.c:2018
 msgid "Untracked cache is disabled on this system or location."
 msgstr "Le cache non suivi est désactivé sur ce système ou sur cet endroit."
 
-#: dir.c:2759
+#: dir.c:2776 dir.c:2781
+#, c-format
+msgid "could not create directories for %s"
+msgstr "impossible de créer les répertoires pour %s"
+
+#: dir.c:2806
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
 
-#: fetch-pack.c:213
+#: entry.c:280
+#, c-format
+msgid "could not stat file '%s'"
+msgstr "impossible de stat le fichier '%s'"
+
+#: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : list courte attendue"
 
-#: fetch-pack.c:225
+#: fetch-pack.c:261
 msgid "git fetch-pack: expected ACK/NAK, got EOF"
 msgstr "git fetch-pack : ACK/NACK attendu, EOF reçu"
 
-#: fetch-pack.c:243
+#: fetch-pack.c:279
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
 
-#: fetch-pack.c:295
+#: fetch-pack.c:331
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite multi_ack_detailed"
 
-#: fetch-pack.c:381
+#: fetch-pack.c:417
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "ligne de superficiel invalide : %s"
 
-#: fetch-pack.c:387
+#: fetch-pack.c:423
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "ligne de fin de superficiel invalide : %s"
 
-#: fetch-pack.c:389
+#: fetch-pack.c:425
 #, c-format
 msgid "object not found: %s"
 msgstr "objet non trouvé : %s"
 
-#: fetch-pack.c:392
+#: fetch-pack.c:428
 #, c-format
 msgid "error in object: %s"
 msgstr "Erreur dans l'objet : %s"
 
-#: fetch-pack.c:394
+#: fetch-pack.c:430
 #, c-format
 msgid "no shallow found: %s"
 msgstr "Pas de superficiel trouvé : %s"
 
-#: fetch-pack.c:397
+#: fetch-pack.c:433
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "superficiel/non superficiel attendu, %s trouvé"
 
-#: fetch-pack.c:436
+#: fetch-pack.c:472
 #, c-format
 msgid "got %s %d %s"
 msgstr "réponse %s %d %s"
 
-#: fetch-pack.c:450
+#: fetch-pack.c:486
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit invalide %s"
 
-#: fetch-pack.c:483
+#: fetch-pack.c:519
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:493 progress.c:235
+#: fetch-pack.c:529 progress.c:235
 msgid "done"
 msgstr "fait"
 
-#: fetch-pack.c:505
+#: fetch-pack.c:541
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s trouvé (%d) %s"
 
-#: fetch-pack.c:551
+#: fetch-pack.c:587
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marquage de %s comme terminé"
 
-#: fetch-pack.c:697
+#: fetch-pack.c:735
 #, c-format
 msgid "already have %s (%s)"
 msgstr "%s déjà possédé (%s)"
 
-#: fetch-pack.c:735
+#: fetch-pack.c:773
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
 
-#: fetch-pack.c:743
+#: fetch-pack.c:781
 msgid "protocol error: bad pack header"
 msgstr "erreur de protocole : mauvais entête de paquet"
 
-#: fetch-pack.c:799
+#: fetch-pack.c:837
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack : impossible de dupliquer %s"
 
-#: fetch-pack.c:815
+#: fetch-pack.c:853
 #, c-format
 msgid "%s failed"
 msgstr "échec de %s"
 
-#: fetch-pack.c:817
+#: fetch-pack.c:855
 msgid "error in sideband demultiplexer"
 msgstr "erreur dans le démultiplexer latéral"
 
-#: fetch-pack.c:844
+#: fetch-pack.c:882
 msgid "Server does not support shallow clients"
 msgstr "Le serveur ne supporte les clients superficiels"
 
-#: fetch-pack.c:848
+#: fetch-pack.c:886
 msgid "Server supports multi_ack_detailed"
 msgstr "Le serveur supporte multi_ack_detailed"
 
-#: fetch-pack.c:851
+#: fetch-pack.c:889
 msgid "Server supports no-done"
 msgstr "Le serveur support no-done"
 
-#: fetch-pack.c:857
+#: fetch-pack.c:895
 msgid "Server supports multi_ack"
 msgstr "Le serveur supporte multi_ack"
 
-#: fetch-pack.c:861
+#: fetch-pack.c:899
 msgid "Server supports side-band-64k"
 msgstr "Le serveur supporte side-band-64k"
 
-#: fetch-pack.c:865
+#: fetch-pack.c:903
 msgid "Server supports side-band"
 msgstr "Le serveru supporte side-band"
 
-#: fetch-pack.c:869
+#: fetch-pack.c:907
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "Le serveur supporte allow-tip-sha1-in-want"
 
-#: fetch-pack.c:873
+#: fetch-pack.c:911
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "Le serveur supporte allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:883
+#: fetch-pack.c:921
 msgid "Server supports ofs-delta"
 msgstr "Le serveur support ofs-delta"
 
-#: fetch-pack.c:890
+#: fetch-pack.c:928
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*s"
 
-#: fetch-pack.c:896
+#: fetch-pack.c:934
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:900
+#: fetch-pack.c:938
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:902
+#: fetch-pack.c:940
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:913
+#: fetch-pack.c:951
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:925
+#: fetch-pack.c:963
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1087
+#: fetch-pack.c:1125
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
+#: fetch-pack.c:1147
+#, c-format
+msgid "no such remote ref %s"
+msgstr "référence distante inconnue %s"
+
+#: fetch-pack.c:1150
+#, c-format
+msgid "Server does not allow request for unadvertised object %s"
+msgstr "Le serveur n'autorise pas de requête pour l'objet %s non annoncé"
+
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
 msgstr "gpg n'a pas pu signer les données"
@@ -1866,17 +1910,17 @@ msgstr "impossible d'écrire la signature détachée dans '%s'"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "couleur invalide '%.*s' ignorée dans log.graphColors"
 
-#: grep.c:1794
+#: grep.c:1796
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
+#: grep.c:1813 builtin/clone.c:399 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:1822
+#: grep.c:1824
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
@@ -1946,7 +1990,7 @@ msgstr[1] ""
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: ident.c:334
+#: ident.c:343
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -1972,6 +2016,39 @@ msgstr ""
 "Éliminez --global pour ne faire les réglages que dans ce dépôt.\n"
 "\n"
 
+#: ident.c:367
+msgid "no email was given and auto-detection is disabled"
+msgstr "aucun courriel fourni et l'auto-détection est désactivée"
+
+#: ident.c:372
+#, c-format
+msgid "unable to auto-detect email address (got '%s')"
+msgstr "impossible de détecter automatiquement l'adresse ('%s' trouvé)"
+
+#: ident.c:382
+msgid "no name was given and auto-detection is disabled"
+msgstr "aucun nom fourni et l'auto-détection est désactivée"
+
+#: ident.c:388
+#, c-format
+msgid "unable to auto-detect name (got '%s')"
+msgstr "impossible de détecter automatiquement le nom ('%s' trouvé)"
+
+#: ident.c:396
+#, c-format
+msgid "empty ident name (for <%s>) not allowed"
+msgstr "nom d'identifiant vide (pour <%s>) non permis"
+
+#: ident.c:402
+#, c-format
+msgid "name consists only of disallowed characters: %s"
+msgstr "le nom n'est constitué que de caractères interdits : %s"
+
+#: ident.c:417 builtin/commit.c:611
+#, c-format
+msgid "invalid date format: %s"
+msgstr "format de date invalide : %s"
+
 #: lockfile.c:152
 #, c-format
 msgid ""
@@ -2000,8 +2077,8 @@ msgstr "Impossible de créer '%s.lock' : %s"
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:374
-#: builtin/checkout.c:588 builtin/clone.c:731
+#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:393
+#: builtin/checkout.c:607 builtin/clone.c:749
 msgid "unable to write new index file"
 msgstr "impossible d'écrire le nouveau fichier d'index"
 
@@ -2071,7 +2148,7 @@ msgstr "Échec à l'exécution de la fusion interne"
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1088 merge-recursive.c:1102
+#: merge-recursive.c:1092
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2080,7 +2157,14 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre."
 
-#: merge-recursive.c:1094 merge-recursive.c:1107
+#: merge-recursive.c:1097
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
+"left in tree."
+msgstr "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version %s de %s laissée dans l'arbre."
+
+#: merge-recursive.c:1104
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2089,20 +2173,27 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1150
+#: merge-recursive.c:1109
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
+"left in tree at %s."
+msgstr "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version %s de %s laissée dans l'arbre dans le fichier %s."
+
+#: merge-recursive.c:1143
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1150
+#: merge-recursive.c:1143
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1207
+#: merge-recursive.c:1200
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s est un répertoire dans %s ajouté plutôt comme %s"
 
-#: merge-recursive.c:1232
+#: merge-recursive.c:1225
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2111,137 +2202,137 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1237
+#: merge-recursive.c:1230
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1299
+#: merge-recursive.c:1292
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "CONFLIT (renommage/renommage) : renommage '%s'->'%s' dans %s. Renommage '%s'-"
 ">'%s' dans %s"
 
-#: merge-recursive.c:1332
+#: merge-recursive.c:1325
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Renommage de %s en %s et de %s en %s à la place"
 
-#: merge-recursive.c:1535
+#: merge-recursive.c:1528
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1550
+#: merge-recursive.c:1543
 #, c-format
 msgid "Adding merged %s"
 msgstr "Ajout de %s fusionné"
 
-#: merge-recursive.c:1557 merge-recursive.c:1771
+#: merge-recursive.c:1550 merge-recursive.c:1780
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:1614
+#: merge-recursive.c:1607
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:1617
+#: merge-recursive.c:1610
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:1670
+#: merge-recursive.c:1679
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:1670
+#: merge-recursive.c:1679
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:1680
+#: merge-recursive.c:1689
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:1687
+#: merge-recursive.c:1696
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:1723
+#: merge-recursive.c:1732
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1746
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1741 git-submodule.sh:930
+#: merge-recursive.c:1750 git-submodule.sh:944
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:1742
+#: merge-recursive.c:1751
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:1836
+#: merge-recursive.c:1845
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:1862
+#: merge-recursive.c:1871
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1877
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:1874
+#: merge-recursive.c:1883
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "CONFLIT (%s) : Il y a un répertoire nommé %s dans %s. Ajout de %s comme %s"
 
-#: merge-recursive.c:1883
+#: merge-recursive.c:1892
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:1920
+#: merge-recursive.c:1929
 msgid "Already up-to-date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:1929
+#: merge-recursive.c:1938
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:2012
+#: merge-recursive.c:2021
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:2025
+#: merge-recursive.c:2034
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "%u ancêtre commun trouvé :"
 msgstr[1] "%u ancêtres communs trouvés :"
 
-#: merge-recursive.c:2064
+#: merge-recursive.c:2073
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:2127
+#: merge-recursive.c:2136
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
+#: merge-recursive.c:2150 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
@@ -2317,18 +2408,35 @@ msgstr "-NUM"
 msgid "malformed object name '%s'"
 msgstr "nom d'objet malformé '%s'"
 
-#: path.c:826
+#: path.c:805
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
 
-#: pathspec.c:142
+#: pathspec.c:125
+msgid "Escape character '\\' not allowed as last character in attr value"
+msgstr "Le caractère d'échappement '\\\\' interdit comme dernier caractère dans une valeur d'attribut"
+
+#: pathspec.c:143
+msgid "Only one 'attr:' specification is allowed."
+msgstr "Une seule spécification 'attr:' est autorisée."
+
+#: pathspec.c:146
+msgid "attr spec must not be empty"
+msgstr "un spécificateur d'attribut ne peut pas être vide"
+
+#: pathspec.c:189
+#, c-format
+msgid "invalid attribute name %s"
+msgstr "nom d'attribut invalide %s"
+
+#: pathspec.c:254
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "les réglages de spécificateurs de chemin généraux 'glob' et 'noglob' sont "
 "incompatibles"
 
-#: pathspec.c:149
+#: pathspec.c:261
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2336,53 +2444,53 @@ msgstr ""
 "le réglage global de spécificateur de chemin 'literal' est incompatible avec "
 "tous les autres réglages globaux de spécificateur de chemin"
 
-#: pathspec.c:188
+#: pathspec.c:301
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'"
 
-#: pathspec.c:201
+#: pathspec.c:322
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'"
 
-#: pathspec.c:206
+#: pathspec.c:327
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "')' manquante à la fin du spécificateur magique de chemin dans '%s'"
 
-#: pathspec.c:238
+#: pathspec.c:365
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Spécificateur magique '%c' non implémenté dans '%s'"
 
-#: pathspec.c:293 pathspec.c:315
+#: pathspec.c:421 pathspec.c:443
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: pathspec.c:350
+#: pathspec.c:483
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s : 'literal' et 'glob' sont incompatibles"
 
-#: pathspec.c:363
+#: pathspec.c:496
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s : '%s' est hors du dépôt"
 
-#: pathspec.c:451
+#: pathspec.c:584
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s' (mnémonique : '%c')"
 
-#: pathspec.c:461
+#: pathspec.c:594
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s : le spécificateur magique de chemin n'est pas supporté par cette "
 "commande : %s"
 
-#: pathspec.c:511
+#: pathspec.c:644
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2391,19 +2499,11 @@ msgstr ""
 "invalides dans les prochaines versions. Veuillez utiliser . à la place pour "
 "correspondre à tous le chemins"
 
-#: pathspec.c:535
+#: pathspec.c:668
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
-#: pathspec.c:544
-msgid ""
-"There is nothing to exclude from by :(exclude) patterns.\n"
-"Perhaps you forgot to add either ':/' or '.' ?"
-msgstr ""
-"Il n'y a rien dont il faut exclure par des motifs :(exclure).\n"
-"Peut-être avez-vous oublié d'ajouter ':/' ou '.' ?"
-
 #: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
@@ -2426,161 +2526,270 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: refs.c:576 builtin/merge.c:844
+#: read-cache.c:2232
+#, c-format
+msgid "could not stat '%s"
+msgstr "stat impossible de '%s'"
+
+#: read-cache.c:2232
+#, c-format
+msgid "could not stat '%s'"
+msgstr "stat impossible de '%s'"
+
+#: read-cache.c:2245
+#, c-format
+msgid "unable to open git dir: %s"
+msgstr "impossible d'ouvrir le répertoire git : %s"
+
+#: read-cache.c:2257
+#, c-format
+msgid "unable to unlink: %s"
+msgstr "échec lors de l'unlink : %s"
+
+#: refs.c:619 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Impossible d'ouvrir '%s' en écriture"
 
-#: refs/files-backend.c:2481
+#: refs/files-backend.c:2531
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "Impossible de supprimer la référence %s : %s"
 
-#: refs/files-backend.c:2484
+#: refs/files-backend.c:2534
 #, c-format
 msgid "could not delete references: %s"
 msgstr "impossible de supprimer les références : %s"
 
-#: refs/files-backend.c:2493
+#: refs/files-backend.c:2543
 #, c-format
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: ref-filter.c:56
+# à priori on parle d'une branche ici
+#: ref-filter.c:35 wt-status.c:1780
+msgid "gone"
+msgstr "disparue"
+
+#: ref-filter.c:36
+#, c-format
+msgid "ahead %d"
+msgstr "en avance de %d"
+
+#: ref-filter.c:37
+#, c-format
+msgid "behind %d"
+msgstr "en retard de %d"
+
+#: ref-filter.c:38
+#, c-format
+msgid "ahead %d, behind %d"
+msgstr "en avance de %d, en retard de %d"
+
+#: ref-filter.c:104
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:58
+#: ref-filter.c:106
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:72
+#: ref-filter.c:120
+#, c-format
+msgid "Integer value expected refname:lstrip=%s"
+msgstr "Valeur entière attendue refname:lstrip=%s"
+
+#: ref-filter.c:124
 #, c-format
-msgid "unrecognized format: %%(%s)"
-msgstr "format non reconnu %%(%s)"
+msgid "Integer value expected refname:rstrip=%s"
+msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:78
+#: ref-filter.c:126
+#, c-format
+msgid "unrecognized %%(%s) argument: %s"
+msgstr "argument %%(%s) non reconnu : %s"
+
+#: ref-filter.c:166
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:85
+#: ref-filter.c:173
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:92
+#: ref-filter.c:180
 #, c-format
 msgid "%%(trailers) does not take arguments"
 msgstr "%%(trailers) n'accepte pas d'argument"
 
-#: ref-filter.c:111
+#: ref-filter.c:199
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:113
+#: ref-filter.c:201
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:123
+#: ref-filter.c:214
+#, c-format
+msgid "positive value expected objectname:short=%s"
+msgstr "valeur positive attendue objectname:short=%s"
+
+#: ref-filter.c:218
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:145
+#: ref-filter.c:245
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:157
+#: ref-filter.c:257
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:261
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:167
+#: ref-filter.c:267
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:171
+#: ref-filter.c:271
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:255
+#: ref-filter.c:286
+#, c-format
+msgid "unrecognized %%(if) argument: %s"
+msgstr "argument %%(if) non reconnu : %s"
+
+#: ref-filter.c:371
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:281
+#: ref-filter.c:397
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:383
+#: ref-filter.c:501
+#, c-format
+msgid "format: %%(if) atom used without a %%(then) atom"
+msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
+
+#: ref-filter.c:561
+#, c-format
+msgid "format: %%(then) atom used without an %%(if) atom"
+msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
+
+#: ref-filter.c:563
+#, c-format
+msgid "format: %%(then) atom used more than once"
+msgstr "format : atome %%(then) utilisé plus d'une fois"
+
+#: ref-filter.c:565
+#, c-format
+msgid "format: %%(then) atom used after %%(else)"
+msgstr "format: atome %%(then) utilisé après %%(else)"
+
+#: ref-filter.c:591
+#, c-format
+msgid "format: %%(else) atom used without an %%(if) atom"
+msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
+
+#: ref-filter.c:593
+#, c-format
+msgid "format: %%(else) atom used without a %%(then) atom"
+msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
+
+#: ref-filter.c:595
+#, c-format
+msgid "format: %%(else) atom used more than once"
+msgstr "format : atome %%(else) utilisé plus d'une fois"
+
+#: ref-filter.c:608
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:435
+#: ref-filter.c:663
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:898
-msgid ":strip= requires a positive integer argument"
-msgstr ":strip= requiert un argument entier positif"
+#: ref-filter.c:1247
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr "(aucune branche, rebasage de %s)"
 
-#: ref-filter.c:903
+#: ref-filter.c:1250
 #, c-format
-msgid "ref '%s' does not have %ld components to :strip"
-msgstr "la réf '%s' n'a pas %ld composants à :strip"
+msgid "(no branch, bisect started on %s)"
+msgstr "(aucune branche, bisect a démarré sur %s)"
 
-#: ref-filter.c:1066
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached at " in wt-status.c
+#: ref-filter.c:1256
 #, c-format
-msgid "unknown %.*s format %s"
-msgstr "format de %.*s inconnu %s"
+msgid "(HEAD detached at %s)"
+msgstr "(HEAD détachée sur %s)"
 
-#: ref-filter.c:1086 ref-filter.c:1117
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached from " in wt-status.c
+#: ref-filter.c:1261
+#, c-format
+msgid "(HEAD detached from %s)"
+msgstr "(HEAD détachée depuis %s)"
+
+#: ref-filter.c:1265
+msgid "(no branch)"
+msgstr "(aucune branche)"
+
+#: ref-filter.c:1420 ref-filter.c:1451
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1089 ref-filter.c:1120
+#: ref-filter.c:1423 ref-filter.c:1454
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "echec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1343
+#: ref-filter.c:1692
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:1410
+#: ref-filter.c:1759
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:1415
+#: ref-filter.c:1764
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: ref-filter.c:1670
+#: ref-filter.c:2028
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:1734
+#: ref-filter.c:2109
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
@@ -2732,15 +2941,25 @@ msgstr "échec de l'ouverture de /dev/null"
 msgid "dup2(%d,%d) failed"
 msgstr "échec de dup2(%d,%d)"
 
-#: send-pack.c:297
+#: send-pack.c:150
+#, c-format
+msgid "unable to parse remote unpack status: %s"
+msgstr "impossible d'analyser le status de dépaquetage remote : %s"
+
+#: send-pack.c:152
+#, c-format
+msgid "remote unpack failed: %s"
+msgstr "le dépaquetage a échoué : %s"
+
+#: send-pack.c:315
 msgid "failed to sign the push certificate"
 msgstr "impossible de signer le certificat de poussée"
 
-#: send-pack.c:410
+#: send-pack.c:428
 msgid "the receiving end does not support --signed push"
 msgstr "Le receveur ne gère pas les poussées avec --signed"
 
-#: send-pack.c:412
+#: send-pack.c:430
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -2748,11 +2967,11 @@ msgstr ""
 "pas d'envoi de certificat de poussée car le receveur ne gère pas les "
 "poussées avec --signed"
 
-#: send-pack.c:424
+#: send-pack.c:442
 msgid "the receiving end does not support --atomic push"
 msgstr "Le receveur ne gère pas les poussées avec --atomic"
 
-#: send-pack.c:429
+#: send-pack.c:447
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
@@ -2791,12 +3010,12 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:294 sequencer.c:1667
+#: sequencer.c:294 sequencer.c:1675
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
+#: sequencer.c:297 sequencer.c:1553 sequencer.c:1680 sequencer.c:1694
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
@@ -2806,13 +3025,13 @@ msgstr "impossible d'écrire dans '%s'"
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
+#: sequencer.c:305 sequencer.c:1558 sequencer.c:1682
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "échec lors de la finalisation de '%s'."
 
-#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
-#: builtin/commit.c:749 builtin/merge.c:1036
+#: sequencer.c:329 sequencer.c:814 sequencer.c:1579 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1018
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
@@ -2876,17 +3095,17 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:688
+#: sequencer.c:694
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "impossible d'analyser le commit %s\n"
 
-#: sequencer.c:693
+#: sequencer.c:699
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "impossible d'analyser le commit parent %s\n"
 
-#: sequencer.c:815
+#: sequencer.c:821
 #, c-format
 msgid ""
 "unexpected 1st line of squash message:\n"
@@ -2897,7 +3116,7 @@ msgstr ""
 "\n"
 "\t%.*s"
 
-#: sequencer.c:821
+#: sequencer.c:827
 #, c-format
 msgid ""
 "invalid 1st line of squash message:\n"
@@ -2908,232 +3127,232 @@ msgstr ""
 "\n"
 "\t%.*s"
 
-#: sequencer.c:827 sequencer.c:852
+#: sequencer.c:833 sequencer.c:858
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:836
+#: sequencer.c:842
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:838
+#: sequencer.c:844
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:840
+#: sequencer.c:846
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:846
+#: sequencer.c:852
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:855 git-rebase--interactive.sh:445
+#: sequencer.c:861 git-rebase--interactive.sh:445
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:863
+#: sequencer.c:869
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:870
+#: sequencer.c:876
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:875
+#: sequencer.c:881
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:880
+#: sequencer.c:886
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:946
+#: sequencer.c:952
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:964
+#: sequencer.c:970
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "le commit %s est une fusion mais l'option -m n'a pas été spécifiée."
 
-#: sequencer.c:972
+#: sequencer.c:978
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:976
+#: sequencer.c:982
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "une branche principale a été spécifiée mais le commit %s n'est pas une "
 "fusion."
 
-#: sequencer.c:982
+#: sequencer.c:988
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "impossible d'obtenir un message de validation pour %s"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1001
+#: sequencer.c:1009
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1063 sequencer.c:1812
+#: sequencer.c:1071 sequencer.c:1820
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1114
+#: sequencer.c:1122
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1115
+#: sequencer.c:1123
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:1157
+#: sequencer.c:1165
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:1167
+#: sequencer.c:1175
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:1174
+#: sequencer.c:1182
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:1294
+#: sequencer.c:1302
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:1302
+#: sequencer.c:1310
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:1334
+#: sequencer.c:1342
 #, c-format
 msgid "could not read '%s'."
 msgstr "impossible de lire '%s'."
 
-#: sequencer.c:1341
+#: sequencer.c:1349
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:1343
+#: sequencer.c:1351
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:1348
+#: sequencer.c:1356
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:1359
+#: sequencer.c:1367
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:1361
+#: sequencer.c:1369
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:1424
+#: sequencer.c:1432
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: sequencer.c:1427
+#: sequencer.c:1435
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:1484
+#: sequencer.c:1492
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:1522
+#: sequencer.c:1530
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un picorage ou un retour est déjà en cours"
 
-#: sequencer.c:1523
+#: sequencer.c:1531
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
 
-#: sequencer.c:1526
+#: sequencer.c:1534
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:1540
+#: sequencer.c:1548
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:1596 sequencer.c:2150
+#: sequencer.c:1604 sequencer.c:2159
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:1598
+#: sequencer.c:1606
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:1600 sequencer.c:1634
+#: sequencer.c:1608 sequencer.c:1642
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:1620 builtin/grep.c:904
+#: sequencer.c:1628 builtin/grep.c:910
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:1622
+#: sequencer.c:1630
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:1623
+#: sequencer.c:1631
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:1629
+#: sequencer.c:1637
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "le fichier HEAD de préparation de picorage '%s' est corrompu"
 
-#: sequencer.c:1640
+#: sequencer.c:1648
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 "Vous semblez avoir déplacé la HEAD. Pas de rembobinage, vérifiez votre HEAD !"
 
-#: sequencer.c:1777 sequencer.c:2049
+#: sequencer.c:1785 sequencer.c:2058
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1817 builtin/difftool.c:574
+#: sequencer.c:1825 builtin/difftool.c:616
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:1833
+#: sequencer.c:1841
 msgid "could not read index"
 msgstr "impossible de lire l'index"
 
-#: sequencer.c:1838
+#: sequencer.c:1846
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3148,11 +3367,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1844
+#: sequencer.c:1852
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "et a mis à jour l'index ou l'arbre de travail\n"
 
-#: sequencer.c:1850
+#: sequencer.c:1858
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3169,17 +3388,17 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1905 git-rebase.sh:168
+#: sequencer.c:1913 git-rebase.sh:168
 #, c-format
 msgid "Applied autostash."
 msgstr "Autoremisage appliqué."
 
-#: sequencer.c:1917
+#: sequencer.c:1925
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:1919 git-rebase.sh:172
+#: sequencer.c:1927 git-rebase.sh:172
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3190,57 +3409,57 @@ msgstr ""
 "Vos  modifications sont à l'abri dans la remise.\n"
 "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
 
-#: sequencer.c:2000
+#: sequencer.c:2009
 #, c-format
-msgid "stopped at %s... %.*s"
-msgstr "arrêt à %s... %.*s"
+msgid "Stopped at %s...  %.*s\n"
+msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:2027
+#: sequencer.c:2036
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:2057
+#: sequencer.c:2066
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:2061
+#: sequencer.c:2070
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:2068
+#: sequencer.c:2077
 #, c-format
 msgid "could not update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: sequencer.c:2075
+#: sequencer.c:2084
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:2159
+#: sequencer.c:2168
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:2164
+#: sequencer.c:2173
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:2173
+#: sequencer.c:2182
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:2175
+#: sequencer.c:2184
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:2177
+#: sequencer.c:2186
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:2180
+#: sequencer.c:2189
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -3250,25 +3469,25 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: sequencer.c:2190
+#: sequencer.c:2199
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:2270
+#: sequencer.c:2279
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:2274
+#: sequencer.c:2283
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:2307
+#: sequencer.c:2316
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: setup.c:160
+#: setup.c:165
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -3278,7 +3497,7 @@ msgstr ""
 "Utilisez 'git <commande> -- <chemin>...' pour spécifier des chemins qui "
 "n'existent pas localement."
 
-#: setup.c:173
+#: setup.c:178
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -3289,7 +3508,7 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:223
+#: setup.c:228
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -3300,29 +3519,34 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:470
+#: setup.c:475
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:478
+#: setup.c:483
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:768
+#: setup.c:776
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Ni ceci ni aucun de ses répertoires parents n'est un dépôt git : %s"
 
-#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
+#: setup.c:778 builtin/index-pack.c:1646
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: setup.c:852
+#: setup.c:1010
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:927
+#: setup.c:1022 setup.c:1028
+#, c-format
+msgid "Cannot change to '%s'"
+msgstr "Impossible de modifié en '%s'"
+
+#: setup.c:1041
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3333,12 +3557,7 @@ msgstr ""
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas activé)."
 
-#: setup.c:934
-#, c-format
-msgid "Cannot change to '%s/..'"
-msgstr "Impossible de se déplacer vers le répertoire '%s/..'"
-
-#: setup.c:996
+#: setup.c:1106
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3348,58 +3567,58 @@ msgstr ""
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: sha1_file.c:490
+#: sha1_file.c:559
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1_file.c:516
+#: sha1_file.c:585
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "extraire le dépôt de référence '%s' comme une extraction liée n'est pas "
 "encore supporté."
 
-#: sha1_file.c:522
+#: sha1_file.c:591
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "le dépôt de référence '%s' n'est pas un dépôt local."
 
-#: sha1_file.c:528
+#: sha1_file.c:597
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1_file.c:536
+#: sha1_file.c:605
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1_file.c:1176
+#: sha1_file.c:1245
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: sha1_file.c:2637
+#: sha1_file.c:2721
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "offset avant le début de l'index de paquet pour %s (index corrompu ?)"
 
-#: sha1_file.c:2641
+#: sha1_file.c:2725
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "offset au delà de la fin de l'index de paquet pour %s (index tronqué ?)"
 
-#: sha1_name.c:407
+#: sha1_name.c:409
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "le SHA1 court %s est ambigu"
 
-#: sha1_name.c:418
+#: sha1_name.c:420
 msgid "The candidates are:"
 msgstr "Les candidats sont :"
 
-#: sha1_name.c:578
+#: sha1_name.c:580
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -3424,47 +3643,57 @@ msgstr ""
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
-#: submodule.c:65 submodule.c:99
+#: submodule.c:67 submodule.c:101
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Modification impossible de .gitmodules non fusionné, résolvez les conflits "
 "d'abord"
 
-#: submodule.c:69 submodule.c:103
+#: submodule.c:71 submodule.c:105
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Impossible de trouver une section où path=%s dans .gitmodules"
 
-#: submodule.c:77
+#: submodule.c:79
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
 
 # ici %s est un chemin
-#: submodule.c:110
+#: submodule.c:112
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Impossible de supprimer l'élément de .gitmodules pour %s"
 
-#: submodule.c:121
+#: submodule.c:123
 msgid "staging updated .gitmodules failed"
 msgstr "échec de la mise en index du .gitmodules mis à jour"
 
-#: submodule.c:159
+#: submodule.c:161
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
 
-#: submodule.c:1184
+#: submodule.c:1194
+#, c-format
+msgid "'%s' not recognized as a git repository"
+msgstr "'%s' n'est pas reconnu comme dépôt git"
+
+#: submodule.c:1332
 #, c-format
-msgid "could not start 'git status in submodule '%s'"
+msgid "could not start 'git status' in submodule '%s'"
 msgstr "impossible de démarrer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1197
+#: submodule.c:1345
 #, c-format
-msgid "could not run 'git status in submodule '%s'"
+msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1398
+#: submodule.c:1421
+#, c-format
+msgid "submodule '%s' has dirty index"
+msgstr "le sous-module '%s' a un index sale"
+
+#: submodule.c:1679
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -3472,18 +3701,18 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:1410 submodule.c:1471
+#: submodule.c:1691 submodule.c:1747
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
-#: builtin/submodule--helper.c:650
+#: submodule.c:1695 builtin/submodule--helper.c:678
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "impossible de créer le répertoire '%s'"
 
-#: submodule.c:1420
+#: submodule.c:1698
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -3494,12 +3723,25 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:1512
+#: submodule.c:1782
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: submodule-config.c:360
+#: submodule.c:1826
+msgid "could not start ls-files in .."
+msgstr "impossible de démarrer ls-files dans .."
+
+#: submodule.c:1846
+msgid "BUG: returned path string doesn't match cwd?"
+msgstr "BUG : le chemin renvoyé ne correspond pas à cwd ?"
+
+#: submodule.c:1865
+#, c-format
+msgid "ls-tree returned unexpected return code %d"
+msgstr "ls-tree a renvoyé un code de retour inattendu %d"
+
+#: submodule-config.c:380
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
@@ -3568,7 +3810,7 @@ msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:885
+#: transport.c:889
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3577,7 +3819,7 @@ msgstr ""
 "Les chemins suivant de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:889
+#: transport.c:893
 #, c-format
 msgid ""
 "\n"
@@ -3604,11 +3846,11 @@ msgstr ""
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:897
+#: transport.c:901
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport-helper.c:1082
+#: transport-helper.c:1080
 #, c-format
 msgid "Could not read ref %s"
 msgstr "impossible de lire la réf %s"
@@ -3629,7 +3871,7 @@ msgstr "nom de fichier vide dans une entrée de l'arbre"
 msgid "too-short tree file"
 msgstr "fichier arbre trop court"
 
-#: unpack-trees.c:99
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3640,7 +3882,7 @@ msgstr ""
 "%%sVeuillez valider ou remiser vos modifications avant de basculer de "
 "branche."
 
-#: unpack-trees.c:101
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3650,7 +3892,7 @@ msgstr ""
 "l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:104
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3660,7 +3902,7 @@ msgstr ""
 "fusion :\n"
 "%%sVeuillez valider ou remiser vos modifications avant la fusion."
 
-#: unpack-trees.c:106
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3670,7 +3912,7 @@ msgstr ""
 "fusion :\n"
 "%%s"
 
-#: unpack-trees.c:109
+#: unpack-trees.c:114
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3679,7 +3921,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%sVeuillez valider ou remiser vos modifications avant %s."
 
-#: unpack-trees.c:111
+#: unpack-trees.c:116
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3688,7 +3930,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:121
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -3698,7 +3940,7 @@ msgstr ""
 "contenus :\n"
 "%s"
 
-#: unpack-trees.c:120
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3708,7 +3950,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:122
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3717,7 +3959,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:125
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3727,7 +3969,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:127
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3736,7 +3978,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:130
+#: unpack-trees.c:135
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3746,7 +3988,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:132
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3755,7 +3997,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3766,7 +4008,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3776,7 +4018,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:142
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3786,7 +4028,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3795,7 +4037,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:147
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3805,7 +4047,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:149
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3814,12 +4056,12 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:156
+#: unpack-trees.c:161
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrée '%s' surcharge avec '%s'. Affectation impossible."
 
-#: unpack-trees.c:159
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3829,7 +4071,7 @@ msgstr ""
 "pas à jour :\n"
 "%s"
 
-#: unpack-trees.c:161
+#: unpack-trees.c:166
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3840,7 +4082,7 @@ msgstr ""
 "jour par l'extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:163
+#: unpack-trees.c:168
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3851,45 +4093,59 @@ msgstr ""
 "à jour par extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:240
+#: unpack-trees.c:170
+#, c-format
+msgid ""
+"Cannot update submodule:\n"
+"%s"
+msgstr ""
+"Mise à jour impossible pour le sous-module :\n"
+"%s"
+
+#: unpack-trees.c:247
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:270
+#: unpack-trees.c:272
+#, c-format
+msgid "submodule update strategy not supported for submodule '%s'"
+msgstr "stratégie de mise à jour de sous-module non supportée pour le sous-module '%s'"
+
+#: unpack-trees.c:340
 msgid "Checking out files"
 msgstr "Extraction des fichiers"
 
-#: urlmatch.c:120
+#: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "nom de schéma d'URL invalide ou suffixe '://' manquant"
 
-#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
 #, c-format
 msgid "invalid %XX escape sequence"
 msgstr "séquence d'échappement %XX invalide"
 
-#: urlmatch.c:172
+#: urlmatch.c:215
 msgid "missing host and scheme is not 'file:'"
 msgstr "hôte manquant et le schéma n'est pas 'file:'"
 
-#: urlmatch.c:189
+#: urlmatch.c:232
 msgid "a 'file:' URL may not have a port number"
 msgstr "une URL 'file:' ne peut pas contenir de numéro de port"
 
-#: urlmatch.c:199
+#: urlmatch.c:247
 msgid "invalid characters in host name"
 msgstr "caractères invalides dans le nom d'hôte"
 
-#: urlmatch.c:244 urlmatch.c:255
+#: urlmatch.c:292 urlmatch.c:303
 msgid "invalid port number"
 msgstr "numéro de port invalide"
 
-#: urlmatch.c:322
+#: urlmatch.c:371
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:282
+#: worktree.c:285
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
@@ -3905,27 +4161,27 @@ msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1015
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
 
-#: wrapper.c:605 wrapper.c:626
+#: wrapper.c:581 wrapper.c:602
 #, c-format
 msgid "unable to access '%s'"
 msgstr "impossible d'accéder à '%s'"
 
-#: wrapper.c:634
+#: wrapper.c:610
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
-#: wrapper.c:658
+#: wrapper.c:634
 #, c-format
 msgid "could not write to %s"
 msgstr "Impossible d'écrire dans %s"
 
-#: wrapper.c:660
+#: wrapper.c:636
 #, c-format
 msgid "could not close %s"
 msgstr "impossible de fermer %s"
@@ -3957,11 +4213,11 @@ msgstr ""
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git rm <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:199 wt-status.c:945
+#: wt-status.c:199 wt-status.c:958
 msgid "Changes to be committed:"
 msgstr "Modifications qui seront validées :"
 
-#: wt-status.c:217 wt-status.c:954
+#: wt-status.c:217 wt-status.c:967
 msgid "Changes not staged for commit:"
 msgstr "Modifications qui ne seront pas validées :"
 
@@ -4066,15 +4322,15 @@ msgstr "contenu modifié, "
 msgid "untracked content, "
 msgstr "contenu non suivi, "
 
-#: wt-status.c:818
+#: wt-status.c:831
 msgid "Submodules changed but not updated:"
 msgstr "Sous-modules modifiés mais non mis à jour :"
 
-#: wt-status.c:820
+#: wt-status.c:833
 msgid "Submodule changes to be committed:"
 msgstr "Changements du sous-module à valider :"
 
-#: wt-status.c:901
+#: wt-status.c:914
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -4082,107 +4338,107 @@ msgstr ""
 "Ne touchez pas à la ligne ci-dessus\n"
 "Tout ce qui suit sera éliminé."
 
-#: wt-status.c:1013
+#: wt-status.c:1026
 msgid "You have unmerged paths."
 msgstr "Vous avez des chemins non fusionnés."
 
-#: wt-status.c:1016
+#: wt-status.c:1029
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (réglez les conflits puis lancez \"git commit\")"
 
-#: wt-status.c:1018
+#: wt-status.c:1031
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (utilisez \"git merge --abort\" pour annuler la fusion)"
 
-#: wt-status.c:1023
+#: wt-status.c:1036
 msgid "All conflicts fixed but you are still merging."
 msgstr "Tous les conflits sont réglés mais la fusion n'est pas terminée."
 
-#: wt-status.c:1026
+#: wt-status.c:1039
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (utilisez \"git commit\" pour terminer la fusion)"
 
-#: wt-status.c:1036
+#: wt-status.c:1049
 msgid "You are in the middle of an am session."
 msgstr "Vous êtes au milieu d'une session am."
 
-#: wt-status.c:1039
+#: wt-status.c:1052
 msgid "The current patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: wt-status.c:1043
+#: wt-status.c:1056
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git am --continue\")"
 
-#: wt-status.c:1045
+#: wt-status.c:1058
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1047
+#: wt-status.c:1060
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1176
+#: wt-status.c:1189
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo est manquant."
 
-#: wt-status.c:1178
+#: wt-status.c:1191
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1181
+#: wt-status.c:1194
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Dernière commande effectuée (%d commande effectuée) :"
 msgstr[1] "Dernières commandes effectuées (%d commandes effectuées) :"
 
-#: wt-status.c:1192
+#: wt-status.c:1205
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1197
+#: wt-status.c:1210
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1200
+#: wt-status.c:1213
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Prochaine commande à effectuer (%d commande restante) :"
 msgstr[1] "Prochaines commandes à effectuer (%d commandes restantes) :"
 
-#: wt-status.c:1208
+#: wt-status.c:1221
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1221
+#: wt-status.c:1234
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Vous êtes en train de rebaser la branche '%s' sur '%s'."
 
-#: wt-status.c:1226
+#: wt-status.c:1239
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1240
+#: wt-status.c:1253
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1242
+#: wt-status.c:1255
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1244
+#: wt-status.c:1257
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (utilisez \"git rebase --abort\" pour extraire la branche d'origine)"
 
-#: wt-status.c:1250
+#: wt-status.c:1263
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1254
+#: wt-status.c:1267
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -4190,124 +4446,124 @@ msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1259
+#: wt-status.c:1272
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage."
 
-#: wt-status.c:1262
+#: wt-status.c:1275
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Une fois la copie de travail nettoyée, lancez \"git rebase --continue\")"
 
-#: wt-status.c:1266
+#: wt-status.c:1279
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Vous êtes actuellement en train d'éditer un commit pendant un rebasage de la "
 "branche '%s' sur '%s'."
 
-#: wt-status.c:1271
+#: wt-status.c:1284
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 "Vous êtes actuellement en train d'éditer un commit pendant un rebasage."
 
-#: wt-status.c:1274
+#: wt-status.c:1287
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1276
+#: wt-status.c:1289
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (utilisez \"git rebase --continue\" quand vous avez effectué toutes vos "
 "modifications)"
 
-#: wt-status.c:1286
+#: wt-status.c:1299
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1291
+#: wt-status.c:1304
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1294
+#: wt-status.c:1307
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1296
+#: wt-status.c:1309
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (utilisez \"git cherry-pick --abort\" pour annuler le picorage)"
 
-#: wt-status.c:1305
+#: wt-status.c:1318
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1310
+#: wt-status.c:1323
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1313
+#: wt-status.c:1326
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1315
+#: wt-status.c:1328
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1326
+#: wt-status.c:1339
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Vous êtes en cours de bissection, depuis la branche '%s'."
 
-#: wt-status.c:1330
+#: wt-status.c:1343
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1333
+#: wt-status.c:1346
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (utilisez \"git bisect reset\" pour revenir à la branche d'origine)"
 
-#: wt-status.c:1530
+#: wt-status.c:1543
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1536
+#: wt-status.c:1549
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1538
+#: wt-status.c:1551
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1543
+#: wt-status.c:1556
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.c:1545
+#: wt-status.c:1558
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
-#: wt-status.c:1548
+#: wt-status.c:1561
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1566
+#: wt-status.c:1579
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1580
+#: wt-status.c:1593
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1582
+#: wt-status.c:1595
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1586
+#: wt-status.c:1599
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4319,32 +4575,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1592
+#: wt-status.c:1605
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1594
+#: wt-status.c:1607
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1600
+#: wt-status.c:1613
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1605
+#: wt-status.c:1618
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "aucune modification n'a été ajoutée à la validation (utilisez \"git add\" ou "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1621
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1624
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -4353,72 +4609,67 @@ msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents (utilisez \"git add\" pour les suivre)\n"
 
-#: wt-status.c:1614
+#: wt-status.c:1627
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1630
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "rien à valider (créez/copiez des fichiers et utilisez \"git add\" pour les "
 "suivre)\n"
 
-#: wt-status.c:1620 wt-status.c:1625
+#: wt-status.c:1633 wt-status.c:1638
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1623
+#: wt-status.c:1636
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "rien à valider (utilisez -u pour afficher les fichiers non suivis)\n"
 
-#: wt-status.c:1627
+#: wt-status.c:1640
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1734
+#: wt-status.c:1749
 msgid "Initial commit on "
 msgstr "Validation initiale sur "
 
-#: wt-status.c:1738
+#: wt-status.c:1753
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-# à priori on parle d'une branche ici
-#: wt-status.c:1767
-msgid "gone"
-msgstr "disparue"
-
-#: wt-status.c:1769 wt-status.c:1777
+#: wt-status.c:1782 wt-status.c:1790
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1772 wt-status.c:1775
+#: wt-status.c:1785 wt-status.c:1788
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2277
+#: wt-status.c:2280
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2283
+#: wt-status.c:2286
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2285
+#: wt-status.c:2288
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:414
+#: compat/precompose_utf8.c:57 builtin/clone.c:432
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "échec lors de l'unlink de '%s'"
@@ -4445,7 +4696,7 @@ msgstr "suppression de '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:209 builtin/rev-parse.c:845
+#: builtin/add.c:209 builtin/rev-parse.c:872
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
@@ -4481,9 +4732,9 @@ msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/add.c:266 builtin/clean.c:876 builtin/fetch.c:115 builtin/mv.c:123
 #: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
-#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
+#: builtin/remote.c:1328 builtin/rm.c:241 builtin/send-pack.c:163
 msgid "dry run"
 msgstr "simuler l'action"
 
@@ -4491,7 +4742,7 @@ msgstr "simuler l'action"
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1177 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
@@ -4534,11 +4785,11 @@ msgstr ""
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "vérifier si des fichiers - même manquants - sont ignorés, à vide"
 
-#: builtin/add.c:283 builtin/update-index.c:947
+#: builtin/add.c:283 builtin/update-index.c:951
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/add.c:283 builtin/update-index.c:948
+#: builtin/add.c:283 builtin/update-index.c:952
 msgid "override the executable bit of the listed files"
 msgstr "outrepasser le bit exécutable pour les fichiers listés"
 
@@ -4575,8 +4826,8 @@ msgstr "Rien de spécifié, rien n'a été ajouté.\n"
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Vous vouliez sûrement dire 'git add .' ?\n"
 
-#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
-#: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
+#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:298
+#: builtin/checkout.c:491 builtin/clean.c:920 builtin/commit.c:350
 #: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
@@ -4630,7 +4881,7 @@ msgstr "décalage horaire invalide"
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:989 builtin/clone.c:379
+#: builtin/am.c:989 builtin/clone.c:397
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
@@ -4664,7 +4915,7 @@ msgstr ""
 msgid "Patch is empty. Was it split wrong?"
 msgstr "Le patch est vide. Le découpage était-il bon ?"
 
-#: builtin/am.c:1390 builtin/log.c:1550
+#: builtin/am.c:1390 builtin/log.c:1557
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "ligne d'identification invalide : %s"
@@ -4701,7 +4952,7 @@ msgstr "Retour à un patch de la base et fusion à 3 points..."
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1686 builtin/merge.c:632
+#: builtin/am.c:1686 builtin/merge.c:631
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
@@ -4867,15 +5118,15 @@ msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/grep.c:1045 builtin/merge.c:201 builtin/pull.c:135
 #: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
-#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
+#: builtin/show-branch.c:637 builtin/show-ref.c:169 builtin/tag.c:398
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:387 builtin/verify-tag.c:38
+#: builtin/am.c:2289 builtin/branch.c:592 builtin/for-each-ref.c:37
+#: builtin/replace.c:442 builtin/tag.c:433 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
@@ -4912,8 +5163,8 @@ msgstr "mentir sur la date de validation"
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:232
+#: builtin/pull.c:165 builtin/revert.c:111 builtin/tag.c:413
 msgid "key-id"
 msgstr "id-clé"
 
@@ -5017,117 +5268,117 @@ msgstr "git blame [<options>] [<options-de-révision>] [<rev>] [--] <fichier>"
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<options-de-révision> sont documentés dans git-rev-list(1)"
 
-#: builtin/blame.c:1786
+#: builtin/blame.c:1777
 msgid "Blaming lines"
 msgstr "Assignation de blâme au lignes"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2573
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 "Montrer les éléments de blâme au fur et à mesure de leur découverte, de "
 "manière incrémentale"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2574
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "Montrer un SHA-1 blanc pour les commits de limite (Défaut : désactivé)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2575
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 "Ne pas traiter les commits racine comme des limites (Défaut : désactivé)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2576
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2577
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2578
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2579
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2580
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2581
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2582
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2583
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Utiliser le même mode de sortie que git-annotate (Défaut : désactivé)"
 
-#: builtin/blame.c:2593
+#: builtin/blame.c:2584
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:2594
+#: builtin/blame.c:2585
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:2595
+#: builtin/blame.c:2586
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Supprimer le nom de l'auteur et l'horodatage (Défaut : désactivé)"
 
-#: builtin/blame.c:2596
+#: builtin/blame.c:2587
 msgid "Show author email instead of name (Default: off)"
 msgstr "Afficher l'e-mail de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:2597
+#: builtin/blame.c:2588
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2595
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2597
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2598
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Utiliser les révisions du fichier <fichier> au lieu d'appeler git-rev-list"
 
-#: builtin/blame.c:2608
+#: builtin/blame.c:2599
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:2609 builtin/blame.c:2610
+#: builtin/blame.c:2600 builtin/blame.c:2601
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:2609
+#: builtin/blame.c:2600
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:2610
+#: builtin/blame.c:2601
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:2611
+#: builtin/blame.c:2602
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2611
+#: builtin/blame.c:2602
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de ligne n,m en commençant le compte à 1"
 
-#: builtin/blame.c:2658
+#: builtin/blame.c:2649
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -5139,42 +5390,42 @@ msgstr ""
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2706
+#: builtin/blame.c:2697
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:2786
+#: builtin/blame.c:2777
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: builtin/blame.c:2806
+#: builtin/blame.c:2797
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: builtin/blame.c:2811
+#: builtin/blame.c:2802
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse et --first-parent ensemble nécessitent la spécification d'un "
 "dernier commit"
 
-#: builtin/blame.c:2838
+#: builtin/blame.c:2829
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent ensemble nécessitent une portée avec la chaîne de "
 "premier parent"
 
-#: builtin/blame.c:2849
+#: builtin/blame.c:2840
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: builtin/blame.c:2860
+#: builtin/blame.c:2851
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
 
-#: builtin/blame.c:2879
+#: builtin/blame.c:2870
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -5202,7 +5453,11 @@ msgstr ""
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<options>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:143
+#: builtin/branch.c:31
+msgid "git branch [<options>] [-r | -a] [--format]"
+msgstr "git branch [<options>] [-r | -a] [--format]"
+
+#: builtin/branch.c:144
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -5211,7 +5466,7 @@ msgstr ""
 "suppression de la branche '%s' qui a été fusionnée dans\n"
 "         '%s', mais pas dans HEAD."
 
-#: builtin/branch.c:147
+#: builtin/branch.c:148
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -5220,12 +5475,12 @@ msgstr ""
 "branche '%s' non supprimée car elle n'a pas été fusionnée dans\n"
 "         '%s', même si elle est fusionnée dans HEAD."
 
-#: builtin/branch.c:161
+#: builtin/branch.c:162
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "Impossible de rechercher l'objet commit pour '%s'"
 
-#: builtin/branch.c:165
+#: builtin/branch.c:166
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -5234,166 +5489,93 @@ msgstr ""
 "La branche '%s' n'est pas totalement fusionnée.\n"
 "Si vous souhaitez réellement la supprimer, lancez 'git branch -D %s'."
 
-#: builtin/branch.c:178
+#: builtin/branch.c:179
 msgid "Update of config-file failed"
 msgstr "Échec de la mise à jour du fichier de configuration"
 
-#: builtin/branch.c:206
+#: builtin/branch.c:210
 msgid "cannot use -a with -d"
 msgstr "impossible d'utiliser -a avec -d"
 
-#: builtin/branch.c:212
+#: builtin/branch.c:216
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Impossible de rechercher l'objet commit pour HEAD"
 
-#: builtin/branch.c:226
+#: builtin/branch.c:230
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "Impossible de supprimer la branche '%s' extraite dans '%s'"
 
-#: builtin/branch.c:241
+#: builtin/branch.c:245
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "branche de suivi '%s' non trouvée."
 
-#: builtin/branch.c:242
+#: builtin/branch.c:246
 #, c-format
 msgid "branch '%s' not found."
 msgstr "branche '%s' non trouvée."
 
-#: builtin/branch.c:257
+#: builtin/branch.c:261
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "Erreur lors de la suppression de la branche de suivi '%s'"
 
-#: builtin/branch.c:258
+#: builtin/branch.c:262
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Erreur lors de la suppression de la branche '%s'"
 
-#: builtin/branch.c:265
+#: builtin/branch.c:269
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "Branche de suivi %s supprimée (précédemment %s).\n"
 
-#: builtin/branch.c:266
+#: builtin/branch.c:270
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Branche %s supprimée (précédemment %s).\n"
 
-# féminin pour une branche
-#: builtin/branch.c:312
-#, c-format
-msgid "[%s: gone]"
-msgstr "[%s: disparue]"
-
-#: builtin/branch.c:317
-#, c-format
-msgid "[%s]"
-msgstr "[%s]"
-
-#: builtin/branch.c:322
-#, c-format
-msgid "[%s: behind %d]"
-msgstr "[%s: en retard de %d]"
-
-#: builtin/branch.c:324
-#, c-format
-msgid "[behind %d]"
-msgstr "[en retard de %d]"
-
-#: builtin/branch.c:328
-#, c-format
-msgid "[%s: ahead %d]"
-msgstr "[%s : en avance de %d]"
-
-#: builtin/branch.c:330
-#, c-format
-msgid "[ahead %d]"
-msgstr "[en avance de %d]"
-
-#: builtin/branch.c:333
-#, c-format
-msgid "[%s: ahead %d, behind %d]"
-msgstr "[%s : en avance de %d, en retard de %d]"
-
-#: builtin/branch.c:336
-#, c-format
-msgid "[ahead %d, behind %d]"
-msgstr "[en avance de %d, en retard de %d]"
-
-#: builtin/branch.c:349
-msgid " **** invalid ref ****"
-msgstr " **** référence invalide ****"
-
-#: builtin/branch.c:375
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr "(aucune branche, rebasage de %s)"
-
-#: builtin/branch.c:378
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr "(aucune branche, bisect a démarré sur %s)"
-
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached at " in wt-status.c
-#: builtin/branch.c:384
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr "(HEAD détachée sur %s)"
-
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached from " in wt-status.c
-#: builtin/branch.c:389
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr "(HEAD détachée depuis %s)"
-
-#: builtin/branch.c:393
-msgid "(no branch)"
-msgstr "(aucune branche)"
-
-#: builtin/branch.c:535
+#: builtin/branch.c:441
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:539
+#: builtin/branch.c:445
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:554
+#: builtin/branch.c:460
 msgid "cannot rename the current branch while not on any."
 msgstr "impossible de renommer la branche actuelle, il n'y en a pas."
 
-#: builtin/branch.c:564
+#: builtin/branch.c:470
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:581
+#: builtin/branch.c:487
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:585
+#: builtin/branch.c:490
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Renommage d'un branche mal nommée '%s'"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:493
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "La branche a été renommée en %s, mais HEAD n'est pas mise à jour !"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:502
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "La branche est renommée, mais la mise à jour du fichier de configuration a "
 "échoué"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:518
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5404,167 +5586,176 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:551
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:553
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "afficher le hachage et le sujet, doublé pour la branche amont"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:554
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:555
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:557
 msgid "change upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:559
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:559
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:560
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:561
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:562
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:656 builtin/branch.c:657
+#: builtin/branch.c:564 builtin/branch.c:566
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:565 builtin/branch.c:567
+msgid "print only branches that don't contain the commit"
+msgstr "afficher seulement les branches qui ne contiennent pas le commit"
+
+#: builtin/branch.c:570
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:571
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:573
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:574
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:575
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:666
+#: builtin/branch.c:576
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:577
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:578
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:670
+#: builtin/branch.c:580
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:581
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:582
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:583
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:584
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
+#: builtin/branch.c:585 builtin/for-each-ref.c:38 builtin/tag.c:426
 msgid "key"
 msgstr "clé"
 
-#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
+#: builtin/branch.c:586 builtin/for-each-ref.c:39 builtin/tag.c:427
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
-#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:588 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:384
+#: builtin/tag.c:429
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:589
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+#: builtin/branch.c:591 builtin/for-each-ref.c:47 builtin/tag.c:434
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:698
+#: builtin/branch.c:592 builtin/for-each-ref.c:37 builtin/tag.c:433
+#: builtin/verify-tag.c:38
+msgid "format to use for the output"
+msgstr "format à utiliser pour la sortie"
+
+#: builtin/branch.c:611
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: builtin/branch.c:702 builtin/clone.c:706
+#: builtin/branch.c:615 builtin/clone.c:724
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:724
+#: builtin/branch.c:638
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:735 builtin/branch.c:787
+#: builtin/branch.c:649 builtin/branch.c:701
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:677
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:768
+#: builtin/branch.c:682
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:775
+#: builtin/branch.c:689
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:778
+#: builtin/branch.c:692
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:793
+#: builtin/branch.c:707
 msgid "too many branches for a rename operation"
 msgstr "trop de branches pour une opération de renommage"
 
-#: builtin/branch.c:798
+#: builtin/branch.c:712
 msgid "too many branches to set new upstream"
 msgstr "trop de branches pour spécifier une branche amont"
 
-#: builtin/branch.c:802
+#: builtin/branch.c:716
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5572,41 +5763,41 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
+#: builtin/branch.c:719 builtin/branch.c:741 builtin/branch.c:762
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:809
+#: builtin/branch.c:723
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:735
 msgid "too many branches to unset upstream"
 msgstr "trop de branches pour désactiver un amont"
 
-#: builtin/branch.c:825
+#: builtin/branch.c:739
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "impossible de désactiver une branche amont de HEAD quand elle ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:831
+#: builtin/branch.c:745
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:845
+#: builtin/branch.c:759
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "créer manuellement 'HEAD' n'a pas de sens"
 
-#: builtin/branch.c:851
+#: builtin/branch.c:765
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche"
 
-#: builtin/branch.c:854
+#: builtin/branch.c:768
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5615,7 +5806,7 @@ msgstr ""
 "l'option --set-upstream est obsolète et va disparaître. Utilisez plutôt --"
 "track ou --set-upstream-to\n"
 
-#: builtin/branch.c:871
+#: builtin/branch.c:785
 #, c-format
 msgid ""
 "\n"
@@ -5626,16 +5817,16 @@ msgstr ""
 "Si vous vouliez que '%s' suive '%s', faites ceci :\n"
 "\n"
 
-#: builtin/bundle.c:51
+#: builtin/bundle.c:45
 #, c-format
 msgid "%s is okay\n"
 msgstr "%s est correct\n"
 
-#: builtin/bundle.c:64
+#: builtin/bundle.c:58
 msgid "Need a repository to create a bundle."
 msgstr "La création d'un colis requiert un dépôt."
 
-#: builtin/bundle.c:68
+#: builtin/bundle.c:62
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
@@ -5683,7 +5874,7 @@ msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 msgid "for blob objects, run filters on object's content"
 msgstr "pour les objets blob, lancer les filtres sur le contenu de l'objet"
 
-#: builtin/cat-file.c:561 git-submodule.sh:929
+#: builtin/cat-file.c:561 git-submodule.sh:943
 msgid "blob"
 msgstr "blob"
 
@@ -5743,7 +5934,7 @@ msgid "terminate input and output records by a NUL character"
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
+#: builtin/check-ignore.c:18 builtin/checkout.c:1158 builtin/gc.c:352
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -5835,9 +6026,9 @@ msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
-#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
-#: builtin/worktree.c:471
+#: builtin/submodule--helper.c:635 builtin/submodule--helper.c:638
+#: builtin/submodule--helper.c:644 builtin/submodule--helper.c:980
+#: builtin/worktree.c:472
 msgid "string"
 msgstr "chaîne"
 
@@ -5849,115 +6040,115 @@ msgstr "lors de la création de fichiers, préfixer par <chaîne>"
 msgid "copy out the files from named stage"
 msgstr "copier les fichiers depuis l'index nommé"
 
-#: builtin/checkout.c:25
+#: builtin/checkout.c:27
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<options>] <branche>"
 
-#: builtin/checkout.c:26
+#: builtin/checkout.c:28
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
 
-#: builtin/checkout.c:134 builtin/checkout.c:167
+#: builtin/checkout.c:153 builtin/checkout.c:186
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
 
-#: builtin/checkout.c:136 builtin/checkout.c:169
+#: builtin/checkout.c:155 builtin/checkout.c:188
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:152
+#: builtin/checkout.c:171
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "le chemin '%s' n'a aucune des versions nécessaires"
 
-#: builtin/checkout.c:196
+#: builtin/checkout.c:215
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:213
+#: builtin/checkout.c:232
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
 
-#: builtin/checkout.c:230
+#: builtin/checkout.c:249
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Impossible d'ajouter le résultat de fusion pour '%s'"
 
-#: builtin/checkout.c:250 builtin/checkout.c:253 builtin/checkout.c:256
-#: builtin/checkout.c:259
+#: builtin/checkout.c:269 builtin/checkout.c:272 builtin/checkout.c:275
+#: builtin/checkout.c:278
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' ne peut pas être utilisé avec des mises à jour de chemins"
 
-#: builtin/checkout.c:262 builtin/checkout.c:265
+#: builtin/checkout.c:281 builtin/checkout.c:284
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:268
+#: builtin/checkout.c:287
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en "
 "même temps."
 
-#: builtin/checkout.c:339 builtin/checkout.c:346
+#: builtin/checkout.c:358 builtin/checkout.c:365
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:494
+#: builtin/checkout.c:513
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:625
+#: builtin/checkout.c:644
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:666
+#: builtin/checkout.c:685
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:670 builtin/clone.c:660
+#: builtin/checkout.c:689 builtin/clone.c:678
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:693
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:677
+#: builtin/checkout.c:696
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:681
+#: builtin/checkout.c:700
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:683 builtin/checkout.c:1072
+#: builtin/checkout.c:702 builtin/checkout.c:1090
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:685
+#: builtin/checkout.c:704
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:736
+#: builtin/checkout.c:755
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:742
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5980,7 +6171,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:761
+#: builtin/checkout.c:780
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -6009,151 +6200,151 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:797
+#: builtin/checkout.c:816
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:801
+#: builtin/checkout.c:820
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:828 builtin/checkout.c:1067
+#: builtin/checkout.c:847 builtin/checkout.c:1085
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:973
+#: builtin/checkout.c:991
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1013 builtin/worktree.c:214
+#: builtin/checkout.c:1031 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1042
+#: builtin/checkout.c:1060
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1081
+#: builtin/checkout.c:1099
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1084 builtin/checkout.c:1088
+#: builtin/checkout.c:1102 builtin/checkout.c:1106
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' ne peut pas être utilisé avec un basculement de branches"
 
-#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
-#: builtin/checkout.c:1103
+#: builtin/checkout.c:1110 builtin/checkout.c:1113 builtin/checkout.c:1118
+#: builtin/checkout.c:1121
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1108
+#: builtin/checkout.c:1126
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Impossible de basculer de branche vers '%s' qui n'est pas un commit"
 
-#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
-#: builtin/worktree.c:326
+#: builtin/checkout.c:1159 builtin/checkout.c:1161 builtin/clone.c:111
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:325
+#: builtin/worktree.c:327
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1160
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1162
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1163
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1146 builtin/worktree.c:328
+#: builtin/checkout.c:1164 builtin/worktree.c:329
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1165
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1167
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1167
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1168
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1170
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1154
+#: builtin/checkout.c:1172
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1173
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1156 builtin/merge.c:235
+#: builtin/checkout.c:1174 builtin/merge.c:234
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1175 builtin/log.c:1473 parse-options.h:251
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1176
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1161
+#: builtin/checkout.c:1179
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1181
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "réessayer d'interpréter 'git checkout <branche-inexistante>'"
 
-#: builtin/checkout.c:1165
+#: builtin/checkout.c:1183
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 "ne pas vérifier si une autre copie de travail contient le référence fournie"
 
-#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
-#: builtin/send-pack.c:168
+#: builtin/checkout.c:1187 builtin/clone.c:78 builtin/fetch.c:119
+#: builtin/merge.c:231 builtin/pull.c:117 builtin/push.c:539
+#: builtin/send-pack.c:172
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1197
+#: builtin/checkout.c:1224
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1214
+#: builtin/checkout.c:1241
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1219
+#: builtin/checkout.c:1246
 msgid "Missing branch name; try -b"
 msgstr "Nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1255
+#: builtin/checkout.c:1282
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1262
+#: builtin/checkout.c:1289
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -6163,12 +6354,12 @@ msgstr ""
 "en même temps.\n"
 "Souhaitiez-vous extraire '%s' qui ne peut être résolu comme commit ?"
 
-#: builtin/checkout.c:1267
+#: builtin/checkout.c:1294
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach n'accepte pas un argument de chemin '%s'"
 
-#: builtin/checkout.c:1271
+#: builtin/checkout.c:1298
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -6207,7 +6398,7 @@ msgstr "Ignorerait le dépôt %s\n"
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:291 git-add--interactive.perl:623
+#: builtin/clean.c:297 git-add--interactive.perl:614
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6220,7 +6411,7 @@ msgstr ""
 "foo         - sélectionner un élément par un préfixe unique\n"
 "            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:295 git-add--interactive.perl:632
+#: builtin/clean.c:301 git-add--interactive.perl:623
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6241,38 +6432,38 @@ msgstr ""
 "*          - choisir tous les éléments\n"
 "           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:511 git-add--interactive.perl:598
-#: git-add--interactive.perl:603
+#: builtin/clean.c:517 git-add--interactive.perl:589
+#: git-add--interactive.perl:594
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hein (%s) ?\n"
 
-#: builtin/clean.c:653
+#: builtin/clean.c:659
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Entrez les motifs à ignorer>> "
 
-#: builtin/clean.c:690
+#: builtin/clean.c:696
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s"
 
-#: builtin/clean.c:711
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr "Sélectionner les éléments à supprimer"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:752
+#: builtin/clean.c:758
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:777 git-add--interactive.perl:1669
+#: builtin/clean.c:783 git-add--interactive.perl:1660
 #, c-format
 msgid "Bye.\n"
 msgstr "Au revoir.\n"
 
-#: builtin/clean.c:785
+#: builtin/clean.c:791
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -6290,62 +6481,63 @@ msgstr ""
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:812 git-add--interactive.perl:1745
+#: builtin/clean.c:818 git-add--interactive.perl:1736
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: builtin/clean.c:813 git-add--interactive.perl:1742
+#: builtin/clean.c:819 git-add--interactive.perl:1733
 msgid "What now"
 msgstr "Et maintenant ?"
 
-#: builtin/clean.c:821
+#: builtin/clean.c:827
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Supprimerait l'élément suivant :"
 msgstr[1] "Supprimerait les éléments suivants :"
 
-#: builtin/clean.c:838
+#: builtin/clean.c:844
 msgid "No more files to clean, exiting."
 msgstr "Plus de fichier à nettoyer, sortie."
 
-#: builtin/clean.c:869
+#: builtin/clean.c:875
 msgid "do not print names of files removed"
 msgstr "ne pas afficher les noms des fichiers supprimés"
 
-#: builtin/clean.c:871
+#: builtin/clean.c:877
 msgid "force"
 msgstr "forcer"
 
-#: builtin/clean.c:872
+#: builtin/clean.c:878
 msgid "interactive cleaning"
 msgstr "nettoyage interactif"
 
-#: builtin/clean.c:874
+#: builtin/clean.c:880
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
-#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
+#: builtin/clean.c:881 builtin/describe.c:449 builtin/describe.c:451
+#: builtin/grep.c:1063 builtin/ls-files.c:539 builtin/name-rev.c:348
+#: builtin/name-rev.c:350 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "motif"
 
-#: builtin/clean.c:876
+#: builtin/clean.c:882
 msgid "add <pattern> to ignore rules"
 msgstr "ajouter <motif> aux règles ignore"
 
-#: builtin/clean.c:877
+#: builtin/clean.c:883
 msgid "remove ignored files, too"
 msgstr "supprimer les fichiers ignorés, aussi"
 
-#: builtin/clean.c:879
+#: builtin/clean.c:885
 msgid "remove only ignored files"
 msgstr "supprimer seulement les fichiers ignorés"
 
-#: builtin/clean.c:897
+#: builtin/clean.c:903
 msgid "-x and -X cannot be used together"
 msgstr "-x et -X ne peuvent pas être utilisés ensemble"
 
-#: builtin/clean.c:901
+#: builtin/clean.c:907
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -6353,7 +6545,7 @@ msgstr ""
 "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clean.c:904
+#: builtin/clean.c:910
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -6365,130 +6557,135 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 
-#: builtin/clone.c:65
+#: builtin/clone.c:80
 msgid "don't create a checkout"
 msgstr "ne pas créer d'extraction"
 
-#: builtin/clone.c:66 builtin/clone.c:68 builtin/init-db.c:478
+#: builtin/clone.c:81 builtin/clone.c:83 builtin/init-db.c:478
 msgid "create a bare repository"
 msgstr "créer un dépôt nu"
 
-#: builtin/clone.c:70
+#: builtin/clone.c:85
 msgid "create a mirror repository (implies bare)"
 msgstr "créer un dépôt miroir (implique dépôt nu)"
 
-#: builtin/clone.c:72
+#: builtin/clone.c:87
 msgid "to clone from a local repository"
 msgstr "pour cloner depuis un dépôt local"
 
-#: builtin/clone.c:74
+#: builtin/clone.c:89
 msgid "don't use local hardlinks, always copy"
 msgstr "ne pas utiliser de liens durs locaux, toujours copier"
 
-#: builtin/clone.c:76
+#: builtin/clone.c:91
 msgid "setup as shared repository"
 msgstr "régler comme dépôt partagé"
 
-#: builtin/clone.c:78 builtin/clone.c:80
+#: builtin/clone.c:93 builtin/clone.c:97
+msgid "pathspec"
+msgstr "spécificateur de chemin"
+
+#: builtin/clone.c:93 builtin/clone.c:97
 msgid "initialize submodules in the clone"
 msgstr "initialiser les sous-modules dans le clone"
 
-#: builtin/clone.c:82
+#: builtin/clone.c:100
 msgid "number of submodules cloned in parallel"
 msgstr "nombre de sous-modules clonés en parallèle"
 
-#: builtin/clone.c:83 builtin/init-db.c:475
+#: builtin/clone.c:101 builtin/init-db.c:475
 msgid "template-directory"
 msgstr "répertoire-modèle"
 
-#: builtin/clone.c:84 builtin/init-db.c:476
+#: builtin/clone.c:102 builtin/init-db.c:476
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
-#: builtin/submodule--helper.c:970
+#: builtin/clone.c:104 builtin/clone.c:106 builtin/submodule--helper.c:642
+#: builtin/submodule--helper.c:983
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:108
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
-#: builtin/clone.c:91 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:109 builtin/column.c:26 builtin/merge-file.c:43
 msgid "name"
 msgstr "nom"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:110
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:112
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "extraire <branche> au lieu de la HEAD du répertoire distant"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:114
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
+#: builtin/clone.c:115 builtin/fetch.c:120 builtin/grep.c:1006
+#: builtin/pull.c:202
 msgid "depth"
 msgstr "profondeur"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:116
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
+#: builtin/clone.c:117 builtin/fetch.c:122 builtin/pack-objects.c:2918
 #: parse-options.h:142
 msgid "time"
 msgstr "heure"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:118
 msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
-#: builtin/clone.c:101 builtin/fetch.c:124
+#: builtin/clone.c:119 builtin/fetch.c:124
 msgid "revision"
 msgstr "révision"
 
-#: builtin/clone.c:102 builtin/fetch.c:125
+#: builtin/clone.c:120 builtin/fetch.c:125
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:122
 msgid "clone only one branch, HEAD or --branch"
 msgstr "cloner seulement une branche, HEAD ou --branch"
 
-#: builtin/clone.c:106
+#: builtin/clone.c:124
 msgid "any cloned submodules will be shallow"
 msgstr "tous les sous-modules clonés seront superficiels"
 
-#: builtin/clone.c:107 builtin/init-db.c:484
+#: builtin/clone.c:125 builtin/init-db.c:484
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:108 builtin/init-db.c:485
+#: builtin/clone.c:126 builtin/init-db.c:485
 msgid "separate git dir from working tree"
 msgstr "séparer le répertoire git de la copie de travail"
 
-#: builtin/clone.c:109
+#: builtin/clone.c:127
 msgid "key=value"
 msgstr "clé=valeur"
 
-#: builtin/clone.c:110
+#: builtin/clone.c:128
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
+#: builtin/clone.c:129 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
+#: builtin/clone.c:131 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
-#: builtin/clone.c:250
+#: builtin/clone.c:268
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -6496,42 +6693,42 @@ msgstr ""
 "Aucun nom de répertoire n'a pu être deviné\n"
 "Veuillez spécifier un répertoire dans la ligne de commande"
 
-#: builtin/clone.c:303
+#: builtin/clone.c:321
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info : impossible d'ajouter une alternative pour '%s' : %s\n"
 
-#: builtin/clone.c:375
+#: builtin/clone.c:393
 #, c-format
 msgid "failed to open '%s'"
 msgstr "échec à l'ouverture de '%s'"
 
-#: builtin/clone.c:383
+#: builtin/clone.c:401
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe et n'est pas un répertoire"
 
-#: builtin/clone.c:397
+#: builtin/clone.c:415
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "échec du stat de %s\n"
 
-#: builtin/clone.c:419
+#: builtin/clone.c:437
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "échec de la création du lien '%s'"
 
-#: builtin/clone.c:423
+#: builtin/clone.c:441
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "échec de la copie vers '%s'"
 
-#: builtin/clone.c:448
+#: builtin/clone.c:466
 #, c-format
 msgid "done.\n"
 msgstr "fait.\n"
 
-#: builtin/clone.c:460
+#: builtin/clone.c:478
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -6541,103 +6738,102 @@ msgstr ""
 "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n"
 "et réessayer l'extraction avec 'git checkout -f HEAD'\n"
 
-#: builtin/clone.c:537
+#: builtin/clone.c:555
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:632
+#: builtin/clone.c:650
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: builtin/clone.c:648
+#: builtin/clone.c:666
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:697
+#: builtin/clone.c:715
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "la HEAD distante réfère à une référence non existante, impossible de "
 "l'extraire.\n"
 
-#: builtin/clone.c:728
+#: builtin/clone.c:746
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:768
+#: builtin/clone.c:786
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:831
+#: builtin/clone.c:849
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:833
+#: builtin/clone.c:851
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de unlinker le fichier temporaire alternates"
 
-#: builtin/clone.c:866 builtin/receive-pack.c:1895
+#: builtin/clone.c:884 builtin/receive-pack.c:1901
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:870
+#: builtin/clone.c:888
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:883
+#: builtin/clone.c:901
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:886
+#: builtin/clone.c:904
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:899
+#: builtin/clone.c:917
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:905 builtin/fetch.c:1335
+#: builtin/clone.c:923 builtin/fetch.c:1337
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:915
+#: builtin/clone.c:933
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 "le chemin de destination '%s' existe déjà et n'est pas un répertoire vide."
 
-#: builtin/clone.c:925
+#: builtin/clone.c:943
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
-#: builtin/submodule--helper.c:659 builtin/worktree.c:222
-#: builtin/worktree.c:249
+#: builtin/clone.c:958 builtin/clone.c:969 builtin/difftool.c:252
+#: builtin/worktree.c:222 builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "impossible de créer les répertoires de premier niveau dans '%s'"
 
-#: builtin/clone.c:943
+#: builtin/clone.c:961
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "impossible de créer le répertoire de la copie de travail '%s'"
 
-#: builtin/clone.c:955
+#: builtin/clone.c:973
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:957
+#: builtin/clone.c:975
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:963
+#: builtin/clone.c:999
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -6645,42 +6841,42 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1055
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 "--depth est ignoré dans les clones locaux : utilisez plutôt \"file://\"."
 
-#: builtin/clone.c:1021
+#: builtin/clone.c:1057
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-since est ignoré dans les clones locaux : utilisez plutôt \"file://"
 "\"."
 
-#: builtin/clone.c:1023
+#: builtin/clone.c:1059
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-exclude est ignoré dans les clones locaux : utilisez plutôt "
 "\"file://\"."
 
-#: builtin/clone.c:1026
+#: builtin/clone.c:1062
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1031
+#: builtin/clone.c:1067
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1035
+#: builtin/clone.c:1071
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "Je ne sais pas cloner %s"
 
-#: builtin/clone.c:1090 builtin/clone.c:1098
+#: builtin/clone.c:1126 builtin/clone.c:1134
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "La branche distante %s n'a pas été trouvée dans le dépôt amont %s"
 
-#: builtin/clone.c:1101
+#: builtin/clone.c:1137
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -6877,11 +7073,6 @@ msgstr "le commit '%s' a une ligne d'auteur malformée"
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:611
-#, c-format
-msgid "invalid date format: %s"
-msgstr "format de date invalide : %s"
-
 #: builtin/commit.c:655
 msgid ""
 "unable to select a comment character that is not used\n"
@@ -6895,7 +7086,7 @@ msgstr ""
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:295
+#: builtin/commit.c:704 builtin/shortlog.c:294
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
@@ -6995,7 +7186,7 @@ msgstr "Impossible de lire l'index"
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:968 builtin/tag.c:280
+#: builtin/commit.c:968 builtin/tag.c:273
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Veuillez fournir le message en utilisant l'option -m ou -F.\n"
@@ -7062,7 +7253,7 @@ msgstr "Aucun chemin avec les options --include/--only n'a pas de sens."
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "Chemins explicites spécifiés sans -i ni -o ; --only supposé..."
 
-#: builtin/commit.c:1224 builtin/tag.c:495
+#: builtin/commit.c:1224 builtin/tag.c:551
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
@@ -7084,7 +7275,7 @@ msgid "version"
 msgstr "version"
 
 #: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
-#: builtin/worktree.c:442
+#: builtin/worktree.c:443
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
@@ -7097,7 +7288,7 @@ msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
 #: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:368
+#: builtin/fast-export.c:984 builtin/tag.c:411
 msgid "mode"
 msgstr "mode"
 
@@ -7155,7 +7346,7 @@ msgstr "afficher les diff dans le modèle de message de validation"
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1586 builtin/tag.c:366
+#: builtin/commit.c:1586 builtin/tag.c:409
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
@@ -7167,7 +7358,7 @@ msgstr "auteur"
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1588 builtin/gc.c:333
+#: builtin/commit.c:1588 builtin/gc.c:353
 msgid "date"
 msgstr "date"
 
@@ -7175,8 +7366,8 @@ msgstr "date"
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:364
+#: builtin/commit.c:1589 builtin/merge.c:221 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:407
 msgid "message"
 msgstr "message"
 
@@ -7185,7 +7376,7 @@ msgid "commit message"
 msgstr "message de validation"
 
 #: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
-#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:77
 msgid "commit"
 msgstr "commit"
 
@@ -7212,7 +7403,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "à présent je suis l'auteur de la validation (utilisé avec -C/-c/--amend)"
 
-#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1420 builtin/revert.c:104
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
@@ -7228,7 +7419,7 @@ msgstr "forcer l'édition du commit"
 msgid "default"
 msgstr "défaut"
 
-#: builtin/commit.c:1598 builtin/tag.c:369
+#: builtin/commit.c:1598 builtin/tag.c:412
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
@@ -7236,8 +7427,8 @@ msgstr "comment éliminer les espaces et les commentaires # du message"
 msgid "include status in commit message template"
 msgstr "inclure le statut dans le modèle de message de validation"
 
-#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
-#: builtin/revert.c:93
+#: builtin/commit.c:1601 builtin/merge.c:233 builtin/pull.c:166
+#: builtin/revert.c:112
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
@@ -7481,12 +7672,12 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:613
+#: builtin/config.c:611
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "création impossible du fichier de configuration '%s'"
 
-#: builtin/config.c:625
+#: builtin/config.c:623
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -7503,55 +7694,67 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "affiche les tailles dans un format humainement lisible"
 
-#: builtin/describe.c:17
+#: builtin/describe.c:18
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<options>] <commit ou apparenté>*"
 
-#: builtin/describe.c:18
+#: builtin/describe.c:19
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<options>] --dirty"
 
-#: builtin/describe.c:217
+#: builtin/describe.c:53
+msgid "head"
+msgstr "tête"
+
+#: builtin/describe.c:53
+msgid "lightweight"
+msgstr "léger"
+
+#: builtin/describe.c:53
+msgid "annotated"
+msgstr "annoté"
+
+#: builtin/describe.c:250
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "l'étiquette annotée %s n'est pas disponible"
 
-#: builtin/describe.c:221
+#: builtin/describe.c:254
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "l'étiquette annotée %s n'a pas de nom embarqué"
 
-#: builtin/describe.c:223
+#: builtin/describe.c:256
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "l'étiquette '%s' est en fait '%s'"
 
-#: builtin/describe.c:250 builtin/log.c:480
+#: builtin/describe.c:283 builtin/log.c:487
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "%s n'est pas un nom d'objet valide"
 
-#: builtin/describe.c:253
+#: builtin/describe.c:286
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: builtin/describe.c:270
+#: builtin/describe.c:303
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "aucune étiquette ne correspond parfaitement à '%s'"
 
-#: builtin/describe.c:272
+#: builtin/describe.c:305
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "recherche de la description de %s\n"
 
-#: builtin/describe.c:319
+#: builtin/describe.c:352
 #, c-format
 msgid "finished search at %s\n"
 msgstr "recherche terminée à %s\n"
 
-#: builtin/describe.c:346
+#: builtin/describe.c:379
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -7560,7 +7763,7 @@ msgstr ""
 "Aucune étiquette annotée ne peut décrire '%s'.\n"
 "Cependant, il existe des étiquettes non-annotées : essayez avec --tags."
 
-#: builtin/describe.c:350
+#: builtin/describe.c:383
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -7569,12 +7772,12 @@ msgstr ""
 "Aucune étiquette ne peut décrire '%s'.\n"
 "Essayez --always, ou créez des étiquettes."
 
-#: builtin/describe.c:371
+#: builtin/describe.c:413
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "%lu commits parcourus\n"
 
-#: builtin/describe.c:374
+#: builtin/describe.c:416
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -7584,67 +7787,79 @@ msgstr ""
 "affichées\n"
 "abandon de la recherche à %s\n"
 
-#: builtin/describe.c:396
+#: builtin/describe.c:438
 msgid "find the tag that comes after the commit"
 msgstr "rechercher l'étiquette qui suit le commit"
 
-#: builtin/describe.c:397
+#: builtin/describe.c:439
 msgid "debug search strategy on stderr"
 msgstr "déboguer la stratégie de recherche sur stderr"
 
-#: builtin/describe.c:398
+#: builtin/describe.c:440
 msgid "use any ref"
 msgstr "utiliser n'importe quelle référence"
 
-#: builtin/describe.c:399
+#: builtin/describe.c:441
 msgid "use any tag, even unannotated"
 msgstr "utiliser n'importe quelle étiquette, même non-annotée"
 
-#: builtin/describe.c:400
+#: builtin/describe.c:442
 msgid "always use long format"
 msgstr "toujours utiliser le format long"
 
-#: builtin/describe.c:401
+#: builtin/describe.c:443
 msgid "only follow first parent"
 msgstr "ne suivre que le premier parent"
 
-#: builtin/describe.c:404
+#: builtin/describe.c:446
 msgid "only output exact matches"
 msgstr "n'afficher que les correspondances exactes"
 
-#: builtin/describe.c:406
+#: builtin/describe.c:448
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 "considérer uniquement les <n> étiquettes le plus récentes (défaut : 10)"
 
-#: builtin/describe.c:408
+#: builtin/describe.c:450
 msgid "only consider tags matching <pattern>"
 msgstr "ne considérer que les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:410 builtin/name-rev.c:320
+#: builtin/describe.c:452
+msgid "do not consider tags matching <pattern>"
+msgstr "ne pas considérer les étiquettes correspondant à <motif>"
+
+#: builtin/describe.c:454 builtin/name-rev.c:357
 msgid "show abbreviated commit object as fallback"
 msgstr "afficher les objets commits abrégés en dernier recours"
 
-#: builtin/describe.c:411
+#: builtin/describe.c:455 builtin/describe.c:458
 msgid "mark"
 msgstr "marque"
 
-#: builtin/describe.c:412
+#: builtin/describe.c:456
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "ajouter <marque> si la copie de travail est sale (défaut : \"-dirty\")"
 
-#: builtin/describe.c:430
+#: builtin/describe.c:459
+msgid "append <mark> on broken working tree (default: \"-broken\")"
+msgstr "ajouter <marque> si la copie de travail est cassée (défaut : \"-broken\")"
+
+#: builtin/describe.c:477
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long et --abbrev=0 sont incompatibles"
 
-#: builtin/describe.c:456
+#: builtin/describe.c:506
 msgid "No names found, cannot describe anything."
 msgstr "aucun nom trouvé, impossible de décrire quoi que ce soit."
 
-#: builtin/describe.c:476
+#: builtin/describe.c:549
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty est incompatible avec la spécification de commits ou assimilés"
 
+#: builtin/describe.c:551
+msgid "--broken is incompatible with commit-ishes"
+msgstr "--broken est incompatible avec les commits ou assimilés"
+
 #: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
@@ -7683,7 +7898,22 @@ msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
 msgid "failed: %d"
 msgstr "échec : %d"
 
-#: builtin/difftool.c:342
+#: builtin/difftool.c:283
+#, c-format
+msgid "could not read symlink %s"
+msgstr "lecture du lien symbolique %s impossible"
+
+#: builtin/difftool.c:285
+#, c-format
+msgid "could not read symlink file %s"
+msgstr "impossible de lire le fichier symlink %s"
+
+#: builtin/difftool.c:293
+#, c-format
+msgid "could not read object %s for symlink %s"
+msgstr "Impossible de lire l'objet %s pour le symlink %s"
+
+#: builtin/difftool.c:395
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -7691,53 +7921,53 @@ msgstr ""
 "les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
 "dans le mode de diff de répertoire ('-d' et '--dir-diff')."
 
-#: builtin/difftool.c:567
+#: builtin/difftool.c:609
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
 
-#: builtin/difftool.c:569
+#: builtin/difftool.c:611
 msgid "working tree file has been left."
 msgstr "le fichier dans l'arbre de travail a été laissé."
 
-#: builtin/difftool.c:580
+#: builtin/difftool.c:622
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "des fichiers temporaires existent dans '%s'."
 
-#: builtin/difftool.c:581
+#: builtin/difftool.c:623
 msgid "you may want to cleanup or recover these."
 msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:669
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:671
 msgid "perform a full-directory diff"
 msgstr "réalise un diff de répertoire complet"
 
-#: builtin/difftool.c:630
+#: builtin/difftool.c:673
 msgid "do not prompt before launching a diff tool"
 msgstr "ne pas confirmer avant de lancer l'outil de diff"
 
-#: builtin/difftool.c:636
+#: builtin/difftool.c:679
 msgid "use symlinks in dir-diff mode"
 msgstr "utiliser les liens symboliques en mode de diff de répertoire"
 
-#: builtin/difftool.c:637
+#: builtin/difftool.c:680
 msgid "<tool>"
 msgstr "<outil>"
 
-#: builtin/difftool.c:638
+#: builtin/difftool.c:681
 msgid "use the specified diff tool"
 msgstr "utiliser l'outil de diff spécifié"
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:683
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "afficher une liste des outils de diff utilisables avec `--tool`"
 
-#: builtin/difftool.c:643
+#: builtin/difftool.c:686
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -7745,19 +7975,19 @@ msgstr ""
 "provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
 "non-nul"
 
-#: builtin/difftool.c:645
+#: builtin/difftool.c:688
 msgid "<command>"
 msgstr "<commande>"
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:689
 msgid "specify a custom command for viewing diffs"
 msgstr "spécifier une commande personnalisée pour visualiser les différences"
 
-#: builtin/difftool.c:670
+#: builtin/difftool.c:713
 msgid "no <tool> given for --tool=<tool>"
 msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 
-#: builtin/difftool.c:677
+#: builtin/difftool.c:720
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
@@ -7896,7 +8126,7 @@ msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date"
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
-#: builtin/fetch.c:131 builtin/log.c:1433
+#: builtin/fetch.c:131 builtin/log.c:1440
 msgid "dir"
 msgstr "répertoire"
 
@@ -7924,75 +8154,75 @@ msgstr "spécifier une correspondance de référence pour la récupération"
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:511
+#: builtin/fetch.c:513
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 "le paramètre de configuration fetch.output contient une valeur invalide %s"
 
-#: builtin/fetch.c:604
+#: builtin/fetch.c:606
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:610
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:621 builtin/fetch.c:701
+#: builtin/fetch.c:623 builtin/fetch.c:703
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:622
+#: builtin/fetch.c:624
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:631
+#: builtin/fetch.c:633
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
-#: builtin/fetch.c:696
+#: builtin/fetch.c:634 builtin/fetch.c:667 builtin/fetch.c:683
+#: builtin/fetch.c:698
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:651
+#: builtin/fetch.c:653
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:656
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:659
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:696
+#: builtin/fetch.c:698
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:701
+#: builtin/fetch.c:703
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:746
+#: builtin/fetch.c:748
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s n'a pas envoyé tous les objets nécessaires\n"
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:768
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s rejeté parce que les racines superficielles ne sont pas mises à jour"
 
-#: builtin/fetch.c:853 builtin/fetch.c:949
+#: builtin/fetch.c:855 builtin/fetch.c:951
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:864
+#: builtin/fetch.c:866
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -8001,55 +8231,55 @@ msgstr ""
 "des références locales n'ont pas pu être mises à jour ; essayez de lancer\n"
 " 'git remote prune %s' pour supprimer des branches anciennes en conflit"
 
-#: builtin/fetch.c:919
+#: builtin/fetch.c:921
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:920
+#: builtin/fetch.c:922
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:952
+#: builtin/fetch.c:954
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:953 builtin/remote.c:1020
+#: builtin/fetch.c:955 builtin/remote.c:1022
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:976
+#: builtin/fetch.c:978
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Refus de récupérer dans la branche courant %s d'un dépôt non nu"
 
-#: builtin/fetch.c:995
+#: builtin/fetch.c:997
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:1000
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1074
+#: builtin/fetch.c:1076
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Je ne sais pas récupérer depuis %s"
 
-#: builtin/fetch.c:1234
+#: builtin/fetch.c:1236
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1236 builtin/remote.c:96
+#: builtin/fetch.c:1238 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1254
+#: builtin/fetch.c:1256
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -8057,40 +8287,40 @@ msgstr ""
 "Aucun dépôt distant spécifié. Veuillez spécifier une URL ou un nom\n"
 "distant depuis lesquels les nouvelles révisions devraient être récupérées."
 
-#: builtin/fetch.c:1277
+#: builtin/fetch.c:1279
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1319
+#: builtin/fetch.c:1321
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1321
+#: builtin/fetch.c:1323
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1326
+#: builtin/fetch.c:1328
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1328
+#: builtin/fetch.c:1330
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow sur un dépôt complet n'a pas de sens"
 
-#: builtin/fetch.c:1350
+#: builtin/fetch.c:1352
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1352
+#: builtin/fetch.c:1354
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all n'a pas de sens avec des spécifications de référence"
 
-#: builtin/fetch.c:1363
+#: builtin/fetch.c:1365
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1371
+#: builtin/fetch.c:1373
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "La récupération d'un groupe et les spécifications de référence n'ont pas de "
@@ -8131,12 +8361,12 @@ msgid "git for-each-ref [--points-at <object>]"
 msgstr "git for-each-ref [--point-at <objet>]"
 
 #: builtin/for-each-ref.c:11
-msgid "git for-each-ref [(--merged | --no-merged) [<object>]]"
-msgstr "git for-each-ref [(--merged | --no-merged) [<objet>]]"
+msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
+msgstr "git for-each-ref [(--merged | --no-merged) [<commit>]]"
 
 #: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--contains [<object>]]"
-msgstr "git for-each-ref [--contains [<objet>]]"
+msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
+msgstr "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
 
 #: builtin/for-each-ref.c:27
 msgid "quote placeholders suitably for shells"
@@ -8158,10 +8388,6 @@ msgstr "échapper les champs réservés pour compatibilité avec Tcl"
 msgid "show only <n> matched refs"
 msgstr "n'afficher que <n> références correspondant"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr "format à utiliser pour la sortie"
-
 #: builtin/for-each-ref.c:41
 msgid "print only refs which points at the given object"
 msgstr "afficher seulement les références pointant sur l'objet"
@@ -8178,6 +8404,10 @@ msgstr "afficher seulement les références qui ne sont pas fusionnées"
 msgid "print only refs which contain the commit"
 msgstr "afficher seulement les références qui contiennent le commit"
 
+#: builtin/for-each-ref.c:46
+msgid "print only refs which don't contain the commit"
+msgstr "afficher seulement les références qui ne contiennent pas le commit"
+
 #: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
@@ -8243,17 +8473,17 @@ msgstr "Vérification des objets"
 msgid "git gc [<options>]"
 msgstr "git gc [<options>]"
 
-#: builtin/gc.c:72
+#: builtin/gc.c:78
 #, c-format
-msgid "Invalid %s: '%s'"
-msgstr "%s invalide : '%s'"
+msgid "Failed to fstat %s: %s"
+msgstr "Échec du stat de %s : %s"
 
-#: builtin/gc.c:139
+#: builtin/gc.c:306
 #, c-format
-msgid "insanely long object directory %.*s"
-msgstr "objet répertoire démentiellement long %.*s"
+msgid "Can't stat %s"
+msgstr "impossible de faire un stat de %s"
 
-#: builtin/gc.c:297
+#: builtin/gc.c:315
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -8269,42 +8499,47 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:334
+#: builtin/gc.c:354
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:336
+#: builtin/gc.c:356
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:337
+#: builtin/gc.c:357
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:338
+#: builtin/gc.c:358
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "forcer le lancement du ramasse-miettes même si un autre ramasse-miettes "
 "tourne déjà"
 
-#: builtin/gc.c:380
+#: builtin/gc.c:375
+#, c-format
+msgid "Failed to parse gc.logexpiry value %s"
+msgstr "impossible de lire la valeur de gc.logexpiry %s"
+
+#: builtin/gc.c:403
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Compression automatique du dépôt en tâche de fond pour optimiser les "
 "performances.\n"
 
-#: builtin/gc.c:382
+#: builtin/gc.c:405
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Compression du dépôt pour optimiser les performances.\n"
 
-#: builtin/gc.c:383
+#: builtin/gc.c:406
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Voir \"git help gc\" pour toute information sur le nettoyage manuel.\n"
 
-#: builtin/gc.c:404
+#: builtin/gc.c:427
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -8312,7 +8547,7 @@ msgstr ""
 "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> "
 "(utilisez --force si ce n'est pas le cas)"
 
-#: builtin/gc.c:448
+#: builtin/gc.c:471
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -8333,244 +8568,248 @@ msgstr "grep : échec de création du fil: %s"
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "nombre de fils spécifié invalide (%d) pour %s"
 
-#: builtin/grep.c:763 builtin/grep.c:804
+#: builtin/grep.c:769 builtin/grep.c:810
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:823
+#: builtin/grep.c:829
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "impossible de faire un grep sur un objet de type %s"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:893
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend un valeur numérique"
 
-#: builtin/grep.c:973
+#: builtin/grep.c:980
 msgid "search in index instead of in the work tree"
 msgstr "rechercher dans l'index plutôt que dans la copie de travail"
 
-#: builtin/grep.c:975
+#: builtin/grep.c:982
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:977
+#: builtin/grep.c:984
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:979
+#: builtin/grep.c:986
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:981
-msgid "recursivley search in each submodule"
+#: builtin/grep.c:988
+msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:983
+#: builtin/grep.c:990
 msgid "basename"
 msgstr "nom de base"
 
-#: builtin/grep.c:984
+#: builtin/grep.c:991
 msgid "prepend parent project's basename to output"
 msgstr "préfixer le nom de base du projet parent à la sortie"
 
-#: builtin/grep.c:987
+#: builtin/grep.c:994
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:989
+#: builtin/grep.c:996
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:991
+#: builtin/grep.c:998
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:993
+#: builtin/grep.c:1000
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:995
+#: builtin/grep.c:1002
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:998
+#: builtin/grep.c:1005
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:1000
+#: builtin/grep.c:1007
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:1004
+#: builtin/grep.c:1011
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:1007
+#: builtin/grep.c:1014
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:1010
+#: builtin/grep.c:1017
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:1013
+#: builtin/grep.c:1020
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:1016
+#: builtin/grep.c:1023
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:1017
+#: builtin/grep.c:1024
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:1018
+#: builtin/grep.c:1025
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:1020
+#: builtin/grep.c:1027
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:1022
+#: builtin/grep.c:1029
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1031
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:1027
+#: builtin/grep.c:1034
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:1029
+#: builtin/grep.c:1036
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:1031
+#: builtin/grep.c:1038
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:1032
+#: builtin/grep.c:1039
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:1034
+#: builtin/grep.c:1041
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:1036
+#: builtin/grep.c:1043
 msgid "show filename only once above matches from same file"
 msgstr ""
 "afficher le nom de fichier une fois au dessus des correspondances du même "
 "fichier"
 
-#: builtin/grep.c:1039
+#: builtin/grep.c:1046
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:1042
+#: builtin/grep.c:1049
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:1044
+#: builtin/grep.c:1051
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:1046
+#: builtin/grep.c:1053
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:1047
+#: builtin/grep.c:1054
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:1050
+#: builtin/grep.c:1057
 msgid "show a line with the function name before matches"
 msgstr ""
 "afficher une ligne avec le nom de la fonction avant les correspondances"
 
-#: builtin/grep.c:1052
+#: builtin/grep.c:1059
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:1055
+#: builtin/grep.c:1062
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:1057
+#: builtin/grep.c:1064
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:1059
+#: builtin/grep.c:1066
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:1071
+#: builtin/grep.c:1078
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:1073
+#: builtin/grep.c:1080
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "n'afficher que les correspondances de fichiers qui correspondent à tous les "
 "motifs"
 
-#: builtin/grep.c:1075
+#: builtin/grep.c:1082
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:1079
+#: builtin/grep.c:1086
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:1079
+#: builtin/grep.c:1086
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:1082
+#: builtin/grep.c:1089
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:1146
+#: builtin/grep.c:1153
 msgid "no pattern given."
 msgstr "aucun motif fourni."
 
-#: builtin/grep.c:1178 builtin/index-pack.c:1482
+#: builtin/grep.c:1189
+msgid "--no-index or --untracked cannot be used with revs"
+msgstr "--no-index ou --untracked ne peuvent pas être utilisés avec des révisions"
+
+#: builtin/grep.c:1195
+#, c-format
+msgid "unable to resolve revision: %s"
+msgstr "impossible de résoudre la révision : %s"
+
+#: builtin/grep.c:1228 builtin/index-pack.c:1485
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1215
+#: builtin/grep.c:1251
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail"
 
-#: builtin/grep.c:1238
+#: builtin/grep.c:1274
 msgid "option not supported with --recurse-submodules."
 msgstr "option non supportée avec --recurse-submodules."
 
-#: builtin/grep.c:1244
+#: builtin/grep.c:1280
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached ou --untracked ne peuvent pas être utilisés avec --no-index."
 
-#: builtin/grep.c:1249
-msgid "--no-index or --untracked cannot be used with revs."
-msgstr ""
-"--no-index ou --untracked ne peuvent pas être utilisés avec des révisions."
-
-#: builtin/grep.c:1252
+#: builtin/grep.c:1286
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 "--[no-]exclude-standard ne peut pas être utilisé avec du contenu suivi."
 
-#: builtin/grep.c:1260
+#: builtin/grep.c:1294
 msgid "both --cached and trees are given."
 msgstr "--cached et des arbres sont fournis en même temps."
 
@@ -8798,241 +9037,246 @@ msgstr "le paquet dépasse la taille maximale permise"
 msgid "unable to create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: builtin/index-pack.c:322
+#: builtin/index-pack.c:323
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "impossible d'ouvrir le fichier paquet '%s'"
 
-#: builtin/index-pack.c:336
+#: builtin/index-pack.c:337
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:338
+#: builtin/index-pack.c:339
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:356
+#: builtin/index-pack.c:357
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "le paquet a un mauvais objet à l'offset %<PRIuMAX> : %s"
 
-#: builtin/index-pack.c:478
+#: builtin/index-pack.c:479
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:527
+#: builtin/index-pack.c:528
 msgid "offset value overflow for delta base object"
 msgstr "dépassement de la valeur d'offset pour l'objet delta de base"
 
-#: builtin/index-pack.c:535
+#: builtin/index-pack.c:536
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:543
+#: builtin/index-pack.c:544
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:574
+#: builtin/index-pack.c:575
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:576
+#: builtin/index-pack.c:577
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "fin prématurée du fichier paquet, %<PRIuMAX> octet lu"
 msgstr[1] "fin prématurée du fichier paquet, %<PRIuMAX> octets lus"
 
-#: builtin/index-pack.c:602
+#: builtin/index-pack.c:603
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:813 builtin/index-pack.c:822
+#: builtin/index-pack.c:749 builtin/index-pack.c:755 builtin/index-pack.c:778
+#: builtin/index-pack.c:816 builtin/index-pack.c:825
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:164
-#: builtin/pack-objects.c:256
+#: builtin/index-pack.c:752 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:257
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:819
+#: builtin/index-pack.c:814
+#, c-format
+msgid "cannot read existing object info %s"
+msgstr "impossible de lire l'information existante de l'objet %s"
+
+#: builtin/index-pack.c:822
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:833
+#: builtin/index-pack.c:836
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:850
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:853
 msgid "Error in object"
 msgstr "Erreur dans l'objet"
 
-#: builtin/index-pack.c:852
+#: builtin/index-pack.c:855
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Tous les objets enfants de %s ne sont pas accessibles"
 
-#: builtin/index-pack.c:924 builtin/index-pack.c:955
+#: builtin/index-pack.c:927 builtin/index-pack.c:958
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1128
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1128
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1160
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1162
+#: builtin/index-pack.c:1165
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1165
+#: builtin/index-pack.c:1168
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1176
+#: builtin/index-pack.c:1179
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1199
+#: builtin/index-pack.c:1202
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1210
+#: builtin/index-pack.c:1213
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1252
+#: builtin/index-pack.c:1255
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1258
+#: builtin/index-pack.c:1261
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "complété avec %d objet local"
 msgstr[1] "complété avec %d objets locaux"
 
-#: builtin/index-pack.c:1270
+#: builtin/index-pack.c:1273
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 "Somme de contrôle de fin inattendue pour %s (corruption sur le disque ?)"
 
-#: builtin/index-pack.c:1274
+#: builtin/index-pack.c:1277
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "le paquet a %d delta non résolu"
 msgstr[1] "le paquet a %d deltas non résolus"
 
-#: builtin/index-pack.c:1298
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1377
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1398
+#: builtin/index-pack.c:1403
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1411
+#: builtin/index-pack.c:1415
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "impossible d'écrire le fichier \"keep\" '%s'"
 
-#: builtin/index-pack.c:1419
+#: builtin/index-pack.c:1423
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "impossible de fermer le fichier \"keep\" '%s'"
 
-#: builtin/index-pack.c:1432
+#: builtin/index-pack.c:1433
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1443
+#: builtin/index-pack.c:1441
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1476
+#: builtin/index-pack.c:1479
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
+#: builtin/index-pack.c:1489 builtin/index-pack.c:1686
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1547
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1546
+#: builtin/index-pack.c:1549
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet d'index existant pour '%s'"
 
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1596
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "pas un delta : %d objet"
 msgstr[1] "pas un delta : %d objets"
 
-#: builtin/index-pack.c:1600
+#: builtin/index-pack.c:1603
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "longueur chaînée = %d : %lu objet"
 msgstr[1] "longueur chaînée = %d : %lu objets"
 
-#: builtin/index-pack.c:1613
+#: builtin/index-pack.c:1616
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'"
 
-#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
-#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
+#: builtin/index-pack.c:1698 builtin/index-pack.c:1701
+#: builtin/index-pack.c:1717 builtin/index-pack.c:1721
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1734
+#: builtin/index-pack.c:1737
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1736
+#: builtin/index-pack.c:1739
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1744
+#: builtin/index-pack.c:1747
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
@@ -9192,106 +9436,106 @@ msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 msgid "git show [<options>] <object>..."
 msgstr "git show [<options>] <objet>..."
 
-#: builtin/log.c:84
+#: builtin/log.c:89
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "option --decorate invalide : %s"
 
-#: builtin/log.c:139
+#: builtin/log.c:144
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: builtin/log.c:140
+#: builtin/log.c:145
 msgid "show source"
 msgstr "afficher la source"
 
-#: builtin/log.c:141
+#: builtin/log.c:146
 msgid "Use mail map file"
 msgstr "Utiliser le fichier de correspondance de mail"
 
-#: builtin/log.c:142
+#: builtin/log.c:147
 msgid "decorate options"
 msgstr "décorer les options"
 
-#: builtin/log.c:145
+#: builtin/log.c:150
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de lignes n,m du fichier en commençant le "
 "compte à 1"
 
-#: builtin/log.c:241
+#: builtin/log.c:246
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Sortie finale : %d %s\n"
 
-#: builtin/log.c:486
+#: builtin/log.c:493
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s : fichier incorrect"
 
-#: builtin/log.c:500 builtin/log.c:594
+#: builtin/log.c:507 builtin/log.c:601
 #, c-format
 msgid "Could not read object %s"
 msgstr "Impossible de lire l'objet %s"
 
-#: builtin/log.c:618
+#: builtin/log.c:625
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Type inconnu : %d"
 
-#: builtin/log.c:739
+#: builtin/log.c:746
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
-#: builtin/log.c:839
+#: builtin/log.c:846
 msgid "name of output directory is too long"
 msgstr "le nom du répertoire de sortie est trop long"
 
-#: builtin/log.c:854
+#: builtin/log.c:861
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Impossible d'ouvrir le fichier correctif %s"
 
-#: builtin/log.c:868
+#: builtin/log.c:875
 msgid "Need exactly one range."
 msgstr "Exactement une plage nécessaire."
 
-#: builtin/log.c:878
+#: builtin/log.c:885
 msgid "Not a range."
 msgstr "Ceci n'est pas une plage."
 
-#: builtin/log.c:984
+#: builtin/log.c:991
 msgid "Cover letter needs email format"
 msgstr "La lettre de motivation doit être au format e-mail"
 
-#: builtin/log.c:1063
+#: builtin/log.c:1071
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
 
-#: builtin/log.c:1091
+#: builtin/log.c:1098
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]"
 
-#: builtin/log.c:1141
+#: builtin/log.c:1148
 msgid "Two output directories?"
 msgstr "Deux répertoires de sortie ?"
 
-#: builtin/log.c:1248 builtin/log.c:1891 builtin/log.c:1893 builtin/log.c:1905
+#: builtin/log.c:1255 builtin/log.c:1898 builtin/log.c:1900 builtin/log.c:1912
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Commit inconnu %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
+#: builtin/log.c:1265 builtin/notes.c:883 builtin/tag.c:532
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
 
-#: builtin/log.c:1263
+#: builtin/log.c:1270
 msgid "Could not find exact merge base."
 msgstr "Impossible de trouver la base de fusion exacte."
 
-#: builtin/log.c:1267
+#: builtin/log.c:1274
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -9304,216 +9548,216 @@ msgstr ""
 "ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
 "manuellement."
 
-#: builtin/log.c:1287
+#: builtin/log.c:1294
 msgid "Failed to find exact merge base"
 msgstr "Impossible de trouver la base de fusion exacte"
 
-#: builtin/log.c:1298
+#: builtin/log.c:1305
 msgid "base commit should be the ancestor of revision list"
 msgstr "le commit de base devrait être l'ancêtre de la liste de révisions"
 
-#: builtin/log.c:1302
+#: builtin/log.c:1309
 msgid "base commit shouldn't be in revision list"
 msgstr "le commit de base ne devrait pas faire partie de la liste de révisions"
 
-#: builtin/log.c:1351
+#: builtin/log.c:1358
 msgid "cannot get patch id"
 msgstr "impossible d'obtenir l'id du patch"
 
-#: builtin/log.c:1408
+#: builtin/log.c:1415
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "utiliser [PATCH n/m] même avec un patch unique"
 
-#: builtin/log.c:1411
+#: builtin/log.c:1418
 msgid "use [PATCH] even with multiple patches"
 msgstr "utiliser [PATCH] même avec des patchs multiples"
 
-#: builtin/log.c:1415
+#: builtin/log.c:1422
 msgid "print patches to standard out"
 msgstr "afficher les patchs sur la sortie standard"
 
-#: builtin/log.c:1417
+#: builtin/log.c:1424
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
-#: builtin/log.c:1419
+#: builtin/log.c:1426
 msgid "use simple number sequence for output file names"
 msgstr ""
 "utiliser une séquence simple de nombres pour les nom des fichiers de sortie"
 
-#: builtin/log.c:1420
+#: builtin/log.c:1427
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1421
+#: builtin/log.c:1428
 msgid "use <sfx> instead of '.patch'"
 msgstr "utiliser <sfx> au lieu de '.patch'"
 
-#: builtin/log.c:1423
+#: builtin/log.c:1430
 msgid "start numbering patches at <n> instead of 1"
 msgstr "démarrer la numérotation des patchs à <n> au lieu de 1"
 
-#: builtin/log.c:1425
+#: builtin/log.c:1432
 msgid "mark the series as Nth re-roll"
 msgstr "marquer la série comme une Nième réédition"
 
-#: builtin/log.c:1427
+#: builtin/log.c:1434
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
 
-#: builtin/log.c:1430
+#: builtin/log.c:1437
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "utiliser [<préfixe>] au lieu de [PATCH]"
 
-#: builtin/log.c:1433
+#: builtin/log.c:1440
 msgid "store resulting files in <dir>"
 msgstr "stocker les fichiers résultats dans <répertoire>"
 
-#: builtin/log.c:1436
+#: builtin/log.c:1443
 msgid "don't strip/add [PATCH]"
 msgstr "ne pas retirer/ajouter [PATCH]"
 
-#: builtin/log.c:1439
+#: builtin/log.c:1446
 msgid "don't output binary diffs"
 msgstr "ne pas imprimer les diffs binaires"
 
-#: builtin/log.c:1441
+#: builtin/log.c:1448
 msgid "output all-zero hash in From header"
 msgstr "écrire une empreinte à zéro dans l'entête From"
 
-#: builtin/log.c:1443
+#: builtin/log.c:1450
 msgid "don't include a patch matching a commit upstream"
 msgstr "ne pas inclure un patch correspondant à un commit amont"
 
-#: builtin/log.c:1445
+#: builtin/log.c:1452
 msgid "show patch format instead of default (patch + stat)"
 msgstr "afficher le format du patch au lieu du défaut (patch + stat)"
 
-#: builtin/log.c:1447
+#: builtin/log.c:1454
 msgid "Messaging"
 msgstr "Communication"
 
-#: builtin/log.c:1448
+#: builtin/log.c:1455
 msgid "header"
 msgstr "en-tête"
 
-#: builtin/log.c:1449
+#: builtin/log.c:1456
 msgid "add email header"
 msgstr "ajouter l'en-tête d'e-mail"
 
-#: builtin/log.c:1450 builtin/log.c:1452
+#: builtin/log.c:1457 builtin/log.c:1459
 msgid "email"
 msgstr "e-mail"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1457
 msgid "add To: header"
 msgstr "ajouter l'en-tête \"To:\""
 
-#: builtin/log.c:1452
+#: builtin/log.c:1459
 msgid "add Cc: header"
 msgstr "ajouter l'en-tête \"Cc:\""
 
-#: builtin/log.c:1454
+#: builtin/log.c:1461
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1455
+#: builtin/log.c:1462
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)"
 
-#: builtin/log.c:1457
+#: builtin/log.c:1464
 msgid "message-id"
 msgstr "id-message"
 
-#: builtin/log.c:1458
+#: builtin/log.c:1465
 msgid "make first mail a reply to <message-id>"
 msgstr "répondre dans le premier message à <id-message>"
 
-#: builtin/log.c:1459 builtin/log.c:1462
+#: builtin/log.c:1466 builtin/log.c:1469
 msgid "boundary"
 msgstr "limite"
 
-#: builtin/log.c:1460
+#: builtin/log.c:1467
 msgid "attach the patch"
 msgstr "attacher le patch"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1470
 msgid "inline the patch"
 msgstr "patch à l'intérieur"
 
-#: builtin/log.c:1467
+#: builtin/log.c:1474
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
 
-#: builtin/log.c:1469
+#: builtin/log.c:1476
 msgid "signature"
 msgstr "signature"
 
-#: builtin/log.c:1470
+#: builtin/log.c:1477
 msgid "add a signature"
 msgstr "ajouter une signature"
 
-#: builtin/log.c:1471
+#: builtin/log.c:1478
 msgid "base-commit"
 msgstr "commit-de-base"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1479
 msgid "add prerequisite tree info to the patch series"
 msgstr "Ajouter un arbre prérequis à la série de patchs"
 
-#: builtin/log.c:1474
+#: builtin/log.c:1481
 msgid "add a signature from a file"
 msgstr "ajouter une signature depuis un fichier"
 
-#: builtin/log.c:1475
+#: builtin/log.c:1482
 msgid "don't print the patch filenames"
 msgstr "ne pas afficher les noms de fichiers des patchs"
 
-#: builtin/log.c:1565
+#: builtin/log.c:1572
 msgid "-n and -k are mutually exclusive."
 msgstr "-n et -k sont mutuellement exclusifs."
 
-#: builtin/log.c:1567
+#: builtin/log.c:1574
 msgid "--subject-prefix/--rfc and -k are mutually exclusive."
 msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs."
 
-#: builtin/log.c:1575
+#: builtin/log.c:1582
 msgid "--name-only does not make sense"
 msgstr "--name-only n'a pas de sens"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1584
 msgid "--name-status does not make sense"
 msgstr "--name-status n'a pas de sens"
 
-#: builtin/log.c:1579
+#: builtin/log.c:1586
 msgid "--check does not make sense"
 msgstr "--check n'a pas de sens"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1616
 msgid "standard output, or directory, which one?"
 msgstr "sortie standard, ou répertoire, lequel ?"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1618
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Impossible de créer le répertoire '%s'"
 
-#: builtin/log.c:1705
+#: builtin/log.c:1712
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "lecture du fichier de signature '%s' impossible"
 
-#: builtin/log.c:1777
+#: builtin/log.c:1784
 msgid "Failed to create output files"
 msgstr "Échec de création des fichiers en sortie"
 
-#: builtin/log.c:1826
+#: builtin/log.c:1833
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
 
-#: builtin/log.c:1880
+#: builtin/log.c:1887
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -9521,106 +9765,106 @@ msgstr ""
 "Impossible de trouver une branche distante suivie, merci de spécifier "
 "<branche_amont> manuellement.\n"
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:461
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<options>] [<fichier>...]"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:510
 msgid "identify the file status with tags"
 msgstr "identifier le statut de fichier avec les étiquettes"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:512
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "utiliser des minuscules pour les fichier 'assumés inchangés'"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:514
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:516
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:518
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:520
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:521
+#: builtin/ls-files.c:522
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:525
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:527
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 "afficher les fichiers du système de fichiers qui ont besoin d'être supprimés"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:529
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:531
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:533
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:536
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:538
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:539
+#: builtin/ls-files.c:540
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:543
 msgid "exclude patterns are read from <file>"
 msgstr "les motifs d'exclusion sont lus depuis <fichier>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "lire des motifs d'exclusion additionnels par répertoire dans <fichier>"
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:548
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:551
 msgid "make the output relative to the project top directory"
 msgstr "afficher en relatif par rapport au répertoire racine du projet"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:554
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:556
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:557
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:558
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "considérer que les chemins supprimés depuis <arbre ou apparenté> sont "
 "toujours présents"
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:560
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
@@ -9634,41 +9878,41 @@ msgstr ""
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
 "                     [--symref] [<dépôt> [<références>...]]"
 
-#: builtin/ls-remote.c:50
+#: builtin/ls-remote.c:52
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+#: builtin/ls-remote.c:53 builtin/ls-remote.c:55
 msgid "exec"
 msgstr "exécutable"
 
-#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+#: builtin/ls-remote.c:54 builtin/ls-remote.c:56
 msgid "path of git-upload-pack on the remote host"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/ls-remote.c:56
+#: builtin/ls-remote.c:58
 msgid "limit to tags"
 msgstr "limiter aux étiquettes"
 
-#: builtin/ls-remote.c:57
+#: builtin/ls-remote.c:59
 msgid "limit to heads"
 msgstr "limiter aux heads"
 
-#: builtin/ls-remote.c:58
+#: builtin/ls-remote.c:60
 msgid "do not show peeled tags"
 msgstr "ne pas afficher les étiquettes pelées"
 
-#: builtin/ls-remote.c:60
+#: builtin/ls-remote.c:62
 msgid "take url.<base>.insteadOf into account"
 msgstr "prendre en compte url.<base>.insteadOf"
 
-#: builtin/ls-remote.c:62
+#: builtin/ls-remote.c:64
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr ""
 "sortir avec un code d'erreur 2 si aucune correspondance de référence n'est "
 "trouvée"
 
-#: builtin/ls-remote.c:64
+#: builtin/ls-remote.c:66
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "afficher la réf sous-jacente en plus de l'objet pointé par elle"
 
@@ -9715,149 +9959,145 @@ msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<options>] [<commit>...]"
 
 #: builtin/merge.c:47
-msgid "git merge [<options>] <msg> HEAD <commit>"
-msgstr "git merge [<options>] <message> HEAD <commit>"
-
-#: builtin/merge.c:48
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:49
+#: builtin/merge.c:48
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:104
+#: builtin/merge.c:103
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:140
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:142
+#: builtin/merge.c:141
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:147
+#: builtin/merge.c:146
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:197 builtin/pull.c:127
+#: builtin/merge.c:196 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "ne pas afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:200 builtin/pull.c:130
+#: builtin/merge.c:199 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:201 builtin/pull.c:133
+#: builtin/merge.c:200 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:203 builtin/pull.c:136
+#: builtin/merge.c:202 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "ajouter (au plus <n>) éléments du journal court au message de validation de "
 "la fusion"
 
-#: builtin/merge.c:206 builtin/pull.c:139
+#: builtin/merge.c:205 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "créer une validation unique au lieu de faire une fusion"
 
-#: builtin/merge.c:208 builtin/pull.c:142
+#: builtin/merge.c:207 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:210 builtin/pull.c:145
+#: builtin/merge.c:209 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:211
+#: builtin/merge.c:210
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:213 builtin/pull.c:151
+#: builtin/merge.c:212 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:217 builtin/pull.c:154
+#: builtin/merge.c:216 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "vérifier que le commit nommé a une signature GPG valide"
 
-#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
-#: builtin/revert.c:89
+#: builtin/merge.c:217 builtin/notes.c:773 builtin/pull.c:158
+#: builtin/revert.c:108
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:219 builtin/pull.c:159
+#: builtin/merge.c:218 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:220 builtin/pull.c:162
+#: builtin/merge.c:219 builtin/pull.c:162
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:221 builtin/pull.c:163
+#: builtin/merge.c:220 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:223
+#: builtin/merge.c:222
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "message de validation de la fusion (pour une fusion sans avance rapide)"
 
-#: builtin/merge.c:227
+#: builtin/merge.c:226
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:229
+#: builtin/merge.c:228
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:231 builtin/pull.c:170
+#: builtin/merge.c:230 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:258
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:264
+#: builtin/merge.c:263
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:269
+#: builtin/merge.c:268
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:288 builtin/merge.c:305
+#: builtin/merge.c:287 builtin/merge.c:304
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:335
+#: builtin/merge.c:334
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:346
+#: builtin/merge.c:345
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:396
+#: builtin/merge.c:395
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:446
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:537
+#: builtin/merge.c:536
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
@@ -9921,64 +10161,59 @@ msgstr ""
 "La fusion automatique a échoué ; réglez les conflits et validez le "
 "résultat.\n"
 
-#: builtin/merge.c:867
-#, c-format
-msgid "'%s' is not a commit"
-msgstr "'%s' n'est pas une validation"
-
-#: builtin/merge.c:908
+#: builtin/merge.c:890
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:910
+#: builtin/merge.c:892
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:912
+#: builtin/merge.c:894
 msgid "No default upstream defined for the current branch."
 msgstr "Pas de branche amont par défaut définie pour la branche courante."
 
-#: builtin/merge.c:917
+#: builtin/merge.c:899
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:964
+#: builtin/merge.c:946
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1038
+#: builtin/merge.c:1020
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: builtin/merge.c:1065
+#: builtin/merge.c:1047
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1099
+#: builtin/merge.c:1081
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1167
+#: builtin/merge.c:1146
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1171
+#: builtin/merge.c:1150
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion à abandonner (MERGE_HEAD manquant)."
 
-#: builtin/merge.c:1183
+#: builtin/merge.c:1162
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1187
+#: builtin/merge.c:1166
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion en cours (MERGE_HEAD manquant)."
 
-#: builtin/merge.c:1203
+#: builtin/merge.c:1182
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9986,7 +10221,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1210
+#: builtin/merge.c:1189
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9994,114 +10229,114 @@ msgstr ""
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1213
+#: builtin/merge.c:1192
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe)."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1201
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1230
+#: builtin/merge.c:1209
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "Pas de validation spécifiée et merge.defaultToUpstream n'est pas défini."
 
-#: builtin/merge.c:1247
+#: builtin/merge.c:1226
 msgid "Squash commit into empty head not supported yet"
 msgstr "La validation compressée vers une tête vide n'est pas encore supportée"
 
-#: builtin/merge.c:1249
+#: builtin/merge.c:1228
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Une validation sans avance rapide n'a pas de sens dans une tête vide"
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1233
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1256
+#: builtin/merge.c:1235
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Possible de fusionner exactement une seule validation dans une tête vide"
 
-#: builtin/merge.c:1312
+#: builtin/merge.c:1269
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
 
-#: builtin/merge.c:1315
+#: builtin/merge.c:1272
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
 
-#: builtin/merge.c:1318
+#: builtin/merge.c:1275
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: builtin/merge.c:1321
+#: builtin/merge.c:1278
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "La validation %s a une signature GPG correcte par %s\n"
 
-#: builtin/merge.c:1383
+#: builtin/merge.c:1340
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1392
+#: builtin/merge.c:1349
 msgid "Already up-to-date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1402
+#: builtin/merge.c:1359
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1443
+#: builtin/merge.c:1400
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1407
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1475
+#: builtin/merge.c:1432
 msgid "Already up-to-date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1481
+#: builtin/merge.c:1438
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1504 builtin/merge.c:1583
+#: builtin/merge.c:1461 builtin/merge.c:1540
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1508
+#: builtin/merge.c:1465
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1574
+#: builtin/merge.c:1531
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Aucune stratégie de fusion n'a pris en charge la fusion.\n"
 
-#: builtin/merge.c:1576
+#: builtin/merge.c:1533
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1585
+#: builtin/merge.c:1542
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Utilisation de %s pour préparer la résolution à la main.\n"
 
-#: builtin/merge.c:1597
+#: builtin/merge.c:1554
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -10155,35 +10390,35 @@ msgstr ""
 "git merge-file [<options>] [-L <nom1> [-L <orig> [-L <nom2>]]] <fichier1> "
 "<fichier-orig> <fichier2>"
 
-#: builtin/merge-file.c:33
+#: builtin/merge-file.c:32
 msgid "send results to standard output"
 msgstr "envoyer les résultats sur la sortie standard"
 
-#: builtin/merge-file.c:34
+#: builtin/merge-file.c:33
 msgid "use a diff3 based merge"
 msgstr "utiliser une fusion basée sur diff3"
 
-#: builtin/merge-file.c:35
+#: builtin/merge-file.c:34
 msgid "for conflicts, use our version"
 msgstr "pour les conflits, utiliser notre version (our)"
 
-#: builtin/merge-file.c:37
+#: builtin/merge-file.c:36
 msgid "for conflicts, use their version"
 msgstr "pour les conflits, utiliser leur version (their)"
 
-#: builtin/merge-file.c:39
+#: builtin/merge-file.c:38
 msgid "for conflicts, use a union version"
 msgstr "pour les conflits, utiliser l'ensemble des versions"
 
-#: builtin/merge-file.c:42
+#: builtin/merge-file.c:41
 msgid "for conflicts, use this marker size"
 msgstr "pour les conflits, utiliser cette taille de marqueur"
 
-#: builtin/merge-file.c:43
+#: builtin/merge-file.c:42
 msgid "do not warn about conflicts"
 msgstr "ne pas avertir à propos des conflits"
 
-#: builtin/merge-file.c:45
+#: builtin/merge-file.c:44
 msgid "set labels for file1/orig-file/file2"
 msgstr "définir les labels pour fichier1/fichier-orig/fichier2"
 
@@ -10328,44 +10563,48 @@ msgstr "Renommage de %s en %s\n"
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
 
-#: builtin/name-rev.c:257
+#: builtin/name-rev.c:289
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<options>] <validation>..."
 
-#: builtin/name-rev.c:258
+#: builtin/name-rev.c:290
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<options>] --all"
 
-#: builtin/name-rev.c:259
+#: builtin/name-rev.c:291
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<options>] --stdin"
 
-#: builtin/name-rev.c:311
+#: builtin/name-rev.c:346
 msgid "print only names (no SHA-1)"
 msgstr "afficher seulement les noms (pas de SHA-1)"
 
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:347
 msgid "only use tags to name the commits"
 msgstr "utiliser seulement les étiquettes pour nommer les validations"
 
-#: builtin/name-rev.c:314
+#: builtin/name-rev.c:349
 msgid "only use refs matching <pattern>"
 msgstr "utiliser seulement les références correspondant à <motif>"
 
-#: builtin/name-rev.c:316
+#: builtin/name-rev.c:351
+msgid "ignore refs matching <pattern>"
+msgstr "ignorer les références correspondant à <motif>"
+
+#: builtin/name-rev.c:353
 msgid "list all commits reachable from all refs"
 msgstr ""
 "afficher toutes les validations accessibles depuis toutes les références"
 
-#: builtin/name-rev.c:317
+#: builtin/name-rev.c:354
 msgid "read from stdin"
 msgstr "lire depuis l'entrée standard"
 
-#: builtin/name-rev.c:318
+#: builtin/name-rev.c:355
 msgid "allow to print `undefined` names (default)"
 msgstr "autoriser l'affichage des noms `non définis` (par défaut)"
 
-#: builtin/name-rev.c:324
+#: builtin/name-rev.c:361
 msgid "dereference tags in the input (internal use)"
 msgstr "déréférencer les étiquettes en entrée (usage interne)"
 
@@ -10512,19 +10751,19 @@ msgstr "impossible d'écrire l'objet note"
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:233 builtin/tag.c:460
+#: builtin/notes.c:233 builtin/tag.c:516
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:463
+#: builtin/notes.c:235 builtin/tag.c:519
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
 
 #: builtin/notes.c:254 builtin/notes.c:305 builtin/notes.c:307
 #: builtin/notes.c:372 builtin/notes.c:427 builtin/notes.c:513
-#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:659
+#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:658
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr "impossible de résoudre '%s' comme une référence valide."
@@ -10557,12 +10796,12 @@ msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "Refus de faire %s sur des notes dans %s (hors de refs/notes/)"
 
 #: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:496
-#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:652
-#: builtin/notes.c:802 builtin/notes.c:949 builtin/notes.c:970
+#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:651
+#: builtin/notes.c:801 builtin/notes.c:948 builtin/notes.c:969
 msgid "too many parameters"
 msgstr "trop de paramètres"
 
-#: builtin/notes.c:378 builtin/notes.c:665
+#: builtin/notes.c:378 builtin/notes.c:664
 #, c-format
 msgid "no note found for object %s."
 msgstr "pas de note trouvée pour l'objet %s."
@@ -10605,7 +10844,7 @@ msgstr ""
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Écrasement des notes existantes pour l'objet %s\n"
 
-#: builtin/notes.c:463 builtin/notes.c:624 builtin/notes.c:889
+#: builtin/notes.c:463 builtin/notes.c:623 builtin/notes.c:888
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Suppression de la note pour l'objet %s\n"
@@ -10646,52 +10885,52 @@ msgstr ""
 "Les options -m/-F/-c/-C sont obsolètes pour la sous-commande 'edit'.\n"
 "Veuillez utiliser 'git notes add -f -m/-F/-c/-C' à la place.\n"
 
-#: builtin/notes.c:685
+#: builtin/notes.c:684
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la suppression de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:687
+#: builtin/notes.c:686
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "échec de la suppression de la référence NOTES_MERGE_REF"
 
-#: builtin/notes.c:689
+#: builtin/notes.c:688
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "échec de la suppression de la copie de travail 'git notes merge'"
 
-#: builtin/notes.c:709
+#: builtin/notes.c:708
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la lecture de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:711
+#: builtin/notes.c:710
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible de trouver le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:713
+#: builtin/notes.c:712
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible d'analyser le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:726
+#: builtin/notes.c:725
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "échec de la résolution de NOTES_MERGE_REF"
 
-#: builtin/notes.c:729
+#: builtin/notes.c:728
 msgid "failed to finalize notes merge"
 msgstr "impossible de finaliser la fusion de notes"
 
-#: builtin/notes.c:755
+#: builtin/notes.c:754
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "stratégie de fusion de notes inconnue %s"
 
-#: builtin/notes.c:771
+#: builtin/notes.c:770
 msgid "General options"
 msgstr "Options générales"
 
-#: builtin/notes.c:773
+#: builtin/notes.c:772
 msgid "Merge options"
 msgstr "Options de fusion"
 
-#: builtin/notes.c:775
+#: builtin/notes.c:774
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -10699,47 +10938,47 @@ msgstr ""
 "résoudre les conflits de notes en utilisant la stratégie donnée (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:777
+#: builtin/notes.c:776
 msgid "Committing unmerged notes"
 msgstr "Validation des notes non fusionnées"
 
-#: builtin/notes.c:779
+#: builtin/notes.c:778
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "finaliser la fusion de notes en validant les notes non fusionnées"
 
-#: builtin/notes.c:781
+#: builtin/notes.c:780
 msgid "Aborting notes merge resolution"
 msgstr "Abandon de la résolution de fusion des notes"
 
-#: builtin/notes.c:783
+#: builtin/notes.c:782
 msgid "abort notes merge"
 msgstr "abandonner la fusion de notes"
 
-#: builtin/notes.c:794
+#: builtin/notes.c:793
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "--commit, --abort et -s/--strategy sont mutuellement incompatibles"
 
-#: builtin/notes.c:799
+#: builtin/notes.c:798
 msgid "must specify a notes ref to merge"
 msgstr "vous devez spécifier une référence de notes à fusionner"
 
-#: builtin/notes.c:823
+#: builtin/notes.c:822
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "-s/--strategy inconnu : %s"
 
-#: builtin/notes.c:860
+#: builtin/notes.c:859
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "une fusion de notes dans %s est déjà en cours avec %s"
 
-#: builtin/notes.c:863
+#: builtin/notes.c:862
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr ""
 "impossible de stocker le lien vers la référence actuelle aux notes (%s)"
 
-#: builtin/notes.c:865
+#: builtin/notes.c:864
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -10750,37 +10989,37 @@ msgstr ""
 "valide le résultat avec 'git notes merges --commit', ou abandonnez la fusion "
 "avec 'git notes merge --abort'.\n"
 
-#: builtin/notes.c:887
+#: builtin/notes.c:886
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "L'objet %s n'a pas de note\n"
 
-#: builtin/notes.c:899
+#: builtin/notes.c:898
 msgid "attempt to remove non-existent note is not an error"
 msgstr ""
 "la tentative de suppression d'une note non existante n'est pas une erreur"
 
-#: builtin/notes.c:902
+#: builtin/notes.c:901
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: builtin/notes.c:940 builtin/prune.c:105 builtin/worktree.c:127
+#: builtin/notes.c:939 builtin/prune.c:105 builtin/worktree.c:127
 msgid "do not remove, show only"
 msgstr "ne pas supprimer, afficher seulement"
 
-#: builtin/notes.c:941
+#: builtin/notes.c:940
 msgid "report pruned notes"
 msgstr "afficher les notes éliminées"
 
-#: builtin/notes.c:983
+#: builtin/notes.c:982
 msgid "notes-ref"
 msgstr "références-notes"
 
-#: builtin/notes.c:984
+#: builtin/notes.c:983
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1019
+#: builtin/notes.c:1018
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
@@ -10804,181 +11043,181 @@ msgstr ""
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
 
-#: builtin/pack-objects.c:766
+#: builtin/pack-objects.c:770
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "désactivation de l'écriture en bitmap, les fichiers paquets sont scindés à "
 "cause de pack.packSizeLimit"
 
-#: builtin/pack-objects.c:779
+#: builtin/pack-objects.c:783
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:1068
+#: builtin/pack-objects.c:1063
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "désactivation de l'écriture en bitmap car certains objets ne sont pas "
 "compressés"
 
-#: builtin/pack-objects.c:2344
+#: builtin/pack-objects.c:2426
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2747
+#: builtin/pack-objects.c:2829
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:2751
+#: builtin/pack-objects.c:2833
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:2781
+#: builtin/pack-objects.c:2863
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/pack-objects.c:2783
+#: builtin/pack-objects.c:2865
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/pack-objects.c:2785
+#: builtin/pack-objects.c:2867
 msgid "show progress meter during object writing phase"
 msgstr "afficher la barre de progression durant la phase d'écrite des objets"
 
-#: builtin/pack-objects.c:2788
+#: builtin/pack-objects.c:2870
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "similaire à --all-progress quand la barre de progression est affichée"
 
-#: builtin/pack-objects.c:2789
+#: builtin/pack-objects.c:2871
 msgid "version[,offset]"
 msgstr "version[,offset]"
 
-#: builtin/pack-objects.c:2790
+#: builtin/pack-objects.c:2872
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "écrire le fichier d'index du paquet dans le format d'index de version "
 "spécifié"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2875
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2877
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2879
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:2799
+#: builtin/pack-objects.c:2881
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2883
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "limiter la fenêtre d'empaquetage par mémoire en plus de la limite d'objets"
 
-#: builtin/pack-objects.c:2803
+#: builtin/pack-objects.c:2885
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "longueur maximum de la chaîne de delta autorisée dans le paquet résultant"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2887
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2889
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2891
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2893
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleurs correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2895
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2897
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2899
 msgid "limit the objects to those that are not yet packed"
 msgstr "limiter les objets à ceux qui ne sont pas encore empaquetés"
 
-#: builtin/pack-objects.c:2820
+#: builtin/pack-objects.c:2902
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2905
 msgid "include objects referred by reflog entries"
 msgstr "inclure les objets référencés par les éléments de reflog"
 
-#: builtin/pack-objects.c:2826
+#: builtin/pack-objects.c:2908
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2911
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:2831
+#: builtin/pack-objects.c:2913
 msgid "include tag objects that refer to objects to be packed"
 msgstr "inclure les objets d'étiquettes qui réfèrent à des objets à empaqueter"
 
-#: builtin/pack-objects.c:2833
+#: builtin/pack-objects.c:2915
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2917
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:2837
+#: builtin/pack-objects.c:2919
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:2840
+#: builtin/pack-objects.c:2922
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:2842
+#: builtin/pack-objects.c:2924
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:2844
+#: builtin/pack-objects.c:2926
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:2846
+#: builtin/pack-objects.c:2928
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:2848
+#: builtin/pack-objects.c:2930
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:2850
+#: builtin/pack-objects.c:2932
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "utiliser un index en bitmap si disponible pour accélerer le décompte des "
 "objets"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2934
 msgid "write a bitmap index together with the pack index"
 msgstr "écrire un index en bitmap associé à l'index de paquet"
 
-#: builtin/pack-objects.c:2979
+#: builtin/pack-objects.c:3061
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
@@ -11035,7 +11274,7 @@ msgstr "Options relatives à la fusion"
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: builtin/pull.c:148 builtin/revert.c:101
+#: builtin/pull.c:148 builtin/rebase--helper.c:18 builtin/revert.c:120
 msgid "allow fast-forward"
 msgstr "autoriser l'avance rapide"
 
@@ -11422,11 +11661,11 @@ msgstr "--all et --mirror sont incompatibles"
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:519 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:162
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:520 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:164
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
@@ -11439,15 +11678,15 @@ msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "pousser les étiquettes (ne peut pas être utilisé avec --all ou --mirror)"
 
-#: builtin/push.c:526 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:165
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:528 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:179
 msgid "refname>:<expect"
 msgstr "nom de référence>:<attendu"
 
-#: builtin/push.c:529 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:180
 msgid "require old value of ref to be at this value"
 msgstr "exiger que l'ancienne valeur de la référence soit à cette valeur"
 
@@ -11455,12 +11694,12 @@ msgstr "exiger que l'ancienne valeur de la référence soit à cette valeur"
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:534 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:173
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
-#: builtin/send-pack.c:159
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:159
+#: builtin/send-pack.c:160
 msgid "receive pack program"
 msgstr "recevoir le programme d'empaquetage"
 
@@ -11480,19 +11719,19 @@ msgstr "éviter d'utiliser le crochet pre-push"
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:546 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:167
 msgid "GPG sign the push"
 msgstr "signer la poussée avec GPG"
 
-#: builtin/push.c:548 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:174
 msgid "request atomic transaction on remote side"
 msgstr "demande une transaction atomique sur le serveur distant"
 
-#: builtin/push.c:549
+#: builtin/push.c:549 builtin/send-pack.c:170
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
-#: builtin/push.c:549
+#: builtin/push.c:549 builtin/send-pack.c:171
 msgid "option to transmit"
 msgstr "option à transmettre"
 
@@ -11510,7 +11749,7 @@ msgstr ""
 "les options de poussée ne peuvent pas contenir de caractères de nouvelle "
 "ligne"
 
-#: builtin/read-tree.c:37
+#: builtin/read-tree.c:40
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
@@ -11521,75 +11760,87 @@ msgstr ""
 "sparse-checkout] [--index-output=<fichier>] (--empty | <arbre ou apparenté "
 "1> [<arbre ou apparenté 2> [<arbre ou apparenté 3>]])"
 
-#: builtin/read-tree.c:110
+#: builtin/read-tree.c:130
 msgid "write resulting index to <file>"
 msgstr "écrire l'index résultant dans <fichier>"
 
-#: builtin/read-tree.c:113
+#: builtin/read-tree.c:133
 msgid "only empty the index"
 msgstr "juste vider l'index"
 
-#: builtin/read-tree.c:115
+#: builtin/read-tree.c:135
 msgid "Merging"
 msgstr "Fusion"
 
-#: builtin/read-tree.c:117
+#: builtin/read-tree.c:137
 msgid "perform a merge in addition to a read"
 msgstr "effectuer une fusion en plus d'une lecture"
 
-#: builtin/read-tree.c:119
+#: builtin/read-tree.c:139
 msgid "3-way merge if no file level merging required"
 msgstr "fusion à 3 points si aucune fusion de niveau fichier n'est requise"
 
-#: builtin/read-tree.c:121
+#: builtin/read-tree.c:141
 msgid "3-way merge in presence of adds and removes"
 msgstr "fusion à 3 points en présence d'ajouts et suppressions"
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:143
 msgid "same as -m, but discard unmerged entries"
 msgstr "comme -m, mais annule les éléments non fusionnés"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:144
 msgid "<subdirectory>/"
 msgstr "<sous-répertoire>/"
 
-#: builtin/read-tree.c:125
+#: builtin/read-tree.c:145
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "lire l'arbre dans l'index dans <sous-répertoire>/"
 
-#: builtin/read-tree.c:128
+#: builtin/read-tree.c:148
 msgid "update working tree with merge result"
 msgstr "mettre à jour la copie de travail avec le résultat de la fusion"
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:150
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:131
+#: builtin/read-tree.c:151
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "autoriser explicitement les fichiers ignorés à être écrasés"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:154
 msgid "don't check the working tree after merging"
 msgstr "ne pas vérifier la copie de travail après la fusion"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:155
 msgid "don't update the index or the work tree"
 msgstr "ne pas mettre à jour l'index ou la copie de travail"
 
-#: builtin/read-tree.c:137
+#: builtin/read-tree.c:157
 msgid "skip applying sparse checkout filter"
 msgstr "sauter l'application du filtre d'extraction creuse"
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:159
 msgid "debug unpack-trees"
 msgstr "déboguer unpack-trees"
 
-#: builtin/receive-pack.c:26
+#: builtin/rebase--helper.c:7
+msgid "git rebase--helper [<options>]"
+msgstr "git rebase-helper [<options>]"
+
+#: builtin/rebase--helper.c:19
+msgid "continue rebase"
+msgstr "continuer le rebasage"
+
+#: builtin/rebase--helper.c:21
+msgid "abort rebase"
+msgstr "abandonner le rebasage"
+
+#: builtin/receive-pack.c:27
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
-#: builtin/receive-pack.c:793
+#: builtin/receive-pack.c:796
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -11619,7 +11870,7 @@ msgstr ""
 "Pour éliminer ce message et conserver le comportement par défaut,\n"
 "réglez « receive.denyCurrentBranch » à 'refuse'."
 
-#: builtin/receive-pack.c:813
+#: builtin/receive-pack.c:816
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -11639,11 +11890,11 @@ msgstr ""
 "\n"
 "Pour éliminer ce message, réglez-le à 'refuse'."
 
-#: builtin/receive-pack.c:1883
+#: builtin/receive-pack.c:1889
 msgid "quiet"
 msgstr "quiet"
 
-#: builtin/receive-pack.c:1897
+#: builtin/receive-pack.c:1903
 msgid "You must specify a directory."
 msgstr "Vous devez spécifier un répertoire."
 
@@ -11828,7 +12079,7 @@ msgstr "(correspond)"
 msgid "(delete)"
 msgstr "(supprimer)"
 
-#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:854
+#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:856
 #, c-format
 msgid "No such remote: %s"
 msgstr "Distante inconnue : %s"
@@ -11859,7 +12110,7 @@ msgstr "échec de suppression de '%s'"
 msgid "creating '%s' failed"
 msgstr "échec de création de '%s'"
 
-#: builtin/remote.c:792
+#: builtin/remote.c:794
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -11874,137 +12125,137 @@ msgstr[1] ""
 "supprimées ;\n"
 "pour les supprimer, utilisez :"
 
-#: builtin/remote.c:806
+#: builtin/remote.c:808
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Impossible de supprimer la section de configuration '%s'"
 
-#: builtin/remote.c:907
+#: builtin/remote.c:909
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
 
-#: builtin/remote.c:910
+#: builtin/remote.c:912
 msgid " tracked"
 msgstr " suivi"
 
-#: builtin/remote.c:912
+#: builtin/remote.c:914
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " dépassé (utilisez 'git remote prune' pour supprimer)"
 
-#: builtin/remote.c:914
+#: builtin/remote.c:916
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:955
+#: builtin/remote.c:957
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge invalide ; ne peut pas rebaser sur plus d'une branche"
 
-#: builtin/remote.c:963
+#: builtin/remote.c:965
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "rebase de manière interactive sur la distante %s"
 
-#: builtin/remote.c:964
+#: builtin/remote.c:966
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "rebase sur la distante %s"
 
-#: builtin/remote.c:967
+#: builtin/remote.c:969
 #, c-format
 msgid " merges with remote %s"
 msgstr " fusionne avec la distante %s"
 
-#: builtin/remote.c:970
+#: builtin/remote.c:972
 #, c-format
 msgid "merges with remote %s"
 msgstr "fusionne avec la distante %s"
 
-#: builtin/remote.c:973
+#: builtin/remote.c:975
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    et avec la distante %s\n"
 
-#: builtin/remote.c:1016
+#: builtin/remote.c:1018
 msgid "create"
 msgstr "créer"
 
-#: builtin/remote.c:1019
+#: builtin/remote.c:1021
 msgid "delete"
 msgstr "supprimer"
 
-#: builtin/remote.c:1023
+#: builtin/remote.c:1025
 msgid "up to date"
 msgstr "à jour"
 
-#: builtin/remote.c:1026
+#: builtin/remote.c:1028
 msgid "fast-forwardable"
 msgstr "peut être mis à jour en avance rapide"
 
-#: builtin/remote.c:1029
+#: builtin/remote.c:1031
 msgid "local out of date"
 msgstr "le local n'est pas à jour"
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1038
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s force vers %-*s (%s)"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s pousse vers %-*s (%s)"
 
-#: builtin/remote.c:1043
+#: builtin/remote.c:1045
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s force vers %s"
 
-#: builtin/remote.c:1046
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s pousse vers %s"
 
-#: builtin/remote.c:1114
+#: builtin/remote.c:1116
 msgid "do not query remotes"
 msgstr "ne pas interroger les distantes"
 
-#: builtin/remote.c:1141
+#: builtin/remote.c:1143
 #, c-format
 msgid "* remote %s"
 msgstr "* distante %s"
 
-#: builtin/remote.c:1142
+#: builtin/remote.c:1144
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL de rapatriement : %s"
 
-#: builtin/remote.c:1143 builtin/remote.c:1156 builtin/remote.c:1295
+#: builtin/remote.c:1145 builtin/remote.c:1158 builtin/remote.c:1297
 msgid "(no URL)"
 msgstr "(pas d'URL)"
 
 #. TRANSLATORS: the colon ':' should align with
 #. the one in "  Fetch URL: %s" translation
-#: builtin/remote.c:1154 builtin/remote.c:1156
+#: builtin/remote.c:1156 builtin/remote.c:1158
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL push : %s"
 
-#: builtin/remote.c:1158 builtin/remote.c:1160 builtin/remote.c:1162
+#: builtin/remote.c:1160 builtin/remote.c:1162 builtin/remote.c:1164
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Branche HEAD : %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1160
 msgid "(not queried)"
 msgstr "(non demandé)"
 
-#: builtin/remote.c:1160
+#: builtin/remote.c:1162
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: builtin/remote.c:1164
+#: builtin/remote.c:1166
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -12012,162 +12263,162 @@ msgstr ""
 "  Branche HEAD (la HEAD distante est ambiguë, peut être l'une des "
 "suivantes) :\n"
 
-#: builtin/remote.c:1176
+#: builtin/remote.c:1178
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branche distante :%s"
 msgstr[1] "  Branches distantes :%s"
 
-#: builtin/remote.c:1179 builtin/remote.c:1205
+#: builtin/remote.c:1181 builtin/remote.c:1207
 msgid " (status not queried)"
 msgstr " (statut non demandé)"
 
-#: builtin/remote.c:1188
+#: builtin/remote.c:1190
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Branche locale configurée pour 'git pull' :"
 msgstr[1] "  Branches locales configurées pour 'git pull' :"
 
-#: builtin/remote.c:1196
+#: builtin/remote.c:1198
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Les références locales seront reflétées par 'git push'"
 
-#: builtin/remote.c:1202
+#: builtin/remote.c:1204
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Référence locale configurée pour 'git push'%s :"
 msgstr[1] "  Références locales configurées pour 'git push'%s :"
 
-#: builtin/remote.c:1223
+#: builtin/remote.c:1225
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
 
-#: builtin/remote.c:1225
+#: builtin/remote.c:1227
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "supprimer refs/remotes/<nom>/HEAD"
 
-#: builtin/remote.c:1240
+#: builtin/remote.c:1242
 msgid "Cannot determine remote HEAD"
 msgstr "Impossible de déterminer la HEAD distante"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1244
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Il y a de multiples branches HEAD distantes. Veuillez en choisir une "
 "explicitement avec :"
 
-#: builtin/remote.c:1252
+#: builtin/remote.c:1254
 #, c-format
 msgid "Could not delete %s"
 msgstr "Impossible de supprimer %s"
 
-#: builtin/remote.c:1260
+#: builtin/remote.c:1262
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Référence non valide : %s"
 
-#: builtin/remote.c:1262
+#: builtin/remote.c:1264
 #, c-format
 msgid "Could not setup %s"
 msgstr "Impossible de paramétrer %s"
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1282
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s se retrouvera en suspens !"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1283
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s se retrouve en suspens !"
 
-#: builtin/remote.c:1291
+#: builtin/remote.c:1293
 #, c-format
 msgid "Pruning %s"
 msgstr "Élimination de %s"
 
-#: builtin/remote.c:1292
+#: builtin/remote.c:1294
 #, c-format
 msgid "URL: %s"
 msgstr "URL : %s"
 
-#: builtin/remote.c:1308
+#: builtin/remote.c:1310
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [serait éliminé] %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1313
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [éliminé] %s"
 
-#: builtin/remote.c:1356
+#: builtin/remote.c:1358
 msgid "prune remotes after fetching"
 msgstr "éliminer les distants après le rapatriement"
 
-#: builtin/remote.c:1419 builtin/remote.c:1473 builtin/remote.c:1541
+#: builtin/remote.c:1421 builtin/remote.c:1475 builtin/remote.c:1543
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Pas de serveur remote '%s'"
 
-#: builtin/remote.c:1435
+#: builtin/remote.c:1437
 msgid "add branch"
 msgstr "ajouter une branche"
 
-#: builtin/remote.c:1442
+#: builtin/remote.c:1444
 msgid "no remote specified"
 msgstr "pas de serveur distant spécifié"
 
-#: builtin/remote.c:1459
+#: builtin/remote.c:1461
 msgid "query push URLs rather than fetch URLs"
 msgstr "interroger les URLs de poussée plutôt que les URLs de récupération"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1463
 msgid "return all URLs"
 msgstr "retourner toutes les URLs"
 
-#: builtin/remote.c:1489
+#: builtin/remote.c:1491
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "aucune URL configurée pour le dépôt distant '%s'"
 
-#: builtin/remote.c:1515
+#: builtin/remote.c:1517
 msgid "manipulate push URLs"
 msgstr "manipuler les URLs push"
 
-#: builtin/remote.c:1517
+#: builtin/remote.c:1519
 msgid "add URL"
 msgstr "ajouter une URL"
 
-#: builtin/remote.c:1519
+#: builtin/remote.c:1521
 msgid "delete URLs"
 msgstr "supprimer des URLs"
 
-#: builtin/remote.c:1526
+#: builtin/remote.c:1528
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete n'a aucun sens"
 
-#: builtin/remote.c:1567
+#: builtin/remote.c:1569
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Motif d'URL ancien invalide : %s"
 
-#: builtin/remote.c:1575
+#: builtin/remote.c:1577
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Pas d'URL trouvée : %s"
 
-#: builtin/remote.c:1577
+#: builtin/remote.c:1579
 msgid "Will not delete all non-push URLs"
 msgstr "Pas de suppression de toutes les URLs non-push"
 
-#: builtin/remote.c:1591
+#: builtin/remote.c:1593
 msgid "be verbose; must be placed before a subcommand"
 msgstr "être verbeux : doit être placé avant une sous-commande"
 
-#: builtin/remote.c:1622
+#: builtin/remote.c:1624
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Sous-commande inconnue : %s"
@@ -12287,22 +12538,22 @@ msgstr "git replace -d <objet>..."
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<format>] [-l [<motif>]]"
 
-#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
+#: builtin/replace.c:329 builtin/replace.c:367 builtin/replace.c:395
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr "Nom d'objet invalide : '%s'"
 
-#: builtin/replace.c:355
+#: builtin/replace.c:359
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "mauvaise étiquette de fusion dans le commit '%s'"
 
-#: builtin/replace.c:357
+#: builtin/replace.c:361
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "étiquette de fusion malformée dans le commit '%s'"
 
-#: builtin/replace.c:368
+#: builtin/replace.c:372
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -12311,45 +12562,45 @@ msgstr ""
 "le commit original '%s' contient l'étiquette de fusion '%s' qui a disparu ; "
 "utilisez --edit au lieu de --graft"
 
-#: builtin/replace.c:401
+#: builtin/replace.c:405
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr "le commit original '%s' contient une signature GPG."
 
-#: builtin/replace.c:402
+#: builtin/replace.c:406
 msgid "the signature will be removed in the replacement commit!"
 msgstr "la signature sera éliminée dans la validation de remplacement !"
 
-#: builtin/replace.c:408
+#: builtin/replace.c:412
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "Impossible d'écrire le commit de remplacement pour '%s'"
 
-#: builtin/replace.c:432
+#: builtin/replace.c:436
 msgid "list replace refs"
 msgstr "afficher les références de remplacement"
 
-#: builtin/replace.c:433
+#: builtin/replace.c:437
 msgid "delete replace refs"
 msgstr "supprimer les références de remplacement"
 
-#: builtin/replace.c:434
+#: builtin/replace.c:438
 msgid "edit existing object"
 msgstr "éditer l'objet existant"
 
-#: builtin/replace.c:435
+#: builtin/replace.c:439
 msgid "change a commit's parents"
 msgstr "Modifier les parents d'un commit"
 
-#: builtin/replace.c:436
+#: builtin/replace.c:440
 msgid "replace the ref if it exists"
 msgstr "remplacer la référence si elle existe"
 
-#: builtin/replace.c:437
+#: builtin/replace.c:441
 msgid "do not pretty-print contents for --edit"
 msgstr "afficher sans mise en forme pour --edit"
 
-#: builtin/replace.c:438
+#: builtin/replace.c:442
 msgid "use this format"
 msgstr "utiliser ce format"
 
@@ -12496,23 +12747,23 @@ msgstr "Impossible d'écrire le nouveau fichier d'index."
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:393
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<arguments>...]"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:398
 msgid "keep the `--` passed as an arg"
 msgstr "garder le `--` passé en argument"
 
-#: builtin/rev-parse.c:398
+#: builtin/rev-parse.c:400
 msgid "stop parsing after the first non-option argument"
 msgstr "arrêt de l'analyse après le premier argument qui n'est pas une option"
 
-#: builtin/rev-parse.c:401
+#: builtin/rev-parse.c:403
 msgid "output in stuck long form"
 msgstr "sortie en forme longue fixée"
 
-#: builtin/rev-parse.c:532
+#: builtin/rev-parse.c:534
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -12543,68 +12794,72 @@ msgstr "git cherry-pick [<options>] <commit ou apparenté>..."
 msgid "git cherry-pick <subcommand>"
 msgstr "git cherry-pick <sous-commande>"
 
-#: builtin/revert.c:71
+#: builtin/revert.c:89
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr "%s : %s ne peut pas être utilisé avec %s"
 
-#: builtin/revert.c:80
+#: builtin/revert.c:98
 msgid "end revert or cherry-pick sequence"
 msgstr "mettre fin au retour ou picorage"
 
-#: builtin/revert.c:81
+#: builtin/revert.c:99
 msgid "resume revert or cherry-pick sequence"
 msgstr "reprendre le retour ou picorage"
 
-#: builtin/revert.c:82
+#: builtin/revert.c:100
 msgid "cancel revert or cherry-pick sequence"
 msgstr "annuler le retour ou picorage"
 
-#: builtin/revert.c:83
+#: builtin/revert.c:101
 msgid "don't automatically commit"
 msgstr "ne pas valider automatiquement"
 
-#: builtin/revert.c:84
+#: builtin/revert.c:102
 msgid "edit the commit message"
 msgstr "éditer le message de validation"
 
-#: builtin/revert.c:87
-msgid "parent number"
-msgstr "numéro de parent"
+#: builtin/revert.c:105
+msgid "parent-number"
+msgstr "numéro-de-parent"
 
-#: builtin/revert.c:89
+#: builtin/revert.c:106
+msgid "select mainline parent"
+msgstr "sélectionner le parent principal"
+
+#: builtin/revert.c:108
 msgid "merge strategy"
 msgstr "stratégie de fusion"
 
-#: builtin/revert.c:90
+#: builtin/revert.c:109
 msgid "option"
 msgstr "option"
 
-#: builtin/revert.c:91
+#: builtin/revert.c:110
 msgid "option for merge strategy"
 msgstr "option pour la stratégie de fusion"
 
-#: builtin/revert.c:100
+#: builtin/revert.c:119
 msgid "append commit name"
 msgstr "ajouter le nom de validation"
 
-#: builtin/revert.c:102
+#: builtin/revert.c:121
 msgid "preserve initially empty commits"
 msgstr "préserver les validations vides initialement"
 
-#: builtin/revert.c:103
+#: builtin/revert.c:122
 msgid "allow commits with empty messages"
 msgstr "autoriser les validations avec des messages vides"
 
-#: builtin/revert.c:104
+#: builtin/revert.c:123
 msgid "keep redundant, empty commits"
 msgstr "garder les validations redondantes, vides"
 
-#: builtin/revert.c:192
+#: builtin/revert.c:211
 msgid "revert failed"
 msgstr "revert a échoué"
 
-#: builtin/revert.c:205
+#: builtin/revert.c:224
 msgid "cherry-pick failed"
 msgstr "le picorage a échoué"
 
@@ -12702,19 +12957,19 @@ msgstr ""
 "  --all et la spécification explicite de <référence> sont mutuellement "
 "exclusifs."
 
-#: builtin/send-pack.c:160
+#: builtin/send-pack.c:161
 msgid "remote name"
 msgstr "nom distant"
 
-#: builtin/send-pack.c:171
+#: builtin/send-pack.c:175
 msgid "use stateless RPC protocol"
 msgstr "utiliser un protocole RPC sans état"
 
-#: builtin/send-pack.c:172
+#: builtin/send-pack.c:176
 msgid "read refs from stdin"
 msgstr "lire les références depuis l'entrée standard"
 
-#: builtin/send-pack.c:173
+#: builtin/send-pack.c:177
 msgid "print status from remote helper"
 msgstr "afficher les messages du greffon de protocole distant"
 
@@ -12722,29 +12977,29 @@ msgstr "afficher les messages du greffon de protocole distant"
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<options>] [<intervalle-révisions>] [[--] [<chemin>...]]"
 
-#: builtin/shortlog.c:249
+#: builtin/shortlog.c:248
 msgid "Group by committer rather than author"
 msgstr "Grouper par validateur plutôt que par auteur"
 
-#: builtin/shortlog.c:251
+#: builtin/shortlog.c:250
 msgid "sort output according to the number of commits per author"
 msgstr "trier la sortie sur le nombre de validations par auteur"
 
-#: builtin/shortlog.c:253
+#: builtin/shortlog.c:252
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Supprimer les descriptions de validation, fournit seulement le nombre de "
 "validations"
 
-#: builtin/shortlog.c:255
+#: builtin/shortlog.c:254
 msgid "Show the email address of each author"
 msgstr "Afficher l'adresse e-mail de chaque auteur"
 
-#: builtin/shortlog.c:256
+#: builtin/shortlog.c:255
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:257
+#: builtin/shortlog.c:256
 msgid "Linewrap output"
 msgstr "Couper les lignes"
 
@@ -12764,124 +13019,124 @@ msgstr ""
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<référence>]"
 
-#: builtin/show-branch.c:375
+#: builtin/show-branch.c:374
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "%s ignoré; impossible de gérer plus de %d référence"
 msgstr[1] "%s ignoré; impossible de gérer plus de %d références"
 
-#: builtin/show-branch.c:541
+#: builtin/show-branch.c:536
 #, c-format
 msgid "no matching refs with %s"
 msgstr "aucune référence correspond à %s"
 
-#: builtin/show-branch.c:639
+#: builtin/show-branch.c:632
 msgid "show remote-tracking and local branches"
 msgstr "afficher les branches de suivi distantes et les branches locales"
 
-#: builtin/show-branch.c:641
+#: builtin/show-branch.c:634
 msgid "show remote-tracking branches"
 msgstr "afficher les branches de suivi distantes"
 
-#: builtin/show-branch.c:643
+#: builtin/show-branch.c:636
 msgid "color '*!+-' corresponding to the branch"
 msgstr "couleur '*!+-' correspondant à la branche"
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:638
 msgid "show <n> more commits after the common ancestor"
 msgstr "afficher <n> validations de plus après l'ancêtre commun"
 
-#: builtin/show-branch.c:647
+#: builtin/show-branch.c:640
 msgid "synonym to more=-1"
 msgstr "synonyme de more=-1"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:641
 msgid "suppress naming strings"
 msgstr "supprimer les chaînes de nommage"
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:643
 msgid "include the current branch"
 msgstr "inclure la branche courante"
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:645
 msgid "name commits with their object names"
 msgstr "nommer les validations avec leurs noms d'objet"
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:647
 msgid "show possible merge bases"
 msgstr "afficher les bases possibles de fusion"
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:649
 msgid "show refs unreachable from any other ref"
 msgstr "afficher les références inaccessibles depuis toute autre référence"
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:651
 msgid "show commits in topological order"
 msgstr "afficher les validations dans l'ordre topologique"
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:654
 msgid "show only commits not on the first branch"
 msgstr ""
 "afficher seulement les validations qui ne sont pas sur la première branche"
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:656
 msgid "show merges reachable from only one tip"
 msgstr "afficher les fusions accessibles depuis une seule pointe"
 
-#: builtin/show-branch.c:665
+#: builtin/show-branch.c:658
 msgid "topologically sort, maintaining date order where possible"
 msgstr "tri topologique, maintenant l'ordre par date si possible"
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:661
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:662
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr ""
 "afficher les <n> plus récents éléments de ref-log en commençant à la base"
 
-#: builtin/show-branch.c:703
+#: builtin/show-branch.c:696
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 "--reflog est incompatible avec --all, --remotes, --independant et --merge-"
 "base"
 
-#: builtin/show-branch.c:727
+#: builtin/show-branch.c:720
 msgid "no branches given, and HEAD is not valid"
 msgstr "aucune branche spécifiée, et HEAD est invalide"
 
-#: builtin/show-branch.c:730
+#: builtin/show-branch.c:723
 msgid "--reflog option needs one branch name"
 msgstr "--reflog requiert un nom de branche"
 
-#: builtin/show-branch.c:733
+#: builtin/show-branch.c:726
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "%d entrée seulement ne peut être montrée en même temps."
 msgstr[1] "%d entrées seulement ne peuvent être montrée en même temps."
 
-#: builtin/show-branch.c:737
+#: builtin/show-branch.c:730
 #, c-format
 msgid "no such ref %s"
 msgstr "référence inexistante %s"
 
-#: builtin/show-branch.c:829
+#: builtin/show-branch.c:814
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "impossible de gérer plus de %d révision."
 msgstr[1] "impossible de gérer plus de %d révisions."
 
-#: builtin/show-branch.c:833
+#: builtin/show-branch.c:818
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' n'est pas une référence valide."
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:821
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "impossible de trouver le commit %s (%s)"
@@ -12953,12 +13208,12 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1075
 #, c-format
 msgid "No such ref: %s"
 msgstr "Référence inexistante : %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1084
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
@@ -12968,99 +13223,106 @@ msgstr "Nom de référence complet attendu, %s obtenu"
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
+#: builtin/submodule--helper.c:305 builtin/submodule--helper.c:630
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
-#: builtin/submodule--helper.c:287
+#: builtin/submodule--helper.c:310
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
+#: builtin/submodule--helper.c:356 builtin/submodule--helper.c:382
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:395
+#, c-format
+msgid ""
+"could not lookup configuration '%s'. Assuming this repository is its own "
+"authoritative upstream."
+msgstr "impossible de trouver la configuration '%s'. Ce dépôt est considéré comme son propre amont d'autorité."
+
+#: builtin/submodule--helper.c:406
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:377
+#: builtin/submodule--helper.c:410
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:387
+#: builtin/submodule--helper.c:420
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "attention : nous vous suggérons de spécifier une commande de mode de mise à "
 "jour pour le sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:394
+#: builtin/submodule--helper.c:427
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Échec d'enregistrement du mode de mise à jour pour le chemin de sous-module "
 "'%s'"
 
-#: builtin/submodule--helper.c:410
+#: builtin/submodule--helper.c:443
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:415
+#: builtin/submodule--helper.c:448
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<chemin>]"
 
-#: builtin/submodule--helper.c:436
+#: builtin/submodule--helper.c:476
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:442
+#: builtin/submodule--helper.c:482
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "Pas de mise en correspondance du sous-module trouvé dans .gitmodules pour le "
 "chemin '%s'"
 
-#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
+#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:568
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s"
 
-#: builtin/submodule--helper.c:564
+#: builtin/submodule--helper.c:604
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 "La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue"
 
-#: builtin/submodule--helper.c:571
+#: builtin/submodule--helper.c:611
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
 
-#: builtin/submodule--helper.c:595
+#: builtin/submodule--helper.c:633
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:598
+#: builtin/submodule--helper.c:636
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:601
+#: builtin/submodule--helper.c:639
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:607
+#: builtin/submodule--helper.c:645
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
+#: builtin/submodule--helper.c:648 builtin/submodule--helper.c:993
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:615
+#: builtin/submodule--helper.c:653
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -13068,93 +13330,83 @@ msgstr ""
 "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference "
 "<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
 
-#: builtin/submodule--helper.c:646
+#: builtin/submodule--helper.c:684
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Le clonage de '%s' dans le chemin de sous-module '%s' a échoué"
 
-#: builtin/submodule--helper.c:662
-#, c-format
-msgid "cannot open file '%s'"
-msgstr "impossible d'ouvrir le fichier '%s'"
-
-#: builtin/submodule--helper.c:667
-#, c-format
-msgid "could not close file %s"
-msgstr "impossible de fermer le fichier %s"
-
-#: builtin/submodule--helper.c:674
+#: builtin/submodule--helper.c:699
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "impossible de créer le répertoire de sous-module pour '%s'"
 
-#: builtin/submodule--helper.c:742
+#: builtin/submodule--helper.c:764
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:746
+#: builtin/submodule--helper.c:768
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:772
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:793
+#: builtin/submodule--helper.c:814
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:929
+#: builtin/submodule--helper.c:942
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:940
+#: builtin/submodule--helper.c:953
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Impossible de cloner '%s' pour la seconde fois, abandon"
 
-#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
+#: builtin/submodule--helper.c:974 builtin/submodule--helper.c:1162
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:977
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "chemin dans la copie de travail, traversant les frontières de sous-modules"
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:981
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:972
+#: builtin/submodule--helper.c:985
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Créer un clone superficiel tronqué au nombre de révisions spécifié"
 
-#: builtin/submodule--helper.c:975
+#: builtin/submodule--helper.c:988
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:990
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "spécifie si le clonage initial doit être aussi superficiel"
 
-#: builtin/submodule--helper.c:978
+#: builtin/submodule--helper.c:991
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:985
+#: builtin/submodule--helper.c:998
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:995
+#: builtin/submodule--helper.c:1008
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1066
+#: builtin/submodule--helper.c:1079
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -13163,25 +13415,25 @@ msgstr ""
 "la branche du sous-module %s est configurée pour hériter de la branche du "
 "superprojet, mais le superprojet n'est sur aucune branche"
 
-#: builtin/submodule--helper.c:1106
+#: builtin/submodule--helper.c:1163
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:1112
+#: builtin/submodule--helper.c:1169
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<chemin>...]"
 
-#: builtin/submodule--helper.c:1157
+#: builtin/submodule--helper.c:1226
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr ""
 "la sous-commande submodule--helper doit être appelée avec une sous-commande"
 
-#: builtin/submodule--helper.c:1164
+#: builtin/submodule--helper.c:1233
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s ne gère pas --super-prefix"
 
-#: builtin/submodule--helper.c:1170
+#: builtin/submodule--helper.c:1239
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -13229,32 +13481,28 @@ msgstr "git tag -d <nométiquette>..."
 
 #: builtin/tag.c:25
 msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n"
+"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
+"points-at <object>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
 msgstr ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <objet>]\n"
+"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <objet>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<motif>...]"
 
 #: builtin/tag.c:27
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<format>] <nométiquette>..."
 
-#: builtin/tag.c:82
-#, c-format
-msgid "tag name too long: %.*s..."
-msgstr "nom d'étiquette trop long : %.*s..."
-
-#: builtin/tag.c:87
+#: builtin/tag.c:83
 #, c-format
 msgid "tag '%s' not found."
 msgstr "étiquette '%s' non trouvée."
 
-#: builtin/tag.c:102
+#: builtin/tag.c:99
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' supprimée (elle était sur %s)\n"
 
-#: builtin/tag.c:131
+#: builtin/tag.c:128
 #, c-format
 msgid ""
 "\n"
@@ -13267,7 +13515,7 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/tag.c:135
+#: builtin/tag.c:132
 #, c-format
 msgid ""
 "\n"
@@ -13282,138 +13530,166 @@ msgstr ""
 "Les lignes commençant par '%c' seront gardées ; vous pouvez les retirer vous-"
 "même si vous le souhaitez.\n"
 
-#: builtin/tag.c:213
+#: builtin/tag.c:210
 msgid "unable to sign the tag"
 msgstr "impossible de signer l'étiquette"
 
-#: builtin/tag.c:215
+#: builtin/tag.c:212
 msgid "unable to write tag file"
 msgstr "impossible d'écrire le fichier d'étiquettes"
 
-#: builtin/tag.c:240
+#: builtin/tag.c:236
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:253
-msgid "tag header too big."
-msgstr "en-tête d'étiquette trop gros."
-
-#: builtin/tag.c:289
+#: builtin/tag.c:282
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:295
+#: builtin/tag.c:289
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Le message pour l'étiquette a été laissé dans %s\n"
 
-#: builtin/tag.c:354
+#: builtin/tag.c:312
+msgid "tag: tagging "
+msgstr "étiquette: étiquetage de "
+
+#: builtin/tag.c:320
+msgid "object of unknown type"
+msgstr "objet de type inconnu"
+
+#: builtin/tag.c:327
+msgid "commit object"
+msgstr "objet commit"
+
+#: builtin/tag.c:335
+msgid "tree object"
+msgstr "objet arbre"
+
+#: builtin/tag.c:338
+msgid "blob object"
+msgstr "objet blob"
+
+#: builtin/tag.c:341
+msgid "other tag object"
+msgstr "objet étiquette autre"
+
+#: builtin/tag.c:397
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:399
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:358
+#: builtin/tag.c:401
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:359
+#: builtin/tag.c:402
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:404
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:363
+#: builtin/tag.c:406
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:408
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:367
+#: builtin/tag.c:410
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:371
+#: builtin/tag.c:414
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:372
+#: builtin/tag.c:415
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:373 builtin/update-ref.c:368
+#: builtin/tag.c:416 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:375
+#: builtin/tag.c:418
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:376
+#: builtin/tag.c:419
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:377 builtin/tag.c:378
+#: builtin/tag.c:420 builtin/tag.c:422
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:379
+#: builtin/tag.c:421 builtin/tag.c:423
+msgid "print only tags that don't contain the commit"
+msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation"
+
+#: builtin/tag.c:424
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:380
+#: builtin/tag.c:425
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:385
+#: builtin/tag.c:430
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:415
+#: builtin/tag.c:469
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:437
-msgid "-n option is only allowed with -l."
-msgstr "l'option -n est autorisée seulement avec -l."
+#: builtin/tag.c:491
+msgid "-n option is only allowed in list mode"
+msgstr "l'option -n est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:439
-msgid "--contains option is only allowed with -l."
-msgstr "l'option --contains est autorisée seulement avec -l."
+#: builtin/tag.c:493
+msgid "--contains option is only allowed in list mode"
+msgstr "l'option --contains est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:441
-msgid "--points-at option is only allowed with -l."
-msgstr "l'option --points-at est autorisée seulement avec -l."
+#: builtin/tag.c:495
+msgid "--no-contains option is only allowed in list mode"
+msgstr "l'option --contains est autorisée seulement en mode liste"
 
-#: builtin/tag.c:443
-msgid "--merged and --no-merged option are only allowed with -l"
-msgstr "les options --merged et --no-merged ne sont autorisées qu'avec -l"
+#: builtin/tag.c:497
+msgid "--points-at option is only allowed in list mode"
+msgstr "l'option --points-at est autorisée seulement en mode liste"
 
-#: builtin/tag.c:454
+#: builtin/tag.c:499
+msgid "--merged and --no-merged options are only allowed in list mode"
+msgstr "les options --merged et --no-merged ne sont autorisées qu'en mode liste"
+
+#: builtin/tag.c:510
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:473
+#: builtin/tag.c:529
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:479
+#: builtin/tag.c:535
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:484
+#: builtin/tag.c:540
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:512
+#: builtin/tag.c:570
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
@@ -13442,178 +13718,190 @@ msgstr "échec de la création du fichier %s"
 msgid "failed to delete file %s"
 msgstr "échec de la suppression du fichier %s"
 
-#: builtin/update-index.c:110 builtin/update-index.c:212
+#: builtin/update-index.c:110 builtin/update-index.c:216
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "échec de la suppression du répertoire %s"
 
-#: builtin/update-index.c:133
+#: builtin/update-index.c:135
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Test du mtime dans '%s' "
 
-#: builtin/update-index.c:145
+#: builtin/update-index.c:149
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un fichier"
 
-#: builtin/update-index.c:158
+#: builtin/update-index.c:162
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un répertoire"
 
-#: builtin/update-index.c:171
+#: builtin/update-index.c:175
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "l'information de stat du répertoire change après mise à jour d'un fichier"
 
-#: builtin/update-index.c:182
+#: builtin/update-index.c:186
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "l'information de stat du répertoire change après l'ajout d'un fichier dans "
 "un sous-répertoire"
 
-#: builtin/update-index.c:193
+#: builtin/update-index.c:197
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "fichier<"
 
-#: builtin/update-index.c:206
+#: builtin/update-index.c:210
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "répertoire"
 
-#: builtin/update-index.c:213
+#: builtin/update-index.c:217
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:564
+#: builtin/update-index.c:568
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:919
+#: builtin/update-index.c:923
 msgid "continue refresh even when index needs update"
 msgstr "continuer de rafraîchir même si l'index a besoin d'une mise à jour"
 
-#: builtin/update-index.c:922
+#: builtin/update-index.c:926
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:925
+#: builtin/update-index.c:929
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:927
+#: builtin/update-index.c:931
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:929
+#: builtin/update-index.c:933
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:931
+#: builtin/update-index.c:935
 msgid "refresh even if index contains unmerged entries"
 msgstr "rafraîchir même si l'index contient des éléments non fusionnés"
 
-#: builtin/update-index.c:934
+#: builtin/update-index.c:938
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:942
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:946
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:943
+#: builtin/update-index.c:947
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:952
+#: builtin/update-index.c:956
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:955
+#: builtin/update-index.c:959
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:958
+#: builtin/update-index.c:962
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:961
+#: builtin/update-index.c:965
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:964
+#: builtin/update-index.c:968
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "ajouter seulement à l'index ; ne pas ajouter le contenu dans la base de "
 "données des objets"
 
-#: builtin/update-index.c:966
+#: builtin/update-index.c:970
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "supprimer les chemins nommés même s'ils sont présents dans la copie de "
 "travail"
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:972
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "avec --stdin : les lignes en entrée sont terminées par des octets nuls"
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:974
 msgid "read list of paths to be updated from standard input"
 msgstr "lire la liste des chemins à mettre à jour depuis l'entrée standard"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:978
 msgid "add entries from standard input to the index"
 msgstr "ajouter les éléments depuis l'entrée standard à l'index"
 
-#: builtin/update-index.c:978
+#: builtin/update-index.c:982
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "repeupler les étapes n°2 et n°3 pour les chemins listés"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:986
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:990
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:993
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:995
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:999
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:1001
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:1003
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1005
 msgid "test if the filesystem supports untracked cache"
 msgstr "tester si le système de fichier supporte le cache de non-suivis"
 
-#: builtin/update-index.c:1003
+#: builtin/update-index.c:1007
 msgid "enable untracked cache without testing the filesystem"
 msgstr "activer le cache de non-suivis sans tester le système de fichier"
 
-#: builtin/update-index.c:1120
+#: builtin/update-index.c:1107
+msgid ""
+"core.splitIndex is set to false; remove or change it, if you really want to "
+"enable split index"
+msgstr "core.splitIndex est réglé à false ; supprimez-le ou changez-le si vous souhaitez vraiment activer l'index coupé"
+
+#: builtin/update-index.c:1116
+msgid ""
+"core.splitIndex is set to true; remove or change it, if you really want to "
+"disable split index"
+msgstr "core.splitIndex est réglé à vrai ; supprimez-le ou changez-le si vous souhaitez vraiment désactiver l'index coupé"
+
+#: builtin/update-index.c:1127
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13621,11 +13909,11 @@ msgstr ""
 "core.untrackedCache est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1124
+#: builtin/update-index.c:1131
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1132
+#: builtin/update-index.c:1139
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13633,7 +13921,7 @@ msgstr ""
 "core.untrackedCache est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1136
+#: builtin/update-index.c:1143
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
@@ -13779,53 +14067,53 @@ msgstr "impossible de créer le répertoire de '%s'"
 msgid "Preparing %s (identifier %s)"
 msgstr "Préparation de %s (identifiant %s)"
 
-#: builtin/worktree.c:323
+#: builtin/worktree.c:324
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 "extraire la <branche> même si elle est déjà extraite dans une autre copie de "
 "travail"
 
-#: builtin/worktree.c:325
+#: builtin/worktree.c:326
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:327
+#: builtin/worktree.c:328
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:329
+#: builtin/worktree.c:330
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:337
+#: builtin/worktree.c:338
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:472
+#: builtin/worktree.c:473
 msgid "reason for locking"
 msgstr "raison du vérouillage"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:485 builtin/worktree.c:518
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:486 builtin/worktree.c:519
+#: builtin/worktree.c:487 builtin/worktree.c:520
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 "La copie de travail principale ne peut pas être vérouillée ou dévérouillée"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:492
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:493
+#: builtin/worktree.c:494
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:521
+#: builtin/worktree.c:522
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
@@ -13850,21 +14138,21 @@ msgstr "seulement utile pour le débogage"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<options>] <répertoire>"
 
-#: upload-pack.c:1036
+#: upload-pack.c:1040
 msgid "quit after a single request/response exchange"
 msgstr "quitter après un unique échange requête/réponse"
 
-#: upload-pack.c:1038
+#: upload-pack.c:1042
 msgid "exit immediately after initial ref advertisement"
 msgstr "Sortir immédiatement après l'annonce initiale des références"
 
-#: upload-pack.c:1040
+#: upload-pack.c:1044
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 "nes pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire "
 "Git"
 
-#: upload-pack.c:1042
+#: upload-pack.c:1046
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "interrompre le transfer après <n> secondes d'inactivité"
 
@@ -13895,15 +14183,15 @@ msgstr ""
 "quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n"
 "pour en lire plus à propos d'une commande spécifique ou d'un concept."
 
-#: http.c:344
+#: http.c:355
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "La délégation de commande n'est pas supporté avec cuRL < 7.22.0"
 
-#: http.c:353
+#: http.c:364
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.44.0"
 
-#: http.c:1713
+#: http.c:1755
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -13914,7 +14202,7 @@ msgstr ""
 "      demandé : %s\n"
 "  redirection : %s"
 
-#: remote-curl.c:319
+#: remote-curl.c:323
 #, c-format
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
@@ -14433,39 +14721,39 @@ msgstr ""
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name mise à jour en avance rapide sur $onto_name."
 
-#: git-stash.sh:50
+#: git-stash.sh:53
 msgid "git stash clear with parameters is unimplemented"
 msgstr "git stash clear avec des paramètres n'est pas implémenté"
 
-#: git-stash.sh:73
+#: git-stash.sh:94
 msgid "You do not have the initial commit yet"
 msgstr "Vous n'avez pas encore la validation initiale"
 
-#: git-stash.sh:88
+#: git-stash.sh:109
 msgid "Cannot save the current index state"
 msgstr "Impossible de sauver l'état courant de l'index"
 
-#: git-stash.sh:103
+#: git-stash.sh:124
 msgid "Cannot save the untracked files"
 msgstr "Impossible de sauver les fichiers non-suivis"
 
-#: git-stash.sh:123 git-stash.sh:136
+#: git-stash.sh:144 git-stash.sh:157
 msgid "Cannot save the current worktree state"
 msgstr "Impossible de sauver l'état courant de la copie de travail"
 
-#: git-stash.sh:140
+#: git-stash.sh:161
 msgid "No changes selected"
 msgstr "Aucun changement sélectionné"
 
-#: git-stash.sh:143
+#: git-stash.sh:164
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Impossible de supprimer l'index temporaire (ne peut pas se produire)"
 
-#: git-stash.sh:156
+#: git-stash.sh:177
 msgid "Cannot record working tree state"
 msgstr "Impossible d'enregistrer l'état de la copie de travail"
 
-#: git-stash.sh:188
+#: git-stash.sh:209
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Impossible de mettre à jour $ref_stash avec $w_commit"
@@ -14480,7 +14768,7 @@ msgstr "Impossible de mettre à jour $ref_stash avec $w_commit"
 #. $ git stash save --blah-blah 2>&1 | head -n 2
 #. error: unknown option for 'stash save': --blah-blah
 #. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:238
+#: git-stash.sh:265
 #, sh-format
 msgid ""
 "error: unknown option for 'stash save': $option\n"
@@ -14489,108 +14777,108 @@ msgstr ""
 "erreur: option inconnue pour 'stash save': $option\n"
 "        Pour fournir un message, utilisez git stash save -- '$option'"
 
-#: git-stash.sh:251
+#: git-stash.sh:278
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 "Impossible d'utiliser --patch et --include-untracked ou --all en même temps"
 
-#: git-stash.sh:259
+#: git-stash.sh:286
 msgid "No local changes to save"
 msgstr "Pas de modifications locales à sauver"
 
-#: git-stash.sh:263
+#: git-stash.sh:291
 msgid "Cannot initialize stash"
 msgstr "Impossible d'initialiser le remisage"
 
-#: git-stash.sh:267
+#: git-stash.sh:295
 msgid "Cannot save the current status"
 msgstr "Impossible de sauver le statut courant"
 
-#: git-stash.sh:268
+#: git-stash.sh:296
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "Copie de travail et état de l'index sauvegardés dans $stash_msg"
 
-#: git-stash.sh:285
+#: git-stash.sh:323
 msgid "Cannot remove worktree changes"
 msgstr "Impossible de supprimer les changements de la copie de travail"
 
-#: git-stash.sh:403
+#: git-stash.sh:471
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "option inconnue : $opt"
 
-#: git-stash.sh:416
+#: git-stash.sh:484
 msgid "No stash found."
 msgstr "Pas de remisage trouvé."
 
-#: git-stash.sh:423
+#: git-stash.sh:491
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Trop de révisions spécifiées : $REV"
 
-#: git-stash.sh:438
+#: git-stash.sh:506
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference n'est pas une référence valide"
 
-#: git-stash.sh:466
+#: git-stash.sh:534
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' n'est pas une validation de type remisage"
 
-#: git-stash.sh:477
+#: git-stash.sh:545
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' n'est pas une référence de remisage"
 
-#: git-stash.sh:485
+#: git-stash.sh:553
 msgid "unable to refresh index"
 msgstr "impossible de rafraîchir l'index"
 
-#: git-stash.sh:489
+#: git-stash.sh:557
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Impossible d'appliquer un remisage en cours de fusion"
 
-#: git-stash.sh:497
+#: git-stash.sh:565
 msgid "Conflicts in index. Try without --index."
 msgstr "Conflits dans l'index. Essayez sans --index."
 
-#: git-stash.sh:499
+#: git-stash.sh:567
 msgid "Could not save index tree"
 msgstr "Impossible de sauvegarder l'arbre d'index"
 
-#: git-stash.sh:508
+#: git-stash.sh:576
 msgid "Could not restore untracked files from stash"
 msgstr "Impossible de restaurer les fichiers non-suivis depuis le remisage"
 
-#: git-stash.sh:533
+#: git-stash.sh:601
 msgid "Cannot unstage modified files"
 msgstr "Impossible de désindexer les fichiers modifiés"
 
-#: git-stash.sh:548
+#: git-stash.sh:616
 msgid "Index was not unstashed."
 msgstr "L'index n'a pas été sorti de remise."
 
-#: git-stash.sh:562
+#: git-stash.sh:630
 msgid "The stash is kept in case you need it again."
 msgstr "Le remisage est conservé au cas où vous en auriez encore besoin."
 
-#: git-stash.sh:571
+#: git-stash.sh:639
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "${REV} supprimé ($s)"
 
-#: git-stash.sh:572
+#: git-stash.sh:640
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Impossible de supprimer l'élément de stash"
 
-#: git-stash.sh:580
+#: git-stash.sh:648
 msgid "No branch name specified"
 msgstr "Aucune branche spécifiée"
 
-#: git-stash.sh:652
+#: git-stash.sh:727
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
@@ -14680,28 +14968,28 @@ msgstr "Échec d'ajout du sous-module '$sm_path'"
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:327
+#: git-submodule.sh:341
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Entrée dans '$displaypath'"
 
-#: git-submodule.sh:347
+#: git-submodule.sh:361
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Arrêt sur '$displaypath' ; le script a retourné un statut non nul."
 
-#: git-submodule.sh:418
+#: git-submodule.sh:432
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "un spécificateur de chemin et --all sont incompatibles"
 
-#: git-submodule.sh:423
+#: git-submodule.sh:437
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
 
-#: git-submodule.sh:443
+#: git-submodule.sh:457
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14712,7 +15000,7 @@ msgstr ""
 "(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:465
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14721,42 +15009,42 @@ msgstr ""
 "La copie de travail du sous-module '$displaypath' contient des modifications "
 "locales ; utilisez '-f' pour les annuler"
 
-#: git-submodule.sh:454
+#: git-submodule.sh:468
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Répertoire '$displaypath' nettoyé"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:469
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 "Impossible de supprimer la copie de travail du sous-module '$displaypath'"
 
-#: git-submodule.sh:458
+#: git-submodule.sh:472
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Impossible de créer le répertoire vide du sous-module '$displaypath'"
 
-#: git-submodule.sh:467
+#: git-submodule.sh:481
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 "Le sous-module '$name' ($url) n'est pas enregistré pour le chemin "
 "'$displaypath'"
 
-#: git-submodule.sh:623
+#: git-submodule.sh:637
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Impossible de trouver la révision courante dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:633
+#: git-submodule.sh:647
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:638
+#: git-submodule.sh:652
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14765,12 +15053,12 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:670
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:662
+#: git-submodule.sh:676
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14779,88 +15067,88 @@ msgstr ""
 "Chemin de sous-module '$displaypath' récupéré, mais il ne contenait pas "
 "$sha1. La récupération directe de ce commit a échoué."
 
-#: git-submodule.sh:669
+#: git-submodule.sh:683
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible d'extraire '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:670
+#: git-submodule.sh:684
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:688
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible de rebaser '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:689
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:694
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible de fusionner '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:695
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:686
+#: git-submodule.sh:700
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "L'exécution de '$command $sha1' a échoué dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:687
+#: git-submodule.sh:701
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:718
+#: git-submodule.sh:732
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:826
+#: git-submodule.sh:840
 msgid "The --cached option cannot be used with the --files option"
 msgstr "L'option --cached ne peut pas être utilisée avec l'option --files"
 
-#: git-submodule.sh:878
+#: git-submodule.sh:892
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:912
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_src"
 
-#: git-submodule.sh:901
+#: git-submodule.sh:915
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_dst"
 
-#: git-submodule.sh:904
+#: git-submodule.sh:918
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Attention : $display_name ne contient pas les validations $sha1_src et "
 "$sha1_dst"
 
-#: git-submodule.sh:1051
+#: git-submodule.sh:1064
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Échec de parcours dans le chemin du sous-module '$sm_path'"
 
-#: git-submodule.sh:1118
+#: git-submodule.sh:1136
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
@@ -15164,11 +15452,11 @@ msgstr ""
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Ou bien vous pouvez abandonner le rebasage avec 'git rebase --abort'."
 
-#: git-rebase--interactive.sh:1079
+#: git-rebase--interactive.sh:1083
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1084
+#: git-rebase--interactive.sh:1088
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -15199,12 +15487,12 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1101
+#: git-rebase--interactive.sh:1105
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 "Erreur lors de la recherche de l'identité de l'auteur pour corriger le commit"
 
-#: git-rebase--interactive.sh:1106
+#: git-rebase--interactive.sh:1110
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -15212,11 +15500,11 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
+#: git-rebase--interactive.sh:1115 git-rebase--interactive.sh:1119
 msgid "Could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: git-rebase--interactive.sh:1139
+#: git-rebase--interactive.sh:1147
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -15231,40 +15519,40 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
+#: git-rebase--interactive.sh:1155 git-rebase--interactive.sh:1313
 msgid "Could not execute editor"
 msgstr "Impossible de lancer l'éditeur"
 
-#: git-rebase--interactive.sh:1160
+#: git-rebase--interactive.sh:1168
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Impossible d'extraire $switch_to"
 
-#: git-rebase--interactive.sh:1165
+#: git-rebase--interactive.sh:1173
 msgid "No HEAD?"
 msgstr "Pas de HEAD ?"
 
-#: git-rebase--interactive.sh:1166
+#: git-rebase--interactive.sh:1174
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Impossible de créer un répertoire temporaire $state_dir"
 
-#: git-rebase--interactive.sh:1168
+#: git-rebase--interactive.sh:1176
 msgid "Could not mark as interactive"
 msgstr "Impossible de marquer comme interactif"
 
-#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
+#: git-rebase--interactive.sh:1186 git-rebase--interactive.sh:1191
 msgid "Could not init rewritten commits"
 msgstr "Impossible d'initialiser les commits réécrits"
 
-#: git-rebase--interactive.sh:1283
+#: git-rebase--interactive.sh:1291
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
 msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
 
-#: git-rebase--interactive.sh:1288
+#: git-rebase--interactive.sh:1296
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -15274,7 +15562,7 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1303
 msgid "Note that empty commits are commented out"
 msgstr "Veuillez noter que les commits vides sont en commentaire"
 
@@ -15359,68 +15647,68 @@ msgstr "indexé"
 msgid "unstaged"
 msgstr "non-indexé"
 
-#: git-add--interactive.perl:297 git-add--interactive.perl:322
+#: git-add--interactive.perl:288 git-add--interactive.perl:313
 msgid "binary"
 msgstr "binaire"
 
-#: git-add--interactive.perl:306 git-add--interactive.perl:360
+#: git-add--interactive.perl:297 git-add--interactive.perl:351
 msgid "nothing"
 msgstr "rien"
 
-#: git-add--interactive.perl:342 git-add--interactive.perl:357
+#: git-add--interactive.perl:333 git-add--interactive.perl:348
 msgid "unchanged"
 msgstr "inchangé"
 
-#: git-add--interactive.perl:653
+#: git-add--interactive.perl:644
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "%d chemin ajouté\n"
 msgstr[1] "%d chemins ajoutés\n"
 
-#: git-add--interactive.perl:656
+#: git-add--interactive.perl:647
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "%d chemin mis à jour\n"
 msgstr[1] "%d chemins mis à jour\n"
 
-#: git-add--interactive.perl:659
+#: git-add--interactive.perl:650
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "%d chemin inversé\n"
 msgstr[1] "%d chemins inversés\n"
 
-#: git-add--interactive.perl:662
+#: git-add--interactive.perl:653
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "%d chemin touché\n"
 msgstr[1] "%d chemins touchés\n"
 
-#: git-add--interactive.perl:671
+#: git-add--interactive.perl:662
 msgid "Update"
 msgstr "Mise à jour"
 
-#: git-add--interactive.perl:683
+#: git-add--interactive.perl:674
 msgid "Revert"
 msgstr "Inverser"
 
-#: git-add--interactive.perl:706
+#: git-add--interactive.perl:697
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "note : %s n'est plus suivi à présent.\n"
 
-#: git-add--interactive.perl:717
+#: git-add--interactive.perl:708
 msgid "Add untracked"
 msgstr "Ajouter un fichier non-suivi"
 
-#: git-add--interactive.perl:723
+#: git-add--interactive.perl:714
 msgid "No untracked files.\n"
 msgstr "Aucun Fichier non suivi.\n"
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1030
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
@@ -15428,7 +15716,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme indexée."
 
-#: git-add--interactive.perl:1042
+#: git-add--interactive.perl:1033
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
@@ -15436,7 +15724,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme remisée."
 
-#: git-add--interactive.perl:1045
+#: git-add--interactive.perl:1036
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
@@ -15444,7 +15732,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme desindexée."
 
-#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+#: git-add--interactive.perl:1039 git-add--interactive.perl:1048
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
@@ -15452,15 +15740,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immediatement marquée comme appliquée."
 
-#: git-add--interactive.perl:1051
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding"
-msgstr ""
-"Si le patch s'applique proprement, la section éditée sera\n"
-"immediatement marquée comme éliminée"
-
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1042 git-add--interactive.perl:1045
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
@@ -15468,17 +15748,17 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immediatement marquée comme éliminée."
 
-#: git-add--interactive.perl:1067
+#: git-add--interactive.perl:1058
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "impossible d'ouvrir le fichier d'édition de section en écriture : %s"
 
-#: git-add--interactive.perl:1068
+#: git-add--interactive.perl:1059
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr ""
 "Mode d'édition manuelle de section -- voir ci-dessous pour un guide rapide.\n"
 
-#: git-add--interactive.perl:1074
+#: git-add--interactive.perl:1065
 #, perl-format
 msgid ""
 "---\n"
@@ -15492,7 +15772,7 @@ msgstr ""
 "Les lignes commençant par %s seront éliminées.\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1082
+#: git-add--interactive.perl:1073
 msgid ""
 "If it does not apply cleanly, you will be given an opportunity to\n"
 "edit again.  If all lines of the hunk are removed, then the edit is\n"
@@ -15502,7 +15782,7 @@ msgstr ""
 "l'éditer à nouveau. Si toutes les lignes de la section sont supprimées,\n"
 "alors l'édition sera abandonnée et la section conservée.\n"
 
-#: git-add--interactive.perl:1096
+#: git-add--interactive.perl:1087
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s"
@@ -15513,14 +15793,14 @@ msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: git-add--interactive.perl:1187
+#: git-add--interactive.perl:1178
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 "Votre section éditée ne s'applique pas. L'éditer à nouveau (\"no\" "
 "l'élimine !) [y|n] ? "
 
-#: git-add--interactive.perl:1196
+#: git-add--interactive.perl:1187
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -15534,7 +15814,7 @@ msgstr ""
 "a - indexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas indexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1202
+#: git-add--interactive.perl:1193
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -15548,7 +15828,7 @@ msgstr ""
 "a - remiser cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas remiser cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1208
+#: git-add--interactive.perl:1199
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -15562,7 +15842,7 @@ msgstr ""
 "a - désindexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas désindexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1214
+#: git-add--interactive.perl:1205
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -15576,7 +15856,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1220
+#: git-add--interactive.perl:1211
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -15590,7 +15870,7 @@ msgstr ""
 "a - supprimer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas supprimer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1226
+#: git-add--interactive.perl:1217
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -15604,7 +15884,7 @@ msgstr ""
 "a - éliminer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas éliminer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1232
+#: git-add--interactive.perl:1223
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -15618,7 +15898,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1241
+#: git-add--interactive.perl:1232
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -15640,232 +15920,231 @@ msgstr ""
 "e - éditer manuellement la section actuelle\n"
 "? - afficher l'aide\n"
 
-#: git-add--interactive.perl:1272
+#: git-add--interactive.perl:1263
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "Les sections sélectionnées ne s'applique pas à l'index !\n"
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1264
 msgid "Apply them to the worktree anyway? "
 msgstr "Les appliquer quand même à l'arbre de travail ? "
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1267
 msgid "Nothing was applied.\n"
 msgstr "Rien n'a été appliqué.\n"
 
-#: git-add--interactive.perl:1287
+#: git-add--interactive.perl:1278
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "fichier non-fusionné ignoré : %s\n"
 
-#: git-add--interactive.perl:1296
+#: git-add--interactive.perl:1287
 msgid "Only binary files changed.\n"
 msgstr "Seuls des fichiers binaires ont changé.\n"
 
-#: git-add--interactive.perl:1298
+#: git-add--interactive.perl:1289
 msgid "No changes.\n"
 msgstr "Aucune modification.\n"
 
-#: git-add--interactive.perl:1306
+#: git-add--interactive.perl:1297
 msgid "Patch update"
 msgstr "Mise à jour par patch"
 
-#: git-add--interactive.perl:1358
+#: git-add--interactive.perl:1349
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
 msgstr "Indexer le changement de mode [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1359
+#: git-add--interactive.perl:1350
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
 msgstr "Indexer la suppression [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1360
+#: git-add--interactive.perl:1351
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr "Indexer cette section [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1363
+#: git-add--interactive.perl:1354
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
 msgstr "Remiser le changement de mode [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1364
+#: git-add--interactive.perl:1355
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
 msgstr "Remiser la suppression [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1365
+#: git-add--interactive.perl:1356
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
 msgstr "Remiser cette section [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1368
+#: git-add--interactive.perl:1359
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
 msgstr "Désindexer le changement de mode [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1369
+#: git-add--interactive.perl:1360
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
 msgstr "Désindexer la suppression [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1370
+#: git-add--interactive.perl:1361
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr "Désindexer cette section [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1373
+#: git-add--interactive.perl:1364
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
 msgstr "Appliquer le changement de mode à l'index [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1374
+#: git-add--interactive.perl:1365
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
 msgstr "Appliquer la suppression à l'index [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1375
+#: git-add--interactive.perl:1366
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
 msgstr "Appliquer cette section à l'index [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1378
+#: git-add--interactive.perl:1369
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Abandonner le changement de mode dans l'arbre [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1379
+#: git-add--interactive.perl:1370
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Abandonner la suppression dans l'arbre [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1380
+#: git-add--interactive.perl:1371
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Abandonner cette section dans l'arbre [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1383
+#: git-add--interactive.perl:1374
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Abandonner le changement de mode dans l'index et l'arbre [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1384
+#: git-add--interactive.perl:1375
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Abandonner la suppression de l'index et de l'arbre [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1385
+#: git-add--interactive.perl:1376
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Supprimer la section dans l'index et l'arbre de travail [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1388
+#: git-add--interactive.perl:1379
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Appliquer le changement de mode dans l'index et l'arbre de travail [y,n,q,a,"
 "d,/%s,?] ? "
 
-#: git-add--interactive.perl:1389
+#: git-add--interactive.perl:1380
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Appliquer la suppression dans l'index et l'arbre de travail [y,n,q,a,d,/"
 "%s,?] ? "
 
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1381
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Appliquer la section à l'index et l'arbre de travail [y,n,q,a,d,/%s,?] ? "
 
-#: git-add--interactive.perl:1493
+#: git-add--interactive.perl:1484
 msgid "go to which hunk (<ret> to see more)? "
 msgstr "aller à quelle section (<ret> pour voir plus) ? "
 
-#: git-add--interactive.perl:1495
+#: git-add--interactive.perl:1486
 msgid "go to which hunk? "
 msgstr "aller à quelle section ? "
 
-#: git-add--interactive.perl:1504
+#: git-add--interactive.perl:1495
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Nombre invalide : '%s'\n"
 
-#: git-add--interactive.perl:1509
+#: git-add--interactive.perl:1500
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "Désolé, %d seule section disponible.\n"
 msgstr[1] "Désolé, Seulement %d sections disponibles.\n"
 
-#: git-add--interactive.perl:1535
+#: git-add--interactive.perl:1526
 msgid "search for regex? "
 msgstr "rechercher la regex ? "
 
-#: git-add--interactive.perl:1548
+#: git-add--interactive.perl:1539
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Regex de recherche malformée %s : %s\n"
 
-#: git-add--interactive.perl:1558
+#: git-add--interactive.perl:1549
 msgid "No hunk matches the given pattern\n"
 msgstr "Aucune section ne correspond au motif donné\n"
 
-#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+#: git-add--interactive.perl:1561 git-add--interactive.perl:1583
 msgid "No previous hunk\n"
 msgstr "Pas de section précédente\n"
 
-#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1589
 msgid "No next hunk\n"
 msgstr "Pas de section suivante\n"
 
-#: git-add--interactive.perl:1606
+#: git-add--interactive.perl:1597
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "Découpée en %d section.\n"
 msgstr[1] "Découpée en %d sections.\n"
 
-#: git-add--interactive.perl:1658
+#: git-add--interactive.perl:1649
 msgid "Review diff"
 msgstr "Réviser la différence"
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1677
+#: git-add--interactive.perl:1668
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
 "revert        - revert staged set of changes back to the HEAD version\n"
 "patch         - pick hunks and update selectively\n"
-"diff\t      - view diff between HEAD and index\n"
+"diff          - view diff between HEAD and index\n"
 "add untracked - add contents of untracked files to the staged set of "
 "changes\n"
 msgstr ""
 "status        - montrer les chemins modifiés\n"
-"update        - ajouter l'état de l'arbre de travail aux modifications à "
-"indexer\n"
+"update        - ajouter l'état de l'arbre de travail aux modifications à indexer\n"
 "revert        - faire revenir les modifications à indexer à la version HEAD\n"
 "patch         - sélectionner les sections et mettre à jour sélectivement\n"
-"diff\t      - visualiser les diff entre HEAD et l'index\n"
-"add untracked - Ajouter les fichiers non-suivis aux modifications à indexer\n"
+"diff          - visualiser les diff entre HEAD et l'index\n"
+"add untracked - ajouter les fichiers non-suivis aux modifications à indexer\n"
 
-#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
-#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
-#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+#: git-add--interactive.perl:1685 git-add--interactive.perl:1690
+#: git-add--interactive.perl:1693 git-add--interactive.perl:1700
+#: git-add--interactive.perl:1704 git-add--interactive.perl:1710
 msgid "missing --"
 msgstr "-- manquant"
 
-#: git-add--interactive.perl:1715
+#: git-add--interactive.perl:1706
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "mode de --patch inconnu : %s"
 
-#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#: git-add--interactive.perl:1712 git-add--interactive.perl:1718
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "argument invalide %s, -- attendu"
@@ -16229,6 +16508,72 @@ msgstr "%s sauté avec un suffix de sauvegarde '%s'.\n"
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 
+#~ msgid ""
+#~ "There is nothing to exclude from by :(exclude) patterns.\n"
+#~ "Perhaps you forgot to add either ':/' or '.' ?"
+#~ msgstr ""
+#~ "Il n'y a rien dont il faut exclure par des motifs :(exclure).\n"
+#~ "Peut-être avez-vous oublié d'ajouter ':/' ou '.' ?"
+
+#~ msgid "unrecognized format: %%(%s)"
+#~ msgstr "format non reconnu %%(%s)"
+
+#~ msgid ":strip= requires a positive integer argument"
+#~ msgstr ":strip= requiert un argument entier positif"
+
+#~ msgid "ref '%s' does not have %ld components to :strip"
+#~ msgstr "la réf '%s' n'a pas %ld composants à :strip"
+
+#~ msgid "unknown %.*s format %s"
+#~ msgstr "format de %.*s inconnu %s"
+
+# féminin pour une branche
+#~ msgid "[%s: gone]"
+#~ msgstr "[%s: disparue]"
+
+#~ msgid "[%s]"
+#~ msgstr "[%s]"
+
+#~ msgid "[%s: behind %d]"
+#~ msgstr "[%s: en retard de %d]"
+
+#~ msgid "[%s: ahead %d]"
+#~ msgstr "[%s : en avance de %d]"
+
+#~ msgid "[%s: ahead %d, behind %d]"
+#~ msgstr "[%s : en avance de %d, en retard de %d]"
+
+#~ msgid " **** invalid ref ****"
+#~ msgstr " **** référence invalide ****"
+
+#~ msgid "insanely long object directory %.*s"
+#~ msgstr "objet répertoire démentiellement long %.*s"
+
+#~ msgid "git merge [<options>] <msg> HEAD <commit>"
+#~ msgstr "git merge [<options>] <message> HEAD <commit>"
+
+#~ msgid "'%s' is not a commit"
+#~ msgstr "'%s' n'est pas une validation"
+
+#~ msgid "cannot open file '%s'"
+#~ msgstr "impossible d'ouvrir le fichier '%s'"
+
+#~ msgid "could not close file %s"
+#~ msgstr "impossible de fermer le fichier %s"
+
+#~ msgid "tag name too long: %.*s..."
+#~ msgstr "nom d'étiquette trop long : %.*s..."
+
+#~ msgid "tag header too big."
+#~ msgstr "en-tête d'étiquette trop gros."
+
+#~ msgid ""
+#~ "If the patch applies cleanly, the edited hunk will immediately be\n"
+#~ "marked for discarding"
+#~ msgstr ""
+#~ "Si le patch s'applique proprement, la section éditée sera\n"
+#~ "immediatement marquée comme éliminée"
+
 #~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
 #~ msgstr ""
 #~ "Utiliser une heuristique expérimentale reposant sur les lignes vides pour "
@@ -16780,9 +17125,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ msgid "cannot update HEAD ref"
 #~ msgstr "impossible de mettre à jour la référence HEAD"
 
-#~ msgid "cannot tell cwd"
-#~ msgstr "impossible de déterminer le répertoire de travail courant"
-
 #~ msgid "%s: cannot lock the ref"
 #~ msgstr "%s : impossible de verrouiller la référence"