l10n: fr v2.23.0 round 2
authorJean-Noël Avila <jn.avila@free.fr>
Sat, 10 Aug 2019 16:12:51 +0000 (18:12 +0200)
committerJean-Noël Avila <jn.avila@free.fr>
Sat, 10 Aug 2019 16:17:31 +0000 (18:17 +0200)
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
po/fr.po

index bc1bd65..55c7db6 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -75,8 +75,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-02-15 10:09+0800\n"
-"PO-Revision-Date: 2019-06-05 11:20+0200\n"
+"POT-Creation-Date: 2019-08-10 20:12+0800\n"
+"PO-Revision-Date: 2019-08-10 18:17+0200\n"
 "Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -84,38 +84,39 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
+"X-Generator: Poedit 2.2.3\n"
 
-#: advice.c:103
+#: advice.c:109
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:156
+#: advice.c:162
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "Impossible de picorer car vous avez des fichiers non fusionnés."
 
-#: advice.c:158
+#: advice.c:164
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:160
+#: advice.c:166
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:162
+#: advice.c:168
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:164
+#: advice.c:170
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:166
+#: advice.c:172
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "%s n'est pas possible car vous avez des fichiers non fusionnés."
 
-#: advice.c:174
+#: advice.c:180
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -123,52 +124,65 @@ msgstr ""
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:182
+#: advice.c:188
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:187 builtin/merge.c:1320
+#: advice.c:193 builtin/merge.c:1327
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:189
+#: advice.c:195
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:190
+#: advice.c:196
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:196
+#: advice.c:202
 #, c-format
 msgid ""
-"Note: checking out '%s'.\n"
+"Note: switching to '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by performing another checkout.\n"
+"state without impacting any branches by switching back to a branch.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -b with the checkout command again. Example:\n"
+"do so (now or later) by using -c with the switch command. Example:\n"
 "\n"
-"  git checkout -b <new-branch-name>\n"
+"  git switch -c <new-branch-name>\n"
+"\n"
+"Or undo this operation with:\n"
+"\n"
+"  git switch -\n"
+"\n"
+"Turn off this advice by setting config variable advice.detachedHead to "
+"false\n"
 "\n"
 msgstr ""
-"Note : extraction de '%s'.\n"
+"Note : basculement sur '%s'.\n"
 "\n"
 "Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des "
 "modifications\n"
-"expérimentales et les valider. Il vous suffit de faire une autre extraction "
+"expérimentales et les valider. Il vous suffit de faire un autre basculement "
 "pour\n"
 "abandonner les commits que vous faites dans cet état sans impacter les "
 "autres branches\n"
 "\n"
 "Si vous voulez créer une nouvelle branche pour conserver les commits que "
 "vous créez,\n"
-"il vous suffit d'utiliser « checkout -b » (maintenant ou plus tard) comme "
-"ceci :\n"
+"il vous suffit d'utiliser l'option -c de la commande switch comme ceci :\n"
+"\n"
+"  git switch -c <nom-de-la-nouvelle-branche>\n"
 "\n"
-"  git checkout -b <nom-de-la-nouvelle-branche>\n"
+"Ou annuler cette opération avec :\n"
+"\n"
+"  git switch -\n"
+"\n"
+"Désactivez ce conseil en renseignant la variable de configuration advice."
+"detachedHead à false\n"
 "\n"
 
 #: alias.c:50
@@ -179,99 +193,99 @@ msgstr "cmdline se termine par \\"
 msgid "unclosed quote"
 msgstr "citation non fermée"
 
-#: apply.c:63
+#: apply.c:69
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "option d'espace non reconnue '%s'"
 
-#: apply.c:79
+#: apply.c:85
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "option d'ignorance d'espace non reconnue '%s'"
 
-#: apply.c:129
+#: apply.c:135
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject et --3way ne peuvent pas être utilisés ensemble."
 
-#: apply.c:131
+#: apply.c:137
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached et --3way ne peuvent pas être utilisés ensemble."
 
-#: apply.c:134
+#: apply.c:140
 msgid "--3way outside a repository"
 msgstr "--3way hors d'un dépôt"
 
-#: apply.c:145
+#: apply.c:151
 msgid "--index outside a repository"
 msgstr "--index hors d'un dépôt"
 
-#: apply.c:148
+#: apply.c:154
 msgid "--cached outside a repository"
 msgstr "--cached hors d'un dépôt"
 
-#: apply.c:829
+#: apply.c:801
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "Impossible de préparer la regexp d'horodatage %s"
 
-#: apply.c:838
+#: apply.c:810
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec a retourné %d pour l'entrée : %s"
 
-#: apply.c:912
+#: apply.c:884
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "nom de fichier du patch introuvable à la ligne %d"
 
-#: apply.c:950
+#: apply.c:922
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - /dev/null attendu, %s trouvé à la "
 "ligne %d"
 
-#: apply.c:956
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - nouveau nom de fichier inconsistant "
 "à la ligne %d"
 
-#: apply.c:957
+#: apply.c:929
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - ancien nom de fichier inconsistant "
 "à la ligne %d"
 
-#: apply.c:962
+#: apply.c:934
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - /dev/null attendu à la ligne %d"
 
-#: apply.c:991
+#: apply.c:963
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "mode invalide dans la ligne %d : %s"
 
-#: apply.c:1310
+#: apply.c:1282
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
-#: apply.c:1482
+#: apply.c:1460
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recomptage : ligne inattendue : %.*s"
 
-#: apply.c:1551
+#: apply.c:1529
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
 
-#: apply.c:1571
+#: apply.c:1551
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -286,83 +300,83 @@ msgstr[1] ""
 "information de nom de fichier manquante dans l'en-tête de git diff lors de "
 "la suppression de %d composants de préfixe de chemin (ligne %d)"
 
-#: apply.c:1584
+#: apply.c:1564
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 "information de nom de fichier manquante dans l'en-tête de git diff (ligne %d)"
 
-#: apply.c:1772
+#: apply.c:1752
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
 
-#: apply.c:1774
+#: apply.c:1754
 msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
-#: apply.c:1808
+#: apply.c:1788
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "patch corrompu à la ligne %d"
 
-#: apply.c:1845
+#: apply.c:1825
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "le nouveau fichier %s dépend de contenus anciens"
 
-#: apply.c:1847
+#: apply.c:1827
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "le fichier supprimé %s a encore du contenu"
 
-#: apply.c:1850
+#: apply.c:1830
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
 
-#: apply.c:1997
+#: apply.c:1977
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2034
+#: apply.c:2014
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2196
+#: apply.c:2176
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2282
+#: apply.c:2262
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2286
+#: apply.c:2266
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2945
+#: apply.c:2925
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3066
+#: apply.c:3046
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "La section n°%d a réussi à la ligne %d (offset %d ligne)."
 msgstr[1] "La section n°%d a réussi à la ligne %d (offset %d lignes)."
 
-#: apply.c:3078
+#: apply.c:3058
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Contexte réduit à (%ld/%ld) pour appliquer le fragment à la ligne %d"
 
-#: apply.c:3084
+#: apply.c:3064
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -371,463 +385,463 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3106
+#: apply.c:3086
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3114
+#: apply.c:3094
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "impossible d'appliquer l'inverse d'un patch binaire à '%s' sans la section "
 "inverse"
 
-#: apply.c:3161
+#: apply.c:3141
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "impossible d'appliquer un patch binaire à '%s' sans la ligne complète d'index"
 
-#: apply.c:3171
+#: apply.c:3151
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "le patch s'applique à '%s' (%s), ce qui ne correspond pas au contenu actuel."
 
-#: apply.c:3179
+#: apply.c:3159
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "le patch s'applique à un '%s' vide mais ce n'est pas vide"
 
-#: apply.c:3197
+#: apply.c:3177
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "l'image postérieure nécessaire %s pour '%s' ne peut pas être lue"
 
-#: apply.c:3210
+#: apply.c:3190
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3216
+#: apply.c:3196
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "le patch binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s "
 "trouvé)"
 
-#: apply.c:3237
+#: apply.c:3217
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3360
+#: apply.c:3340
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
+#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3420
+#: apply.c:3400
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3449 apply.c:3692
+#: apply.c:3429 apply.c:3672
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3535 apply.c:3707
+#: apply.c:3515 apply.c:3687
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3544 apply.c:3715
+#: apply.c:3524 apply.c:3695
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3579
+#: apply.c:3559
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: apply.c:3582
+#: apply.c:3562
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3598 apply.c:3602
+#: apply.c:3578 apply.c:3582
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3614
+#: apply.c:3594
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Échec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3628
+#: apply.c:3608
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3633
+#: apply.c:3613
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3659
+#: apply.c:3639
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3732
+#: apply.c:3712
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3734
+#: apply.c:3714
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
+#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856
 #: read-cache.c:1309
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3943
+#: apply.c:3923
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3946
+#: apply.c:3926
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3966
+#: apply.c:3946
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o)"
 
-#: apply.c:3971
+#: apply.c:3951
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o) de %s"
 
-#: apply.c:3991
+#: apply.c:3971
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "le fichier affecté '%s' est au-delà d'un lien symbolique"
 
-#: apply.c:3995
+#: apply.c:3975
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:4010
+#: apply.c:3990
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4102
+#: apply.c:4082
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 "l'information sha1 est manquante ou inutilisable pour le sous-module %s"
 
-#: apply.c:4109
+#: apply.c:4089
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "le mode change pour %s, qui n'est pas dans la HEAD actuelle"
 
-#: apply.c:4112
+#: apply.c:4092
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143
+#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: apply.c:4121
+#: apply.c:4101
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4131
+#: apply.c:4111
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4269
+#: apply.c:4249
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4303
+#: apply.c:4283
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4309
+#: apply.c:4289
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4317
+#: apply.c:4297
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 "création du magasin de stockage pour le fichier nouvellement créé %s "
 "impossible"
 
-#: apply.c:4323 apply.c:4468
+#: apply.c:4303 apply.c:4448
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4366
+#: apply.c:4346
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4370
+#: apply.c:4350
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4440
+#: apply.c:4420
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4538
+#: apply.c:4518
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4546
+#: apply.c:4526
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4549
+#: apply.c:4529
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Application du patch %%s avec %d rejet..."
 msgstr[1] "Application du patch %%s avec %d rejets..."
 
-#: apply.c:4560
+#: apply.c:4540
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4582
+#: apply.c:4562
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4586
+#: apply.c:4566
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4696
+#: apply.c:4676
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4704
+#: apply.c:4684
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4724
+#: apply.c:4704
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4879
+#: apply.c:4859
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4906
+#: apply.c:4886
 #, 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:4912 apply.c:4927
+#: apply.c:4892 apply.c:4907
 #, 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:4920
+#: apply.c:4900
 #, 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:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
-#: builtin/pull.c:207 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
-#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
+#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211
+#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273
+#: builtin/pull.c:208 builtin/submodule--helper.c:407
+#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
+#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211
 msgid "path"
 msgstr "chemin"
 
-#: apply.c:4964
+#: apply.c:4944
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4967
+#: apply.c:4947
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4969 builtin/am.c:2219
+#: apply.c:4949 builtin/am.c:2217
 msgid "num"
 msgstr "num"
 
-#: apply.c:4970
+#: apply.c:4950
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4973
+#: apply.c:4953
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4975
+#: apply.c:4955
 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:4979
+#: apply.c:4959
 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:4981
+#: apply.c:4961
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "au lieu d'appliquer le patch, afficher un résumé de l'entrée"
 
-#: apply.c:4983
+#: apply.c:4963
 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:4985
+#: apply.c:4965
 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:4987
+#: apply.c:4967
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
 
-#: apply.c:4989
+#: apply.c:4969
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4991
+#: apply.c:4971
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4994
+#: apply.c:4974
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)"
 
-#: apply.c:4996
+#: apply.c:4976
 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:4998
+#: apply.c:4978
 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:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:5003
+#: apply.c:4983
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
-#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
+#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
+#: builtin/pack-objects.c:3330 builtin/rebase.c:1421
 msgid "action"
 msgstr "action"
 
-#: apply.c:5005
+#: apply.c:4985
 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:5008 apply.c:5011
+#: apply.c:4988 apply.c:4991
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:5014
+#: apply.c:4994
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:5016
+#: apply.c:4996
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:5018
+#: apply.c:4998
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:5020
+#: apply.c:5000
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22
+#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786
+#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:5023
+#: apply.c:5003
 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:5026
+#: apply.c:5006
 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:5028 builtin/am.c:2207
+#: apply.c:5008 builtin/am.c:2205
 msgid "root"
 msgstr "racine"
 
-#: apply.c:5029
+#: apply.c:5009
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -870,98 +884,98 @@ msgstr "nom d'objet invalide : %s"
 msgid "not a tree object: %s"
 msgstr "objet arbre invalide : %s"
 
-#: archive.c:424
+#: archive.c:426
 msgid "current working directory is untracked"
 msgstr "l'arbre de travail actuel est non-suivi"
 
-#: archive.c:455
+#: archive.c:457
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:455
+#: archive.c:457
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:456 builtin/log.c:1557
+#: archive.c:458 builtin/log.c:1580
 msgid "prefix"
 msgstr "préfixe"
 
-#: archive.c:457
+#: archive.c:459
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822
-#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
-#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
+#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134
+#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105
 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
 msgid "file"
 msgstr "fichier"
 
-#: archive.c:459 builtin/archive.c:90
+#: archive.c:461 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr "écrire l'archive dans ce fichier"
 
-#: archive.c:461
+#: archive.c:463
 msgid "read .gitattributes in working directory"
 msgstr "lire .gitattributes dans le répertoire de travail"
 
-#: archive.c:462
+#: archive.c:464
 msgid "report archived files on stderr"
 msgstr "afficher les fichiers archivés sur stderr"
 
-#: archive.c:463
+#: archive.c:465
 msgid "store only"
 msgstr "stockage seulement"
 
-#: archive.c:464
+#: archive.c:466
 msgid "compress faster"
 msgstr "compression rapide"
 
-#: archive.c:472
+#: archive.c:474
 msgid "compress better"
 msgstr "compression efficace"
 
-#: archive.c:475
+#: archive.c:477
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
+#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859
 msgid "repo"
 msgstr "dépôt"
 
-#: archive.c:478 builtin/archive.c:92
+#: archive.c:480 builtin/archive.c:92
 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:479 builtin/archive.c:93 builtin/difftool.c:707
+#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707
 #: builtin/notes.c:498
 msgid "command"
 msgstr "commande"
 
-#: archive.c:480 builtin/archive.c:94
+#: archive.c:482 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr "chemin vers la commande distante git-upload-archive"
 
-#: archive.c:487
+#: archive.c:489
 msgid "Unexpected option --remote"
 msgstr "Option --remote inattendue"
 
-#: archive.c:489
+#: archive.c:491
 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:491
+#: archive.c:493
 msgid "Unexpected option --output"
 msgstr "Option --output inattendue"
 
-#: archive.c:513
+#: archive.c:515
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Format d'archive inconnu '%s'"
 
-#: archive.c:520
+#: archive.c:522
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
@@ -1005,7 +1019,7 @@ msgstr "le chemin n'est pas codé en UTF-8 valide : %s"
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "le chemin est trop long (%d caractères, SHA1 : %s) : %s"
 
-#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
+#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
@@ -1108,12 +1122,12 @@ msgstr "Bissection : une base de fusion doit être testée\n"
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:928 builtin/merge.c:146
+#: bisect.c:928 builtin/merge.c:148
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
@@ -1153,41 +1167,41 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "Bissection : %d révision à tester après ceci %s\n"
 msgstr[1] "Bissection : %d révisions à tester après ceci %s\n"
 
-#: blame.c:1794
+#: blame.c:2697
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: blame.c:1808
+#: blame.c:2711
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: blame.c:1829
+#: blame.c:2732
 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"
 
-#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
-#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
-#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415
-#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
+#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033
+#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963
+#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411
+#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
-#: blame.c:1856
+#: blame.c:2759
 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"
 
-#: blame.c:1867
+#: blame.c:2770
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: blame.c:1878
+#: blame.c:2781
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
@@ -1330,12 +1344,12 @@ msgstr "Nom d'objet ambigu : '%s'."
 msgid "Not a valid branch point: '%s'."
 msgstr "Point d'embranchement invalide : '%s'."
 
-#: branch.c:359
+#: branch.c:364
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' est déjà extrait dans '%s'"
 
-#: branch.c:382
+#: branch.c:387
 #, 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"
@@ -1350,8 +1364,8 @@ 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:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
-#: builtin/commit.c:788
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024
+#: builtin/commit.c:791
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -1360,60 +1374,64 @@ 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:194
+#: bundle.c:146
+msgid "need a repository to verify a bundle"
+msgstr "la vérification d'un colis requiert un dépôt"
+
+#: bundle.c:197
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "Le colis contient cette référence :"
 msgstr[1] "Le colis contient ces %d références :"
 
-#: bundle.c:201
+#: bundle.c:204
 msgid "The bundle records a complete history."
 msgstr "Le colis enregistre l'historique complet."
 
-#: bundle.c:203
+#: bundle.c:206
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Le colis exige cette référence :"
 msgstr[1] "Le colis exige ces %d références :"
 
-#: bundle.c:269
+#: bundle.c:272
 msgid "unable to dup bundle descriptor"
 msgstr "impossible de dupliquer le descripteur de liasse"
 
-#: bundle.c:276
+#: bundle.c:279
 msgid "Could not spawn pack-objects"
 msgstr "Impossible de créer des objets groupés"
 
-#: bundle.c:287
+#: bundle.c:290
 msgid "pack-objects died"
 msgstr "les objets groupés ont disparu"
 
-#: bundle.c:329
+#: bundle.c:332
 msgid "rev-list died"
 msgstr "rev-list a disparu"
 
-#: bundle.c:378
+#: bundle.c:381
 #, c-format
 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:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
+#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
 
-#: bundle.c:465
+#: bundle.c:468
 msgid "Refusing to create empty bundle."
 msgstr "Refus de créer un colis vide."
 
-#: bundle.c:475
+#: bundle.c:478
 #, c-format
 msgid "cannot create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: bundle.c:500
+#: bundle.c:503
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
@@ -1422,8 +1440,8 @@ msgstr "l'index de groupe a disparu"
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
+#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399
+#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
@@ -1433,7 +1451,7 @@ msgstr "impossible d'analyser %s"
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un commit !"
 
-#: commit.c:193
+#: commit.c:192
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1453,27 +1471,27 @@ msgstr ""
 "Supprimez ce message en lançant\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1128
+#: commit.c:1127
 #, 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."
 
-#: commit.c:1131
+#: commit.c:1130
 #, 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."
 
-#: commit.c:1134
+#: commit.c:1133
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: commit.c:1137
+#: commit.c:1136
 #, 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"
 
-#: commit.c:1391
+#: commit.c:1390
 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"
@@ -1485,187 +1503,245 @@ msgstr ""
 "variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
 "projet.\n"
 
-#: commit-graph.c:105
+#: commit-graph.c:127
 msgid "commit-graph file is too small"
 msgstr "le graphe de commit est trop petit"
 
-#: commit-graph.c:170
+#: commit-graph.c:192
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr ""
 "la signature du graphe de commit %X ne correspond pas à la signature %X"
 
-#: commit-graph.c:177
+#: commit-graph.c:199
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "la version %X du graphe de commit ne correspond pas à la version %X"
 
-#: commit-graph.c:184
+#: commit-graph.c:206
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr ""
 "l'empreinte de la version %X du graphe de commit ne correspond pas à la "
 "version %X"
 
-#: commit-graph.c:207
+#: commit-graph.c:229
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
 "entrée de table de consultation de morceaux de graphe de commite manquante ; "
 "le fichier est peut être incomplet"
 
-#: commit-graph.c:218
+#: commit-graph.c:240
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "décalage de bloc %08x%08x du graphe de commit inadéquat"
 
-#: commit-graph.c:255
+#: commit-graph.c:283
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "l'id de bloc de graphe de commit %08x apparaît des multiples fois"
 
-#: commit-graph.c:390
+#: commit-graph.c:347
+msgid "commit-graph has no base graphs chunk"
+msgstr "le graphe de commit n'a pas de section de graphes de base"
+
+#: commit-graph.c:357
+msgid "commit-graph chain does not match"
+msgstr "la chaîne de graphe de commit ne correspond pas"
+
+#: commit-graph.c:404
+#, c-format
+msgid "invalid commit-graph chain: line '%s' not a hash"
+msgstr ""
+"chaîne de graphe de commit invalide : la ligne '%s' n'est pas une empreinte"
+
+#: commit-graph.c:430
+msgid "unable to find all commit-graph files"
+msgstr "impossible de trouver tous les fichiers du graphe de commit"
+
+#: commit-graph.c:554 commit-graph.c:614
+msgid "invalid commit position. commit-graph is likely corrupt"
+msgstr ""
+"position de commit invalide. Le graphe de commit est vraisemblablement "
+"corrompu"
+
+#: commit-graph.c:575
 #, c-format
 msgid "could not find commit %s"
 msgstr "impossible de trouver le commit %s"
 
-#: commit-graph.c:732 builtin/pack-objects.c:2649
+#: commit-graph.c:1002 builtin/pack-objects.c:2657
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "impossible d'obtenir le type de l'objet %s"
 
-#: commit-graph.c:765
+#: commit-graph.c:1034
 msgid "Loading known commits in commit graph"
 msgstr "Lecture des commits connus dans un graphe de commit"
 
-#: commit-graph.c:781
+#: commit-graph.c:1051
 msgid "Expanding reachable commits in commit graph"
 msgstr "Expansion des commits joignables dans un graphe de commit"
 
-#: commit-graph.c:793
+#: commit-graph.c:1070
 msgid "Clearing commit marks in commit graph"
 msgstr "Suppression les marques de commit dans le graphe de commits"
 
-#: commit-graph.c:813
+#: commit-graph.c:1089
 msgid "Computing commit graph generation numbers"
 msgstr "Calcul des chiffres de génération du graphe de commits"
 
-#: commit-graph.c:930
+#: commit-graph.c:1163
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "Recherche de commits pour un graphe de commits dans %d paquet"
 msgstr[1] "Recherche de commits pour un graphe de commits dans %d paquets"
 
-#: commit-graph.c:943
+#: commit-graph.c:1176
 #, c-format
 msgid "error adding pack %s"
 msgstr "erreur à l'ajout du packet %s"
 
-#: commit-graph.c:945
+#: commit-graph.c:1180
 #, c-format
 msgid "error opening index for %s"
 msgstr "erreur à l'ouverture de l'index pour %s"
 
-#: commit-graph.c:959
+#: commit-graph.c:1204
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] "Recherche de commits pour un graphe de commits depuis %d réf"
 msgstr[1] "Recherche de commits pour un graphe de commits depuis %d réfs"
 
-#: commit-graph.c:991
+#: commit-graph.c:1238
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Recherche de commits pour un graphe de commits parmi les objets empaquetés"
 
-#: commit-graph.c:1004
+#: commit-graph.c:1253
 msgid "Counting distinct commits in commit graph"
 msgstr "Comptage des commits distincts dans un graphe de commit"
 
-#: commit-graph.c:1017
-#, c-format
-msgid "the commit graph format cannot write %d commits"
-msgstr "le graphe de commits ne peut pas écrire %d commits"
-
-#: commit-graph.c:1026
+#: commit-graph.c:1284
 msgid "Finding extra edges in commit graph"
 msgstr "Recherche d'arêtes supplémentaires dans un graphe de commits"
 
-#: commit-graph.c:1050
-msgid "too many commits to write graph"
-msgstr "trop de commits pour écrire un graphe"
+#: commit-graph.c:1332
+msgid "failed to write correct number of base graph ids"
+msgstr "échec à l'écriture le nombre correct d'id de base de fusion"
 
-#: commit-graph.c:1057 midx.c:819
+#: commit-graph.c:1365 midx.c:811
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "impossible de créer les répertoires de premier niveau de %s"
 
-#: commit-graph.c:1097
+#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240
+#, c-format
+msgid "unable to create '%s'"
+msgstr "impossible de créer '%s'"
+
+#: commit-graph.c:1437
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Écriture le graphe de commits en %d passe"
 msgstr[1] "Écriture le graphe de commits en %d passes"
 
-#: commit-graph.c:1162
+#: commit-graph.c:1478
+msgid "unable to open commit-graph chain file"
+msgstr "impossible d'ouvrir le fichier de graphe de commit"
+
+#: commit-graph.c:1490
+msgid "failed to rename base commit-graph file"
+msgstr "échec du renommage du fichier de graphe de commits"
+
+#: commit-graph.c:1510
+msgid "failed to rename temporary commit-graph file"
+msgstr "impossible de renommer le fichier temporaire de graphe de commits"
+
+#: commit-graph.c:1621
+msgid "Scanning merged commits"
+msgstr "Analyse des commits de fusion"
+
+#: commit-graph.c:1632
+#, c-format
+msgid "unexpected duplicate commit id %s"
+msgstr "id de commit %s dupliqué inattendu"
+
+#: commit-graph.c:1657
+msgid "Merging commit-graph"
+msgstr "fusion du graphe de commits"
+
+#: commit-graph.c:1844
+#, c-format
+msgid "the commit graph format cannot write %d commits"
+msgstr "le graphe de commits ne peut pas écrire %d commits"
+
+#: commit-graph.c:1855
+msgid "too many commits to write graph"
+msgstr "trop de commits pour écrire un graphe"
+
+#: commit-graph.c:1945
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "le graphe de commit a une somme de contrôle incorrecte et est "
 "vraisemblablement corrompu"
 
-#: commit-graph.c:1172
+#: commit-graph.c:1955
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "le graphe de commit a un ordre d'OID incorrect : %s puis %s"
 
-#: commit-graph.c:1182 commit-graph.c:1197
+#: commit-graph.c:1965 commit-graph.c:1980
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
 "le graphe de commit a une valeur de dispersion incorrecte : dispersion[%d] = "
 "%u != %u"
 
-#: commit-graph.c:1189
+#: commit-graph.c:1972
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "échec de l'analyse le commit %s depuis le graphe de commits"
 
-#: commit-graph.c:1206
+#: commit-graph.c:1989
 msgid "Verifying commits in commit graph"
 msgstr "Verification des commits dans le graphe de commits"
 
-#: commit-graph.c:1219
+#: commit-graph.c:2002
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "échec de l'analyse du commit %s depuis la base de données d'objets pour le "
 "graphe de commit"
 
-#: commit-graph.c:1226
+#: commit-graph.c:2009
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "l'OID de l'arbre racine pour le commit %s dans le graphe de commit est %s != "
 "%s"
 
-#: commit-graph.c:1236
+#: commit-graph.c:2019
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 "la liste des parents du graphe de commit pour le commit %s est trop longue"
 
-#: commit-graph.c:1242
+#: commit-graph.c:2028
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "le parent du graphe de commit pour %s est %s != %s"
 
-#: commit-graph.c:1255
+#: commit-graph.c:2041
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 "la liste de parents du graphe de commit pour le commit %s se termine trop tôt"
 
-#: commit-graph.c:1260
+#: commit-graph.c:2046
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -1673,7 +1749,7 @@ msgstr ""
 "le graphe de commit a un numéro de génération nul pour le commit %s, mais "
 "non-nul ailleurs"
 
-#: commit-graph.c:1264
+#: commit-graph.c:2050
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -1681,12 +1757,12 @@ msgstr ""
 "le graphe de commit a un numéro de génération non-nul pour le commit %s, "
 "mais nul ailleurs"
 
-#: commit-graph.c:1279
+#: commit-graph.c:2065
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
 msgstr "la génération du graphe de commit pour le commit %s est %u != %u"
 
-#: commit-graph.c:1285
+#: commit-graph.c:2071
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
@@ -1697,7 +1773,7 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:123
+#: config.c:124
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -1712,313 +1788,313 @@ msgstr ""
 "\t%s\n"
 "possibilité d'inclusions multiples."
 
-#: config.c:139
+#: config.c:140
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "expansion impossible du chemin d'inclusion '%s'"
 
-#: config.c:150
+#: config.c:151
 msgid "relative config includes must come from files"
 msgstr "les inclusions de configuration relatives doivent venir de fichiers"
 
-#: config.c:190
+#: config.c:197
 msgid "relative config include conditionals must come from files"
 msgstr ""
 "les conditions d'inclusion de configuration relative doivent venir de "
 "fichiers"
 
-#: config.c:348
+#: config.c:376
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "la clé ne contient pas de section: %s"
 
-#: config.c:354
+#: config.c:382
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr "la clé ne contient pas de nom de variable : %s"
 
-#: config.c:378 sequencer.c:2459
+#: config.c:406 sequencer.c:2463
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: config.c:384
+#: config.c:412
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "clé invalide (retour chariot) : %s"
 
-#: config.c:420 config.c:432
+#: config.c:448 config.c:460
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "paramètre de configuration mal formé: %s"
 
-#: config.c:467
+#: config.c:495
 #, c-format
 msgid "bogus format in %s"
 msgstr "formatage mal formé dans %s"
 
-#: config.c:793
+#: config.c:821
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:797
+#: config.c:825
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:801
+#: config.c:829
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:805
+#: config.c:833
 #, 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:809
+#: config.c:837
 #, 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:813
+#: config.c:841
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:952
+#: config.c:978
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:952
+#: config.c:978
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:958
+#: config.c:979
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:963
+#: config.c:998
 #, 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:966
+#: config.c:1001
 #, 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:969
+#: config.c:1004
 #, 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:972
+#: config.c:1007
 #, 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:975
+#: config.c:1010
 #, 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:978
+#: config.c:1013
 #, 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:1073
+#: config.c:1108
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:1082
+#: config.c:1117
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%s' pour '%s' n'est pas un horodatage valide"
 
-#: config.c:1173
+#: config.c:1208
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "longueur d'abbrev hors plage : %d"
 
-#: config.c:1187 config.c:1198
+#: config.c:1222 config.c:1233
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:1290
+#: config.c:1325
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar ne devrait être qu'un unique caractère"
 
-#: config.c:1323
+#: config.c:1358
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1395
+#: config.c:1430
 #, c-format
 msgid "malformed value for %s"
 msgstr "valeur mal formée pour %s"
 
-#: config.c:1421
+#: config.c:1456
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "valeur mal formée pour %s : %s"
 
-#: config.c:1422
+#: config.c:1457
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "doit être parmi nothing, matching, simple, upstream ou current"
 
-#: config.c:1483 builtin/pack-objects.c:3397
+#: config.c:1518 builtin/pack-objects.c:3410
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1604
+#: config.c:1639
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "impossible de charger l'objet blob de config '%s'"
 
-#: config.c:1607
+#: config.c:1642
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "la référence '%s' ne pointe pas sur un blob"
 
-#: config.c:1624
+#: config.c:1659
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "impossible de résoudre le blob de config '%s'"
 
-#: config.c:1654
+#: config.c:1689
 #, c-format
 msgid "failed to parse %s"
 msgstr "échec de l'analyse de %s"
 
-#: config.c:1710
+#: config.c:1745
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:2059
+#: config.c:2094
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2229
+#: config.c:2264
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2272
+#: config.c:2307
 #, 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:2298
+#: config.c:2333
 #, 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:2344
+#: config.c:2379
 #, 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:2346
+#: config.c:2381
 #, 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:2427
+#: config.c:2462
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nom de section invalide '%s'"
 
-#: config.c:2459
+#: config.c:2494
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2488
+#: config.c:2523
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2740 config.c:3064
+#: config.c:2775 config.c:3099
 #, c-format
 msgid "could not lock config file %s"
 msgstr "impossible de verrouiller le fichier de configuration %s"
 
-#: config.c:2751
+#: config.c:2786
 #, c-format
 msgid "opening %s"
 msgstr "ouverture de %s"
 
-#: config.c:2786 builtin/config.c:328
+#: config.c:2821 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "motif invalide : %s"
 
-#: config.c:2811
+#: config.c:2846
 #, c-format
 msgid "invalid config file %s"
 msgstr "fichier de configuration invalide %s"
 
-#: config.c:2824 config.c:3077
+#: config.c:2859 config.c:3112
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2835
+#: config.c:2870
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "impossible de réaliser un map de '%s'"
 
-#: config.c:2844 config.c:3082
+#: config.c:2879 config.c:3117
 #, c-format
 msgid "chmod on %s failed"
 msgstr "échec de chmod sur %s"
 
-#: config.c:2929 config.c:3179
+#: config.c:2964 config.c:3214
 #, c-format
 msgid "could not write config file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2963
+#: config.c:2998
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2965 builtin/remote.c:782
+#: config.c:3000 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: config.c:3055
+#: config.c:3090
 #, c-format
 msgid "invalid section name: %s"
 msgstr "nom de section invalide : %s"
 
-#: config.c:3222
+#: config.c:3257
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valeur manquante pour '%s'"
@@ -2184,19 +2260,19 @@ msgstr "chemin étrange '%s' bloqué"
 msgid "unable to fork"
 msgstr "fork impossible"
 
-#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
-#: connected.c:97
+#: connected.c:98
 msgid "Could not run 'git rev-list'"
 msgstr "Impossible de lancer 'git rev-list'"
 
-#: connected.c:117
+#: connected.c:118
 msgid "failed write to rev-list"
 msgstr "impossible d'écrire dans la rev-list"
 
-#: connected.c:124
+#: connected.c:125
 msgid "failed to close rev-list's stdin"
 msgstr "impossible de fermer l'entrée standard du rev-list"
 
@@ -2419,7 +2495,7 @@ msgstr ""
 "l'expression rationnelle depuis la configuration a trop de groupes de "
 "capture (max=%d)"
 
-#: delta-islands.c:466
+#: delta-islands.c:467
 #, c-format
 msgid "Marked %d islands, done.\n"
 msgstr "Marquage de %d îlots, fait.\n"
@@ -2497,35 +2573,35 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:4210
+#: diff.c:4215
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:4555
+#: diff.c:4560
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:4558
+#: diff.c:4563
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S et --find-object sont mutuellement exclusifs"
 
-#: diff.c:4636
+#: diff.c:4641
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:4684
+#: diff.c:4689
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "valeur invalide de --stat : %s"
 
-#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
+#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222
 #: parse-options.c:199 parse-options.c:203
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s attend une valeur numérique"
 
-#: diff.c:4721
+#: diff.c:4726
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2534,42 +2610,42 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:4806
+#: diff.c:4811
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "classe de modification inconnue '%c' dans --diff-fileter=%s"
 
-#: diff.c:4830
+#: diff.c:4835
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "valeur inconnue après ws-error-highlight=%.*s"
 
-#: diff.c:4844
+#: diff.c:4849
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: diff.c:4894 diff.c:4900
+#: diff.c:4899 diff.c:4905
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "forme <n>/<m> attendue par %s"
 
-#: diff.c:4912
+#: diff.c:4917
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "caractère attendu par %s, '%s' trouvé"
 
-#: diff.c:4933
+#: diff.c:4938
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "mauvais argument --color-moved : %s"
 
-#: diff.c:4952
+#: diff.c:4957
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "mode invalide '%s' dans --color-moved-ws"
 
-#: diff.c:4992
+#: diff.c:4997
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -2577,155 +2653,155 @@ msgstr ""
 "l'option diff-algorithm accept \"myers\", \"minimal\", \"patience\" et "
 "\"histogram\""
 
-#: diff.c:5028 diff.c:5048
+#: diff.c:5033 diff.c:5053
 #, c-format
 msgid "invalid argument to %s"
 msgstr "argument invalide pour %s"
 
-#: diff.c:5186
+#: diff.c:5191
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "échec de l'analyse du paramètre de l'option --submodule : '%s'"
 
-#: diff.c:5242
+#: diff.c:5247
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "mauvais argument pour --word-diff : %s"
 
-#: diff.c:5265
+#: diff.c:5270
 msgid "Diff output format options"
 msgstr "Options de format de sortie de diff"
 
-#: diff.c:5267 diff.c:5273
+#: diff.c:5272 diff.c:5278
 msgid "generate patch"
 msgstr "générer la rustine"
 
-#: diff.c:5270 builtin/log.c:167
+#: diff.c:5275 builtin/log.c:172
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: diff.c:5275 diff.c:5389 diff.c:5396
+#: diff.c:5280 diff.c:5394 diff.c:5401
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5276 diff.c:5279
+#: diff.c:5281 diff.c:5284
 msgid "generate diffs with <n> lines context"
 msgstr "générer les diffs avec <n> lignes de contexte"
 
-#: diff.c:5281
+#: diff.c:5286
 msgid "generate the diff in raw format"
 msgstr "générer le diff en format brut"
 
-#: diff.c:5284
+#: diff.c:5289
 msgid "synonym for '-p --raw'"
 msgstr "synonyme de '-p --raw'"
 
-#: diff.c:5288
+#: diff.c:5293
 msgid "synonym for '-p --stat'"
 msgstr "synonyme de '-p --stat'"
 
-#: diff.c:5292
+#: diff.c:5297
 msgid "machine friendly --stat"
 msgstr "--stat pour traitement automatique"
 
-#: diff.c:5295
+#: diff.c:5300
 msgid "output only the last line of --stat"
 msgstr "afficher seulement la dernière ligne de --stat"
 
-#: diff.c:5297 diff.c:5305
+#: diff.c:5302 diff.c:5310
 msgid "<param1,param2>..."
 msgstr "<param1,param2>..."
 
-#: diff.c:5298
+#: diff.c:5303
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 "afficher la distribution des quantités de modifications relatives pour "
 "chaque sous-répertoire"
 
-#: diff.c:5302
+#: diff.c:5307
 msgid "synonym for --dirstat=cumulative"
 msgstr "synonyme pour --dirstat=cumulative"
 
-#: diff.c:5306
+#: diff.c:5311
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "synonyme pour --dirstat=files,param1,param2..."
 
-#: diff.c:5310
+#: diff.c:5315
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "avertir si les modifications introduisent des marqueurs de conflit ou des "
 "erreurs d'espace"
 
-#: diff.c:5313
+#: diff.c:5318
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 "résumé succinct tel que les créations, les renommages et les modifications "
 "de mode"
 
-#: diff.c:5316
+#: diff.c:5321
 msgid "show only names of changed files"
 msgstr "n'afficher que les noms de fichiers modifiés"
 
-#: diff.c:5319
+#: diff.c:5324
 msgid "show only names and status of changed files"
 msgstr "n'afficher que les noms et les status des fichiers modifiés"
 
-#: diff.c:5321
+#: diff.c:5326
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<largeur>[,<largeur-de-nom>[,<compte>]]"
 
-#: diff.c:5322
+#: diff.c:5327
 msgid "generate diffstat"
 msgstr "générer un diffstat"
 
-#: diff.c:5324 diff.c:5327 diff.c:5330
+#: diff.c:5329 diff.c:5332 diff.c:5335
 msgid "<width>"
 msgstr "<largeur>"
 
-#: diff.c:5325
+#: diff.c:5330
 msgid "generate diffstat with a given width"
 msgstr "générer un diffstat avec la largeur indiquée"
 
-#: diff.c:5328
+#: diff.c:5333
 msgid "generate diffstat with a given name width"
 msgstr "génerer un diffstat avec la largeur de nom indiquée"
 
-#: diff.c:5331
+#: diff.c:5336
 msgid "generate diffstat with a given graph width"
 msgstr "génerer un diffstat avec la largeur de graphe indiquée"
 
-#: diff.c:5333
+#: diff.c:5338
 msgid "<count>"
 msgstr "<compte>"
 
-#: diff.c:5334
+#: diff.c:5339
 msgid "generate diffstat with limited lines"
 msgstr "générer un diffstat avec des lignes limitées"
 
-#: diff.c:5337
+#: diff.c:5342
 msgid "generate compact summary in diffstat"
 msgstr "générer une résumé compact dans le diffstat"
 
-#: diff.c:5340
+#: diff.c:5345
 msgid "output a binary diff that can be applied"
 msgstr "produire un diff binaire qui peut être appliqué"
 
-#: diff.c:5343
+#: diff.c:5348
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "afficher les noms complets des objets pre- et post-image sur les lignes "
 "\"index\""
 
-#: diff.c:5345
+#: diff.c:5350
 msgid "show colored diff"
 msgstr "afficher un diff coloré"
 
-#: diff.c:5346
+#: diff.c:5351
 msgid "<kind>"
 msgstr "<sorte>"
 
-#: diff.c:5347
+#: diff.c:5352
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -2733,7 +2809,7 @@ msgstr ""
 "surligner les erreurs d'espace dans les lignes 'contexte', 'ancien', "
 "'nouveau' dans le diff"
 
-#: diff.c:5350
+#: diff.c:5355
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2741,93 +2817,93 @@ msgstr ""
 "ne pas compresser les chemins et utiliser des NULs comme terminateurs de "
 "champs dans --raw ou --numstat"
 
-#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465
+#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470
 msgid "<prefix>"
 msgstr "<préfixe>"
 
-#: diff.c:5354
+#: diff.c:5359
 msgid "show the given source prefix instead of \"a/\""
 msgstr "afficher le préfixe de source indiqué au lieu de \"a/\""
 
-#: diff.c:5357
+#: diff.c:5362
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "afficher le préfixe de destination indiqué au lieu de \"b/\""
 
-#: diff.c:5360
+#: diff.c:5365
 msgid "prepend an additional prefix to every line of output"
 msgstr "préfixer toutes les lignes en sortie avec la chaîne indiquée"
 
-#: diff.c:5363
+#: diff.c:5368
 msgid "do not show any source or destination prefix"
 msgstr "n'afficher aucun préfixe, ni de source, ni de destination"
 
-#: diff.c:5366
+#: diff.c:5371
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "afficher le contexte entre les sections à concurrence du nombre de ligne "
 "indiqué"
 
-#: diff.c:5370 diff.c:5375 diff.c:5380
+#: diff.c:5375 diff.c:5380 diff.c:5385
 msgid "<char>"
 msgstr "<caractère>"
 
-#: diff.c:5371
+#: diff.c:5376
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "spécifier le caractère pour indiquer une nouvelle ligne au lieu de '+'"
 
-#: diff.c:5376
+#: diff.c:5381
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "spécifier le caractère pour indiquer une ancienne ligne au lieu de '-'"
 
-#: diff.c:5381
+#: diff.c:5386
 msgid "specify the character to indicate a context instead of ' '"
 msgstr ""
 "spécifier le caractère pour indiquer une ligne de contexte au lieu de ' '"
 
-#: diff.c:5384
+#: diff.c:5389
 msgid "Diff rename options"
 msgstr "Options de renommage de diff"
 
-#: diff.c:5385
+#: diff.c:5390
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5386
+#: diff.c:5391
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr ""
 "casser les modifications d'une réécrire complète en paires de suppression et "
 "création"
 
-#: diff.c:5390
+#: diff.c:5395
 msgid "detect renames"
 msgstr "détecter les renommages"
 
-#: diff.c:5394
+#: diff.c:5399
 msgid "omit the preimage for deletes"
 msgstr "supprimer la pré-image pour les suppressions"
 
-#: diff.c:5397
+#: diff.c:5402
 msgid "detect copies"
 msgstr "détecter les copies"
 
-#: diff.c:5401
+#: diff.c:5406
 msgid "use unmodified files as source to find copies"
 msgstr ""
 "utiliser les fichiers non-modifiés comme sources pour trouver des copies"
 
-#: diff.c:5403
+#: diff.c:5408
 msgid "disable rename detection"
 msgstr "désactiver la détection de renommage"
 
-#: diff.c:5406
+#: diff.c:5411
 msgid "use empty blobs as rename source"
 msgstr "utiliser des blobs vides comme source de renommage"
 
-#: diff.c:5408
+#: diff.c:5413
 msgid "continue listing the history of a file beyond renames"
 msgstr "continuer à afficher l'historique d'un fichier au delà des renommages"
 
-#: diff.c:5411
+#: diff.c:5416
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -2835,161 +2911,161 @@ msgstr ""
 "empêcher la détection de renommage/copie si le nombre de cibles de renommage/"
 "copie excède la limite indiquée"
 
-#: diff.c:5413
+#: diff.c:5418
 msgid "Diff algorithm options"
 msgstr "Options de l'algorithme de diff"
 
-#: diff.c:5415
+#: diff.c:5420
 msgid "produce the smallest possible diff"
 msgstr "produire le diff le plus petit possible"
 
-#: diff.c:5418
+#: diff.c:5423
 msgid "ignore whitespace when comparing lines"
 msgstr "ignorer les espaces lors de la comparaison de ligne"
 
-#: diff.c:5421
+#: diff.c:5426
 msgid "ignore changes in amount of whitespace"
 msgstr "ignorer des modifications du nombre d'espaces"
 
-#: diff.c:5424
+#: diff.c:5429
 msgid "ignore changes in whitespace at EOL"
 msgstr "ignorer des modifications d'espace en fin de ligne"
 
-#: diff.c:5427
+#: diff.c:5432
 msgid "ignore carrier-return at the end of line"
 msgstr "ignore le retour chariot en fin de ligne"
 
-#: diff.c:5430
+#: diff.c:5435
 msgid "ignore changes whose lines are all blank"
 msgstr "ignorer les modifications dont les lignes sont vides"
 
-#: diff.c:5433
+#: diff.c:5438
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 "heuristique qui déplace les limites de sections de diff pour faciliter la "
 "lecture"
 
-#: diff.c:5436
+#: diff.c:5441
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"patience\""
 
-#: diff.c:5440
+#: diff.c:5445
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr ""
 "générer un diff en utilisant l'algorithme de différence \"histogramme\""
 
-#: diff.c:5442
+#: diff.c:5447
 msgid "<algorithm>"
 msgstr "<algorithme>"
 
-#: diff.c:5443
+#: diff.c:5448
 msgid "choose a diff algorithm"
 msgstr "choisir un algorithme de différence"
 
-#: diff.c:5445
+#: diff.c:5450
 msgid "<text>"
 msgstr "<texte>"
 
-#: diff.c:5446
+#: diff.c:5451
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"ancré\""
 
-#: diff.c:5448 diff.c:5457 diff.c:5460
+#: diff.c:5453 diff.c:5462 diff.c:5465
 msgid "<mode>"
 msgstr "<mode>"
 
-#: diff.c:5449
+#: diff.c:5454
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "afficher des différences par mot, en utilisant <mode> pour délimiter les "
 "mots modifiés"
 
-#: diff.c:5451 diff.c:5454 diff.c:5499
+#: diff.c:5456 diff.c:5459 diff.c:5504
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5452
+#: diff.c:5457
 msgid "use <regex> to decide what a word is"
 msgstr "utiliser <regex> pour décider ce qu'est un mot"
 
-#: diff.c:5455
+#: diff.c:5460
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "équivalent à --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5458
+#: diff.c:5463
 msgid "moved lines of code are colored differently"
 msgstr "les lignes déplacées sont colorées différemment"
 
-#: diff.c:5461
+#: diff.c:5466
 msgid "how white spaces are ignored in --color-moved"
 msgstr "comment les espaces sont ignorés dans --color-moved"
 
-#: diff.c:5464
+#: diff.c:5469
 msgid "Other diff options"
 msgstr "Autres options diff"
 
-#: diff.c:5466
+#: diff.c:5471
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "lancé depuis un sous-répertoire, exclure les modifications en dehors et "
 "afficher les chemins relatifs"
 
-#: diff.c:5470
+#: diff.c:5475
 msgid "treat all files as text"
 msgstr "traiter les fichiers comme texte"
 
-#: diff.c:5472
+#: diff.c:5477
 msgid "swap two inputs, reverse the diff"
 msgstr "échanger les entrées, inverser le diff"
 
-#: diff.c:5474
+#: diff.c:5479
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "sortir un code d'erreur 1 s'il y avait de différences, 0 sinon"
 
-#: diff.c:5476
+#: diff.c:5481
 msgid "disable all output of the program"
 msgstr "désactiver tous les affichages du programme"
 
-#: diff.c:5478
+#: diff.c:5483
 msgid "allow an external diff helper to be executed"
 msgstr "autoriser l'exécution d'un assistant externe de diff"
 
-#: diff.c:5480
+#: diff.c:5485
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "lancer les filtres externes de conversion en texte lors de la comparaison de "
 "fichiers binaires"
 
-#: diff.c:5482
+#: diff.c:5487
 msgid "<when>"
 msgstr "<quand>"
 
-#: diff.c:5483
+#: diff.c:5488
 msgid "ignore changes to submodules in the diff generation"
 msgstr ""
 "ignorer les modifications dans les sous-modules lors de la génération de diff"
 
-#: diff.c:5486
+#: diff.c:5491
 msgid "<format>"
 msgstr "<format>"
 
-#: diff.c:5487
+#: diff.c:5492
 msgid "specify how differences in submodules are shown"
 msgstr "spécifier comment les différences dans les sous-modules sont affichées"
 
-#: diff.c:5491
+#: diff.c:5496
 msgid "hide 'git add -N' entries from the index"
 msgstr "masquer les entrées 'git add -N' de l'index"
 
-#: diff.c:5494
+#: diff.c:5499
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "traiter les entrées 'git add -N' comme réelles dans l'index"
 
-#: diff.c:5496
+#: diff.c:5501
 msgid "<string>"
 msgstr "<chaîne>"
 
-#: diff.c:5497
+#: diff.c:5502
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -2997,7 +3073,7 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la "
 "chaîne spécifiée"
 
-#: diff.c:5500
+#: diff.c:5505
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3005,26 +3081,26 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la regex "
 "spécifiée"
 
-#: diff.c:5503
+#: diff.c:5508
 msgid "show all changes in the changeset with -S or -G"
 msgstr ""
 "afficher toutes les modifications dans l'ensemble de modifications avec -S "
 "ou -G"
 
-#: diff.c:5506
+#: diff.c:5511
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 "traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue"
 
-#: diff.c:5509
+#: diff.c:5514
 msgid "control the order in which files appear in the output"
 msgstr "contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie"
 
-#: diff.c:5510
+#: diff.c:5515
 msgid "<object-id>"
 msgstr "<id-objet>"
 
-#: diff.c:5511
+#: diff.c:5516
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3032,35 +3108,35 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de l'objet "
 "indiqué"
 
-#: diff.c:5513
+#: diff.c:5518
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5514
+#: diff.c:5519
 msgid "select files by diff type"
 msgstr "sélectionner les fichiers par types de diff"
 
-#: diff.c:5516
+#: diff.c:5521
 msgid "<file>"
 msgstr "<fichier>"
 
-#: diff.c:5517
+#: diff.c:5522
 msgid "Output to a specific file"
 msgstr "Sortie vers un fichier spécifié"
 
-#: diff.c:6150
+#: diff.c:6177
 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:6153
+#: diff.c:6180
 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:6156
+#: diff.c:6183
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3168,32 +3244,32 @@ msgstr "impossible d'écrire sur un distant"
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite multi_ack_detailed"
 
-#: fetch-pack.c:360 fetch-pack.c:1271
+#: fetch-pack.c:360 fetch-pack.c:1284
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "ligne de superficiel invalide : %s"
 
-#: fetch-pack.c:366 fetch-pack.c:1277
+#: fetch-pack.c:366 fetch-pack.c:1290
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "ligne de fin de superficiel invalide : %s"
 
-#: fetch-pack.c:368 fetch-pack.c:1279
+#: fetch-pack.c:368 fetch-pack.c:1292
 #, c-format
 msgid "object not found: %s"
 msgstr "objet non trouvé : %s"
 
-#: fetch-pack.c:371 fetch-pack.c:1282
+#: fetch-pack.c:371 fetch-pack.c:1295
 #, c-format
 msgid "error in object: %s"
 msgstr "Erreur dans l'objet : %s"
 
-#: fetch-pack.c:373 fetch-pack.c:1284
+#: fetch-pack.c:373 fetch-pack.c:1297
 #, c-format
 msgid "no shallow found: %s"
 msgstr "Pas de superficiel trouvé : %s"
 
-#: fetch-pack.c:376 fetch-pack.c:1288
+#: fetch-pack.c:376 fetch-pack.c:1301
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "superficiel/non superficiel attendu, %s trouvé"
@@ -3212,7 +3288,7 @@ msgstr "commit invalide %s"
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:477 progress.c:284
+#: fetch-pack.c:477 progress.c:277
 msgid "done"
 msgstr "fait"
 
@@ -3253,154 +3329,130 @@ msgstr "échec de %s"
 msgid "error in sideband demultiplexer"
 msgstr "erreur dans le démultiplexer latéral"
 
-#: fetch-pack.c:906
-msgid "Server does not support shallow clients"
-msgstr "Le serveur ne supporte les clients superficiels"
-
-#: fetch-pack.c:910
-msgid "Server supports multi_ack_detailed"
-msgstr "Le serveur supporte multi_ack_detailed"
-
-#: fetch-pack.c:913
-msgid "Server supports no-done"
-msgstr "Le serveur support no-done"
-
-#: fetch-pack.c:919
-msgid "Server supports multi_ack"
-msgstr "Le serveur supporte multi_ack"
-
-#: fetch-pack.c:923
-msgid "Server supports side-band-64k"
-msgstr "Le serveur supporte side-band-64k"
-
-#: fetch-pack.c:927
-msgid "Server supports side-band"
-msgstr "Le serveru supporte side-band"
-
-#: fetch-pack.c:931
-msgid "Server supports allow-tip-sha1-in-want"
-msgstr "Le serveur supporte allow-tip-sha1-in-want"
-
-#: fetch-pack.c:935
-msgid "Server supports allow-reachable-sha1-in-want"
-msgstr "Le serveur supporte allow-reachable-sha1-in-want"
-
-#: fetch-pack.c:945
-msgid "Server supports ofs-delta"
-msgstr "Le serveur supporte ofs-delta"
-
-#: fetch-pack.c:951 fetch-pack.c:1144
-msgid "Server supports filter"
-msgstr "Le serveur supporte filter"
-
-#: fetch-pack.c:959
+#: fetch-pack.c:908
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*s"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928
+#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944
+#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960
+#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982
+#, c-format
+msgid "Server supports %s"
+msgstr "Le serveur supporte %s"
+
+#: fetch-pack.c:915
+msgid "Server does not support shallow clients"
+msgstr "Le serveur ne supporte les clients superficiels"
+
+#: fetch-pack.c:975
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:980
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:984
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:988
+#: fetch-pack.c:1001
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:1000 fetch-pack.c:1449
+#: fetch-pack.c:1013 fetch-pack.c:1462
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1138
+#: fetch-pack.c:1151
 msgid "Server does not support shallow requests"
 msgstr "Le serveur ne supporte les requêtes superficielles"
 
-#: fetch-pack.c:1171
+#: fetch-pack.c:1157
+msgid "Server supports filter"
+msgstr "Le serveur supporte filter"
+
+#: fetch-pack.c:1184
 msgid "unable to write request to remote"
 msgstr "impossible d'écrire la requête sur le distant"
 
-#: fetch-pack.c:1189
+#: fetch-pack.c:1202
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "erreur à la lecture de l'entête de section '%s'"
 
-#: fetch-pack.c:1195
+#: fetch-pack.c:1208
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' attendu, '%s' reçu"
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1247
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "ligne d'acquittement inattendue : '%s'"
 
-#: fetch-pack.c:1239
+#: fetch-pack.c:1252
 #, c-format
 msgid "error processing acks: %d"
 msgstr "erreur lors du traitement des acquittements : %d"
 
-#: fetch-pack.c:1249
+#: fetch-pack.c:1262
 msgid "expected packfile to be sent after 'ready'"
 msgstr "fichier paquet attendu à envoyer après 'ready'"
 
-#: fetch-pack.c:1251
+#: fetch-pack.c:1264
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "aucune autre section attendue à envoyer après absence de 'ready'"
 
-#: fetch-pack.c:1293
+#: fetch-pack.c:1306
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "erreur lors du traitement de l'information de superficialité : %d"
 
-#: fetch-pack.c:1340
+#: fetch-pack.c:1353
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref attendu, '%s' trouvé"
 
-#: fetch-pack.c:1345
+#: fetch-pack.c:1358
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inattendu : '%s'"
 
-#: fetch-pack.c:1350
+#: fetch-pack.c:1363
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "erreur lors du traitement des références voulues : %d"
 
-#: fetch-pack.c:1676
+#: fetch-pack.c:1689
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: fetch-pack.c:1699 builtin/clone.c:673
+#: fetch-pack.c:1712 builtin/clone.c:686
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: fetch-pack.c:1726
+#: fetch-pack.c:1739
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:1729
+#: fetch-pack.c:1742
 #, 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:318
+#: gpg-interface.c:321
 msgid "gpg failed to sign the data"
 msgstr "gpg n'a pas pu signer les données"
 
-#: gpg-interface.c:344
+#: gpg-interface.c:347
 msgid "could not create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: gpg-interface.c:347
+#: gpg-interface.c:350
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
@@ -3410,18 +3462,18 @@ 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:2113
+#: grep.c:2117
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82
+#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:2141
+#: grep.c:2145
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
@@ -3492,7 +3544,7 @@ msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:363 git.c:97
+#: help.c:363 git.c:98
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "type de liste de commandes non supporté '%s'"
@@ -3641,7 +3693,7 @@ msgstr "nom d'identifiant vide (pour <%s>) non permis"
 msgid "name consists only of disallowed characters: %s"
 msgstr "le nom n'est constitué que de caractères interdits : %s"
 
-#: ident.c:436 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:611
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %s"
@@ -3675,6 +3727,11 @@ msgstr "attendu : 'tree:<profondeur>'"
 msgid "sparse:path filters support has been dropped"
 msgstr "sparse : le support des filtres de chemin a été abandonné"
 
+#: list-objects-filter-options.c:94
+#, c-format
+msgid "invalid filter-spec '%s'"
+msgstr "spécificateur de filtre invalide '%s'"
+
 #: list-objects-filter-options.c:158
 msgid "cannot change partial clone promisor remote"
 msgstr "impossible de modifier le prometteur distant de clone partiel"
@@ -3707,8 +3764,8 @@ msgstr "Impossible de créer '%s.lock' : %s"
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
-#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
+#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919
+#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786
 #: builtin/stash.c:264
 msgid "unable to write new index file"
 msgstr "impossible d'écrire le nouveau fichier d'index"
@@ -3731,93 +3788,93 @@ msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 msgid "error building trees"
 msgstr "erreur de construction des arbres"
 
-#: merge-recursive.c:861
+#: merge-recursive.c:863
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:872
+#: merge-recursive.c:874
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Suppression de %s pour faire de la place pour le sous-répertoire\n"
 
-#: merge-recursive.c:886 merge-recursive.c:905
+#: merge-recursive.c:888 merge-recursive.c:907
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:895
+#: merge-recursive.c:897
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:936 builtin/cat-file.c:40
+#: merge-recursive.c:938 builtin/cat-file.c:40
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:939
+#: merge-recursive.c:941
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:963
+#: merge-recursive.c:965
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:974
+#: merge-recursive.c:976
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:979
+#: merge-recursive.c:981
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:1175
+#: merge-recursive.c:1177
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Échec de la fusion du sous-module %s (non extrait)"
 
-#: merge-recursive.c:1182
+#: merge-recursive.c:1184
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Échec de fusion du sous-module %s (commits non présents)"
 
-#: merge-recursive.c:1189
+#: merge-recursive.c:1191
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 "Échec de la fusion du sous-module %s (les commits ne descendent pas de la "
 "base de fusion)"
 
-#: merge-recursive.c:1197 merge-recursive.c:1209
+#: merge-recursive.c:1199 merge-recursive.c:1211
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Avance rapide du sous-module %s au commit suivant :"
 
-#: merge-recursive.c:1200 merge-recursive.c:1212
+#: merge-recursive.c:1202 merge-recursive.c:1214
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rapide du sous-module %s"
 
-#: merge-recursive.c:1235
+#: merge-recursive.c:1237
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Échec de fusion du sous-module %s (fusion suivant les commits non trouvée)"
 
-#: merge-recursive.c:1239
+#: merge-recursive.c:1241
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Échec de fusion du sous-module %s (pas en avance rapide)"
 
-#: merge-recursive.c:1240
+#: merge-recursive.c:1242
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Résolution possible de fusion trouvée pour le sous-module :\n"
 
-#: merge-recursive.c:1243
+#: merge-recursive.c:1245
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3834,33 +3891,33 @@ msgstr ""
 "\n"
 "qui acceptera cette suggestion.\n"
 
-#: merge-recursive.c:1252
+#: merge-recursive.c:1254
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Échec de fusion du sous-module %s (plusieurs fusions trouvées)"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1327
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:1330
+#: merge-recursive.c:1332
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1362
+#: merge-recursive.c:1364
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1385
+#: merge-recursive.c:1387
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 "Erreur : refus de perdre le fichier non suivi %s ; écriture dans %s à la "
 "place."
 
-#: merge-recursive.c:1457
+#: merge-recursive.c:1459
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3869,7 +3926,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre."
 
-#: merge-recursive.c:1462
+#: merge-recursive.c:1464
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3878,7 +3935,7 @@ 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:1469
+#: merge-recursive.c:1471
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3887,7 +3944,7 @@ 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:1474
+#: merge-recursive.c:1476
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3896,41 +3953,41 @@ 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:1509
+#: merge-recursive.c:1511
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1509
+#: merge-recursive.c:1511
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
+#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Refus de perdre le fichier modifié %s"
 
-#: merge-recursive.c:1599
+#: merge-recursive.c:1601
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "Refus de perdre le fichier non suivi %s, même s'il gêne."
 
-#: merge-recursive.c:1657
+#: merge-recursive.c:1659
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1687
+#: merge-recursive.c:1690
 #, 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:1692
+#: merge-recursive.c:1695
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "Refus de perdre le fichier non suivi %s ; ajout comme %s à la place"
 
-#: merge-recursive.c:1711
+#: merge-recursive.c:1714
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3939,18 +3996,18 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1716
+#: merge-recursive.c:1719
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
 #, 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:2030
+#: merge-recursive.c:2035
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3961,7 +4018,7 @@ msgstr ""
 "parce que le répertoire %s a été renommé en plusieurs autres répertoires, "
 "sans aucune destination récupérant la majorité des fichiers."
 
-#: merge-recursive.c:2062
+#: merge-recursive.c:2067
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3970,7 +4027,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : le répertoire/fichier %s gêne "
 "des renommages implicites de répertoire déplaçant les chemins suivants : %s."
 
-#: merge-recursive.c:2072
+#: merge-recursive.c:2077
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3979,7 +4036,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : impossible de transformer "
 "plusieurs chemins sur %s ; les chemins concernés sont : %s"
 
-#: merge-recursive.c:2164
+#: merge-recursive.c:2169
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3988,7 +4045,7 @@ msgstr ""
 "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
 "Renommage de répertoire %s->%s dans %s"
 
-#: merge-recursive.c:2408
+#: merge-recursive.c:2413
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3997,52 +4054,52 @@ msgstr ""
 "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
 "renommé."
 
-#: merge-recursive.c:2929
+#: merge-recursive.c:2938
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:2932
+#: merge-recursive.c:2941
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3005
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3005
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:3008
+#: merge-recursive.c:3017
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:3012
+#: merge-recursive.c:3021
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:3035
+#: merge-recursive.c:3044
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:3057 git-submodule.sh:937
+#: merge-recursive.c:3066 git-submodule.sh:937
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:3058
+#: merge-recursive.c:3067
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3088
+#: merge-recursive.c:3097
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:3170
+#: merge-recursive.c:3179
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4051,7 +4108,7 @@ msgstr ""
 "Chemin mis à jour : %s ajouté dans %s dans un répertoire qui a été renommé "
 "en %s ; déplacé dans %s."
 
-#: merge-recursive.c:3173
+#: merge-recursive.c:3182
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4061,7 +4118,7 @@ msgstr ""
 "a été renommé dans %s, ce qui suggère qu'il devrait peut-être être déplacé "
 "vers %s."
 
-#: merge-recursive.c:3177
+#: merge-recursive.c:3186
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4070,7 +4127,7 @@ msgstr ""
 "Chemin mis à jour : %s renommé en %s dans %s, dans un répertoire qui a été "
 "renommé en %s ; déplacé dans %s."
 
-#: merge-recursive.c:3180
+#: merge-recursive.c:3189
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4080,36 +4137,36 @@ msgstr ""
 "répertoire qui a été renommé dans %s, ce qui suggère qu'il devrait peut-être "
 "être déplacé vers %s."
 
-#: merge-recursive.c:3294
+#: merge-recursive.c:3303
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:3317
+#: merge-recursive.c:3326
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:3322
+#: merge-recursive.c:3331
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:3329
+#: merge-recursive.c:3338
 #, 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:3338
+#: merge-recursive.c:3347
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:3347
+#: merge-recursive.c:3356
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "CONFLIT (ajout/ajout) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3385
+#: merge-recursive.c:3394
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4119,132 +4176,137 @@ msgstr ""
 "fusion :\n"
 "  %s"
 
-#: merge-recursive.c:3396
+#: merge-recursive.c:3405
 msgid "Already up to date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:3405
+#: merge-recursive.c:3414
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:3504
+#: merge-recursive.c:3513
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:3517
+#: merge-recursive.c:3526
 #, 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:3556
+#: merge-recursive.c:3565
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:3622
+#: merge-recursive.c:3631
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
+#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
-#: midx.c:66
+#: midx.c:69
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "le fichier d'index multi-paquet %s est trop petit"
 
-#: midx.c:82
+#: midx.c:85
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 "la signature de l'index multi-paquet 0x%08x ne correspond pas à la signature "
 "0x%08x"
 
-#: midx.c:87
+#: midx.c:90
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "la version d'index multi-paquet %d n'est pas reconnue"
 
-#: midx.c:92
+#: midx.c:95
 #, c-format
 msgid "hash version %u does not match"
 msgstr "la version %u du condensé ne correspond pas"
 
-#: midx.c:106
+#: midx.c:109
 msgid "invalid chunk offset (too large)"
 msgstr "décalage de section invalide (trop grand)"
 
-#: midx.c:130
+#: midx.c:133
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr ""
 "identifiant de terminaison de tronçon d'index multi-paquet terminant "
 "apparaît plus tôt qu'attendu"
 
-#: midx.c:143
+#: midx.c:146
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "index multi-paquet manque de tronçon de nom de paquet"
 
-#: midx.c:145
+#: midx.c:148
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "index multi-paquet manque de tronçon de d'étalement OID requis"
 
-#: midx.c:147
+#: midx.c:150
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "index multi-paquet manque de tronçon de recherche OID"
 
-#: midx.c:149
+#: midx.c:152
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "index multi-paquet manque de tronçon de décalage d'objet"
 
-#: midx.c:163
+#: midx.c:166
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr ""
 "index multi-paquet les noms de paquets sont en désordre : '%s' avant '%s'"
 
-#: midx.c:208
+#: midx.c:211
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "mauvais pack-int-id : %u (%u paquets au total)"
 
-#: midx.c:258
+#: midx.c:261
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
 "multi-pack-index stock un décalage en 64-bit, mais off_t est trop petit"
 
-#: midx.c:286
+#: midx.c:289
 msgid "error preparing packfile from multi-pack-index"
 msgstr "erreur à la préparation du fichier paquet depuis un index multi-paquet"
 
-#: midx.c:457
+#: midx.c:470
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "échec de l'ajout du fichier paquet '%s'"
 
-#: midx.c:463
+#: midx.c:476
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "échec à l'ouverture du fichier paquet '%s'"
 
-#: midx.c:557
+#: midx.c:536
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "échec de localisation de l'objet %d dans le fichier paquet"
 
-#: midx.c:993
+#: midx.c:865
+#, c-format
+msgid "did not see pack-file %s to drop"
+msgstr "fichier paquet à éliminer %s non trouvé"
+
+#: midx.c:1036
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "échec du nettoyage de l'index de multi-paquet à %s"
 
-#: midx.c:1048
+#: midx.c:1091
 msgid "Looking for referenced packfiles"
 msgstr "Recherche de fichiers paquets référencés"
 
-#: midx.c:1063
+#: midx.c:1106
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
@@ -4252,49 +4314,57 @@ msgstr ""
 "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = "
 "étalement[%d]"
 
-#: midx.c:1067
+#: midx.c:1110
 msgid "Verifying OID order in MIDX"
 msgstr "Vérification de l'ordre des OID dans MIDX"
 
-#: midx.c:1076
+#: midx.c:1119
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "recherche d'oid en désordre : oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1095
+#: midx.c:1138
 msgid "Sorting objects by packfile"
 msgstr "Classement des objets par fichier paquet"
 
-#: midx.c:1101
+#: midx.c:1144
 msgid "Verifying object offsets"
 msgstr "Vérification des décalages des objets"
 
-#: midx.c:1117
+#: midx.c:1160
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "échec de la lecture de l'élément de cache pour oid[%d] = %s"
 
-#: midx.c:1123
+#: midx.c:1166
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "impossible de lire le fichier paquet %s"
 
-#: midx.c:1132
+#: midx.c:1175
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "décalage d'objet incorrect pour oid[%d] = %s : %<PRIx64> != %<PRIx64>"
 
-#: name-hash.c:531
+#: midx.c:1350
+msgid "could not start pack-objects"
+msgstr "Impossible de démarrer le groupement d'objets"
+
+#: midx.c:1369
+msgid "could not finish pack-objects"
+msgstr "Impossible de finir le groupement d'objets"
+
+#: name-hash.c:532
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "impossible de créer le fil lazy_dir : %s"
 
-#: name-hash.c:553
+#: name-hash.c:554
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "impossible de créer le fil lazy_name : %s"
 
-#: name-hash.c:559
+#: name-hash.c:560
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "impossible de joindre le fil lazy_name : %s"
@@ -4363,16 +4433,16 @@ msgstr "impossible d'analyser l'objet : %s"
 msgid "hash mismatch %s"
 msgstr "incohérence de hachage %s"
 
-#: packfile.c:617
+#: packfile.c:648
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: packfile.c:1868
+#: packfile.c:1899
 #, 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 ?)"
 
-#: packfile.c:1872
+#: packfile.c:1903
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -4634,24 +4704,29 @@ msgstr "impossible de créer le lstat en fil : %s"
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: range-diff.c:56
+#: range-diff.c:70
 msgid "could not start `log`"
 msgstr "impossible de démarrer `log`"
 
-#: range-diff.c:59
+#: range-diff.c:72
 msgid "could not read `log` output"
 msgstr "impossible de lire la sortie de `log`"
 
-#: range-diff.c:74 sequencer.c:4897
+#: range-diff.c:91 sequencer.c:5021
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "impossible d'analyser le commit '%s'"
 
-#: range-diff.c:224
+#: range-diff.c:117
+#, c-format
+msgid "could not parse git header '%.*s'"
+msgstr "impossible d'analyser l'entête git '%.*s'"
+
+#: range-diff.c:274
 msgid "failed to generate diff"
 msgstr "échec de la génération de diff"
 
-#: range-diff.c:455 range-diff.c:457
+#: range-diff.c:506 range-diff.c:508
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "impossible d'analyser le journal pour '%s'"
@@ -4768,11 +4843,10 @@ msgid "unordered stage entries for '%s'"
 msgstr "entrées de préparation non ordonnées pour '%s'"
 
 #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
-#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
-#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
-#: builtin/submodule--helper.c:330
+#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467
+#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347
+#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
+#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
 
@@ -4826,12 +4900,12 @@ msgstr "impossible de rafraîchir l'index partagé '%s'"
 msgid "broken index, expect %s in %s, got %s"
 msgstr "index cassé, %s attendu dans %s, %s obtenu"
 
-#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117
+#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
+#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928
 #, c-format
 msgid "could not stat '%s'"
 msgstr "stat impossible de '%s'"
@@ -4912,7 +4986,7 @@ msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] "Rebasage de %s sur %s (%d commande)"
 msgstr[1] "Rebasage de %s sur %s (%d commandes)"
 
-#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -4921,7 +4995,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -4929,7 +5003,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4944,7 +5018,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -4954,12 +5028,12 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
 msgid "Note that empty commits are commented out"
 msgstr "Veuillez noter que les commits vides sont en commentaire"
 
-#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
-#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447
+#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235
 #, c-format
 msgid "could not write '%s'"
 msgstr "impossible d'écrire '%s'"
@@ -4996,97 +5070,98 @@ msgstr ""
 "Les comportements disponibles sont : ignore, warn, error.\n"
 "\n"
 
-#: refs.c:192
+#: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s ne pointe pas sur un objet valide!"
 
-#: refs.c:597
+#: refs.c:667
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "symref pendant %s ignoré"
 
-#: refs.c:599 ref-filter.c:1982
+#: refs.c:669 ref-filter.c:2092
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: refs.c:734
+#: refs.c:804
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "impossible d'ouvrir '%s' en écriture : %s"
 
-#: refs.c:744 refs.c:795
+#: refs.c:814 refs.c:865
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "impossible de lire la réf '%s'"
 
-#: refs.c:750
+#: refs.c:820
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "la référence '%s' existe déjà"
 
-#: refs.c:755
+#: refs.c:825
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "id d'objet inattendu pendant l'écriture de '%s'"
 
-#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
-#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
+#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913
+#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993
+#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715
+#: builtin/rebase.c:1003
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
 
-#: refs.c:797
+#: refs.c:867
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "id d'objet inattendu pendant la suppression de '%s'"
 
-#: refs.c:928
+#: refs.c:998
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "le journal pour la réf %s contient un trou après %s"
 
-#: refs.c:934
+#: refs.c:1004
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "le journal pour la réf %s s'arrête de manière inattendue sur %s"
 
-#: refs.c:993
+#: refs.c:1063
 #, c-format
 msgid "log for %s is empty"
 msgstr "le journal pour la réf %s est vide"
 
-#: refs.c:1085
+#: refs.c:1155
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "refus de mettre à jour une réf avec un nom cassé '%s'"
 
-#: refs.c:1161
+#: refs.c:1231
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "échec de update_ref pour la réf '%s' : %s"
 
-#: refs.c:1942
+#: refs.c:2012
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "mises à jour multiples pour la réf '%s' non permises"
 
-#: refs.c:1974
+#: refs.c:2044
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-#: refs.c:2070 refs.c:2100
+#: refs.c:2140 refs.c:2170
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existe ; impossible de créer '%s'"
 
-#: refs.c:2076 refs.c:2111
+#: refs.c:2146 refs.c:2181
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "impossible de traiter '%s' et '%s' en même temps"
@@ -5113,268 +5188,252 @@ msgid "invalid refspec '%s'"
 msgstr "spécificateur de réference invalide : '%s'"
 
 # à priori on parle d'une branche ici
-#: ref-filter.c:39 wt-status.c:1909
+#: ref-filter.c:42 wt-status.c:1934
 msgid "gone"
 msgstr "disparue"
 
-#: ref-filter.c:40
+#: ref-filter.c:43
 #, c-format
 msgid "ahead %d"
 msgstr "en avance de %d"
 
-#: ref-filter.c:41
+#: ref-filter.c:44
 #, c-format
 msgid "behind %d"
 msgstr "en retard de %d"
 
-#: ref-filter.c:42
+#: ref-filter.c:45
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "en avance de %d, en retard de %d"
 
-#: ref-filter.c:138
+#: ref-filter.c:162
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:140
+#: ref-filter.c:164
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:162
+#: ref-filter.c:186
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Valeur entière attendue refname:lstrip=%s"
 
-#: ref-filter.c:166
+#: ref-filter.c:190
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:168
+#: ref-filter.c:192
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "argument %%(%s) non reconnu : %s"
 
-#: ref-filter.c:223
+#: ref-filter.c:247
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) n'accepte pas d'argument"
 
-#: ref-filter.c:245
+#: ref-filter.c:269
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr "argument %%(objectsize) non reconnu : %s"
 
-#: ref-filter.c:253
+#: ref-filter.c:277
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr "%%(deltabase) n'accepte pas d'argument"
 
-#: ref-filter.c:265
+#: ref-filter.c:289
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:274
+#: ref-filter.c:298
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:296
+#: ref-filter.c:320
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "argument %%(trailers) inconnu : %s"
 
-#: ref-filter.c:325
+#: ref-filter.c:349
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:327
+#: ref-filter.c:351
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:342
+#: ref-filter.c:366
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "valeur positive attendue objectname:short=%s"
 
-#: ref-filter.c:346
+#: ref-filter.c:370
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:376
+#: ref-filter.c:400
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:388
+#: ref-filter.c:412
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:395
+#: ref-filter.c:419
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:404
+#: ref-filter.c:428
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:412
+#: ref-filter.c:436
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:430
+#: ref-filter.c:454
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:531
+#: ref-filter.c:556
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:558
+#: ref-filter.c:583
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:562
+#: ref-filter.c:587
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr ""
 "pas un dépôt git, mais le champ '%.*s' nécessite l'accès aux données d'objet"
 
-#: ref-filter.c:686
+#: ref-filter.c:711
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:749
+#: ref-filter.c:774
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:751
+#: ref-filter.c:776
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:753
+#: ref-filter.c:778
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:781
+#: ref-filter.c:806
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:783
+#: ref-filter.c:808
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:785
+#: ref-filter.c:810
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:800
+#: ref-filter.c:825
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:857
+#: ref-filter.c:882
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1453
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr "(aucune branche, rebasage de %s)"
-
-#: ref-filter.c:1456
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr "(aucune branche, rebasage de la HEAD détachée %s)"
-
-#: ref-filter.c:1459
+#: ref-filter.c:1485
 #, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr "(aucune branche, bisect a démarré sur %s)"
+msgid "no branch, rebasing %s"
+msgstr "aucune branche, rebasage de %s"
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached at " in wt-status.c
-#.
-#: ref-filter.c:1467
+#: ref-filter.c:1488
 #, c-format
-msgid "(HEAD detached at %s)"
-msgstr "(HEAD détachée sur %s)"
+msgid "no branch, rebasing detached HEAD %s"
+msgstr "aucune branche, rebasage de la HEAD détachée %s"
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached from " in wt-status.c
-#.
-#: ref-filter.c:1474
+#: ref-filter.c:1491
 #, c-format
-msgid "(HEAD detached from %s)"
-msgstr "(HEAD détachée depuis %s)"
+msgid "no branch, bisect started on %s"
+msgstr "aucune branche, bisect a démarré sur %s"
 
-#: ref-filter.c:1478
-msgid "(no branch)"
-msgstr "(aucune branche)"
+#: ref-filter.c:1501
+msgid "no branch"
+msgstr "aucune branche"
 
-#: ref-filter.c:1512 ref-filter.c:1669
+#: ref-filter.c:1537 ref-filter.c:1743
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1522
+#: ref-filter.c:1547
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "échec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1888
+#: ref-filter.c:1998
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:1977
+#: ref-filter.c:2087
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:2263
+#: ref-filter.c:2382
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2363
+#: ref-filter.c:2482
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "l'option « %s » est incompatible avec --merged"
 
-#: ref-filter.c:2366
+#: ref-filter.c:2485
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "l'option « %s » est incompatible avec --no-merged"
 
-#: ref-filter.c:2376
+#: ref-filter.c:2495
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: ref-filter.c:2381
+#: ref-filter.c:2500
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "l'option '%s' doit pointer sur un commit"
@@ -5728,8 +5787,8 @@ msgstr "impossible de délier '%s' qui est errant"
 msgid "Recorded preimage for '%s'"
 msgstr "Pré-image enregistrée pour '%s'"
 
-#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
-#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2023 builtin/log.c:1773
+#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "impossible de créer le répertoire '%s'"
@@ -5763,20 +5822,20 @@ msgstr "Résolution  pour '%s' oubliée\n"
 msgid "unable to open rr-cache directory"
 msgstr "impossible d'ouvrir le répertoire rr-cache"
 
-#: revision.c:2476
+#: revision.c:2507
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2479
+#: revision.c:2510
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "votre branche actuelle '%s' ne contient encore aucun commit"
 
-#: revision.c:2679
+#: revision.c:2710
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: revision.c:2683
+#: revision.c:2714
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L ne supporte pas encore les formats de diff autres que -p et -s"
 
@@ -5849,24 +5908,29 @@ msgstr "mode de nettoyage invalide de message de validation '%s'"
 msgid "could not delete '%s'"
 msgstr "Impossible de supprimer '%s'"
 
-#: sequencer.c:318
+#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369
+#, c-format
+msgid "could not remove '%s'"
+msgstr "impossible de supprimer '%s'"
+
+#: sequencer.c:321
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:320
+#: sequencer.c:323
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:322
+#: sequencer.c:325
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:324
+#: sequencer.c:327
 #, c-format
 msgid "unknown action: %d"
 msgstr "action inconnue : %d"
 
-#: sequencer.c:382
+#: sequencer.c:385
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -5874,7 +5938,7 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:385
+#: sequencer.c:388
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -5884,44 +5948,44 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:398 sequencer.c:2801
+#: sequencer.c:401 sequencer.c:2909
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:405
+#: sequencer.c:408
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
-#: sequencer.c:3084
+#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929
+#: sequencer.c:3192
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "échec lors de la finalisation de '%s'"
 
-#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
-#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
-#: builtin/merge.c:1115 builtin/rebase.c:567
+#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734
+#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763
+#: builtin/merge.c:1112 builtin/rebase.c:567
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: sequencer.c:459
+#: sequencer.c:462
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:463
+#: sequencer.c:466
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:495
+#: sequencer.c:498
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
-#: sequencer.c:534 builtin/tag.c:555
+#: sequencer.c:537 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
@@ -5929,70 +5993,70 @@ msgstr "Mode de nettoyage invalide %s"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:629
+#: sequencer.c:632
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:646
+#: sequencer.c:649
 msgid "unable to update cache tree"
 msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:660
+#: sequencer.c:663
 msgid "could not resolve HEAD commit"
 msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:740
+#: sequencer.c:743
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "aucune clé présente dans '%.*s'"
 
-#: sequencer.c:751
+#: sequencer.c:754
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "Impossible de décoter la valeur de '%s'"
 
-#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
-#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
+#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706
+#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
 
-#: sequencer.c:798
+#: sequencer.c:801
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' déjà fourni"
 
-#: sequencer.c:803
+#: sequencer.c:806
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' déjà fourni"
 
-#: sequencer.c:808
+#: sequencer.c:811
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' déjà fourni"
 
-#: sequencer.c:812
+#: sequencer.c:815
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "variable inconnue '%s'"
 
-#: sequencer.c:817
+#: sequencer.c:820
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "'GIT_AUTHOR_NAME' manquant"
 
-#: sequencer.c:819
+#: sequencer.c:822
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "'GIT_AUTHOR_EMAIL' manquant"
 
-#: sequencer.c:821
+#: sequencer.c:824
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "'GIT_AUTHOR_DATE' manquant"
 
-#: sequencer.c:881
+#: sequencer.c:884
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "format de date invalide '%s' dans '%s'"
 
-#: sequencer.c:898
+#: sequencer.c:901
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -6021,15 +6085,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:992
+#: sequencer.c:995
 msgid "writing root commit"
 msgstr "écriture du commit racine"
 
-#: sequencer.c:1213
+#: sequencer.c:1216
 msgid "'prepare-commit-msg' hook failed"
 msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:1220
+#: sequencer.c:1223
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6058,7 +6122,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1233
+#: sequencer.c:1236
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6084,306 +6148,349 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1275
+#: sequencer.c:1278
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: sequencer.c:1277
+#: sequencer.c:1280
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: sequencer.c:1323
+#: sequencer.c:1326
 msgid "unable to resolve HEAD after creating commit"
 msgstr "impossible de résoudre HEAD après création du commit"
 
-#: sequencer.c:1325
+#: sequencer.c:1328
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: sequencer.c:1329
+#: sequencer.c:1332
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: sequencer.c:1350
+#: sequencer.c:1353
 msgid "could not parse HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1352
+#: sequencer.c:1355
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s n'est pas un commit !"
 
-#: sequencer.c:1356 builtin/commit.c:1551
+#: sequencer.c:1359 builtin/commit.c:1571
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: sequencer.c:1408 sequencer.c:2001
+#: sequencer.c:1411 sequencer.c:2004
 msgid "unable to parse commit author"
 msgstr "impossible d'analyser l'auteur du commit"
 
-#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688
+#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
-#: sequencer.c:1435 sequencer.c:1496
+#: sequencer.c:1438 sequencer.c:1499
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882
-#: builtin/merge.c:906
+#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878
+#: builtin/merge.c:903
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
-#: sequencer.c:1523
+#: sequencer.c:1526
 #, c-format
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: sequencer.c:1528
+#: sequencer.c:1531
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1602 sequencer.c:1712
+#: sequencer.c:1605 sequencer.c:1715
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:1659 sequencer.c:1684
+#: sequencer.c:1662 sequencer.c:1687
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:1669
+#: sequencer.c:1672
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:1671 sequencer.c:3111
+#: sequencer.c:1674 sequencer.c:3219
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:1673
+#: sequencer.c:1676
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:1679
+#: sequencer.c:1682
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1689 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:1694
+#: sequencer.c:1697
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:1701
+#: sequencer.c:1704
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:1707
+#: sequencer.c:1710
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:1795
+#: sequencer.c:1798
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:1802
+#: sequencer.c:1805
 msgid "cannot fixup root commit"
 msgstr "impossible de réparer le commit racine"
 
-#: sequencer.c:1821
+#: sequencer.c:1824
 #, 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:1829 sequencer.c:1837
+#: sequencer.c:1832 sequencer.c:1840
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:1843
+#: sequencer.c:1846
 #, 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:1862
+#: sequencer.c:1865
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1927
+#: sequencer.c:1930
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1982
+#: sequencer.c:1985
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1983
+#: sequencer.c:1986
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:2042
+#: sequencer.c:2045
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:2049
+#: sequencer.c:2052
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:2118
+#: sequencer.c:2128
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s n'accepte pas d'argument : '%s'"
 
-#: sequencer.c:2127
+#: sequencer.c:2137
 #, c-format
 msgid "missing arguments for %s"
 msgstr "argument manquant pour %s"
 
-#: sequencer.c:2164
+#: sequencer.c:2174
 #, c-format
 msgid "could not parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:2226
+#: sequencer.c:2228
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:2237
+#: sequencer.c:2239
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178
+#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178
 #: builtin/rebase.c:204 builtin/rebase.c:229
 #, c-format
 msgid "could not read '%s'."
 msgstr "impossible de lire '%s'."
 
-#: sequencer.c:2360
+#: sequencer.c:2323
+msgid "cancelling a cherry picking in progress"
+msgstr "annulation d'un picorage en cours"
+
+#: sequencer.c:2330
+msgid "cancelling a revert in progress"
+msgstr "annulation d'un retour en cours"
+
+#: sequencer.c:2364
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:2362
+#: sequencer.c:2366
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:2367
+#: sequencer.c:2371
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:2378
+#: sequencer.c:2382
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:2380
+#: sequencer.c:2384
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:2462
+#: sequencer.c:2466
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:2549
+#: sequencer.c:2553
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
-#: sequencer.c:2565
+#: sequencer.c:2569
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:2648 sequencer.c:4227
+#: sequencer.c:2652 sequencer.c:4351
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:2656
-msgid "a cherry-pick or revert is already in progress"
-msgstr "un picorage ou un retour est déjà en cours"
+#: sequencer.c:2668
+msgid "revert is already in progress"
+msgstr "un retour est déjà en cours"
+
+#: sequencer.c:2670
+#, c-format
+msgid "try \"git revert (--continue | %s--abort | --quit)\""
+msgstr "essayez \"git revert (--continue | %s--abort | --quit)\""
+
+#: sequencer.c:2673
+msgid "cherry-pick is already in progress"
+msgstr "un picorage est déjà en cours"
 
-#: sequencer.c:2657
-msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr "essayez \"git cherry-pick (--continue | --quit | --abort)\""
+#: sequencer.c:2675
+#, c-format
+msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
+msgstr "essayez \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2660
+#: sequencer.c:2689
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:2674
+#: sequencer.c:2704
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:2729 sequencer.c:3979
+#: sequencer.c:2764 sequencer.c:4103
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:2731
+#: sequencer.c:2766 sequencer.c:2777
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:2733 sequencer.c:2768
+#: sequencer.c:2768 sequencer.c:2812
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:2754 builtin/grep.c:732
+#: sequencer.c:2798 builtin/grep.c:734
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:2756
+#: sequencer.c:2800
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:2757
+#: sequencer.c:2801
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:2763
+#: sequencer.c:2807
 #, 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:2774
+#: sequencer.c:2818
 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:2903 sequencer.c:3894
+#: sequencer.c:2859
+msgid "no revert in progress"
+msgstr "Pas de retour en cours ?"
+
+#: sequencer.c:2867
+msgid "no cherry-pick in progress"
+msgstr "aucun picorage en cours"
+
+#: sequencer.c:2877
+msgid "failed to skip the commit"
+msgstr "échec du saut de commit"
+
+#: sequencer.c:2884
+msgid "there is nothing to skip"
+msgstr "il n'y a rien à sauter"
+
+#: sequencer.c:2887
+#, c-format
+msgid ""
+"have you committed already?\n"
+"try \"git %s --continue\""
+msgstr ""
+"Avez-vous déjà validé ?\n"
+"essayez \"git %s -continue\""
+
+#: sequencer.c:3011 sequencer.c:4015
 #, c-format
 msgid "could not update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: sequencer.c:2941 sequencer.c:3874
+#: sequencer.c:3049 sequencer.c:3995
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:2958
+#: sequencer.c:3066
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:2966
+#: sequencer.c:3074
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6402,27 +6509,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2976
+#: sequencer.c:3084
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "impossible d'appliquer %s... %.*s"
 
-#: sequencer.c:2983
+#: sequencer.c:3091
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Impossible de fusionner %.*s"
 
-#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
+#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580
-#: builtin/rebase.c:1940 builtin/rebase.c:1995
+#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582
+#: builtin/rebase.c:1953 builtin/rebase.c:2008
 msgid "could not read index"
 msgstr "impossible de lire l'index"
 
-#: sequencer.c:3028
+#: sequencer.c:3136
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6437,11 +6544,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3034
+#: sequencer.c:3142
 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:3040
+#: sequencer.c:3148
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6458,77 +6565,77 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3101
+#: sequencer.c:3209
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nom de label illégal '%.*s'"
 
-#: sequencer.c:3155
+#: sequencer.c:3263
 msgid "writing fake root commit"
 msgstr "écriture d'un commit racine bidon"
 
-#: sequencer.c:3160
+#: sequencer.c:3268
 msgid "writing squash-onto"
 msgstr "écriture de 'écraser-sur'"
 
-#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
+#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "impossible de trouver l'arbre de %s"
 
-#: sequencer.c:3216 builtin/rebase.c:863
+#: sequencer.c:3324 builtin/rebase.c:873
 msgid "could not write index"
 msgstr "impossible d'écrire l'index"
 
-#: sequencer.c:3243
+#: sequencer.c:3351
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: sequencer.c:3271
+#: sequencer.c:3379
 msgid "cannot merge without a current revision"
 msgstr "impossible de fusionner avec une révision courante"
 
-#: sequencer.c:3293
+#: sequencer.c:3401
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:3302
+#: sequencer.c:3410
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "rien à fusionner : '%.*s'"
 
-#: sequencer.c:3314
+#: sequencer.c:3422
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 "une fusion octopus ne peut pas être exécutée par dessus une nouvelle racine"
 
-#: sequencer.c:3329
+#: sequencer.c:3437
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:3478
+#: sequencer.c:3590
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "impossible de seulement essayer de fusionner '%.*s'"
 
-#: sequencer.c:3494
+#: sequencer.c:3606
 msgid "merge: Unable to write new index file"
 msgstr "fusion : Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:3562 builtin/rebase.c:711
+#: sequencer.c:3675 builtin/rebase.c:711
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:3574
+#: sequencer.c:3687
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:3577 builtin/rebase.c:727
+#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -6539,31 +6646,31 @@ 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:3638
+#: sequencer.c:3751
 #, c-format
 msgid "could not checkout %s"
 msgstr "extraction de %s impossible"
 
-#: sequencer.c:3652
+#: sequencer.c:3765
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s n'est pas un OID valide"
 
-#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3770 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: sequencer.c:3672
+#: sequencer.c:3785
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "arrêt à HEAD\n"
 
-#: sequencer.c:3674
+#: sequencer.c:3787
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Arrêté à %s\n"
 
-#: sequencer.c:3682
+#: sequencer.c:3795
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6584,48 +6691,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3759
+#: sequencer.c:3877
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:3837
+#: sequencer.c:3958
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:3882
+#: sequencer.c:4003
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:3887
+#: sequencer.c:4008
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:3901
+#: sequencer.c:4022
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:3991
+#: sequencer.c:4115
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:4000
+#: sequencer.c:4124
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:4002
+#: sequencer.c:4126
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:4004
+#: sequencer.c:4128
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:4007
+#: sequencer.c:4131
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6635,42 +6742,42 @@ 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:4043 sequencer.c:4081
+#: sequencer.c:4167 sequencer.c:4205
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "impossible d'écrire le fichier : '%s'"
 
-#: sequencer.c:4096
+#: sequencer.c:4220
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:4103
+#: sequencer.c:4227
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:4204
+#: sequencer.c:4328
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:4208
+#: sequencer.c:4332
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:4243
+#: sequencer.c:4367
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: sequencer.c:4686
+#: sequencer.c:4810
 msgid "make_script: unhandled options"
 msgstr "make_script : options non gérées"
 
-#: sequencer.c:4689
+#: sequencer.c:4813
 msgid "make_script: error preparing revisions"
 msgstr "make_script : erreur lors de la préparation des révisions"
 
-#: sequencer.c:4847
+#: sequencer.c:4971
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -6680,15 +6787,15 @@ msgstr ""
 "rebase --continue'.\n"
 "Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
 
-#: sequencer.c:4959 sequencer.c:4976
+#: sequencer.c:5083 sequencer.c:5100
 msgid "nothing to do"
 msgstr "rien à faire"
 
-#: sequencer.c:4990
+#: sequencer.c:5114
 msgid "could not skip unnecessary pick commands"
 msgstr "impossible d'éviter les commandes de picorage non nécessaires"
 
-#: sequencer.c:5073
+#: sequencer.c:5197
 msgid "the script was already rearranged."
 msgstr "le script a déjà été réarrangé."
 
@@ -6916,195 +7023,200 @@ msgstr "le dépôt de référence '%s' est superficiel"
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1-file.c:846
+#: sha1-file.c:792
+#, c-format
+msgid "invalid line while parsing alternate refs: %s"
+msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
+
+#: sha1-file.c:944
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "essai de mmap %<PRIuMAX> au delà de la limite %<PRIuMAX>"
 
-#: sha1-file.c:871
+#: sha1-file.c:969
 msgid "mmap failed"
 msgstr "échec de mmap"
 
-#: sha1-file.c:1035
+#: sha1-file.c:1133
 #, c-format
 msgid "object file %s is empty"
 msgstr "le fichier objet %s est vide"
 
-#: sha1-file.c:1159 sha1-file.c:2297
+#: sha1-file.c:1257 sha1-file.c:2396
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objet libre corrompu '%s'"
 
-#: sha1-file.c:1161 sha1-file.c:2301
+#: sha1-file.c:1259 sha1-file.c:2400
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "données incorrectes à la fin de l'objet libre '%s'"
 
-#: sha1-file.c:1203
+#: sha1-file.c:1301
 msgid "invalid object type"
 msgstr "type d'objet invalide"
 
-#: sha1-file.c:1287
+#: sha1-file.c:1385
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "impossible de dépaqueter l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1290
+#: sha1-file.c:1388
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "impossible de dépaqueter l'entête %s"
 
-#: sha1-file.c:1296
+#: sha1-file.c:1394
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "impossible d'analyser l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1299
+#: sha1-file.c:1397
 #, c-format
 msgid "unable to parse %s header"
 msgstr "impossible d'analyser l'entête %s"
 
-#: sha1-file.c:1490
+#: sha1-file.c:1588
 #, c-format
 msgid "failed to read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: sha1-file.c:1494
+#: sha1-file.c:1592
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "remplacement %s non trouvé pour %s"
 
-#: sha1-file.c:1498
+#: sha1-file.c:1596
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "l'objet libre %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1502
+#: sha1-file.c:1600
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "l'objet empaqueté %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1604
+#: sha1-file.c:1703
 #, c-format
 msgid "unable to write file %s"
 msgstr "impossible d'écrire le fichier %s"
 
-#: sha1-file.c:1611
+#: sha1-file.c:1710
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "impossible de régler les droits de '%s'"
 
-#: sha1-file.c:1618
+#: sha1-file.c:1717
 msgid "file write error"
 msgstr "erreur d'écriture d'un fichier"
 
-#: sha1-file.c:1637
+#: sha1-file.c:1736
 msgid "error when closing loose object file"
 msgstr "erreur en fermeture du fichier d'objet esseulé"
 
-#: sha1-file.c:1702
+#: sha1-file.c:1801
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "droits insuffisants pour ajouter un objet à la base de données %s du dépôt"
 
-#: sha1-file.c:1704
+#: sha1-file.c:1803
 msgid "unable to create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: sha1-file.c:1728
+#: sha1-file.c:1827
 msgid "unable to write loose object file"
 msgstr "impossible d'écrire le fichier d'objet esseulé"
 
-#: sha1-file.c:1734
+#: sha1-file.c:1833
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "impossible de compresser le nouvel objet %s (%d)"
 
-#: sha1-file.c:1738
+#: sha1-file.c:1837
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "échec de deflateEnd sur l'objet %s (%d)"
 
-#: sha1-file.c:1742
+#: sha1-file.c:1841
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "données de source d'objet instable pour %s"
 
-#: sha1-file.c:1752 builtin/pack-objects.c:920
+#: sha1-file.c:1851 builtin/pack-objects.c:925
 #, c-format
 msgid "failed utime() on %s"
 msgstr "échec de utime() sur %s"
 
-#: sha1-file.c:1827
+#: sha1-file.c:1926
 #, c-format
 msgid "cannot read object for %s"
 msgstr "impossible de lire l'objet pour %s"
 
-#: sha1-file.c:1867
+#: sha1-file.c:1966
 msgid "corrupt commit"
 msgstr "commit corrompu"
 
-#: sha1-file.c:1875
+#: sha1-file.c:1974
 msgid "corrupt tag"
 msgstr "étiquette corrompue"
 
-#: sha1-file.c:1974
+#: sha1-file.c:2073
 #, c-format
 msgid "read error while indexing %s"
 msgstr "erreur de lecture à l'indexation de %s"
 
-#: sha1-file.c:1977
+#: sha1-file.c:2076
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lecture tronquée pendant l'indexation de %s"
 
-#: sha1-file.c:2050 sha1-file.c:2059
+#: sha1-file.c:2149 sha1-file.c:2158
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s : échec de l'insertion dans la base de données"
 
-#: sha1-file.c:2065
+#: sha1-file.c:2164
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s : type de fichier non supporté"
 
-#: sha1-file.c:2089
+#: sha1-file.c:2188
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s n'est pas un objet valide"
 
-#: sha1-file.c:2091
+#: sha1-file.c:2190
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: sha1-file.c:2118 builtin/index-pack.c:154
+#: sha1-file.c:2217 builtin/index-pack.c:155
 #, c-format
 msgid "unable to open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: sha1-file.c:2308 sha1-file.c:2360
+#: sha1-file.c:2407 sha1-file.c:2459
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "incohérence de hachage pour %s (%s attendu)"
 
-#: sha1-file.c:2332
+#: sha1-file.c:2431
 #, c-format
 msgid "unable to mmap %s"
 msgstr "impossible de mmap %s"
 
-#: sha1-file.c:2337
+#: sha1-file.c:2436
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "impossible de dépaqueter l'entête de %s"
 
-#: sha1-file.c:2343
+#: sha1-file.c:2442
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "impossible d'analyser l'entête de %s"
 
-#: sha1-file.c:2354
+#: sha1-file.c:2453
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "impossible de dépaqueter le contenu de %s"
@@ -7124,18 +7236,17 @@ msgid ""
 "because it will be ignored when you just specify 40-hex. These refs\n"
 "may be created by mistake. For example,\n"
 "\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
+"  git switch -c $br $(git rev-parse ...)\n"
 "\n"
 "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
 "examine these refs and maybe delete them. Turn this message off by\n"
 "running \"git config advice.objectNameWarning false\""
 msgstr ""
-"Git ne crée normalement jamais de référence qui se termine par 40 caractères "
-"hexa\n"
-"car elle serait ignorée si vous spécifiiez 40-hexa. Ces références\n"
-"peuvent être créées par erreur. Par exemple,\n"
+"Git ne crée normalement jamais de référence qui se termine par 40\n"
+"caractères hexa car elle serait ignorée si vous spécifiez juste\n"
+"40-hexa. Ces références peuvent être créées par erreur. Par exemple,\n"
 "\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
+"  git switch -c $br $(git rev-parse ...)\n"
 "\n"
 "où \"$br\" est d'une manière ou d'une autre vide et une référence 40-hexa "
 "est créée.\n"
@@ -7143,6 +7254,58 @@ msgstr ""
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte
+#: strbuf.c:821
+#, c-format
+msgid "%u.%2.2u GiB"
+msgstr "%u.%2.2u Gio"
+
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
+#: strbuf.c:823
+#, c-format
+msgid "%u.%2.2u GiB/s"
+msgstr "%u.%2.2u Gio/s"
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte
+#: strbuf.c:831
+#, c-format
+msgid "%u.%2.2u MiB"
+msgstr "%u.%2.2u Mio"
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
+#: strbuf.c:833
+#, c-format
+msgid "%u.%2.2u MiB/s"
+msgstr "%u.%2.2u Mio/s"
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte
+#: strbuf.c:840
+#, c-format
+msgid "%u.%2.2u KiB"
+msgstr "%u.%2.2u Kio"
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
+#: strbuf.c:842
+#, c-format
+msgid "%u.%2.2u KiB/s"
+msgstr "%u.%2.2u Kio/s"
+
+#. TRANSLATORS: IEC 80000-13:2008 byte
+#: strbuf.c:848
+#, c-format
+msgid "%u byte"
+msgid_plural "%u bytes"
+msgstr[0] "%u octet"
+msgstr[1] "%u octets"
+
+#. TRANSLATORS: IEC 80000-13:2008 byte/second
+#: strbuf.c:850
+#, c-format
+msgid "%u byte/s"
+msgid_plural "%u bytes/s"
+msgstr[0] "%u octet/s"
+msgstr[1] "%u octets/s"
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -7179,7 +7342,7 @@ msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "l'entrée de sous-module '%s' (%s) est un %s, pas un commit"
 
-#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
@@ -7218,7 +7381,7 @@ msgstr "le sous-module '%s' a un index sale"
 msgid "Submodule '%s' could not be updated."
 msgstr "le sous-module '%s' n'a pas pu être mis à jour."
 
-#: submodule.c:2008
+#: submodule.c:2007
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -7226,12 +7389,12 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:2020 submodule.c:2076
+#: submodule.c:2019 submodule.c:2074
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:2027
+#: submodule.c:2026
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7242,16 +7405,16 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:2111
+#: submodule.c:2109
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: submodule.c:2155
+#: submodule.c:2153
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:2194
+#: submodule.c:2192
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
@@ -7425,15 +7588,10 @@ msgstr "Abandon."
 msgid "failed to push all needed submodules"
 msgstr "échec de la poussée de tous les sous-modules nécessaires"
 
-#: transport.c:1326 transport-helper.c:645
+#: transport.c:1340 transport-helper.c:645
 msgid "operation not supported by protocol"
 msgstr "option non supportée par le protocole"
 
-#: transport.c:1430
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
-
 #: transport-helper.c:51 transport-helper.c:80
 msgid "full write to remote helper failed"
 msgstr "échec de l'écriture totale sur l'assistant distant"
@@ -7479,7 +7637,7 @@ msgstr "impossible de lancer fast-import"
 msgid "error while running fast-import"
 msgstr "erreur au lancement de fast-import"
 
-#: transport-helper.c:533 transport-helper.c:1099
+#: transport-helper.c:533 transport-helper.c:1105
 #, c-format
 msgid "could not read ref %s"
 msgstr "impossible de lire la réf %s"
@@ -7534,26 +7692,26 @@ msgstr "l'assistant %s ne gère pas --signed=if-asked"
 msgid "helper %s does not support 'push-option'"
 msgstr "l'assistant %s ne gère pas 'push-option'"
 
-#: transport-helper.c:939
+#: transport-helper.c:945
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 "l'assistant %s ne gère pas push ; un spécificateur de référence est "
 "nécessaire"
 
-#: transport-helper.c:944
+#: transport-helper.c:950
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "l'assistant %s ne gère pas 'force'"
 
-#: transport-helper.c:991
+#: transport-helper.c:997
 msgid "couldn't run fast-export"
 msgstr "impossible de lancer fast-export"
 
-#: transport-helper.c:996
+#: transport-helper.c:1002
 msgid "error while running fast-export"
 msgstr "erreur au lancement de fast-export"
 
-#: transport-helper.c:1021
+#: transport-helper.c:1027
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -7562,47 +7720,47 @@ msgstr ""
 "Aucune référence en commun et aucune spécfiée ; rien à faire.\n"
 "Vous devriez peut-être spécifier une branche telle que 'master'.\n"
 
-#: transport-helper.c:1085
+#: transport-helper.c:1091
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "réponse malformée dans le liste de réfs : %s"
 
-#: transport-helper.c:1238
+#: transport-helper.c:1244
 #, c-format
 msgid "read(%s) failed"
 msgstr "échec de read(%s)"
 
-#: transport-helper.c:1265
+#: transport-helper.c:1271
 #, c-format
 msgid "write(%s) failed"
 msgstr "échec de write(%s)"
 
-#: transport-helper.c:1314
+#: transport-helper.c:1320
 #, c-format
 msgid "%s thread failed"
 msgstr "échec du fil d'exécution %s"
 
-#: transport-helper.c:1318
+#: transport-helper.c:1324
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "échec de jonction du fil d'exécution %s : %s"
 
-#: transport-helper.c:1337 transport-helper.c:1341
+#: transport-helper.c:1343 transport-helper.c:1347
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données : %s"
 
-#: transport-helper.c:1378
+#: transport-helper.c:1384
 #, c-format
 msgid "%s process failed to wait"
 msgstr "échec du processus %s pour l'attente"
 
-#: transport-helper.c:1382
+#: transport-helper.c:1388
 #, c-format
 msgid "%s process failed"
 msgstr "échec du processus %s"
 
-#: transport-helper.c:1400 transport-helper.c:1409
+#: transport-helper.c:1406 transport-helper.c:1415
 msgid "can't start thread for copying data"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données"
 
@@ -7618,7 +7776,7 @@ msgstr "mode invalide dans l'entrée d'arbre"
 msgid "empty filename in tree entry"
 msgstr "nom de fichier vide dans une entrée de l'arbre"
 
-#: tree-walk.c:116
+#: tree-walk.c:118
 msgid "too-short tree file"
 msgstr "fichier arbre trop court"
 
@@ -7859,8 +8017,8 @@ msgid "Aborting\n"
 msgstr "Abandon\n"
 
 #: unpack-trees.c:318
-msgid "Checking out files"
-msgstr "Extraction des fichiers"
+msgid "Updating files"
+msgstr "Mise à jour des fichiers"
 
 #: unpack-trees.c:350
 msgid ""
@@ -7901,35 +8059,35 @@ msgstr "numéro de port invalide"
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:255 builtin/am.c:2097
+#: worktree.c:258 builtin/am.c:2095
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
 
-#: worktree.c:301
+#: worktree.c:304
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 "'%s' dans l'arbre de travail principal n'est pas le répertoire de dépôt"
 
-#: worktree.c:312
+#: worktree.c:315
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "le fichier '%s' ne contient pas de chemin absolu à l'emplacement de l'arbre "
 "de travail"
 
-#: worktree.c:324
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' n'existe pas"
 
-#: worktree.c:330
+#: worktree.c:333
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' n'est pas un fichier .git, code d'erreur %d"
 
-#: worktree.c:338
+#: worktree.c:341
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' ne pointe pas en retour sur '%s'"
@@ -7948,158 +8106,164 @@ msgstr "impossible d'accéder à '%s'"
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
-#: wt-status.c:156
+#: wt-status.c:158
 msgid "Unmerged paths:"
 msgstr "Chemins non fusionnés :"
 
-#: wt-status.c:183 wt-status.c:210
+#: wt-status.c:187 wt-status.c:219
+msgid "  (use \"git restore --staged <file>...\" to unstage)"
+msgstr "  (utilisez \"git restore --staged <fichier>...\" pour désindexer)"
+
+#: wt-status.c:190 wt-status.c:222
 #, c-format
-msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (utilisez \"git reset %s <fichier>...\" pour désindexer)"
+msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
+msgstr ""
+"  (utilisez \"git restore --source=%s --staged <fichier>...\" pour "
+"désindexer)"
 
-#: wt-status.c:185 wt-status.c:212
+#: wt-status.c:193 wt-status.c:225
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (utilisez \"git rm --cached <fichier>...\" pour désindexer)"
 
-#: wt-status.c:189
+#: wt-status.c:197
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git add <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:191 wt-status.c:195
+#: wt-status.c:199 wt-status.c:203
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 "  (utilisez \"git add/rm <fichier>...\" si nécessaire pour marquer comme "
 "résolu)"
 
-#: wt-status.c:193
+#: wt-status.c:201
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git rm <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:204 wt-status.c:1064
+#: wt-status.c:211 wt-status.c:1074
 msgid "Changes to be committed:"
 msgstr "Modifications qui seront validées :"
 
-#: wt-status.c:222 wt-status.c:1073
+#: wt-status.c:234 wt-status.c:1083
 msgid "Changes not staged for commit:"
 msgstr "Modifications qui ne seront pas validées :"
 
-#: wt-status.c:226
+#: wt-status.c:238
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 "  (utilisez \"git add <fichier>...\" pour mettre à jour ce qui sera validé)"
 
-#: wt-status.c:228
+#: wt-status.c:240
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 "  (utilisez \"git add/rm <fichier>...\" pour mettre à jour ce qui sera "
 "validé)"
 
-#: wt-status.c:229
+#: wt-status.c:241
 msgid ""
-"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+"  (use \"git restore <file>...\" to discard changes in working directory)"
 msgstr ""
-"  (utilisez \"git checkout -- <fichier>...\" pour annuler les modifications "
-"dans la copie de travail)"
+"  (utilisez \"git restore <fichier>...\" pour annuler les modifications dans "
+"le répertoire de travail)"
 
-#: wt-status.c:231
+#: wt-status.c:243
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 "  (valider ou annuler le contenu non suivi ou modifié dans les sous-modules)"
 
-#: wt-status.c:243
+#: wt-status.c:254
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (utilisez \"git %s <fichier>...\" pour inclure dans ce qui sera validé)"
 
-#: wt-status.c:258
+#: wt-status.c:268
 msgid "both deleted:"
 msgstr "supprimé des deux côtés :"
 
-#: wt-status.c:260
+#: wt-status.c:270
 msgid "added by us:"
 msgstr "ajouté par nous :"
 
-#: wt-status.c:262
+#: wt-status.c:272
 msgid "deleted by them:"
 msgstr "supprimé par eux :"
 
-#: wt-status.c:264
+#: wt-status.c:274
 msgid "added by them:"
 msgstr "ajouté par eux :"
 
-#: wt-status.c:266
+#: wt-status.c:276
 msgid "deleted by us:"
 msgstr "supprimé par nous :"
 
-#: wt-status.c:268
+#: wt-status.c:278
 msgid "both added:"
 msgstr "ajouté de deux côtés :"
 
-#: wt-status.c:270
+#: wt-status.c:280
 msgid "both modified:"
 msgstr "modifié des deux côtés :"
 
-#: wt-status.c:280
+#: wt-status.c:290
 msgid "new file:"
 msgstr "nouveau fichier :"
 
-#: wt-status.c:282
+#: wt-status.c:292
 msgid "copied:"
 msgstr "copié :"
 
-#: wt-status.c:284
+#: wt-status.c:294
 msgid "deleted:"
 msgstr "supprimé :"
 
-#: wt-status.c:286
+#: wt-status.c:296
 msgid "modified:"
 msgstr "modifié :"
 
-#: wt-status.c:288
+#: wt-status.c:298
 msgid "renamed:"
 msgstr "renommé :"
 
-#: wt-status.c:290
+#: wt-status.c:300
 msgid "typechange:"
 msgstr "modif. type :"
 
-#: wt-status.c:292
+#: wt-status.c:302
 msgid "unknown:"
 msgstr "inconnu :"
 
-#: wt-status.c:294
+#: wt-status.c:304
 msgid "unmerged:"
 msgstr "non fusionné :"
 
-#: wt-status.c:374
+#: wt-status.c:384
 msgid "new commits, "
 msgstr "nouveaux commits, "
 
-#: wt-status.c:376
+#: wt-status.c:386
 msgid "modified content, "
 msgstr "contenu modifié, "
 
-#: wt-status.c:378
+#: wt-status.c:388
 msgid "untracked content, "
 msgstr "contenu non suivi, "
 
-#: wt-status.c:896
+#: wt-status.c:906
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Votre remisage contient actuellement %d entrée"
 msgstr[1] "Votre remisage contient actuellement %d entrées"
 
-#: wt-status.c:928
+#: wt-status.c:938
 msgid "Submodules changed but not updated:"
 msgstr "Sous-modules modifiés mais non mis à jour :"
 
-#: wt-status.c:930
+#: wt-status.c:940
 msgid "Submodule changes to be committed:"
 msgstr "Changements du sous-module à valider :"
 
-#: wt-status.c:1012
+#: wt-status.c:1022
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -8107,107 +8271,119 @@ msgstr ""
 "Ne touchez pas à la ligne ci-dessus.\n"
 "Tout ce qui suit sera éliminé."
 
-#: wt-status.c:1119
+#: wt-status.c:1114
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to compute the branch ahead/behind values.\n"
+"You can use '--no-ahead-behind' to avoid this.\n"
+msgstr ""
+"\n"
+"%.2f secondes ont été nécessaires pour calculer les valeurs d'avance/retard "
+"de la branche.\n"
+"Vous pouvez utiliser '--no-ahead-behind' pour éviter ceci.\n"
+
+#: wt-status.c:1144
 msgid "You have unmerged paths."
 msgstr "Vous avez des chemins non fusionnés."
 
-#: wt-status.c:1122
+#: wt-status.c:1147
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (réglez les conflits puis lancez \"git commit\")"
 
-#: wt-status.c:1124
+#: wt-status.c:1149
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (utilisez \"git merge --abort\" pour annuler la fusion)"
 
-#: wt-status.c:1128
+#: wt-status.c:1153
 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:1131
+#: wt-status.c:1156
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (utilisez \"git commit\" pour terminer la fusion)"
 
-#: wt-status.c:1140
+#: wt-status.c:1165
 msgid "You are in the middle of an am session."
 msgstr "Vous êtes au milieu d'une session am."
 
-#: wt-status.c:1143
+#: wt-status.c:1168
 msgid "The current patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: wt-status.c:1147
+#: wt-status.c:1172
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git am --continue\")"
 
-#: wt-status.c:1149
+#: wt-status.c:1174
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1151
+#: wt-status.c:1176
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1284
+#: wt-status.c:1309
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo est manquant."
 
-#: wt-status.c:1286
+#: wt-status.c:1311
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1289
+#: wt-status.c:1314
 #, 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:1300
+#: wt-status.c:1325
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1305
+#: wt-status.c:1330
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1308
+#: wt-status.c:1333
 #, 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:1316
+#: wt-status.c:1341
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1328
+#: wt-status.c:1353
 #, 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:1333
+#: wt-status.c:1358
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1346
+#: wt-status.c:1371
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1348
+#: wt-status.c:1373
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1350
+#: wt-status.c:1375
 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:1357
+#: wt-status.c:1382
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1361
+#: wt-status.c:1386
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -8215,144 +8391,136 @@ msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1366
+#: wt-status.c:1391
 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:1369
+#: wt-status.c:1394
 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:1373
+#: wt-status.c:1398
 #, 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:1378
+#: wt-status.c:1403
 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:1381
+#: wt-status.c:1406
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1383
+#: wt-status.c:1408
 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:1394
+#: wt-status.c:1419
 msgid "Cherry-pick currently in progress."
 msgstr "Picorage en cours."
 
-#: wt-status.c:1397
+#: wt-status.c:1422
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1404
+#: wt-status.c:1429
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1407
+#: wt-status.c:1432
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (lancez \"git cherry-pick --continue\" pour continuer)"
 
-#: wt-status.c:1410
+#: wt-status.c:1435
 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:1412
+#: wt-status.c:1437
 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:1422
+#: wt-status.c:1447
 msgid "Revert currently in progress."
 msgstr "Rétablissement en cours."
 
-#: wt-status.c:1425
+#: wt-status.c:1450
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1431
+#: wt-status.c:1456
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1434
+#: wt-status.c:1459
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (lancez \"git revert --continue\" pour continuer)"
 
-#: wt-status.c:1437
+#: wt-status.c:1462
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1439
+#: wt-status.c:1464
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1449
+#: wt-status.c:1474
 #, 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:1453
+#: wt-status.c:1478
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1456
+#: wt-status.c:1481
 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:1665
+#: wt-status.c:1690
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1672
+#: wt-status.c:1697
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1674
+#: wt-status.c:1699
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1679
-msgid "HEAD detached at "
-msgstr "HEAD détachée sur "
-
-#: wt-status.c:1681
-msgid "HEAD detached from "
-msgstr "HEAD détachée depuis "
-
-#: wt-status.c:1684
+#: wt-status.c:1709
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1701
+#: wt-status.c:1726
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1702
+#: wt-status.c:1727
 msgid "No commits yet"
 msgstr "Aucun commit"
 
-#: wt-status.c:1716
+#: wt-status.c:1741
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1718
+#: wt-status.c:1743
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1722
+#: wt-status.c:1747
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -8364,32 +8532,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1728
+#: wt-status.c:1753
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1730
+#: wt-status.c:1755
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1736
+#: wt-status.c:1761
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1741
+#: wt-status.c:1766
 #, 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:1744
+#: wt-status.c:1769
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1747
+#: wt-status.c:1772
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -8398,66 +8566,66 @@ 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:1750
+#: wt-status.c:1775
 #, 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:1753
+#: wt-status.c:1778
 #, 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:1756 wt-status.c:1761
+#: wt-status.c:1781 wt-status.c:1786
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1759
+#: wt-status.c:1784
 #, 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:1763
+#: wt-status.c:1788
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1876
+#: wt-status.c:1901
 msgid "No commits yet on "
 msgstr "Encore aucun commit sur "
 
-#: wt-status.c:1880
+#: wt-status.c:1905
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-#: wt-status.c:1911
+#: wt-status.c:1936
 msgid "different"
 msgstr "différent"
 
-#: wt-status.c:1913 wt-status.c:1921
+#: wt-status.c:1938 wt-status.c:1946
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1916 wt-status.c:1919
+#: wt-status.c:1941 wt-status.c:1944
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2443
+#: wt-status.c:2466
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2449
+#: wt-status.c:2472
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2451
+#: wt-status.c:2474
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
@@ -8471,7 +8639,7 @@ msgstr "git add [<options>] [--] <chemin>..."
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
 
-#: builtin/add.c:89 builtin/commit.c:285
+#: builtin/add.c:89 builtin/commit.c:288
 msgid "updating files failed"
 msgstr "échec de la mise à jour des fichiers"
 
@@ -8520,8 +8688,8 @@ 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:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
+#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "simuler l'action"
@@ -8530,7 +8698,7 @@ msgstr "simuler l'action"
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
+#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
@@ -8703,7 +8871,7 @@ msgstr "décalage horaire invalide"
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:949 builtin/clone.c:409
+#: builtin/am.c:949 builtin/clone.c:407
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
@@ -8712,7 +8880,7 @@ msgstr "échec de la création du répertoire '%s'"
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1084 builtin/commit.c:371
+#: builtin/am.c:1084 builtin/commit.c:374
 msgid "unable to write index file"
 msgstr "impossible d'écrire le fichier d'index"
 
@@ -8753,18 +8921,18 @@ msgstr "ligne d'identification invalide : %.*s"
 msgid "unable to parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: builtin/am.c:1495
+#: builtin/am.c:1496
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "Le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: builtin/am.c:1497
+#: builtin/am.c:1498
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Utilisation de l'information de l'index pour reconstruire un arbre de base..."
 
-#: builtin/am.c:1516
+#: builtin/am.c:1517
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -8772,29 +8940,24 @@ msgstr ""
 "Avez-vous édité le patch à la main ?\n"
 "Il ne s'applique pas aux blobs enregistrés dans son index."
 
-#: builtin/am.c:1522
+#: builtin/am.c:1523
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1548
+#: builtin/am.c:1549
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1580
+#: builtin/am.c:1581
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1627 builtin/am.c:1631
+#: builtin/am.c:1628 builtin/am.c:1632
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1647
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr ""
-"impossible d'être interactif sans entrée standard connectée à un terminal."
-
-#: builtin/am.c:1652
+#: builtin/am.c:1650
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -8802,35 +8965,36 @@ msgstr "Le corps de la validation est :"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1662
+#: builtin/am.c:1660
+#, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "Appliquer ? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all : "
 
-#: builtin/am.c:1712
+#: builtin/am.c:1710
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1752 builtin/am.c:1820
+#: builtin/am.c:1750 builtin/am.c:1818
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1769
+#: builtin/am.c:1767
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1775
+#: builtin/am.c:1773
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "le patch a échoué à %s %.*s"
 
-#: builtin/am.c:1779
+#: builtin/am.c:1777
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr ""
 "Utilisez 'git am --show-current-patch' pour visualiser le patch en échec"
 
-#: builtin/am.c:1823
+#: builtin/am.c:1821
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -8841,7 +9005,7 @@ msgstr ""
 "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
 "patch."
 
-#: builtin/am.c:1830
+#: builtin/am.c:1828
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -8854,17 +9018,17 @@ msgstr ""
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
+#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:1989
+#: builtin/am.c:1987
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'index"
 
-#: builtin/am.c:2033
+#: builtin/am.c:2031
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -8872,145 +9036,145 @@ msgstr ""
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2130
+#: builtin/am.c:2128
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2166
+#: builtin/am.c:2164
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2167
+#: builtin/am.c:2165
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<options>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2171
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2175
+#: builtin/am.c:2173
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2177
+#: builtin/am.c:2175
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:306 builtin/stash.c:805
+#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:296 builtin/stash.c:806
 msgid "be quiet"
 msgstr "être silencieux"
 
-#: builtin/am.c:2180
+#: builtin/am.c:2178
 msgid "add a Signed-off-by line to the commit message"
 msgstr "ajouter une ligne Signed-off-by au message de validation"
 
-#: builtin/am.c:2183
+#: builtin/am.c:2181
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2183
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2185
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2189
+#: builtin/am.c:2187
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2191
+#: builtin/am.c:2189
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "passer l'option --keep-cr à git-mailsplit fpour le format mbox"
 
-#: builtin/am.c:2194
+#: builtin/am.c:2192
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "ne pas passer l'option --keep-cr à git-mailsplit indépendamment de am.keepcr"
 
-#: builtin/am.c:2197
+#: builtin/am.c:2195
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
-#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
-#: builtin/am.c:2226
+#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206
+#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218
+#: builtin/am.c:2224
 msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
-#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
-#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
-#: parse-options.h:141 parse-options.h:162 parse-options.h:311
+#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249
+#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418
+#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313
+#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
+#: parse-options.h:141 parse-options.h:162 parse-options.h:312
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
-#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
+#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38
+#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2223
+#: builtin/am.c:2221
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2227
 msgid "override error message when patch failure occurs"
 msgstr "surcharger le message d'erreur lors d'un échec d'application de patch"
 
-#: builtin/am.c:2231
+#: builtin/am.c:2229
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2234
+#: builtin/am.c:2232
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2237
+#: builtin/am.c:2235
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2240
+#: builtin/am.c:2238
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "restaurer la branche originale et abandonner les applications de patch."
 
-#: builtin/am.c:2243
+#: builtin/am.c:2241
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "abandonne l'opération de patch mais garde HEAD où il est."
 
-#: builtin/am.c:2246
+#: builtin/am.c:2244
 msgid "show the patch being applied."
 msgstr "afficher le patch en cours d'application."
 
-#: builtin/am.c:2250
+#: builtin/am.c:2248
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2252
+#: builtin/am.c:2250
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
-#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
-#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
+#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511
+#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489
+#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418
 msgid "key-id"
 msgstr "id-clé"
 
-#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
+#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460
 msgid "GPG-sign commits"
 msgstr "signer les commits avec GPG"
 
-#: builtin/am.c:2258
+#: builtin/am.c:2256
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2274
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -9018,17 +9182,17 @@ msgstr ""
 "L'option -b/--binary ne fait plus rien depuis longtemps,\n"
 "et elle sera supprimée. Veuillez ne plus l'utiliser."
 
-#: builtin/am.c:2283
+#: builtin/am.c:2281
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2298
+#: builtin/am.c:2296
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 "le répertoire précédent de rebasage %s existe toujours mais mbox donnée."
 
-#: builtin/am.c:2322
+#: builtin/am.c:2320
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -9037,12 +9201,16 @@ msgstr ""
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2328
+#: builtin/am.c:2326
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr ""
 "Pas de résolution de l'opération en cours, nous ne sommes pas dans une "
 "reprise."
 
+#: builtin/am.c:2336
+msgid "interactive mode requires patches on the command line"
+msgstr "le mode interactif requiert des rustines sur la ligne de commande"
+
 #: builtin/apply.c:8
 msgid "git apply [<options>] [<patch>...]"
 msgstr "git apply [<options>] [<patch>...]"
@@ -9276,79 +9444,84 @@ msgstr "refus de bissecter sur un arbre 'cg-seeked'"
 msgid "bad HEAD - strange symbolic ref"
 msgstr "mauvaise HEAD - référence symbolique douteuse"
 
-#: builtin/bisect--helper.c:627
+#: builtin/bisect--helper.c:574
+#, c-format
+msgid "invalid ref: '%s'"
+msgstr "réference invalide : '%s'"
+
+#: builtin/bisect--helper.c:630
 msgid "perform 'git bisect next'"
 msgstr "effectuer 'git bisect next'"
 
-#: builtin/bisect--helper.c:629
+#: builtin/bisect--helper.c:632
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "écrire les termes dans .git/BISECT_TERMS"
 
-#: builtin/bisect--helper.c:631
+#: builtin/bisect--helper.c:634
 msgid "cleanup the bisection state"
 msgstr "vérifier l'état de la bissection"
 
-#: builtin/bisect--helper.c:633
+#: builtin/bisect--helper.c:636
 msgid "check for expected revs"
 msgstr "vérifier si des révisions sont attendues"
 
-#: builtin/bisect--helper.c:635
+#: builtin/bisect--helper.c:638
 msgid "reset the bisection state"
 msgstr "réinitialiser l'état de la bissection"
 
-#: builtin/bisect--helper.c:637
+#: builtin/bisect--helper.c:640
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "écrire l'état de la bissection dans BISECT_LOG"
 
-#: builtin/bisect--helper.c:639
+#: builtin/bisect--helper.c:642
 msgid "check and set terms in a bisection state"
 msgstr "vérifier et régler les termes dans un état de la bissection"
 
-#: builtin/bisect--helper.c:641
+#: builtin/bisect--helper.c:644
 msgid "check whether bad or good terms exist"
 msgstr "vérifier si les termes bons ou mauvais existent"
 
-#: builtin/bisect--helper.c:643
+#: builtin/bisect--helper.c:646
 msgid "print out the bisect terms"
 msgstr "afficher les termes de bissection"
 
-#: builtin/bisect--helper.c:645
+#: builtin/bisect--helper.c:648
 msgid "start the bisect session"
 msgstr "démarrer une session de bissection"
 
-#: builtin/bisect--helper.c:647
+#: builtin/bisect--helper.c:650
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel"
 
-#: builtin/bisect--helper.c:649
+#: builtin/bisect--helper.c:652
 msgid "no log for BISECT_WRITE"
 msgstr "pas de journal pour BISECT_WRITE"
 
-#: builtin/bisect--helper.c:666
+#: builtin/bisect--helper.c:669
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms exige deux arguments"
 
-#: builtin/bisect--helper.c:670
+#: builtin/bisect--helper.c:673
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state ne supporte aucun argument"
 
-#: builtin/bisect--helper.c:677
+#: builtin/bisect--helper.c:680
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset supporte soit aucun argument, soit un commit"
 
-#: builtin/bisect--helper.c:681
+#: builtin/bisect--helper.c:684
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write supporte soit 4 arguments, soit 5 arguments"
 
-#: builtin/bisect--helper.c:687
+#: builtin/bisect--helper.c:690
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms exige 3 arguments"
 
-#: builtin/bisect--helper.c:693
+#: builtin/bisect--helper.c:696
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check exige 2 ou 3 arguments"
 
-#: builtin/bisect--helper.c:699
+#: builtin/bisect--helper.c:702
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms exige 0 ou 1 argument"
 
@@ -9360,140 +9533,157 @@ msgstr "git blame [<options>] [<rev-opts>] [<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:407
+#: builtin/blame.c:410
 #, c-format
 msgid "expecting a color: %s"
 msgstr "couleur attendue : %s"
 
-#: builtin/blame.c:414
+#: builtin/blame.c:417
 msgid "must end with a color"
 msgstr "doit finir avec une couleur"
 
-#: builtin/blame.c:701
+#: builtin/blame.c:730
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "couleur invalide '%s' dans color.blame.repeatedlines"
 
-#: builtin/blame.c:719
+#: builtin/blame.c:748
 msgid "invalid value for blame.coloring"
 msgstr "valeur invalide pour blame.coloring"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:823
+#, c-format
+msgid "cannot find revision %s to ignore"
+msgstr "référence à ignorer %s introuvable"
+
+#: builtin/blame.c:845
 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:795
+#: builtin/blame.c:846
 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:796
+#: builtin/blame.c:847
 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:797
+#: builtin/blame.c:848
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:849
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:850
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:851
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:852
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:853
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:854
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:804
+#: builtin/blame.c:855
 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:805
+#: builtin/blame.c:856
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:806
+#: builtin/blame.c:857
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:807
+#: builtin/blame.c:858
 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:808
+#: builtin/blame.c:859
 msgid "Show author email instead of name (Default: off)"
 msgstr "Afficher le courriel de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:809
+#: builtin/blame.c:860
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:861 builtin/log.c:1629
+msgid "rev"
+msgstr "rév"
+
+#: builtin/blame.c:861
+msgid "Ignore <rev> when blaming"
+msgstr "ignore <rev> pendant le blâme"
+
+#: builtin/blame.c:862
+msgid "Ignore revisions from <file>"
+msgstr "ignorer les révisions listées dans <fichier>"
+
+#: builtin/blame.c:863
 msgid "color redundant metadata from previous line differently"
 msgstr ""
 "colorer différemment les métadonnées redondantes avec la ligne précédente"
 
-#: builtin/blame.c:811
+#: builtin/blame.c:864
 msgid "color lines by age"
 msgstr "colorier les lignes par âge"
 
-#: builtin/blame.c:818
+#: builtin/blame.c:871
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:873
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:821
+#: builtin/blame.c:874
 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:822
+#: builtin/blame.c:875
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:823 builtin/blame.c:824
+#: builtin/blame.c:876 builtin/blame.c:877
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:876
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:877
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:825
+#: builtin/blame.c:878
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:825
+#: builtin/blame.c:878
 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:876
+#: builtin/blame.c:929
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -9507,18 +9697,18 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:927
+#: builtin/blame.c:980
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:1031
+#: builtin/blame.c:1087
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] "le fichier %s n'a qu'%lu ligne"
 msgstr[1] "le fichier %s n'a que %lu lignes"
 
-#: builtin/blame.c:1077
+#: builtin/blame.c:1133
 msgid "Blaming lines"
 msgstr "Assignation de blâme aux lignes"
 
@@ -9552,7 +9742,7 @@ msgstr "git branch [<options>] [-r | -a] [--points-at]"
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<options>] [-r | -a] [--format]"
 
-#: builtin/branch.c:151
+#: builtin/branch.c:154
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -9561,7 +9751,7 @@ msgstr ""
 "suppression de la branche '%s' qui a été fusionnée dans\n"
 "         '%s', mais pas dans HEAD."
 
-#: builtin/branch.c:155
+#: builtin/branch.c:158
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -9570,12 +9760,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:169
+#: builtin/branch.c:172
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "Impossible de rechercher l'objet commit pour '%s'"
 
-#: builtin/branch.c:173
+#: builtin/branch.c:176
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -9584,125 +9774,125 @@ 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:186
+#: builtin/branch.c:189
 msgid "Update of config-file failed"
 msgstr "Échec de la mise à jour du fichier de configuration"
 
-#: builtin/branch.c:217
+#: builtin/branch.c:220
 msgid "cannot use -a with -d"
 msgstr "impossible d'utiliser -a avec -d"
 
-#: builtin/branch.c:223
+#: builtin/branch.c:226
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Impossible de rechercher l'objet commit pour HEAD"
 
-#: builtin/branch.c:237
+#: builtin/branch.c:240
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "Impossible de supprimer la branche '%s' extraite dans '%s'"
 
-#: builtin/branch.c:252
+#: builtin/branch.c:255
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "branche de suivi '%s' non trouvée."
 
-#: builtin/branch.c:253
+#: builtin/branch.c:256
 #, c-format
 msgid "branch '%s' not found."
 msgstr "branche '%s' non trouvée."
 
-#: builtin/branch.c:268
+#: builtin/branch.c:271
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "Erreur lors de la suppression de la branche de suivi '%s'"
 
-#: builtin/branch.c:269
+#: builtin/branch.c:272
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Erreur lors de la suppression de la branche '%s'"
 
-#: builtin/branch.c:276
+#: builtin/branch.c:279
 #, 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:277
+#: builtin/branch.c:280
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Branche %s supprimée (précédemment %s).\n"
 
-#: builtin/branch.c:421 builtin/tag.c:60
+#: builtin/branch.c:429 builtin/tag.c:61
 msgid "unable to parse format string"
 msgstr "impossible d'analyser la chaîne de format"
 
-#: builtin/branch.c:452
+#: builtin/branch.c:460
 msgid "could not resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: builtin/branch.c:458
+#: builtin/branch.c:466
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) pointe hors de refs/heads/"
 
-#: builtin/branch.c:473
+#: builtin/branch.c:481
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:477
+#: builtin/branch.c:485
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:494
+#: builtin/branch.c:502
 msgid "cannot copy the current branch while not on any."
 msgstr "impossible de copier la branche actuelle, il n'y en a pas."
 
-#: builtin/branch.c:496
+#: builtin/branch.c:504
 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:507
+#: builtin/branch.c:515
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:534
+#: builtin/branch.c:542
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:536
+#: builtin/branch.c:544
 msgid "Branch copy failed"
 msgstr "Échec de copie de la branche"
 
-#: builtin/branch.c:540
+#: builtin/branch.c:548
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "Création d'une copie d'une branche mal nommée '%s'"
 
-#: builtin/branch.c:543
+#: builtin/branch.c:551
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Renommage d'une branche mal nommée '%s'"
 
-#: builtin/branch.c:549
+#: builtin/branch.c:557
 #, 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:558
+#: builtin/branch.c:566
 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:560
+#: builtin/branch.c:568
 msgid "Branch is copied, but update of config-file failed"
 msgstr ""
 "La branche est copiée, mais la mise à jour du fichier de configuration a "
 "échoué"
 
-#: builtin/branch.c:576
+#: builtin/branch.c:584
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -9713,180 +9903,180 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:618
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:620
 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:613
+#: builtin/branch.c:621
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:622
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:624
 msgid "do not use"
 msgstr "ne pas utiliser"
 
-#: builtin/branch.c:618 builtin/rebase.c:485
+#: builtin/branch.c:626 builtin/rebase.c:485
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:626
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:627
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:628
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:629
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:623 builtin/branch.c:625
+#: builtin/branch.c:631 builtin/branch.c:633
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:624 builtin/branch.c:626
+#: builtin/branch.c:632 builtin/branch.c:634
 msgid "print only branches that don't contain the commit"
 msgstr "afficher seulement les branches qui ne contiennent pas le commit"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:637
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:630
+#: builtin/branch.c:638
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:640
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:641
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:642
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:643
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:636
+#: builtin/branch.c:644
 msgid "copy a branch and its reflog"
 msgstr "copier une branche et son reflog"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:645
 msgid "copy a branch, even if target exists"
 msgstr "copier une branche, même si la cible existe"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:646
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:647
 msgid "show current branch name"
 msgstr "afficher le nom de la branche courante"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:648
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:650
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:651
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:644
+#: builtin/branch.c:652
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:653
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:654
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:427
+#: builtin/tag.c:433
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:658
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
+#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432
-#: builtin/verify-tag.c:39
+#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438
+#: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: builtin/branch.c:676 builtin/clone.c:748
+#: builtin/branch.c:684 builtin/clone.c:761
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:700
+#: builtin/branch.c:708
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
+#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:745
+#: builtin/branch.c:753
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:750
+#: builtin/branch.c:758
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:765
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:760
+#: builtin/branch.c:768
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:775
+#: builtin/branch.c:783
 msgid "too many branches for a copy operation"
 msgstr "trop de branches pour une opération de copie"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:792
 msgid "too many arguments for a rename operation"
 msgstr "trop d'arguments pour une opération de renommage"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:797
 msgid "too many arguments to set new upstream"
 msgstr "trop d'arguments pour spécifier une branche amont"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:801
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -9894,37 +10084,41 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:796 builtin/branch.c:819
+#: builtin/branch.c:804 builtin/branch.c:827
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:800
+#: builtin/branch.c:808
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:821
 msgid "too many arguments to unset upstream"
 msgstr "trop d'arguments pour désactiver un amont"
 
-#: builtin/branch.c:817
+#: builtin/branch.c:825
 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:823
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:833
-msgid "-a and -r options to 'git branch' do not make sense with a branch name"
+#: builtin/branch.c:841
+msgid ""
+"The -a, and -r, options to 'git branch' do not take a branch name.\n"
+"Did you mean to use: -a|-r --list <pattern>?"
 msgstr ""
-"les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche"
+"Les options -a et -r de 'git branch' n'ont pas de sens avec un nom de "
+"branche.\n"
+"Vouliez-vous plutôt dire -a|-r --list <motif> ?"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:845
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -9945,7 +10139,7 @@ msgstr "La création d'un colis requiert un dépôt."
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
-#: builtin/cat-file.c:593
+#: builtin/cat-file.c:594
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -9953,7 +10147,7 @@ msgstr ""
 "git cat-file (-t [--allow-unknow-type] | -s [--allow-unknow-type] | -e | -p "
 "| <type> | --textconv | --filters) [--path=<chemin>] <objet>"
 
-#: builtin/cat-file.c:594
+#: builtin/cat-file.c:595
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -9961,74 +10155,74 @@ msgstr ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:616
 msgid "only one batch option may be specified"
 msgstr "une seule option de traitement ne peut être spécifiée à la fois"
 
-#: builtin/cat-file.c:633
+#: builtin/cat-file.c:634
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<type> peut être : blob, tree, commit ou tag"
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:635
 msgid "show object type"
 msgstr "afficher le type de l'objet"
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:636
 msgid "show object size"
 msgstr "afficher la taille de l'objet"
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:638
 msgid "exit with zero when there's no error"
 msgstr "sortir avec un code d'erreur nul quand il n'y a aucune erreur"
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:639
 msgid "pretty-print object's content"
 msgstr "afficher avec mise en forme le contenu de l'objet"
 
-#: builtin/cat-file.c:640
+#: builtin/cat-file.c:641
 msgid "for blob objects, run textconv on object's content"
 msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 
-#: builtin/cat-file.c:642
+#: builtin/cat-file.c:643
 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:643 git-submodule.sh:936
+#: builtin/cat-file.c:644 git-submodule.sh:936
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:644
+#: builtin/cat-file.c:645
 msgid "use a specific path for --textconv/--filters"
 msgstr "utiliser un chemin spécifique pour --textconv/--filters"
 
-#: builtin/cat-file.c:646
+#: builtin/cat-file.c:647
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "autoriser -s et -t à travailler sur des objets cassés/corrompus"
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:648
 msgid "buffer --batch output"
 msgstr "bufferiser la sortie de --batch"
 
-#: builtin/cat-file.c:649
+#: builtin/cat-file.c:650
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "afficher l'information et le contenu des objets passés en entrée standard"
 
-#: builtin/cat-file.c:653
+#: builtin/cat-file.c:654
 msgid "show info about objects fed from the standard input"
 msgstr "afficher l'information des objets passés en entrée standard"
 
-#: builtin/cat-file.c:657
+#: builtin/cat-file.c:658
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 "suivre les liens symbolique internes à la copie de travail (utilisé avec --"
 "batch ou --batch-check)"
 
-#: builtin/cat-file.c:659
+#: builtin/cat-file.c:660
 msgid "show all objects with --batch or --batch-check"
 msgstr "montrer tous les objets avec --batch ou --batch-check"
 
-#: builtin/cat-file.c:661
+#: builtin/cat-file.c:662
 msgid "do not order --batch-all-objects output"
 msgstr "ne pas ordonner la sortie de --batch-all-objects"
 
@@ -10057,8 +10251,8 @@ 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:21 builtin/checkout.c:1355 builtin/gc.c:538
-#: builtin/worktree.c:499
+#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538
+#: builtin/worktree.c:507
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -10150,9 +10344,9 @@ msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
-#: builtin/worktree.c:672
+#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857
+#: builtin/worktree.c:680
 msgid "string"
 msgstr "chaîne"
 
@@ -10164,93 +10358,116 @@ 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:32
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<options>] <branche>"
 
-#: builtin/checkout.c:33
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
 
-#: builtin/checkout.c:151 builtin/checkout.c:190
+#: builtin/checkout.c:37
+msgid "git switch [<options>] [<branch>]"
+msgstr "git switch [<options>] <branche>"
+
+#: builtin/checkout.c:42
+msgid "git restore [<options>] [--source=<branch>] <file>..."
+msgstr "git restore [<options>] [--source=<branche>] <fichier>..."
+
+#: builtin/checkout.c:172 builtin/checkout.c:211
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
 
-#: builtin/checkout.c:153 builtin/checkout.c:192
+#: builtin/checkout.c:174 builtin/checkout.c:213
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:169
+#: builtin/checkout.c:190
 #, 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:219
+#: builtin/checkout.c:240
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:237
+#: builtin/checkout.c:258
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
 
-#: builtin/checkout.c:253
+#: builtin/checkout.c:274
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Impossible d'ajouter le résultat de fusion pour '%s'"
 
-#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337
-#: builtin/checkout.c:340
+#: builtin/checkout.c:374
+#, c-format
+msgid "Recreated %d merge conflict"
+msgid_plural "Recreated %d merge conflicts"
+msgstr[0] "%d conflit du fusion recréé"
+msgstr[1] "%d conflits du fusion recréés"
+
+#: builtin/checkout.c:379
+#, c-format
+msgid "Updated %d path from %s"
+msgid_plural "Updated %d paths from %s"
+msgstr[0] "%d chemin mis à jour depuis %s"
+msgstr[1] "%d chemins mis à jour depuis %s"
+
+#: builtin/checkout.c:386
+#, c-format
+msgid "Updated %d path from the index"
+msgid_plural "Updated %d paths from the index"
+msgstr[0] "%d chemin mis à jour depuis l'index"
+msgstr[1] "%d chemins mis à jour depuis l'index"
+
+#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415
+#: builtin/checkout.c:419
 #, 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:343 builtin/checkout.c:346
+#: builtin/checkout.c:422 builtin/checkout.c:425
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:349
+#: builtin/checkout.c:429
 #, 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:396 builtin/checkout.c:403
+#: builtin/checkout.c:433
 #, c-format
-msgid "path '%s' is unmerged"
-msgstr "le chemin '%s' n'est pas fusionné"
+msgid "neither '%s' or '%s' is specified"
+msgstr "ni '%s', ni '%s' spécifié"
 
-#: builtin/checkout.c:442
+#: builtin/checkout.c:437
 #, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] "%d conflit du fusion recréé"
-msgstr[1] "%d conflits du fusion recréés"
+msgid "'%s' must be used when '%s' is not specified"
+msgstr "'%s' ne peut pas être utilisé quand '%s' n'est pas spécifié"
 
-#: builtin/checkout.c:447
+#: builtin/checkout.c:442 builtin/checkout.c:447
 #, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] "%d chemin mis à jour depuis %s"
-msgstr[1] "%d chemins mis à jour depuis %s"
+msgid "'%s' or '%s' cannot be used with %s"
+msgstr "'%s' ou '%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:454
+#: builtin/checkout.c:506 builtin/checkout.c:513
 #, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] "%d chemin mis à jour depuis l'index"
-msgstr[1] "%d chemins mis à jour depuis l'index"
+msgid "path '%s' is unmerged"
+msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:695
+#: builtin/checkout.c:679
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:744
+#: builtin/checkout.c:729
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10260,56 +10477,56 @@ msgstr ""
 "suivants :\n"
 "%s"
 
-#: builtin/checkout.c:751
+#: builtin/checkout.c:736
 #, c-format
 msgid "staged changes in the following files may be lost: %s"
 msgstr ""
 "les modifications indexées dans les fichiers suivants seraient perdues : %s"
 
-#: builtin/checkout.c:848
+#: builtin/checkout.c:833
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:875
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:894 builtin/clone.c:701
+#: builtin/checkout.c:879 builtin/clone.c:714
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:898
+#: builtin/checkout.c:883
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:901
+#: builtin/checkout.c:886
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:905
+#: builtin/checkout.c:890
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:907 builtin/checkout.c:1283
+#: builtin/checkout.c:892 builtin/checkout.c:1289
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:909
+#: builtin/checkout.c:894
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:960
+#: builtin/checkout.c:945
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:966
+#: builtin/checkout.c:951
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10332,7 +10549,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:985
+#: builtin/checkout.c:970
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -10361,24 +10578,28 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:1017
+#: builtin/checkout.c:1005
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1009
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:1052 builtin/checkout.c:1278
+#: builtin/checkout.c:1049 builtin/checkout.c:1284
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:1173
+#: builtin/checkout.c:1176
+msgid "only one reference expected"
+msgstr "une seule référence attendue"
+
+#: builtin/checkout.c:1193
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1209
+#: builtin/checkout.c:1230
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10387,153 +10608,209 @@ msgstr ""
 "'%s' pourrait être un fichier local ou un branche de suivi.\n"
 "Veuillez utiliser -- (et --no-guess en facultatif) pour les distinguer"
 
-#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448
+#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1251
+#: builtin/checkout.c:1256 builtin/checkout.c:1618
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1292
+#: builtin/checkout.c:1303
+#, c-format
+msgid "a branch is expected, got tag '%s'"
+msgstr "branche attendue, mais étiquette '%s' reçue"
+
+#: builtin/checkout.c:1305
+#, c-format
+msgid "a branch is expected, got remote branch '%s'"
+msgstr "une branche est attendue, mais une branche distante '%s' a été reçue"
+
+#: builtin/checkout.c:1306 builtin/checkout.c:1314
+#, c-format
+msgid "a branch is expected, got '%s'"
+msgstr "une branche est attendue, mais '%s' a été reçue"
+
+#: builtin/checkout.c:1309
+#, c-format
+msgid "a branch is expected, got commit '%s'"
+msgstr "une branche est attendue, mais un commit '%s' a été reçu"
+
+#: builtin/checkout.c:1325
+msgid ""
+"cannot switch branch while merging\n"
+"Consider \"git merge --quit\" or \"git worktree add\"."
+msgstr ""
+"impossible de basculer de branche pendant une fusion\n"
+"Envisagez \"git merge --quit\" ou \"git worktree add\"."
+
+#: builtin/checkout.c:1329
+msgid ""
+"cannot switch branch in the middle of an am session\n"
+"Consider \"git am --quit\" or \"git worktree add\"."
+msgstr ""
+"impossible de basculer de branche pendant une session am\n"
+"Envisagez \"git am --quit\" ou \"git worktree add\"."
+
+#: builtin/checkout.c:1333
+msgid ""
+"cannot switch branch while rebasing\n"
+"Consider \"git rebase --quit\" or \"git worktree add\"."
+msgstr ""
+"impossible de basculer de branche pendant un rebasage\n"
+"Envisagez \"git rebase --quit\" ou \"git worktree add\"."
+
+#: builtin/checkout.c:1337
+msgid ""
+"cannot switch branch while cherry-picking\n"
+"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
+msgstr ""
+"impossible de basculer de branche pendant un picorage\n"
+"Envisagez \"git cherry-pick --quit\" ou \"git worktree add\"."
+
+#: builtin/checkout.c:1341
+msgid ""
+"cannot switch branch while reverting\n"
+"Consider \"git revert --quit\" or \"git worktree add\"."
+msgstr ""
+"impossible de basculer de branche pendant un retour\n"
+"Envisagez \"git revert --quit\" ou \"git worktree add\"."
+
+#: builtin/checkout.c:1345
+msgid "you are switching branch while bisecting"
+msgstr "Vous basculez de branche en cours de bissection"
+
+#: builtin/checkout.c:1352
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
+#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363
 #, 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:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
-#: builtin/checkout.c:1318
+#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373
+#: builtin/checkout.c:1378 builtin/checkout.c:1383
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1323
+#: builtin/checkout.c:1380
+#, c-format
+msgid "'%s' cannot take <start-point>"
+msgstr "'%s' n'accepte pas <point-de-départ>"
+
+#: builtin/checkout.c:1388
 #, 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:1356 builtin/checkout.c:1358 builtin/clone.c:118
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
-#: builtin/worktree.c:494
-msgid "branch"
-msgstr "branche"
+#: builtin/checkout.c:1395
+msgid "missing branch or commit argument"
+msgstr "argument de branche ou de commit manquant"
 
-#: builtin/checkout.c:1357
-msgid "create and checkout a new branch"
-msgstr "créer et extraire une nouvelle branche"
+#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151
+#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575
+#: builtin/send-pack.c:174
+msgid "force progress reporting"
+msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1359
-msgid "create/reset and checkout a branch"
-msgstr "créer/réinitialiser et extraire une branche"
+#: builtin/checkout.c:1438
+msgid "perform a 3-way merge with the new branch"
+msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1360
-msgid "create reflog for new branch"
-msgstr "créer un reflog pour une nouvelle branche"
+#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318
+msgid "style"
+msgstr "style"
+
+#: builtin/checkout.c:1440
+msgid "conflict style (merge or diff3)"
+msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1361 builtin/worktree.c:496
+#: builtin/checkout.c:1452 builtin/worktree.c:504
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1362
+#: builtin/checkout.c:1453
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1364
+#: builtin/checkout.c:1455
+msgid "force checkout (throw away local modifications)"
+msgstr "forcer l'extraction (laisser tomber les modifications locales)"
+
+#: builtin/checkout.c:1457
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1364
+#: builtin/checkout.c:1457
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1366
-msgid "checkout our version for unmerged files"
-msgstr "extraire notre version pour les fichiers non fusionnés"
-
-#: builtin/checkout.c:1369
-msgid "checkout their version for unmerged files"
-msgstr "extraire leur version pour les fichiers non fusionnés"
-
-#: builtin/checkout.c:1371
-msgid "force checkout (throw away local modifications)"
-msgstr "forcer l'extraction (laisser tomber les modifications locales)"
-
-#: builtin/checkout.c:1373
-msgid "perform a 3-way merge with the new branch"
-msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
-
-#: builtin/checkout.c:1375 builtin/merge.c:284
+#: builtin/checkout.c:1459 builtin/merge.c:288
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
-msgid "style"
-msgstr "style"
-
-#: builtin/checkout.c:1378
-msgid "conflict style (merge or diff3)"
-msgstr "style de conflit (merge (fusion) ou diff3)"
-
-#: builtin/checkout.c:1381
-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:1383
-msgid "do not second guess 'git checkout <no-such-branch>'"
-msgstr "ne pas essayer d'interpréter 'git checkout <branche-inexistante>'"
-
-#: builtin/checkout.c:1385
+#: builtin/checkout.c:1462
 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:1389 builtin/clone.c:88 builtin/fetch.c:141
-#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
-#: builtin/send-pack.c:174
-msgid "force progress reporting"
-msgstr "forcer l'affichage de l'état d'avancement"
+#: builtin/checkout.c:1475
+msgid "checkout our version for unmerged files"
+msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1390
-msgid "use overlay mode (default)"
-msgstr "utiliser le mode de superposition (défaut)"
+#: builtin/checkout.c:1478
+msgid "checkout their version for unmerged files"
+msgstr "extraire leur version pour les fichiers non fusionnés"
+
+#: builtin/checkout.c:1482
+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:1422
+#: builtin/checkout.c:1533
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1425
+#: builtin/checkout.c:1536
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p et --overlay sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1442
+#: builtin/checkout.c:1573
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1447
+#: builtin/checkout.c:1578
 msgid "missing branch name; try -b"
 msgstr "nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1484
+#: builtin/checkout.c:1611
+#, c-format
+msgid "could not resolve %s"
+msgstr "impossible de résoudre %s"
+
+#: builtin/checkout.c:1623
+msgid "you must specify path(s) to restore"
+msgstr "Vous devez spécifier un ou des chemins à restaurer"
+
+#: builtin/checkout.c:1631
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1491
+#: builtin/checkout.c:1638
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 "'%s' n'est pas un commit et une branche '%s' ne peut pas en être créée depuis"
 
-#: builtin/checkout.c:1495
+#: builtin/checkout.c:1642
 #, 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:1499
+#: builtin/checkout.c:1646
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -10541,7 +10818,7 @@ msgstr ""
 "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n"
 "de l'extraction de l'index."
 
-#: builtin/checkout.c:1519
+#: builtin/checkout.c:1666
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -10570,6 +10847,69 @@ msgstr ""
 "ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
 "votre config."
 
+#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733
+#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169
+#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502
+msgid "branch"
+msgstr "branche"
+
+#: builtin/checkout.c:1692
+msgid "create and checkout a new branch"
+msgstr "créer et extraire une nouvelle branche"
+
+#: builtin/checkout.c:1694
+msgid "create/reset and checkout a branch"
+msgstr "créer/réinitialiser et extraire une branche"
+
+#: builtin/checkout.c:1695
+msgid "create reflog for new branch"
+msgstr "créer un reflog pour une nouvelle branche"
+
+#: builtin/checkout.c:1697
+msgid "second guess 'git checkout <no-such-branch>' (default)"
+msgstr ""
+"essayer d'interpréter 'git checkout <branche-inexistante>' (par défaut)"
+
+#: builtin/checkout.c:1698
+msgid "use overlay mode (default)"
+msgstr "utiliser le mode de superposition (défaut)"
+
+#: builtin/checkout.c:1734
+msgid "create and switch to a new branch"
+msgstr "créer et basculer sur une nouvelle branche"
+
+#: builtin/checkout.c:1736
+msgid "create/reset and switch to a branch"
+msgstr "créer/réinitialiser et basculer sur une branche"
+
+#: builtin/checkout.c:1738
+msgid "second guess 'git switch <no-such-branch>'"
+msgstr "interpréter 'git switch <branche-inexistante>'"
+
+#: builtin/checkout.c:1740
+msgid "throw away local modifications"
+msgstr "laisser tomber les modifications locales"
+
+#: builtin/checkout.c:1772
+msgid "which tree-ish to checkout from"
+msgstr "de quel <arbre-esque> faire l'extraction"
+
+#: builtin/checkout.c:1774
+msgid "restore the index"
+msgstr "restaurer l'index"
+
+#: builtin/checkout.c:1776
+msgid "restore the working tree (default)"
+msgstr "restaurer l'arbre de travail (par défaut)"
+
+#: builtin/checkout.c:1778
+msgid "ignore unmerged entries"
+msgstr "ignorer les entrées non-fusionnées"
+
+#: builtin/checkout.c:1779
+msgid "use overlay mode"
+msgstr "utiliser le mode de superposition"
+
 #: builtin/clean.c:28
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
@@ -10601,7 +10941,12 @@ msgstr "Ignorerait le dépôt %s\n"
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:299 git-add--interactive.perl:579
+#: builtin/clean.c:37
+#, c-format
+msgid "could not lstat %s\n"
+msgstr "lstat de %s impossible\n"
+
+#: builtin/clean.c:300 git-add--interactive.perl:593
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10614,7 +10959,7 @@ msgstr ""
 "foo         - sélectionner un élément par un préfixe unique\n"
 "            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:303 git-add--interactive.perl:588
+#: builtin/clean.c:304 git-add--interactive.perl:602
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10635,38 +10980,38 @@ msgstr ""
 "*          - choisir tous les éléments\n"
 "           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:519 git-add--interactive.perl:554
-#: git-add--interactive.perl:559
+#: builtin/clean.c:520 git-add--interactive.perl:568
+#: git-add--interactive.perl:573
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hein (%s) ?\n"
 
-#: builtin/clean.c:661
+#: builtin/clean.c:662
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Entrez les motifs à ignorer>> "
 
-#: builtin/clean.c:698
+#: builtin/clean.c:699
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s"
 
-#: builtin/clean.c:719
+#: builtin/clean.c:720
 msgid "Select items to delete"
 msgstr "Sélectionner les éléments à supprimer"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:760
+#: builtin/clean.c:761
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:785 git-add--interactive.perl:1717
+#: builtin/clean.c:786 git-add--interactive.perl:1763
 #, c-format
 msgid "Bye.\n"
 msgstr "Au revoir.\n"
 
-#: builtin/clean.c:793
+#: builtin/clean.c:794
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -10684,64 +11029,64 @@ msgstr ""
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:820 git-add--interactive.perl:1793
+#: builtin/clean.c:821 git-add--interactive.perl:1849
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: builtin/clean.c:821 git-add--interactive.perl:1790
+#: builtin/clean.c:822 git-add--interactive.perl:1846
 msgid "What now"
 msgstr "Et maintenant ?"
 
-#: builtin/clean.c:829
+#: builtin/clean.c:830
 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:845
+#: builtin/clean.c:846
 msgid "No more files to clean, exiting."
 msgstr "Plus de fichier à nettoyer, sortie."
 
-#: builtin/clean.c:907
+#: builtin/clean.c:908
 msgid "do not print names of files removed"
 msgstr "ne pas afficher les noms des fichiers supprimés"
 
-#: builtin/clean.c:909
+#: builtin/clean.c:910
 msgid "force"
 msgstr "forcer"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "interactive cleaning"
 msgstr "nettoyage interactif"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:913
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
-#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548
+#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178
+#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "motif"
 
-#: builtin/clean.c:914
+#: builtin/clean.c:915
 msgid "add <pattern> to ignore rules"
 msgstr "ajouter <motif> aux règles ignore"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "remove ignored files, too"
 msgstr "supprimer les fichiers ignorés, aussi"
 
-#: builtin/clean.c:917
+#: builtin/clean.c:918
 msgid "remove only ignored files"
 msgstr "supprimer seulement les fichiers ignorés"
 
-#: builtin/clean.c:935
+#: builtin/clean.c:936
 msgid "-x and -X cannot be used together"
 msgstr "-x et -X ne peuvent pas être utilisés ensemble"
 
-#: builtin/clean.c:939
+#: builtin/clean.c:940
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -10749,7 +11094,7 @@ msgstr ""
 "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clean.c:942
+#: builtin/clean.c:943
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -10757,159 +11102,164 @@ msgstr ""
 "clean.requireForce à true par défaut et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clone.c:44
+#: builtin/clone.c:46
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:93
 msgid "don't create a checkout"
 msgstr "ne pas créer d'extraction"
 
-#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "créer un dépôt nu"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:98
 msgid "create a mirror repository (implies bare)"
 msgstr "créer un dépôt miroir (implique dépôt nu)"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:100
 msgid "to clone from a local repository"
 msgstr "pour cloner depuis un dépôt local"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:102
 msgid "don't use local hardlinks, always copy"
 msgstr "ne pas utiliser de liens durs locaux, toujours copier"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:104
 msgid "setup as shared repository"
 msgstr "régler comme dépôt partagé"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr "spécificateur de chemin"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "initialize submodules in the clone"
 msgstr "initialiser les sous-modules dans le clone"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:110
 msgid "number of submodules cloned in parallel"
 msgstr "nombre de sous-modules clonés en parallèle"
 
-#: builtin/clone.c:108 builtin/init-db.c:486
+#: builtin/clone.c:111 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "répertoire-modèle"
 
-#: builtin/clone.c:109 builtin/init-db.c:487
+#: builtin/clone.c:112 builtin/init-db.c:487
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1859
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380
+#: builtin/submodule--helper.c:1860
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:115 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1861
+#: builtin/clone.c:118 builtin/submodule--helper.c:1382
+#: builtin/submodule--helper.c:1862
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
-#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3306 builtin/repack.c:329
+#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3314 builtin/repack.c:319
 msgid "name"
 msgstr "nom"
 
-#: builtin/clone.c:117
+#: builtin/clone.c:120
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:122
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "extraire <branche> au lieu de la HEAD du répertoire distant"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:124
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:225
+#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838
+#: builtin/pull.c:226
 msgid "depth"
 msgstr "profondeur"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:126
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
+#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303
 msgid "time"
 msgstr "heure"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:128
 msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
-#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1389
+#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179
+#: builtin/rebase.c:1395
 msgid "revision"
 msgstr "révision"
 
-#: builtin/clone.c:127 builtin/fetch.c:147
+#: builtin/clone.c:130 builtin/fetch.c:157
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:132
 msgid "clone only one branch, HEAD or --branch"
 msgstr "cloner seulement une branche, HEAD ou --branch"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:134
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr ""
 "ne pas cloner les tags et indiquer aux récupérations futures de ne pas le "
 "faire"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:136
 msgid "any cloned submodules will be shallow"
 msgstr "tous les sous-modules clonés seront superficiels"
 
-#: builtin/clone.c:134 builtin/init-db.c:495
+#: builtin/clone.c:137 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:135 builtin/init-db.c:496
+#: builtin/clone.c:138 builtin/init-db.c:496
 msgid "separate git dir from working tree"
 msgstr "séparer le répertoire git de la copie de travail"
 
-#: builtin/clone.c:136
+#: builtin/clone.c:139
 msgid "key=value"
 msgstr "clé=valeur"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:140
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
 #: builtin/push.c:585 builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
 #: builtin/push.c:585 builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "option à transmettre"
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
+#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
+#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
-#: builtin/clone.c:280
+#: builtin/clone.c:149
+msgid "any cloned submodules will use their remote-tracking branch"
+msgstr ""
+"tous les sous-modules clonés utiliseront leur branche de suivi à distance"
+
+#: builtin/clone.c:285
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -10917,148 +11267,148 @@ 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:333
+#: builtin/clone.c:338
 #, 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:405
-#, c-format
-msgid "failed to open '%s'"
-msgstr "échec à l'ouverture de '%s'"
-
-#: builtin/clone.c:413
+#: builtin/clone.c:411
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe et n'est pas un répertoire"
 
-#: builtin/clone.c:427
+#: builtin/clone.c:428
 #, c-format
-msgid "failed to stat %s\n"
-msgstr "échec du stat de %s\n"
+msgid "failed to start iterator over '%s'"
+msgstr "échec du démarrage un itérateur sur '%s'"
 
-#: builtin/clone.c:444
+#: builtin/clone.c:453
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "échec pour délier '%s'"
 
-#: builtin/clone.c:449
+#: builtin/clone.c:458
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "échec de la création du lien '%s'"
 
-#: builtin/clone.c:453
+#: builtin/clone.c:462
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "échec de la copie vers '%s'"
 
-#: builtin/clone.c:479
+#: builtin/clone.c:467
+#, c-format
+msgid "failed to iterate over '%s'"
+msgstr "échec de l'itération sur '%s'"
+
+#: builtin/clone.c:492
 #, c-format
 msgid "done.\n"
 msgstr "fait.\n"
 
-#: builtin/clone.c:493
+#: builtin/clone.c:506
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
-"and retry the checkout with 'git checkout -f HEAD'\n"
+"and retry with 'git restore --source=HEAD :/'\n"
 msgstr ""
 "Le clone a réussi, mais l'extraction a échoué.\n"
 "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n"
-"et réessayer l'extraction avec 'git checkout -f HEAD'\n"
+"et réessayer avec 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:570
+#: builtin/clone.c:583
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:689
+#: builtin/clone.c:702
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:739
+#: builtin/clone.c:752
 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:770
+#: builtin/clone.c:783
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:815
+#: builtin/clone.c:833
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:878
+#: builtin/clone.c:896
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:880
+#: builtin/clone.c:898
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de délier le fichier temporaire alternates"
 
-#: builtin/clone.c:920 builtin/receive-pack.c:1952
+#: builtin/clone.c:938 builtin/receive-pack.c:1950
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:924
+#: builtin/clone.c:942
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:937
+#: builtin/clone.c:955
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:940
+#: builtin/clone.c:958
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:953
+#: builtin/clone.c:971
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:959 builtin/fetch.c:1610
+#: builtin/clone.c:977 builtin/fetch.c:1660
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:969
+#: builtin/clone.c:987
 #, 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:979
+#: builtin/clone.c:997
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264
-#: builtin/worktree.c:296 builtin/worktree.c:328
+#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264
+#: builtin/worktree.c:303 builtin/worktree.c:335
 #, 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:999
+#: builtin/clone.c:1017
 #, 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:1019
+#: builtin/clone.c:1037
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:1021
+#: builtin/clone.c:1039
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1045
+#: builtin/clone.c:1063
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -11066,41 +11416,41 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1106
+#: builtin/clone.c:1124
 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:1108
+#: builtin/clone.c:1126
 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:1110
+#: builtin/clone.c:1128
 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:1112
+#: builtin/clone.c:1130
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter est ignoré dans les clones locaux ; utilisez plutôt file:// ."
 
-#: builtin/clone.c:1115
+#: builtin/clone.c:1133
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1120
+#: builtin/clone.c:1138
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1197 builtin/clone.c:1205
+#: builtin/clone.c:1215 builtin/clone.c:1223
 #, 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:1208
+#: builtin/clone.c:1226
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -11149,7 +11499,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "le parent dupliqué %s est ignoré"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525
 #, c-format
 msgid "not a valid object name %s"
 msgstr "nom d'objet invalide %s"
@@ -11177,13 +11527,13 @@ msgstr "parent"
 msgid "id of a parent commit object"
 msgstr "id d'un objet commit parent"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
-#: builtin/tag.c:406
+#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460
+#: builtin/tag.c:412
 msgid "message"
 msgstr "message"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1480
+#: builtin/commit-tree.c:115 builtin/commit.c:1500
 msgid "commit message"
 msgstr "message de validation"
 
@@ -11191,8 +11541,8 @@ msgstr "message de validation"
 msgid "read commit log message from file"
 msgstr "lire le message de validation depuis un fichier"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283
-#: builtin/pull.c:193 builtin/revert.c:117
+#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287
+#: builtin/pull.c:194 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
@@ -11239,80 +11589,86 @@ msgstr ""
 "\n"
 
 #: builtin/commit.c:63
-msgid "Otherwise, please use 'git reset'\n"
-msgstr "Sinon, veuillez utiliser 'git reset'\n"
+msgid "Otherwise, please use 'git cherry-pick --skip'\n"
+msgstr "Sinon, veuillez utiliser 'git cherry-pick --skip'\n"
 
 #: builtin/commit.c:66
 msgid ""
+"and then use:\n"
+"\n"
+"    git cherry-pick --continue\n"
+"\n"
+"to resume cherry-picking the remaining commits.\n"
 "If you wish to skip this commit, use:\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --skip\n"
 "\n"
-"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
-"the remaining commits.\n"
 msgstr ""
-"Si vous souhaitez sauter ce commit, utilisez :\n"
+"utilisez ensuite :\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --continue\n"
+"\n"
+"pour continuer le picorage des commits restants.\n"
+"Si vous souhaitez sauter ce commit, utilisez :\n"
+"\n"
+"    git cherry-pick --skipped\n"
 "\n"
-"Puis \"git cherry-pick --continue\" continuera le picorage \n"
-"des commits restants.\n"
 
-#: builtin/commit.c:312
+#: builtin/commit.c:315
 msgid "failed to unpack HEAD tree object"
 msgstr "échec du dépaquetage de l'objet arbre HEAD"
 
-#: builtin/commit.c:353
+#: builtin/commit.c:356
 msgid "unable to create temporary index"
 msgstr "impossible de créer l'index temporaire"
 
-#: builtin/commit.c:359
+#: builtin/commit.c:362
 msgid "interactive add failed"
 msgstr "échec de l'ajout interactif"
 
-#: builtin/commit.c:373
+#: builtin/commit.c:376
 msgid "unable to update temporary index"
 msgstr "impossible de mettre à jour l'index temporaire"
 
-#: builtin/commit.c:375
+#: builtin/commit.c:378
 msgid "Failed to update main cache tree"
 msgstr "Impossible de mettre à jour l'arbre de cache principal"
 
-#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469
+#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472
 msgid "unable to write new_index file"
 msgstr "impossible d'écrire le fichier new_index"
 
-#: builtin/commit.c:452
+#: builtin/commit.c:455
 msgid "cannot do a partial commit during a merge."
 msgstr "impossible de faire une validation partielle pendant une fusion."
 
-#: builtin/commit.c:454
+#: builtin/commit.c:457
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "impossible de faire une validation partielle pendant un picorage."
 
-#: builtin/commit.c:462
+#: builtin/commit.c:465
 msgid "cannot read the index"
 msgstr "impossible de lire l'index"
 
-#: builtin/commit.c:481
+#: builtin/commit.c:484
 msgid "unable to write temporary index file"
 msgstr "impossible d'écrire le fichier d'index temporaire"
 
-#: builtin/commit.c:579
+#: builtin/commit.c:582
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "entête d'auteur manquant dans le commit '%s'"
 
-#: builtin/commit.c:581
+#: builtin/commit.c:584
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "le commit '%s' a une ligne d'auteur malformée"
 
-#: builtin/commit.c:600
+#: builtin/commit.c:603
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:653
+#: builtin/commit.c:656
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -11320,38 +11676,38 @@ msgstr ""
 "impossible de sélectionner un caractère de commentaire\n"
 "qui n'est pas utilisé dans le message de validation actuel"
 
-#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069
+#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:703 builtin/shortlog.c:319
+#: builtin/commit.c:706 builtin/shortlog.c:319
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
 
-#: builtin/commit.c:705
+#: builtin/commit.c:708
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:709
+#: builtin/commit.c:712
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:740 builtin/commit.c:756
+#: builtin/commit.c:743 builtin/commit.c:759
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:747
+#: builtin/commit.c:750
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:807
+#: builtin/commit.c:810
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:826
+#: builtin/commit.c:829
 #, c-format
 msgid ""
 "\n"
@@ -11366,7 +11722,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:834
 #, c-format
 msgid ""
 "\n"
@@ -11381,7 +11737,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:844
+#: builtin/commit.c:847
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11391,7 +11747,7 @@ msgstr ""
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:852
+#: builtin/commit.c:855
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11402,148 +11758,148 @@ msgstr ""
 "commençant par '%c' seront conservées ; vous pouvez les supprimer vous-même\n"
 "si vous le souhaitez. Un message vide abandonne la validation.\n"
 
-#: builtin/commit.c:869
+#: builtin/commit.c:872
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:877
+#: builtin/commit.c:880
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:884
+#: builtin/commit.c:887
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:902
+#: builtin/commit.c:905
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:969
+#: builtin/commit.c:972
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:983 builtin/tag.c:269
+#: builtin/commit.c:986 builtin/tag.c:275
 #, 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"
 
-#: builtin/commit.c:1027
+#: builtin/commit.c:1030
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "--author '%s' n'est pas de la forme 'Nom <email>' ni ne correspond à aucun "
 "auteur existant"
 
-#: builtin/commit.c:1041
+#: builtin/commit.c:1044
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Mode de fichier ignoré invalide '%s'"
 
-#: builtin/commit.c:1059 builtin/commit.c:1284
+#: builtin/commit.c:1062 builtin/commit.c:1304
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1097
+#: builtin/commit.c:1102
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1130
+#: builtin/commit.c:1146
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "L'utilisation simultanée de --reset-author et --author n'a pas de sens"
 
-#: builtin/commit.c:1139
+#: builtin/commit.c:1155
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1142
+#: builtin/commit.c:1158
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1144
+#: builtin/commit.c:1160
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "Vous êtes en plein picorage -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1147
+#: builtin/commit.c:1163
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Les options --squash et --fixup ne peuvent pas être utilisées ensemble"
 
-#: builtin/commit.c:1157
+#: builtin/commit.c:1173
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Une seule option parmi -c/-C/-F/--fixup peut être utilisée."
 
-#: builtin/commit.c:1159
+#: builtin/commit.c:1175
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "L'option -m ne peut pas être combinée avec -c/-C/-F."
 
-#: builtin/commit.c:1167
+#: builtin/commit.c:1183
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author ne peut être utilisé qu'avec -C, -c ou --amend."
 
-#: builtin/commit.c:1184
+#: builtin/commit.c:1200
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Une seule option parmi --include/--only/--all/--interactive/--patch peut "
 "être utilisée."
 
-#: builtin/commit.c:1186
+#: builtin/commit.c:1202
 msgid "No paths with --include/--only does not make sense."
 msgstr "Aucun chemin avec les options --include/--only n'a pas de sens."
 
-#: builtin/commit.c:1192
+#: builtin/commit.c:1208
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "des chemins '%s ...' avec l'option -a n'a pas de sens"
 
-#: builtin/commit.c:1319 builtin/commit.c:1503
+#: builtin/commit.c:1339 builtin/commit.c:1523
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1321 builtin/commit.c:1505
+#: builtin/commit.c:1341 builtin/commit.c:1525
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1323
+#: builtin/commit.c:1343
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1325 builtin/commit.c:1507
+#: builtin/commit.c:1345 builtin/commit.c:1527
 msgid "compute full ahead/behind values"
 msgstr "calcule les valeurs complètes en avance/en retard"
 
-#: builtin/commit.c:1327
+#: builtin/commit.c:1347
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
-#: builtin/worktree.c:643
+#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561
+#: builtin/worktree.c:651
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1330 builtin/commit.c:1511
+#: builtin/commit.c:1350 builtin/commit.c:1531
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1333 builtin/commit.c:1514
+#: builtin/commit.c:1353 builtin/commit.c:1534
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
-#: parse-options.h:331
+#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
+#: builtin/fast-export.c:1125 builtin/fast-export.c:1128
+#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1336 builtin/commit.c:1517
+#: builtin/commit.c:1356 builtin/commit.c:1537
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "afficher les fichiers non suivis, \"mode\" facultatif : all (tous), normal, "
 "no. (Défaut : all)"
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1360
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -11551,11 +11907,11 @@ msgstr ""
 "afficher les fichiers ignorés, \"mode\" facultatif : traditional "
 "(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1342 parse-options.h:179
+#: builtin/commit.c:1362 parse-options.h:179
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1363
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -11563,238 +11919,256 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1365
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1346
+#: builtin/commit.c:1366
 msgid "do not detect renames"
 msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1368
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 "détecter les renommages, en spécifiant optionnellement le facteur de "
 "similarité"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1388
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Combinaison non supportée d'arguments sur les fichiers ignorés et non-suivis"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1493
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1494
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1496
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
+#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1498
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1498
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1479 builtin/gc.c:539
+#: builtin/commit.c:1499 builtin/gc.c:539
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1499
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
-#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
+#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503
+#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1481
+#: builtin/commit.c:1501
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1502
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1503
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour corriger le commit spécifié"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1504
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour compresser le commit spécifié"
 
-#: builtin/commit.c:1485
+#: builtin/commit.c:1505
 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:1486 builtin/log.c:1541 builtin/merge.c:285
-#: builtin/pull.c:162 builtin/revert.c:109
+#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289
+#: builtin/pull.c:163 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1507
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1488
+#: builtin/commit.c:1508
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1490
+#: builtin/commit.c:1510
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1515
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1516
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1517
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1518
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1519
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1520
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1521
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1522
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1535
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1536
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1541
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1543
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1616
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1623
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1642
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1649
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Abandon de la validation dû à un message de validation vide.\n"
 
-#: builtin/commit.c:1634
+#: builtin/commit.c:1654
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Abandon de la validation ; vous n'avez pas édité le message\n"
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1688
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git reset HEAD\" to recover."
+"not exceeded, and then \"git restore --staged :/\" to recover."
 msgstr ""
 "le dépôt a été mis à jour, mais impossible d'écrire le fichier\n"
 "new_index. Vérifiez que le disque n'est pas plein ou que le quota\n"
-"n'a pas été dépassé, puis lancez \"git reset HEAD\" pour réparer."
+"n'a pas été dépassé, puis lancez \"git restore --staged :/\" pour réparer."
 
-#: builtin/commit-graph.c:10
+#: builtin/commit-graph.c:11
 msgid "git commit-graph [--object-dir <objdir>]"
 msgstr "git commit-graph [--object-dir <objdir>]"
 
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
 msgid "git commit-graph read [--object-dir <objdir>]"
 msgstr "git commit-graph read [--object-dir <objdir>]"
 
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:18
-msgid "git commit-graph verify [--object-dir <objdir>]"
-msgstr "git commit-graph verify [--object-dir <objdir>]"
+#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
+msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]"
+msgstr "git commit-graph verify [--object-dir <objdir>] [--shallow]"
 
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:28
+#: builtin/commit-graph.c:14 builtin/commit-graph.c:29
 msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
-"stdin-packs|--stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
+"reachable|--stdin-packs|--stdin-commits] <split options>"
 msgstr ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
-"stdin-packs|--stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
+"reachable|--stdin-packs|--stdin-commits] <options de division>"
 
-#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
-#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
-#: builtin/log.c:1561
+#: builtin/commit-graph.c:54 builtin/commit-graph.c:100
+#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163
+#: builtin/log.c:1584
 msgid "dir"
 msgstr "répertoire"
 
-#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
-#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
+#: builtin/commit-graph.c:55 builtin/commit-graph.c:101
+#: builtin/commit-graph.c:162 builtin/commit-graph.c:238
 msgid "The object directory to store the graph"
 msgstr "Le répertoire d'objet où stocker le graphe"
 
-#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
+#: builtin/commit-graph.c:57
+msgid "if the commit-graph is split, only verify the tip file"
+msgstr ""
+"si le graphe de commit est divisé, vérifier seulement le fichier sommet"
+
+#: builtin/commit-graph.c:73 builtin/commit-graph.c:116
 #, c-format
 msgid "Could not open commit-graph '%s'"
 msgstr "impossible d'ouvrir le graphe de commit '%s'"
 
-#: builtin/commit-graph.c:150
+#: builtin/commit-graph.c:164
 msgid "start walk at all refs"
 msgstr "commencer le parcours à toutes les réfs"
 
-#: builtin/commit-graph.c:152
+#: builtin/commit-graph.c:166
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "scanner les index compactés listés sur stdin à la recherche de commits"
 
-#: builtin/commit-graph.c:154
+#: builtin/commit-graph.c:168
 msgid "start walk at commits listed by stdin"
 msgstr "commencer le parcours aux commits listés sur stdin"
 
-#: builtin/commit-graph.c:156
+#: builtin/commit-graph.c:170
 msgid "include all commits already in the commit-graph file"
 msgstr ""
 "inclure tous les commits déjà présents dans le fichier de graphe de commits"
 
-#: builtin/commit-graph.c:165
+#: builtin/commit-graph.c:172
+msgid "allow writing an incremental commit-graph file"
+msgstr "permettre d'écrire un fichier incrémental de graphe de commit"
+
+#: builtin/commit-graph.c:174 builtin/commit-graph.c:178
+msgid "maximum number of commits in a non-base split commit-graph"
+msgstr ""
+"le nombre maximum de commits dans un graphe de commit divisé pas de base"
+
+#: builtin/commit-graph.c:176
+msgid "maximum ratio between two levels of a split commit-graph"
+msgstr "rapport maximum entre deux niveaux d'un graphe de commit divisé"
+
+#: builtin/commit-graph.c:191
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 
@@ -11802,7 +12176,7 @@ msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 msgid "git config [<options>]"
 msgstr "git config [<options>]"
 
-#: builtin/config.c:103
+#: builtin/config.c:103 builtin/env--helper.c:23
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr "argument --type non reconnu, %s"
@@ -11908,7 +12282,7 @@ msgstr "trouver le réglage de la couleur : slot [stdout-est-tty]"
 msgid "Type"
 msgstr "Type"
 
-#: builtin/config.c:147
+#: builtin/config.c:147 builtin/env--helper.c:38
 msgid "value is given this type"
 msgstr "ce type est assigné à la valeur"
 
@@ -11954,7 +12328,7 @@ msgstr ""
 "afficher l'origine de la configuration (fichier, entrée standard, blob, "
 "ligne de commande)"
 
-#: builtin/config.c:158
+#: builtin/config.c:158 builtin/env--helper.c:40
 msgid "value"
 msgstr "valeur"
 
@@ -12254,7 +12628,7 @@ msgstr "ne considérer que les étiquettes correspondant à <motif>"
 msgid "do not consider tags matching <pattern>"
 msgstr "ne pas considérer les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:551 builtin/name-rev.c:426
+#: builtin/describe.c:551 builtin/name-rev.c:422
 msgid "show abbreviated commit object as fallback"
 msgstr "afficher les objets commits abrégés en dernier recours"
 
@@ -12430,162 +12804,201 @@ msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
+#: builtin/env--helper.c:6
+msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
+msgstr "git env--helper --type=[bool|ulong] <options> <var d'env>"
+
+#: builtin/env--helper.c:37 builtin/hash-object.c:98
+msgid "type"
+msgstr "type"
+
+#: builtin/env--helper.c:41
+msgid "default for git_env_*(...) to fall back on"
+msgstr "valeur par défaut pour git_env_*(...) en cas d'absence"
+
+#: builtin/env--helper.c:43
+msgid "be quiet only use git_env_*() value as exit code"
+msgstr ""
+"mode silencieux n'utilisant la valeur de git_env_*() que pour le code de "
+"sortie"
+
+#: builtin/env--helper.c:62
+#, c-format
+msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
+msgstr ""
+"l'option `--default` attend une valeur booléenne avec `--type=bool`, pas `%s`"
+
+#: builtin/env--helper.c:77
+#, c-format
+msgid ""
+"option `--default' expects an unsigned long value with `--type=ulong`, not `"
+"%s`"
+msgstr ""
+"l'option `--default` attend une valeur entier long non signé avec `--"
+"type=ulong`, pas `%s`"
+
 #: builtin/fast-export.c:29
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
 
-#: builtin/fast-export.c:1084
+#: builtin/fast-export.c:1124
 msgid "show progress after <n> objects"
 msgstr "afficher la progression après <n> objets"
 
-#: builtin/fast-export.c:1086
+#: builtin/fast-export.c:1126
 msgid "select handling of signed tags"
 msgstr "sélectionner la gestion des étiquettes signées"
 
-#: builtin/fast-export.c:1089
+#: builtin/fast-export.c:1129
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 "sélectionner la gestion des étiquettes qui pointent sur des objets filtrés"
 
-#: builtin/fast-export.c:1092
+#: builtin/fast-export.c:1132
+msgid "select handling of commit messages in an alternate encoding"
+msgstr ""
+"sélectionner la gestion des messages de validation dans un encodage "
+"alternatif"
+
+#: builtin/fast-export.c:1135
 msgid "Dump marks to this file"
 msgstr "Enregistrer les marques dans ce fichier"
 
-#: builtin/fast-export.c:1094
+#: builtin/fast-export.c:1137
 msgid "Import marks from this file"
 msgstr "importer les marques depuis ce fichier"
 
-#: builtin/fast-export.c:1096
+#: builtin/fast-export.c:1139
 msgid "Fake a tagger when tags lack one"
 msgstr "falsifier un auteur d'étiquette si l'étiquette n'en présente pas"
 
-#: builtin/fast-export.c:1098
+#: builtin/fast-export.c:1141
 msgid "Output full tree for each commit"
 msgstr "Afficher l'arbre complet pour chaque commit"
 
-#: builtin/fast-export.c:1100
+#: builtin/fast-export.c:1143
 msgid "Use the done feature to terminate the stream"
 msgstr "Utiliser la fonction \"done\" pour terminer le flux"
 
-#: builtin/fast-export.c:1101
+#: builtin/fast-export.c:1144
 msgid "Skip output of blob data"
 msgstr "Sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1102 builtin/log.c:1609
+#: builtin/fast-export.c:1145 builtin/log.c:1632
 msgid "refspec"
 msgstr "spécificateur de référence"
 
-#: builtin/fast-export.c:1103
+#: builtin/fast-export.c:1146
 msgid "Apply refspec to exported refs"
 msgstr "Appliquer le spécificateur de référence aux références exportées"
 
-#: builtin/fast-export.c:1104
+#: builtin/fast-export.c:1147
 msgid "anonymize output"
 msgstr "anonymise la sortie"
 
-#: builtin/fast-export.c:1106
+#: builtin/fast-export.c:1149
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 "les parents références qui ne sont pas dans le flux d'export rapide par id "
 "d'objet"
 
-#: builtin/fast-export.c:1108
+#: builtin/fast-export.c:1151
 msgid "Show original object ids of blobs/commits"
 msgstr "Afficher les ids d'objet originaux des blobs/commits"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:30
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:31
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<options>] <groupe>"
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:32
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]"
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:33
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<options>]"
 
-#: builtin/fetch.c:115 builtin/pull.c:202
+#: builtin/fetch.c:125 builtin/pull.c:203
 msgid "fetch from all remotes"
 msgstr "récupérer depuis tous les dépôts distants"
 
-#: builtin/fetch.c:117 builtin/pull.c:205
+#: builtin/fetch.c:127 builtin/pull.c:206
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser"
 
-#: builtin/fetch.c:119 builtin/pull.c:208
+#: builtin/fetch.c:129 builtin/pull.c:209
 msgid "path to upload pack on remote end"
 msgstr "chemin vers lequel télécharger le paquet sur le poste distant"
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:130
 msgid "force overwrite of local reference"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:132
 msgid "fetch from multiple remotes"
 msgstr "récupérer depuis plusieurs dépôts distants"
 
-#: builtin/fetch.c:124 builtin/pull.c:212
+#: builtin/fetch.c:134 builtin/pull.c:213
 msgid "fetch all tags and associated objects"
 msgstr "récupérer toutes les étiquettes et leurs objets associés"
 
-#: builtin/fetch.c:126
+#: builtin/fetch.c:136
 msgid "do not fetch all tags (--no-tags)"
 msgstr "ne pas récupérer toutes les étiquettes (--no-tags)"
 
-#: builtin/fetch.c:128
+#: builtin/fetch.c:138
 msgid "number of submodules fetched in parallel"
 msgstr "nombre de sous-modules récupérés en parallèle"
 
-#: builtin/fetch.c:130 builtin/pull.c:215
+#: builtin/fetch.c:140 builtin/pull.c:216
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "éliminer les branches de suivi distant si la branche n'existe plus dans le "
 "dépôt distant"
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:142
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 "éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
 "encombrent les étiquettes modifiées"
 
-#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139
+#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140
 msgid "on-demand"
 msgstr "à la demande"
 
-#: builtin/fetch.c:134
+#: builtin/fetch.c:144
 msgid "control recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/fetch.c:138 builtin/pull.c:223
+#: builtin/fetch.c:148 builtin/pull.c:224
 msgid "keep downloaded pack"
 msgstr "conserver le paquet téléchargé"
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:150
 msgid "allow updating of HEAD ref"
 msgstr "permettre la mise à jour de la référence HEAD"
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
+#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227
 msgid "deepen history of shallow clone"
 msgstr "approfondir l'historique d'un clone superficiel"
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:155
 msgid "deepen history of shallow repository based on time"
 msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date"
 
-#: builtin/fetch.c:151 builtin/pull.c:229
+#: builtin/fetch.c:161 builtin/pull.c:230
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:164
 msgid "prepend this to submodule path output"
 msgstr "préfixer ceci à la sortie du chemin du sous-module"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:167
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -12593,99 +13006,129 @@ msgstr ""
 "par défaut pour la récupération récursive de sous-modules (priorité plus "
 "basse que les fichiers de config)"
 
-#: builtin/fetch.c:161 builtin/pull.c:232
+#: builtin/fetch.c:171 builtin/pull.c:233
 msgid "accept refs that update .git/shallow"
 msgstr "accepter les références qui mettent à jour .git/shallow"
 
-#: builtin/fetch.c:162 builtin/pull.c:234
+#: builtin/fetch.c:172 builtin/pull.c:235
 msgid "refmap"
 msgstr "correspondance de référence"
 
-#: builtin/fetch.c:163 builtin/pull.c:235
+#: builtin/fetch.c:173 builtin/pull.c:236
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:170
+#: builtin/fetch.c:180
 msgid "report that we have only objects reachable from this object"
 msgstr "rapporte que nous n'avons que des objets joignables depuis cet objet"
 
-#: builtin/fetch.c:469
+#: builtin/fetch.c:183
+msgid "run 'gc --auto' after fetching"
+msgstr "lancer 'gc --auto' après la récupération"
+
+#: builtin/fetch.c:185 builtin/pull.c:245
+msgid "check for forced-updates on all updated branches"
+msgstr "vérifier les mises à jour forcées sur toutes les branches mises à jour"
+
+#: builtin/fetch.c:491
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:630
 #, 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:705
+#: builtin/fetch.c:728
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:709
+#: builtin/fetch.c:732
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801
+#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:723
+#: builtin/fetch.c:746
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:733
+#: builtin/fetch.c:756
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784
-#: builtin/fetch.c:796
+#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816
+#: builtin/fetch.c:828
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:738
+#: builtin/fetch.c:761
 msgid "would clobber existing tag"
 msgstr "écraserait l'étiquette existante"
 
-#: builtin/fetch.c:760
+#: builtin/fetch.c:783
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:763
+#: builtin/fetch.c:786
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:789
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:828
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:801
+#: builtin/fetch.c:833
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:847
+#: builtin/fetch.c:854
+msgid ""
+"Fetch normally indicates which branches had a forced update,\n"
+"but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
+"flag or run 'git config fetch.showForcedUpdates true'."
+msgstr ""
+"Fetch indique normalement quelles branches ont subi une mise à jour forcée,\n"
+"mais ceci a été désactivé. Pour ré-activer, utilisez le drapeau\n"
+"'--show-forced-update' ou lancez 'git config fetch.showForcedUpdates true'."
+
+#: builtin/fetch.c:858
+#, c-format
+msgid ""
+"It took %.2f seconds to check forced updates. You can use\n"
+"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
+"false'\n"
+" to avoid this check.\n"
+msgstr ""
+"%.2f secondes ont été nécessaires pour vérifier les mises à jour forcées.\n"
+"Vous pouvez utiliser '--no-show-forced-update' ou lancer\n"
+"'git config fetch.showForcedUpdates false' pour éviter ceci.\n"
+
+#: builtin/fetch.c:888
 #, 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:868
+#: builtin/fetch.c:909
 #, 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:959 builtin/fetch.c:1081
+#: builtin/fetch.c:1000 builtin/fetch.c:1131
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:970
+#: builtin/fetch.c:1011
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -12694,50 +13137,50 @@ 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:1051
+#: builtin/fetch.c:1101
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:1052
+#: builtin/fetch.c:1102
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:1084
+#: builtin/fetch.c:1134
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:1085 builtin/remote.c:1036
+#: builtin/fetch.c:1135 builtin/remote.c:1036
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:1108
+#: builtin/fetch.c:1158
 #, 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:1127
+#: builtin/fetch.c:1177
 #, 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:1130
+#: builtin/fetch.c:1180
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1434
+#: builtin/fetch.c:1484
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1436 builtin/remote.c:100
+#: builtin/fetch.c:1486 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1482
+#: builtin/fetch.c:1532
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialClone"
@@ -12745,7 +13188,7 @@ msgstr ""
 "--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
 "extensions.partialClone"
 
-#: builtin/fetch.c:1506
+#: builtin/fetch.c:1556
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -12753,46 +13196,46 @@ 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:1543
+#: builtin/fetch.c:1593
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1644
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1596
+#: builtin/fetch.c:1646
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1601
+#: builtin/fetch.c:1651
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1603
+#: builtin/fetch.c:1653
 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:1619
+#: builtin/fetch.c:1669
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1621
+#: builtin/fetch.c:1671
 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:1630
+#: builtin/fetch.c:1680
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1637
+#: builtin/fetch.c:1687
 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 "
 "sens"
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1703
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -12862,7 +13305,7 @@ 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:39 builtin/tag.c:433
+#: builtin/for-each-ref.c:39 builtin/tag.c:439
 msgid "respect format colors"
 msgstr "respecter les couleurs de formatage"
 
@@ -13030,7 +13473,7 @@ msgstr "Vérification des répertoires d'objet"
 msgid "Checking %s link"
 msgstr "Vérification du lien %s"
 
-#: builtin/fsck.c:705 builtin/index-pack.c:841
+#: builtin/fsck.c:705 builtin/index-pack.c:842
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
@@ -13116,7 +13559,7 @@ msgstr "afficher la progression"
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:224
+#: builtin/fsck.c:859 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
@@ -13149,7 +13592,7 @@ msgstr "échec de l'analyse de '%s' valeur '%s'"
 msgid "cannot stat '%s'"
 msgstr "impossible de faire un stat de '%s'"
 
-#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
@@ -13227,7 +13670,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:693
+#: builtin/gc.c:695
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -13252,266 +13695,266 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
-#: builtin/pack-objects.c:2720
+#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727
+#: builtin/pack-objects.c:2728
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631
+#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:646
+#: builtin/grep.c:648
 #, 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:712
+#: builtin/grep.c:714
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend une valeur numérique"
 
-#: builtin/grep.c:811
+#: builtin/grep.c:813
 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:813
+#: builtin/grep.c:815
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:817
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:817
+#: builtin/grep.c:819
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:821
 msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:822
+#: builtin/grep.c:824
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:826
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:826
+#: builtin/grep.c:828
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:830
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:830
+#: builtin/grep.c:832
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:833
+#: builtin/grep.c:835
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:835
+#: builtin/grep.c:837
 msgid "search in subdirectories (default)"
 msgstr "rechercher dans les sous-répertoires (défaut)"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:839
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:843
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:844
+#: builtin/grep.c:846
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:847
+#: builtin/grep.c:849
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:852
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:855
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:854
+#: builtin/grep.c:856
 msgid "show column number of first match"
 msgstr "afficher le numéro de colonne de la première correspondance"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:857
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:858
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:860
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:862
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:864
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:867
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:867
+#: builtin/grep.c:869
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:872
 msgid "show only matching parts of a line"
 msgstr "n'afficher que les parties correspondantes d'une ligne"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:874
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:873
+#: builtin/grep.c:875
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:877
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:879
 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:880
+#: builtin/grep.c:882
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:883
+#: builtin/grep.c:885
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:887
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:890
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:891
+#: builtin/grep.c:893
 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:893
+#: builtin/grep.c:895
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:898
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:900
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:902
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:914
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:914
+#: builtin/grep.c:916
 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:916
+#: builtin/grep.c:918
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:922
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:922
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:924
+#: builtin/grep.c:926
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:988
+#: builtin/grep.c:990
 msgid "no pattern given"
 msgstr "aucun motif fourni"
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1026
 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:1032
+#: builtin/grep.c:1034
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "impossible de résoudre la révision : %s"
 
-#: builtin/grep.c:1063
+#: builtin/grep.c:1065
 msgid "invalid option combination, ignoring --threads"
 msgstr "option de combinaison invalide, ignore --threads"
 
-#: builtin/grep.c:1066 builtin/pack-objects.c:3403
+#: builtin/grep.c:1068 builtin/pack-objects.c:3416
 msgid "no threads support, ignoring --threads"
 msgstr "pas de support des fils, ignore --threads"
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
+#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1092
+#: builtin/grep.c:1094
 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:1115
+#: builtin/grep.c:1117
 msgid "option not supported with --recurse-submodules"
 msgstr "option non supportée avec --recurse-submodules"
 
-#: builtin/grep.c:1121
+#: builtin/grep.c:1123
 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:1127
+#: builtin/grep.c:1129
 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:1135
+#: builtin/grep.c:1137
 msgid "both --cached and trees are given"
 msgstr "--cached et des arbres sont fournis en même temps"
 
@@ -13527,10 +13970,6 @@ msgstr ""
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:98
-msgid "type"
-msgstr "type"
-
 #: builtin/hash-object.c:98
 msgid "object type"
 msgstr "type d'objet"
@@ -13648,12 +14087,12 @@ msgstr "aucun visualiseur de manuel n'a pris en charge la demande"
 msgid "no info viewer handled the request"
 msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
 
-#: builtin/help.c:434 builtin/help.c:445 git.c:335
+#: builtin/help.c:434 builtin/help.c:445 git.c:336
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' est un alias de '%s'"
 
-#: builtin/help.c:448 git.c:364
+#: builtin/help.c:448 git.c:365
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "Mauvais chaîne alias.%s : %s"
@@ -13667,291 +14106,286 @@ msgstr "usage : %s%s"
 msgid "'git help config' for more information"
 msgstr "'git help config' pour plus d'information"
 
-#: builtin/index-pack.c:184
+#: builtin/index-pack.c:185
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "type d'objet non correspondant à %s"
 
-#: builtin/index-pack.c:204
+#: builtin/index-pack.c:205
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "objet attendu non reçu %s"
 
-#: builtin/index-pack.c:207
+#: builtin/index-pack.c:208
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "objet %s : type attendu %s, reçu %s"
 
-#: builtin/index-pack.c:257
+#: builtin/index-pack.c:258
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "impossible de remplir %d octet"
 msgstr[1] "impossible de remplir %d octets"
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:268
 msgid "early EOF"
 msgstr "fin de fichier prématurée"
 
-#: builtin/index-pack.c:268
+#: builtin/index-pack.c:269
 msgid "read error on input"
 msgstr "erreur de lecture sur l'entrée"
 
-#: builtin/index-pack.c:280
+#: builtin/index-pack.c:281
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: builtin/index-pack.c:287 builtin/pack-objects.c:600
+#: builtin/index-pack.c:288 builtin/pack-objects.c:604
 msgid "pack too large for current definition of off_t"
 msgstr "le paquet est trop grand pour la définition actuelle de off_t"
 
-#: builtin/index-pack.c:290 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:291 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "le paquet dépasse la taille maximale permise"
 
-#: builtin/index-pack.c:305 builtin/repack.c:250
-#, c-format
-msgid "unable to create '%s'"
-msgstr "impossible de créer '%s'"
-
-#: builtin/index-pack.c:311
+#: builtin/index-pack.c:312
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "impossible d'ouvrir le fichier paquet '%s'"
 
-#: builtin/index-pack.c:325
+#: builtin/index-pack.c:326
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:327
+#: builtin/index-pack.c:328
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:345
+#: builtin/index-pack.c:346
 #, 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:465
+#: builtin/index-pack.c:466
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:514
+#: builtin/index-pack.c:515
 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:522
+#: builtin/index-pack.c:523
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:531
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:561
+#: builtin/index-pack.c:562
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:563
+#: builtin/index-pack.c:564
 #, 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:589
+#: builtin/index-pack.c:590
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
-#: builtin/index-pack.c:802 builtin/index-pack.c:811
+#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764
+#: builtin/index-pack.c:803 builtin/index-pack.c:812
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:737 builtin/pack-objects.c:153
-#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
+#: builtin/index-pack.c:738 builtin/pack-objects.c:157
+#: builtin/pack-objects.c:217 builtin/pack-objects.c:311
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:801
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:808
+#: builtin/index-pack.c:809
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:822
+#: builtin/index-pack.c:823
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:825 builtin/index-pack.c:844
+#: builtin/index-pack.c:826 builtin/index-pack.c:845
 msgid "fsck error in packed object"
 msgstr "erreur de fsck dans l'objet empaqueté"
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:847
 #, 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:918 builtin/index-pack.c:949
+#: builtin/index-pack.c:919 builtin/index-pack.c:950
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1118
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1118
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1152
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1157
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1159
+#: builtin/index-pack.c:1160
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1171
+#: builtin/index-pack.c:1172
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1194
+#: builtin/index-pack.c:1195
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
+#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1245
+#: builtin/index-pack.c:1246
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1251
+#: builtin/index-pack.c:1252
 #, 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:1263
+#: builtin/index-pack.c:1264
 #, 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:1267
+#: builtin/index-pack.c:1268
 #, 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:1291
+#: builtin/index-pack.c:1292
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1368
+#: builtin/index-pack.c:1388
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1382
+#: builtin/index-pack.c:1402
 #, 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:1407
+#: builtin/index-pack.c:1427
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1415
+#: builtin/index-pack.c:1435
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "impossible de fermer le fichier %s écrit '%s'"
 
-#: builtin/index-pack.c:1439
+#: builtin/index-pack.c:1459
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1473
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1461
+#: builtin/index-pack.c:1481
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
+#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1573
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1575
+#: builtin/index-pack.c:1595
 #, 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:1623
+#: builtin/index-pack.c:1643
 #, 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:1630
+#: builtin/index-pack.c:1650
 #, 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:1667
+#: builtin/index-pack.c:1689
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: builtin/index-pack.c:1716 builtin/index-pack.c:1719
-#: builtin/index-pack.c:1735 builtin/index-pack.c:1739
+#: builtin/index-pack.c:1738 builtin/index-pack.c:1741
+#: builtin/index-pack.c:1757 builtin/index-pack.c:1761
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1777
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1757
+#: builtin/index-pack.c:1779
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1763
+#: builtin/index-pack.c:1785
 msgid &