]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: fr v2.34.0 rnd1
authorJean-Noël Avila <jn.avila@free.fr>
Sun, 31 Oct 2021 16:42:35 +0000 (17:42 +0100)
committerJean-Noël Avila <jn.avila@free.fr>
Sun, 31 Oct 2021 16:48:23 +0000 (17:48 +0100)
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
po/fr.po

index 59481a7d706bea4764556eb051fb89b2165798a5..558fb8f32f2183ede85e7e2c490d0c5747225ce7 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -51,6 +51,7 @@
 #   to prune         |  éliminer
 #   to push          |  pousser
 #   to rebase        |  rebaser
+#   scheduler        |  planificateur
 #   trailers         |  lignes terminales
 #   repository       |  dépôt
 #   remote           |  distante (ou serveur distant)
@@ -76,8 +77,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2021-08-14 07:56+0800\n"
-"PO-Revision-Date: 2021-08-14 08:28+0200\n"
+"POT-Creation-Date: 2021-10-30 09:36+0800\n"
+"PO-Revision-Date: 2021-10-31 17:47+0100\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"
@@ -87,216 +88,216 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 "X-Generator: Poedit 2.4.2\n"
 
-#: add-interactive.c:376
+#: add-interactive.c:380
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hein (%s) ?"
 
-#: add-interactive.c:529 add-interactive.c:830 reset.c:64 sequencer.c:3493
-#: sequencer.c:3964 sequencer.c:4119 builtin/rebase.c:1528
-#: builtin/rebase.c:1953
+#: add-interactive.c:533 add-interactive.c:834 reset.c:65 sequencer.c:3510
+#: sequencer.c:3977 sequencer.c:4139 builtin/rebase.c:1233
+#: builtin/rebase.c:1642
 msgid "could not read index"
 msgstr "impossible de lire l'index"
 
-#: add-interactive.c:584 git-add--interactive.perl:269
+#: add-interactive.c:588 git-add--interactive.perl:269
 #: git-add--interactive.perl:294
 msgid "binary"
 msgstr "binaire"
 
-#: add-interactive.c:642 git-add--interactive.perl:278
+#: add-interactive.c:646 git-add--interactive.perl:278
 #: git-add--interactive.perl:332
 msgid "nothing"
 msgstr "rien"
 
-#: add-interactive.c:643 git-add--interactive.perl:314
+#: add-interactive.c:647 git-add--interactive.perl:314
 #: git-add--interactive.perl:329
 msgid "unchanged"
 msgstr "inchangé"
 
-#: add-interactive.c:680 git-add--interactive.perl:641
+#: add-interactive.c:684 git-add--interactive.perl:641
 msgid "Update"
 msgstr "Mise à jour"
 
-#: add-interactive.c:697 add-interactive.c:885
+#: add-interactive.c:701 add-interactive.c:889
 #, c-format
 msgid "could not stage '%s'"
 msgstr "impossible d'indexer '%s'"
 
-#: add-interactive.c:703 add-interactive.c:892 reset.c:88 sequencer.c:3707
+#: add-interactive.c:707 add-interactive.c:896 reset.c:89 sequencer.c:3716
 msgid "could not write index"
 msgstr "impossible d'écrire l'index"
 
-#: add-interactive.c:706 git-add--interactive.perl:626
+#: add-interactive.c:710 git-add--interactive.perl:626
 #, c-format, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "%d chemin mis à jour\n"
 msgstr[1] "%d chemins mis à jour\n"
 
-#: add-interactive.c:724 git-add--interactive.perl:676
+#: add-interactive.c:728 git-add--interactive.perl:676
 #, c-format, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "note : %s n'est plus suivi à présent.\n"
 
-#: add-interactive.c:729 apply.c:4127 builtin/checkout.c:298
-#: builtin/reset.c:145
+#: add-interactive.c:733 apply.c:4149 builtin/checkout.c:298
+#: builtin/reset.c:151
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: add-interactive.c:759 git-add--interactive.perl:653
+#: add-interactive.c:763 git-add--interactive.perl:653
 msgid "Revert"
 msgstr "Inverser"
 
-#: add-interactive.c:775
+#: add-interactive.c:779
 msgid "Could not parse HEAD^{tree}"
 msgstr "Impossible d'analyser HEAD^{tree}"
 
-#: add-interactive.c:813 git-add--interactive.perl:629
+#: add-interactive.c:817 git-add--interactive.perl:629
 #, c-format, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "%d chemin inversé\n"
 msgstr[1] "%d chemins inversés\n"
 
-#: add-interactive.c:864 git-add--interactive.perl:693
+#: add-interactive.c:868 git-add--interactive.perl:693
 #, c-format
 msgid "No untracked files.\n"
 msgstr "Aucun Fichier non suivi.\n"
 
-#: add-interactive.c:868 git-add--interactive.perl:687
+#: add-interactive.c:872 git-add--interactive.perl:687
 msgid "Add untracked"
 msgstr "Ajouter un fichier non-suivi"
 
-#: add-interactive.c:895 git-add--interactive.perl:623
+#: add-interactive.c:899 git-add--interactive.perl:623
 #, c-format, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "%d chemin ajouté\n"
 msgstr[1] "%d chemins ajoutés\n"
 
-#: add-interactive.c:925
+#: add-interactive.c:929
 #, c-format
 msgid "ignoring unmerged: %s"
 msgstr "fichier non-fusionné ignoré : %s"
 
-#: add-interactive.c:937 add-patch.c:1752 git-add--interactive.perl:1369
+#: add-interactive.c:941 add-patch.c:1752 git-add--interactive.perl:1369
 #, c-format
 msgid "Only binary files changed.\n"
 msgstr "Seuls des fichiers binaires ont changé.\n"
 
-#: add-interactive.c:939 add-patch.c:1750 git-add--interactive.perl:1371
+#: add-interactive.c:943 add-patch.c:1750 git-add--interactive.perl:1371
 #, c-format
 msgid "No changes.\n"
 msgstr "Aucune modification.\n"
 
-#: add-interactive.c:943 git-add--interactive.perl:1379
+#: add-interactive.c:947 git-add--interactive.perl:1379
 msgid "Patch update"
 msgstr "Mise à jour par patch"
 
-#: add-interactive.c:982 git-add--interactive.perl:1792
+#: add-interactive.c:986 git-add--interactive.perl:1792
 msgid "Review diff"
 msgstr "Réviser la différence"
 
-#: add-interactive.c:1010
+#: add-interactive.c:1014
 msgid "show paths with changes"
 msgstr "afficher les chemins comprenant des modifications"
 
-#: add-interactive.c:1012
+#: add-interactive.c:1016
 msgid "add working tree state to the staged set of changes"
 msgstr ""
 "ajouter l'état de l'arbre de travail à l'ensemble des modifications indexées"
 
-#: add-interactive.c:1014
+#: add-interactive.c:1018
 msgid "revert staged set of changes back to the HEAD version"
 msgstr "retourner l'ensemble de modifications indexées à la version HEAD"
 
-#: add-interactive.c:1016
+#: add-interactive.c:1020
 msgid "pick hunks and update selectively"
 msgstr "sélection et mise à jour individuelle des sections"
 
-#: add-interactive.c:1018
+#: add-interactive.c:1022
 msgid "view diff between HEAD and index"
 msgstr "visualiser les diffs entre HEAD et l'index"
 
-#: add-interactive.c:1020
+#: add-interactive.c:1024
 msgid "add contents of untracked files to the staged set of changes"
 msgstr ""
 "ajouter le contenu des fichiers non-suivis à l'ensemble des modifications "
 "indexées"
 
-#: add-interactive.c:1028 add-interactive.c:1077
+#: add-interactive.c:1032 add-interactive.c:1081
 msgid "Prompt help:"
 msgstr "Aide :"
 
-#: add-interactive.c:1030
+#: add-interactive.c:1034
 msgid "select a single item"
 msgstr "sélectionner un seul élément"
 
-#: add-interactive.c:1032
+#: add-interactive.c:1036
 msgid "select a range of items"
 msgstr "sélectionner une plage d'éléments"
 
-#: add-interactive.c:1034
+#: add-interactive.c:1038
 msgid "select multiple ranges"
 msgstr "sélectionner plusieurs plages"
 
-#: add-interactive.c:1036 add-interactive.c:1081
+#: add-interactive.c:1040 add-interactive.c:1085
 msgid "select item based on unique prefix"
 msgstr "sélectionner un élément basé sur une préfixe unique"
 
-#: add-interactive.c:1038
+#: add-interactive.c:1042
 msgid "unselect specified items"
 msgstr "désélectionner les éléments spécifiés"
 
-#: add-interactive.c:1040
+#: add-interactive.c:1044
 msgid "choose all items"
 msgstr "choisir tous les éléments"
 
-#: add-interactive.c:1042
+#: add-interactive.c:1046
 msgid "(empty) finish selecting"
 msgstr "(vide) arrêter de sélectionner"
 
-#: add-interactive.c:1079
+#: add-interactive.c:1083
 msgid "select a numbered item"
 msgstr "sélectionner un élément par son numéro"
 
-#: add-interactive.c:1083
+#: add-interactive.c:1087
 msgid "(empty) select nothing"
 msgstr "(vide) ne rien sélectionner"
 
-#: add-interactive.c:1091 builtin/clean.c:813 git-add--interactive.perl:1896
+#: add-interactive.c:1095 builtin/clean.c:813 git-add--interactive.perl:1896
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: add-interactive.c:1092 builtin/clean.c:814 git-add--interactive.perl:1893
+#: add-interactive.c:1096 builtin/clean.c:814 git-add--interactive.perl:1893
 msgid "What now"
 msgstr "Et maintenant"
 
-#: add-interactive.c:1144 git-add--interactive.perl:213
+#: add-interactive.c:1148 git-add--interactive.perl:213
 msgid "staged"
 msgstr "indexé"
 
-#: add-interactive.c:1144 git-add--interactive.perl:213
+#: add-interactive.c:1148 git-add--interactive.perl:213
 msgid "unstaged"
 msgstr "non-indexé"
 
-#: add-interactive.c:1144 apply.c:4994 apply.c:4997 builtin/am.c:2309
-#: builtin/am.c:2312 builtin/bugreport.c:135 builtin/clone.c:128
-#: builtin/fetch.c:152 builtin/merge.c:285 builtin/pull.c:190
-#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1886
-#: builtin/submodule--helper.c:1889 builtin/submodule--helper.c:2343
-#: builtin/submodule--helper.c:2346 builtin/submodule--helper.c:2589
-#: builtin/submodule--helper.c:2890 builtin/submodule--helper.c:2893
+#: add-interactive.c:1148 apply.c:5016 apply.c:5019 builtin/am.c:2311
+#: builtin/am.c:2314 builtin/bugreport.c:107 builtin/clone.c:128
+#: builtin/fetch.c:152 builtin/merge.c:286 builtin/pull.c:190
+#: builtin/submodule--helper.c:404 builtin/submodule--helper.c:1857
+#: builtin/submodule--helper.c:1860 builtin/submodule--helper.c:2503
+#: builtin/submodule--helper.c:2506 builtin/submodule--helper.c:2573
+#: builtin/submodule--helper.c:2578 builtin/submodule--helper.c:2811
 #: git-add--interactive.perl:213
 msgid "path"
 msgstr "chemin"
 
-#: add-interactive.c:1151
+#: add-interactive.c:1155
 msgid "could not refresh index"
 msgstr "impossible de rafraîchir l'index"
 
-#: add-interactive.c:1165 builtin/clean.c:778 git-add--interactive.perl:1803
+#: add-interactive.c:1169 builtin/clean.c:778 git-add--interactive.perl:1803
 #, c-format
 msgid "Bye.\n"
 msgstr "Au revoir.\n"
@@ -818,7 +819,7 @@ msgstr "Désolé, impossible d'éditer cette section"
 msgid "'git apply' failed"
 msgstr "'git apply' a échoué"
 
-#: advice.c:145
+#: advice.c:78
 #, c-format
 msgid ""
 "\n"
@@ -827,37 +828,37 @@ msgstr ""
 "\n"
 "Désactivez ce message avec \"git config advice.%s false\""
 
-#: advice.c:161
+#: advice.c:94
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:252
+#: advice.c:178
 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:254
+#: advice.c:180
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:256
+#: advice.c:182
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:258
+#: advice.c:184
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:260
+#: advice.c:186
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:262
+#: advice.c:188
 #, 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:270
+#: advice.c:196
 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."
@@ -865,41 +866,48 @@ msgstr ""
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:278
+#: advice.c:204
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:283 builtin/merge.c:1375
+#: advice.c:209 builtin/merge.c:1379
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:285
+#: advice.c:211
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:286
+#: advice.c:212
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:296
+#: advice.c:217
+msgid "Not possible to fast-forward, aborting."
+msgstr "Pas possible d'avancer rapidement, abandon."
+
+#: advice.c:227
 #, c-format
 msgid ""
-"The following pathspecs didn't match any eligible path, but they do match "
-"index\n"
-"entries outside the current sparse checkout:\n"
+"The following paths and/or pathspecs matched paths that exist\n"
+"outside of your sparse-checkout definition, so will not be\n"
+"updated in the index:\n"
 msgstr ""
-"Les spécificateurs de chemin suivants n'ont trouvé aucune correspondance, "
-"mais correspondent\n"
-"dans les entrées d'index hors de l'extraction clairsemée actuelle :\n"
+"Les chemin ou spécificateurs de chemins suivants correspondent à des chemins\n"
+"qui existent hors de votre définition d'extraction clairsemée, et ne seront\n"
+"donc pas mis à jour dans l'index :\n"
 
-#: advice.c:303
+#: advice.c:234
 msgid ""
-"Disable or modify the sparsity rules if you intend to update such entries."
+"If you intend to update such entries, try one of the following:\n"
+"* Use the --sparse option.\n"
+"* Disable or modify the sparsity rules."
 msgstr ""
-"Désactiver ou modifier les règles de partialisation si vous allez mettre à "
-"jour de telles entrées."
+"Si vous souhaitez mettre à jour de telles entrées, essayez au choix :\n"
+"* d'utiliser l'option --sparse,\n"
+"* de désactiver ou modifier les règles de choix clairsemé."
 
-#: advice.c:310
+#: advice.c:242
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -1089,49 +1097,49 @@ msgstr "le fichier supprimé %s a encore du contenu"
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
 
-#: apply.c:1977
+#: apply.c:1978
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2014
+#: apply.c:2015
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2176
+#: apply.c:2177
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2262
+#: apply.c:2263
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2266
+#: apply.c:2267
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2935
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3056
+#: apply.c:3057
 #, 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:3068
+#: apply.c:3069
 #, 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:3074
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1140,456 +1148,457 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3096
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3104
+#: apply.c:3105
 #, 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:3151
+#: apply.c:3152
 #, 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:3162
+#: apply.c:3163
 #, 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:3170
+#: apply.c:3171
 #, 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:3188
+#: apply.c:3189
 #, 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:3201
+#: apply.c:3202
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3208
+#: apply.c:3209
 #, 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:3229
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3352
+#: apply.c:3353
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3404 apply.c:3415 apply.c:3461 midx.c:98 pack-revindex.c:214
+#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:102 pack-revindex.c:214
 #: setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3412
+#: apply.c:3413
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3441 apply.c:3687
+#: apply.c:3442 apply.c:3709
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3527 apply.c:3702
+#: apply.c:3549 apply.c:3724
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3536 apply.c:3710 apply.c:3954
+#: apply.c:3558 apply.c:3732 apply.c:3976
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3571
+#: apply.c:3593
 msgid "repository lacks the necessary blob to perform 3-way merge."
 msgstr ""
 "le dépôt n'a pas les blobs nécessaires pour effectuer une fusion à 3 points."
 
-#: apply.c:3574
+#: apply.c:3596
 #, c-format
 msgid "Performing three-way merge...\n"
 msgstr "Application d'une fusion à 3 points…\n"
 
-#: apply.c:3590 apply.c:3594
+#: apply.c:3612 apply.c:3616
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3606
+#: apply.c:3628
 #, c-format
 msgid "Failed to perform three-way merge...\n"
 msgstr "Échec de l'application de la fusion à 3 points…\n"
 
-#: apply.c:3620
+#: apply.c:3642
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3625
+#: apply.c:3647
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3642
+#: apply.c:3664
 #, c-format
 msgid "Falling back to direct application...\n"
 msgstr "Retour à une application directe…\n"
 
-#: apply.c:3654
+#: apply.c:3676
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3727
+#: apply.c:3749
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3729
+#: apply.c:3751
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3894 apply.c:3896 read-cache.c:863 read-cache.c:892
-#: read-cache.c:1353
+#: apply.c:3916 apply.c:3918 read-cache.c:876 read-cache.c:905
+#: read-cache.c:1368
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3952
+#: apply.c:3974
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3956
+#: apply.c:3978
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3976
+#: apply.c:3998
 #, 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:3981
+#: apply.c:4003
 #, 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:4001
+#: apply.c:4023
 #, 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:4005
+#: apply.c:4027
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:4020
+#: apply.c:4042
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4112
+#: apply.c:4134
 #, 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:4119
+#: apply.c:4141
 #, 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:4122
+#: apply.c:4144
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4131
+#: apply.c:4153
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4141
+#: apply.c:4163
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4279
+#: apply.c:4301
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4313
+#: apply.c:4335
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4319
+#: apply.c:4341
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4327
+#: apply.c:4349
 #, 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:4333 apply.c:4478
+#: apply.c:4355 apply.c:4500
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4376 builtin/bisect--helper.c:525
+#: apply.c:4398 builtin/bisect--helper.c:540 builtin/gc.c:2242
+#: builtin/gc.c:2277
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4380
+#: apply.c:4402
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4450
+#: apply.c:4472
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4548
+#: apply.c:4570
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4556
+#: apply.c:4578
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4559
+#: apply.c:4581
 #, 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:4570
+#: apply.c:4592
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4578 builtin/fetch.c:993 builtin/fetch.c:1394
+#: apply.c:4600 builtin/fetch.c:998 builtin/fetch.c:1408
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4592
+#: apply.c:4614
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4596
+#: apply.c:4618
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4725
+#: apply.c:4747
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4733
+#: apply.c:4755
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4753
+#: apply.c:4775
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4910
+#: apply.c:4932
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4937
+#: apply.c:4959
 #, 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:4943 apply.c:4958
+#: apply.c:4965 apply.c:4980
 #, 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:4951
+#: apply.c:4973
 #, 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:4967 builtin/add.c:678 builtin/mv.c:304 builtin/rm.c:423
+#: apply.c:4989 builtin/add.c:707 builtin/mv.c:338 builtin/rm.c:429
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4995
+#: apply.c:5017
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4998
+#: apply.c:5020
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:5000 builtin/am.c:2318
+#: apply.c:5022 builtin/am.c:2320
 msgid "num"
 msgstr "num"
 
-#: apply.c:5001
+#: apply.c:5023
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:5004
+#: apply.c:5026
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:5006
+#: apply.c:5028
 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:5010
+#: apply.c:5032
 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:5012
+#: apply.c:5034
 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:5014
+#: apply.c:5036
 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:5016
+#: apply.c:5038
 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:5018
+#: apply.c:5040
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
 
-#: apply.c:5020
+#: apply.c:5042
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:5022
+#: apply.c:5044
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:5025
+#: apply.c:5047
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)"
 
-#: apply.c:5027
+#: apply.c:5049
 msgid "attempt three-way merge, fall back on normal patch if that fails"
 msgstr ""
 "tenter une fusion à 3 points, revenir à un rustinage normal en cas d'échec"
 
-#: apply.c:5029
+#: apply.c:5051
 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:5032 builtin/checkout-index.c:196 builtin/ls-files.c:617
+#: apply.c:5054 builtin/checkout-index.c:196
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:5034
+#: apply.c:5056
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:5035 builtin/am.c:2294 builtin/am.c:2297
+#: apply.c:5057 builtin/am.c:2296 builtin/am.c:2299
 #: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3991
-#: builtin/rebase.c:1347
+#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3960
+#: builtin/rebase.c:1051
 msgid "action"
 msgstr "action"
 
-#: apply.c:5036
+#: apply.c:5058
 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:5039 apply.c:5042
+#: apply.c:5061 apply.c:5064
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:5045
+#: apply.c:5067
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:5047
+#: apply.c:5069
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:5049
+#: apply.c:5071
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:5051
+#: apply.c:5073
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:5052 builtin/add.c:364 builtin/check-ignore.c:22
-#: builtin/commit.c:1481 builtin/count-objects.c:98 builtin/fsck.c:756
-#: builtin/log.c:2297 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5074 builtin/add.c:372 builtin/check-ignore.c:22
+#: builtin/commit.c:1483 builtin/count-objects.c:98 builtin/fsck.c:788
+#: builtin/log.c:2297 builtin/mv.c:123 builtin/read-tree.c:120
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:5054
+#: apply.c:5076
 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:5057
+#: apply.c:5079
 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:5059 builtin/am.c:2306
+#: apply.c:5081 builtin/am.c:2308
 msgid "root"
 msgstr "racine"
 
-#: apply.c:5060
+#: apply.c:5082
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -1661,153 +1670,152 @@ msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 msgid "cannot read %s"
 msgstr "impossible de lire %s"
 
-#: archive.c:342 sequencer.c:460 sequencer.c:1915 sequencer.c:3095
-#: sequencer.c:3537 sequencer.c:3665 builtin/am.c:262 builtin/commit.c:833
-#: builtin/merge.c:1144
+#: archive.c:341 sequencer.c:473 sequencer.c:1930 sequencer.c:3112
+#: sequencer.c:3554 sequencer.c:3682 builtin/am.c:263 builtin/commit.c:834
+#: builtin/merge.c:1145
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: archive.c:427 builtin/add.c:205 builtin/add.c:645 builtin/rm.c:328
+#: archive.c:426 builtin/add.c:215 builtin/add.c:674 builtin/rm.c:334
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
 
-#: archive.c:451
+#: archive.c:450
 #, c-format
 msgid "no such ref: %.*s"
 msgstr "référence inexistante : %.*s"
 
-#: archive.c:457
+#: archive.c:456
 #, c-format
 msgid "not a valid object name: %s"
 msgstr "nom d'objet invalide : %s"
 
-#: archive.c:470
+#: archive.c:469
 #, c-format
 msgid "not a tree object: %s"
 msgstr "objet arbre invalide : %s"
 
-#: archive.c:482
+#: archive.c:481
 msgid "current working directory is untracked"
 msgstr "l'arbre de travail actuel est non-suivi"
 
-#: archive.c:523
+#: archive.c:522
 #, c-format
 msgid "File not found: %s"
 msgstr "Fichier non trouvé : %s"
 
-#: archive.c:525
+#: archive.c:524
 #, c-format
 msgid "Not a regular file: %s"
 msgstr "'%s' n'est pas un fichier normal"
 
-#: archive.c:552
+#: archive.c:551
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:552
+#: archive.c:551
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:553 builtin/log.c:1775
+#: archive.c:552 builtin/log.c:1775
 msgid "prefix"
 msgstr "préfixe"
 
-#: archive.c:554
+#: archive.c:553
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:555 archive.c:558 builtin/blame.c:884 builtin/blame.c:888
-#: builtin/blame.c:889 builtin/commit-tree.c:117 builtin/config.c:135
-#: builtin/fast-export.c:1207 builtin/fast-export.c:1209
-#: builtin/fast-export.c:1213 builtin/grep.c:921 builtin/hash-object.c:105
-#: builtin/ls-files.c:653 builtin/ls-files.c:656 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:191
+#: archive.c:554 archive.c:557 builtin/blame.c:880 builtin/blame.c:884
+#: builtin/blame.c:885 builtin/commit-tree.c:115 builtin/config.c:135
+#: builtin/fast-export.c:1208 builtin/fast-export.c:1210
+#: builtin/fast-export.c:1214 builtin/grep.c:935 builtin/hash-object.c:103
+#: builtin/ls-files.c:651 builtin/ls-files.c:654 builtin/notes.c:410
+#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:190
 msgid "file"
 msgstr "fichier"
 
-#: archive.c:556
+#: archive.c:555
 msgid "add untracked file to archive"
 msgstr "ajouter les fichiers non suivis à l'archive"
 
-#: archive.c:559 builtin/archive.c:90
+#: archive.c:558 builtin/archive.c:88
 msgid "write the archive to this file"
 msgstr "écrire l'archive dans ce fichier"
 
-#: archive.c:561
+#: archive.c:560
 msgid "read .gitattributes in working directory"
 msgstr "lire .gitattributes dans le répertoire de travail"
 
-#: archive.c:562
+#: archive.c:561
 msgid "report archived files on stderr"
 msgstr "afficher les fichiers archivés sur stderr"
 
-#: archive.c:564
+#: archive.c:563
 msgid "set compression level"
 msgstr "régler le niveau de compression"
 
-#: archive.c:567
+#: archive.c:566
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:569 builtin/archive.c:91 builtin/clone.c:118 builtin/clone.c:121
-#: builtin/submodule--helper.c:1898 builtin/submodule--helper.c:2352
-#: builtin/submodule--helper.c:2902
+#: archive.c:568 builtin/archive.c:89 builtin/clone.c:118 builtin/clone.c:121
+#: builtin/submodule--helper.c:1869 builtin/submodule--helper.c:2512
 msgid "repo"
 msgstr "dépôt"
 
-#: archive.c:570 builtin/archive.c:92
+#: archive.c:569 builtin/archive.c:90
 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:571 builtin/archive.c:93 builtin/difftool.c:717
-#: builtin/notes.c:498
+#: archive.c:570 builtin/archive.c:91 builtin/difftool.c:714
+#: builtin/notes.c:496
 msgid "command"
 msgstr "commande"
 
-#: archive.c:572 builtin/archive.c:94
+#: archive.c:571 builtin/archive.c:92
 msgid "path to the remote git-upload-archive command"
 msgstr "chemin vers la commande distante git-upload-archive"
 
-#: archive.c:579
+#: archive.c:578
 msgid "Unexpected option --remote"
 msgstr "Option --remote inattendue"
 
-#: archive.c:581
+#: archive.c:580
 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:583
+#: archive.c:582
 msgid "Unexpected option --output"
 msgstr "Option --output inattendue"
 
-#: archive.c:585
+#: archive.c:584
 msgid "Options --add-file and --remote cannot be used together"
 msgstr ""
 "Les options --add-file et --remote ne peuvent pas être utilisées ensemble"
 
-#: archive.c:607
+#: archive.c:606
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Format d'archive inconnu '%s'"
 
-#: archive.c:616
+#: archive.c:615
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
 
-#: attr.c:202
+#: attr.c:203
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s n'est pas un nom valide d'attribut"
 
-#: attr.c:363
+#: attr.c:364
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s non permis : %s : %d"
 
-#: attr.c:403
+#: attr.c:404
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1815,22 +1823,22 @@ msgstr ""
 "Les motifs de négation sont ignorés dans les attributs git\n"
 "Utilisez '\\!' pour un point d'exclamation littéral."
 
-#: bisect.c:489
+#: bisect.c:488
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "Contenu mal cité dans le fichier '%s' : %s"
 
-#: bisect.c:699
+#: bisect.c:698
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Impossible de pousser la bissection plus loin !\n"
 
-#: bisect.c:766
+#: bisect.c:764
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s n'est pas un nom de commit valide"
 
-#: bisect.c:791
+#: bisect.c:789
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1839,7 +1847,7 @@ msgstr ""
 "La base de fusion %s est mauvaise.\n"
 "Cela signifie que le bogue été corrigé entre %s et [%s].\n"
 
-#: bisect.c:796
+#: bisect.c:794
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1848,7 +1856,7 @@ msgstr ""
 "La base de fusion %s est nouvelle.\n"
 "La propriété a changé entre %s et [%s].\n"
 
-#: bisect.c:801
+#: bisect.c:799
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1857,7 +1865,7 @@ msgstr ""
 "La base de fusion %s est %s.\n"
 "Ceci signifie que le premier commit '%s' est entre %s et [%s].\n"
 
-#: bisect.c:809
+#: bisect.c:807
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1868,7 +1876,7 @@ msgstr ""
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
 "Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
-#: bisect.c:822
+#: bisect.c:820
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1880,36 +1888,36 @@ msgstr ""
 "et %s.\n"
 "On continue tout de même."
 
-#: bisect.c:861
+#: bisect.c:859
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bissection : une base de fusion doit être testée\n"
 
-#: bisect.c:911
+#: bisect.c:909
 #, c-format
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:298
+#: bisect.c:939
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:987 builtin/merge.c:153
+#: bisect.c:985 builtin/merge.c:154
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:1027
+#: bisect.c:1025
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:1057
+#: bisect.c:1055
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:1066
+#: bisect.c:1064
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1918,7 +1926,7 @@ msgstr ""
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais arguement de chemin ?\n"
 
-#: bisect.c:1095
+#: bisect.c:1093
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1928,7 +1936,7 @@ msgstr[1] "(à peu près %d étapes)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1101
+#: bisect.c:1099
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
@@ -1949,11 +1957,12 @@ msgstr ""
 "--reverse et --first-parent ensemble nécessitent la spécification d'un "
 "dernier commit"
 
-#: blame.c:2820 bundle.c:224 ref-filter.c:2278 remote.c:2041 sequencer.c:2333
-#: sequencer.c:4865 submodule.c:844 builtin/commit.c:1113 builtin/log.c:414
-#: builtin/log.c:1021 builtin/log.c:1629 builtin/log.c:2056 builtin/log.c:2346
-#: builtin/merge.c:428 builtin/pack-objects.c:3343 builtin/pack-objects.c:3806
-#: builtin/pack-objects.c:3821 builtin/shortlog.c:255
+#: blame.c:2820 bundle.c:224 midx.c:1039 ref-filter.c:2370 remote.c:2041
+#: sequencer.c:2348 sequencer.c:4900 submodule.c:883 builtin/commit.c:1114
+#: builtin/log.c:414 builtin/log.c:1021 builtin/log.c:1629 builtin/log.c:2056
+#: builtin/log.c:2346 builtin/merge.c:429 builtin/pack-objects.c:3373
+#: builtin/pack-objects.c:3775 builtin/pack-objects.c:3790
+#: builtin/shortlog.c:255
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
@@ -2142,8 +2151,8 @@ msgstr "'%s' ne semble pas être un fichier colis v2 our v3"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %s%s (%d)"
 
-#: bundle.c:140 rerere.c:464 rerere.c:674 sequencer.c:2593 sequencer.c:3385
-#: builtin/commit.c:861
+#: bundle.c:140 rerere.c:464 rerere.c:674 sequencer.c:2616 sequencer.c:3402
+#: builtin/commit.c:862
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -2201,7 +2210,7 @@ msgstr "version de colis non supportée %d"
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "impossible d'écrire une version de colis %d avec l'algorithme %s"
 
-#: bundle.c:524 builtin/log.c:210 builtin/log.c:1938 builtin/shortlog.c:396
+#: bundle.c:524 builtin/log.c:210 builtin/log.c:1938 builtin/shortlog.c:399
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
@@ -2243,7 +2252,7 @@ msgstr "la section finale a un id non nul %<PRIx32>"
 msgid "invalid color value: %.*s"
 msgstr "valeur invalide de couleur : %.*s"
 
-#: commit-graph.c:204 midx.c:47
+#: commit-graph.c:204 midx.c:51
 msgid "invalid hash version"
 msgstr "version d'empreinte invalide"
 
@@ -2292,200 +2301,200 @@ msgstr ""
 msgid "unable to find all commit-graph files"
 msgstr "impossible de trouver tous les fichiers du graphe de commit"
 
-#: commit-graph.c:745 commit-graph.c:782
+#: commit-graph.c:746 commit-graph.c:783
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr ""
 "position de commit invalide. Le graphe de commit est vraisemblablement "
 "corrompu"
 
-#: commit-graph.c:766
+#: commit-graph.c:767
 #, c-format
 msgid "could not find commit %s"
 msgstr "impossible de trouver le commit %s"
 
-#: commit-graph.c:799
+#: commit-graph.c:800
 msgid "commit-graph requires overflow generation data but has none"
 msgstr ""
 "le graphe de commits requiert des données de génération de débordement mais "
 "n'en contient pas"
 
-#: commit-graph.c:1075 builtin/am.c:1341
+#: commit-graph.c:1105 builtin/am.c:1342
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: commit-graph.c:1337 builtin/pack-objects.c:3057
+#: commit-graph.c:1367 builtin/pack-objects.c:3070
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "impossible d'obtenir le type de l'objet %s"
 
-#: commit-graph.c:1368
+#: commit-graph.c:1398
 msgid "Loading known commits in commit graph"
 msgstr "Lecture des commits connus dans un graphe de commit"
 
-#: commit-graph.c:1385
+#: commit-graph.c:1415
 msgid "Expanding reachable commits in commit graph"
 msgstr "Expansion des commits joignables dans un graphe de commit"
 
-#: commit-graph.c:1405
+#: commit-graph.c:1435
 msgid "Clearing commit marks in commit graph"
 msgstr "Suppression les marques de commit dans le graphe de commits"
 
-#: commit-graph.c:1424
+#: commit-graph.c:1454
 msgid "Computing commit graph topological levels"
 msgstr "Calcul des niveaux topologiques du graphe de commits"
 
-#: commit-graph.c:1477
+#: commit-graph.c:1507
 msgid "Computing commit graph generation numbers"
 msgstr "Calcul des chiffres de génération du graphe de commits"
 
-#: commit-graph.c:1558
+#: commit-graph.c:1588
 msgid "Computing commit changed paths Bloom filters"
 msgstr "Calcul des filtres Bloom des chemins modifiés du commit"
 
-#: commit-graph.c:1635
+#: commit-graph.c:1665
 msgid "Collecting referenced commits"
 msgstr "Collecte des commits référencés"
 
-#: commit-graph.c:1660
+#: commit-graph.c:1690
 #, 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:1673
+#: commit-graph.c:1703
 #, c-format
 msgid "error adding pack %s"
 msgstr "erreur à l'ajout du packet %s"
 
-#: commit-graph.c:1677
+#: commit-graph.c:1707
 #, c-format
 msgid "error opening index for %s"
 msgstr "erreur à l'ouverture de l'index pour %s"
 
-#: commit-graph.c:1714
+#: commit-graph.c:1744
 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:1732
+#: commit-graph.c:1762
 msgid "Finding extra edges in commit graph"
 msgstr "Recherche d'arêtes supplémentaires dans un graphe de commits"
 
-#: commit-graph.c:1781
+#: commit-graph.c:1811
 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:1812 midx.c:911
+#: commit-graph.c:1842 midx.c:1146
 #, 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:1825
+#: commit-graph.c:1855
 msgid "unable to create temporary graph layer"
 msgstr "impossible de créer une couche de graphe temporaire"
 
-#: commit-graph.c:1830
+#: commit-graph.c:1860
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "impossible de régler les droits partagés pour '%s'"
 
-#: commit-graph.c:1887
+#: commit-graph.c:1917
 #, 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:1923
+#: commit-graph.c:1953
 msgid "unable to open commit-graph chain file"
 msgstr "impossible d'ouvrir le fichier de graphe de commit"
 
-#: commit-graph.c:1939
+#: commit-graph.c:1969
 msgid "failed to rename base commit-graph file"
 msgstr "échec du renommage du fichier de graphe de commits"
 
-#: commit-graph.c:1959
+#: commit-graph.c:1989
 msgid "failed to rename temporary commit-graph file"
 msgstr "impossible de renommer le fichier temporaire de graphe de commits"
 
-#: commit-graph.c:2092
+#: commit-graph.c:2122
 msgid "Scanning merged commits"
 msgstr "Analyse des commits de fusion"
 
-#: commit-graph.c:2136
+#: commit-graph.c:2166
 msgid "Merging commit-graph"
 msgstr "Fusion du graphe de commits"
 
-#: commit-graph.c:2244
+#: commit-graph.c:2274
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr ""
 "essai d'écriture de graphe de commits, mais 'core.commitGraph' est désactivé"
 
-#: commit-graph.c:2351
+#: commit-graph.c:2381
 msgid "too many commits to write graph"
 msgstr "trop de commits pour écrire un graphe"
 
-#: commit-graph.c:2449
+#: commit-graph.c:2479
 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:2459
+#: commit-graph.c:2489
 #, 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:2469 commit-graph.c:2484
+#: commit-graph.c:2499 commit-graph.c:2514
 #, 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:2476
+#: commit-graph.c:2506
 #, 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:2494
+#: commit-graph.c:2524
 msgid "Verifying commits in commit graph"
 msgstr "Verification des commits dans le graphe de commits"
 
-#: commit-graph.c:2509
+#: commit-graph.c:2539
 #, 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:2516
+#: commit-graph.c:2546
 #, 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:2526
+#: commit-graph.c:2556
 #, 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:2535
+#: commit-graph.c:2565
 #, 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:2549
+#: commit-graph.c:2579
 #, 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:2554
+#: commit-graph.c:2584
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -2493,7 +2502,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:2558
+#: commit-graph.c:2588
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -2501,32 +2510,32 @@ 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:2575
+#: commit-graph.c:2605
 #, c-format
 msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
 msgstr ""
 "la génération du graphe de commit pour le commit %s est %<PRIuMAX> < "
 "%<PRIuMAX>"
 
-#: commit-graph.c:2581
+#: commit-graph.c:2611
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
 "la date de validation pour le commit %s dans le graphe de commit est "
 "%<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:52 sequencer.c:3088 builtin/am.c:372 builtin/am.c:417
-#: builtin/am.c:422 builtin/am.c:1420 builtin/am.c:2067 builtin/replace.c:457
+#: commit.c:53 sequencer.c:3105 builtin/am.c:373 builtin/am.c:418
+#: builtin/am.c:423 builtin/am.c:1421 builtin/am.c:2068 builtin/replace.c:457
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
 
-#: commit.c:54
+#: commit.c:55
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un commit !"
 
-#: commit.c:194
+#: commit.c:196
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -2546,27 +2555,27 @@ msgstr ""
 "Supprimez ce message en lançant\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1237
+#: commit.c:1239
 #, 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:1241
+#: commit.c:1243
 #, 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:1244
+#: commit.c:1246
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: commit.c:1247
+#: commit.c:1249
 #, 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:1501
+#: commit.c:1503
 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"
@@ -2582,7 +2591,7 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:126
+#: config.c:125
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -2597,37 +2606,37 @@ msgstr ""
 "\t%s\n"
 "possibilité d'inclusions multiples."
 
-#: config.c:142
+#: config.c:141
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "expansion impossible du chemin d'inclusion '%s'"
 
-#: config.c:153
+#: config.c:152
 msgid "relative config includes must come from files"
 msgstr "les inclusions de configuration relatives doivent venir de fichiers"
 
-#: config.c:199
+#: config.c:201
 msgid "relative config include conditionals must come from files"
 msgstr ""
 "les conditions d'inclusion de configuration relative doivent venir de "
 "fichiers"
 
-#: config.c:396
+#: config.c:398
 #, c-format
 msgid "invalid config format: %s"
 msgstr "format de config invalide : %s"
 
-#: config.c:400
+#: config.c:402
 #, c-format
 msgid "missing environment variable name for configuration '%.*s'"
 msgstr "nom de variable d'environnement manquant pour le configuration '%.*s'"
 
-#: config.c:405
+#: config.c:407
 #, c-format
 msgid "missing environment variable '%s' for configuration '%.*s'"
 msgstr "variable d'environnement '%s' manquante pour le configuration '%.*s'"
 
-#: config.c:442
+#: config.c:443
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "la clé ne contient pas de section: %s"
@@ -2637,310 +2646,310 @@ msgstr "la clé ne contient pas de section: %s"
 msgid "key does not contain variable name: %s"
 msgstr "la clé ne contient pas de nom de variable : %s"
 
-#: config.c:472 sequencer.c:2785
+#: config.c:470 sequencer.c:2802
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: config.c:478
+#: config.c:475
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "clé invalide (retour chariot) : %s"
 
-#: config.c:511
+#: config.c:495
 msgid "empty config key"
 msgstr "clé de configuration vide"
 
-#: config.c:529 config.c:541
+#: config.c:513 config.c:525
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "paramètre de configuration mal formé: %s"
 
-#: config.c:555 config.c:572 config.c:579 config.c:588
+#: config.c:539 config.c:556 config.c:563 config.c:572
 #, c-format
 msgid "bogus format in %s"
 msgstr "formatage mal formé dans %s"
 
-#: config.c:622
+#: config.c:606
 #, c-format
 msgid "bogus count in %s"
 msgstr "compte faux dans %s"
 
-#: config.c:626
+#: config.c:610
 #, c-format
 msgid "too many entries in %s"
 msgstr "trop d'entrées dans %s"
 
-#: config.c:636
+#: config.c:620
 #, c-format
 msgid "missing config key %s"
 msgstr "clé de configuration %s manquante"
 
-#: config.c:644
+#: config.c:628
 #, c-format
 msgid "missing config value %s"
 msgstr "valeur de config manquante %s"
 
-#: config.c:995
+#: config.c:979
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:999
+#: config.c:983
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:1003
+#: config.c:987
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:1007
+#: config.c:991
 #, 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:1011
+#: config.c:995
 #, 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:1015
+#: config.c:999
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:1152
+#: config.c:1136
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:1152
+#: config.c:1136
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:1153
+#: config.c:1137
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:1163
+#: config.c:1147
 #, 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:1166
+#: config.c:1150
 #, 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:1169
+#: config.c:1153
 #, 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:1172
+#: config.c:1156
 #, 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:1175
+#: config.c:1159
 #, 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:1178
+#: config.c:1162
 #, 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:1257
+#: config.c:1241
 #, c-format
 msgid "bad boolean config value '%s' for '%s'"
 msgstr "valeur booléenne de configuration invalide '%s' pour '%s'"
 
-#: config.c:1275
+#: config.c:1259
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:1284
+#: config.c:1268
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%s' pour '%s' n'est pas un horodatage valide"
 
-#: config.c:1377
+#: config.c:1361
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "longueur d'abbrev hors plage : %d"
 
-#: config.c:1391 config.c:1402
+#: config.c:1375 config.c:1386
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:1494
+#: config.c:1476
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar ne devrait être qu'un unique caractère"
 
-#: config.c:1527
+#: config.c:1509
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1599
+#: config.c:1581
 #, c-format
 msgid "malformed value for %s"
 msgstr "valeur mal formée pour %s"
 
-#: config.c:1625
+#: config.c:1607
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "valeur mal formée pour %s : %s"
 
-#: config.c:1626
+#: config.c:1608
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "doit être parmi nothing, matching, simple, upstream ou current"
 
-#: config.c:1687 builtin/pack-objects.c:4084
+#: config.c:1669 builtin/pack-objects.c:4053
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1809
+#: config.c:1792
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "impossible de charger l'objet blob de config '%s'"
 
-#: config.c:1812
+#: config.c:1795
 #, 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:1829
+#: config.c:1813
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "impossible de résoudre le blob de config '%s'"
 
-#: config.c:1874
+#: config.c:1858
 #, c-format
 msgid "failed to parse %s"
 msgstr "échec de l'analyse de %s"
 
-#: config.c:1930
+#: config.c:1914
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:2294
+#: config.c:2282
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2468
+#: config.c:2456
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2513
+#: config.c:2501
 #, 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:2559
+#: config.c:2547
 #, 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:2561
+#: config.c:2549
 #, 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:2645
+#: config.c:2633
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nom de section invalide '%s'"
 
-#: config.c:2677
+#: config.c:2665
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2706
+#: config.c:2694
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2958 config.c:3285
+#: config.c:2946 config.c:3273
 #, c-format
 msgid "could not lock config file %s"
 msgstr "impossible de verrouiller le fichier de configuration %s"
 
-#: config.c:2969
+#: config.c:2957
 #, c-format
 msgid "opening %s"
 msgstr "ouverture de %s"
 
-#: config.c:3006 builtin/config.c:361
+#: config.c:2994 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "motif invalide : %s"
 
-#: config.c:3031
+#: config.c:3019
 #, c-format
 msgid "invalid config file %s"
 msgstr "fichier de configuration invalide %s"
 
-#: config.c:3044 config.c:3298
+#: config.c:3032 config.c:3286
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:3055
+#: config.c:3043
 #, c-format
 msgid "unable to mmap '%s'%s"
 msgstr "impossible de réaliser un mmap de '%s'%s"
 
-#: config.c:3065 config.c:3303
+#: config.c:3053 config.c:3291
 #, c-format
 msgid "chmod on %s failed"
 msgstr "échec de chmod sur %s"
 
-#: config.c:3150 config.c:3400
+#: config.c:3138 config.c:3388
 #, c-format
 msgid "could not write config file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:3184
+#: config.c:3172
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:3186 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
+#: config.c:3174 builtin/remote.c:662 builtin/remote.c:860 builtin/remote.c:868
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: config.c:3276
+#: config.c:3264
 #, c-format
 msgid "invalid section name: %s"
 msgstr "nom de section invalide : %s"
 
-#: config.c:3443
+#: config.c:3431
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valeur manquante pour '%s'"
@@ -2975,72 +2984,72 @@ msgstr "le serveur ne supporte pas la fonctionnalité '%s'"
 msgid "expected flush after capabilities"
 msgstr "vidage attendu après les capacités"
 
-#: connect.c:263
+#: connect.c:265
 #, c-format
 msgid "ignoring capabilities after first line '%s'"
 msgstr "capacités ignorées après la première ligne '%s'"
 
-#: connect.c:284
+#: connect.c:286
 msgid "protocol error: unexpected capabilities^{}"
 msgstr "erreur de protocole : capabilities^{} inattendu"
 
-#: connect.c:306
+#: connect.c:308
 #, c-format
 msgid "protocol error: expected shallow sha-1, got '%s'"
 msgstr "erreur de protocole : shallow sha-1 attendu, '%s' trouvé"
 
-#: connect.c:308
+#: connect.c:310
 msgid "repository on the other end cannot be shallow"
 msgstr "le dépôt distant ne peut pas être superficiel"
 
-#: connect.c:347
+#: connect.c:349
 msgid "invalid packet"
 msgstr "paquet invalide"
 
-#: connect.c:367
+#: connect.c:369
 #, c-format
 msgid "protocol error: unexpected '%s'"
 msgstr "erreur de protocole : '%s' attendu"
 
-#: connect.c:497
+#: connect.c:499
 #, c-format
 msgid "unknown object format '%s' specified by server"
 msgstr "format d'objet spécifié par le serveur inconnu '%s'"
 
-#: connect.c:526
+#: connect.c:528
 #, c-format
 msgid "invalid ls-refs response: %s"
 msgstr "réponse à ls-ref invalide : %s"
 
-#: connect.c:530
+#: connect.c:532
 msgid "expected flush after ref listing"
 msgstr "vidage attendu après le listage de références"
 
-#: connect.c:533
+#: connect.c:535
 msgid "expected response end packet after ref listing"
 msgstr "paquet de fin de réponse attendu après le listage de références"
 
-#: connect.c:666
+#: connect.c:670
 #, c-format
 msgid "protocol '%s' is not supported"
 msgstr "le protocole '%s' n'est pas supporté"
 
-#: connect.c:717
+#: connect.c:721
 msgid "unable to set SO_KEEPALIVE on socket"
 msgstr "impossible de positionner SO_KEEPALIVE sur la socket"
 
-#: connect.c:757 connect.c:820
+#: connect.c:761 connect.c:824
 #, c-format
 msgid "Looking up %s ... "
 msgstr "Recherche de %s… "
 
-#: connect.c:761
+#: connect.c:765
 #, c-format
 msgid "unable to look up %s (port %s) (%s)"
 msgstr "impossible de rechercher %s (port %s) (%s)"
 
 #. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:765 connect.c:836
+#: connect.c:769 connect.c:840
 #, c-format
 msgid ""
 "done.\n"
@@ -3049,7 +3058,7 @@ msgstr ""
 "fait.\n"
 "Connexion à %s (port %s)… "
 
-#: connect.c:787 connect.c:864
+#: connect.c:791 connect.c:868
 #, c-format
 msgid ""
 "unable to connect to %s:\n"
@@ -3059,80 +3068,80 @@ msgstr ""
 "%s"
 
 #. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:793 connect.c:870
+#: connect.c:797 connect.c:874
 msgid "done."
 msgstr "fait."
 
-#: connect.c:824
+#: connect.c:828
 #, c-format
 msgid "unable to look up %s (%s)"
 msgstr "impossible de rechercher %s (%s)"
 
-#: connect.c:830
+#: connect.c:834
 #, c-format
 msgid "unknown port %s"
 msgstr "port inconnu %s"
 
-#: connect.c:967 connect.c:1299
+#: connect.c:971 connect.c:1303
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr "nom d'hôte étrange '%s' bloqué"
 
-#: connect.c:969
+#: connect.c:973
 #, c-format
 msgid "strange port '%s' blocked"
 msgstr "port étrange '%s' bloqué"
 
-#: connect.c:979
+#: connect.c:983
 #, c-format
 msgid "cannot start proxy %s"
 msgstr "impossible de démarrer un proxy %s"
 
-#: connect.c:1050
+#: connect.c:1054
 msgid "no path specified; see 'git help pull' for valid url syntax"
 msgstr ""
 "aucun chemin spécifié ; référez-vous à 'git help pull' pour une syntaxe "
 "d'URL valide"
 
-#: connect.c:1190
+#: connect.c:1194
 msgid "newline is forbidden in git:// hosts and repo paths"
 msgstr ""
 "le retour chariot est interdit dans les hôtes git:// et les chemins de dépôt"
 
-#: connect.c:1247
+#: connect.c:1251
 msgid "ssh variant 'simple' does not support -4"
 msgstr "la variante ssh 'simple' ne supporte pas -4"
 
-#: connect.c:1259
+#: connect.c:1263
 msgid "ssh variant 'simple' does not support -6"
 msgstr "la variante ssh 'simple' ne supporte pas -6"
 
-#: connect.c:1276
+#: connect.c:1280
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "la variante ssh 'simple' ne supporte pas de spécifier le port"
 
-#: connect.c:1388
+#: connect.c:1392
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "chemin étrange '%s' bloqué"
 
-#: connect.c:1436
+#: connect.c:1440
 msgid "unable to fork"
 msgstr "fork impossible"
 
-#: connected.c:108 builtin/fsck.c:189 builtin/prune.c:45
+#: connected.c:109 builtin/fsck.c:189 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
-#: connected.c:120
+#: connected.c:122
 msgid "Could not run 'git rev-list'"
 msgstr "Impossible de lancer 'git rev-list'"
 
-#: connected.c:144
+#: connected.c:146
 msgid "failed write to rev-list"
 msgstr "impossible d'écrire dans la rev-list"
 
-#: connected.c:149
+#: connected.c:151
 msgid "failed to close rev-list's stdin"
 msgstr "impossible de fermer l'entrée standard du rev-list"
 
@@ -3282,17 +3291,17 @@ msgid "refusing to work with credential missing protocol field"
 msgstr ""
 "refus de travailler avec un champ protocol manquant dans l'identification"
 
-#: credential.c:394
+#: credential.c:395
 #, c-format
 msgid "url contains a newline in its %s component: %s"
 msgstr "l'url contient un retour chariot dans composant %s : %s"
 
-#: credential.c:438
+#: credential.c:439
 #, c-format
 msgid "url has no scheme: %s"
 msgstr "l'url n'a pas de schéma : %s"
 
-#: credential.c:511
+#: credential.c:512
 #, c-format
 msgid "credential url cannot be parsed: %s"
 msgstr "impossible d'analyser l'url d'identification : %s"
@@ -3396,23 +3405,23 @@ msgstr "Marquage de %d îlots, fait.\n"
 msgid "unknown value for --diff-merges: %s"
 msgstr "valeur inconnue pour --diff-merges : %s"
 
-#: diff-lib.c:557
+#: diff-lib.c:561
 msgid "--merge-base does not work with ranges"
 msgstr "--merge-base ne fonctionne pas avec des plages"
 
-#: diff-lib.c:559
+#: diff-lib.c:563
 msgid "--merge-base only works with commits"
 msgstr "--merge-base ne fonctionne qu'avec des commits"
 
-#: diff-lib.c:576
+#: diff-lib.c:580
 msgid "unable to get HEAD"
 msgstr "impossible d'acquérir HEAD"
 
-#: diff-lib.c:583
+#: diff-lib.c:587
 msgid "no merge base found"
 msgstr "aucune base de fusion trouvée"
 
-#: diff-lib.c:585
+#: diff-lib.c:589
 msgid "multiple merge bases found"
 msgstr "bases multiples de fusion trouvées"
 
@@ -3428,18 +3437,18 @@ msgstr ""
 "Pas un dépôt git. Utilisez --no-index pour comparer deux chemins hors d'un "
 "arbre de travail"
 
-#: diff.c:156
+#: diff.c:157
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr ""
 "  Impossible d'analyser le pourcentage de modification de dirstat '%s'\n"
 
-#: diff.c:161
+#: diff.c:162
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paramètre dirstat inconnu '%s'\n"
 
-#: diff.c:297
+#: diff.c:298
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -3447,7 +3456,7 @@ msgstr ""
 "le paramètre de couleur de déplacement doit être parmi 'no', 'default', "
 "'blocks', 'zebra', 'dimmed-zebra' ou 'plain'"
 
-#: diff.c:325
+#: diff.c:326
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -3457,7 +3466,7 @@ msgstr ""
 "space-change', 'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-"
 "change'"
 
-#: diff.c:333
+#: diff.c:334
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
@@ -3465,13 +3474,13 @@ msgstr ""
 "color-moved-ws : allow-indentation-change ne peut pas être combiné avec "
 "d'autres modes d'espace"
 
-#: diff.c:410
+#: diff.c:411
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valeur inconnue pour la variable de configuration 'diff.submodule' : '%s'"
 
-#: diff.c:470
+#: diff.c:471
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -3480,27 +3489,27 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:4282
+#: diff.c:4290
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:4634
+#: diff.c:4642
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:4637
+#: diff.c:4645
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S et --find-object sont mutuellement exclusifs"
 
-#: diff.c:4640
+#: diff.c:4648
 msgid ""
 "-G and --pickaxe-regex are mutually exclusive, use --pickaxe-regex with -S"
 msgstr ""
 "-G et --pickaxe-regex sont mutuellement exclusifs, utilisez --pickaxe-regex "
 "avec -S"
 
-#: diff.c:4643
+#: diff.c:4651
 msgid ""
 "--pickaxe-all and --find-object are mutually exclusive, use --pickaxe-all "
 "with -G and -S"
@@ -3508,22 +3517,22 @@ msgstr ""
 "--pickaxe-all et  --find-object sont mutuellement exclusifs, utilisez --"
 "pickaxe-all avec -G et -S"
 
-#: diff.c:4722
+#: diff.c:4730
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:4770
+#: diff.c:4778
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "valeur invalide de --stat : %s"
 
-#: diff.c:4775 diff.c:4780 diff.c:4785 diff.c:4790 diff.c:5318
-#: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
+#: diff.c:4783 diff.c:4788 diff.c:4793 diff.c:4798 diff.c:5326
+#: parse-options.c:217 parse-options.c:221
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s attend une valeur numérique"
 
-#: diff.c:4807
+#: diff.c:4815
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3532,42 +3541,42 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:4892
+#: diff.c:4900
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "classe de modification inconnue '%c' dans --diff-filter=%s"
 
-#: diff.c:4916
+#: diff.c:4924
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "valeur inconnue après ws-error-highlight=%.*s"
 
-#: diff.c:4930
+#: diff.c:4938
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: diff.c:4980 diff.c:4986
+#: diff.c:4988 diff.c:4994
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "forme <n>/<m> attendue par %s"
 
-#: diff.c:4998
+#: diff.c:5006
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "caractère attendu par %s, '%s' trouvé"
 
-#: diff.c:5019
+#: diff.c:5027
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "mauvais argument --color-moved : %s"
 
-#: diff.c:5038
+#: diff.c:5046
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "mode invalide '%s' dans --color-moved-ws"
 
-#: diff.c:5078
+#: diff.c:5086
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -3575,160 +3584,160 @@ msgstr ""
 "l'option diff-algorithm accept \"myers\", \"minimal\", \"patience\" et "
 "\"histogram\""
 
-#: diff.c:5114 diff.c:5134
+#: diff.c:5122 diff.c:5142
 #, c-format
 msgid "invalid argument to %s"
 msgstr "argument invalide pour %s"
 
-#: diff.c:5238
+#: diff.c:5246
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "regex invalide fournie à -I : '%s'"
 
-#: diff.c:5287
+#: diff.c:5295
 #, 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:5343
+#: diff.c:5351
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "mauvais argument pour --word-diff : %s"
 
-#: diff.c:5379
+#: diff.c:5387
 msgid "Diff output format options"
 msgstr "Options de format de sortie de diff"
 
-#: diff.c:5381 diff.c:5387
+#: diff.c:5389 diff.c:5395
 msgid "generate patch"
 msgstr "générer la rustine"
 
-#: diff.c:5384 builtin/log.c:179
+#: diff.c:5392 builtin/log.c:179
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: diff.c:5389 diff.c:5503 diff.c:5510
+#: diff.c:5397 diff.c:5511 diff.c:5518
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5390 diff.c:5393
+#: diff.c:5398 diff.c:5401
 msgid "generate diffs with <n> lines context"
 msgstr "générer les diffs avec <n> lignes de contexte"
 
-#: diff.c:5395
+#: diff.c:5403
 msgid "generate the diff in raw format"
 msgstr "générer le diff en format brut"
 
-#: diff.c:5398
+#: diff.c:5406
 msgid "synonym for '-p --raw'"
 msgstr "synonyme de '-p --raw'"
 
-#: diff.c:5402
+#: diff.c:5410
 msgid "synonym for '-p --stat'"
 msgstr "synonyme de '-p --stat'"
 
-#: diff.c:5406
+#: diff.c:5414
 msgid "machine friendly --stat"
 msgstr "--stat pour traitement automatique"
 
-#: diff.c:5409
+#: diff.c:5417
 msgid "output only the last line of --stat"
 msgstr "afficher seulement la dernière ligne de --stat"
 
-#: diff.c:5411 diff.c:5419
+#: diff.c:5419 diff.c:5427
 msgid "<param1,param2>..."
 msgstr "<param1,param2>..."
 
-#: diff.c:5412
+#: diff.c:5420
 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:5416
+#: diff.c:5424
 msgid "synonym for --dirstat=cumulative"
 msgstr "synonyme pour --dirstat=cumulative"
 
-#: diff.c:5420
+#: diff.c:5428
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "synonyme pour --dirstat=files,param1,param2..."
 
-#: diff.c:5424
+#: diff.c:5432
 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:5427
+#: diff.c:5435
 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:5430
+#: diff.c:5438
 msgid "show only names of changed files"
 msgstr "n'afficher que les noms de fichiers modifiés"
 
-#: diff.c:5433
+#: diff.c:5441
 msgid "show only names and status of changed files"
 msgstr "n'afficher que les noms et les status des fichiers modifiés"
 
-#: diff.c:5435
+#: diff.c:5443
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<largeur>[,<largeur-de-nom>[,<compte>]]"
 
-#: diff.c:5436
+#: diff.c:5444
 msgid "generate diffstat"
 msgstr "générer un diffstat"
 
-#: diff.c:5438 diff.c:5441 diff.c:5444
+#: diff.c:5446 diff.c:5449 diff.c:5452
 msgid "<width>"
 msgstr "<largeur>"
 
-#: diff.c:5439
+#: diff.c:5447
 msgid "generate diffstat with a given width"
 msgstr "générer un diffstat avec la largeur indiquée"
 
-#: diff.c:5442
+#: diff.c:5450
 msgid "generate diffstat with a given name width"
 msgstr "génerer un diffstat avec la largeur de nom indiquée"
 
-#: diff.c:5445
+#: diff.c:5453
 msgid "generate diffstat with a given graph width"
 msgstr "génerer un diffstat avec la largeur de graphe indiquée"
 
-#: diff.c:5447
+#: diff.c:5455
 msgid "<count>"
 msgstr "<compte>"
 
-#: diff.c:5448
+#: diff.c:5456
 msgid "generate diffstat with limited lines"
 msgstr "générer un diffstat avec des lignes limitées"
 
-#: diff.c:5451
+#: diff.c:5459
 msgid "generate compact summary in diffstat"
 msgstr "générer une résumé compact dans le diffstat"
 
-#: diff.c:5454
+#: diff.c:5462
 msgid "output a binary diff that can be applied"
 msgstr "produire un diff binaire qui peut être appliqué"
 
-#: diff.c:5457
+#: diff.c:5465
 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:5459
+#: diff.c:5467
 msgid "show colored diff"
 msgstr "afficher un diff coloré"
 
-#: diff.c:5460
+#: diff.c:5468
 msgid "<kind>"
 msgstr "<sorte>"
 
-#: diff.c:5461
+#: diff.c:5469
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -3736,7 +3745,7 @@ msgstr ""
 "surligner les erreurs d'espace dans les lignes 'contexte', 'ancien', "
 "'nouveau' dans le diff"
 
-#: diff.c:5464
+#: diff.c:5472
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3744,93 +3753,93 @@ msgstr ""
 "ne pas compresser les chemins et utiliser des NULs comme terminateurs de "
 "champs dans --raw ou --numstat"
 
-#: diff.c:5467 diff.c:5470 diff.c:5473 diff.c:5582
+#: diff.c:5475 diff.c:5478 diff.c:5481 diff.c:5590
 msgid "<prefix>"
 msgstr "<préfixe>"
 
-#: diff.c:5468
+#: diff.c:5476
 msgid "show the given source prefix instead of \"a/\""
 msgstr "afficher le préfixe de source indiqué au lieu de \"a/\""
 
-#: diff.c:5471
+#: diff.c:5479
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "afficher le préfixe de destination indiqué au lieu de \"b/\""
 
-#: diff.c:5474
+#: diff.c:5482
 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:5477
+#: diff.c:5485
 msgid "do not show any source or destination prefix"
 msgstr "n'afficher aucun préfixe, ni de source, ni de destination"
 
-#: diff.c:5480
+#: diff.c:5488
 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:5484 diff.c:5489 diff.c:5494
+#: diff.c:5492 diff.c:5497 diff.c:5502
 msgid "<char>"
 msgstr "<caractère>"
 
-#: diff.c:5485
+#: diff.c:5493
 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:5490
+#: diff.c:5498
 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:5495
+#: diff.c:5503
 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:5498
+#: diff.c:5506
 msgid "Diff rename options"
 msgstr "Options de renommage de diff"
 
-#: diff.c:5499
+#: diff.c:5507
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5500
+#: diff.c:5508
 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:5504
+#: diff.c:5512
 msgid "detect renames"
 msgstr "détecter les renommages"
 
-#: diff.c:5508
+#: diff.c:5516
 msgid "omit the preimage for deletes"
 msgstr "supprimer la pré-image pour les suppressions"
 
-#: diff.c:5511
+#: diff.c:5519
 msgid "detect copies"
 msgstr "détecter les copies"
 
-#: diff.c:5515
+#: diff.c:5523
 msgid "use unmodified files as source to find copies"
 msgstr ""
 "utiliser les fichiers non-modifiés comme sources pour trouver des copies"
 
-#: diff.c:5517
+#: diff.c:5525
 msgid "disable rename detection"
 msgstr "désactiver la détection de renommage"
 
-#: diff.c:5520
+#: diff.c:5528
 msgid "use empty blobs as rename source"
 msgstr "utiliser des blobs vides comme source de renommage"
 
-#: diff.c:5522
+#: diff.c:5530
 msgid "continue listing the history of a file beyond renames"
 msgstr "continuer à afficher l'historique d'un fichier au delà des renommages"
 
-#: diff.c:5525
+#: diff.c:5533
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -3838,165 +3847,165 @@ 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:5527
+#: diff.c:5535
 msgid "Diff algorithm options"
 msgstr "Options de l'algorithme de diff"
 
-#: diff.c:5529
+#: diff.c:5537
 msgid "produce the smallest possible diff"
 msgstr "produire le diff le plus petit possible"
 
-#: diff.c:5532
+#: diff.c:5540
 msgid "ignore whitespace when comparing lines"
 msgstr "ignorer les espaces lors de la comparaison de ligne"
 
-#: diff.c:5535
+#: diff.c:5543
 msgid "ignore changes in amount of whitespace"
 msgstr "ignorer des modifications du nombre d'espaces"
 
-#: diff.c:5538
+#: diff.c:5546
 msgid "ignore changes in whitespace at EOL"
 msgstr "ignorer des modifications d'espace en fin de ligne"
 
-#: diff.c:5541
+#: diff.c:5549
 msgid "ignore carrier-return at the end of line"
 msgstr "ignore le retour chariot en fin de ligne"
 
-#: diff.c:5544
+#: diff.c:5552
 msgid "ignore changes whose lines are all blank"
 msgstr "ignorer les modifications dont les lignes sont vides"
 
-#: diff.c:5546 diff.c:5568 diff.c:5571 diff.c:5616
+#: diff.c:5554 diff.c:5576 diff.c:5579 diff.c:5624
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5547
+#: diff.c:5555
 msgid "ignore changes whose all lines match <regex>"
 msgstr "ignorer les modifications dont les lignes correspondent à <regex>"
 
-#: diff.c:5550
+#: diff.c:5558
 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:5553
+#: diff.c:5561
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"patience\""
 
-#: diff.c:5557
+#: diff.c:5565
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr ""
 "générer un diff en utilisant l'algorithme de différence \"histogramme\""
 
-#: diff.c:5559
+#: diff.c:5567
 msgid "<algorithm>"
 msgstr "<algorithme>"
 
-#: diff.c:5560
+#: diff.c:5568
 msgid "choose a diff algorithm"
 msgstr "choisir un algorithme de différence"
 
-#: diff.c:5562
+#: diff.c:5570
 msgid "<text>"
 msgstr "<texte>"
 
-#: diff.c:5563
+#: diff.c:5571
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"ancré\""
 
-#: diff.c:5565 diff.c:5574 diff.c:5577
+#: diff.c:5573 diff.c:5582 diff.c:5585
 msgid "<mode>"
 msgstr "<mode>"
 
-#: diff.c:5566
+#: diff.c:5574
 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:5569
+#: diff.c:5577
 msgid "use <regex> to decide what a word is"
 msgstr "utiliser <regex> pour décider ce qu'est un mot"
 
-#: diff.c:5572
+#: diff.c:5580
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "équivalent à --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5575
+#: diff.c:5583
 msgid "moved lines of code are colored differently"
 msgstr "les lignes déplacées sont colorées différemment"
 
-#: diff.c:5578
+#: diff.c:5586
 msgid "how white spaces are ignored in --color-moved"
 msgstr "comment les espaces sont ignorés dans --color-moved"
 
-#: diff.c:5581
+#: diff.c:5589
 msgid "Other diff options"
 msgstr "Autres options diff"
 
-#: diff.c:5583
+#: diff.c:5591
 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:5587
+#: diff.c:5595
 msgid "treat all files as text"
 msgstr "traiter les fichiers comme texte"
 
-#: diff.c:5589
+#: diff.c:5597
 msgid "swap two inputs, reverse the diff"
 msgstr "échanger les entrées, inverser le diff"
 
-#: diff.c:5591
+#: diff.c:5599
 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:5593
+#: diff.c:5601
 msgid "disable all output of the program"
 msgstr "désactiver tous les affichages du programme"
 
-#: diff.c:5595
+#: diff.c:5603
 msgid "allow an external diff helper to be executed"
 msgstr "autoriser l'exécution d'un assistant externe de diff"
 
-#: diff.c:5597
+#: diff.c:5605
 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:5599
+#: diff.c:5607
 msgid "<when>"
 msgstr "<quand>"
 
-#: diff.c:5600
+#: diff.c:5608
 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:5603
+#: diff.c:5611
 msgid "<format>"
 msgstr "<format>"
 
-#: diff.c:5604
+#: diff.c:5612
 msgid "specify how differences in submodules are shown"
 msgstr "spécifier comment les différences dans les sous-modules sont affichées"
 
-#: diff.c:5608
+#: diff.c:5616
 msgid "hide 'git add -N' entries from the index"
 msgstr "masquer les entrées 'git add -N' de l'index"
 
-#: diff.c:5611
+#: diff.c:5619
 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:5613
+#: diff.c:5621
 msgid "<string>"
 msgstr "<chaîne>"
 
-#: diff.c:5614
+#: diff.c:5622
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -4004,7 +4013,7 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la "
 "chaîne spécifiée"
 
-#: diff.c:5617
+#: diff.c:5625
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -4012,38 +4021,38 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la regex "
 "spécifiée"
 
-#: diff.c:5620
+#: diff.c:5628
 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:5623
+#: diff.c:5631
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 "traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue"
 
-#: diff.c:5626
+#: diff.c:5634
 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:5627 diff.c:5630
+#: diff.c:5635 diff.c:5638
 msgid "<path>"
 msgstr "<chemin>"
 
-#: diff.c:5628
+#: diff.c:5636
 msgid "show the change in the specified path first"
 msgstr "afficher la modification dans le chemin spécifié en premier"
 
-#: diff.c:5631
+#: diff.c:5639
 msgid "skip the output to the specified path"
 msgstr "sauter la sortie pour le chemin spécifié"
 
-#: diff.c:5633
+#: diff.c:5641
 msgid "<object-id>"
 msgstr "<id-objet>"
 
-#: diff.c:5634
+#: diff.c:5642
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -4051,35 +4060,35 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de l'objet "
 "indiqué"
 
-#: diff.c:5636
+#: diff.c:5644
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5637
+#: diff.c:5645
 msgid "select files by diff type"
 msgstr "sélectionner les fichiers par types de diff"
 
-#: diff.c:5639
+#: diff.c:5647
 msgid "<file>"
 msgstr "<fichier>"
 
-#: diff.c:5640
+#: diff.c:5648
 msgid "Output to a specific file"
 msgstr "Sortie vers un fichier spécifié"
 
-#: diff.c:6298
+#: diff.c:6306
 msgid "exhaustive rename detection was skipped due to too many files."
 msgstr ""
 "détection exhaustive de renommage annulée à cause d'un trop grand nombre de "
 "fichiers."
 
-#: diff.c:6301
+#: diff.c:6309
 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:6304
+#: diff.c:6312
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -4092,7 +4101,7 @@ msgstr ""
 msgid "failed to read orderfile '%s'"
 msgstr "impossible de lire le fichier de commande '%s'"
 
-#: diffcore-rename.c:1514
+#: diffcore-rename.c:1564
 msgid "Performing inexact rename detection"
 msgstr "Détection de renommage inexact en cours"
 
@@ -4133,334 +4142,405 @@ msgstr "désactivation de la correspondance de motif de cone"
 msgid "cannot use %s as an exclude file"
 msgstr "impossible d'utiliser %s comme fichier d'exclusion"
 
-#: dir.c:2351
+#: dir.c:2464
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "impossible d'ouvrir le répertoire '%s'"
 
-#: dir.c:2653
+#: dir.c:2766
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:2777
+#: dir.c:2890
 msgid "untracked cache is disabled on this system or location"
 msgstr "le cache non suivi est désactivé sur ce système ou sur cet endroit"
 
-#: dir.c:3610
+#: dir.c:3158
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"Aucun nom de répertoire n'a pu être deviné\n"
+"Veuillez spécifier un répertoire dans la ligne de commande"
+
+#: dir.c:3837
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "fichier d'index corrompu dans le dépôt %s"
 
-#: dir.c:3657 dir.c:3662
+#: dir.c:3884 dir.c:3889
 #, c-format
 msgid "could not create directories for %s"
 msgstr "impossible de créer les répertoires pour %s"
 
-#: dir.c:3691
+#: dir.c:3918
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
 
-#: editor.c:74
+#: editor.c:77
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr ""
 "suggestion : en attente de la fermeture du fichier par votre éditeur de "
 "texte…%c"
 
-#: entry.c:176
+#: entry.c:177
 msgid "Filtering content"
 msgstr "Filtrage du contenu"
 
-#: entry.c:497
+#: entry.c:498
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "impossible de stat le fichier '%s'"
 
-#: environment.c:152
+#: environment.c:143
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "espaces de nom de Git \"%s\""
 
-#: environment.c:334
-#, c-format
-msgid "could not set GIT_DIR to '%s'"
-msgstr "impossible de régler GIT_DIR à '%s'"
-
 #: exec-cmd.c:363
 #, c-format
 msgid "too many args to run %s"
 msgstr "trop d'arguments pour lancer %s"
 
-#: fetch-pack.c:182
+#: fetch-pack.c:193
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : liste superficielle attendue"
 
-#: fetch-pack.c:185
+#: fetch-pack.c:196
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr ""
 "git fetch-pack : paquet de vidage attendu après une liste superficielle"
 
-#: fetch-pack.c:196
+#: fetch-pack.c:207
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack : ACK/NACK attendu, paquet de nettoyage reçu"
 
-#: fetch-pack.c:216
+#: fetch-pack.c:227
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
 
-#: fetch-pack.c:227
+#: fetch-pack.c:238
 msgid "unable to write to remote"
 msgstr "impossible d'écrire sur un distant"
 
-#: fetch-pack.c:288
+#: fetch-pack.c:299
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite multi_ack_detailed"
 
-#: fetch-pack.c:383 fetch-pack.c:1423
+#: fetch-pack.c:394 fetch-pack.c:1434
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "ligne de superficiel invalide : %s"
 
-#: fetch-pack.c:389 fetch-pack.c:1429
+#: fetch-pack.c:400 fetch-pack.c:1440
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "ligne de fin de superficiel invalide : %s"
 
-#: fetch-pack.c:391 fetch-pack.c:1431
+#: fetch-pack.c:402 fetch-pack.c:1442
 #, c-format
 msgid "object not found: %s"
 msgstr "objet non trouvé : %s"
 
-#: fetch-pack.c:394 fetch-pack.c:1434
+#: fetch-pack.c:405 fetch-pack.c:1445
 #, c-format
 msgid "error in object: %s"
 msgstr "erreur dans l'objet : %s"
 
-#: fetch-pack.c:396 fetch-pack.c:1436
+#: fetch-pack.c:407 fetch-pack.c:1447
 #, c-format
 msgid "no shallow found: %s"
 msgstr "pas de superficiel trouvé : %s"
 
-#: fetch-pack.c:399 fetch-pack.c:1440
+#: fetch-pack.c:410 fetch-pack.c:1451
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "superficiel/non superficiel attendu, %s trouvé"
 
-#: fetch-pack.c:439
+#: fetch-pack.c:450
 #, c-format
 msgid "got %s %d %s"
 msgstr "réponse %s %d %s"
 
-#: fetch-pack.c:456
+#: fetch-pack.c:467
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit invalide %s"
 
-#: fetch-pack.c:487
+#: fetch-pack.c:498
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:500 progress.c:339
+#: fetch-pack.c:511 progress.c:339
 msgid "done"
 msgstr "fait"
 
-#: fetch-pack.c:512
+#: fetch-pack.c:523
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s trouvé (%d) %s"
 
-#: fetch-pack.c:548
+#: fetch-pack.c:559
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marquage de %s comme terminé"
 
-#: fetch-pack.c:763
+#: fetch-pack.c:774
 #, c-format
 msgid "already have %s (%s)"
 msgstr "%s déjà possédé (%s)"
 
-#: fetch-pack.c:849
+#: fetch-pack.c:860
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
 
-#: fetch-pack.c:857
+#: fetch-pack.c:868
 msgid "protocol error: bad pack header"
 msgstr "erreur de protocole : mauvais entête de paquet"
 
-#: fetch-pack.c:951
+#: fetch-pack.c:962
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack : impossible de dupliquer %s"
 
-#: fetch-pack.c:957
+#: fetch-pack.c:968
 msgid "fetch-pack: invalid index-pack output"
 msgstr "fetch-pack : sortie d'index de pack invalide"
 
-#: fetch-pack.c:974
+#: fetch-pack.c:985
 #, c-format
 msgid "%s failed"
 msgstr "échec de %s"
 
-#: fetch-pack.c:976
+#: fetch-pack.c:987
 msgid "error in sideband demultiplexer"
 msgstr "erreur dans le démultiplexer latéral"
 
-#: fetch-pack.c:1019
+#: fetch-pack.c:1030
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*s"
 
-#: fetch-pack.c:1027 fetch-pack.c:1033 fetch-pack.c:1036 fetch-pack.c:1042
-#: fetch-pack.c:1046 fetch-pack.c:1050 fetch-pack.c:1054 fetch-pack.c:1058
-#: fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070 fetch-pack.c:1074
-#: fetch-pack.c:1080 fetch-pack.c:1086 fetch-pack.c:1091 fetch-pack.c:1096
+#: fetch-pack.c:1038 fetch-pack.c:1044 fetch-pack.c:1047 fetch-pack.c:1053
+#: fetch-pack.c:1057 fetch-pack.c:1061 fetch-pack.c:1065 fetch-pack.c:1069
+#: fetch-pack.c:1073 fetch-pack.c:1077 fetch-pack.c:1081 fetch-pack.c:1085
+#: fetch-pack.c:1091 fetch-pack.c:1097 fetch-pack.c:1102 fetch-pack.c:1107
 #, c-format
 msgid "Server supports %s"
 msgstr "Le serveur supporte %s"
 
-#: fetch-pack.c:1029
+#: fetch-pack.c:1040
 msgid "Server does not support shallow clients"
 msgstr "Le serveur ne supporte les clients superficiels"
 
-#: fetch-pack.c:1089
+#: fetch-pack.c:1100
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:1094
+#: fetch-pack.c:1105
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:1098
+#: fetch-pack.c:1109
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:1100
+#: fetch-pack.c:1111
 msgid "Server does not support this repository's object format"
 msgstr "Le serveur ne supporte pas ce format d'objets de ce dépôt"
 
-#: fetch-pack.c:1113
+#: fetch-pack.c:1124
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:1122 fetch-pack.c:1469 builtin/clone.c:1238
+#: fetch-pack.c:1133 fetch-pack.c:1480 builtin/clone.c:1130
 msgid "source repository is shallow, reject to clone."
 msgstr "le dépôt source est superficiel, clonage rejeté."
 
-#: fetch-pack.c:1128 fetch-pack.c:1660
+#: fetch-pack.c:1139 fetch-pack.c:1671
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1242
+#: fetch-pack.c:1253
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "non-correspondance des algorithmes : client %s ; serveur %s"
 
-#: fetch-pack.c:1246
+#: fetch-pack.c:1257
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "le serveur ne supporte pas l'algorithme '%s'"
 
-#: fetch-pack.c:1279
+#: fetch-pack.c:1290
 msgid "Server does not support shallow requests"
 msgstr "Le serveur ne supporte pas les requêtes superficielles"
 
-#: fetch-pack.c:1286
+#: fetch-pack.c:1297
 msgid "Server supports filter"
 msgstr "Le serveur supporte filter"
 
-#: fetch-pack.c:1329 fetch-pack.c:2043
+#: fetch-pack.c:1340 fetch-pack.c:2053
 msgid "unable to write request to remote"
 msgstr "impossible d'écrire la requête sur le distant"
 
-#: fetch-pack.c:1347
+#: fetch-pack.c:1358
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "erreur à la lecture de l'entête de section '%s'"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1364
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' attendu, '%s' reçu"
 
-#: fetch-pack.c:1387
+#: fetch-pack.c:1398
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "ligne d'acquittement inattendue : '%s'"
 
-#: fetch-pack.c:1392
+#: fetch-pack.c:1403
 #, c-format
 msgid "error processing acks: %d"
 msgstr "erreur lors du traitement des acquittements : %d"
 
-#: fetch-pack.c:1402
+#: fetch-pack.c:1413
 msgid "expected packfile to be sent after 'ready'"
 msgstr "fichier paquet attendu à envoyer après 'ready'"
 
-#: fetch-pack.c:1404
+#: fetch-pack.c:1415
 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:1445
+#: fetch-pack.c:1456
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "erreur lors du traitement de l'information de superficialité : %d"
 
-#: fetch-pack.c:1494
+#: fetch-pack.c:1505
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref attendu, '%s' trouvé"
 
-#: fetch-pack.c:1499
+#: fetch-pack.c:1510
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inattendu : '%s'"
 
-#: fetch-pack.c:1504
+#: fetch-pack.c:1515
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "erreur lors du traitement des références voulues : %d"
 
-#: fetch-pack.c:1534
+#: fetch-pack.c:1545
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack : paquet de fin de réponse attendu"
 
-#: fetch-pack.c:1939
+#: fetch-pack.c:1949
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: fetch-pack.c:1962 builtin/clone.c:697
+#: fetch-pack.c:1972 builtin/clone.c:581
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: fetch-pack.c:2065
+#: fetch-pack.c:2075
 msgid "unexpected 'ready' from remote"
 msgstr "'ready' inattendu depuis le distant"
 
-#: fetch-pack.c:2088
+#: fetch-pack.c:2098
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:2091
+#: fetch-pack.c:2101
 #, 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:273
+#: gpg-interface.c:329 gpg-interface.c:449 gpg-interface.c:900
+#: gpg-interface.c:916
 msgid "could not create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: gpg-interface.c:276
+#: gpg-interface.c:332 gpg-interface.c:452
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
 
-#: gpg-interface.c:470
+#: gpg-interface.c:443
+msgid ""
+"gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
+"signature verification"
+msgstr "gpg.ssh.allowedSignersFile doit exister et être configuré pour la vérification de signature ssh"
+
+#: gpg-interface.c:467
+msgid ""
+"ssh-keygen -Y find-principals/verify is needed for ssh signature "
+"verification (available in openssh version 8.2p1+)"
+msgstr "ssh-keygen -Y -find-principals/verify est nécessaire pour la vérification de signature ssh (disponible depuis openssh version 8.2p1+)"
+
+#: gpg-interface.c:521
+#, c-format
+msgid "ssh signing revocation file configured but not found: %s"
+msgstr "fichier de révocation de signature ssh configuré mais non trouvé : %s"
+
+#: gpg-interface.c:574
+#, c-format
+msgid "bad/incompatible signature '%s'"
+msgstr "signature incompatible ou mauvaise '%s'"
+
+#: gpg-interface.c:733 gpg-interface.c:738
+#, c-format
+msgid "failed to get the ssh fingerprint for key '%s'"
+msgstr "échec d'obtention de l'empreinte ssh pour la clé '%s'"
+
+#: gpg-interface.c:760
+msgid ""
+"either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
+msgstr "soit user.signingkey ou gpg.ssh.defaultKeyCommand doit être configuré"
+
+#: gpg-interface.c:778
+#, c-format
+msgid "gpg.ssh.defaultKeycommand succeeded but returned no keys: %s %s"
+msgstr "gpg.ssh.defaultKeyCommand a réussi mais n'a retourné aucune clé : %s %s"
+
+#: gpg-interface.c:784
+#, c-format
+msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
+msgstr "gpg.ssh.defaultKeyCommand a échoué : %s %s"
+
+#: gpg-interface.c:872
 msgid "gpg failed to sign the data"
 msgstr "gpg n'a pas pu signer les données"
 
+#: gpg-interface.c:893
+msgid "user.signingkey needs to be set for ssh signing"
+msgstr "user.signingkey doit être configuré pour pour signer avec ssh"
+
+#: gpg-interface.c:904
+#, c-format
+msgid "failed writing ssh signing key to '%s'"
+msgstr "impossible d'écrire la clé de signature ssh dans '%s'"
+
+#: gpg-interface.c:922
+#, c-format
+msgid "failed writing ssh signing key buffer to '%s'"
+msgstr "impossible d'écrire le tampon de la clé de signature ssh dans '%s'"
+
+#: gpg-interface.c:940
+msgid ""
+"ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
+"8.2p1+)"
+msgstr "ssh-keygen -Y signe est nécessaire pour pouvoir signer avec ssh (disponible dans openssh version 8.2p1+)"
+
+#: gpg-interface.c:952
+#, c-format
+msgid "failed reading ssh signing data buffer from '%s'"
+msgstr "impossible de lire le tampon de données de signature ssh depuis '%s'"
+
 #: graph.c:98
 #, c-format
 msgid "ignored invalid color '%.*s' in log.graphColors"
@@ -4474,112 +4554,112 @@ msgstr ""
 "le motif fourni contient des octets NUL (via -f <fichier>). Ce n'est "
 "supporté qu'avec -P avec PCRE v2"
 
-#: grep.c:1895
+#: grep.c:1907
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:1912 setup.c:176 builtin/clone.c:416 builtin/diff.c:90
+#: grep.c:1924 setup.c:176 builtin/clone.c:302 builtin/diff.c:90
 #: builtin/rm.c:136
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:1923
+#: grep.c:1935
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
 
-#: help.c:23
+#: help.c:24
 msgid "start a working area (see also: git help tutorial)"
 msgstr "démarrer une zone de travail (voir aussi : git help tutorial)"
 
-#: help.c:24
+#: help.c:25
 msgid "work on the current change (see also: git help everyday)"
 msgstr ""
 "travailler sur la modification actuelle (voir aussi : git help revisions)"
 
-#: help.c:25
+#: help.c:26
 msgid "examine the history and state (see also: git help revisions)"
 msgstr "examiner l'historique et l'état (voir aussi : git help revisions)"
 
-#: help.c:26
+#: help.c:27
 msgid "grow, mark and tweak your common history"
 msgstr "agrandir, marquer et modifier votre historique"
 
-#: help.c:27
+#: help.c:28
 msgid "collaborate (see also: git help workflows)"
 msgstr "collaborer (voir aussi : git help workflows)"
 
-#: help.c:31
+#: help.c:32
 msgid "Main Porcelain Commands"
 msgstr "Commandes Porcelaine Principales"
 
-#: help.c:32
+#: help.c:33
 msgid "Ancillary Commands / Manipulators"
 msgstr "Commandes Auxiliaires / Manipulateurs"
 
-#: help.c:33
+#: help.c:34
 msgid "Ancillary Commands / Interrogators"
 msgstr "Commandes Auxiliaires / Interrogateurs"
 
-#: help.c:34
+#: help.c:35
 msgid "Interacting with Others"
 msgstr "Interaction avec d'autres développeurs"
 
-#: help.c:35
+#: help.c:36
 msgid "Low-level Commands / Manipulators"
 msgstr "Commandes bas-niveau / Manipulateurs"
 
-#: help.c:36
+#: help.c:37
 msgid "Low-level Commands / Interrogators"
 msgstr "Commandes bas niveau / Interrogateurs"
 
-#: help.c:37
+#: help.c:38
 msgid "Low-level Commands / Syncing Repositories"
 msgstr "Commandes bas niveau / Synchronisation de dépôts"
 
-#: help.c:38
+#: help.c:39
 msgid "Low-level Commands / Internal Helpers"
 msgstr "Commandes bas niveau / Assistants internes"
 
-#: help.c:300
+#: help.c:313
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "commandes git disponibles dans '%s'"
 
-#: help.c:307
+#: help.c:320
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 
-#: help.c:316
+#: help.c:329
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:365 git.c:100
+#: help.c:378 git.c:100
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "type de liste de commandes non supporté '%s'"
 
-#: help.c:405
+#: help.c:418
 msgid "The Git concept guides are:"
 msgstr "Les guides des concepts de Git sont :"
 
-#: help.c:429
+#: help.c:442
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr ""
 "Référez-vous à 'git help <commande>' pour des informations sur une sous-"
 "commande spécifique"
 
-#: help.c:434
+#: help.c:447
 msgid "External commands"
 msgstr "Commandes externes"
 
-#: help.c:449
+#: help.c:462
 msgid "Command aliases"
 msgstr "Alias de commande"
 
-#: help.c:527
+#: help.c:543
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -4588,33 +4668,38 @@ msgstr ""
 "'%s' semble être une commande git, mais elle n'a pas pu\n"
 "être exécutée. Peut-être git-%s est-elle cassée ?"
 
-#: help.c:543 help.c:631
+#: help.c:565 help.c:662
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git : '%s' n'est pas une commande git. Voir 'git --help'."
 
-#: help.c:591
+#: help.c:613
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:613
+#: help.c:635
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr ""
 "ATTENTION : vous avez invoqué une commande Git nommée '%s' qui n'existe pas."
 
-#: help.c:618
+#: help.c:640
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Continuons en supposant que vous avez voulu dire '%s'."
 
-#: help.c:623
+#: help.c:646
+#, c-format
+msgid "Run '%s' instead? (y/N)"
+msgstr "Lancer '%s' à la place ? (y/N)"
+
+#: help.c:654
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr ""
 "Continuons dans %0.1f secondes en supposant que vous avez voulu dire '%s'."
 
-#: help.c:635
+#: help.c:666
 msgid ""
 "\n"
 "The most similar command is"
@@ -4628,16 +4713,16 @@ msgstr[1] ""
 "\n"
 "Les commandes les plus ressemblantes sont"
 
-#: help.c:675
+#: help.c:706
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: help.c:730
+#: help.c:761
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:734
+#: help.c:765
 msgid ""
 "\n"
 "Did you mean this?"
@@ -4651,6 +4736,16 @@ msgstr[1] ""
 "\n"
 "Vouliez-vous dire un de ceux-là ?"
 
+#: hook.c:27
+#, c-format
+msgid ""
+"The '%s' hook was ignored because it's not set as executable.\n"
+"You can disable this warning with `git config advice.ignoredHook false`."
+msgstr ""
+"Le crochet '%s' a été ignoré parce qu'il n'est pas marqué comme exécutable.\n"
+"Vous pouvez désactiver cet avertissement avec `git config advice.ignoredHook "
+"false`."
+
 #: ident.c:353
 msgid "Author identity unknown\n"
 msgstr "Identité d'auteur inconnue\n"
@@ -4713,7 +4808,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:454 builtin/commit.c:647
+#: ident.c:454 builtin/commit.c:648
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %s"
@@ -4812,7 +4907,12 @@ msgstr "Impossible de créer '%s.lock' : %s"
 msgid "invalid value '%s' for lsrefs.unborn"
 msgstr "valeur invalide '%s' pour lsrefs.unborn"
 
-#: ls-refs.c:167
+#: ls-refs.c:174
+#, c-format
+msgid "unexpected line: '%s'"
+msgstr "ligne inattendue : '%s'"
+
+#: ls-refs.c:178
 msgid "expected flush after ls-refs arguments"
 msgstr "vidage attendu après les arguments ls-refs"
 
@@ -4820,39 +4920,39 @@ msgstr "vidage attendu après les arguments ls-refs"
 msgid "quoted CRLF detected"
 msgstr "CRLF citées détectées"
 
-#: mailinfo.c:1254 builtin/am.c:176 builtin/mailinfo.c:46
+#: mailinfo.c:1254 builtin/am.c:177 builtin/mailinfo.c:46
 #, c-format
 msgid "bad action '%s' for '%s'"
 msgstr "action invalide '%s' pour '%s'"
 
-#: merge-ort.c:1569 merge-recursive.c:1201
+#: merge-ort.c:1584 merge-recursive.c:1211
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Échec de la fusion du sous-module %s (non extrait)"
 
-#: merge-ort.c:1578 merge-recursive.c:1208
+#: merge-ort.c:1593 merge-recursive.c:1218
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Échec de fusion du sous-module %s (commits non présents)"
 
-#: merge-ort.c:1587 merge-recursive.c:1215
+#: merge-ort.c:1602 merge-recursive.c:1225
 #, 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-ort.c:1597 merge-ort.c:1604
+#: merge-ort.c:1612 merge-ort.c:1620
 #, c-format
 msgid "Note: Fast-forwarding submodule %s to %s"
 msgstr "Note : Avance rapide du sous-module %s à %s"
 
-#: merge-ort.c:1625
+#: merge-ort.c:1642
 #, c-format
 msgid "Failed to merge submodule %s"
 msgstr "Échec de la fusion du sous-module %s"
 
-#: merge-ort.c:1632
+#: merge-ort.c:1649
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but a possible merge resolution exists:\n"
@@ -4862,7 +4962,7 @@ msgstr ""
 "existe :\n"
 "%s\n"
 
-#: merge-ort.c:1636 merge-recursive.c:1269
+#: merge-ort.c:1653 merge-recursive.c:1281
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4879,7 +4979,7 @@ msgstr ""
 "\n"
 "qui acceptera cette suggestion.\n"
 
-#: merge-ort.c:1649
+#: merge-ort.c:1666
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but multiple possible merges exist:\n"
@@ -4889,21 +4989,21 @@ msgstr ""
 "existent :\n"
 "%s"
 
-#: merge-ort.c:1868 merge-recursive.c:1358
+#: merge-ort.c:1887 merge-recursive.c:1372
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-ort.c:1873 merge-recursive.c:1363
+#: merge-ort.c:1892 merge-recursive.c:1377
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-ort.c:1880 merge-recursive.c:1396
+#: merge-ort.c:1899 merge-recursive.c:1410
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-ort.c:2019 merge-recursive.c:2118
+#: merge-ort.c:2038 merge-recursive.c:2132
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4912,7 +5012,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-ort.c:2029 merge-recursive.c:2128
+#: merge-ort.c:2048 merge-recursive.c:2142
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4921,7 +5021,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : impossible de transformer "
 "plusieurs chemins sur %s ; les chemins concernés sont : %s"
 
-#: merge-ort.c:2087
+#: merge-ort.c:2106
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to rename %s to; it was "
@@ -4932,7 +5032,7 @@ msgstr ""
 "parce que le répertoire a été renommé en plusieurs autres répertoires, sans "
 "aucune destination récupérant la majorité des fichiers."
 
-#: merge-ort.c:2241 merge-recursive.c:2464
+#: merge-ort.c:2260 merge-recursive.c:2478
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -4941,7 +5041,7 @@ msgstr ""
 "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
 "renommé."
 
-#: merge-ort.c:2385 merge-recursive.c:3247
+#: merge-ort.c:2400 merge-recursive.c:3261
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4950,7 +5050,7 @@ msgstr ""
 "Chemin mis à jour : %s ajouté dans %s dans un répertoire qui a été renommé "
 "en %s ; déplacé dans %s."
 
-#: merge-ort.c:2392 merge-recursive.c:3254
+#: merge-ort.c:2407 merge-recursive.c:3268
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4959,7 +5059,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-ort.c:2405 merge-recursive.c:3250
+#: merge-ort.c:2420 merge-recursive.c:3264
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4969,7 +5069,7 @@ msgstr ""
 "a été renommé dans %s, ce qui suggère qu'il devrait peut-être être déplacé "
 "vers %s."
 
-#: merge-ort.c:2413 merge-recursive.c:3257
+#: merge-ort.c:2428 merge-recursive.c:3271
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4979,13 +5079,13 @@ msgstr ""
 "répertoire qui a été renommé dans %s, ce qui suggère qu'il devrait peut-être "
 "être déplacé vers %s."
 
-#: merge-ort.c:2569
+#: merge-ort.c:2584
 #, c-format
 msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
 msgstr ""
 "CONFLIT (renommage/renommage) : %s renommé en %s dans %s et en %s dans %s."
 
-#: merge-ort.c:2664
+#: merge-ort.c:2679
 #, c-format
 msgid ""
 "CONFLICT (rename involved in collision): rename of %s -> %s has content "
@@ -4996,24 +5096,24 @@ msgstr ""
 "des conflits de contenu ET entre en collision avec un autre chemin ; ceci "
 "peut resulter en des marqueurs de conflit imbriqués."
 
-#: merge-ort.c:2683 merge-ort.c:2707
+#: merge-ort.c:2698 merge-ort.c:2722
 #, c-format
 msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
 msgstr ""
 "CONFLIT (renommage/suppression) : Renommage de %s en %s dans %s mais "
 "supprimé dans %s."
 
-#: merge-ort.c:3182 merge-recursive.c:3008
+#: merge-ort.c:3212 merge-recursive.c:3022
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-ort.c:3185 merge-recursive.c:3011
+#: merge-ort.c:3215 merge-recursive.c:3025
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-ort.c:3613
+#: merge-ort.c:3644
 #, c-format
 msgid ""
 "CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
@@ -5022,7 +5122,7 @@ msgstr ""
 "CONFLIT (fichier/répertoire) : répertoire au milieu de %s depuis %s ; "
 "déplacement dans %s à la place."
 
-#: merge-ort.c:3689
+#: merge-ort.c:3721
 #, c-format
 msgid ""
 "CONFLICT (distinct types): %s had different types on each side; renamed both "
@@ -5031,7 +5131,7 @@ msgstr ""
 "CONFLIT (types différents) : %s a des types différents des deux côtés ; "
 "renommé chacune de manière à pouvoir enregistrer les deux quelque part."
 
-#: merge-ort.c:3696
+#: merge-ort.c:3728
 #, c-format
 msgid ""
 "CONFLICT (distinct types): %s had different types on each side; renamed one "
@@ -5041,24 +5141,24 @@ msgstr ""
 "renommé une d'entre elles de manière à pouvoir enregistrer les deux quelque "
 "part."
 
-#: merge-ort.c:3796 merge-recursive.c:3087
+#: merge-ort.c:3819 merge-recursive.c:3101
 msgid "content"
 msgstr "contenu"
 
-#: merge-ort.c:3798 merge-recursive.c:3091
+#: merge-ort.c:3821 merge-recursive.c:3105
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-ort.c:3800 merge-recursive.c:3136
+#: merge-ort.c:3823 merge-recursive.c:3150
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-ort.c:3802 merge-recursive.c:3137
+#: merge-ort.c:3825 merge-recursive.c:3151
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-ort.c:3833
+#: merge-ort.c:3856
 #, c-format
 msgid ""
 "CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
@@ -5067,7 +5167,7 @@ msgstr ""
 "CONFLIT (modification/suppression) : %s supprimé dans %s et modifié dans %s. "
 "Version %s de %s laissée dans l'arbre."
 
-#: merge-ort.c:4120
+#: merge-ort.c:4152
 #, c-format
 msgid ""
 "Note: %s not up to date and in way of checking out conflicted version; old "
@@ -5079,12 +5179,12 @@ msgstr ""
 #. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
 #. base, and 2-3) the trees for the two trees we're merging.
 #.
-#: merge-ort.c:4487
+#: merge-ort.c:4521
 #, c-format
 msgid "collecting merge info failed for trees %s, %s, %s"
 msgstr "échec de collecte l'information de fusion pour les arbres %s, %s, %s"
 
-#: merge-ort-wrappers.c:13 merge-recursive.c:3702
+#: merge-ort-wrappers.c:13 merge-recursive.c:3716
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -5094,106 +5194,106 @@ msgstr ""
 "fusion :\n"
 "  %s"
 
-#: merge-ort-wrappers.c:33 merge-recursive.c:3468 builtin/merge.c:402
+#: merge-ort-wrappers.c:33 merge-recursive.c:3482 builtin/merge.c:403
 msgid "Already up to date."
 msgstr "Déjà à jour."
 
-#: merge-recursive.c:352
+#: merge-recursive.c:353
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:375
+#: merge-recursive.c:381
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "échec de add_cacheinfo pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:384
+#: merge-recursive.c:390
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "échec de add_cacheinfo pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:872
+#: merge-recursive.c:881
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:883
+#: merge-recursive.c:892
 #, 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:897 merge-recursive.c:916
+#: merge-recursive.c:906 merge-recursive.c:925
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:906
+#: merge-recursive.c:915
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:947 builtin/cat-file.c:41
+#: merge-recursive.c:956 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:952
+#: merge-recursive.c:961
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:977
+#: merge-recursive.c:986
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:988
+#: merge-recursive.c:997
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:993
+#: merge-recursive.c:1002
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:1223 merge-recursive.c:1235
+#: merge-recursive.c:1233 merge-recursive.c:1246
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Avance rapide du sous-module %s au commit suivant :"
 
-#: merge-recursive.c:1226 merge-recursive.c:1238
+#: merge-recursive.c:1236 merge-recursive.c:1249
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rapide du sous-module %s"
 
-#: merge-recursive.c:1261
+#: merge-recursive.c:1273
 #, 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:1265
+#: merge-recursive.c:1277
 #, 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:1266
+#: merge-recursive.c:1278
 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:1278
+#: merge-recursive.c:1290
 #, 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:1420
+#: merge-recursive.c:1434
 #, 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:1492
+#: merge-recursive.c:1506
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -5202,7 +5302,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:1497
+#: merge-recursive.c:1511
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5211,7 +5311,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:1504
+#: merge-recursive.c:1518
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -5220,7 +5320,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:1509
+#: merge-recursive.c:1523
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5229,41 +5329,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:1544
+#: merge-recursive.c:1558
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1544
+#: merge-recursive.c:1558
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1595 merge-recursive.c:2501 merge-recursive.c:3164
+#: merge-recursive.c:1609 merge-recursive.c:2515 merge-recursive.c:3178
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Refus de perdre le fichier modifié %s"
 
-#: merge-recursive.c:1605
+#: merge-recursive.c:1619
 #, 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:1663
+#: merge-recursive.c:1677
 #, 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:1694
+#: merge-recursive.c:1708
 #, 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:1699
+#: merge-recursive.c:1713
 #, 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:1726
+#: merge-recursive.c:1740
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -5272,18 +5372,18 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1731
+#: merge-recursive.c:1745
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1823
+#: merge-recursive.c:1837
 #, 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:2086
+#: merge-recursive.c:2100
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -5294,7 +5394,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:2220
+#: merge-recursive.c:2234
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -5303,80 +5403,80 @@ msgstr ""
 "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
 "Renommage de répertoire %s->%s dans %s"
 
-#: merge-recursive.c:3075
+#: merge-recursive.c:3089
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:3075
+#: merge-recursive.c:3089
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:3114
+#: merge-recursive.c:3128
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:3167
+#: merge-recursive.c:3181
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:3371
+#: merge-recursive.c:3385
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:3394
+#: merge-recursive.c:3408
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:3399
+#: merge-recursive.c:3413
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:3406
+#: merge-recursive.c:3420
 #, 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:3415
+#: merge-recursive.c:3429
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:3424
+#: merge-recursive.c:3438
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "CONFLIT (ajout/ajout) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3477
+#: merge-recursive.c:3491
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:3571
+#: merge-recursive.c:3585
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:3584
+#: merge-recursive.c:3598
 #, 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:3634
+#: merge-recursive.c:3648
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:3799
+#: merge-recursive.c:3816
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:3817 builtin/merge.c:717 builtin/merge.c:901
-#: builtin/stash.c:473
+#: merge-recursive.c:3834 builtin/merge.c:718 builtin/merge.c:904
+#: builtin/stash.c:489
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
@@ -5384,142 +5484,174 @@ msgstr "Impossible d'écrire l'index."
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: merge.c:108 rerere.c:704 builtin/am.c:1932 builtin/am.c:1966
-#: builtin/checkout.c:590 builtin/checkout.c:844 builtin/clone.c:821
-#: builtin/stash.c:267
+#: merge.c:102 rerere.c:704 builtin/am.c:1933 builtin/am.c:1967
+#: builtin/checkout.c:590 builtin/checkout.c:842 builtin/clone.c:706
+#: builtin/stash.c:269
 msgid "unable to write new index file"
 msgstr "impossible d'écrire le nouveau fichier d'index"
 
-#: midx.c:74
+#: midx.c:78
 msgid "multi-pack-index OID fanout is of the wrong size"
 msgstr "l'étalement de l'OID d'index multi-paquet n'a pas la bonne taille"
 
-#: midx.c:105
+#: midx.c:109
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "le fichier d'index multi-paquet %s est trop petit"
 
-#: midx.c:121
+#: midx.c:125
 #, 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:126
+#: midx.c:130
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "la version d'index multi-paquet %d n'est pas reconnue"
 
-#: midx.c:131
+#: midx.c:135
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr ""
 "la version d'empreinte d'index multi-paquet %u ne correspond pas à la "
 "version %u"
 
-#: midx.c:148
+#: midx.c:152
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "index multi-paquet manque de tronçon de nom de paquet"
 
-#: midx.c:150
+#: midx.c:154
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "index multi-paquet manque de tronçon de d'étalement OID requis"
 
-#: midx.c:152
+#: midx.c:156
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "index multi-paquet manque de tronçon de recherche OID requis"
 
-#: midx.c:154
+#: midx.c:158
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "index multi-paquet manque de tronçon de décalage d'objet requis"
 
-#: midx.c:170
+#: midx.c:174
 #, 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:214
+#: midx.c:221
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "mauvais pack-int-id : %u (%u paquets au total)"
 
-#: midx.c:264
+#: midx.c:271
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
 "l'index multi-paquet stock un décalage en 64-bit, mais off_t est trop petit"
 
-#: midx.c:490
+#: midx.c:502
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "échec de l'ajout du fichier paquet '%s'"
 
-#: midx.c:496
+#: midx.c:508
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "échec à l'ouverture du fichier paquet '%s'"
 
-#: midx.c:564
+#: midx.c:576
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "échec de localisation de l'objet %d dans le fichier paquet"
 
-#: midx.c:880 builtin/index-pack.c:1533
+#: midx.c:892
 msgid "cannot store reverse index file"
 msgstr "impossible de stocker le fichier d'index inversé"
 
-#: midx.c:920
+#: midx.c:990
+#, c-format
+msgid "could not parse line: %s"
+msgstr "impossible d'analyser la ligne : %s"
+
+#: midx.c:992
+#, c-format
+msgid "malformed line: %s"
+msgstr "ligne malformée : %s"
+
+#: midx.c:1159
 msgid "ignoring existing multi-pack-index; checksum mismatch"
 msgstr ""
 "index multi-paquet existant ignoré ; non-concordance de la somme de contrôle"
 
-#: midx.c:943
-msgid "Adding packfiles to multi-pack-index"
-msgstr "Ajout de fichiers paquet à un index multi-paquet"
+#: midx.c:1184
+msgid "could not load pack"
+msgstr "impossible de charger le paquet"
 
-#: midx.c:989
+#: midx.c:1190
 #, c-format
-msgid "did not see pack-file %s to drop"
-msgstr "fichier paquet à éliminer %s non trouvé"
+msgid "could not open index for %s"
+msgstr "impossible d'ouvrir l'index pour %s"
+
+#: midx.c:1201
+msgid "Adding packfiles to multi-pack-index"
+msgstr "Ajout de fichiers paquet à un index multi-paquet"
 
-#: midx.c:1034
+#: midx.c:1244
 #, c-format
 msgid "unknown preferred pack: '%s'"
 msgstr "paquet préféré inconnu : %s"
 
-#: midx.c:1039
+#: midx.c:1289
+#, c-format
+msgid "cannot select preferred pack %s with no objects"
+msgstr "impossible de sélectionner le paquet préféré %s avec aucun objet"
+
+#: midx.c:1321
+#, c-format
+msgid "did not see pack-file %s to drop"
+msgstr "fichier paquet à éliminer %s non trouvé"
+
+#: midx.c:1367
 #, c-format
 msgid "preferred pack '%s' is expired"
 msgstr "le paquet préféré '%s' est expiré"
 
-#: midx.c:1055
+#: midx.c:1380
 msgid "no pack files to index."
 msgstr "aucun fichier paquet à l'index."
 
-#: midx.c:1135 builtin/clean.c:37
+#: midx.c:1417
+msgid "could not write multi-pack bitmap"
+msgstr "impossible d'écrire le bitmap multi-paquet"
+
+#: midx.c:1427
+msgid "could not write multi-pack-index"
+msgstr "échec de l'écriture de l'index de multi-paquet"
+
+#: midx.c:1486 builtin/clean.c:37
 #, c-format
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: midx.c:1166
+#: midx.c:1517
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "échec du nettoyage de l'index de multi-paquet à %s"
 
-#: midx.c:1225
+#: midx.c:1577
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr "le fichier d'index multi-paquet existe mais n'a pu être analysé"
 
-#: midx.c:1233
+#: midx.c:1585
 msgid "incorrect checksum"
 msgstr "somme de contrôle incorrecte"
 
-#: midx.c:1236
+#: midx.c:1588
 msgid "Looking for referenced packfiles"
 msgstr "Recherche de fichiers paquets référencés"
 
-#: midx.c:1251
+#: midx.c:1603
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
@@ -5527,55 +5659,55 @@ msgstr ""
 "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = "
 "étalement[%d]"
 
-#: midx.c:1256
+#: midx.c:1608
 msgid "the midx contains no oid"
 msgstr "le midx ne contient aucun oid"
 
-#: midx.c:1265
+#: midx.c:1617
 msgid "Verifying OID order in multi-pack-index"
 msgstr "Vérification de l'ordre des OID dans l'index multi-paquet"
 
-#: midx.c:1274
+#: midx.c:1626
 #, 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:1294
+#: midx.c:1646
 msgid "Sorting objects by packfile"
 msgstr "Classement des objets par fichier paquet"
 
-#: midx.c:1301
+#: midx.c:1653
 msgid "Verifying object offsets"
 msgstr "Vérification des décalages des objets"
 
-#: midx.c:1317
+#: midx.c:1669
 #, 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:1323
+#: midx.c:1675
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "impossible de lire le fichier paquet %s"
 
-#: midx.c:1332
+#: midx.c:1684
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "décalage d'objet incorrect pour oid[%d] = %s : %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1357
+#: midx.c:1709
 msgid "Counting referenced objects"
 msgstr "Comptage des objets référencés"
 
-#: midx.c:1367
+#: midx.c:1719
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "Recherche et effacement des fichiers paquets non-référencés"
 
-#: midx.c:1558
+#: midx.c:1911
 msgid "could not start pack-objects"
 msgstr "impossible de démarrer le groupement d'objets"
 
-#: midx.c:1578
+#: midx.c:1931
 msgid "could not finish pack-objects"
 msgstr "impossible de finir le groupement d'objets"
 
@@ -5633,261 +5765,261 @@ msgstr "Refus de réécrire des notes dans %s (hors de refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Mauvaise valeur de %s : '%s'"
 
-#: object-file.c:526
+#: object-file.c:459
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "le répertoire objet %s n'existe pas ; vérifiez .git/objects/info/alternates"
 
-#: object-file.c:584
+#: object-file.c:517
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "impossible de normaliser le chemin d'objet alternatif : %s"
 
-#: object-file.c:658
+#: object-file.c:591
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s : magasins d'objets alternatifs ignorés, récursion trop profonde"
 
-#: object-file.c:665
+#: object-file.c:598
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "impossible de normaliser le répertoire d'objet : %s"
 
-#: object-file.c:708
+#: object-file.c:641
 msgid "unable to fdopen alternates lockfile"
 msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
 
-#: object-file.c:726
+#: object-file.c:659
 msgid "unable to read alternates file"
 msgstr "lecture du fichier d'alternatives impossible"
 
-#: object-file.c:733
+#: object-file.c:666
 msgid "unable to move new alternates file into place"
 msgstr "impossible de déplacer le nouveau fichier d'alternative"
 
-#: object-file.c:768
+#: object-file.c:701
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: object-file.c:789
+#: object-file.c:722
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "extraire le dépôt de référence '%s' comme une extraction liée n'est pas "
 "encore supporté."
 
-#: object-file.c:795
+#: object-file.c:728
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "le dépôt de référence '%s' n'est pas un dépôt local."
 
-#: object-file.c:801
+#: object-file.c:734
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: object-file.c:809
+#: object-file.c:742
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: object-file.c:869
+#: object-file.c:773
+#, c-format
+msgid "could not find object directory matching %s"
+msgstr "impossible de trouver le répertoire objet correspondant à %s"
+
+#: object-file.c:823
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
 
-#: object-file.c:1019
+#: object-file.c:973
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "essai de mmap %<PRIuMAX> au delà de la limite %<PRIuMAX>"
 
-#: object-file.c:1054
+#: object-file.c:1008
 #, c-format
 msgid "mmap failed%s"
 msgstr "échec de mmap%s"
 
-#: object-file.c:1218
+#: object-file.c:1174
 #, c-format
 msgid "object file %s is empty"
 msgstr "le fichier objet %s est vide"
 
-#: object-file.c:1353 object-file.c:2548
+#: object-file.c:1293 object-file.c:2499
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objet libre corrompu '%s'"
 
-#: object-file.c:1355 object-file.c:2552
+#: object-file.c:1295 object-file.c:2503
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "données incorrectes à la fin de l'objet libre '%s'"
 
-#: object-file.c:1397
+#: object-file.c:1417
+#, c-format
+msgid "unable to parse %s header"
+msgstr "impossible d'analyser l'entête %s"
+
+#: object-file.c:1419
 msgid "invalid object type"
 msgstr "type d'objet invalide"
 
-#: object-file.c:1481
-#, c-format
-msgid "unable to unpack %s header with --allow-unknown-type"
-msgstr "impossible de dépaqueter l'entête %s avec --allow-unknown-type"
-
-#: object-file.c:1484
+#: object-file.c:1430
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "impossible de dépaqueter l'entête %s"
 
-#: object-file.c:1490
-#, c-format
-msgid "unable to parse %s header with --allow-unknown-type"
-msgstr "impossible d'analyser l'entête %s avec --allow-unknown-type"
-
-#: object-file.c:1493
+#: object-file.c:1434
 #, c-format
-msgid "unable to parse %s header"
-msgstr "impossible d'analyser l'entête %s"
+msgid "header for %s too long, exceeds %d bytes"
+msgstr "entête de %s trop long, attendu %d octets"
 
-#: object-file.c:1717
+#: object-file.c:1664
 #, c-format
 msgid "failed to read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: object-file.c:1721
+#: object-file.c:1668
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "remplacement %s non trouvé pour %s"
 
-#: object-file.c:1725
+#: object-file.c:1672
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "l'objet libre %s (stocké dans %s) est corrompu"
 
-#: object-file.c:1729
+#: object-file.c:1676
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "l'objet empaqueté %s (stocké dans %s) est corrompu"
 
-#: object-file.c:1834
+#: object-file.c:1781
 #, c-format
 msgid "unable to write file %s"
 msgstr "impossible d'écrire le fichier %s"
 
-#: object-file.c:1841
+#: object-file.c:1788
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "impossible de régler les droits de '%s'"
 
-#: object-file.c:1848
+#: object-file.c:1795
 msgid "file write error"
 msgstr "erreur d'écriture d'un fichier"
 
-#: object-file.c:1868
+#: object-file.c:1815
 msgid "error when closing loose object file"
 msgstr "erreur en fermeture du fichier d'objet esseulé"
 
-#: object-file.c:1933
+#: object-file.c:1882
 #, 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"
 
-#: object-file.c:1935
+#: object-file.c:1884
 msgid "unable to create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: object-file.c:1959
+#: object-file.c:1908
 msgid "unable to write loose object file"
 msgstr "impossible d'écrire le fichier d'objet esseulé"
 
-#: object-file.c:1965
+#: object-file.c:1914
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "impossible de compresser le nouvel objet %s (%d)"
 
-#: object-file.c:1969
+#: object-file.c:1918
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "échec de deflateEnd sur l'objet %s (%d)"
 
-#: object-file.c:1973
+#: object-file.c:1922
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "données de source d'objet instable pour %s"
 
-#: object-file.c:1983 builtin/pack-objects.c:1237
+#: object-file.c:1933 builtin/pack-objects.c:1243
 #, c-format
 msgid "failed utime() on %s"
 msgstr "échec de utime() sur %s"
 
-#: object-file.c:2060
+#: object-file.c:2011
 #, c-format
 msgid "cannot read object for %s"
 msgstr "impossible de lire l'objet pour %s"
 
-#: object-file.c:2111
+#: object-file.c:2062
 msgid "corrupt commit"
 msgstr "commit corrompu"
 
-#: object-file.c:2119
+#: object-file.c:2070
 msgid "corrupt tag"
 msgstr "étiquette corrompue"
 
-#: object-file.c:2219
+#: object-file.c:2170
 #, c-format
 msgid "read error while indexing %s"
 msgstr "erreur de lecture à l'indexation de %s"
 
-#: object-file.c:2222
+#: object-file.c:2173
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lecture tronquée pendant l'indexation de %s"
 
-#: object-file.c:2295 object-file.c:2305
+#: object-file.c:2246 object-file.c:2256
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s : échec de l'insertion dans la base de données"
 
-#: object-file.c:2311
+#: object-file.c:2262
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s : type de fichier non supporté"
 
-#: object-file.c:2335
+#: object-file.c:2286 builtin/fetch.c:1445
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s n'est pas un objet valide"
 
-#: object-file.c:2337
+#: object-file.c:2288
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: object-file.c:2364 builtin/index-pack.c:192
+#: object-file.c:2315
 #, c-format
 msgid "unable to open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: object-file.c:2559 object-file.c:2612
+#: object-file.c:2510
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "incohérence de hachage pour %s (%s attendu)"
 
-#: object-file.c:2583
+#: object-file.c:2533
 #, c-format
 msgid "unable to mmap %s"
 msgstr "impossible de mmap %s"
 
-#: object-file.c:2588
+#: object-file.c:2539
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "impossible de dépaqueter l'entête de %s"
 
-#: object-file.c:2594
+#: object-file.c:2544
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "impossible d'analyser l'entête de %s"
 
-#: object-file.c:2605
+#: object-file.c:2555
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "impossible de dépaqueter le contenu de %s"
@@ -6018,12 +6150,25 @@ msgstr "impossible d'analyser l'objet : %s"
 msgid "hash mismatch %s"
 msgstr "incohérence de hachage %s"
 
-#: pack-bitmap.c:868 pack-bitmap.c:874 builtin/pack-objects.c:2411
+#: pack-bitmap.c:348
+msgid "multi-pack bitmap is missing required reverse index"
+msgstr "l'index inverse requis manque dans l'index multi-paquet"
+
+#: pack-bitmap.c:424
+msgid "load_reverse_index: could not open pack"
+msgstr "load_reverse_index : impossible d'ouvrir le paquet"
+
+#: pack-bitmap.c:1064 pack-bitmap.c:1070 builtin/pack-objects.c:2424
 #, c-format
 msgid "unable to get size of %s"
 msgstr "impossible de récupérer la taille de %s"
 
-#: pack-bitmap.c:1571 builtin/rev-list.c:92
+#: pack-bitmap.c:1916
+#, c-format
+msgid "could not find %s in pack %s at offset %<PRIuMAX>"
+msgstr "impossible de trouver %s dans le paquet %s à l'offset %<PRIuMAX>"
+
+#: pack-bitmap.c:1952 builtin/rev-list.c:92
 #, c-format
 msgid "unable to get disk usage of %s"
 msgstr "impossible de récupérer l'utilisation du disque de %s"
@@ -6053,46 +6198,46 @@ msgstr "le fichier d'index inverse %s a une version non gérée %<PRIu32>"
 msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
 msgstr "le fichier d'index inverse %s a un id d'empreinte non géré %<PRIu32>"
 
-#: pack-write.c:250
+#: pack-write.c:251
 msgid "cannot both write and verify reverse index"
 msgstr "impossible de lire et vérifier à la fois l'index inverse"
 
-#: pack-write.c:271
+#: pack-write.c:270
 #, c-format
 msgid "could not stat: %s"
 msgstr "stat impossible de %s"
 
-#: pack-write.c:283
+#: pack-write.c:282
 #, c-format
 msgid "failed to make %s readable"
 msgstr "échec de rendre %s lisible"
 
-#: pack-write.c:522
+#: pack-write.c:520
 #, c-format
 msgid "could not write '%s' promisor file"
 msgstr "impossible d'écrire le fichier de prometteur '%s'"
 
-#: packfile.c:625
+#: packfile.c:626
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: packfile.c:655
+#: packfile.c:656
 #, c-format
 msgid "packfile %s cannot be mapped%s"
 msgstr "le fichier paquet %s ne peut être mmap%s"
 
-#: packfile.c:1934
+#: packfile.c:1923
 #, 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:1938
+#: packfile.c:1927
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "offset au delà de la fin de l'index de paquet pour %s (index tronqué ?)"
 
-#: parse-options-cb.c:20 parse-options-cb.c:24
+#: parse-options-cb.c:20 parse-options-cb.c:24 builtin/commit-graph.c:175
 #, c-format
 msgid "option `%s' expects a numerical value"
 msgstr "l'option '%s' attend une valeur numérique"
@@ -6112,71 +6257,71 @@ msgstr "l'option '%s' attend \"always\", \"auto\" ou \"never\""
 msgid "malformed object name '%s'"
 msgstr "nom d'objet malformé '%s'"
 
-#: parse-options.c:38
+#: parse-options.c:58
 #, c-format
 msgid "%s requires a value"
 msgstr "%s a besoin d'une valeur"
 
-#: parse-options.c:73
+#: parse-options.c:93
 #, c-format
 msgid "%s is incompatible with %s"
 msgstr "%s est incompatible avec %s"
 
-#: parse-options.c:78
+#: parse-options.c:98
 #, c-format
 msgid "%s : incompatible with something else"
 msgstr "%s est incompatible avec toute autre option"
 
-#: parse-options.c:92 parse-options.c:96 parse-options.c:317
+#: parse-options.c:112 parse-options.c:116
 #, c-format
 msgid "%s takes no value"
 msgstr "%s n'accepte aucune valeur"
 
-#: parse-options.c:94
+#: parse-options.c:114
 #, c-format
 msgid "%s isn't available"
 msgstr "%s n'est pas disponible"
 
-#: parse-options.c:217
+#: parse-options.c:237
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr "%s attend une valeur entière non négative avec une suffixe k/m/g"
 
-#: parse-options.c:386
+#: parse-options.c:393
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "option ambigüe : %s (devrait être --%s%s ou --%s%s)"
 
-#: parse-options.c:420 parse-options.c:428
+#: parse-options.c:427 parse-options.c:435
 #, c-format
 msgid "did you mean `--%s` (with two dashes)?"
 msgstr "vouliez-vous dire `--%s` (avec deux signes moins)?"
 
-#: parse-options.c:668 parse-options.c:988
+#: parse-options.c:677 parse-options.c:1053
 #, c-format
 msgid "alias of --%s"
 msgstr "alias pour --%s"
 
-#: parse-options.c:879
+#: parse-options.c:891
 #, c-format
 msgid "unknown option `%s'"
 msgstr "option inconnue « %s »"
 
-#: parse-options.c:881
+#: parse-options.c:893
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "bascule inconnue « %c »"
 
-#: parse-options.c:883
+#: parse-options.c:895
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "option non-ascii inconnue dans la chaîne : '%s'"
 
-#: parse-options.c:907
+#: parse-options.c:919
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:926
+#: parse-options.c:933
 #, c-format
 msgid "usage: %s"
 msgstr "usage : %s"
@@ -6184,51 +6329,75 @@ msgstr "usage : %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:932
+#: parse-options.c:948
 #, c-format
 msgid "   or: %s"
 msgstr "   ou : %s"
 
-#: parse-options.c:935
+#. TRANSLATORS: You should only need to translate this format
+#. string if your language is a RTL language (e.g. Arabic,
+#. Hebrew etc.), not if it's a LTR language (e.g. German,
+#. Russian, Chinese etc.).
+#. *
+#. When a translated usage string has an embedded "\n" it's
+#. because options have wrapped to the next line. The line
+#. after the "\n" will then be padded to align with the
+#. command name, such as N_("git cmd [opt]\n<8
+#. spaces>[opt2]"), where the 8 spaces are the same length as
+#. "git cmd ".
+#. *
+#. This format string prints out that already-translated
+#. line. The "%*s" is whitespace padding to account for the
+#. padding at the start of the line that we add in this
+#. function. The "%s" is a line in the (hopefully already
+#. translated) N_() usage string, which contained embedded
+#. newlines before we split it up.
+#.
+#: parse-options.c:969
+#, c-format
+msgid "%*s%s"
+msgstr "%*s%s"
+
+#: parse-options.c:992
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:974
+#: parse-options.c:1039
 msgid "-NUM"
 msgstr "-NUM"
 
-#: path.c:915
+#: path.c:922
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
 
-#: pathspec.c:151
+#: pathspec.c:150
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 "Le caractère d'échappement '\\\\' interdit comme dernier caractère dans une "
 "valeur d'attribut"
 
-#: pathspec.c:169
+#: pathspec.c:168
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Une seule spécification 'attr:' est autorisée."
 
-#: pathspec.c:172
+#: pathspec.c:171
 msgid "attr spec must not be empty"
 msgstr "un spécificateur d'attribut ne peut pas être vide"
 
-#: pathspec.c:215
+#: pathspec.c:214
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "nom d'attribut invalide %s"
 
-#: pathspec.c:280
+#: pathspec.c:279
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "les réglages de spécificateurs de chemin généraux 'glob' et 'noglob' sont "
 "incompatibles"
 
-#: pathspec.c:287
+#: pathspec.c:286
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -6236,53 +6405,53 @@ msgstr ""
 "le réglage global de spécificateur de chemin 'literal' est incompatible avec "
 "tous les autres réglages globaux de spécificateur de chemin"
 
-#: pathspec.c:327
+#: pathspec.c:326
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'"
 
-#: pathspec.c:348
+#: pathspec.c:347
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'"
 
-#: pathspec.c:353
+#: pathspec.c:352
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "')' manquante à la fin du spécificateur magique de chemin dans '%s'"
 
-#: pathspec.c:391
+#: pathspec.c:390
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Spécificateur magique '%c' non implémenté dans '%s'"
 
-#: pathspec.c:450
+#: pathspec.c:449
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s : 'literal' et 'glob' sont incompatibles"
 
-#: pathspec.c:466
+#: pathspec.c:465
 #, c-format
 msgid "%s: '%s' is outside repository at '%s'"
 msgstr "%s : '%s' est hors du dépôt à '%s'"
 
-#: pathspec.c:542
+#: pathspec.c:541
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s' (mnémonique : '%c')"
 
-#: pathspec.c:552
+#: pathspec.c:551
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s : le spécificateur magique de chemin n'est pas supporté par cette "
 "commande : %s"
 
-#: pathspec.c:619
+#: pathspec.c:618
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
-#: pathspec.c:664
+#: pathspec.c:663
 #, c-format
 msgid "line is badly quoted: %s"
 msgstr "la ligne est mal citée : %s"
@@ -6303,7 +6472,7 @@ msgstr "impossible d'écrire le paquet de fin de réponse"
 msgid "flush packet write failed"
 msgstr "échec de l'écriture du vidage de paquet"
 
-#: pkt-line.c:153 pkt-line.c:265
+#: pkt-line.c:153
 msgid "protocol error: impossibly long line"
 msgstr "erreur de protocole : ligne impossiblement trop longue"
 
@@ -6311,7 +6480,7 @@ msgstr "erreur de protocole : ligne impossiblement trop longue"
 msgid "packet write with format failed"
 msgstr "échec de l'écriture d'un paquet avec format"
 
-#: pkt-line.c:204
+#: pkt-line.c:204 pkt-line.c:252
 msgid "packet write failed - data exceeds max packet size"
 msgstr ""
 "échec de l'écriture d'un paquet ‑ les données dépassent la taille maximale "
@@ -6322,25 +6491,25 @@ msgstr ""
 msgid "packet write failed: %s"
 msgstr "échec de l'écriture d'un paquet : %s"
 
-#: pkt-line.c:328 pkt-line.c:329
+#: pkt-line.c:349 pkt-line.c:350
 msgid "read error"
 msgstr "erreur de lecture"
 
-#: pkt-line.c:339 pkt-line.c:340
+#: pkt-line.c:360 pkt-line.c:361
 msgid "the remote end hung up unexpectedly"
 msgstr "l'hôte distant a fermé la connexion de manière inattendue"
 
-#: pkt-line.c:369 pkt-line.c:371
+#: pkt-line.c:390 pkt-line.c:392
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "erreur de protocole : mauvais caractère de longueur de ligne : %.4s"
 
-#: pkt-line.c:386 pkt-line.c:388 pkt-line.c:394 pkt-line.c:396
+#: pkt-line.c:407 pkt-line.c:409 pkt-line.c:415 pkt-line.c:417
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "erreur de protocole : mauvaise longueur de ligne %d"
 
-#: pkt-line.c:413 sideband.c:165
+#: pkt-line.c:434 sideband.c:165
 #, c-format
 msgid "remote error: %s"
 msgstr "erreur distante : %s"
@@ -6387,20 +6556,20 @@ msgstr "object-info : vidage attendu après les arguments"
 msgid "Removing duplicate objects"
 msgstr "Suppression des objets dupliqués"
 
-#: range-diff.c:78
+#: range-diff.c:67
 msgid "could not start `log`"
 msgstr "impossible de démarrer `log`"
 
-#: range-diff.c:80
+#: range-diff.c:69
 msgid "could not read `log` output"
 msgstr "impossible de lire la sortie de `log`"
 
-#: range-diff.c:101 sequencer.c:5550
+#: range-diff.c:97 sequencer.c:5603
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "impossible d'analyser le commit '%s'"
 
-#: range-diff.c:115
+#: range-diff.c:111
 #, c-format
 msgid ""
 "could not parse first line of `log` output: did not start with 'commit ': "
@@ -6409,12 +6578,12 @@ msgstr ""
 "impossible d'analyser la première ligne de la sortie de `log` : ne commence "
 "pas par 'commit' : '%s'"
 
-#: range-diff.c:140
+#: range-diff.c:137
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "impossible d'analyser l'entête git '%.*s'"
 
-#: range-diff.c:307
+#: range-diff.c:304
 msgid "failed to generate diff"
 msgstr "échec de la génération de diff"
 
@@ -6443,7 +6612,7 @@ msgstr ""
 "%s : ne peut ajouter que des fichiers normaux, des liens symboliques ou des "
 "répertoires git"
 
-#: read-cache.c:753
+#: read-cache.c:753 builtin/submodule--helper.c:3241
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "'%s' n'a pas de commit extrait"
@@ -6463,16 +6632,16 @@ msgstr "impossible d'ajouter '%s' à l'index"
 msgid "unable to stat '%s'"
 msgstr "fstat de '%s' impossible"
 
-#: read-cache.c:1358
+#: read-cache.c:1373
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' existe à la fois comme un fichier et un répertoire"
 
-#: read-cache.c:1573
+#: read-cache.c:1588
 msgid "Refresh index"
 msgstr "Rafraîchir l'index"
 
-#: read-cache.c:1705
+#: read-cache.c:1720
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -6481,7 +6650,7 @@ msgstr ""
 "index.version renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1715
+#: read-cache.c:1730
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -6490,143 +6659,143 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1771
+#: read-cache.c:1786
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "signature incorrecte 0x%08x"
 
-#: read-cache.c:1774
+#: read-cache.c:1789
 #, c-format
 msgid "bad index version %d"
 msgstr "mauvaise version d'index %d"
 
-#: read-cache.c:1783
+#: read-cache.c:1798
 msgid "bad index file sha1 signature"
 msgstr "mauvaise signature sha1 d'index"
 
-#: read-cache.c:1817
+#: read-cache.c:1832
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "l'index utilise l'extension %.4s qui n'est pas comprise"
 
-#: read-cache.c:1819
+#: read-cache.c:1834
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "extension %.4s ignorée"
 
-#: read-cache.c:1856
+#: read-cache.c:1871
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "format d'entrée d'index inconnu 0x%08x"
 
-#: read-cache.c:1872
+#: read-cache.c:1887
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "champ de nom malformé dans l'index, près du chemin '%s'"
 
-#: read-cache.c:1929
+#: read-cache.c:1944
 msgid "unordered stage entries in index"
 msgstr "entrées de préparation non ordonnées dans l'index"
 
-#: read-cache.c:1932
+#: read-cache.c:1947
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "entrées multiples de préparation pour le fichier fusionné '%s'"
 
-#: read-cache.c:1935
+#: read-cache.c:1950
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "entrées de préparation non ordonnées pour '%s'"
 
-#: read-cache.c:2041 read-cache.c:2339 rerere.c:549 rerere.c:583 rerere.c:1095
-#: submodule.c:1622 builtin/add.c:575 builtin/check-ignore.c:183
-#: builtin/checkout.c:519 builtin/checkout.c:706 builtin/clean.c:987
-#: builtin/commit.c:377 builtin/diff-tree.c:122 builtin/grep.c:505
-#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:291
-#: builtin/submodule--helper.c:333
+#: read-cache.c:2065 read-cache.c:2363 rerere.c:549 rerere.c:583 rerere.c:1095
+#: submodule.c:1662 builtin/add.c:603 builtin/check-ignore.c:183
+#: builtin/checkout.c:519 builtin/checkout.c:708 builtin/clean.c:987
+#: builtin/commit.c:378 builtin/diff-tree.c:122 builtin/grep.c:519
+#: builtin/mv.c:148 builtin/reset.c:253 builtin/rm.c:293
+#: builtin/submodule--helper.c:327 builtin/submodule--helper.c:3201
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
 
-#: read-cache.c:2185
+#: read-cache.c:2209
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "impossible de créer le fil load_cache_entries : %s"
 
-#: read-cache.c:2198
+#: read-cache.c:2222
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "impossible de joindre le fil load_cache_entries : %s"
 
-#: read-cache.c:2231
+#: read-cache.c:2255
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s : l'ouverture du fichier d'index a échoué"
 
-#: read-cache.c:2235
+#: read-cache.c:2259
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s : impossible de faire un stat sur l'index ouvert"
 
-#: read-cache.c:2239
+#: read-cache.c:2263
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s : fichier d'index plus petit qu'attendu"
 
-#: read-cache.c:2243
+#: read-cache.c:2267
 #, c-format
 msgid "%s: unable to map index file%s"
 msgstr "%s : impossible de mapper le fichier d'index%s"
 
-#: read-cache.c:2286
+#: read-cache.c:2310
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "impossible de créer le fil load_index_extensions : %s"
 
-#: read-cache.c:2313
+#: read-cache.c:2337
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "impossible de joindre le fil load_index_extensions : %s"
 
-#: read-cache.c:2351
+#: read-cache.c:2375
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "impossible de rafraîchir l'index partagé '%s'"
 
-#: read-cache.c:2398
+#: read-cache.c:2434
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "index cassé, %s attendu dans %s, %s obtenu"
 
-#: read-cache.c:3032 strbuf.c:1173 wrapper.c:633 builtin/merge.c:1146
+#: read-cache.c:3065 strbuf.c:1179 wrapper.c:641 builtin/merge.c:1147
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: read-cache.c:3075
+#: read-cache.c:3108
 msgid "failed to convert to a sparse-index"
 msgstr "échec de conversion d'un index clairsemé"
 
-#: read-cache.c:3146 sequencer.c:2684 sequencer.c:4440
+#: read-cache.c:3179
 #, c-format
 msgid "could not stat '%s'"
 msgstr "impossible de stat '%s'"
 
-#: read-cache.c:3159
+#: read-cache.c:3192
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "impossible d'ouvrir le répertoire git : %s"
 
-#: read-cache.c:3171
+#: read-cache.c:3204
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "échec lors de l'unlink : %s"
 
-#: read-cache.c:3200
+#: read-cache.c:3233
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "impossible de régler les bits de droit de '%s'"
 
-#: read-cache.c:3349
+#: read-cache.c:3390
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s : impossible de revenir à l'étape 0"
@@ -6706,7 +6875,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:75 git-rebase--preserve-merges.sh:218
+#: rebase-interactive.c:75
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -6715,7 +6884,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: rebase-interactive.c:78 git-rebase--preserve-merges.sh:222
+#: rebase-interactive.c:78
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -6723,7 +6892,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: rebase-interactive.c:84 git-rebase--preserve-merges.sh:861
+#: rebase-interactive.c:84
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -6738,7 +6907,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:89 git-rebase--preserve-merges.sh:938
+#: rebase-interactive.c:89
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -6748,14 +6917,14 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3836
-#: sequencer.c:3862 sequencer.c:5656 builtin/fsck.c:328 builtin/rebase.c:271
+#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3886
+#: sequencer.c:3912 sequencer.c:5709 builtin/fsck.c:328 builtin/gc.c:1790
+#: builtin/rebase.c:190
 #, c-format
 msgid "could not write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: rebase-interactive.c:119 builtin/rebase.c:203 builtin/rebase.c:229
-#: builtin/rebase.c:253
+#: rebase-interactive.c:119
 #, c-format
 msgid "could not write '%s'."
 msgstr "impossible d'écrire '%s'."
@@ -6787,12 +6956,10 @@ msgstr ""
 "Les comportements disponibles sont : ignore, warn, error.\n"
 "\n"
 
-#: rebase-interactive.c:236 rebase-interactive.c:241 sequencer.c:2597
-#: builtin/rebase.c:189 builtin/rebase.c:214 builtin/rebase.c:240
-#: builtin/rebase.c:265
+#: rebase.c:29
 #, c-format
-msgid "could not read '%s'."
-msgstr "impossible de lire '%s'."
+msgid "%s: 'preserve' superseded by 'merges'"
+msgstr "%s : 'preserve' a été remplacé par 'merges'"
 
 # à priori on parle d'une branche ici
 #: ref-filter.c:42 wt-status.c:2036
@@ -6814,258 +6981,278 @@ msgstr "en retard de %d"
 msgid "ahead %d, behind %d"
 msgstr "en avance de %d, en retard de %d"
 
-#: ref-filter.c:230
+#: ref-filter.c:235
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:232
+#: ref-filter.c:237
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:254
+#: ref-filter.c:259
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Valeur entière attendue refname:lstrip=%s"
 
-#: ref-filter.c:258
+#: ref-filter.c:263
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:260
+#: ref-filter.c:265
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "argument %%(%s) non reconnu : %s"
 
-#: ref-filter.c:315
+#: ref-filter.c:320
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) n'accepte pas d'argument"
 
-#: ref-filter.c:339
+#: ref-filter.c:344
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr "argument %%(objectsize) non reconnu : %s"
 
-#: ref-filter.c:347
+#: ref-filter.c:352
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr "%%(deltabase) n'accepte pas d'argument"
 
-#: ref-filter.c:359
+#: ref-filter.c:364
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:372
+#: ref-filter.c:377
 #, c-format
 msgid "unrecognized %%(subject) argument: %s"
 msgstr "argument %%(subject) non reconnu : %s"
 
-#: ref-filter.c:391
+#: ref-filter.c:396
 #, c-format
 msgid "expected %%(trailers:key=<value>)"
 msgstr "%%(trailers:key=<value>) attendu"
 
-#: ref-filter.c:393
+#: ref-filter.c:398
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "argument %%(trailers) inconnu : %s"
 
-#: ref-filter.c:424
+#: ref-filter.c:429
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:426
+#: ref-filter.c:431
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:441
+#: ref-filter.c:443
+#, c-format
+msgid "unrecognized %%(raw) argument: %s"
+msgstr "argument %%(raw) non reconnu : %s"
+
+#: ref-filter.c:458
 #, c-format
 msgid "positive value expected '%s' in %%(%s)"
 msgstr "valeur positive attendue '%s' dans %%(%s)"
 
-#: ref-filter.c:445
+#: ref-filter.c:462
 #, c-format
 msgid "unrecognized argument '%s' in %%(%s)"
 msgstr "argument '%s' non reconnu dans %%(%s)"
 
-#: ref-filter.c:459
+#: ref-filter.c:476
 #, c-format
 msgid "unrecognized email option: %s"
 msgstr "option de courriel non reconnue : %s"
 
-#: ref-filter.c:489
+#: ref-filter.c:506
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:501
+#: ref-filter.c:518
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:508
+#: ref-filter.c:525
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:517
+#: ref-filter.c:534
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:525
+#: ref-filter.c:542
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:543
+#: ref-filter.c:560
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:645
+#: ref-filter.c:568
+#, c-format
+msgid "%%(rest) does not take arguments"
+msgstr "%%(rest) n'accepte pas d'argument"
+
+#: ref-filter.c:680
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:672
+#: ref-filter.c:707
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:676
+#: ref-filter.c:711
 #, 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:801
+#: ref-filter.c:844
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:865
+#: ref-filter.c:910
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:867
+#: ref-filter.c:912
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:869
+#: ref-filter.c:914
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:897
+#: ref-filter.c:946
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:899
+#: ref-filter.c:948
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:901
+#: ref-filter.c:950
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:916
+#: ref-filter.c:965
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:973
+#: ref-filter.c:1027
 #, c-format
 msgid "malformed format string %s"
 msgstr "chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1621
+#: ref-filter.c:1033
+#, c-format
+msgid "this command reject atom %%(%.*s)"
+msgstr "cette commande rejette l'atome %%(%.*s)"
+
+#: ref-filter.c:1040
+#, c-format
+msgid "--format=%.*s cannot be used with--python, --shell, --tcl"
+msgstr "--format=%.*s ne peut pas être utilisé avec --python, --shell, --tcl"
+
+#: ref-filter.c:1706
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(aucune branche, rebasage de %s)"
 
-#: ref-filter.c:1624
+#: ref-filter.c:1709
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(aucune branche, rebasage de la HEAD détachée %s)"
 
-#: ref-filter.c:1627
+#: ref-filter.c:1712
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(aucune branche, bisect a démarré sur %s)"
 
-#: ref-filter.c:1631
+#: ref-filter.c:1716
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD détachée sur %s)"
 
-#: ref-filter.c:1634
+#: ref-filter.c:1719
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD détachée depuis %s)"
 
-#: ref-filter.c:1637
+#: ref-filter.c:1722
 msgid "(no branch)"
 msgstr "(aucune branche)"
 
-#: ref-filter.c:1669 ref-filter.c:1880
+#: ref-filter.c:1754 ref-filter.c:1972
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1679
+#: ref-filter.c:1764
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "échec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:2064
+#: ref-filter.c:2155
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:2153
+#: ref-filter.c:2245
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:2158 refs.c:676
+#: ref-filter.c:2250 refs.c:673
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: ref-filter.c:2502
+#: ref-filter.c:2623
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2596
+#: ref-filter.c:2726
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: ref-filter.c:2601
+#: ref-filter.c:2731
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "l'option '%s' doit pointer sur un commit"
 
-#: refs.c:264
+#: refs.c:261
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s ne pointe pas sur un objet valide!"
 
-#: refs.c:566
+#: refs.c:563
 #, c-format
 msgid ""
 "Using '%s' as the name for the initial branch. This default branch name\n"
@@ -7090,81 +7277,81 @@ msgstr ""
 "\n"
 "\tgit branch -m <nom>\n"
 
-#: refs.c:588
+#: refs.c:585
 #, c-format
 msgid "could not retrieve `%s`"
 msgstr "impossible de récupérer `%s`"
 
-#: refs.c:598
+#: refs.c:595
 #, c-format
 msgid "invalid branch name: %s = %s"
 msgstr "nom de branche invalide : %s = %s"
 
-#: refs.c:674
+#: refs.c:671
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "symref pendant %s ignoré"
 
-#: refs.c:922
+#: refs.c:920
 #, 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:929
+#: refs.c:927
 #, 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:994
+#: refs.c:992
 #, c-format
 msgid "log for %s is empty"
 msgstr "le journal pour la réf %s est vide"
 
-#: refs.c:1086
+#: refs.c:1084
 #, 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:1157
+#: refs.c:1155
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "échec de update_ref pour la réf '%s' : %s"
 
-#: refs.c:2051
+#: refs.c:2062
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "mises à jour multiples pour la réf '%s' non permises"
 
-#: refs.c:2131
+#: refs.c:2142
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-#: refs.c:2142
+#: refs.c:2153
 msgid "ref updates aborted by hook"
 msgstr "mises à jour des références annulées par le crochet"
 
-#: refs.c:2242 refs.c:2272
+#: refs.c:2253 refs.c:2283
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existe ; impossible de créer '%s'"
 
-#: refs.c:2248 refs.c:2283
+#: refs.c:2259 refs.c:2294
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "impossible de traiter '%s' et '%s' en même temps"
 
-#: refs/files-backend.c:1228
+#: refs/files-backend.c:1271
 #, c-format
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: refs/files-backend.c:1242 refs/packed-backend.c:1542
-#: refs/packed-backend.c:1552
+#: refs/files-backend.c:1285 refs/packed-backend.c:1549
+#: refs/packed-backend.c:1559
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "impossible de supprimer la référence %s : %s"
 
-#: refs/files-backend.c:1245 refs/packed-backend.c:1555
+#: refs/files-backend.c:1288 refs/packed-backend.c:1562
 #, c-format
 msgid "could not delete references: %s"
 msgstr "impossible de supprimer les références : %s"
@@ -7478,7 +7665,7 @@ msgstr "impossible d'écrire l'enregistrement rerere"
 msgid "there were errors while writing '%s' (%s)"
 msgstr "il y a eu des erreurs à l'écriture de '%s' (%s)"
 
-#: rerere.c:482
+#: rerere.c:482 builtin/gc.c:2247 builtin/gc.c:2282
 #, c-format
 msgid "failed to flush '%s'"
 msgstr "échec du flush de '%s'"
@@ -7523,8 +7710,8 @@ msgstr "impossible de délier '%s' qui est errant"
 msgid "Recorded preimage for '%s'"
 msgstr "Pré-image enregistrée pour '%s'"
 
-#: rerere.c:865 submodule.c:2076 builtin/log.c:2002
-#: builtin/submodule--helper.c:1805 builtin/submodule--helper.c:1848
+#: rerere.c:865 submodule.c:2121 builtin/log.c:2002
+#: builtin/submodule--helper.c:1776 builtin/submodule--helper.c:1819
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "impossible de créer le répertoire '%s'"
@@ -7562,47 +7749,41 @@ msgstr "impossible d'ouvrir le répertoire rr-cache"
 msgid "could not determine HEAD revision"
 msgstr "impossible de déterminer la révision HEAD"
 
-#: reset.c:69 reset.c:75 sequencer.c:3689
+#: reset.c:70 reset.c:76 sequencer.c:3703
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "impossible de trouver l'arbre de %s"
 
-#: revision.c:2344
+#: revision.c:2259
+msgid "--unsorted-input is incompatible with --no-walk"
+msgstr "--unsorted-input est incompatible avec --no-walk"
+
+#: revision.c:2346
 msgid "--unpacked=<packfile> no longer supported"
 msgstr "--unpacked=<fichier-paquet> n'est plus géré"
 
-#: revision.c:2684
+#: revision.c:2655 revision.c:2659
+msgid "--no-walk is incompatible with --unsorted-input"
+msgstr "--no-walk est incompatible avec --unsorted-input"
+
+#: revision.c:2690
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2687
+#: revision.c:2693
 #, 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:2893
+#: revision.c:2895
 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"
 
-#: run-command.c:766
-msgid "open /dev/null failed"
-msgstr "échec de l'ouverture de /dev/null"
-
-#: run-command.c:1274
+#: run-command.c:1278
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "impossible de créer un fil asynchrone : %s"
 
-#: run-command.c:1344
-#, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-msgstr ""
-"Le crochet '%s' a été ignoré parce qu'il n'est pas marqué comme exécutable.\n"
-"Vous pouvez désactiver cet avertissement avec `git config advice.ignoredHook "
-"false`."
-
 #: send-pack.c:150
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
@@ -7623,24 +7804,24 @@ msgstr "le dépaquetage a échoué : %s"
 msgid "failed to sign the push certificate"
 msgstr "impossible de signer le certificat de poussée"
 
-#: send-pack.c:433
+#: send-pack.c:435
 msgid "send-pack: unable to fork off fetch subprocess"
 msgstr "send-pack : impossible de créer un sous-processus de récupération"
 
-#: send-pack.c:455
+#: send-pack.c:457
 msgid "push negotiation failed; proceeding anyway with push"
 msgstr ""
 "le négociation de poussée a échoué ; poursuite de la poussée de toute façon"
 
-#: send-pack.c:526
+#: send-pack.c:528
 msgid "the receiving end does not support this repository's hash algorithm"
 msgstr "le receveur ne gère pas l'algorithme d'empreinte de ce dépôt"
 
-#: send-pack.c:535
+#: send-pack.c:537
 msgid "the receiving end does not support --signed push"
 msgstr "le receveur ne gère pas les poussées avec --signed"
 
-#: send-pack.c:537
+#: send-pack.c:539
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -7648,47 +7829,48 @@ msgstr ""
 "pas d'envoi de certificat de poussée car le receveur ne gère pas les "
 "poussées avec --signed"
 
-#: send-pack.c:544
+#: send-pack.c:546
 msgid "the receiving end does not support --atomic push"
 msgstr "le receveur ne gère pas les poussées avec --atomic"
 
-#: send-pack.c:549
+#: send-pack.c:551
 msgid "the receiving end does not support push options"
 msgstr "le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:196
+#: sequencer.c:197
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "mode de nettoyage invalide de message de validation '%s'"
 
-#: sequencer.c:324
+#: sequencer.c:325
 #, c-format
 msgid "could not delete '%s'"
 msgstr "impossible de supprimer '%s'"
 
-#: sequencer.c:344 builtin/rebase.c:757 builtin/rebase.c:1592 builtin/rm.c:402
+#: sequencer.c:345 sequencer.c:4752 builtin/rebase.c:563 builtin/rebase.c:1297
+#: builtin/rm.c:408
 #, c-format
 msgid "could not remove '%s'"
 msgstr "impossible de supprimer '%s'"
 
-#: sequencer.c:354
+#: sequencer.c:355
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:356
+#: sequencer.c:357
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:358
+#: sequencer.c:359
 msgid "rebase"
 msgstr "rebase"
 
-#: sequencer.c:360
+#: sequencer.c:361
 #, c-format
 msgid "unknown action: %d"
 msgstr "action inconnue : %d"
 
-#: sequencer.c:419
+#: sequencer.c:420
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -7696,53 +7878,75 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:422
+#: sequencer.c:423
 msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'\n"
-"and commit the result with 'git commit'"
+"After resolving the conflicts, mark them with\n"
+"\"git add/rm <pathspec>\", then run\n"
+"\"git cherry-pick --continue\".\n"
+"You can instead skip this commit with \"git cherry-pick --skip\".\n"
+"To abort and get back to the state before \"git cherry-pick\",\n"
+"run \"git cherry-pick --abort\"."
 msgstr ""
-"après résolution des conflits, marquez les chemins corrigés\n"
-"avec 'git add <chemins>' ou 'git rm <chemins>'\n"
-"puis validez le résultat avec 'git commit'"
+"Après résolution des conflits, marquez-les avec\n"
+"\"git add/rm <spéc-de-réf>\", puis lancez\n"
+"\"git cherry-pick --continue\".\n"
+"Vous pouvez aussi sauter ce commit avec \"git cherry-pick --skip\".\n"
+"Pour arrêter et revenir à l'état antérieur à \"git cherry-pick\",,\n"
+"lancez \"git cherry-pick --abort\"."
 
-#: sequencer.c:435 sequencer.c:3271
+#: sequencer.c:430
+msgid ""
+"After resolving the conflicts, mark them with\n"
+"\"git add/rm <pathspec>\", then run\n"
+"\"git revert --continue\".\n"
+"You can instead skip this commit with \"git revert --skip\".\n"
+"To abort and get back to the state before \"git revert\",\n"
+"run \"git revert --abort\"."
+msgstr ""
+"Après résolution des conflits, marquez-les avec\n"
+"\"git add/rm <spéc-de-réf>\", puis lancez\n"
+"\"git revert --continue\".\n"
+"Vous pouvez aussi sauter ce commit avec \"git revert --skip\".\n"
+"Pour arrêter et revenir à l'état antérieur à \"git revert\",,\n"
+"lancez \"git revert --abort\"."
+
+#: sequencer.c:448 sequencer.c:3288
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:437 sequencer.c:3070 sequencer.c:3275 sequencer.c:3289
-#: sequencer.c:3547 sequencer.c:5566 strbuf.c:1170 wrapper.c:631
+#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
+#: sequencer.c:3564 sequencer.c:5619 strbuf.c:1176 wrapper.c:639
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: sequencer.c:442
+#: sequencer.c:455
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:447 sequencer.c:3075 sequencer.c:3277 sequencer.c:3291
-#: sequencer.c:3555
+#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
+#: sequencer.c:3572
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "échec lors de la finalisation de '%s'"
 
-#: sequencer.c:486
+#: sequencer.c:499
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:490
+#: sequencer.c:503
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:522
+#: sequencer.c:535
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
-#: sequencer.c:561 builtin/tag.c:609
+#: sequencer.c:574 builtin/tag.c:610
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
@@ -7750,65 +7954,65 @@ msgstr "Mode de nettoyage invalide %s"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase".
 #.
-#: sequencer.c:671
+#: sequencer.c:685
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:685
+#: sequencer.c:699
 msgid "unable to update cache tree"
 msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:699
+#: sequencer.c:713
 msgid "could not resolve HEAD commit"
 msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:779
+#: sequencer.c:793
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "aucune clé présente dans '%.*s'"
 
-#: sequencer.c:790
+#: sequencer.c:804
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "impossible de décoter la valeur de '%s'"
 
-#: sequencer.c:827 wrapper.c:201 wrapper.c:371 builtin/am.c:729
-#: builtin/am.c:821 builtin/merge.c:1141 builtin/rebase.c:910
+#: sequencer.c:841 wrapper.c:209 wrapper.c:379 builtin/am.c:730
+#: builtin/am.c:822 builtin/rebase.c:694
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
 
-#: sequencer.c:837
+#: sequencer.c:851
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' déjà fourni"
 
-#: sequencer.c:842
+#: sequencer.c:856
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' déjà fourni"
 
-#: sequencer.c:847
+#: sequencer.c:861
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' déjà fourni"
 
-#: sequencer.c:851
+#: sequencer.c:865
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "variable inconnue '%s'"
 
-#: sequencer.c:856
+#: sequencer.c:870
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "'GIT_AUTHOR_NAME' manquant"
 
-#: sequencer.c:858
+#: sequencer.c:872
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "'GIT_AUTHOR_EMAIL' manquant"
 
-#: sequencer.c:860
+#: sequencer.c:874
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "'GIT_AUTHOR_DATE' manquant"
 
-#: sequencer.c:925
+#: sequencer.c:939
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -7837,11 +8041,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:1212
+#: sequencer.c:1227
 msgid "'prepare-commit-msg' hook failed"
 msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:1218
+#: sequencer.c:1233
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7870,7 +8074,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1231
+#: sequencer.c:1246
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7896,344 +8100,349 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1273
+#: sequencer.c:1288
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: sequencer.c:1275
+#: sequencer.c:1290
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: sequencer.c:1321
+#: sequencer.c:1336
 msgid "unable to resolve HEAD after creating commit"
 msgstr "impossible de résoudre HEAD après création du commit"
 
-#: sequencer.c:1323
+#: sequencer.c:1338
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: sequencer.c:1327
+#: sequencer.c:1342
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: sequencer.c:1348
+#: sequencer.c:1363
 msgid "could not parse HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1350
+#: sequencer.c:1365
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s n'est pas un commit !"
 
-#: sequencer.c:1354 sequencer.c:1432 builtin/commit.c:1705
+#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: sequencer.c:1410 sequencer.c:2295
+#: sequencer.c:1425 sequencer.c:2310
 msgid "unable to parse commit author"
 msgstr "impossible d'analyser l'auteur du commit"
 
-#: sequencer.c:1421 builtin/am.c:1615 builtin/merge.c:707
+#: sequencer.c:1436 builtin/am.c:1616 builtin/merge.c:708
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
-#: sequencer.c:1454 sequencer.c:1574
+#: sequencer.c:1469 sequencer.c:1589
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:1485 sequencer.c:1517
+#: sequencer.c:1500 sequencer.c:1532
 #, c-format
 msgid "invalid author identity '%s'"
 msgstr "identité d'auteur invalide '%s'"
 
-#: sequencer.c:1491
+#: sequencer.c:1506
 msgid "corrupt author: missing date information"
 msgstr "auteur corrompu : information de date manquante"
 
-#: sequencer.c:1530 builtin/am.c:1642 builtin/commit.c:1819 builtin/merge.c:910
-#: builtin/merge.c:935 t/helper/test-fast-rebase.c:78
+#: sequencer.c:1545 builtin/am.c:1643 builtin/commit.c:1821 builtin/merge.c:913
+#: builtin/merge.c:938 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
-#: sequencer.c:1557 sequencer.c:4492 t/helper/test-fast-rebase.c:199
+#: sequencer.c:1572 sequencer.c:4524 t/helper/test-fast-rebase.c:199
 #: t/helper/test-fast-rebase.c:217
 #, c-format
 msgid "could not update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: sequencer.c:1606
+#: sequencer.c:1621
 #, c-format
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: sequencer.c:1611
+#: sequencer.c:1626
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1694 sequencer.c:1975
+#: sequencer.c:1709 sequencer.c:1990
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:1736 git-rebase--preserve-merges.sh:486
+#: sequencer.c:1751
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:1737
+#: sequencer.c:1752
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:1738
+#: sequencer.c:1753
 msgid "The 1st commit message will be skipped:"
 msgstr "Le premier message de validation sera ignoré :"
 
-#: sequencer.c:1739
+#: sequencer.c:1754
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:1740
+#: sequencer.c:1755
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:1887 sequencer.c:1944
+#: sequencer.c:1902 sequencer.c:1959
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:1934
+#: sequencer.c:1949
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:1936 sequencer.c:3582
+#: sequencer.c:1951 sequencer.c:3599
 msgid "could not read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1938
+#: sequencer.c:1953
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:1962
+#: sequencer.c:1977
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:2072
+#: sequencer.c:2087
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:2079
+#: sequencer.c:2094
 msgid "cannot fixup root commit"
 msgstr "impossible de réparer le commit racine"
 
-#: sequencer.c:2098
+#: sequencer.c:2113
 #, 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:2106 sequencer.c:2114
+#: sequencer.c:2121 sequencer.c:2129
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:2120
+#: sequencer.c:2135
 #, 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:2139
+#: sequencer.c:2154
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:2205
+#: sequencer.c:2220
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:2265
+#: sequencer.c:2280
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:2266
+#: sequencer.c:2281
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:2287
+#: sequencer.c:2302
 #, c-format
 msgid "dropping %s %s -- patch contents already upstream\n"
 msgstr "abandon de %s %s -- le contenu de la rustine déjà en amont\n"
 
-#: sequencer.c:2345
+#: sequencer.c:2360
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:2352
+#: sequencer.c:2368
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:2425
+#: sequencer.c:2448
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s n'accepte pas d'argument : '%s'"
 
-#: sequencer.c:2434
+#: sequencer.c:2457
 #, c-format
 msgid "missing arguments for %s"
 msgstr "argument manquant pour %s"
 
-#: sequencer.c:2477
+#: sequencer.c:2500
 #, c-format
 msgid "could not parse '%s'"
 msgstr "impossible d'analyser '%s'"
 
-#: sequencer.c:2538
+#: sequencer.c:2561
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:2549
+#: sequencer.c:2572
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:2635
+#: sequencer.c:2620 builtin/rebase.c:184
+#, c-format
+msgid "could not read '%s'."
+msgstr "impossible de lire '%s'."
+
+#: sequencer.c:2658
 msgid "cancelling a cherry picking in progress"
 msgstr "annulation d'un picorage en cours"
 
-#: sequencer.c:2644
+#: sequencer.c:2667
 msgid "cancelling a revert in progress"
 msgstr "annulation d'un retour en cours"
 
-#: sequencer.c:2690
+#: sequencer.c:2707
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:2692
+#: sequencer.c:2709
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:2697
+#: sequencer.c:2714
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:2708
+#: sequencer.c:2725
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:2710
+#: sequencer.c:2727
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:2788
+#: sequencer.c:2805
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:2897
+#: sequencer.c:2914
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
-#: sequencer.c:2917
+#: sequencer.c:2934
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:3012 sequencer.c:4868
+#: sequencer.c:3029 sequencer.c:4903
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:3029
+#: sequencer.c:3046
 msgid "revert is already in progress"
 msgstr "un retour est déjà en cours"
 
-#: sequencer.c:3031
+#: sequencer.c:3048
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "essayez \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:3034
+#: sequencer.c:3051
 msgid "cherry-pick is already in progress"
 msgstr "un picorage est déjà en cours"
 
-#: sequencer.c:3036
+#: sequencer.c:3053
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "essayez \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:3050
+#: sequencer.c:3067
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:3065
+#: sequencer.c:3082
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:3125 sequencer.c:4581
+#: sequencer.c:3142 sequencer.c:4613
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:3127 sequencer.c:3138
+#: sequencer.c:3144 sequencer.c:3155
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:3129 sequencer.c:3173
+#: sequencer.c:3146 sequencer.c:3190
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:3159 builtin/grep.c:758
+#: sequencer.c:3176 builtin/grep.c:772
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:3161
+#: sequencer.c:3178
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:3162
+#: sequencer.c:3179
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:3168
+#: sequencer.c:3185
 #, 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:3179
+#: sequencer.c:3196
 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:3220
+#: sequencer.c:3237
 msgid "no revert in progress"
 msgstr "pas de retour en cours"
 
-#: sequencer.c:3229
+#: sequencer.c:3246
 msgid "no cherry-pick in progress"
 msgstr "aucun picorage en cours"
 
-#: sequencer.c:3239
+#: sequencer.c:3256
 msgid "failed to skip the commit"
 msgstr "échec du saut de commit"
 
-#: sequencer.c:3246
+#: sequencer.c:3263
 msgid "there is nothing to skip"
 msgstr "il n'y a rien à sauter"
 
-#: sequencer.c:3249
+#: sequencer.c:3266
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -8242,16 +8451,16 @@ msgstr ""
 "avez-vous déjà validé ?\n"
 "essayez \"git %s --continue\""
 
-#: sequencer.c:3411 sequencer.c:4472
+#: sequencer.c:3428 sequencer.c:4504
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:3428
+#: sequencer.c:3445
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3436
+#: sequencer.c:3453
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -8270,27 +8479,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3446
+#: sequencer.c:3463
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Impossible d'appliquer %s... %.*s"
 
-#: sequencer.c:3453
+#: sequencer.c:3470
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Impossible de fusionner %.*s"
 
-#: sequencer.c:3467 sequencer.c:3471 builtin/difftool.c:644
+#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:639
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3483
+#: sequencer.c:3500
 #, c-format
 msgid "Executing: %s\n"
 msgstr "Exécution : %s\n"
 
-#: sequencer.c:3498
+#: sequencer.c:3515
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -8305,11 +8514,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3504
+#: sequencer.c:3521
 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:3510
+#: sequencer.c:3527
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -8326,91 +8535,91 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3572
+#: sequencer.c:3589
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nom de label illégal '%.*s'"
 
-#: sequencer.c:3645
+#: sequencer.c:3662
 msgid "writing fake root commit"
 msgstr "écriture d'un commit racine bidon"
 
-#: sequencer.c:3650
+#: sequencer.c:3667
 msgid "writing squash-onto"
 msgstr "écriture de 'écraser-sur'"
 
-#: sequencer.c:3734
+#: sequencer.c:3746
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: sequencer.c:3767
+#: sequencer.c:3778
 msgid "cannot merge without a current revision"
 msgstr "impossible de fusionner avec une révision courante"
 
-#: sequencer.c:3789
+#: sequencer.c:3800
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:3798
+#: sequencer.c:3809
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "rien à fusionner : '%.*s'"
 
-#: sequencer.c:3810
+#: sequencer.c:3821
 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:3826
+#: sequencer.c:3876
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:4009
+#: sequencer.c:4022
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "impossible de seulement essayer de fusionner '%.*s'"
 
-#: sequencer.c:4025
+#: sequencer.c:4038
 msgid "merge: Unable to write new index file"
 msgstr "fusion : Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:4099
+#: sequencer.c:4119
 msgid "Cannot autostash"
 msgstr "Autoremisage impossible"
 
-#: sequencer.c:4102
+#: sequencer.c:4122
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Réponse de remisage inattendue : '%s'"
 
-#: sequencer.c:4108
+#: sequencer.c:4128
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Impossible de créer le répertoire pour '%s'"
 
-#: sequencer.c:4111
+#: sequencer.c:4131
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Autoremisage créé : %s\n"
 
-#: sequencer.c:4115
+#: sequencer.c:4135
 msgid "could not reset --hard"
 msgstr "impossible de réinitialiser --hard"
 
-#: sequencer.c:4140
+#: sequencer.c:4160
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:4152
+#: sequencer.c:4172
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:4155
+#: sequencer.c:4175
 #, c-format
 msgid ""
 "%s\n"
@@ -8421,30 +8630,30 @@ 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:4160
+#: sequencer.c:4180
 msgid "Applying autostash resulted in conflicts."
 msgstr "L'application du remisage automatique a créé des conflits."
 
-#: sequencer.c:4161
+#: sequencer.c:4181
 msgid "Autostash exists; creating a new stash entry."
 msgstr ""
 "Un remisage automatique existe ; création d'une nouvelle entrée de remisage."
 
-#: sequencer.c:4233 git-rebase--preserve-merges.sh:769
+#: sequencer.c:4253
 msgid "could not detach HEAD"
 msgstr "impossible de détacher HEAD"
 
-#: sequencer.c:4248
+#: sequencer.c:4268
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Arrêt à HEAD\n"
 
-#: sequencer.c:4250
+#: sequencer.c:4270
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Arrêté à %s\n"
 
-#: sequencer.c:4258
+#: sequencer.c:4302
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -8465,58 +8674,58 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:4304
+#: sequencer.c:4348
 #, c-format
 msgid "Rebasing (%d/%d)%s"
 msgstr "Rebasage (%d/%d)%s"
 
-#: sequencer.c:4350
+#: sequencer.c:4394
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Arrêt à %s... %.*s\n"
 
-#: sequencer.c:4421
+#: sequencer.c:4464
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:4480
+#: sequencer.c:4512
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:4485
+#: sequencer.c:4517
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:4499
+#: sequencer.c:4531
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:4559
+#: sequencer.c:4591
 #, c-format
 msgid "Successfully rebased and updated %s.\n"
 msgstr "Rebasage et mise à jour de %s avec succès.\n"
 
-#: sequencer.c:4611
+#: sequencer.c:4643
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:4620
+#: sequencer.c:4652
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:4622
+#: sequencer.c:4654
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:4624
+#: sequencer.c:4656
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:4627
+#: sequencer.c:4659
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -8526,50 +8735,59 @@ 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:4663 sequencer.c:4702
+#: sequencer.c:4695 sequencer.c:4734
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "impossible d'écrire le fichier : '%s'"
 
-#: sequencer.c:4718
+#: sequencer.c:4750
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:4725
+#: sequencer.c:4760
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:4845
+#: sequencer.c:4880
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:4849
+#: sequencer.c:4884
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:4884
+#: sequencer.c:4919
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: sequencer.c:5361
+#: sequencer.c:5190 sequencer.c:5419
+#, c-format
+msgid "skipped previously applied commit %s"
+msgstr "le commit %s appliqué précédemment a été sauté"
+
+#: sequencer.c:5260 sequencer.c:5435
+msgid "use --reapply-cherry-picks to include skipped commits"
+msgstr "utilisez --reapply-cherry-picks pour inclure les commits sautés"
+
+#: sequencer.c:5406
 msgid "make_script: unhandled options"
 msgstr "make_script : options non gérées"
 
-#: sequencer.c:5364
+#: sequencer.c:5409
 msgid "make_script: error preparing revisions"
 msgstr "make_script : erreur lors de la préparation des révisions"
 
-#: sequencer.c:5614 sequencer.c:5631
+#: sequencer.c:5667 sequencer.c:5684
 msgid "nothing to do"
 msgstr "rien à faire"
 
-#: sequencer.c:5650
+#: sequencer.c:5703
 msgid "could not skip unnecessary pick commands"
 msgstr "impossible d'éviter les commandes de picorage non nécessaires"
 
-#: sequencer.c:5750
+#: sequencer.c:5803
 msgid "the script was already rearranged."
 msgstr "le script a déjà été réarrangé."
 
@@ -8735,27 +8953,15 @@ msgstr ""
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: setup.c:1430
-msgid "open /dev/null or dup failed"
-msgstr "échec de l'ouverture ou au dup de /dev/null"
-
-#: setup.c:1445
+#: setup.c:1443
 msgid "fork failed"
 msgstr "échec de la bifurcation"
 
-#: setup.c:1450 t/helper/test-simple-ipc.c:285
+#: setup.c:1448
 msgid "setsid failed"
 msgstr "échec du setsid"
 
-#: sparse-index.c:162
-msgid "attempting to use sparse-index without cone mode"
-msgstr "tentative d'utilisation de l'index partiel sans mode cone"
-
-#: sparse-index.c:176
-msgid "unable to update cache-tree, staying full"
-msgstr "impossible de mettre à jour l'arbre de cache, full conservé"
-
-#: sparse-index.c:263
+#: sparse-index.c:273
 #, c-format
 msgid "index entry is a directory, but not sparse (%08x)"
 msgstr "l'entrée d'index est un répertoire, mais pas clairsemé (%08x)"
@@ -8812,13 +9018,13 @@ msgid_plural "%u bytes/s"
 msgstr[0] "%u octet/s"
 msgstr[1] "%u octets/s"
 
-#: strbuf.c:1168 wrapper.c:199 wrapper.c:369 builtin/am.c:738
-#: builtin/rebase.c:866
+#: strbuf.c:1174 wrapper.c:207 wrapper.c:377 builtin/am.c:739
+#: builtin/rebase.c:650
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
 
-#: strbuf.c:1177
+#: strbuf.c:1183
 #, c-format
 msgid "could not edit '%s'"
 msgstr "impossible d'éditer '%s'"
@@ -8844,7 +9050,7 @@ msgstr ""
 msgid "invalid value for %s"
 msgstr "valeur invalide pour %s"
 
-#: submodule-config.c:766
+#: submodule-config.c:767
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
@@ -8870,22 +9076,22 @@ msgstr "Impossible de supprimer l'élément de .gitmodules pour %s"
 msgid "staging updated .gitmodules failed"
 msgstr "échec de la mise en index du .gitmodules mis à jour"
 
-#: submodule.c:328
+#: submodule.c:358
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "dans le sous-module '%s' non populé"
 
-#: submodule.c:359
+#: submodule.c:389
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: submodule.c:436
+#: submodule.c:466
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "mauvais argument --ignore-submodules : %s"
 
-#: submodule.c:805
+#: submodule.c:844
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
@@ -8894,12 +9100,12 @@ msgstr ""
 "Le sous-module dans le commit %s au chemin : '%s' entre en collision avec un "
 "sous-module du même nom. Ignoré."
 
-#: submodule.c:908
+#: submodule.c:954
 #, c-format
 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:993
+#: submodule.c:1042
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
@@ -8908,36 +9114,36 @@ msgstr ""
 "Impossible de lancer la commande 'git rev-list <commits> --not --remotes -n "
 "1' dans le sous-module %s"
 
-#: submodule.c:1116
+#: submodule.c:1165
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "le processus pour le sous-module '%s' a échoué"
 
-#: submodule.c:1145 builtin/branch.c:691 builtin/submodule--helper.c:2486
+#: submodule.c:1194 builtin/branch.c:692 builtin/submodule--helper.c:2713
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: submodule.c:1156
+#: submodule.c:1205
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "Poussée du sous-module '%s'\n"
 
-#: submodule.c:1159
+#: submodule.c:1208
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "Impossible de pousser le sous-module '%s'\n"
 
-#: submodule.c:1451
+#: submodule.c:1491
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "Récupération du sous-module %s%s\n"
 
-#: submodule.c:1485
+#: submodule.c:1525
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "Impossible d'accéder au sous-module '%s'\n"
 
-#: submodule.c:1640
+#: submodule.c:1680
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8946,63 +9152,63 @@ msgstr ""
 "Erreurs pendant la récupération du sous-module :\n"
 "%s"
 
-#: submodule.c:1665
+#: submodule.c:1705
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' n'est pas reconnu comme dépôt git"
 
-#: submodule.c:1682
+#: submodule.c:1722
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "impossible de lancer 'git status --porcelain=2' dans le sous-module %s"
 
-#: submodule.c:1723
+#: submodule.c:1763
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "'git status --porcelain=2' a échoué dans le sous-module %s"
 
-#: submodule.c:1798
+#: submodule.c:1838
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "impossible de démarrer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1811
+#: submodule.c:1851
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1826
+#: submodule.c:1868
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "Impossible de désactiver core.worktree dans le sous-module '%s'"
 
-#: submodule.c:1853 submodule.c:2163
+#: submodule.c:1895 submodule.c:2210
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: submodule.c:1874
+#: submodule.c:1917
 msgid "could not reset submodule index"
 msgstr "impossible de réinitialiser l'index du sous-module"
 
-#: submodule.c:1916
+#: submodule.c:1959
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "le sous-module '%s' a un index sale"
 
-#: submodule.c:1968
+#: submodule.c:2013
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Le sous-module '%s' n'a pas pu être mis à jour."
 
-#: submodule.c:2036
+#: submodule.c:2081
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr ""
 "le répertoire git du sous-module '%s' est à l'intérieur du répertoire git "
 "'%.*s'"
 
-#: submodule.c:2057
+#: submodule.c:2102
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -9010,17 +9216,17 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:2069 submodule.c:2128
+#: submodule.c:2114 submodule.c:2174
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:2073
+#: submodule.c:2118
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "refus de déplacer '%s' dans une répertoire git existant"
 
-#: submodule.c:2080
+#: submodule.c:2124
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -9031,11 +9237,11 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:2208
+#: submodule.c:2255
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:2248
+#: submodule.c:2295
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
@@ -9057,7 +9263,7 @@ msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%s'"
 
 #: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:299
-#: builtin/remote.c:324
+#: builtin/remote.c:327
 #, c-format
 msgid "more than one %s"
 msgstr "plus d'un %s"
@@ -9072,11 +9278,11 @@ msgstr "symbole vide dans la ligne de fin '%.*s'"
 msgid "could not read input file '%s'"
 msgstr "impossible de lire le fichier d'entrée '%s'"
 
-#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1577
+#: trailer.c:766 builtin/mktag.c:89 imap-send.c:1573
 msgid "could not read from stdin"
 msgstr "impossible de lire depuis l'entrée standard"
 
-#: trailer.c:1024 wrapper.c:676
+#: trailer.c:1024 wrapper.c:684
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
@@ -9145,7 +9351,7 @@ msgstr "impossible de lancer fast-import"
 msgid "error while running fast-import"
 msgstr "erreur au lancement de fast-import"
 
-#: transport-helper.c:549 transport-helper.c:1247
+#: transport-helper.c:549 transport-helper.c:1251
 #, c-format
 msgid "could not read ref %s"
 msgstr "impossible de lire la réf %s"
@@ -9165,7 +9371,7 @@ msgstr ""
 msgid "invalid remote service path"
 msgstr "chemin de service distant invalide"
 
-#: transport-helper.c:661 transport.c:1477
+#: transport-helper.c:661 transport.c:1475
 msgid "operation not supported by protocol"
 msgstr "option non supportée par le protocole"
 
@@ -9174,7 +9380,7 @@ msgstr "option non supportée par le protocole"
 msgid "can't connect to subservice %s"
 msgstr "impossible de se connecter au sous-service %s"
 
-#: transport-helper.c:693 transport.c:400
+#: transport-helper.c:693 transport.c:404
 msgid "--negotiate-only requires protocol v2"
 msgstr "--negotiate-only requiert le protocole v2"
 
@@ -9187,61 +9393,61 @@ msgstr "'option' sans directive 'ok/error' correspondante"
 msgid "expected ok/error, helper said '%s'"
 msgstr "ok/error attendu, l'assistant a dit '%s'"
 
-#: transport-helper.c:855
+#: transport-helper.c:859
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "l'assistant a renvoyé un statut de retour inattendu %s"
 
-#: transport-helper.c:938
+#: transport-helper.c:942
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "l'assistant %s ne gère pas dry-run"
 
-#: transport-helper.c:941
+#: transport-helper.c:945
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "l'assistant %s ne gère pas --signed"
 
-#: transport-helper.c:944
+#: transport-helper.c:948
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "l'assistant %s ne gère pas --signed=if-asked"
 
-#: transport-helper.c:949
+#: transport-helper.c:953
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "l'assistant %s ne gère pas --atomic"
 
-#: transport-helper.c:953
+#: transport-helper.c:957
 #, c-format
 msgid "helper %s does not support --%s"
 msgstr "l'assistant %s ne gère pas --%s"
 
-#: transport-helper.c:960
+#: transport-helper.c:964
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "l'assistant %s ne gère pas 'push-option'"
 
-#: transport-helper.c:1060
+#: transport-helper.c:1064
 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:1065
+#: transport-helper.c:1069
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "l'assistant %s ne gère pas 'force'"
 
-#: transport-helper.c:1112
+#: transport-helper.c:1116
 msgid "couldn't run fast-export"
 msgstr "impossible de lancer fast-export"
 
-#: transport-helper.c:1117
+#: transport-helper.c:1121
 msgid "error while running fast-export"
 msgstr "erreur au lancement de fast-export"
 
-#: transport-helper.c:1142
+#: transport-helper.c:1146
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -9250,52 +9456,52 @@ msgstr ""
 "Aucune référence en commun et aucune spécfiée ; rien à faire.\n"
 "Vous devriez peut-être spécifier une branche.\n"
 
-#: transport-helper.c:1224
+#: transport-helper.c:1228
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "format d'objet non géré '%s'"
 
-#: transport-helper.c:1233
+#: transport-helper.c:1237
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "réponse malformée dans le liste de réfs : %s"
 
-#: transport-helper.c:1385
+#: transport-helper.c:1389
 #, c-format
 msgid "read(%s) failed"
 msgstr "échec de read(%s)"
 
-#: transport-helper.c:1412
+#: transport-helper.c:1416
 #, c-format
 msgid "write(%s) failed"
 msgstr "échec de write(%s)"
 
-#: transport-helper.c:1461
+#: transport-helper.c:1465
 #, c-format
 msgid "%s thread failed"
 msgstr "échec du fil d'exécution %s"
 
-#: transport-helper.c:1465
+#: transport-helper.c:1469
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "échec de jonction du fil d'exécution %s : %s"
 
-#: transport-helper.c:1484 transport-helper.c:1488
+#: transport-helper.c:1488 transport-helper.c:1492
 #, 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:1525
+#: transport-helper.c:1529
 #, c-format
 msgid "%s process failed to wait"
 msgstr "échec du processus %s pour l'attente"
 
-#: transport-helper.c:1529
+#: transport-helper.c:1533
 #, c-format
 msgid "%s process failed"
 msgstr "échec du processus %s"
 
-#: transport-helper.c:1547 transport-helper.c:1556
+#: transport-helper.c:1551 transport-helper.c:1560
 msgid "can't start thread for copying data"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données"
 
@@ -9309,46 +9515,46 @@ msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
 msgid "could not read bundle '%s'"
 msgstr "impossible de lire la liasse '%s'"
 
-#: transport.c:223
+#: transport.c:227
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:275
+#: transport.c:279
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "voir protocol.version dans 'git help config' pour plus d'information"
 
-#: transport.c:276
+#: transport.c:280
 msgid "server options require protocol version 2 or later"
 msgstr "les options de serveur exigent une version 2 ou supérieure"
 
-#: transport.c:403
+#: transport.c:407
 msgid "server does not support wait-for-done"
 msgstr "le serveur ne prend pas en charge wait-for-done"
 
-#: transport.c:755
+#: transport.c:759
 msgid "could not parse transport.color.* config"
 msgstr "impossible d'analyser la configuration transport.color.*"
 
-#: transport.c:830
+#: transport.c:834
 msgid "support for protocol v2 not implemented yet"
 msgstr "le support du protocole v2 n'est pas encore implanté"
 
-#: transport.c:965
+#: transport.c:967
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "valeur inconnue pour la config '%s' : %s"
 
-#: transport.c:1031
+#: transport.c:1033
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "transport '%s' non permis"
 
-#: transport.c:1084
+#: transport.c:1082
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync n'est plus supporté"
 
-#: transport.c:1187
+#: transport.c:1185
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -9357,7 +9563,7 @@ msgstr ""
 "Les chemins suivants de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:1191
+#: transport.c:1189
 #, c-format
 msgid ""
 "\n"
@@ -9384,11 +9590,11 @@ msgstr ""
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:1199
+#: transport.c:1197
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport.c:1346
+#: transport.c:1344
 msgid "failed to push all needed submodules"
 msgstr "échec de la poussée de tous les sous-modules nécessaires"
 
@@ -9667,17 +9873,17 @@ msgstr ""
 "sensibles à la casse dans une système de fichier insensible) et un\n"
 "seul du groupe en collision est dans l'arbre de travail :\n"
 
-#: unpack-trees.c:1618
+#: unpack-trees.c:1620
 msgid "Updating index flags"
 msgstr "Mise à jour des drapeaux de l'index"
 
-#: unpack-trees.c:2718
+#: unpack-trees.c:2772
 #, c-format
 msgid "worktree and untracked commit have duplicate entries: %s"
 msgstr ""
 "l'arbre de travail et le commit non suivi ont des entrées dupliquées : %s"
 
-#: upload-pack.c:1548
+#: upload-pack.c:1561
 msgid "expected flush after fetch arguments"
 msgstr "vidage attendu après les arguments de récupération"
 
@@ -9714,7 +9920,7 @@ msgstr "segment de chemin '..' invalide"
 msgid "Fetching objects"
 msgstr "Récupération des objets"
 
-#: worktree.c:236 builtin/am.c:2152
+#: worktree.c:236 builtin/am.c:2154 builtin/bisect--helper.c:156
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
@@ -9815,17 +10021,27 @@ msgstr "fichier gitdir invalide"
 msgid "gitdir file points to non-existent location"
 msgstr "le fichier gitdir pointe sur un endroit inexistant"
 
-#: wrapper.c:197 wrapper.c:367
+#: wrapper.c:151
+#, c-format
+msgid "could not setenv '%s'"
+msgstr "impossible de configurer l'environnement '%s'"
+
+#: wrapper.c:203
+#, c-format
+msgid "unable to create '%s'"
+msgstr "impossible de créer '%s'"
+
+#: wrapper.c:205 wrapper.c:375
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "impossible d'ouvrir '%s' en lecture/écriture"
 
-#: wrapper.c:398 wrapper.c:599
+#: wrapper.c:406 wrapper.c:607
 #, c-format
 msgid "unable to access '%s'"
 msgstr "impossible d'accéder à '%s'"
 
-#: wrapper.c:607
+#: wrapper.c:615
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
@@ -10380,25 +10596,25 @@ msgstr "de plus, votre index contient des modifications non validées."
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
 
-#: compat/simple-ipc/ipc-unix-socket.c:182
+#: compat/simple-ipc/ipc-unix-socket.c:183
 msgid "could not send IPC command"
 msgstr "impossible de trouver le commit %"
 
-#: compat/simple-ipc/ipc-unix-socket.c:189
+#: compat/simple-ipc/ipc-unix-socket.c:190
 msgid "could not read IPC response"
 msgstr "impossible de lire la réponse IPC"
 
-#: compat/simple-ipc/ipc-unix-socket.c:866
+#: compat/simple-ipc/ipc-unix-socket.c:870
 #, c-format
 msgid "could not start accept_thread '%s'"
 msgstr "impossible de démarrer accept_thread '%s'"
 
-#: compat/simple-ipc/ipc-unix-socket.c:878
+#: compat/simple-ipc/ipc-unix-socket.c:882
 #, c-format
 msgid "could not start worker[0] for '%s'"
 msgstr "impossible de démarrer worker[0] pour '%s'"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:461
+#: compat/precompose_utf8.c:58 builtin/clone.c:347
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "échec pour délier '%s'"
@@ -10407,136 +10623,135 @@ msgstr "échec pour délier '%s'"
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<options>] [--] <chemin>..."
 
-#: builtin/add.c:61
+#: builtin/add.c:64
 #, c-format
 msgid "cannot chmod %cx '%s'"
 msgstr "impossible de chmod %cx '%s'"
 
-#: builtin/add.c:99
+#: builtin/add.c:106
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
 
-#: builtin/add.c:104 builtin/commit.c:297
+#: builtin/add.c:111 builtin/commit.c:298
 msgid "updating files failed"
 msgstr "échec de la mise à jour des fichiers"
 
-#: builtin/add.c:114
+#: builtin/add.c:121
 #, c-format
 msgid "remove '%s'\n"
 msgstr "suppression de '%s'\n"
 
-#: builtin/add.c:198
+#: builtin/add.c:205
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:307 builtin/rev-parse.c:993
+#: builtin/add.c:317 builtin/rev-parse.c:993
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/add.c:318
-#, c-format
-msgid "Could not open '%s' for writing."
-msgstr "Impossible d'ouvrir '%s' en écriture."
-
-#: builtin/add.c:322
+#: builtin/add.c:330
 msgid "Could not write patch"
 msgstr "Impossible d'écrire le patch"
 
-#: builtin/add.c:325
+#: builtin/add.c:333
 msgid "editing patch failed"
 msgstr "échec de l'édition du patch"
 
-#: builtin/add.c:328
+#: builtin/add.c:336
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Stat de '%s' impossible"
 
-#: builtin/add.c:330
+#: builtin/add.c:338
 msgid "Empty patch. Aborted."
 msgstr "Patch vide. Abandon."
 
-#: builtin/add.c:335
+#: builtin/add.c:343
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Impossible d'appliquer '%s'"
 
-#: builtin/add.c:343
+#: builtin/add.c:351
 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:363 builtin/clean.c:901 builtin/fetch.c:173 builtin/mv.c:124
+#: builtin/add.c:371 builtin/clean.c:901 builtin/fetch.c:173 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:550
-#: builtin/remote.c:1427 builtin/rm.c:243 builtin/send-pack.c:190
+#: builtin/remote.c:1429 builtin/rm.c:244 builtin/send-pack.c:194
 msgid "dry run"
 msgstr "simuler l'action"
 
-#: builtin/add.c:366
+#: builtin/add.c:374
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:367 builtin/checkout.c:1562 builtin/reset.c:308
+#: builtin/add.c:375 builtin/checkout.c:1560 builtin/reset.c:314
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
-#: builtin/add.c:368
+#: builtin/add.c:376
 msgid "edit current diff and apply"
 msgstr "édition du diff actuel et application"
 
-#: builtin/add.c:369
+#: builtin/add.c:377
 msgid "allow adding otherwise ignored files"
 msgstr "permettre l'ajout de fichiers ignorés"
 
-#: builtin/add.c:370
+#: builtin/add.c:378
 msgid "update tracked files"
 msgstr "mettre à jour les fichiers suivis"
 
-#: builtin/add.c:371
+#: builtin/add.c:379
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr ""
 "renormaliser les fins de lignes (EOL) des fichiers suivis (implique -u)"
 
-#: builtin/add.c:372
+#: builtin/add.c:380
 msgid "record only the fact that the path will be added later"
 msgstr "enregistrer seulement le fait que le chemin sera ajouté plus tard"
 
-#: builtin/add.c:373
+#: builtin/add.c:381
 msgid "add changes from all tracked and untracked files"
 msgstr "ajouter les modifications de tous les fichiers suivis et non suivis"
 
-#: builtin/add.c:376
+#: builtin/add.c:384
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "ignorer les chemins effacés dans la copie de travail (identique à --no-all)"
 
-#: builtin/add.c:378
+#: builtin/add.c:386
 msgid "don't add, only refresh the index"
 msgstr "ne pas ajouter, juste rafraîchir l'index"
 
-#: builtin/add.c:379
+#: builtin/add.c:387
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 "sauter seulement les fichiers qui ne peuvent pas être ajoutés du fait "
 "d'erreurs"
 
-#: builtin/add.c:380
+#: builtin/add.c:388
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "vérifier si des fichiers - même manquants - sont ignorés, à vide"
 
-#: builtin/add.c:382 builtin/update-index.c:1006
+#: builtin/add.c:389 builtin/mv.c:128 builtin/rm.c:251
+msgid "allow updating entries outside of the sparse-checkout cone"
+msgstr "permettre la mise à jour des entrées hors du cone d'extraction clairsemée"
+
+#: builtin/add.c:391 builtin/update-index.c:1004
 msgid "override the executable bit of the listed files"
 msgstr "outrepasser le bit exécutable pour les fichiers listés"
 
-#: builtin/add.c:384
+#: builtin/add.c:393
 msgid "warn when adding an embedded repository"
 msgstr "avertir lors de l'ajout d'un dépôt embarqué"
 
-#: builtin/add.c:386
+#: builtin/add.c:395
 msgid "backend for `git stash -p`"
 msgstr "backend pour `git stash -p`"
 
-#: builtin/add.c:404
+#: builtin/add.c:413
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -10567,12 +10782,12 @@ msgstr ""
 "\n"
 "Référez-vous à \"git help submodule\" pour plus d'information."
 
-#: builtin/add.c:432
+#: builtin/add.c:442
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "dépôt git embarqué ajouté : %s"
 
-#: builtin/add.c:451
+#: builtin/add.c:462
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -10582,52 +10797,52 @@ msgstr ""
 "Éliminez ce message en lançant\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:460
+#: builtin/add.c:477
 msgid "adding files failed"
 msgstr "échec de l'ajout de fichiers"
 
-#: builtin/add.c:488
+#: builtin/add.c:513
 msgid "--dry-run is incompatible with --interactive/--patch"
 msgstr "--dry-run est incompatible avec --interactive/--patch"
 
-#: builtin/add.c:490 builtin/commit.c:357
+#: builtin/add.c:515 builtin/commit.c:358
 msgid "--pathspec-from-file is incompatible with --interactive/--patch"
 msgstr "--pathspec-from-file est incompatible avec --interactive/--patch"
 
-#: builtin/add.c:507
+#: builtin/add.c:532
 msgid "--pathspec-from-file is incompatible with --edit"
 msgstr "--pathspec-from-file est incompatible avec --edit"
 
-#: builtin/add.c:519
+#: builtin/add.c:544
 msgid "-A and -u are mutually incompatible"
 msgstr "-A et -u sont mutuellement incompatibles"
 
-#: builtin/add.c:522
+#: builtin/add.c:547
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 "L'option --ignore-missing ne peut être utilisée qu'en complément de --dry-run"
 
-#: builtin/add.c:526
+#: builtin/add.c:551
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "Le paramètre '%s' de --chmod doit être soit -x soit +x"
 
-#: builtin/add.c:544 builtin/checkout.c:1733 builtin/commit.c:363
-#: builtin/reset.c:328 builtin/rm.c:273 builtin/stash.c:1633
+#: builtin/add.c:572 builtin/checkout.c:1731 builtin/commit.c:364
+#: builtin/reset.c:334 builtin/rm.c:275 builtin/stash.c:1650
 msgid "--pathspec-from-file is incompatible with pathspec arguments"
 msgstr "--pathspec-from-file est incompatible avec pathspec arguments"
 
-#: builtin/add.c:551 builtin/checkout.c:1745 builtin/commit.c:369
-#: builtin/reset.c:334 builtin/rm.c:279 builtin/stash.c:1639
+#: builtin/add.c:579 builtin/checkout.c:1743 builtin/commit.c:370
+#: builtin/reset.c:340 builtin/rm.c:281 builtin/stash.c:1656
 msgid "--pathspec-file-nul requires --pathspec-from-file"
 msgstr "--pathspec-file-nul nécessite --pathspec-from-file"
 
-#: builtin/add.c:555
+#: builtin/add.c:583
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Rien de spécifié, rien n'a été ajouté.\n"
 
-#: builtin/add.c:557
+#: builtin/add.c:585
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10637,112 +10852,112 @@ msgstr ""
 "Éliminez ce message en lançant\n"
 "\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:365
+#: builtin/am.c:366
 msgid "could not parse author script"
 msgstr "impossible d'analyser l'auteur du script"
 
-#: builtin/am.c:455
+#: builtin/am.c:456
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' a été effacé par le crochet applypatch-msg"
 
-#: builtin/am.c:497
+#: builtin/am.c:498
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Ligne en entrée malformée : '%s'."
 
-#: builtin/am.c:535
+#: builtin/am.c:536
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Impossible de copier les notes de '%s' vers '%s'"
 
-#: builtin/am.c:561
+#: builtin/am.c:562
 msgid "fseek failed"
 msgstr "échec de fseek"
 
-#: builtin/am.c:749
+#: builtin/am.c:750
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "impossible d'analyser le patch '%s'"
 
-#: builtin/am.c:814
+#: builtin/am.c:815
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Seulement une série de patchs StGIT peut être appliquée à la fois"
 
-#: builtin/am.c:862
+#: builtin/am.c:863
 msgid "invalid timestamp"
 msgstr "horodatage invalide"
 
-#: builtin/am.c:867 builtin/am.c:879
+#: builtin/am.c:868 builtin/am.c:880
 msgid "invalid Date line"
 msgstr "ligne de Date invalide"
 
-#: builtin/am.c:874
+#: builtin/am.c:875
 msgid "invalid timezone offset"
 msgstr "décalage horaire invalide"
 
-#: builtin/am.c:967
+#: builtin/am.c:968
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:972 builtin/clone.c:414
+#: builtin/am.c:973 builtin/clone.c:300
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
 
-#: builtin/am.c:977
+#: builtin/am.c:978
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1126
+#: builtin/am.c:1127
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Quand vous avez résolu ce problème, lancez \"%s --continue\"."
 
-#: builtin/am.c:1127
+#: builtin/am.c:1128
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "Si vous préférez plutôt sauter ce patch, lancez \"%s --skip\"."
 
-#: builtin/am.c:1128
+#: builtin/am.c:1129
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 "Pour restaurer la branche originale et arrêter de patcher, lancez \"%s --"
 "abort\"."
 
-#: builtin/am.c:1223
+#: builtin/am.c:1224
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Rustine envoyée avec format=flowed ; les espaces en fin de ligne peuvent "
 "être perdus."
 
-#: builtin/am.c:1251
+#: builtin/am.c:1252
 msgid "Patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: builtin/am.c:1316
+#: builtin/am.c:1317
 #, c-format
 msgid "missing author line in commit %s"
 msgstr "ligne d'auteur manquante dans le commit %s"
 
-#: builtin/am.c:1319
+#: builtin/am.c:1320
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "ligne d'identification invalide : %.*s"
 
-#: builtin/am.c:1538
+#: builtin/am.c:1539
 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:1540
+#: builtin/am.c:1541
 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:1559
+#: builtin/am.c:1560
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -10750,24 +10965,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:1565
+#: builtin/am.c:1566
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1591
+#: builtin/am.c:1592
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1623
+#: builtin/am.c:1624
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1675 builtin/am.c:1679
+#: builtin/am.c:1676 builtin/am.c:1680
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1697
+#: builtin/am.c:1698
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -10775,35 +10990,35 @@ msgstr "Le corps de la validation est :"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1707
+#: builtin/am.c:1708
 #, 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:1753 builtin/commit.c:408
+#: builtin/am.c:1754 builtin/commit.c:409
 msgid "unable to write index file"
 msgstr "impossible d'écrire le fichier d'index"
 
-#: builtin/am.c:1757
+#: builtin/am.c:1758
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1797 builtin/am.c:1865
+#: builtin/am.c:1798 builtin/am.c:1865
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1814
+#: builtin/am.c:1815
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1820
+#: builtin/am.c:1821
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "l'application de la rustine a échoué à %s %.*s"
 
-#: builtin/am.c:1824
+#: builtin/am.c:1825
 msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr ""
 "Utilisez 'git am --show-current-patch=diff' pour visualiser le patch en échec"
@@ -10832,17 +11047,17 @@ msgstr ""
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: builtin/am.c:1982 builtin/am.c:1986 builtin/am.c:1998 builtin/reset.c:347
-#: builtin/reset.c:355
+#: builtin/am.c:1983 builtin/am.c:1987 builtin/am.c:1999 builtin/reset.c:353
+#: builtin/reset.c:361
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:2034
+#: builtin/am.c:2035 builtin/am.c:2111
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'index"
 
-#: builtin/am.c:2078
+#: builtin/am.c:2079
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -10850,160 +11065,160 @@ msgstr ""
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2187
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2229
 #, c-format
 msgid "Invalid value for --show-current-patch: %s"
 msgstr "Valeur invalide pour --show-current-patch : %s"
 
-#: builtin/am.c:2231
+#: builtin/am.c:2233
 #, c-format
 msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s"
 msgstr "--show-current-patch=%s est incompatible avec --show-current-patch=%s"
 
-#: builtin/am.c:2262
+#: builtin/am.c:2264
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2263
+#: builtin/am.c:2265
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<options>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2269
+#: builtin/am.c:2271
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2271
+#: builtin/am.c:2273
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2273
+#: builtin/am.c:2275
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: builtin/am.c:2274 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:472 builtin/stash.c:945
+#: builtin/am.c:2276 builtin/init-db.c:547 builtin/prune-packed.c:16
+#: builtin/repack.c:640 builtin/stash.c:961
 msgid "be quiet"
 msgstr "être silencieux"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2278
 msgid "add a Signed-off-by trailer to the commit message"
 msgstr "ajouter une ligne terminale Signed-off-by au message de validation"
 
-#: builtin/am.c:2279
+#: builtin/am.c:2281
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2283
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2283
+#: builtin/am.c:2285
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2285
+#: builtin/am.c:2287
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2287
+#: builtin/am.c:2289
 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:2290
+#: builtin/am.c:2292
 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:2293
+#: builtin/am.c:2295
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: builtin/am.c:2295
+#: builtin/am.c:2297
 msgid "pass it through git-mailinfo"
 msgstr "le passer à travers git-mailinfo"
 
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2310 builtin/am.c:2313 builtin/am.c:2316 builtin/am.c:2319
-#: builtin/am.c:2325
+#: builtin/am.c:2300 builtin/am.c:2303 builtin/am.c:2306 builtin/am.c:2309
+#: builtin/am.c:2312 builtin/am.c:2315 builtin/am.c:2318 builtin/am.c:2321
+#: builtin/am.c:2327
 msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2315 builtin/commit.c:1512 builtin/fmt-merge-msg.c:17
-#: builtin/fmt-merge-msg.c:20 builtin/grep.c:905 builtin/merge.c:261
+#: builtin/am.c:2317 builtin/commit.c:1514 builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:919 builtin/merge.c:262
 #: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
-#: builtin/rebase.c:1342 builtin/repack.c:483 builtin/repack.c:487
-#: builtin/repack.c:489 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:447 parse-options.h:155 parse-options.h:176
-#: parse-options.h:317
+#: builtin/rebase.c:1046 builtin/repack.c:651 builtin/repack.c:655
+#: builtin/repack.c:657 builtin/show-branch.c:649 builtin/show-ref.c:172
+#: builtin/tag.c:445 parse-options.h:154 parse-options.h:175
+#: parse-options.h:316
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2321 builtin/branch.c:672 builtin/bugreport.c:137
-#: builtin/for-each-ref.c:40 builtin/replace.c:556 builtin/tag.c:481
+#: builtin/am.c:2323 builtin/branch.c:673 builtin/bugreport.c:109
+#: builtin/for-each-ref.c:40 builtin/replace.c:556 builtin/tag.c:479
 #: builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2322
+#: builtin/am.c:2324
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2328
+#: builtin/am.c:2330
 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:2330
+#: builtin/am.c:2332
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2333
+#: builtin/am.c:2335
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2336
+#: builtin/am.c:2338
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2341
 msgid "restore the original branch and abort the patching operation"
 msgstr "restaurer la branche originale et abandonner les applications de patch"
 
-#: builtin/am.c:2342
+#: builtin/am.c:2344
 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:2346
+#: builtin/am.c:2348
 msgid "show the patch being applied"
 msgstr "afficher le patch en cours d'application"
 
-#: builtin/am.c:2351
+#: builtin/am.c:2353
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2353
+#: builtin/am.c:2355
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2355 builtin/commit-tree.c:120 builtin/commit.c:1640
-#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:537
-#: builtin/rebase.c:1395 builtin/revert.c:117 builtin/tag.c:462
+#: builtin/am.c:2357 builtin/commit-tree.c:118 builtin/commit.c:1642
+#: builtin/merge.c:299 builtin/pull.c:175 builtin/rebase.c:1099
+#: builtin/revert.c:117 builtin/tag.c:460
 msgid "key-id"
 msgstr "id-clé"
 
-#: builtin/am.c:2356 builtin/rebase.c:538 builtin/rebase.c:1396
+#: builtin/am.c:2358 builtin/rebase.c:1100
 msgid "GPG-sign commits"
 msgstr "signer les commits avec GPG"
 
-#: builtin/am.c:2359
+#: builtin/am.c:2361
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2377
+#: builtin/am.c:2379
 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."
@@ -11011,17 +11226,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:2384
+#: builtin/am.c:2386
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2399
+#: builtin/am.c:2401
 #, 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:2423
+#: builtin/am.c:2425
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -11030,13 +11245,13 @@ msgstr ""
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2429
+#: builtin/am.c:2431
 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:2439
+#: builtin/am.c:2441
 msgid "interactive mode requires patches on the command line"
 msgstr "le mode interactif requiert des rustines sur la ligne de commande"
 
@@ -11044,46 +11259,35 @@ msgstr "le mode interactif requiert des rustines sur la ligne de commande"
 msgid "git apply [<options>] [<patch>...]"
 msgstr "git apply [<options>] [<patch>...]"
 
-#: builtin/archive.c:17
-#, c-format
-msgid "could not create archive file '%s'"
-msgstr "création impossible du fichier d'archive '%s'"
-
-#: builtin/archive.c:20
+#: builtin/archive.c:18
 msgid "could not redirect output"
 msgstr "impossible de rediriger la sortie"
 
-#: builtin/archive.c:37
+#: builtin/archive.c:35
 msgid "git archive: Remote with no URL"
 msgstr "git archive : Dépôt distant sans URL"
 
-#: builtin/archive.c:61
+#: builtin/archive.c:59
 msgid "git archive: expected ACK/NAK, got a flush packet"
 msgstr "git archive : ACK/NACK attendu, paquet de nettoyage reçu"
 
-#: builtin/archive.c:64
+#: builtin/archive.c:62
 #, c-format
 msgid "git archive: NACK %s"
 msgstr "git archive : NACK %s"
 
-#: builtin/archive.c:65
+#: builtin/archive.c:63
 msgid "git archive: protocol error"
 msgstr "git archive : erreur de protocole"
 
-#: builtin/archive.c:69
+#: builtin/archive.c:67
 msgid "git archive: expected a flush"
 msgstr "git archive : vidage attendu"
 
-#: builtin/bisect--helper.c:23
+#: builtin/bisect--helper.c:24
 msgid "git bisect--helper --bisect-reset [<commit>]"
 msgstr "git bisect--helper --bisect-reset [<commit>]"
 
-#: builtin/bisect--helper.c:24
-msgid "git bisect--helper --bisect-next-check <good_term> <bad_term> [<term>]"
-msgstr ""
-"git bisect--helper --bisect-next-check <terme-pour-bon> <terme-pour-mauvais> "
-"[<term>]"
-
 #: builtin/bisect--helper.c:25
 msgid ""
 "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
@@ -11122,46 +11326,59 @@ msgstr "git bisect--helper --bisect-replay <nom-de-fichier>"
 msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
 msgstr "git bisect--helper --bisect-skip [(<rév>|<plage>)...]"
 
-#: builtin/bisect--helper.c:107
+#: builtin/bisect--helper.c:33
+msgid "git bisect--helper --bisect-visualize"
+msgstr "git bisect--helper --bisect-visualize"
+
+#: builtin/bisect--helper.c:34
+msgid "git bisect--helper --bisect-run <cmd>..."
+msgstr "git bisect--helper --bisect-run <cmd>..."
+
+#: builtin/bisect--helper.c:109
 #, c-format
 msgid "cannot open file '%s' in mode '%s'"
 msgstr "impossible d'ouvrir le fichier '%s' en mode '%s'"
 
-#: builtin/bisect--helper.c:114
+#: builtin/bisect--helper.c:116
 #, c-format
 msgid "could not write to file '%s'"
 msgstr "impossible d'écrire le fichier '%s'"
 
-#: builtin/bisect--helper.c:155
+#: builtin/bisect--helper.c:154
+#, c-format
+msgid "cannot open file '%s' for reading"
+msgstr "impossible d'ouvrir le fichier '%s' en lecture"
+
+#: builtin/bisect--helper.c:170
 #, c-format
 msgid "'%s' is not a valid term"
 msgstr "'%s' n'est pas un terme valide"
 
-#: builtin/bisect--helper.c:159
+#: builtin/bisect--helper.c:174
 #, c-format
 msgid "can't use the builtin command '%s' as a term"
 msgstr "impossible d'utiliser la commande incluse '%s' comme terme"
 
-#: builtin/bisect--helper.c:169
+#: builtin/bisect--helper.c:184
 #, c-format
 msgid "can't change the meaning of the term '%s'"
 msgstr "impossible de modifier la signification du terme '%s'"
 
-#: builtin/bisect--helper.c:179
+#: builtin/bisect--helper.c:194
 msgid "please use two different terms"
 msgstr "veuillez utiliser deux termes différents"
 
-#: builtin/bisect--helper.c:195
+#: builtin/bisect--helper.c:210
 #, c-format
 msgid "We are not bisecting.\n"
 msgstr "Pas de bissection en cours.\n"
 
-#: builtin/bisect--helper.c:203
+#: builtin/bisect--helper.c:218
 #, c-format
 msgid "'%s' is not a valid commit"
 msgstr "'%s' n'est pas un commit valide"
 
-#: builtin/bisect--helper.c:212
+#: builtin/bisect--helper.c:227
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
@@ -11169,27 +11386,27 @@ msgstr ""
 "échec d'extraction de la HEAD d'origine '%s'. Essayez 'git bisect reset "
 "<commit>'."
 
-#: builtin/bisect--helper.c:256
+#: builtin/bisect--helper.c:271
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "Mauvais argument pour bisect_write : %s"
 
-#: builtin/bisect--helper.c:261
+#: builtin/bisect--helper.c:276
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "impossible d'obtenir l'oid de la révision '%s'"
 
-#: builtin/bisect--helper.c:273
+#: builtin/bisect--helper.c:288
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "impossible d'ouvrir le fichier '%s'"
 
-#: builtin/bisect--helper.c:299
+#: builtin/bisect--helper.c:314
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "Commande invalide : vous êtes actuellement dans une bissection %s/%s"
 
-#: builtin/bisect--helper.c:326
+#: builtin/bisect--helper.c:341
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
@@ -11198,7 +11415,7 @@ msgstr ""
 "Vous devez me donner au moins une révision %s et une révision %s.\n"
 "Vous pouvez utiliser \"git bisect %s\" et \"git bisect %s\" pour cela."
 
-#: builtin/bisect--helper.c:330
+#: builtin/bisect--helper.c:345
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -11209,7 +11426,7 @@ msgstr ""
 "Puis vous devez me donner au moins une révision %s et une révision %s.\n"
 "Vous pouvez utiliser \"git bisect %s\" et \"git bisect %s\" pour cela."
 
-#: builtin/bisect--helper.c:350
+#: builtin/bisect--helper.c:365
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "bissection avec seulement un commit %s"
@@ -11218,15 +11435,15 @@ msgstr "bissection avec seulement un commit %s"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:358
+#: builtin/bisect--helper.c:373
 msgid "Are you sure [Y/n]? "
 msgstr "Confirmez-vous [Y/n] ? "
 
-#: builtin/bisect--helper.c:419
+#: builtin/bisect--helper.c:434
 msgid "no terms defined"
 msgstr "aucun terme défini"
 
-#: builtin/bisect--helper.c:422
+#: builtin/bisect--helper.c:437
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
@@ -11235,7 +11452,7 @@ msgstr ""
 "Vos termes actuels sont %s pour l'état ancien\n"
 "et %s pour le nouvel état.\n"
 
-#: builtin/bisect--helper.c:432
+#: builtin/bisect--helper.c:447
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -11245,53 +11462,53 @@ msgstr ""
 "Les options supportées sont : --term-good|--term-old et --term-bad|--term-"
 "new."
 
-#: builtin/bisect--helper.c:499 builtin/bisect--helper.c:1023
+#: builtin/bisect--helper.c:514 builtin/bisect--helper.c:1038
 msgid "revision walk setup failed\n"
 msgstr "échec de la préparation du parcours des révisions\n"
 
-#: builtin/bisect--helper.c:521
+#: builtin/bisect--helper.c:536
 #, c-format
 msgid "could not open '%s' for appending"
 msgstr "impossible d'ouvrir '%s' en ajout"
 
-#: builtin/bisect--helper.c:640 builtin/bisect--helper.c:653
+#: builtin/bisect--helper.c:655 builtin/bisect--helper.c:668
 msgid "'' is not a valid term"
 msgstr "'' n'est pas un terme valide"
 
-#: builtin/bisect--helper.c:663
+#: builtin/bisect--helper.c:678
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr "option non reconnue : '%s'"
 
-#: builtin/bisect--helper.c:667
+#: builtin/bisect--helper.c:682
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr "'%s' ne semble être une révision valide"
 
-#: builtin/bisect--helper.c:698
+#: builtin/bisect--helper.c:713
 msgid "bad HEAD - I need a HEAD"
 msgstr "mauvaise HEAD - j'ai besoin d'une HEAD"
 
-#: builtin/bisect--helper.c:713
+#: builtin/bisect--helper.c:728
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr ""
 "l'extraction de '%s' a échoué. Essayez 'git bisect start <branche-valide>'."
 
-#: builtin/bisect--helper.c:734
+#: builtin/bisect--helper.c:749
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "refus de bissecter sur un arbre 'cg-seeked'"
 
-#: builtin/bisect--helper.c:737
+#: builtin/bisect--helper.c:752
 msgid "bad HEAD - strange symbolic ref"
 msgstr "mauvaise HEAD - référence symbolique douteuse"
 
-#: builtin/bisect--helper.c:757
+#: builtin/bisect--helper.c:772
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "réference invalide : '%s'"
 
-#: builtin/bisect--helper.c:815
+#: builtin/bisect--helper.c:830
 msgid "You need to start by \"git bisect start\"\n"
 msgstr "Vous devez démarrer avec \"git bisect start\"\n"
 
@@ -11299,104 +11516,148 @@ msgstr "Vous devez démarrer avec \"git bisect start\"\n"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:826
+#: builtin/bisect--helper.c:841
 msgid "Do you want me to do it for you [Y/n]? "
 msgstr "Souhaitez-vous que je le fasse pour vous [Y/n] ? "
 
-#: builtin/bisect--helper.c:844
+#: builtin/bisect--helper.c:859
 msgid "Please call `--bisect-state` with at least one argument"
 msgstr "Veuillez appeler `--bisect-state` avec au moins un argument"
 
-#: builtin/bisect--helper.c:857
+#: builtin/bisect--helper.c:872
 #, c-format
 msgid "'git bisect %s' can take only one argument."
 msgstr "'git bisect %s' n'accepte qu'un seul argument."
 
-#: builtin/bisect--helper.c:869 builtin/bisect--helper.c:882
+#: builtin/bisect--helper.c:884 builtin/bisect--helper.c:897
 #, c-format
 msgid "Bad rev input: %s"
 msgstr "Mauvaise révision en entrée : %s"
 
-#: builtin/bisect--helper.c:889
+#: builtin/bisect--helper.c:904
 #, c-format
 msgid "Bad rev input (not a commit): %s"
 msgstr "Mauvaise révision en entrée (pas un commit) : %s"
 
-#: builtin/bisect--helper.c:921
+#: builtin/bisect--helper.c:936
 msgid "We are not bisecting."
 msgstr "Pas de bissection en cours."
 
-#: builtin/bisect--helper.c:971
+#: builtin/bisect--helper.c:986
 #, c-format
 msgid "'%s'?? what are you talking about?"
 msgstr "'%s' ?? de quoi parlez-vous ?"
 
-#: builtin/bisect--helper.c:983
+#: builtin/bisect--helper.c:998
 #, c-format
 msgid "cannot read file '%s' for replaying"
 msgstr "impossible de lire le fichier '%s' pour rejouer"
 
-#: builtin/bisect--helper.c:1056
+#: builtin/bisect--helper.c:1107 builtin/bisect--helper.c:1274
+msgid "bisect run failed: no command provided."
+msgstr "la bissection a échoué : aucune commande fournie."
+
+#: builtin/bisect--helper.c:1116
+#, c-format
+msgid "running %s\n"
+msgstr "Lancement de %s\n"
+
+#: builtin/bisect--helper.c:1120
+#, c-format
+msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
+msgstr "la bissection a échoué : le code retour %d de '%s' est < 0 ou >= 128"
+
+#: builtin/bisect--helper.c:1136
+#, c-format
+msgid "cannot open file '%s' for writing"
+msgstr "impossible d'ouvrir '%s' en écriture"
+
+#: builtin/bisect--helper.c:1152
+msgid "bisect run cannot continue any more"
+msgstr "la bissection ne peut plus continuer"
+
+#: builtin/bisect--helper.c:1154
+#, c-format
+msgid "bisect run success"
+msgstr "succès de la bissection"
+
+#: builtin/bisect--helper.c:1157
+#, c-format
+msgid "bisect found first bad commit"
+msgstr "la bissection a trouvé le premier mauvais commit"
+
+#: builtin/bisect--helper.c:1160
+#, c-format
+msgid ""
+"bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
+"code %d"
+msgstr "la bissection a échoué : 'git bisect--helper --bisect-state %s' a retourné le code erreur %d"
+
+#: builtin/bisect--helper.c:1192
 msgid "reset the bisection state"
 msgstr "réinitialiser l'état de la bissection"
 
-#: builtin/bisect--helper.c:1058
+#: builtin/bisect--helper.c:1194
 msgid "check whether bad or good terms exist"
 msgstr "vérifier si les termes bons ou mauvais existent"
 
-#: builtin/bisect--helper.c:1060
+#: builtin/bisect--helper.c:1196
 msgid "print out the bisect terms"
 msgstr "afficher les termes de bissection"
 
-#: builtin/bisect--helper.c:1062
+#: builtin/bisect--helper.c:1198
 msgid "start the bisect session"
 msgstr "démarrer une session de bissection"
 
-#: builtin/bisect--helper.c:1064
+#: builtin/bisect--helper.c:1200
 msgid "find the next bisection commit"
 msgstr "trouver le prochain commit de bissection"
 
-#: builtin/bisect--helper.c:1066
+#: builtin/bisect--helper.c:1202
 msgid "mark the state of ref (or refs)"
 msgstr "marquer l'état d'une références (ou plusieurs)"
 
-#: builtin/bisect--helper.c:1068
+#: builtin/bisect--helper.c:1204
 msgid "list the bisection steps so far"
 msgstr "lister les étapes de bissection jusqu'ici"
 
-#: builtin/bisect--helper.c:1070
+#: builtin/bisect--helper.c:1206
 msgid "replay the bisection process from the given file"
 msgstr "rejouer le processus de bissection depuis le fichier fourni"
 
-#: builtin/bisect--helper.c:1072
+#: builtin/bisect--helper.c:1208
 msgid "skip some commits for checkout"
 msgstr "sauter certains commits pour l'extraction"
 
-#: builtin/bisect--helper.c:1074
+#: builtin/bisect--helper.c:1210
+msgid "visualize the bisection"
+msgstr "visualiser la bissection"
+
+#: builtin/bisect--helper.c:1212
+msgid "use <cmd>... to automatically bisect."
+msgstr "utiliser <cmd>... pour bissecter automatiquement."
+
+#: builtin/bisect--helper.c:1214
 msgid "no log for BISECT_WRITE"
 msgstr "pas de journal pour BISECT_WRITE"
 
-#: builtin/bisect--helper.c:1089
+#: builtin/bisect--helper.c:1229
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset supporte soit aucun argument, soit un commit"
 
-#: builtin/bisect--helper.c:1094
-msgid "--bisect-next-check requires 2 or 3 arguments"
-msgstr "--bisect-next-check exige 2 ou 3 arguments"
-
-#: builtin/bisect--helper.c:1100
+#: builtin/bisect--helper.c:1234
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms exige 0 ou 1 argument"
 
-#: builtin/bisect--helper.c:1109
+#: builtin/bisect--helper.c:1243
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next exige 0 argument"
 
-#: builtin/bisect--helper.c:1120
+#: builtin/bisect--helper.c:1254
 msgid "--bisect-log requires 0 arguments"
 msgstr "--bisect-log exige 0 argument"
 
-#: builtin/bisect--helper.c:1125
+#: builtin/bisect--helper.c:1259
 msgid "no logfile given"
 msgstr "pas de fichier de log donné"
 
@@ -11408,159 +11669,161 @@ 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:410
+#: builtin/blame.c:406
 #, c-format
 msgid "expecting a color: %s"
 msgstr "couleur attendue : %s"
 
-#: builtin/blame.c:417
+#: builtin/blame.c:413
 msgid "must end with a color"
 msgstr "doit finir avec une couleur"
 
-#: builtin/blame.c:728
+#: builtin/blame.c:724
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "couleur invalide '%s' dans color.blame.repeatedLines"
 
-#: builtin/blame.c:746
+#: builtin/blame.c:742
 msgid "invalid value for blame.coloring"
 msgstr "valeur invalide pour blame.coloring"
 
-#: builtin/blame.c:845
+#: builtin/blame.c:841
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "référence à ignorer %s introuvable"
 
-#: builtin/blame.c:867
+#: builtin/blame.c:863
 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:868
+#: builtin/blame.c:864
 msgid "do not show object names of boundary commits (Default: off)"
 msgstr ""
 "ne pas montrer les noms des objets pour les commits de limite (Défaut : "
 "désactivé)"
 
-#: builtin/blame.c:869
+#: builtin/blame.c:865
 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:870
+#: builtin/blame.c:866
 msgid "show work cost statistics"
 msgstr "montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:871 builtin/checkout.c:1519 builtin/clone.c:94
-#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:179
-#: builtin/merge.c:297 builtin/multi-pack-index.c:55 builtin/pull.c:119
-#: builtin/push.c:566 builtin/send-pack.c:198
+#: builtin/blame.c:867 builtin/checkout.c:1517 builtin/clone.c:94
+#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:179
+#: builtin/merge.c:298 builtin/multi-pack-index.c:103
+#: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:178
+#: builtin/multi-pack-index.c:204 builtin/pull.c:119 builtin/push.c:566
+#: builtin/send-pack.c:202
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:872
+#: builtin/blame.c:868
 msgid "show output score for blame entries"
 msgstr "montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:873
+#: builtin/blame.c:869
 msgid "show original filename (Default: auto)"
 msgstr "montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:874
+#: builtin/blame.c:870
 msgid "show original linenumber (Default: off)"
 msgstr "montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:871
 msgid "show in a format designed for machine consumption"
 msgstr "afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:872
 msgid "show porcelain format with per-line commit information"
 msgstr "afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:873
 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:878
+#: builtin/blame.c:874
 msgid "show raw timestamp (Default: off)"
 msgstr "afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:879
+#: builtin/blame.c:875
 msgid "show long commit SHA1 (Default: off)"
 msgstr "afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:880
+#: builtin/blame.c:876
 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:881
+#: builtin/blame.c:877
 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:882
+#: builtin/blame.c:878
 msgid "ignore whitespace differences"
 msgstr "ignorer les différences d'espace"
 
-#: builtin/blame.c:883 builtin/log.c:1823
+#: builtin/blame.c:879 builtin/log.c:1823
 msgid "rev"
 msgstr "rév"
 
-#: builtin/blame.c:883
+#: builtin/blame.c:879
 msgid "ignore <rev> when blaming"
 msgstr "ignorer <rev> pendant le blâme"
 
-#: builtin/blame.c:884
+#: builtin/blame.c:880
 msgid "ignore revisions from <file>"
 msgstr "ignorer les révisions listées dans <fichier>"
 
-#: builtin/blame.c:885
+#: builtin/blame.c:881
 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:886
+#: builtin/blame.c:882
 msgid "color lines by age"
 msgstr "colorier les lignes par âge"
 
-#: builtin/blame.c:887
+#: builtin/blame.c:883
 msgid "spend extra cycles to find better match"
 msgstr ""
 "dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:888
+#: builtin/blame.c:884
 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:889
+#: builtin/blame.c:885
 msgid "use <file>'s contents as the final image"
 msgstr "utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:890 builtin/blame.c:891
+#: builtin/blame.c:886 builtin/blame.c:887
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:890
+#: builtin/blame.c:886
 msgid "find line copies within and across files"
 msgstr "trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:891
+#: builtin/blame.c:887
 msgid "find line movements within and across files"
 msgstr "trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:892
+#: builtin/blame.c:888
 msgid "range"
 msgstr "plage"
 
-#: builtin/blame.c:893
+#: builtin/blame.c:889
 msgid "process only line range <start>,<end> or function :<funcname>"
 msgstr ""
 "traiter seulement l'intervalle de ligne <début>,<fin> ou la fonction : <nom-"
 "de-fonction>"
 
-#: builtin/blame.c:945
+#: builtin/blame.c:944
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -11574,18 +11837,18 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:996
+#: builtin/blame.c:995
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:1112
+#: builtin/blame.c:1111
 #, 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:1157
+#: builtin/blame.c:1156
 msgid "Blaming lines"
 msgstr "Assignation de blâme aux lignes"
 
@@ -11688,78 +11951,78 @@ msgstr "Branche de suivi %s supprimée (précédemment %s).\n"
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Branche %s supprimée (précédemment %s).\n"
 
-#: builtin/branch.c:440 builtin/tag.c:63
+#: builtin/branch.c:441 builtin/tag.c:63
 msgid "unable to parse format string"
 msgstr "impossible d'analyser la chaîne de format"
 
-#: builtin/branch.c:471
+#: builtin/branch.c:472
 msgid "could not resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: builtin/branch.c:477
+#: builtin/branch.c:478
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) pointe hors de refs/heads/"
 
-#: builtin/branch.c:492
+#: builtin/branch.c:493
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:496
+#: builtin/branch.c:497
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:513
+#: builtin/branch.c:514
 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:515
+#: builtin/branch.c:516
 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:526
+#: builtin/branch.c:527
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:555
+#: builtin/branch.c:556
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:557
+#: builtin/branch.c:558
 msgid "Branch copy failed"
 msgstr "Échec de copie de la branche"
 
-#: builtin/branch.c:561
+#: builtin/branch.c:562
 #, 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:564
+#: builtin/branch.c:565
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Renommage d'une branche mal nommée '%s'"
 
-#: builtin/branch.c:570
+#: builtin/branch.c:571
 #, 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:579
+#: builtin/branch.c:580
 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:581
+#: builtin/branch.c:582
 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:597
+#: builtin/branch.c:598
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11770,180 +12033,180 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:632
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:634
 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:634
+#: builtin/branch.c:635
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:636
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:638
 msgid "do not use"
 msgstr "ne pas utiliser"
 
-#: builtin/branch.c:639 builtin/rebase.c:533
+#: builtin/branch.c:640
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:640
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:641
 msgid "unset the upstream info"
 msgstr "désactiver l'information amont"
 
-#: builtin/branch.c:641
+#: builtin/branch.c:642
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:643
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:644 builtin/branch.c:646
+#: builtin/branch.c:645 builtin/branch.c:647
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:645 builtin/branch.c:647
+#: builtin/branch.c:646 builtin/branch.c:648
 msgid "print only branches that don't contain the commit"
 msgstr "afficher seulement les branches qui ne contiennent pas le commit"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:651
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:652
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:654
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:655
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:656
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:656
+#: builtin/branch.c:657
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:658
 msgid "copy a branch and its reflog"
 msgstr "copier une branche et son reflog"
 
-#: builtin/branch.c:658
+#: builtin/branch.c:659
 msgid "copy a branch, even if target exists"
 msgstr "copier une branche, même si la cible existe"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:660
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:661
 msgid "show current branch name"
 msgstr "afficher le nom de la branche courante"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:662
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:664
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:665
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:666
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:666
+#: builtin/branch.c:667
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:668
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:669 builtin/for-each-ref.c:44 builtin/notes.c:415
-#: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:477
+#: builtin/branch.c:670 builtin/for-each-ref.c:44 builtin/notes.c:413
+#: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
+#: builtin/tag.c:475
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:670
+#: builtin/branch.c:671
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:671 builtin/for-each-ref.c:50 builtin/tag.c:484
+#: builtin/branch.c:672 builtin/for-each-ref.c:50 builtin/tag.c:482
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:672 builtin/for-each-ref.c:40 builtin/tag.c:482
+#: builtin/branch.c:673 builtin/for-each-ref.c:40 builtin/tag.c:480
 #: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: builtin/branch.c:695 builtin/clone.c:794
+#: builtin/branch.c:696 builtin/clone.c:678
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:719
+#: builtin/branch.c:720
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:734 builtin/branch.c:790 builtin/branch.c:799
+#: builtin/branch.c:735 builtin/branch.c:792 builtin/branch.c:801
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:766
+#: builtin/branch.c:768
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:771
+#: builtin/branch.c:773
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:778
+#: builtin/branch.c:780
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:781
+#: builtin/branch.c:783
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:796
+#: builtin/branch.c:798
 msgid "too many branches for a copy operation"
 msgstr "trop de branches pour une opération de copie"
 
-#: builtin/branch.c:805
+#: builtin/branch.c:807
 msgid "too many arguments for a rename operation"
 msgstr "trop d'arguments pour une opération de renommage"
 
-#: builtin/branch.c:810
+#: builtin/branch.c:812
 msgid "too many arguments to set new upstream"
 msgstr "trop d'arguments pour spécifier une branche amont"
 
-#: builtin/branch.c:814
+#: builtin/branch.c:816
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -11951,32 +12214,32 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:817 builtin/branch.c:840
+#: builtin/branch.c:819 builtin/branch.c:842
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:823
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:834
+#: builtin/branch.c:836
 msgid "too many arguments to unset upstream"
 msgstr "trop d'arguments pour désactiver un amont"
 
-#: builtin/branch.c:838
+#: builtin/branch.c:840
 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:844
+#: builtin/branch.c:846
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:854
+#: builtin/branch.c:856
 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>?"
@@ -11985,7 +12248,7 @@ msgstr ""
 "branche.\n"
 "Vouliez-vous plutôt dire -a|-r --list <motif> ?"
 
-#: builtin/branch.c:858
+#: builtin/branch.c:860
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -11993,32 +12256,32 @@ msgstr ""
 "l'option '--set-upstream' est obsolète. Utilisez '--track' ou '--set-"
 "upstream-to' à la place."
 
-#: builtin/bugreport.c:15
+#: builtin/bugreport.c:16
 msgid "git version:\n"
 msgstr "version git ::\n"
 
-#: builtin/bugreport.c:21
+#: builtin/bugreport.c:22
 #, c-format
 msgid "uname() failed with error '%s' (%d)\n"
 msgstr "échec de uname() avec l'erreur '%s' (%d)\n"
 
-#: builtin/bugreport.c:31
+#: builtin/bugreport.c:32
 msgid "compiler info: "
 msgstr "info compilateur : "
 
-#: builtin/bugreport.c:34
+#: builtin/bugreport.c:35
 msgid "libc info: "
 msgstr "info libc : "
 
-#: builtin/bugreport.c:80
+#: builtin/bugreport.c:49
 msgid "not run from a git repository - no hooks to show\n"
 msgstr "lancé hors d'un dépôt git - aucun crochet à montrer\n"
 
-#: builtin/bugreport.c:90
+#: builtin/bugreport.c:62
 msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
 msgstr "git bugreport [-o|--output-directory <fichier>] [-s|--suffix <format>]"
 
-#: builtin/bugreport.c:97
+#: builtin/bugreport.c:69
 msgid ""
 "Thank you for filling out a Git bug report!\n"
 "Please answer the following questions to help us understand your issue.\n"
@@ -12055,38 +12318,33 @@ msgstr ""
 "Veuillez relire le rapport de bogue ci-dessous.\n"
 "Vous pouvez supprimer toute ligne que vous ne souhaitez pas envoyer.\n"
 
-#: builtin/bugreport.c:136
+#: builtin/bugreport.c:108
 msgid "specify a destination for the bugreport file"
 msgstr "spécifier la destination du fichier de rapport de bogue"
 
-#: builtin/bugreport.c:138
+#: builtin/bugreport.c:110
 msgid "specify a strftime format suffix for the filename"
 msgstr "spécifier une suffixe au format strftime pour le nom de fichier"
 
-#: builtin/bugreport.c:160
+#: builtin/bugreport.c:132
 #, c-format
 msgid "could not create leading directories for '%s'"
 msgstr "impossible de créer les répertoires de premier niveau pour '%s'"
 
-#: builtin/bugreport.c:167
+#: builtin/bugreport.c:139
 msgid "System Info"
 msgstr "Info système"
 
-#: builtin/bugreport.c:170
+#: builtin/bugreport.c:142
 msgid "Enabled Hooks"
 msgstr "Crochets activés"
 
-#: builtin/bugreport.c:177
-#, c-format
-msgid "couldn't create a new file at '%s'"
-msgstr "impossible de créer un fichier nouveau à '%s'"
-
-#: builtin/bugreport.c:180
+#: builtin/bugreport.c:149
 #, c-format
 msgid "unable to write to %s"
 msgstr "impossible d'écrire dans %s"
 
-#: builtin/bugreport.c:190
+#: builtin/bugreport.c:159
 #, c-format
 msgid "Created new report at '%s'.\n"
 msgstr "Nouveau rapport créé à '%s'.\n"
@@ -12107,53 +12365,53 @@ msgstr "git bundle list-heads <fichier> [<nom-de-ref>...]"
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <fichier> [<nom-de-ref>...]"
 
-#: builtin/bundle.c:67 builtin/pack-objects.c:3907
+#: builtin/bundle.c:65 builtin/pack-objects.c:3876
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3909
+#: builtin/bundle.c:67 builtin/bundle.c:167 builtin/pack-objects.c:3878
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/bundle.c:71 builtin/pack-objects.c:3911
+#: builtin/bundle.c:69 builtin/pack-objects.c:3880
 msgid "show progress meter during object writing phase"
 msgstr "afficher la barre de progression durant la phase d'écrite des objets"
 
-#: builtin/bundle.c:74 builtin/pack-objects.c:3914
+#: builtin/bundle.c:72 builtin/pack-objects.c:3883
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "similaire à --all-progress quand la barre de progression est affichée"
 
-#: builtin/bundle.c:76
+#: builtin/bundle.c:74
 msgid "specify bundle format version"
 msgstr "spécifier la version du format de colis"
 
-#: builtin/bundle.c:96
+#: builtin/bundle.c:94
 msgid "Need a repository to create a bundle."
 msgstr "La création d'un colis requiert un dépôt."
 
-#: builtin/bundle.c:109
+#: builtin/bundle.c:107
 msgid "do not show bundle details"
 msgstr "ne pas afficher les détails du colis"
 
-#: builtin/bundle.c:128
+#: builtin/bundle.c:126
 #, c-format
 msgid "%s is okay\n"
 msgstr "%s est correct\n"
 
-#: builtin/bundle.c:179
+#: builtin/bundle.c:182
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
-#: builtin/bundle.c:191 builtin/remote.c:1700
-msgid "be verbose; must be placed before a subcommand"
-msgstr "être verbeux : doit être placé avant une sous-commande"
+#: builtin/bundle.c:185
+msgid "Unbundling objects"
+msgstr "dépaquetage d'objets depuis un colis"
 
-#: builtin/bundle.c:213 builtin/remote.c:1731
+#: builtin/bundle.c:219 builtin/remote.c:1733
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Sous-commande inconnue : %s"
 
-#: builtin/cat-file.c:596
+#: builtin/cat-file.c:622
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -12161,7 +12419,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:597
+#: builtin/cat-file.c:623
 msgid ""
 "git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
 "symlinks] [--textconv | --filters]"
@@ -12169,74 +12427,74 @@ msgstr ""
 "git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
 "symlinks] [--textconv | --filters]"
 
-#: builtin/cat-file.c:618
+#: builtin/cat-file.c:644
 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:636
+#: builtin/cat-file.c:662
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<type> peut être : blob, tree, commit ou tag"
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:663
 msgid "show object type"
 msgstr "afficher le type de l'objet"
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:664
 msgid "show object size"
 msgstr "afficher la taille de l'objet"
 
-#: builtin/cat-file.c:640
+#: builtin/cat-file.c:666
 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:641
+#: builtin/cat-file.c:667
 msgid "pretty-print object's content"
 msgstr "afficher avec mise en forme le contenu de l'objet"
 
-#: builtin/cat-file.c:643
+#: builtin/cat-file.c:669
 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:645
+#: builtin/cat-file.c:671
 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:646
+#: builtin/cat-file.c:672
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:673
 msgid "use a specific path for --textconv/--filters"
 msgstr "utiliser un chemin spécifique pour --textconv/--filters"
 
-#: builtin/cat-file.c:649
+#: builtin/cat-file.c:675
 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:650
+#: builtin/cat-file.c:676
 msgid "buffer --batch output"
 msgstr "bufferiser la sortie de --batch"
 
-#: builtin/cat-file.c:652
+#: builtin/cat-file.c:678
 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:656
+#: builtin/cat-file.c:682
 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:660
+#: builtin/cat-file.c:686
 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:662
+#: builtin/cat-file.c:688
 msgid "show all objects with --batch or --batch-check"
 msgstr "montrer tous les objets avec --batch ou --batch-check"
 
-#: builtin/cat-file.c:664
+#: builtin/cat-file.c:690
 msgid "do not order --batch-all-objects output"
 msgstr "ne pas ordonner la sortie de --batch-all-objects"
 
@@ -12256,7 +12514,7 @@ msgstr "afficher tous les attributs associés au fichier"
 msgid "use .gitattributes only from the index"
 msgstr "utiliser .gitattributes seulement depuis l'index"
 
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:102
+#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:100
 msgid "read file names from stdin"
 msgstr "lire les noms de fichier depuis l'entrée standard"
 
@@ -12265,8 +12523,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:1515 builtin/gc.c:549
-#: builtin/worktree.c:493
+#: builtin/check-ignore.c:21 builtin/checkout.c:1513 builtin/gc.c:549
+#: builtin/worktree.c:494
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -12324,11 +12582,10 @@ msgid "git checkout--worker [<options>]"
 msgstr "git checkout--worker [<options>]"
 
 #: builtin/checkout--worker.c:118 builtin/checkout-index.c:201
-#: builtin/column.c:31 builtin/submodule--helper.c:1892
-#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:1903
-#: builtin/submodule--helper.c:2350 builtin/submodule--helper.c:2896
-#: builtin/submodule--helper.c:2899 builtin/worktree.c:491
-#: builtin/worktree.c:728
+#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1863
+#: builtin/submodule--helper.c:1866 builtin/submodule--helper.c:1874
+#: builtin/submodule--helper.c:2510 builtin/submodule--helper.c:2576
+#: builtin/worktree.c:492 builtin/worktree.c:729
 msgid "string"
 msgstr "chaîne"
 
@@ -12483,11 +12740,11 @@ msgstr "'%s' ou '%s' ne peut pas être utilisé avec %s"
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:734
+#: builtin/checkout.c:736
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:788
+#: builtin/checkout.c:786
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -12497,50 +12754,50 @@ msgstr ""
 "suivants :\n"
 "%s"
 
-#: builtin/checkout.c:881
+#: builtin/checkout.c:879
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:923
+#: builtin/checkout.c:921
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:927 builtin/clone.c:725 t/helper/test-fast-rebase.c:203
+#: builtin/checkout.c:925 builtin/clone.c:609 t/helper/test-fast-rebase.c:203
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:931
+#: builtin/checkout.c:929
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:934
+#: builtin/checkout.c:932
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:938
+#: builtin/checkout.c:936
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:940 builtin/checkout.c:1371
+#: builtin/checkout.c:938 builtin/checkout.c:1369
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:942
+#: builtin/checkout.c:940
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:993
+#: builtin/checkout.c:991
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:999
+#: builtin/checkout.c:997
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -12563,7 +12820,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1018
+#: builtin/checkout.c:1016
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -12592,19 +12849,19 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:1053
+#: builtin/checkout.c:1051
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:1057
+#: builtin/checkout.c:1055
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:1097 builtin/checkout.c:1366
+#: builtin/checkout.c:1095 builtin/checkout.c:1364
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:1179
+#: builtin/checkout.c:1177
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -12613,7 +12870,7 @@ 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:1186
+#: builtin/checkout.c:1184
 msgid ""
 "If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
 "you can do so by fully qualifying the name with the --track option:\n"
@@ -12633,51 +12890,51 @@ msgstr ""
 "ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
 "votre config."
 
-#: builtin/checkout.c:1196
+#: builtin/checkout.c:1194
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "'%s' correspond à plusieurs (%d) branches de suivi à distance"
 
-#: builtin/checkout.c:1262
+#: builtin/checkout.c:1260
 msgid "only one reference expected"
 msgstr "une seule référence attendue"
 
-#: builtin/checkout.c:1279
+#: builtin/checkout.c:1277
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1325 builtin/worktree.c:268 builtin/worktree.c:436
+#: builtin/checkout.c:1323 builtin/worktree.c:269 builtin/worktree.c:437
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1338 builtin/checkout.c:1707
+#: builtin/checkout.c:1336 builtin/checkout.c:1705
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1385
+#: builtin/checkout.c:1383
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "branche attendue, mais étiquette '%s' reçue"
 
-#: builtin/checkout.c:1387
+#: builtin/checkout.c:1385
 #, 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:1388 builtin/checkout.c:1396
+#: builtin/checkout.c:1386 builtin/checkout.c:1394
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "une branche est attendue, mais '%s' a été reçue"
 
-#: builtin/checkout.c:1391
+#: builtin/checkout.c:1389
 #, 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:1407
+#: builtin/checkout.c:1405
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -12685,7 +12942,7 @@ msgstr ""
 "impossible de basculer de branche pendant une fusion\n"
 "Envisagez \"git merge --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1409
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -12693,7 +12950,7 @@ msgstr ""
 "impossible de basculer de branche pendant une session am\n"
 "Envisagez \"git am --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1415
+#: builtin/checkout.c:1413
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -12701,7 +12958,7 @@ msgstr ""
 "impossible de basculer de branche pendant un rebasage\n"
 "Envisagez \"git rebase --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1419
+#: builtin/checkout.c:1417
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -12709,7 +12966,7 @@ msgstr ""
 "impossible de basculer de branche pendant un picorage\n"
 "Envisagez \"git cherry-pick --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1423
+#: builtin/checkout.c:1421
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -12717,139 +12974,139 @@ msgstr ""
 "impossible de basculer de branche pendant un retour\n"
 "Envisagez \"git revert --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1427
+#: builtin/checkout.c:1425
 msgid "you are switching branch while bisecting"
 msgstr "vous basculez de branche en cours de bissection"
 
-#: builtin/checkout.c:1434
+#: builtin/checkout.c:1432
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1437 builtin/checkout.c:1441 builtin/checkout.c:1445
+#: builtin/checkout.c:1435 builtin/checkout.c:1439 builtin/checkout.c:1443
 #, 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:1449 builtin/checkout.c:1452 builtin/checkout.c:1455
-#: builtin/checkout.c:1460 builtin/checkout.c:1465
+#: builtin/checkout.c:1447 builtin/checkout.c:1450 builtin/checkout.c:1453
+#: builtin/checkout.c:1458 builtin/checkout.c:1463
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1462
+#: builtin/checkout.c:1460
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' n'accepte pas <point-de-départ>"
 
-#: builtin/checkout.c:1470
+#: builtin/checkout.c:1468
 #, 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:1477
+#: builtin/checkout.c:1475
 msgid "missing branch or commit argument"
 msgstr "argument de branche ou de commit manquant"
 
-#: builtin/checkout.c:1520
+#: builtin/checkout.c:1518
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1521 builtin/log.c:1810 parse-options.h:323
+#: builtin/checkout.c:1519 builtin/log.c:1810 parse-options.h:322
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1522
+#: builtin/checkout.c:1520
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1534 builtin/worktree.c:488
+#: builtin/checkout.c:1532 builtin/worktree.c:489
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1535
+#: builtin/checkout.c:1533
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1537
+#: builtin/checkout.c:1535
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1539
+#: builtin/checkout.c:1537
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1539
+#: builtin/checkout.c:1537
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1541 builtin/merge.c:301
+#: builtin/checkout.c:1539 builtin/merge.c:302
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1544
+#: builtin/checkout.c:1542
 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:1557
+#: builtin/checkout.c:1555
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1560
+#: builtin/checkout.c:1558
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1564
+#: builtin/checkout.c:1562
 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:1622
+#: builtin/checkout.c:1620
 #, c-format
 msgid "-%c, -%c and --orphan are mutually exclusive"
 msgstr "-%c, -%c et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1626
+#: builtin/checkout.c:1624
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p et --overlay sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1663
+#: builtin/checkout.c:1661
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1668
+#: builtin/checkout.c:1666
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "nom de branche manquant ; essayez -%c"
 
-#: builtin/checkout.c:1700
+#: builtin/checkout.c:1698
 #, c-format
 msgid "could not resolve %s"
 msgstr "impossible de résoudre %s"
 
-#: builtin/checkout.c:1716
+#: builtin/checkout.c:1714
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1723
+#: builtin/checkout.c:1721
 #, 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:1727
+#: builtin/checkout.c:1725
 #, 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:1736
+#: builtin/checkout.c:1734
 msgid "--pathspec-from-file is incompatible with --detach"
 msgstr "--pathspec-from-file est incompatible avec --detach"
 
-#: builtin/checkout.c:1739 builtin/reset.c:325 builtin/stash.c:1630
+#: builtin/checkout.c:1737 builtin/reset.c:331 builtin/stash.c:1647
 msgid "--pathspec-from-file is incompatible with --patch"
 msgstr "--pathspec-from-file est incompatible avec --patch"
 
-#: builtin/checkout.c:1752
+#: builtin/checkout.c:1750
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -12857,72 +13114,72 @@ msgstr ""
 "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n"
 "de l'extraction de l'index."
 
-#: builtin/checkout.c:1757
+#: builtin/checkout.c:1755
 msgid "you must specify path(s) to restore"
 msgstr "vous devez spécifier un ou des chemins à restaurer"
 
-#: builtin/checkout.c:1783 builtin/checkout.c:1785 builtin/checkout.c:1834
-#: builtin/checkout.c:1836 builtin/clone.c:126 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2736
-#: builtin/submodule--helper.c:2887 builtin/worktree.c:484
-#: builtin/worktree.c:486
+#: builtin/checkout.c:1781 builtin/checkout.c:1783 builtin/checkout.c:1832
+#: builtin/checkout.c:1834 builtin/clone.c:126 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2958
+#: builtin/submodule--helper.c:3252 builtin/worktree.c:485
+#: builtin/worktree.c:487
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1784
+#: builtin/checkout.c:1782
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1786
+#: builtin/checkout.c:1784
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1787
+#: builtin/checkout.c:1785
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1789
+#: builtin/checkout.c:1787
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr ""
 "essayer d'interpréter 'git checkout <branche-inexistante>' (par défaut)"
 
-#: builtin/checkout.c:1790
+#: builtin/checkout.c:1788
 msgid "use overlay mode (default)"
 msgstr "utiliser le mode de superposition (défaut)"
 
-#: builtin/checkout.c:1835
+#: builtin/checkout.c:1833
 msgid "create and switch to a new branch"
 msgstr "créer et basculer sur une nouvelle branche"
 
-#: builtin/checkout.c:1837
+#: builtin/checkout.c:1835
 msgid "create/reset and switch to a branch"
 msgstr "créer/réinitialiser et basculer sur une branche"
 
-#: builtin/checkout.c:1839
+#: builtin/checkout.c:1837
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "interpréter 'git switch <branche-inexistante>'"
 
-#: builtin/checkout.c:1841
+#: builtin/checkout.c:1839
 msgid "throw away local modifications"
 msgstr "laisser tomber les modifications locales"
 
-#: builtin/checkout.c:1875
+#: builtin/checkout.c:1873
 msgid "which tree-ish to checkout from"
 msgstr "de quel <arbre-esque> faire l'extraction"
 
-#: builtin/checkout.c:1877
+#: builtin/checkout.c:1875
 msgid "restore the index"
 msgstr "restaurer l'index"
 
-#: builtin/checkout.c:1879
+#: builtin/checkout.c:1877
 msgid "restore the working tree (default)"
 msgstr "restaurer l'arbre de travail (par défaut)"
 
-#: builtin/checkout.c:1881
+#: builtin/checkout.c:1879
 msgid "ignore unmerged entries"
 msgstr "ignorer les entrées non-fusionnées"
 
-#: builtin/checkout.c:1882
+#: builtin/checkout.c:1880
 msgid "use overlay mode"
 msgstr "utiliser le mode de superposition"
 
@@ -13062,8 +13319,8 @@ msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
 #: builtin/clean.c:906 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:923 builtin/log.c:184 builtin/log.c:186
-#: builtin/ls-files.c:650 builtin/name-rev.c:526 builtin/name-rev.c:528
+#: builtin/grep.c:937 builtin/log.c:184 builtin/log.c:186
+#: builtin/ls-files.c:648 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "motif"
@@ -13152,19 +13409,20 @@ msgstr "répertoire-modèle"
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:119 builtin/clone.c:121 builtin/submodule--helper.c:1899
-#: builtin/submodule--helper.c:2353 builtin/submodule--helper.c:2903
+#: builtin/clone.c:119 builtin/clone.c:121 builtin/submodule--helper.c:1870
+#: builtin/submodule--helper.c:2513 builtin/submodule--helper.c:3259
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:123 builtin/submodule--helper.c:1901
-#: builtin/submodule--helper.c:2355 builtin/submodule--helper.c:2905
+#: builtin/clone.c:123 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:2515
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
 #: builtin/clone.c:124 builtin/column.c:27 builtin/init-db.c:550
-#: builtin/merge-file.c:46 builtin/pack-objects.c:3975 builtin/repack.c:495
-#: t/helper/test-simple-ipc.c:696 t/helper/test-simple-ipc.c:698
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3944 builtin/repack.c:663
+#: builtin/submodule--helper.c:3261 t/helper/test-simple-ipc.c:595
+#: t/helper/test-simple-ipc.c:597
 msgid "name"
 msgstr "nom"
 
@@ -13180,7 +13438,7 @@ msgstr "extraire <branche> au lieu de la HEAD du répertoire distant"
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:130 builtin/fetch.c:180 builtin/grep.c:862
+#: builtin/clone.c:130 builtin/fetch.c:180 builtin/grep.c:876
 #: builtin/pull.c:208
 msgid "depth"
 msgstr "profondeur"
@@ -13189,7 +13447,7 @@ msgstr "profondeur"
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:132 builtin/fetch.c:182 builtin/pack-objects.c:3964
+#: builtin/clone.c:132 builtin/fetch.c:182 builtin/pack-objects.c:3933
 #: builtin/pull.c:211
 msgid "time"
 msgstr "heure"
@@ -13199,7 +13457,7 @@ msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
 #: builtin/clone.c:134 builtin/fetch.c:184 builtin/fetch.c:207
-#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1318
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1022
 msgid "revision"
 msgstr "révision"
 
@@ -13208,8 +13466,8 @@ msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
-#: builtin/clone.c:137 builtin/submodule--helper.c:1911
-#: builtin/submodule--helper.c:2369
+#: builtin/clone.c:137 builtin/submodule--helper.c:1882
+#: builtin/submodule--helper.c:2529
 msgid "clone only one branch, HEAD or --branch"
 msgstr "cloner seulement une branche, HEAD ou --branch"
 
@@ -13240,12 +13498,12 @@ msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
 #: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
-#: builtin/pull.c:230 builtin/push.c:575 builtin/send-pack.c:196
+#: builtin/pull.c:230 builtin/push.c:575 builtin/send-pack.c:200
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
 #: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
-#: builtin/pull.c:231 builtin/push.c:575 builtin/send-pack.c:197
+#: builtin/pull.c:231 builtin/push.c:575 builtin/send-pack.c:201
 msgid "option to transmit"
 msgstr "option à transmettre"
 
@@ -13270,50 +13528,42 @@ msgstr ""
 "initialiser le fichier d'extraction clairsemée pour n'inclure que les "
 "fichiers à la racine"
 
-#: builtin/clone.c:292
-msgid ""
-"No directory name could be guessed.\n"
-"Please specify a directory on the command line"
-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:345
+#: builtin/clone.c:231
 #, 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:418
+#: builtin/clone.c:304
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe et n'est pas un répertoire"
 
-#: builtin/clone.c:436
+#: builtin/clone.c:322
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "échec du démarrage un itérateur sur '%s'"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:353
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "échec de la création du lien '%s'"
 
-#: builtin/clone.c:471
+#: builtin/clone.c:357
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "échec de la copie vers '%s'"
 
-#: builtin/clone.c:476
+#: builtin/clone.c:362
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "échec de l'itération sur '%s'"
 
-#: builtin/clone.c:503
+#: builtin/clone.c:389
 #, c-format
 msgid "done.\n"
 msgstr "fait.\n"
 
-#: builtin/clone.c:517
+#: builtin/clone.c:403
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -13323,107 +13573,107 @@ msgstr ""
 "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n"
 "et réessayer avec 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:594
+#: builtin/clone.c:480
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:713
+#: builtin/clone.c:597
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:761
+#: builtin/clone.c:645
 msgid "failed to initialize sparse-checkout"
 msgstr "échec lors de l'initialisation l'extraction clairsemée"
 
-#: builtin/clone.c:784
+#: builtin/clone.c:668
 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:816
+#: builtin/clone.c:701
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:894
+#: builtin/clone.c:779
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:957
+#: builtin/clone.c:842
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:959
+#: builtin/clone.c:844
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de délier le fichier temporaire alternates"
 
-#: builtin/clone.c:1001 builtin/receive-pack.c:2490
+#: builtin/clone.c:886 builtin/receive-pack.c:2493
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:1005
+#: builtin/clone.c:890
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:1018
+#: builtin/clone.c:903
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:1021
+#: builtin/clone.c:906
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:1035
+#: builtin/clone.c:920
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:1039 builtin/fetch.c:2014
+#: builtin/clone.c:924 builtin/fetch.c:2029
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:1049
+#: builtin/clone.c:934
 #, 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:1055
+#: builtin/clone.c:940
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr "le chemin du dépôt '%s' existe déjà et n'est pas un répertoire vide."
 
-#: builtin/clone.c:1069
+#: builtin/clone.c:954
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:1084 builtin/clone.c:1105 builtin/difftool.c:272
-#: builtin/log.c:1997 builtin/worktree.c:280 builtin/worktree.c:312
+#: builtin/clone.c:969 builtin/clone.c:990 builtin/difftool.c:262
+#: builtin/log.c:1997 builtin/worktree.c:281 builtin/worktree.c:313
 #, 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:1089
+#: builtin/clone.c:974
 #, 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:1109
+#: builtin/clone.c:994
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:1111
+#: builtin/clone.c:996
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1135
+#: builtin/clone.c:1025
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -13431,50 +13681,50 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1188 builtin/remote.c:200 builtin/remote.c:705
+#: builtin/clone.c:1080 builtin/remote.c:200 builtin/remote.c:710
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' n'est pas un nom valide de distante"
 
-#: builtin/clone.c:1229
+#: builtin/clone.c:1121
 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:1231
+#: builtin/clone.c:1123
 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:1233
+#: builtin/clone.c:1125
 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:1235
+#: builtin/clone.c:1127
 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:1240
+#: builtin/clone.c:1132
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1245
+#: builtin/clone.c:1137
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1324 builtin/clone.c:1383
+#: builtin/clone.c:1216 builtin/clone.c:1276
 msgid "remote transport reported error"
 msgstr "le transport distant a retourné une erreur"
 
-#: builtin/clone.c:1336 builtin/clone.c:1344
+#: builtin/clone.c:1228 builtin/clone.c:1239
 #, 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:1347
+#: builtin/clone.c:1242
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -13510,13 +13760,13 @@ msgstr "remplissage d'espace entre les colonnes"
 msgid "--command must be the first argument"
 msgstr "--command doit être le premier argument"
 
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:22
+#: builtin/commit-graph.c:13
 msgid ""
 "git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
 msgstr ""
 "git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
 
-#: builtin/commit-graph.c:14 builtin/commit-graph.c:27
+#: builtin/commit-graph.c:16
 msgid ""
 "git commit-graph write [--object-dir <objdir>] [--append] [--"
 "split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
@@ -13526,96 +13776,94 @@ msgstr ""
 "split[=<stratégie>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
 "paths] [--[no-]max-new-filters <n>] [--[no-]progress] <options de division>"
 
-#: builtin/commit-graph.c:64
-#, c-format
-msgid "could not find object directory matching %s"
-msgstr "impossible de trouver le répertoire objet correspondant à %s"
-
-#: builtin/commit-graph.c:80 builtin/commit-graph.c:210
-#: builtin/commit-graph.c:316 builtin/fetch.c:191 builtin/log.c:1779
+#: builtin/commit-graph.c:51 builtin/fetch.c:191 builtin/log.c:1779
 msgid "dir"
 msgstr "répertoire"
 
-#: builtin/commit-graph.c:81 builtin/commit-graph.c:211
-#: builtin/commit-graph.c:317
+#: builtin/commit-graph.c:52
 msgid "the object directory to store the graph"
 msgstr "le répertoire d'objet où stocker le graphe"
 
-#: builtin/commit-graph.c:83
+#: builtin/commit-graph.c:73
 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:106
+#: builtin/commit-graph.c:100
 #, c-format
 msgid "Could not open commit-graph '%s'"
 msgstr "Impossible d'ouvrir le graphe de commit '%s'"
 
-#: builtin/commit-graph.c:142
+#: builtin/commit-graph.c:137
 #, c-format
 msgid "unrecognized --split argument, %s"
 msgstr "argument de --split non reconnu, %s"
 
-#: builtin/commit-graph.c:155
+#: builtin/commit-graph.c:150
 #, c-format
 msgid "unexpected non-hex object ID: %s"
 msgstr "ID d'objet non hexadécimal inattendu : %s"
 
-#: builtin/commit-graph.c:160
+#: builtin/commit-graph.c:155
 #, c-format
 msgid "invalid object: %s"
 msgstr "objet invalide : %s"
 
-#: builtin/commit-graph.c:213
+#: builtin/commit-graph.c:205
 msgid "start walk at all refs"
 msgstr "commencer le parcours à toutes les réfs"
 
-#: builtin/commit-graph.c:215
+#: builtin/commit-graph.c:207
 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:217
+#: builtin/commit-graph.c:209
 msgid "start walk at commits listed by stdin"
 msgstr "commencer le parcours aux commits listés sur stdin"
 
-#: builtin/commit-graph.c:219
+#: builtin/commit-graph.c:211
 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:221
+#: builtin/commit-graph.c:213
 msgid "enable computation for changed paths"
 msgstr "activer le calcul pour les chemins modifiés"
 
-#: builtin/commit-graph.c:224
+#: builtin/commit-graph.c:215
 msgid "allow writing an incremental commit-graph file"
 msgstr "permettre d'écrire un fichier incrémental de graphe de commit"
 
-#: builtin/commit-graph.c:228
+#: builtin/commit-graph.c:219
 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:230
+#: builtin/commit-graph.c:221
 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:232
+#: builtin/commit-graph.c:223
 msgid "only expire files older than a given date-time"
 msgstr "ne faire expirer que les fichiers plus vieux qu'une date-time donnée"
 
-#: builtin/commit-graph.c:234
+#: builtin/commit-graph.c:225
 msgid "maximum number of changed-path Bloom filters to compute"
 msgstr "nombre maximum des filtres Bloom des chemins modifiés à calculer"
 
-#: builtin/commit-graph.c:255
+#: builtin/commit-graph.c:251
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 
-#: builtin/commit-graph.c:287
+#: builtin/commit-graph.c:283
 msgid "Collecting commits from input"
 msgstr "Collecte des commits depuis l'entrée"
 
+#: builtin/commit-graph.c:328 builtin/multi-pack-index.c:255
+#, c-format
+msgid "unrecognized subcommand: %s"
+msgstr "sous-commande non reconnue : %s"
+
 #: builtin/commit-tree.c:18
 msgid ""
 "git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
@@ -13629,70 +13877,65 @@ 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:562
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:562
 #, c-format
 msgid "not a valid object name %s"
 msgstr "nom d'objet invalide %s"
 
-#: builtin/commit-tree.c:93
-#, c-format
-msgid "git commit-tree: failed to open '%s'"
-msgstr "git commit-tree : échec à l'ouverture de '%s'"
-
-#: builtin/commit-tree.c:96
+#: builtin/commit-tree.c:94
 #, c-format
 msgid "git commit-tree: failed to read '%s'"
 msgstr "git commit-tree : échec de la lecture de '%s'"
 
-#: builtin/commit-tree.c:98
+#: builtin/commit-tree.c:96
 #, c-format
 msgid "git commit-tree: failed to close '%s'"
 msgstr "git commit-tree : échec de la fermeture de '%s'"
 
-#: builtin/commit-tree.c:111
+#: builtin/commit-tree.c:109
 msgid "parent"
 msgstr "parent"
 
-#: builtin/commit-tree.c:112
+#: builtin/commit-tree.c:110
 msgid "id of a parent commit object"
 msgstr "id d'un objet commit parent"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1624 builtin/merge.c:282
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1601
-#: builtin/tag.c:456
+#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:283
+#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1618
+#: builtin/tag.c:454
 msgid "message"
 msgstr "message"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1624
+#: builtin/commit-tree.c:113 builtin/commit.c:1626
 msgid "commit message"
 msgstr "message de validation"
 
-#: builtin/commit-tree.c:118
+#: builtin/commit-tree.c:116
 msgid "read commit log message from file"
 msgstr "lire le message de validation depuis un fichier"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1641 builtin/merge.c:299
+#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:300
 #: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
-#: builtin/commit-tree.c:133
+#: builtin/commit-tree.c:131
 msgid "must give exactly one tree"
 msgstr "exactement un arbre obligatoire"
 
-#: builtin/commit-tree.c:140
+#: builtin/commit-tree.c:138
 msgid "git commit-tree: failed to read"
 msgstr "git commit-tree : échec de la lecture"
 
-#: builtin/commit.c:41
+#: builtin/commit.c:42
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<options>] [--] <spécification-de-chemin>..."
 
-#: builtin/commit.c:46
+#: builtin/commit.c:47
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<options>] [--] <spécification-de-chemin>..."
 
-#: builtin/commit.c:51
+#: builtin/commit.c:52
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -13703,7 +13946,7 @@ msgstr ""
 "vide. Vous pouvez répéter votre commande avec --allow-empty, ou vous pouvez\n"
 "supprimer complètement le commit avec \"git reset HEAD^\".\n"
 
-#: builtin/commit.c:56
+#: builtin/commit.c:57
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -13718,15 +13961,15 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:63
+#: builtin/commit.c:64
 msgid "Otherwise, please use 'git rebase --skip'\n"
 msgstr "Sinon, veuillez utiliser 'git rebase --skip'\n"
 
-#: builtin/commit.c:66
+#: builtin/commit.c:67
 msgid "Otherwise, please use 'git cherry-pick --skip'\n"
 msgstr "Sinon, veuillez utiliser 'git cherry-pick --skip'\n"
 
-#: builtin/commit.c:69
+#: builtin/commit.c:70
 msgid ""
 "and then use:\n"
 "\n"
@@ -13748,73 +13991,73 @@ msgstr ""
 "    git cherry-pick --skip\n"
 "\n"
 
-#: builtin/commit.c:324
+#: builtin/commit.c:325
 msgid "failed to unpack HEAD tree object"
 msgstr "échec du dépaquetage de l'objet arbre HEAD"
 
-#: builtin/commit.c:360
+#: builtin/commit.c:361
 msgid "--pathspec-from-file with -a does not make sense"
 msgstr "--pathspec-from-file avec l'option -a n'a pas de sens"
 
-#: builtin/commit.c:374
+#: builtin/commit.c:375
 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:386
+#: builtin/commit.c:387
 msgid "unable to create temporary index"
 msgstr "impossible de créer l'index temporaire"
 
-#: builtin/commit.c:395
+#: builtin/commit.c:396
 msgid "interactive add failed"
 msgstr "échec de l'ajout interactif"
 
-#: builtin/commit.c:410
+#: builtin/commit.c:411
 msgid "unable to update temporary index"
 msgstr "impossible de mettre à jour l'index temporaire"
 
-#: builtin/commit.c:412
+#: builtin/commit.c:413
 msgid "Failed to update main cache tree"
 msgstr "Impossible de mettre à jour l'arbre de cache principal"
 
-#: builtin/commit.c:437 builtin/commit.c:460 builtin/commit.c:508
+#: builtin/commit.c:438 builtin/commit.c:461 builtin/commit.c:509
 msgid "unable to write new_index file"
 msgstr "impossible d'écrire le fichier new_index"
 
-#: builtin/commit.c:489
+#: builtin/commit.c:490
 msgid "cannot do a partial commit during a merge."
 msgstr "impossible de faire une validation partielle pendant une fusion."
 
-#: builtin/commit.c:491
+#: builtin/commit.c:492
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "impossible de faire une validation partielle pendant un picorage."
 
-#: builtin/commit.c:493
+#: builtin/commit.c:494
 msgid "cannot do a partial commit during a rebase."
 msgstr "impossible de faire une validation partielle pendant un rebasage."
 
-#: builtin/commit.c:501
+#: builtin/commit.c:502
 msgid "cannot read the index"
 msgstr "impossible de lire l'index"
 
-#: builtin/commit.c:520
+#: builtin/commit.c:521
 msgid "unable to write temporary index file"
 msgstr "impossible d'écrire le fichier d'index temporaire"
 
-#: builtin/commit.c:618
+#: builtin/commit.c:619
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "entête d'auteur manquant dans le commit '%s'"
 
-#: builtin/commit.c:620
+#: builtin/commit.c:621
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "le commit '%s' a une ligne d'auteur malformée"
 
-#: builtin/commit.c:639
+#: builtin/commit.c:640
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:692
+#: builtin/commit.c:693
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -13822,43 +14065,43 @@ 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:746 builtin/commit.c:780 builtin/commit.c:1165
+#: builtin/commit.c:747 builtin/commit.c:781 builtin/commit.c:1166
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:758 builtin/shortlog.c:413
+#: builtin/commit.c:759 builtin/shortlog.c:416
 #, 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:760
+#: builtin/commit.c:761
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:764
+#: builtin/commit.c:765
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:801
+#: builtin/commit.c:802
 #, c-format
 msgid "cannot combine -m with --fixup:%s"
 msgstr "impossible de combiner -m avec --fixup:%s"
 
-#: builtin/commit.c:813 builtin/commit.c:829
+#: builtin/commit.c:814 builtin/commit.c:830
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:820
+#: builtin/commit.c:821
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:881
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:893
+#: builtin/commit.c:894
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13867,7 +14110,7 @@ msgstr ""
 "Veuillez saisir le message de validation pour vos modifications. Les lignes\n"
 "commençant par '%c' seront ignorées.\n"
 
-#: builtin/commit.c:895
+#: builtin/commit.c:896
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13877,7 +14120,7 @@ msgstr ""
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:899
+#: builtin/commit.c:900
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13888,7 +14131,7 @@ msgstr ""
 "par '%c' seront conservées ; vous pouvez les supprimer vous-même si vous le "
 "souhaitez.\n"
 
-#: builtin/commit.c:903
+#: builtin/commit.c:904
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13899,7 +14142,7 @@ 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:915
+#: builtin/commit.c:916
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
@@ -13913,7 +14156,7 @@ msgstr ""
 "\tgit update-ref -d MERGE_HEAD\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:920
+#: builtin/commit.c:921
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
@@ -13927,73 +14170,73 @@ msgstr ""
 "\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:947
+#: builtin/commit.c:948
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:955
+#: builtin/commit.c:956
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:962
+#: builtin/commit.c:963
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:980
+#: builtin/commit.c:981
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:1025
+#: builtin/commit.c:1026
 msgid "unable to pass trailers to --trailers"
 msgstr "impossible de passer les lignes finales à --trailers"
 
-#: builtin/commit.c:1065
+#: builtin/commit.c:1066
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:1079 builtin/tag.c:319
+#: builtin/commit.c:1080 builtin/tag.c:317
 #, 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:1123
+#: builtin/commit.c:1124
 #, 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:1137
+#: builtin/commit.c:1138
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Mode de fichier ignoré invalide '%s'"
 
-#: builtin/commit.c:1155 builtin/commit.c:1448
+#: builtin/commit.c:1156 builtin/commit.c:1450
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1195
+#: builtin/commit.c:1196
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1226
+#: builtin/commit.c:1227
 msgid "You are in the middle of a merge -- cannot reword."
 msgstr "Vous êtes en pleine fusion -- impossible de reformuler."
 
-#: builtin/commit.c:1228
+#: builtin/commit.c:1229
 msgid "You are in the middle of a cherry-pick -- cannot reword."
 msgstr "Vous êtes en plein picorage -- impossible de reformuler."
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1232
 #, c-format
 msgid "cannot combine reword option of --fixup with path '%s'"
 msgstr "impossible de combiner l'option reword de --fixup avec le chemin '%s'"
 
-#: builtin/commit.c:1233
+#: builtin/commit.c:1234
 msgid ""
 "reword option of --fixup is mutually exclusive with --patch/--interactive/--"
 "all/--include/--only"
@@ -14001,104 +14244,104 @@ msgstr ""
 "l'option reword de --fixup est mutuellement exclusive avec --patch/--"
 "interactive/--all/--include/--only"
 
-#: builtin/commit.c:1252
+#: builtin/commit.c:1253
 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:1261
+#: builtin/commit.c:1260
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1264
+#: builtin/commit.c:1263
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1266
+#: builtin/commit.c:1265
 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:1268
+#: builtin/commit.c:1267
 msgid "You are in the middle of a rebase -- cannot amend."
 msgstr "Vous êtes en plein rebasage -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1271
+#: builtin/commit.c:1270
 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:1281
+#: builtin/commit.c:1280
 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:1283
+#: builtin/commit.c:1282
 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:1292
+#: builtin/commit.c:1291
 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:1310
+#: builtin/commit.c:1309
 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:1338
+#: builtin/commit.c:1337
 #, c-format
 msgid "unknown option: --fixup=%s:%s"
 msgstr "option inconnue : --fixup=%s:%s"
 
-#: builtin/commit.c:1352
+#: builtin/commit.c:1354
 #, 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:1483 builtin/commit.c:1652
+#: builtin/commit.c:1485 builtin/commit.c:1654
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1485 builtin/commit.c:1654
+#: builtin/commit.c:1487 builtin/commit.c:1656
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1489
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1489 builtin/commit.c:1656
+#: builtin/commit.c:1491 builtin/commit.c:1658
 msgid "compute full ahead/behind values"
 msgstr "calcule les valeurs complètes en avance/en retard"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1493
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1491 builtin/commit.c:1658 builtin/push.c:551
-#: builtin/worktree.c:690
+#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
+#: builtin/worktree.c:691
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1494 builtin/commit.c:1660
+#: builtin/commit.c:1496 builtin/commit.c:1662
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1497 builtin/commit.c:1663
+#: builtin/commit.c:1499 builtin/commit.c:1665
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1499 builtin/commit.c:1503 builtin/commit.c:1666
-#: builtin/fast-export.c:1198 builtin/fast-export.c:1201
-#: builtin/fast-export.c:1204 builtin/rebase.c:1407 parse-options.h:337
+#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
+#: builtin/fast-export.c:1199 builtin/fast-export.c:1202
+#: builtin/fast-export.c:1205 builtin/rebase.c:1111 parse-options.h:336
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1500 builtin/commit.c:1666
+#: builtin/commit.c:1502 builtin/commit.c:1668
 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:1504
+#: builtin/commit.c:1506
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -14106,11 +14349,11 @@ msgstr ""
 "afficher les fichiers ignorés, \"mode\" facultatif : traditional "
 "(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1506 parse-options.h:193
+#: builtin/commit.c:1508 parse-options.h:192
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1509
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -14118,198 +14361,198 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1509
+#: builtin/commit.c:1511
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1512
 msgid "do not detect renames"
 msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1512
+#: builtin/commit.c:1514
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 "détecter les renommages, en spécifiant optionnellement le facteur de "
 "similarité"
 
-#: builtin/commit.c:1535
+#: builtin/commit.c:1537
 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:1617
+#: builtin/commit.c:1619
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1618
+#: builtin/commit.c:1620
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1620
+#: builtin/commit.c:1622
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1621 builtin/merge.c:286 builtin/tag.c:458
+#: builtin/commit.c:1623 builtin/merge.c:287 builtin/tag.c:456
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1624
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1624
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1623 builtin/gc.c:550
+#: builtin/commit.c:1625 builtin/gc.c:550
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1625
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1625 builtin/commit.c:1626 builtin/commit.c:1632
-#: parse-options.h:329 ref-filter.h:90
+#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
+#: parse-options.h:328 ref-filter.h:92
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1625
+#: builtin/commit.c:1627
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1626
+#: builtin/commit.c:1628
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
 #. TRANSLATORS: Leave "[(amend|reword):]" as-is,
 #. and only translate <commit>.
 #.
-#: builtin/commit.c:1631
+#: builtin/commit.c:1633
 msgid "[(amend|reword):]commit"
 msgstr "[(amend|reword):]commit"
 
-#: builtin/commit.c:1631
+#: builtin/commit.c:1633
 msgid ""
 "use autosquash formatted message to fixup or amend/reword specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour corriger ou reformuler le "
 "commit spécifié"
 
-#: builtin/commit.c:1632
+#: builtin/commit.c:1634
 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:1633
+#: builtin/commit.c:1635
 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:1634 builtin/interpret-trailers.c:111
+#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr "ligne de fin"
 
-#: builtin/commit.c:1634
+#: builtin/commit.c:1636
 msgid "add custom trailer(s)"
 msgstr "ajouter des lignes terminales personnaliser"
 
-#: builtin/commit.c:1635 builtin/log.c:1754 builtin/merge.c:302
+#: builtin/commit.c:1637 builtin/log.c:1754 builtin/merge.c:303
 #: builtin/pull.c:145 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "ajouter une ligne terminale Signed-off-by"
 
-#: builtin/commit.c:1636
+#: builtin/commit.c:1638
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1637
+#: builtin/commit.c:1639
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1639
+#: builtin/commit.c:1641
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1644
+#: builtin/commit.c:1646
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1645
+#: builtin/commit.c:1647
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1646
+#: builtin/commit.c:1648
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1647
+#: builtin/commit.c:1649
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1648
+#: builtin/commit.c:1650
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1651
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1652
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1651
+#: builtin/commit.c:1653
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1666
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1665
+#: builtin/commit.c:1667
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1672
+#: builtin/commit.c:1674
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1674
+#: builtin/commit.c:1676
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1750
+#: builtin/commit.c:1752
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1757
+#: builtin/commit.c:1759
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1778
+#: builtin/commit.c:1780
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1785
+#: builtin/commit.c:1787
 #, 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:1790
+#: builtin/commit.c:1792
 #, 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:1801
+#: builtin/commit.c:1803
 #, c-format
 msgid "Aborting commit due to empty commit message body.\n"
 msgstr ""
 "Abandon de la validation dû à un corps de message de validation vide.\n"
 
-#: builtin/commit.c:1837
+#: builtin/commit.c:1839
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -14679,7 +14922,7 @@ msgid "credential-cache--daemon unavailable; no unix socket support"
 msgstr ""
 "credential-cache--daemon non disponible ; pas de gestion des sockets unix"
 
-#: builtin/credential-cache.c:154
+#: builtin/credential-cache.c:180
 msgid "credential-cache unavailable; no unix socket support"
 msgstr "credential-cache non disponible ; pas de gestion des socket unix"
 
@@ -14884,7 +15127,7 @@ msgstr "%s..%s: pas de base de fusion"
 msgid "Not a git repository"
 msgstr "Ce n'est pas un dépôt git"
 
-#: builtin/diff.c:532 builtin/grep.c:684
+#: builtin/diff.c:532 builtin/grep.c:698
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objet spécifié '%s' invalide."
@@ -14908,113 +15151,111 @@ msgstr "\"%s...%s\" : bases multiples de fusion, utilisation de %s"
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
 
-#: builtin/difftool.c:261
-#, c-format
-msgid "failed: %d"
-msgstr "échec : %d"
-
-#: builtin/difftool.c:303
+#: builtin/difftool.c:293
 #, c-format
 msgid "could not read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:295
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "impossible de lire le fichier symlink %s"
 
-#: builtin/difftool.c:313
+#: builtin/difftool.c:303
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "impossible de lire l'objet %s pour le symlink %s"
 
-#: builtin/difftool.c:413
+#: builtin/difftool.c:427
 msgid ""
-"combined diff formats('-c' and '--cc') are not supported in\n"
-"directory diff mode('-d' and '--dir-diff')."
+"combined diff formats ('-c' and '--cc') are not supported in\n"
+"directory diff mode ('-d' and '--dir-diff')."
 msgstr ""
 "les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
 "dans le mode de diff de répertoire ('-d' et '--dir-diff')."
 
-#: builtin/difftool.c:637
+#: builtin/difftool.c:632
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:634
 msgid "working tree file has been left."
 msgstr "le fichier dans l'arbre de travail a été laissé."
 
-#: builtin/difftool.c:650
+#: builtin/difftool.c:645
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "des fichiers temporaires existent dans '%s'."
 
-#: builtin/difftool.c:651
+#: builtin/difftool.c:646
 msgid "you may want to cleanup or recover these."
 msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:651
+#, c-format
+msgid "failed: %d"
+msgstr "échec : %d"
+
+#: builtin/difftool.c:696
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
 
-#: builtin/difftool.c:701
+#: builtin/difftool.c:698
 msgid "perform a full-directory diff"
 msgstr "réalise un diff de répertoire complet"
 
-#: builtin/difftool.c:703
+#: builtin/difftool.c:700
 msgid "do not prompt before launching a diff tool"
 msgstr "ne pas confirmer avant de lancer l'outil de diff"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:705
 msgid "use symlinks in dir-diff mode"
 msgstr "utiliser les liens symboliques en mode de diff de répertoire"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:706
 msgid "tool"
 msgstr "outil"
 
-#: builtin/difftool.c:710
+#: builtin/difftool.c:707
 msgid "use the specified diff tool"
 msgstr "utiliser l'outil de diff spécifié"
 
-#: builtin/difftool.c:712
+#: builtin/difftool.c:709
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "afficher une liste des outils de diff utilisables avec `--tool`"
 
-#: builtin/difftool.c:715
+#: builtin/difftool.c:712
 msgid ""
-"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"make 'git-difftool' exit when an invoked diff tool returns a non-zero exit "
 "code"
-msgstr ""
-"provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
-"non-nul"
+msgstr "provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code de sortie non-nul"
 
-#: builtin/difftool.c:718
+#: builtin/difftool.c:715
 msgid "specify a custom command for viewing diffs"
 msgstr "spécifier une commande personnalisée pour visualiser les différences"
 
-#: builtin/difftool.c:719
+#: builtin/difftool.c:716
 msgid "passed to `diff`"
 msgstr "passé à `diff`"
 
-#: builtin/difftool.c:734
+#: builtin/difftool.c:732
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool exige un arbre de travail ou --no-index"
 
-#: builtin/difftool.c:741
+#: builtin/difftool.c:739
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dir-diff est incompatible avec --no-index"
 
-#: builtin/difftool.c:744
+#: builtin/difftool.c:742
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui, --tool et --extcmd sont mutuellement exclusifs"
 
-#: builtin/difftool.c:752
+#: builtin/difftool.c:750
 msgid "no <tool> given for --tool=<tool>"
 msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 
-#: builtin/difftool.c:759
+#: builtin/difftool.c:757
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
@@ -15022,7 +15263,7 @@ msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 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:42 builtin/hash-object.c:98
+#: builtin/env--helper.c:42 builtin/hash-object.c:96
 msgid "type"
 msgstr "type"
 
@@ -15055,102 +15296,102 @@ msgstr ""
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
 
-#: builtin/fast-export.c:868
+#: builtin/fast-export.c:869
 msgid "Error: Cannot export nested tags unless --mark-tags is specified."
 msgstr ""
 "Erreur : impossible d'exporter des étiquettes imbriquées à moins que --mark-"
 "tags ne soit spécifié."
 
-#: builtin/fast-export.c:1177
+#: builtin/fast-export.c:1178
 msgid "--anonymize-map token cannot be empty"
 msgstr "le jeton --anonymize-map ne peut pas être vide"
 
-#: builtin/fast-export.c:1197
+#: builtin/fast-export.c:1198
 msgid "show progress after <n> objects"
 msgstr "afficher la progression après <n> objets"
 
-#: builtin/fast-export.c:1199
+#: builtin/fast-export.c:1200
 msgid "select handling of signed tags"
 msgstr "sélectionner la gestion des étiquettes signées"
 
-#: builtin/fast-export.c:1202
+#: builtin/fast-export.c:1203
 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:1205
+#: builtin/fast-export.c:1206
 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:1208
+#: builtin/fast-export.c:1209
 msgid "dump marks to this file"
 msgstr "enregistrer les marques dans ce fichier"
 
-#: builtin/fast-export.c:1210
+#: builtin/fast-export.c:1211
 msgid "import marks from this file"
 msgstr "importer les marques depuis ce fichier"
 
-#: builtin/fast-export.c:1214
+#: builtin/fast-export.c:1215
 msgid "import marks from this file if it exists"
 msgstr "importer les marques depuis ce fichier s'il existe"
 
-#: builtin/fast-export.c:1216
+#: builtin/fast-export.c:1217
 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:1218
+#: builtin/fast-export.c:1219
 msgid "output full tree for each commit"
 msgstr "afficher l'arbre complet pour chaque commit"
 
-#: builtin/fast-export.c:1220
+#: builtin/fast-export.c:1221
 msgid "use the done feature to terminate the stream"
 msgstr "utiliser la fonction \"done\" pour terminer le flux"
 
-#: builtin/fast-export.c:1221
+#: builtin/fast-export.c:1222
 msgid "skip output of blob data"
 msgstr "sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1222 builtin/log.c:1826
+#: builtin/fast-export.c:1223 builtin/log.c:1826
 msgid "refspec"
 msgstr "spécificateur de référence"
 
-#: builtin/fast-export.c:1223
+#: builtin/fast-export.c:1224
 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:1224
+#: builtin/fast-export.c:1225
 msgid "anonymize output"
 msgstr "anonymise la sortie"
 
-#: builtin/fast-export.c:1225
+#: builtin/fast-export.c:1226
 msgid "from:to"
 msgstr "depuis:vers"
 
-#: builtin/fast-export.c:1226
+#: builtin/fast-export.c:1227
 msgid "convert <from> to <to> in anonymized output"
 msgstr "convertit <depuis> en <vers> dans la sortie anonymisée"
 
-#: builtin/fast-export.c:1229
+#: builtin/fast-export.c:1230
 msgid "reference parents which are not in fast-export stream by object id"
 msgstr ""
 "référencer les parents qui ne sont pas dans le flux d'export rapide par id "
 "d'objet"
 
-#: builtin/fast-export.c:1231
+#: builtin/fast-export.c:1232
 msgid "show original object ids of blobs/commits"
 msgstr "afficher les ids d'objet originaux des blobs/commits"
 
-#: builtin/fast-export.c:1233
+#: builtin/fast-export.c:1234
 msgid "label tags with mark ids"
 msgstr "marquer les étiquettes avec des ids de marque"
 
-#: builtin/fast-export.c:1256
+#: builtin/fast-export.c:1257
 msgid "--anonymize-map without --anonymize does not make sense"
 msgstr "--anonymize-map n'a aucune signification sans --anonymize"
 
-#: builtin/fast-export.c:1271
+#: builtin/fast-export.c:1272
 msgid "Cannot pass both --import-marks and --import-marks-if-exists"
 msgstr ""
 "Impossible d'utiliser à la fois --import-marks et --import-marks-if-exists"
@@ -15359,63 +15600,63 @@ msgstr "lire les spécificateurs de référence depuis l'entrée standard"
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:757
+#: builtin/fetch.c:760
 #, 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:856
+#: builtin/fetch.c:862
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:860
+#: builtin/fetch.c:866
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:873 builtin/fetch.c:889 builtin/fetch.c:961
+#: builtin/fetch.c:879 builtin/fetch.c:895 builtin/fetch.c:967
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:874
+#: builtin/fetch.c:880
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:884
+#: builtin/fetch.c:890
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:885 builtin/fetch.c:922 builtin/fetch.c:944
-#: builtin/fetch.c:956
+#: builtin/fetch.c:891 builtin/fetch.c:928 builtin/fetch.c:950
+#: builtin/fetch.c:962
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:889
+#: builtin/fetch.c:895
 msgid "would clobber existing tag"
 msgstr "écraserait l'étiquette existante"
 
-#: builtin/fetch.c:911
+#: builtin/fetch.c:917
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:914
+#: builtin/fetch.c:920
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:917
+#: builtin/fetch.c:923
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:956
+#: builtin/fetch.c:962
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:961
+#: builtin/fetch.c:967
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:1065
+#: builtin/fetch.c:1070
 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"
@@ -15425,7 +15666,7 @@ msgstr ""
 "mais ceci a été désactivé. Pour ré-activer, utilisez le drapeau\n"
 "'--show-forced-updates' ou lancez 'git config fetch.showForcedUpdates true'."
 
-#: builtin/fetch.c:1069
+#: builtin/fetch.c:1074
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -15437,24 +15678,24 @@ msgstr ""
 "Vous pouvez utiliser '--no-show-forced-updates' ou lancer\n"
 "'git config fetch.showForcedUpdates false' pour éviter ceci.\n"
 
-#: builtin/fetch.c:1101
+#: builtin/fetch.c:1105
 #, 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:1129
+#: builtin/fetch.c:1134
 #, c-format
 msgid "rejected %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s rejeté parce que les  mises à jour de racines superficielles ne sont pas "
 "permises"
 
-#: builtin/fetch.c:1206 builtin/fetch.c:1357
+#: builtin/fetch.c:1223 builtin/fetch.c:1371
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:1228
+#: builtin/fetch.c:1244
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -15463,56 +15704,61 @@ 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:1327
+#: builtin/fetch.c:1341
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:1328
+#: builtin/fetch.c:1342
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:1360
+#: builtin/fetch.c:1374
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:1361 builtin/remote.c:1118
+#: builtin/fetch.c:1375 builtin/remote.c:1128
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:1384
+#: builtin/fetch.c:1398
 #, 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:1403
+#: builtin/fetch.c:1417
 #, 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:1406
+#: builtin/fetch.c:1420
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1618
+#: builtin/fetch.c:1447
+#, c-format
+msgid "the object %s does not exist"
+msgstr "l'objet %s n'existe pas"
+
+#: builtin/fetch.c:1633
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "branches multiples détectées, imcompatible avec --set-upstream"
 
-#: builtin/fetch.c:1633
+#: builtin/fetch.c:1648
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "dépôt amont non défini pour la branche de suivi à distance"
 
-#: builtin/fetch.c:1635
+#: builtin/fetch.c:1650
 msgid "not setting upstream for a remote tag"
 msgstr "dépôt amont non défini pour l'étiquette distante"
 
-#: builtin/fetch.c:1637
+#: builtin/fetch.c:1652
 msgid "unknown branch type"
 msgstr "type de branche inconnu"
 
-#: builtin/fetch.c:1639
+#: builtin/fetch.c:1654
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -15520,22 +15766,22 @@ msgstr ""
 "aucune branche source trouvée.\n"
 "Vous devez spécifier exactement une branche avec l'option --set-upstream."
 
-#: builtin/fetch.c:1768 builtin/fetch.c:1831
+#: builtin/fetch.c:1783 builtin/fetch.c:1846
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1778 builtin/fetch.c:1833 builtin/remote.c:101
+#: builtin/fetch.c:1793 builtin/fetch.c:1848 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1790
+#: builtin/fetch.c:1805
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "impossible de récupérer '%s' (code de sortie : %d)\n"
 
-#: builtin/fetch.c:1894
+#: builtin/fetch.c:1909
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -15543,58 +15789,58 @@ 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:1930
+#: builtin/fetch.c:1945
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1994
+#: builtin/fetch.c:2009
 msgid "--negotiate-only needs one or more --negotiate-tip=*"
 msgstr "--negotiate-only nécessite au moins un --negotiate-tip=*"
 
-#: builtin/fetch.c:1998
+#: builtin/fetch.c:2013
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:2000
+#: builtin/fetch.c:2015
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:2005
+#: builtin/fetch.c:2020
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:2007
+#: builtin/fetch.c:2022
 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:2024
+#: builtin/fetch.c:2039
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:2026
+#: builtin/fetch.c:2041
 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:2035
+#: builtin/fetch.c:2050
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:2042
+#: builtin/fetch.c:2057
 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:2058
+#: builtin/fetch.c:2073
 msgid "must supply remote when using --negotiate-only"
 msgstr "le distant doit être fourni lors de l'utilisation de --negotiate-only"
 
-#: builtin/fetch.c:2063
+#: builtin/fetch.c:2078
 msgid "Protocol does not support --negotiate-only, exiting."
 msgstr "Le protocole ne prend pas en charge --negotiate-only, abandon."
 
-#: builtin/fetch.c:2082
+#: builtin/fetch.c:2097
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -15602,11 +15848,11 @@ msgstr ""
 "--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
 "extensions.partialclone"
 
-#: builtin/fetch.c:2086
+#: builtin/fetch.c:2101
 msgid "--atomic can only be used when fetching from one remote"
 msgstr "--atomic ne peut être utilisée qu'en récupérant depuis un seul distant"
 
-#: builtin/fetch.c:2090
+#: builtin/fetch.c:2105
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin ne peut être utilisée qu'en récupérant depuis un seul distant"
 
@@ -15672,7 +15918,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:41 builtin/tag.c:483
+#: builtin/for-each-ref.c:41 builtin/tag.c:481
 msgid "respect format colors"
 msgstr "respecter les couleurs de formatage"
 
@@ -15828,130 +16074,140 @@ msgstr "l'objet %s n'est pas un commit"
 msgid "notice: No default references"
 msgstr "note : pas de référence par défaut"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:621
+#, c-format
+msgid "%s: hash-path mismatch, found at: %s"
+msgstr "%s : incohérence de hachage,trouvé à : %s"
+
+#: builtin/fsck.c:624
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s : objet corrompu ou manquant : %s"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:628
+#, c-format
+msgid "%s: object is of unknown type '%s': %s"
+msgstr "%s : l'objet a un type '%s' inconnu : %s"
+
+#: builtin/fsck.c:644
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s : impossible d'analyser : %s"
 
-#: builtin/fsck.c:639
+#: builtin/fsck.c:664
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "mauvais fichier de sha1 : %s"
 
-#: builtin/fsck.c:654
+#: builtin/fsck.c:685
 msgid "Checking object directory"
 msgstr "Vérification du répertoire d'objet"
 
-#: builtin/fsck.c:657
+#: builtin/fsck.c:688
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:704
 #, c-format
 msgid "Checking %s link"
 msgstr "Vérification du lien %s"
 
-#: builtin/fsck.c:677 builtin/index-pack.c:864
+#: builtin/fsck.c:709 builtin/index-pack.c:859
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/fsck.c:684
+#: builtin/fsck.c:716
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s pointe sur quelque chose bizarre (%s)"
 
-#: builtin/fsck.c:690
+#: builtin/fsck.c:722
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s : la HEAD détachée ne pointe sur rien"
 
-#: builtin/fsck.c:694
+#: builtin/fsck.c:726
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "note : %s pointe sur une branche non-née (%s)"
 
-#: builtin/fsck.c:706
+#: builtin/fsck.c:738
 msgid "Checking cache tree"
 msgstr "Vérification de l'arbre cache"
 
-#: builtin/fsck.c:711
+#: builtin/fsck.c:743
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s : pointer sha1 invalide dans l'arbre de cache"
 
-#: builtin/fsck.c:720
+#: builtin/fsck.c:752
 msgid "non-tree in cache-tree"
 msgstr "non-arbre dans l'arbre de cache"
 
-#: builtin/fsck.c:751
+#: builtin/fsck.c:783
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:757
+#: builtin/fsck.c:789
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:758
+#: builtin/fsck.c:790
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:759
+#: builtin/fsck.c:791
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:760
+#: builtin/fsck.c:792
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:761
+#: builtin/fsck.c:793
 msgid "make index objects head nodes"
 msgstr "considérer les objets de l'index comme nœuds tête"
 
 # translated from man page
-#: builtin/fsck.c:762
+#: builtin/fsck.c:794
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:763
+#: builtin/fsck.c:795
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:764
+#: builtin/fsck.c:796
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:765 builtin/mktag.c:75
+#: builtin/fsck.c:797 builtin/mktag.c:76
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:767
+#: builtin/fsck.c:799
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:768 builtin/prune.c:134
+#: builtin/fsck.c:800 builtin/prune.c:134
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:769
+#: builtin/fsck.c:801
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:828 builtin/index-pack.c:262
+#: builtin/fsck.c:860 builtin/index-pack.c:261
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
-#: builtin/fsck.c:856
+#: builtin/fsck.c:888
 #, c-format
 msgid "%s: object missing"
 msgstr "%s : objet manquant"
 
-#: builtin/fsck.c:867
+#: builtin/fsck.c:899
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "paramètre invalide : sha-1 attendu, '%s' trouvé"
@@ -15975,7 +16231,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:496 builtin/notes.c:240 builtin/tag.c:573
+#: builtin/gc.c:496 builtin/notes.c:238 builtin/tag.c:574
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
@@ -15984,15 +16240,14 @@ msgstr "impossible de lire '%s'"
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
-"and remove %s.\n"
+"and remove %s\n"
 "Automatic cleanup will not be performed until the file is removed.\n"
 "\n"
 "%s"
 msgstr ""
 "Le dernier lancement de gc a rapporté l'erreur suivante. Veuillez corriger\n"
-"la cause et supprimer %s.\n"
-"Le nettoyage automatique n'aura pas lieu jusqu'à ce que le fichier soit "
-"supprimé.\n"
+"la cause et supprimer %s\n"
+"Le nettoyage automatique n'aura pas lieu jusqu'à ce que le fichier soit supprimé.\n"
 "\n"
 "%s"
 
@@ -16075,154 +16330,194 @@ msgstr "--no-schedule n'est pas accepté"
 msgid "unrecognized --schedule argument '%s'"
 msgstr "argument de --schedule non reconnu, '%s'"
 
-#: builtin/gc.c:869
+#: builtin/gc.c:868
 msgid "failed to write commit-graph"
 msgstr "échec de l'écriture du graphe de commits"
 
-#: builtin/gc.c:905
+#: builtin/gc.c:904
 msgid "failed to prefetch remotes"
 msgstr "échec de la pré-récupération des distants"
 
-#: builtin/gc.c:1022
+#: builtin/gc.c:1020
 msgid "failed to start 'git pack-objects' process"
 msgstr "impossible de démarrer le processus 'git pack-objects'"
 
-#: builtin/gc.c:1039
+#: builtin/gc.c:1037
 msgid "failed to finish 'git pack-objects' process"
 msgstr "impossible de finir le processus 'git pack-objects'"
 
-#: builtin/gc.c:1091
+#: builtin/gc.c:1089
 msgid "failed to write multi-pack-index"
 msgstr "échec de l'écriture de l'index de multi-paquet"
 
-#: builtin/gc.c:1109
+#: builtin/gc.c:1105
 msgid "'git multi-pack-index expire' failed"
 msgstr "échec de 'git multi-pack-index expire'"
 
-#: builtin/gc.c:1170
+#: builtin/gc.c:1164
 msgid "'git multi-pack-index repack' failed"
 msgstr "échec de 'git multi-pack-index repack'"
 
-#: builtin/gc.c:1179
+#: builtin/gc.c:1173
 msgid ""
 "skipping incremental-repack task because core.multiPackIndex is disabled"
 msgstr ""
 "tâche incremental-repack ignorée parce que core.multiPackIndex est désactivé"
 
-#: builtin/gc.c:1283
+#: builtin/gc.c:1277
 #, c-format
 msgid "lock file '%s' exists, skipping maintenance"
 msgstr "le fichier verrou '%s' existe, pas de maintenance"
 
-#: builtin/gc.c:1313
+#: builtin/gc.c:1307
 #, c-format
 msgid "task '%s' failed"
 msgstr "échec de la tâche '%s'"
 
-#: builtin/gc.c:1395
+#: builtin/gc.c:1389
 #, c-format
 msgid "'%s' is not a valid task"
 msgstr "'%s' n'est pas une tâche valide"
 
-#: builtin/gc.c:1400
+#: builtin/gc.c:1394
 #, c-format
 msgid "task '%s' cannot be selected multiple times"
 msgstr "la tâche '%s' ne peut pas être sélectionnée plusieurs fois"
 
-#: builtin/gc.c:1415
+#: builtin/gc.c:1409
 msgid "run tasks based on the state of the repository"
 msgstr "lancer les tâches selon l'état du dépôt"
 
-#: builtin/gc.c:1416
+#: builtin/gc.c:1410
 msgid "frequency"
 msgstr "fréquence"
 
-#: builtin/gc.c:1417
+#: builtin/gc.c:1411
 msgid "run tasks based on frequency"
 msgstr "lancer les tâches selon une fréquence"
 
-#: builtin/gc.c:1420
+#: builtin/gc.c:1414
 msgid "do not report progress or other information over stderr"
 msgstr "ne pas afficher le progrès ou d'autres informations sur stderr"
 
-#: builtin/gc.c:1421
+#: builtin/gc.c:1415
 msgid "task"
 msgstr "tâche"
 
-#: builtin/gc.c:1422
+#: builtin/gc.c:1416
 msgid "run a specific task"
 msgstr "lancer une tâche spécifique"
 
-#: builtin/gc.c:1439
+#: builtin/gc.c:1433
 msgid "use at most one of --auto and --schedule=<frequency>"
 msgstr "--auto et --schedule=<fréquence> sont mutuellement exclusifs"
 
-#: builtin/gc.c:1482
+#: builtin/gc.c:1476
 msgid "failed to run 'git config'"
 msgstr "échec du lancement de 'git config'"
 
-#: builtin/gc.c:1547
+#: builtin/gc.c:1628
 #, c-format
 msgid "failed to expand path '%s'"
 msgstr "impossible d'étendre le chemin '%s'"
 
-#: builtin/gc.c:1576
+#: builtin/gc.c:1655 builtin/gc.c:1693
 msgid "failed to start launchctl"
 msgstr "échec de démarrage de launchctl"
 
-#: builtin/gc.c:1613
+#: builtin/gc.c:1768 builtin/gc.c:2221
 #, c-format
 msgid "failed to create directories for '%s'"
 msgstr "échec de la création des répertoires pour '%s'"
 
-#: builtin/gc.c:1674
+#: builtin/gc.c:1795
 #, c-format
 msgid "failed to bootstrap service %s"
 msgstr "échec de l'amorçage du service %s"
 
-#: builtin/gc.c:1745
+#: builtin/gc.c:1888
 msgid "failed to create temp xml file"
 msgstr "échec de création du fichier temporaire xml"
 
-#: builtin/gc.c:1835
+#: builtin/gc.c:1978
 msgid "failed to start schtasks"
 msgstr "échec du démarrage de schtasks"
 
-#: builtin/gc.c:1879
+#: builtin/gc.c:2047
 msgid "failed to run 'crontab -l'; your system might not support 'cron'"
 msgstr ""
 "echec du lancement de 'crontab -l' ; votre système n'a pas l'air de fournir "
 "'cron'"
 
-#: builtin/gc.c:1896
+#: builtin/gc.c:2064
 msgid "failed to run 'crontab'; your system might not support 'cron'"
 msgstr ""
 "echec du lancement de 'crontab' ; votre système n'a pas l'air de fournir "
 "'cron'"
 
-#: builtin/gc.c:1900
+#: builtin/gc.c:2068
 msgid "failed to open stdin of 'crontab'"
 msgstr "échec à l'ouverture de stdin de 'crontab'"
 
-#: builtin/gc.c:1942
+#: builtin/gc.c:2110
 msgid "'crontab' died"
 msgstr "'crontab' est mort"
 
-#: builtin/gc.c:1976
+#: builtin/gc.c:2175
+msgid "failed to start systemctl"
+msgstr "échec du démarrage de systemctl"
+
+#: builtin/gc.c:2185
+msgid "failed to run systemctl"
+msgstr "échec pour lancer systemctl"
+
+#: builtin/gc.c:2194 builtin/gc.c:2199 builtin/worktree.c:62
+#: builtin/worktree.c:945
+#, c-format
+msgid "failed to delete '%s'"
+msgstr "échec de la suppression de '%s'"
+
+#: builtin/gc.c:2379
+#, c-format
+msgid "unrecognized --scheduler argument '%s'"
+msgstr "argument '%s' de --scheduler non reconnu"
+
+#: builtin/gc.c:2404
+msgid "neither systemd timers nor crontab are available"
+msgstr "ni les minuteurs systemd ni crontab ne sont disponibles"
+
+#: builtin/gc.c:2419
+#, c-format
+msgid "%s scheduler is not available"
+msgstr "le planificateur %s n'est pas disponible"
+
+#: builtin/gc.c:2433
 msgid "another process is scheduling background maintenance"
 msgstr ""
 "un autre processus est en train de programmer une maintenance en tâche de "
 "fond"
 
-#: builtin/gc.c:2000
+#: builtin/gc.c:2455
+msgid "git maintenance start [--scheduler=<scheduler>]"
+msgstr "git maintenance start [--scheduler=<planificateur>]"
+
+#: builtin/gc.c:2464
+msgid "scheduler"
+msgstr "planificateur"
+
+#: builtin/gc.c:2465
+msgid "scheduler to trigger git maintenance run"
+msgstr "planificateur qui lancera les maintenances git"
+
+#: builtin/gc.c:2479
 msgid "failed to add repo to global config"
 msgstr "échec de l'ajout du dépôt à la config globale"
 
-#: builtin/gc.c:2010
+#: builtin/gc.c:2488
 msgid "git maintenance <subcommand> [<options>]"
 msgstr "git maintenance <subcommand> [<options>]"
 
-#: builtin/gc.c:2029
+#: builtin/gc.c:2507
 #, c-format
 msgid "invalid subcommand: %s"
 msgstr "sous-commande invalide : %s"
@@ -16231,12 +16526,12 @@ msgstr "sous-commande invalide : %s"
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
-#: builtin/grep.c:223
+#: builtin/grep.c:239
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep : échec de création du fil: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:293
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "nombre de fils spécifié invalide (%d) pour %s"
@@ -16245,270 +16540,270 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:285 builtin/index-pack.c:1588 builtin/index-pack.c:1791
-#: builtin/pack-objects.c:3129
+#: builtin/grep.c:301 builtin/index-pack.c:1582 builtin/index-pack.c:1785
+#: builtin/pack-objects.c:3142
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/grep.c:473 builtin/grep.c:603 builtin/grep.c:643
+#: builtin/grep.c:488 builtin/grep.c:617 builtin/grep.c:657
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:672
 #, 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:738
+#: builtin/grep.c:752
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend une valeur numérique"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:851
 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:839
+#: builtin/grep.c:853
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:855
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:857
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:845
+#: builtin/grep.c:859
 msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:848
+#: builtin/grep.c:862
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:864
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:852
+#: builtin/grep.c:866
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:854
+#: builtin/grep.c:868
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:870
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:859
+#: builtin/grep.c:873
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:861
+#: builtin/grep.c:875
 msgid "search in subdirectories (default)"
 msgstr "rechercher dans les sous-répertoires (défaut)"
 
-#: builtin/grep.c:863
+#: builtin/grep.c:877
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:867
+#: builtin/grep.c:881
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:884
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:873
+#: builtin/grep.c:887
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:890
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:893
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:894
 msgid "show column number of first match"
 msgstr "afficher le numéro de colonne de la première correspondance"
 
-#: builtin/grep.c:881
+#: builtin/grep.c:895
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:882
+#: builtin/grep.c:896
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:884
+#: builtin/grep.c:898
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:886
+#: builtin/grep.c:900
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:902
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:891
+#: builtin/grep.c:905
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:893
+#: builtin/grep.c:907
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:910
 msgid "show only matching parts of a line"
 msgstr "n'afficher que les parties correspondantes d'une ligne"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:912
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:899
+#: builtin/grep.c:913
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:901
+#: builtin/grep.c:915
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:903
+#: builtin/grep.c:917
 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:906
+#: builtin/grep.c:920
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:909
+#: builtin/grep.c:923
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:911
+#: builtin/grep.c:925
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:913
+#: builtin/grep.c:927
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:914
+#: builtin/grep.c:928
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:917
+#: builtin/grep.c:931
 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:919
+#: builtin/grep.c:933
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:936
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:924
+#: builtin/grep.c:938
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:926
+#: builtin/grep.c:940
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:938
+#: builtin/grep.c:952
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:940
+#: builtin/grep.c:954
 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:943
+#: builtin/grep.c:957
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:943
+#: builtin/grep.c:957
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:947
+#: builtin/grep.c:961
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:1013
+#: builtin/grep.c:1027
 msgid "no pattern given"
 msgstr "aucun motif fourni"
 
-#: builtin/grep.c:1049
+#: builtin/grep.c:1063
 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:1057
+#: builtin/grep.c:1071
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "impossible de résoudre la révision : %s"
 
-#: builtin/grep.c:1087
+#: builtin/grep.c:1101
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "--untracked non supportée avec --recurse-submodules"
 
-#: builtin/grep.c:1091
+#: builtin/grep.c:1105
 msgid "invalid option combination, ignoring --threads"
 msgstr "option de combinaison invalide, ignore --threads"
 
-#: builtin/grep.c:1094 builtin/pack-objects.c:4090
+#: builtin/grep.c:1108 builtin/pack-objects.c:4059
 msgid "no threads support, ignoring --threads"
 msgstr "pas de support des fils, ignore --threads"
 
-#: builtin/grep.c:1097 builtin/index-pack.c:1585 builtin/pack-objects.c:3126
+#: builtin/grep.c:1111 builtin/index-pack.c:1579 builtin/pack-objects.c:3139
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1131
+#: builtin/grep.c:1145
 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:1157
+#: builtin/grep.c:1171
 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:1160
+#: builtin/grep.c:1174
 msgid "--untracked cannot be used with --cached"
 msgstr "--untracked ne peut pas être utilisé avec --cached"
 
-#: builtin/grep.c:1166
+#: builtin/grep.c:1180
 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:1174
+#: builtin/grep.c:1188
 msgid "both --cached and trees are given"
 msgstr "--cached et des arbres sont fournis en même temps"
 
-#: builtin/hash-object.c:85
+#: builtin/hash-object.c:83
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -16516,97 +16811,109 @@ msgstr ""
 "git hash-object [-t <type>] [-w] [--path=<fichier> | --no-filters] [--stdin] "
 "[--] <fichier>..."
 
-#: builtin/hash-object.c:86
+#: builtin/hash-object.c:84
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:96
 msgid "object type"
 msgstr "type d'objet"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:97
 msgid "write the object into the object database"
 msgstr "écrire l'objet dans la base de donnée d'objets"
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:99
 msgid "read the object from stdin"
 msgstr "lire l'objet depuis l'entrée standard"
 
-#: builtin/hash-object.c:103
+#: builtin/hash-object.c:101
 msgid "store file as is without filters"
 msgstr "stocker le fichier tel quel sans filtrage"
 
-#: builtin/hash-object.c:104
+#: builtin/hash-object.c:102
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr ""
 "juste hasher n'importe quel contenu pour créer des objets corrompus pour "
 "debugger Git"
 
-#: builtin/hash-object.c:105
+#: builtin/hash-object.c:103
 msgid "process file as it were from this path"
 msgstr "traiter le fichier comme s'il venait de ce chemin"
 
-#: builtin/help.c:47
+#: builtin/help.c:55
 msgid "print all available commands"
 msgstr "afficher toutes les commandes disponibles"
 
-#: builtin/help.c:48
+#: builtin/help.c:57
 msgid "exclude guides"
 msgstr "exclure les guides"
 
-#: builtin/help.c:49
-msgid "print list of useful guides"
-msgstr "afficher une liste de guides utiles"
-
-#: builtin/help.c:50
-msgid "print all configuration variable names"
-msgstr "afficher tous les noms de variables de configuration"
-
-#: builtin/help.c:52
+#: builtin/help.c:58
 msgid "show man page"
 msgstr "afficher la page de manuel"
 
-#: builtin/help.c:53
+#: builtin/help.c:59
 msgid "show manual in web browser"
 msgstr "afficher le manuel dans un navigateur web"
 
-#: builtin/help.c:55
+#: builtin/help.c:61
 msgid "show info page"
 msgstr "afficher la page info"
 
-#: builtin/help.c:57
+#: builtin/help.c:63
 msgid "print command description"
 msgstr "afficher la description de la commande"
 
-#: builtin/help.c:62
-msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
-msgstr "git help [--all] [--guides] [--man | --web | --info] [<commande>]"
+#: builtin/help.c:65
+msgid "print list of useful guides"
+msgstr "afficher une liste de guides utiles"
+
+#: builtin/help.c:67
+msgid "print all configuration variable names"
+msgstr "afficher tous les noms de variables de configuration"
+
+#: builtin/help.c:78
+msgid ""
+"git help [-a|--all] [--[no-]verbose]]\n"
+"         [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
+msgstr ""
+"git help [-a|--all] [--[no-]verbose]]\n"
+"         [[-i|--info] [-m|--man] [-w|--web]] [<commande>]"
 
-#: builtin/help.c:163
+#: builtin/help.c:80
+msgid "git help [-g|--guides]"
+msgstr "git help [-g|--guides]"
+
+#: builtin/help.c:81
+msgid "git help [-c|--config]"
+msgstr "git help [-c|--config]"
+
+#: builtin/help.c:196
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "format d'aide non reconnu '%s'"
 
-#: builtin/help.c:190
+#: builtin/help.c:223
 msgid "Failed to start emacsclient."
 msgstr "Échec de démarrage d'emacsclient."
 
-#: builtin/help.c:203
+#: builtin/help.c:236
 msgid "Failed to parse emacsclient version."
 msgstr "Échec d'analyse de la version d'emacsclient."
 
-#: builtin/help.c:211
+#: builtin/help.c:244
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "la version d'emacsclient '%d' est trop ancienne (<22)."
 
-#: builtin/help.c:229 builtin/help.c:251 builtin/help.c:261 builtin/help.c:269
+#: builtin/help.c:262 builtin/help.c:284 builtin/help.c:294 builtin/help.c:302
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "échec de l'exécution de '%s'"
 
-#: builtin/help.c:307
+#: builtin/help.c:340
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -16615,7 +16922,7 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel non supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:319
+#: builtin/help.c:352
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -16624,332 +16931,323 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:436
+#: builtin/help.c:467
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s' : visualiseur de manuel inconnu."
 
-#: builtin/help.c:452
+#: builtin/help.c:483
 msgid "no man viewer handled the request"
 msgstr "aucun visualiseur de manuel n'a pris en charge la demande"
 
-#: builtin/help.c:459
+#: builtin/help.c:490
 msgid "no info viewer handled the request"
 msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
 
-#: builtin/help.c:517 builtin/help.c:528 git.c:348
+#: builtin/help.c:551 builtin/help.c:562 git.c:348
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' est un alias de '%s'"
 
-#: builtin/help.c:531 git.c:380
+#: builtin/help.c:565 git.c:380
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "mauvais chaîne alias.%s : %s"
 
-#: builtin/help.c:561 builtin/help.c:591
+#: builtin/help.c:581
+msgid "this option doesn't take any other arguments"
+msgstr "Cette option n'accepte pas d'autre argument"
+
+#: builtin/help.c:602 builtin/help.c:629
 #, c-format
 msgid "usage: %s%s"
 msgstr "usage : %s%s"
 
-#: builtin/help.c:575
+#: builtin/help.c:624
 msgid "'git help config' for more information"
 msgstr "'git help config' pour plus d'information"
 
-#: builtin/index-pack.c:222
+#: builtin/index-pack.c:221
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "type d'objet non correspondant à %s"
 
-#: builtin/index-pack.c:242
+#: builtin/index-pack.c:241
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "objet attendu non reçu %s"
 
-#: builtin/index-pack.c:245
+#: builtin/index-pack.c:244
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "objet %s : type attendu %s, reçu %s"
 
-#: builtin/index-pack.c:295
+#: builtin/index-pack.c:294
 #, 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:305
+#: builtin/index-pack.c:304
 msgid "early EOF"
 msgstr "fin de fichier prématurée"
 
-#: builtin/index-pack.c:306
+#: builtin/index-pack.c:305
 msgid "read error on input"
 msgstr "erreur de lecture sur l'entrée"
 
-#: builtin/index-pack.c:318
+#: builtin/index-pack.c:317
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: builtin/index-pack.c:325 builtin/pack-objects.c:756
+#: builtin/index-pack.c:324 builtin/pack-objects.c:756
 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:328 builtin/unpack-objects.c:95
+#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "le paquet dépasse la taille maximale permise"
 
-#: builtin/index-pack.c:343
-#, c-format
-msgid "unable to create '%s'"
-msgstr "impossible de créer '%s'"
-
-#: builtin/index-pack.c:349
-#, c-format
-msgid "cannot open packfile '%s'"
-msgstr "impossible d'ouvrir le fichier paquet '%s'"
-
-#: builtin/index-pack.c:363
+#: builtin/index-pack.c:358
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:365
+#: builtin/index-pack.c:360
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:381
+#: builtin/index-pack.c:376
 #, 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:487
+#: builtin/index-pack.c:482
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:536
+#: builtin/index-pack.c:531
 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:544
+#: builtin/index-pack.c:539
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:552
+#: builtin/index-pack.c:547
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:583
+#: builtin/index-pack.c:578
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:585
+#: builtin/index-pack.c:580
 #, 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:611
+#: builtin/index-pack.c:606
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: builtin/index-pack.c:756 builtin/index-pack.c:762 builtin/index-pack.c:786
-#: builtin/index-pack.c:825 builtin/index-pack.c:834
+#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:781
+#: builtin/index-pack.c:820 builtin/index-pack.c:829
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:759 builtin/pack-objects.c:292
+#: builtin/index-pack.c:754 builtin/pack-objects.c:292
 #: builtin/pack-objects.c:352 builtin/pack-objects.c:458
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:823
+#: builtin/index-pack.c:818
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:826
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:840
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:848 builtin/index-pack.c:867
+#: builtin/index-pack.c:843 builtin/index-pack.c:862
 msgid "fsck error in packed object"
 msgstr "erreur de fsck dans l'objet empaqueté"
 
-#: builtin/index-pack.c:869
+#: builtin/index-pack.c:864
 #, 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:930 builtin/index-pack.c:977
+#: builtin/index-pack.c:925 builtin/index-pack.c:972
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1156
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1156
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1194
+#: builtin/index-pack.c:1190
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1199
+#: builtin/index-pack.c:1195
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1202
+#: builtin/index-pack.c:1198
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1214
+#: builtin/index-pack.c:1210
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1237
+#: builtin/index-pack.c:1233
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1248 builtin/pack-objects.c:2892
+#: builtin/index-pack.c:1244 builtin/pack-objects.c:2905
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1281
+#: builtin/index-pack.c:1277
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1287
+#: builtin/index-pack.c:1283
 #, 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:1299
+#: builtin/index-pack.c:1295
 #, 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:1303
+#: builtin/index-pack.c:1299
 #, 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:1327
+#: builtin/index-pack.c:1323
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1423
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1444
+#: builtin/index-pack.c:1440
 #, c-format
 msgid "packfile name '%s' does not end with '.%s'"
 msgstr "le nom de fichier paquet '%s' ne se termine pas par '.%s'"
 
-#: builtin/index-pack.c:1468
+#: builtin/index-pack.c:1464
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1476
+#: builtin/index-pack.c:1472
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "impossible de fermer le fichier %s écrit '%s'"
 
-#: builtin/index-pack.c:1502
+#: builtin/index-pack.c:1489
+#, c-format
+msgid "unable to rename temporary '*.%s' file to '%s"
+msgstr "impossible de renommer un fichier temporaire '*.%s' en '%s'"
+
+#: builtin/index-pack.c:1514
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1516
-msgid "cannot store pack file"
-msgstr "impossible de stocker le fichier paquet"
-
-#: builtin/index-pack.c:1524
-msgid "cannot store index file"
-msgstr "impossible de stocker le fichier d'index"
-
-#: builtin/index-pack.c:1579 builtin/pack-objects.c:3137
+#: builtin/index-pack.c:1573 builtin/pack-objects.c:3150
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1649
+#: builtin/index-pack.c:1643
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1651
+#: builtin/index-pack.c:1645
 #, 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:1699
+#: builtin/index-pack.c:1693
 #, 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:1706
+#: builtin/index-pack.c:1700
 #, 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:1748
+#: builtin/index-pack.c:1742
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
-#: builtin/index-pack.c:1821 builtin/index-pack.c:1825
+#: builtin/index-pack.c:1796 builtin/index-pack.c:1799
+#: builtin/index-pack.c:1819 builtin/index-pack.c:1823
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1831 builtin/init-db.c:379 builtin/init-db.c:614
+#: builtin/index-pack.c:1829 builtin/init-db.c:379 builtin/init-db.c:614
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "algorithme d'empreinte inconnu '%s'"
 
-#: builtin/index-pack.c:1850
+#: builtin/index-pack.c:1848
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1852
+#: builtin/index-pack.c:1850
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1854
+#: builtin/index-pack.c:1852
 msgid "--object-format cannot be used with --stdin"
 msgstr "--object-format ne peut pas être utilisé avec --stdin"
 
-#: builtin/index-pack.c:1869
+#: builtin/index-pack.c:1867
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
-#: builtin/index-pack.c:1935 builtin/unpack-objects.c:584
+#: builtin/index-pack.c:1933 builtin/unpack-objects.c:584
 msgid "fsck error in pack objects"
 msgstr "erreur de fsck dans les objets paquets"
 
@@ -17601,132 +17899,136 @@ msgstr ""
 "Impossible de trouver une branche distante suivie, merci de spécifier "
 "<branche_amont> manuellement.\n"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:561
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<options>] [<fichier>...]"
 
-#: builtin/ls-files.c:619
+#: builtin/ls-files.c:615
+msgid "separate paths with the NUL character"
+msgstr "séparer les chemins par un caractère NUL"
+
+#: builtin/ls-files.c:617
 msgid "identify the file status with tags"
 msgstr "identifier l'état de fichier avec les étiquettes"
 
-#: builtin/ls-files.c:621
+#: builtin/ls-files.c:619
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "utiliser des minuscules pour les fichiers 'assumés inchangés'"
 
-#: builtin/ls-files.c:623
+#: builtin/ls-files.c:621
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "utiliser des minuscules pour les fichiers 'fsmonitor clean'"
 
-#: builtin/ls-files.c:625
+#: builtin/ls-files.c:623
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:627
+#: builtin/ls-files.c:625
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:629
+#: builtin/ls-files.c:627
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:631
+#: builtin/ls-files.c:629
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:633
+#: builtin/ls-files.c:631
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:636
+#: builtin/ls-files.c:634
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:638
+#: builtin/ls-files.c:636
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 "afficher les fichiers du système de fichiers qui ont besoin d'être supprimés"
 
-#: builtin/ls-files.c:640
+#: builtin/ls-files.c:638
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:642
+#: builtin/ls-files.c:640
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:644
+#: builtin/ls-files.c:642
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:647
+#: builtin/ls-files.c:645
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:649
+#: builtin/ls-files.c:647
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:651
+#: builtin/ls-files.c:649
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:654
-msgid "exclude patterns are read from <file>"
-msgstr "les motifs d'exclusion sont lus depuis <fichier>"
+#: builtin/ls-files.c:652
+msgid "read exclude patterns from <file>"
+msgstr "lire les motifs d'exclusion depuis <fichier>"
 
-#: builtin/ls-files.c:657
+#: builtin/ls-files.c:655
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "lire des motifs d'exclusion additionnels par répertoire dans <fichier>"
 
-#: builtin/ls-files.c:659
+#: builtin/ls-files.c:657
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:663
+#: builtin/ls-files.c:661
 msgid "make the output relative to the project top directory"
 msgstr "afficher en relatif par rapport au répertoire racine du projet"
 
-#: builtin/ls-files.c:666
+#: builtin/ls-files.c:664
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:668
+#: builtin/ls-files.c:666
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur"
 
-#: builtin/ls-files.c:669
+#: builtin/ls-files.c:667
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:670
+#: builtin/ls-files.c:668
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "considérer que les chemins supprimés depuis <arbre ou apparenté> sont "
 "toujours présents"
 
-#: builtin/ls-files.c:672
+#: builtin/ls-files.c:670
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
-#: builtin/ls-files.c:674
+#: builtin/ls-files.c:672
 msgid "suppress duplicate entries"
 msgstr "supprimer les entrées dupliquées"
 
 #: builtin/ls-remote.c:9
 msgid ""
 "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-"                     [-q | --quiet] [--exit-code] [--get-url]\n"
-"                     [--symref] [<repository> [<refs>...]]"
+"              [-q | --quiet] [--exit-code] [--get-url]\n"
+"              [--symref] [<repository> [<refs>...]]"
 msgstr ""
 "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-"                     [-q | --quiet] [--exit-code] [--get-url]\n"
-"                     [--symref] [<dépôt> [<références>...]]"
+"              [-q | --quiet] [--exit-code] [--get-url]\n"
+"              [--symref] [<dépôt> [<réf>...]]"
 
 #: builtin/ls-remote.c:60
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1399
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1103
 msgid "exec"
 msgstr "exécutable"
 
@@ -17847,7 +18149,7 @@ msgstr "action lorsqu'un CR cité est trouvé"
 msgid "use headers in message's body"
 msgstr "utiliser l'entête dans le corps de message"
 
-#: builtin/mailsplit.c:241
+#: builtin/mailsplit.c:239
 #, c-format
 msgid "empty mbox: '%s'"
 msgstr "mbox vide : '%s'"
@@ -17963,145 +18265,145 @@ msgstr "impossible de résoudre la référence '%s'"
 msgid "Merging %s with %s\n"
 msgstr "Fusion de %s avec %s\n"
 
-#: builtin/merge.c:58
+#: builtin/merge.c:59
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<options>] [<commit>...]"
 
-#: builtin/merge.c:123
+#: builtin/merge.c:124
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:146
+#: builtin/merge.c:147
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "le commutateur '%s' a besoin d'une valeur"
 
-#: builtin/merge.c:199
+#: builtin/merge.c:200
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:200
+#: builtin/merge.c:201
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:205
+#: builtin/merge.c:206
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:256 builtin/pull.c:133
+#: builtin/merge.c:257 builtin/pull.c:133
 msgid "do not show a diffstat at the end of the merge"
 msgstr "ne pas afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:259 builtin/pull.c:136
+#: builtin/merge.c:260 builtin/pull.c:136
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:260 builtin/pull.c:139
+#: builtin/merge.c:261 builtin/pull.c:139
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:262 builtin/pull.c:142
+#: builtin/merge.c:263 builtin/pull.c:142
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "ajouter (au plus <n>) éléments du journal court au message de validation de "
 "la fusion"
 
-#: builtin/merge.c:265 builtin/pull.c:148
+#: builtin/merge.c:266 builtin/pull.c:148
 msgid "create a single commit instead of doing a merge"
 msgstr "créer une validation unique au lieu de faire une fusion"
 
-#: builtin/merge.c:267 builtin/pull.c:151
+#: builtin/merge.c:268 builtin/pull.c:151
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:269 builtin/pull.c:154
+#: builtin/merge.c:270 builtin/pull.c:154
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:271
+#: builtin/merge.c:272
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:273 builtin/pull.c:161
+#: builtin/merge.c:274 builtin/pull.c:161
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:277 builtin/pull.c:164
+#: builtin/merge.c:278 builtin/pull.c:164
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "vérifier que le commit nommé a une signature GPG valide"
 
-#: builtin/merge.c:278 builtin/notes.c:787 builtin/pull.c:168
-#: builtin/rebase.c:540 builtin/rebase.c:1413 builtin/revert.c:114
+#: builtin/merge.c:279 builtin/notes.c:785 builtin/pull.c:168
+#: builtin/rebase.c:1117 builtin/revert.c:114
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:279 builtin/pull.c:169
+#: builtin/merge.c:280 builtin/pull.c:169
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:280 builtin/pull.c:172
+#: builtin/merge.c:281 builtin/pull.c:172
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:281 builtin/pull.c:173
+#: builtin/merge.c:282 builtin/pull.c:173
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:283
+#: builtin/merge.c:284
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "message de validation de la fusion (pour une fusion sans avance rapide)"
 
-#: builtin/merge.c:290
+#: builtin/merge.c:291
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:292
+#: builtin/merge.c:293
 msgid "--abort but leave index and working tree alone"
 msgstr "--abort mais laisser l'index et l'arbre de travail inchangés"
 
-#: builtin/merge.c:294
+#: builtin/merge.c:295
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:296 builtin/pull.c:180
+#: builtin/merge.c:297 builtin/pull.c:180
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:303
+#: builtin/merge.c:304
 msgid "bypass pre-merge-commit and commit-msg hooks"
 msgstr "ne pas utiliser les crochets pre-merge-commit et commit-msg"
 
-#: builtin/merge.c:320
+#: builtin/merge.c:321
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:325
+#: builtin/merge.c:326
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:330
+#: builtin/merge.c:331
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:352 builtin/merge.c:369
+#: builtin/merge.c:353 builtin/merge.c:370
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:400
+#: builtin/merge.c:401
 msgid "Already up to date. (nothing to squash)"
 msgstr "Déjà à jour. (rien à compresser)"
 
-#: builtin/merge.c:414
+#: builtin/merge.c:415
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:464
+#: builtin/merge.c:465
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n"
@@ -18116,33 +18418,33 @@ msgstr "'%s' ne pointe pas sur un commit"
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:729
+#: builtin/merge.c:730
 msgid "Not handling anything other than two heads merge."
 msgstr "Impossible de gérer autre chose que la fusion de deux têtes."
 
-#: builtin/merge.c:742
+#: builtin/merge.c:743
 #, c-format
-msgid "Unknown option for merge-recursive: -X%s"
-msgstr "Options inconnue pour merge-recursive : -X%s"
+msgid "unknown strategy option: -X%s"
+msgstr "option de stratégie inconnue : -X%s"
 
-#: builtin/merge.c:761 t/helper/test-fast-rebase.c:223
+#: builtin/merge.c:762 t/helper/test-fast-rebase.c:223
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:813
+#: builtin/merge.c:814
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:822
+#: builtin/merge.c:823
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Pas de validation de la fusion ; utilisez 'git commit' pour terminer la "
 "fusion.\n"
 
-#: builtin/merge.c:828
+#: builtin/merge.c:829
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
@@ -18154,11 +18456,11 @@ msgstr ""
 "branche de sujet.\n"
 "\n"
 
-#: builtin/merge.c:833
+#: builtin/merge.c:834
 msgid "An empty message aborts the commit.\n"
 msgstr "Un message vide abandonne la validation.\n"
 
-#: builtin/merge.c:836
+#: builtin/merge.c:837
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
@@ -18167,74 +18469,74 @@ msgstr ""
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:889
+#: builtin/merge.c:892
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:904
+#: builtin/merge.c:907
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:965
+#: builtin/merge.c:968
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "La fusion automatique a échoué ; réglez les conflits et validez le "
 "résultat.\n"
 
-#: builtin/merge.c:1004
+#: builtin/merge.c:1007
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:1006
+#: builtin/merge.c:1009
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:1008
+#: builtin/merge.c:1011
 msgid "No default upstream defined for the current branch."
 msgstr "Pas de branche amont par défaut définie pour la branche courante."
 
-#: builtin/merge.c:1013
+#: builtin/merge.c:1016
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:1070
+#: builtin/merge.c:1073
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1173
+#: builtin/merge.c:1174
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1207
+#: builtin/merge.c:1208
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1317
+#: builtin/merge.c:1321
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1321
+#: builtin/merge.c:1325
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion à abandonner (MERGE_HEAD manquant)."
 
-#: builtin/merge.c:1339
+#: builtin/merge.c:1343
 msgid "--quit expects no arguments"
 msgstr "--quit n'accepte pas d'argument"
 
-#: builtin/merge.c:1352
+#: builtin/merge.c:1356
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1356
+#: builtin/merge.c:1360
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion en cours (MERGE_HEAD manquant)."
 
-#: builtin/merge.c:1372
+#: builtin/merge.c:1376
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -18242,7 +18544,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1379
+#: builtin/merge.c:1383
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -18250,90 +18552,86 @@ msgstr ""
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1382
+#: builtin/merge.c:1386
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe)."
 
-#: builtin/merge.c:1396
+#: builtin/merge.c:1400
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1398
+#: builtin/merge.c:1402
 msgid "You cannot combine --squash with --commit."
 msgstr "Vous ne pouvez pas combiner --squash avec --commit."
 
-#: builtin/merge.c:1414
+#: builtin/merge.c:1418
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "Pas de validation spécifiée et merge.defaultToUpstream n'est pas défini."
 
-#: builtin/merge.c:1431
+#: builtin/merge.c:1435
 msgid "Squash commit into empty head not supported yet"
 msgstr "La validation compressée vers une tête vide n'est pas encore supportée"
 
-#: builtin/merge.c:1433
+#: builtin/merge.c:1437
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Une validation sans avance rapide n'a pas de sens dans une tête vide"
 
-#: builtin/merge.c:1438
+#: builtin/merge.c:1442
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1440
+#: builtin/merge.c:1444
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Possible de fusionner exactement une seule validation dans une tête vide"
 
-#: builtin/merge.c:1521
+#: builtin/merge.c:1531
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1540
+#: builtin/merge.c:1550
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1587
+#: builtin/merge.c:1598
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1594
+#: builtin/merge.c:1605
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1625
-msgid "Not possible to fast-forward, aborting."
-msgstr "Pas possible d'avancer rapidement, abandon."
-
-#: builtin/merge.c:1653 builtin/merge.c:1719
+#: builtin/merge.c:1664 builtin/merge.c:1730
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1657
+#: builtin/merge.c:1668
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1709
+#: builtin/merge.c:1720
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Aucune stratégie de fusion n'a pris en charge la fusion.\n"
 
-#: builtin/merge.c:1711
+#: builtin/merge.c:1722
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1721
+#: builtin/merge.c:1732
 #, c-format
 msgid "Using the %s strategy to prepare resolving by hand.\n"
 msgstr "Utilisation de %s pour préparer la résolution à la main.\n"
 
-#: builtin/merge.c:1735
+#: builtin/merge.c:1746
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -18368,15 +18666,15 @@ msgstr "impossible de lire l'objet étiqueté '%s'"
 msgid "object '%s' tagged as '%s', but is a '%s' type"
 msgstr "l'objet '%s' étiqueté comme '%s', mais est de type '%s'"
 
-#: builtin/mktag.c:97
+#: builtin/mktag.c:98
 msgid "tag on stdin did not pass our strict fsck check"
 msgstr "l'étiquette sur stdin n'a pas passé le test strict fsck"
 
-#: builtin/mktag.c:100
+#: builtin/mktag.c:101
 msgid "tag on stdin did not refer to a valid object"
 msgstr "l'étiquette sur stdin ne pointe pas sur un objet valide"
 
-#: builtin/mktag.c:103 builtin/tag.c:243
+#: builtin/mktag.c:104 builtin/tag.c:243
 msgid "unable to write tag file"
 msgstr "impossible d'écrire le fichier d'étiquettes"
 
@@ -18397,36 +18695,50 @@ msgid "allow creation of more than one tree"
 msgstr "autoriser la création de plus d'un arbre"
 
 #: builtin/multi-pack-index.c:10
-msgid "git multi-pack-index [<options>] write [--preferred-pack=<pack>]"
-msgstr "git multi-pack-index [<options>] write [--preferred-pack=<paquet>]"
+msgid ""
+"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
+"snapshot=<path>]"
+msgstr "git multi-pack-index [<options>] write [--preferred-pack=<paquet>][--refs-snapshot=<chemin>]"
 
-#: builtin/multi-pack-index.c:13
+#: builtin/multi-pack-index.c:14
 msgid "git multi-pack-index [<options>] verify"
 msgstr "git multi-pack-index [<options>] verify"
 
-#: builtin/multi-pack-index.c:16
+#: builtin/multi-pack-index.c:17
 msgid "git multi-pack-index [<options>] expire"
 msgstr "git multi-pack-index [<options>] expire"
 
-#: builtin/multi-pack-index.c:19
+#: builtin/multi-pack-index.c:20
 msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
 msgstr "git multi-pack-index [<options>] repack [--batch-size=<taille>]"
 
-#: builtin/multi-pack-index.c:54
+#: builtin/multi-pack-index.c:57
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 "répertoire objet contenant un ensemble de paires de fichiers paquet et "
 "d'index de paquet"
 
-#: builtin/multi-pack-index.c:69
+#: builtin/multi-pack-index.c:98
 msgid "preferred-pack"
 msgstr "paquet-préféré"
 
-#: builtin/multi-pack-index.c:70
+#: builtin/multi-pack-index.c:99
 msgid "pack for reuse when computing a multi-pack bitmap"
 msgstr "paquet à réutiliser lors du calcul de bitmap de multi-paquet"
 
-#: builtin/multi-pack-index.c:128
+#: builtin/multi-pack-index.c:100
+msgid "write multi-pack bitmap"
+msgstr "écriture du bitmap de multi-paquet"
+
+#: builtin/multi-pack-index.c:105
+msgid "write multi-pack index containing only given indexes"
+msgstr "écrire l'index multi-paquet ne contenant que les index fournis"
+
+#: builtin/multi-pack-index.c:107
+msgid "refs snapshot for selecting bitmap commits"
+msgstr "instantané des réfs pour sélectionner les commits de bitmap"
+
+#: builtin/multi-pack-index.c:202
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
@@ -18434,11 +18746,6 @@ msgstr ""
 "pendant le repaquetage, collecter les fichiers paquet de plus petite taille "
 "dans un lot plus grand que cette taille"
 
-#: builtin/multi-pack-index.c:179
-#, c-format
-msgid "unrecognized subcommand: %s"
-msgstr "sous-commande non reconnue : %s"
-
 #: builtin/mv.c:18
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<options>] <source>... <destination>"
@@ -18467,72 +18774,72 @@ msgstr "forcer le déplacement/renommage même si la cible existe"
 msgid "skip move/rename errors"
 msgstr "sauter les erreurs de déplacement/renommage"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:172
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "la destination '%s' n'est pas un répertoire"
 
-#: builtin/mv.c:181
+#: builtin/mv.c:184
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Vérification du renommage de '%s' en '%s'\n"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:190
 msgid "bad source"
 msgstr "mauvaise source"
 
-#: builtin/mv.c:188
+#: builtin/mv.c:193
 msgid "can not move directory into itself"
 msgstr "impossible de déplacer un répertoire dans lui-même"
 
-#: builtin/mv.c:191
+#: builtin/mv.c:196
 msgid "cannot move directory over file"
 msgstr "impossible de déplacer un répertoire sur un fichier"
 
-#: builtin/mv.c:200
+#: builtin/mv.c:205
 msgid "source directory is empty"
 msgstr "le répertoire source est vide"
 
-#: builtin/mv.c:225
+#: builtin/mv.c:231
 msgid "not under version control"
 msgstr "pas sous le contrôle de version"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:233
 msgid "conflicted"
 msgstr "en conflit"
 
-#: builtin/mv.c:230
+#: builtin/mv.c:236
 msgid "destination exists"
 msgstr "la destination existe"
 
-#: builtin/mv.c:238
+#: builtin/mv.c:244
 #, c-format
 msgid "overwriting '%s'"
 msgstr "écrasement de '%s'"
 
-#: builtin/mv.c:241
+#: builtin/mv.c:247
 msgid "Cannot overwrite"
 msgstr "Impossible d'écraser"
 
-#: builtin/mv.c:244
+#: builtin/mv.c:250
 msgid "multiple sources for the same target"
 msgstr "multiples sources pour la même destination"
 
-#: builtin/mv.c:246
+#: builtin/mv.c:252
 msgid "destination directory does not exist"
 msgstr "le répertoire de destination n'existe pas"
 
-#: builtin/mv.c:253
+#: builtin/mv.c:280
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, source=%s, destination=%s"
 
-#: builtin/mv.c:274
+#: builtin/mv.c:308
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:667
+#: builtin/mv.c:314 builtin/remote.c:790 builtin/repack.c:853
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
@@ -18713,47 +19020,47 @@ msgstr "impossible de lire la sortie de 'show'"
 msgid "failed to finish 'show' for object '%s'"
 msgstr "impossible de finir 'show' pour l'objet '%s'"
 
-#: builtin/notes.c:197
+#: builtin/notes.c:195
 msgid "please supply the note contents using either -m or -F option"
 msgstr "veuillez fournir le contenu de la note en utilisant l'option -m ou -F"
 
-#: builtin/notes.c:206
+#: builtin/notes.c:204
 msgid "unable to write note object"
 msgstr "impossible d'écrire l'objet note"
 
-#: builtin/notes.c:208
+#: builtin/notes.c:206
 #, c-format
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:242 builtin/tag.c:576
+#: builtin/notes.c:240 builtin/tag.c:577
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
 
-#: builtin/notes.c:263 builtin/notes.c:313 builtin/notes.c:315
-#: builtin/notes.c:383 builtin/notes.c:438 builtin/notes.c:526
-#: builtin/notes.c:531 builtin/notes.c:610 builtin/notes.c:672
+#: builtin/notes.c:261 builtin/notes.c:311 builtin/notes.c:313
+#: builtin/notes.c:381 builtin/notes.c:436 builtin/notes.c:524
+#: builtin/notes.c:529 builtin/notes.c:608 builtin/notes.c:670
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr "impossible de résoudre '%s' comme une référence valide."
 
-#: builtin/notes.c:265
+#: builtin/notes.c:263
 #, c-format
 msgid "failed to read object '%s'."
 msgstr "impossible de lire l'objet '%s'."
 
-#: builtin/notes.c:268
+#: builtin/notes.c:266
 #, c-format
 msgid "cannot read note data from non-blob object '%s'."
 msgstr "impossible de lire les informations de note d'un objet non-blob '%s'."
 
-#: builtin/notes.c:309
+#: builtin/notes.c:307
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "ligne en entrée malformée : '%s'."
 
-#: builtin/notes.c:324
+#: builtin/notes.c:322
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
 msgstr "impossible de copier les notes de '%s' vers '%s'"
@@ -18761,48 +19068,48 @@ msgstr "impossible de copier les notes de '%s' vers '%s'"
 #. TRANSLATORS: the first %s will be replaced by a git
 #. notes command: 'add', 'merge', 'remove', etc.
 #.
-#: builtin/notes.c:356
+#: builtin/notes.c:354
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "refus de faire %s sur des notes dans %s (hors de refs/notes/)"
 
-#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509
-#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665
-#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985
-#: builtin/prune-packed.c:25 builtin/tag.c:586
+#: builtin/notes.c:374 builtin/notes.c:429 builtin/notes.c:507
+#: builtin/notes.c:519 builtin/notes.c:596 builtin/notes.c:663
+#: builtin/notes.c:813 builtin/notes.c:961 builtin/notes.c:983
+#: builtin/prune-packed.c:25 builtin/tag.c:587
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
-#: builtin/notes.c:389 builtin/notes.c:678
+#: builtin/notes.c:387 builtin/notes.c:676
 #, c-format
 msgid "no note found for object %s."
 msgstr "pas de note trouvée pour l'objet %s."
 
-#: builtin/notes.c:410 builtin/notes.c:576
+#: builtin/notes.c:408 builtin/notes.c:574
 msgid "note contents as a string"
 msgstr "contenu de la note sous forme de chaîne"
 
-#: builtin/notes.c:413 builtin/notes.c:579
+#: builtin/notes.c:411 builtin/notes.c:577
 msgid "note contents in a file"
 msgstr "contenu de la note dans un fichier"
 
-#: builtin/notes.c:416 builtin/notes.c:582
+#: builtin/notes.c:414 builtin/notes.c:580
 msgid "reuse and edit specified note object"
 msgstr "réutiliser et éditer l'objet de note spécifié"
 
-#: builtin/notes.c:419 builtin/notes.c:585
+#: builtin/notes.c:417 builtin/notes.c:583
 msgid "reuse specified note object"
 msgstr "réutiliser l'objet de note spécifié"
 
-#: builtin/notes.c:422 builtin/notes.c:588
+#: builtin/notes.c:420 builtin/notes.c:586
 msgid "allow storing empty note"
 msgstr "permettre de stocker une note vide"
 
-#: builtin/notes.c:423 builtin/notes.c:496
+#: builtin/notes.c:421 builtin/notes.c:494
 msgid "replace existing notes"
 msgstr "remplacer les notes existantes"
 
-#: builtin/notes.c:448
+#: builtin/notes.c:446
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -18811,30 +19118,30 @@ msgstr ""
 "Impossible d'ajouter des notes. Des notes ont été trouvées pour l'objet %s. "
 "Utilisez '-f' pour écraser les notes existantes"
 
-#: builtin/notes.c:463 builtin/notes.c:544
+#: builtin/notes.c:461 builtin/notes.c:542
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Écrasement des notes existantes pour l'objet %s\n"
 
-#: builtin/notes.c:475 builtin/notes.c:637 builtin/notes.c:902
+#: builtin/notes.c:473 builtin/notes.c:635 builtin/notes.c:900
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Suppression de la note pour l'objet %s\n"
 
-#: builtin/notes.c:497
+#: builtin/notes.c:495
 msgid "read objects from stdin"
 msgstr "lire les objets depuis l'entrée standard"
 
-#: builtin/notes.c:499
+#: builtin/notes.c:497
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr ""
 "charger la configuration de réécriture pour <commande> (implique --stdin)"
 
-#: builtin/notes.c:517
+#: builtin/notes.c:515
 msgid "too few arguments"
 msgstr "trop peu d'arguments"
 
-#: builtin/notes.c:538
+#: builtin/notes.c:536
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -18843,12 +19150,12 @@ msgstr ""
 "Impossible de copier des notes. Des notes ont été trouvées pour l'objet %s. "
 "Utilisez '-f' pour écraser les notes existantes"
 
-#: builtin/notes.c:550
+#: builtin/notes.c:548
 #, c-format
 msgid "missing notes on source object %s. Cannot copy."
 msgstr "notes manquantes sur l'objet source %s. Impossible de copier."
 
-#: builtin/notes.c:603
+#: builtin/notes.c:601
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -18857,52 +19164,52 @@ msgstr ""
 "Les options -m/-F/-c/-C sont obsolètes pour la sous-commande 'edit'.\n"
 "Veuillez utiliser 'git notes add -f -m/-F/-c/-C' à la place.\n"
 
-#: builtin/notes.c:698
+#: builtin/notes.c:696
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la suppression de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:700
+#: builtin/notes.c:698
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "échec de la suppression de la référence NOTES_MERGE_REF"
 
-#: builtin/notes.c:702
+#: builtin/notes.c:700
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "échec de la suppression de la copie de travail 'git notes merge'"
 
-#: builtin/notes.c:722
+#: builtin/notes.c:720
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la lecture de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:724
+#: builtin/notes.c:722
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible de trouver le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:726
+#: builtin/notes.c:724
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible d'analyser le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:739
+#: builtin/notes.c:737
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "échec de la résolution de NOTES_MERGE_REF"
 
-#: builtin/notes.c:742
+#: builtin/notes.c:740
 msgid "failed to finalize notes merge"
 msgstr "impossible de finaliser la fusion de notes"
 
-#: builtin/notes.c:768
+#: builtin/notes.c:766
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "stratégie de fusion de notes inconnue %s"
 
-#: builtin/notes.c:784
+#: builtin/notes.c:782
 msgid "General options"
 msgstr "Options générales"
 
-#: builtin/notes.c:786
+#: builtin/notes.c:784
 msgid "Merge options"
 msgstr "Options de fusion"
 
-#: builtin/notes.c:788
+#: builtin/notes.c:786
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -18910,47 +19217,47 @@ msgstr ""
 "résoudre les conflits de notes en utilisant la stratégie donnée (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:790
+#: builtin/notes.c:788
 msgid "Committing unmerged notes"
 msgstr "Validation des notes non fusionnées"
 
-#: builtin/notes.c:792
+#: builtin/notes.c:790
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "finaliser la fusion de notes en validant les notes non fusionnées"
 
-#: builtin/notes.c:794
+#: builtin/notes.c:792
 msgid "Aborting notes merge resolution"
 msgstr "Abandon de la résolution de fusion des notes"
 
-#: builtin/notes.c:796
+#: builtin/notes.c:794
 msgid "abort notes merge"
 msgstr "abandonner la fusion de notes"
 
-#: builtin/notes.c:807
+#: builtin/notes.c:805
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "--commit, --abort et -s/--strategy sont mutuellement incompatibles"
 
-#: builtin/notes.c:812
+#: builtin/notes.c:810
 msgid "must specify a notes ref to merge"
 msgstr "vous devez spécifier une référence de notes à fusionner"
 
-#: builtin/notes.c:836
+#: builtin/notes.c:834
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "-s/--strategy inconnu : %s"
 
-#: builtin/notes.c:873
+#: builtin/notes.c:871
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "une fusion de notes dans %s est déjà en cours avec %s"
 
-#: builtin/notes.c:876
+#: builtin/notes.c:874
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr ""
 "impossible de stocker le lien vers la référence actuelle aux notes (%s)"
 
-#: builtin/notes.c:878
+#: builtin/notes.c:876
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -18961,42 +19268,42 @@ msgstr ""
 "validez le résultat avec 'git notes merges --commit', ou abandonnez la "
 "fusion avec 'git notes merge --abort'.\n"
 
-#: builtin/notes.c:897 builtin/tag.c:589
+#: builtin/notes.c:895 builtin/tag.c:590
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
 
-#: builtin/notes.c:900
+#: builtin/notes.c:898
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "L'objet %s n'a pas de note\n"
 
-#: builtin/notes.c:912
+#: builtin/notes.c:910
 msgid "attempt to remove non-existent note is not an error"
 msgstr ""
 "la tentative de suppression d'une note non existante n'est pas une erreur"
 
-#: builtin/notes.c:915
+#: builtin/notes.c:913
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: builtin/notes.c:954 builtin/prune.c:132 builtin/worktree.c:146
+#: builtin/notes.c:952 builtin/prune.c:132 builtin/worktree.c:147
 msgid "do not remove, show only"
 msgstr "ne pas supprimer, afficher seulement"
 
-#: builtin/notes.c:955
+#: builtin/notes.c:953
 msgid "report pruned notes"
 msgstr "afficher les notes éliminées"
 
-#: builtin/notes.c:998
+#: builtin/notes.c:996
 msgid "notes-ref"
 msgstr "références-notes"
 
-#: builtin/notes.c:999
+#: builtin/notes.c:997
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1735
+#: builtin/notes.c:1032 builtin/stash.c:1752
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
@@ -19049,86 +19356,90 @@ msgstr "%u objets commandés, %<PRIu32> attendus"
 msgid "expected object at offset %<PRIuMAX> in pack %s"
 msgstr "objet attendu à l'offset %<PRIuMAX> dans le paquet %s"
 
-#: builtin/pack-objects.c:1155
+#: builtin/pack-objects.c:1160
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "désactivation de l'écriture en bitmap, les fichiers paquets sont scindés à "
 "cause de pack.packSizeLimit"
 
-#: builtin/pack-objects.c:1168
+#: builtin/pack-objects.c:1173
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:1229 builtin/update-index.c:90
+#: builtin/pack-objects.c:1235 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "échec du stat de %s"
 
-#: builtin/pack-objects.c:1281
+#: builtin/pack-objects.c:1268
+msgid "failed to write bitmap index"
+msgstr "écrire un index de bitmap"
+
+#: builtin/pack-objects.c:1294
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "%<PRIu32> objets écrits, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:1523
+#: builtin/pack-objects.c:1536
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "désactivation de l'écriture en bitmap car certains objets ne sont pas "
 "compressés"
 
-#: builtin/pack-objects.c:1971
+#: builtin/pack-objects.c:1984
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "dépassement de décalage de base de delta pour %s"
 
-#: builtin/pack-objects.c:1980
+#: builtin/pack-objects.c:1993
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "décalage de base de delta est hors limite pour %s"
 
-#: builtin/pack-objects.c:2261
+#: builtin/pack-objects.c:2274
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
-#: builtin/pack-objects.c:2426
+#: builtin/pack-objects.c:2439
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "impossible d'analyser l'entête d'objet de %s"
 
-#: builtin/pack-objects.c:2496 builtin/pack-objects.c:2512
-#: builtin/pack-objects.c:2522
+#: builtin/pack-objects.c:2509 builtin/pack-objects.c:2525
+#: builtin/pack-objects.c:2535
 #, c-format
 msgid "object %s cannot be read"
 msgstr "l'objet %s ne peut être lu"
 
-#: builtin/pack-objects.c:2499 builtin/pack-objects.c:2526
+#: builtin/pack-objects.c:2512 builtin/pack-objects.c:2539
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "objet %s longueur de l'objet inconsistante (%<PRIuMAX> contre %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2536
+#: builtin/pack-objects.c:2549
 msgid "suboptimal pack - out of memory"
 msgstr "paquet sous-optimal - mémoire insuffisante"
 
-#: builtin/pack-objects.c:2851
+#: builtin/pack-objects.c:2864
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Compression par delta en utilisant jusqu'à %d fils d'exécution"
 
-#: builtin/pack-objects.c:2990
+#: builtin/pack-objects.c:3003
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "impossible d'empaqueter les objets joignables depuis l'étiquette %s"
 
-#: builtin/pack-objects.c:3076
+#: builtin/pack-objects.c:3089
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:3082
+#: builtin/pack-objects.c:3095
 msgid "inconsistency with delta count"
 msgstr "inconsistance dans le compte de delta"
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3174
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -19137,7 +19448,7 @@ msgstr ""
 "la valeur de uploadpack.blobpackfileuri doit être de la forme '<empreinte-d-"
 "objet> <empreinte-de-pack> <uri>' ('%s' reçu)"
 
-#: builtin/pack-objects.c:3164
+#: builtin/pack-objects.c:3177
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
@@ -19145,17 +19456,18 @@ msgstr ""
 "l'objet est déjà configuré dans un autre uploadpack.blobpackfileuri ('%s' "
 "reçu)"
 
-#: builtin/pack-objects.c:3199
+#: builtin/pack-objects.c:3212
 #, c-format
 msgid "could not get type of object %s in pack %s"
 msgstr "impossible d'obtenir le type de l'objet %s dans le paquet %s"
 
-#: builtin/pack-objects.c:3321 builtin/pack-objects.c:3335
+#: builtin/pack-objects.c:3340 builtin/pack-objects.c:3351
+#: builtin/pack-objects.c:3365
 #, c-format
 msgid "could not find pack '%s'"
 msgstr "impossible de trouver le paquet '%s'"
 
-#: builtin/pack-objects.c:3378
+#: builtin/pack-objects.c:3408
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -19164,7 +19476,7 @@ msgstr ""
 "ID d'objet de bord attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:3384
+#: builtin/pack-objects.c:3414
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -19173,256 +19485,256 @@ msgstr ""
 "ID d'objet attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:3482
+#: builtin/pack-objects.c:3507
 msgid "invalid value for --missing"
 msgstr "valeur invalide pour --missing"
 
-#: builtin/pack-objects.c:3541 builtin/pack-objects.c:3650
+#: builtin/pack-objects.c:3532 builtin/pack-objects.c:3619
 msgid "cannot open pack index"
 msgstr "impossible d'ouvrir l'index de paquet"
 
-#: builtin/pack-objects.c:3572
+#: builtin/pack-objects.c:3541
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "l'objet libre à %s n'a pas pu être examiné"
 
-#: builtin/pack-objects.c:3658
+#: builtin/pack-objects.c:3627
 msgid "unable to force loose object"
 msgstr "impossible de forcer l'objet libre"
 
-#: builtin/pack-objects.c:3788
+#: builtin/pack-objects.c:3757
 #, c-format
 msgid "not a rev '%s'"
 msgstr "'%s' n'est pas une révision"
 
-#: builtin/pack-objects.c:3791 builtin/rev-parse.c:1061
+#: builtin/pack-objects.c:3760 builtin/rev-parse.c:1061
 #, c-format
 msgid "bad revision '%s'"
 msgstr "mauvaise révision '%s'"
 
-#: builtin/pack-objects.c:3819
+#: builtin/pack-objects.c:3788
 msgid "unable to add recent objects"
 msgstr "impossible d'ajouter les objets récents"
 
-#: builtin/pack-objects.c:3872
+#: builtin/pack-objects.c:3841
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:3876
+#: builtin/pack-objects.c:3845
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:3915
+#: builtin/pack-objects.c:3884
 msgid "<version>[,<offset>]"
 msgstr "<version>[,<décalage>]"
 
-#: builtin/pack-objects.c:3916
+#: builtin/pack-objects.c:3885
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "écrire le fichier d'index du paquet dans le format d'index de version "
 "spécifié"
 
-#: builtin/pack-objects.c:3919
+#: builtin/pack-objects.c:3888
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:3921
+#: builtin/pack-objects.c:3890
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:3923
+#: builtin/pack-objects.c:3892
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:3925
+#: builtin/pack-objects.c:3894
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:3927
+#: builtin/pack-objects.c:3896
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "limiter la fenêtre d'empaquetage par mémoire en plus de la limite d'objets"
 
-#: builtin/pack-objects.c:3929
+#: builtin/pack-objects.c:3898
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "longueur maximum de la chaîne de delta autorisée dans le paquet résultant"
 
-#: builtin/pack-objects.c:3931
+#: builtin/pack-objects.c:3900
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:3933
+#: builtin/pack-objects.c:3902
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:3935
+#: builtin/pack-objects.c:3904
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:3937
+#: builtin/pack-objects.c:3906
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleure correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:3939
+#: builtin/pack-objects.c:3908
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:3941
+#: builtin/pack-objects.c:3910
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:3943
+#: builtin/pack-objects.c:3912
 msgid "limit the objects to those that are not yet packed"
 msgstr "limiter les objets à ceux qui ne sont pas encore empaquetés"
 
-#: builtin/pack-objects.c:3946
+#: builtin/pack-objects.c:3915
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:3949
+#: builtin/pack-objects.c:3918
 msgid "include objects referred by reflog entries"
 msgstr "inclure les objets référencés par les éléments de reflog"
 
-#: builtin/pack-objects.c:3952
+#: builtin/pack-objects.c:3921
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:3955
+#: builtin/pack-objects.c:3924
 msgid "read packs from stdin"
 msgstr "lire les paquets depuis l'entrée standard"
 
-#: builtin/pack-objects.c:3957
+#: builtin/pack-objects.c:3926
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:3959
+#: builtin/pack-objects.c:3928
 msgid "include tag objects that refer to objects to be packed"
 msgstr "inclure les objets d'étiquettes qui réfèrent à des objets à empaqueter"
 
-#: builtin/pack-objects.c:3961
+#: builtin/pack-objects.c:3930
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:3963
+#: builtin/pack-objects.c:3932
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:3965
+#: builtin/pack-objects.c:3934
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:3968
+#: builtin/pack-objects.c:3937
 msgid "use the sparse reachability algorithm"
 msgstr "utiliser l'algorithme de joignabilité creuse"
 
-#: builtin/pack-objects.c:3970
+#: builtin/pack-objects.c:3939
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:3972
+#: builtin/pack-objects.c:3941
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:3974
+#: builtin/pack-objects.c:3943
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:3976
+#: builtin/pack-objects.c:3945
 msgid "ignore this pack"
 msgstr "ignorer ce paquet"
 
-#: builtin/pack-objects.c:3978
+#: builtin/pack-objects.c:3947
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:3980
+#: builtin/pack-objects.c:3949
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:3982
+#: builtin/pack-objects.c:3951
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "utiliser un index en bitmap si disponible pour accélerer le décompte des "
 "objets"
 
-#: builtin/pack-objects.c:3984
+#: builtin/pack-objects.c:3953
 msgid "write a bitmap index together with the pack index"
 msgstr "écrire un index en bitmap associé à l'index de paquet"
 
-#: builtin/pack-objects.c:3988
+#: builtin/pack-objects.c:3957
 msgid "write a bitmap index if possible"
 msgstr "écrire un index de bitmap si possible"
 
-#: builtin/pack-objects.c:3992
+#: builtin/pack-objects.c:3961
 msgid "handling for missing objects"
 msgstr "gestion des objets manquants"
 
-#: builtin/pack-objects.c:3995
+#: builtin/pack-objects.c:3964
 msgid "do not pack objects in promisor packfiles"
 msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
 
-#: builtin/pack-objects.c:3997
+#: builtin/pack-objects.c:3966
 msgid "respect islands during delta compression"
 msgstr "respecter les îlots pendant la compression des deltas"
 
-#: builtin/pack-objects.c:3999
+#: builtin/pack-objects.c:3968
 msgid "protocol"
 msgstr "protocole"
 
-#: builtin/pack-objects.c:4000
+#: builtin/pack-objects.c:3969
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr "exclure tout uploadpack.blobpackfileuri configuré avec ce protocole"
 
-#: builtin/pack-objects.c:4033
+#: builtin/pack-objects.c:4002
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "la profondeur %d de chaîne de delta est trop grande, forcée à %d"
 
-#: builtin/pack-objects.c:4038
+#: builtin/pack-objects.c:4007
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit est trop grand, forcé à %d"
 
-#: builtin/pack-objects.c:4094
+#: builtin/pack-objects.c:4063
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 "--max-pack-size ne peut pas être utilisé pour construire un paquet à "
 "transférer"
 
-#: builtin/pack-objects.c:4096
+#: builtin/pack-objects.c:4065
 msgid "minimum pack size limit is 1 MiB"
 msgstr "la taille limite minimale d'un paquet est 1 MiB"
 
-#: builtin/pack-objects.c:4101
+#: builtin/pack-objects.c:4070
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin ne peut pas être utilisé pour construire un paquet indexable"
 
-#: builtin/pack-objects.c:4104
+#: builtin/pack-objects.c:4073
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable et --unpack-unreachable sont incompatibles"
 
-#: builtin/pack-objects.c:4110
+#: builtin/pack-objects.c:4079
 msgid "cannot use --filter without --stdout"
 msgstr "impossible d'utiliser --filter sans --stdout"
 
-#: builtin/pack-objects.c:4112
+#: builtin/pack-objects.c:4081
 msgid "cannot use --filter with --stdin-packs"
 msgstr "impossible d'utiliser --filter avec --stdin-packs"
 
-#: builtin/pack-objects.c:4116
+#: builtin/pack-objects.c:4085
 msgid "cannot use internal rev list with --stdin-packs"
 msgstr "impossible d'utiliser un liste interne de révisions avec --stdin-packs"
 
-#: builtin/pack-objects.c:4175
+#: builtin/pack-objects.c:4144
 msgid "Enumerating objects"
 msgstr "Énumération des objets"
 
-#: builtin/pack-objects.c:4212
+#: builtin/pack-objects.c:4181
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -19477,7 +19789,7 @@ msgstr "faire expirer les objets plus vieux que <heure>"
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "limiter la traversée aux objets hors des fichiers paquets prometteurs"
 
-#: builtin/prune.c:152
+#: builtin/prune.c:151
 msgid "cannot prune in a precious-objects repo"
 msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
 
@@ -19502,11 +19814,11 @@ msgstr "Options relatives à la fusion"
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: builtin/pull.c:158 builtin/rebase.c:491 builtin/revert.c:126
+#: builtin/pull.c:158 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "autoriser l'avance rapide"
 
-#: builtin/pull.c:167 parse-options.h:340
+#: builtin/pull.c:167 parse-options.h:339
 msgid "automatically stash/stash pop before and after"
 msgstr "remiser et réappliquer automatiquement avant et après"
 
@@ -19562,7 +19874,7 @@ msgstr ""
 "configuration\n"
 "pour la branche actuelle, vous devez spécifier la branche avec la commande."
 
-#: builtin/pull.c:456 builtin/rebase.c:1248
+#: builtin/pull.c:456 builtin/rebase.c:951
 msgid "You are not currently on a branch."
 msgstr "Vous n'êtes actuellement sur aucune branche."
 
@@ -19579,7 +19891,7 @@ msgid "See git-pull(1) for details."
 msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 
 #: builtin/pull.c:463 builtin/pull.c:469 builtin/pull.c:478
-#: builtin/rebase.c:1254
+#: builtin/rebase.c:957
 msgid "<remote>"
 msgstr "<distant>"
 
@@ -19587,7 +19899,7 @@ msgstr "<distant>"
 msgid "<branch>"
 msgstr "<branche>"
 
-#: builtin/pull.c:471 builtin/rebase.c:1246
+#: builtin/pull.c:471 builtin/rebase.c:949
 msgid "There is no tracking information for the current branch."
 msgstr "Pas d'information de suivi distant pour la branche actuelle."
 
@@ -19617,11 +19929,11 @@ msgstr "impossible d'accéder le commit %s"
 msgid "ignoring --verify-signatures for rebase"
 msgstr "--verify-signatures est ignoré pour un rebasage"
 
-#: builtin/pull.c:930
+#: builtin/pull.c:936
 msgid ""
-"Pulling without specifying how to reconcile divergent branches is\n"
-"discouraged. You can squelch this message by running one of the following\n"
-"commands sometime before your next pull:\n"
+"You have divergent branches and need to specify how to reconcile them.\n"
+"You can do so by running one of the following commands sometime before\n"
+"your next pull:\n"
 "\n"
 "  git config pull.rebase false  # merge (the default strategy)\n"
 "  git config pull.rebase true   # rebase\n"
@@ -19633,8 +19945,8 @@ msgid ""
 "or --ff-only on the command line to override the configured default per\n"
 "invocation.\n"
 msgstr ""
-"Tirer sans spécifier comment réconcilier les branches divergentes\n"
-"est découragé. Vous pouvez éliminer ce message en lançant une des\n"
+"Vous avez des branches divergentes et vous devez spécifier comment\n"
+"les réconcilier. Vous pouvez le faire en lançant une des\n"
 "commandes suivantes avant votre prochain tirage :\n"
 "\n"
 "  git config pull.rebase false  # fusion (stratégie par défaut)\n"
@@ -19646,21 +19958,21 @@ msgstr ""
 "passer --rebase, --no-rebase ou --ff-only sur la ligne de commande pour\n"
 "remplacer à l'invocation la valeur par défaut configurée.\n"
 
-#: builtin/pull.c:990
+#: builtin/pull.c:1010
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 "Mise à jour d'une branche non encore créée avec les changements ajoutés dans "
 "l'index."
 
-#: builtin/pull.c:994
+#: builtin/pull.c:1014
 msgid "pull with rebase"
 msgstr "tirer avec un rebasage"
 
-#: builtin/pull.c:995
+#: builtin/pull.c:1015
 msgid "please commit or stash them."
 msgstr "veuillez les valider ou les remiser."
 
-#: builtin/pull.c:1020
+#: builtin/pull.c:1040
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -19671,7 +19983,7 @@ msgstr ""
 "avance rapide de votre copie de travail\n"
 "depuis le commit %s."
 
-#: builtin/pull.c:1026
+#: builtin/pull.c:1046
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -19688,15 +20000,23 @@ msgstr ""
 "$ git reset --hard\n"
 "pour régénérer."
 
-#: builtin/pull.c:1041
+#: builtin/pull.c:1061
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Impossible de fusionner de multiples branches sur une tête vide."
 
-#: builtin/pull.c:1045
+#: builtin/pull.c:1066
 msgid "Cannot rebase onto multiple branches."
 msgstr "Impossible de rebaser sur de multiples branches."
 
-#: builtin/pull.c:1065
+#: builtin/pull.c:1068
+msgid "Cannot fast-forward to multiple branches."
+msgstr "Impossible d'aller en avance rapide sur de multiples branches."
+
+#: builtin/pull.c:1082
+msgid "Need to specify how to reconcile divergent branches."
+msgstr "Besoin de spécifier comment réconcilier des branches divergentes."
+
+#: builtin/pull.c:1096
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "impossible de rebaser avec des modifications de sous-modules enregistrées "
@@ -19889,15 +20209,15 @@ msgstr "Poussée vers %s\n"
 msgid "failed to push some refs to '%s'"
 msgstr "impossible de pousser des références vers '%s'"
 
-#: builtin/push.c:544
+#: builtin/push.c:544 builtin/submodule--helper.c:3258
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:545 builtin/send-pack.c:189
+#: builtin/push.c:545 builtin/send-pack.c:193
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:546 builtin/send-pack.c:191
+#: builtin/push.c:546 builtin/send-pack.c:195
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
@@ -19910,19 +20230,19 @@ msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "pousser les étiquettes (ne peut pas être utilisé avec --all ou --mirror)"
 
-#: builtin/push.c:552 builtin/send-pack.c:192
+#: builtin/push.c:552 builtin/send-pack.c:196
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:553 builtin/send-pack.c:204
+#: builtin/push.c:553 builtin/send-pack.c:208
 msgid "<refname>:<expect>"
 msgstr "<nom-de-ref>:<attendu>"
 
-#: builtin/push.c:554 builtin/send-pack.c:205
+#: builtin/push.c:554 builtin/send-pack.c:209
 msgid "require old value of ref to be at this value"
 msgstr "exiger que l'ancienne valeur de la référence soit à cette valeur"
 
-#: builtin/push.c:557 builtin/send-pack.c:208
+#: builtin/push.c:557 builtin/send-pack.c:212
 msgid "require remote updates to be integrated locally"
 msgstr "exiger des mises à jours distantes pour une intégration locale"
 
@@ -19930,12 +20250,12 @@ msgstr "exiger des mises à jours distantes pour une intégration locale"
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:561 builtin/send-pack.c:199
+#: builtin/push.c:561 builtin/send-pack.c:203
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: builtin/push.c:562 builtin/push.c:563 builtin/send-pack.c:186
-#: builtin/send-pack.c:187
+#: builtin/push.c:562 builtin/push.c:563 builtin/send-pack.c:190
+#: builtin/send-pack.c:191
 msgid "receive pack program"
 msgstr "recevoir le programme d'empaquetage"
 
@@ -19955,11 +20275,11 @@ msgstr "éviter d'utiliser le crochet pre-push"
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:572 builtin/send-pack.c:193
+#: builtin/push.c:572 builtin/send-pack.c:197
 msgid "GPG sign the push"
 msgstr "signer la poussée avec GPG"
 
-#: builtin/push.c:574 builtin/send-pack.c:200
+#: builtin/push.c:574 builtin/send-pack.c:204
 msgid "request atomic transaction on remote side"
 msgstr "demande une transaction atomique sur le serveur distant"
 
@@ -20074,83 +20394,79 @@ msgstr "plage entre deux commits requise"
 #: builtin/read-tree.c:41
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
-"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
-msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
-"prefix=<préfixe>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-"
-"sparse-checkout] [--index-output=<fichier>] (--empty | <arbre-esque> [<arbre-"
-"esque 2> [<arbre-esque 3>]])"
+"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
+"ish1> [<tree-ish2> [<tree-ish3>]])"
+msgstr "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<préfixe>) [-u | -i]] [--no-sparse-checkout] [--index-output=<fichier>] (--empty | <arbre-esque1> [<arbre-esque2> [<arbre-esque3>]])"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:116
 msgid "write resulting index to <file>"
 msgstr "écrire l'index résultant dans <fichier>"
 
-#: builtin/read-tree.c:127
+#: builtin/read-tree.c:119
 msgid "only empty the index"
 msgstr "juste vider l'index"
 
-#: builtin/read-tree.c:129
+#: builtin/read-tree.c:121
 msgid "Merging"
 msgstr "Fusion"
 
-#: builtin/read-tree.c:131
+#: builtin/read-tree.c:123
 msgid "perform a merge in addition to a read"
 msgstr "effectuer une fusion en plus d'une lecture"
 
-#: builtin/read-tree.c:133
+#: builtin/read-tree.c:125
 msgid "3-way merge if no file level merging required"
 msgstr "fusion à 3 points si aucune fusion de niveau fichier n'est requise"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:127
 msgid "3-way merge in presence of adds and removes"
 msgstr "fusion à 3 points en présence d'ajouts et suppressions"
 
-#: builtin/read-tree.c:137
+#: builtin/read-tree.c:129
 msgid "same as -m, but discard unmerged entries"
 msgstr "comme -m, mais annule les éléments non fusionnés"
 
-#: builtin/read-tree.c:138
+#: builtin/read-tree.c:130
 msgid "<subdirectory>/"
 msgstr "<sous-répertoire>/"
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:131
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "lire l'arbre dans l'index dans <sous-répertoire>/"
 
-#: builtin/read-tree.c:142
+#: builtin/read-tree.c:134
 msgid "update working tree with merge result"
 msgstr "mettre à jour la copie de travail avec le résultat de la fusion"
 
-#: builtin/read-tree.c:144
+#: builtin/read-tree.c:136
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:145
+#: builtin/read-tree.c:137
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "autoriser explicitement les fichiers ignorés à être écrasés"
 
-#: builtin/read-tree.c:148
+#: builtin/read-tree.c:140
 msgid "don't check the working tree after merging"
 msgstr "ne pas vérifier la copie de travail après la fusion"
 
-#: builtin/read-tree.c:149
+#: builtin/read-tree.c:141
 msgid "don't update the index or the work tree"
 msgstr "ne pas mettre à jour l'index ou la copie de travail"
 
-#: builtin/read-tree.c:151
+#: builtin/read-tree.c:143
 msgid "skip applying sparse checkout filter"
 msgstr "sauter l'application du filtre d'extraction creuse"
 
-#: builtin/read-tree.c:153
+#: builtin/read-tree.c:145
 msgid "debug unpack-trees"
 msgstr "déboguer unpack-trees"
 
-#: builtin/read-tree.c:157
+#: builtin/read-tree.c:149
 msgid "suppress feedback messages"
 msgstr "supprimer les messages d'information de suivi"
 
-#: builtin/read-tree.c:188
+#: builtin/read-tree.c:183
 msgid "You need to resolve your current index first"
 msgstr "Vous devez d'abord résoudre votre index courant"
 
@@ -20173,193 +20489,44 @@ msgstr ""
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:194 builtin/rebase.c:218 builtin/rebase.c:245
-#, c-format
-msgid "unusable todo list: '%s'"
-msgstr "liste à faire inutilisable : '%s'"
-
-#: builtin/rebase.c:311
+#: builtin/rebase.c:230
 #, c-format
 msgid "could not create temporary %s"
 msgstr "impossible de créer un fichier temporaire %s"
 
-#: builtin/rebase.c:317
+#: builtin/rebase.c:236
 msgid "could not mark as interactive"
 msgstr "impossible de marquer comme interactif"
 
-#: builtin/rebase.c:370
+#: builtin/rebase.c:289
 msgid "could not generate todo list"
 msgstr "impossible de générer la liste à-faire"
 
-#: builtin/rebase.c:412
+#: builtin/rebase.c:331
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "un commit de base doit être fourni avec --upstream ou --onto"
 
-#: builtin/rebase.c:481
-msgid "git rebase--interactive [<options>]"
-msgstr "git rebase--interactive [<options>]"
-
-#: builtin/rebase.c:494 builtin/rebase.c:1389
-msgid "keep commits which start empty"
-msgstr "conserver les commits qui commencent vides"
-
-#: builtin/rebase.c:498 builtin/revert.c:128
-msgid "allow commits with empty messages"
-msgstr "autoriser les validations avec des messages vides"
-
-#: builtin/rebase.c:500
-msgid "rebase merge commits"
-msgstr "rebaser les commits de fusion"
-
-#: builtin/rebase.c:502
-msgid "keep original branch points of cousins"
-msgstr "conserver les points de branchement de cousins originaux"
-
-#: builtin/rebase.c:504
-msgid "move commits that begin with squash!/fixup!"
-msgstr "déplacer les commits qui commencent par squash!/fixup!"
-
-#: builtin/rebase.c:505
-msgid "sign commits"
-msgstr "signer les commits"
-
-#: builtin/rebase.c:507 builtin/rebase.c:1328
-msgid "display a diffstat of what changed upstream"
-msgstr "afficher un diffstat de ce qui a changé en amont"
-
-#: builtin/rebase.c:509
-msgid "continue rebase"
-msgstr "continuer le rebasage"
-
-#: builtin/rebase.c:511
-msgid "skip commit"
-msgstr "sauter le commit"
-
-#: builtin/rebase.c:512
-msgid "edit the todo list"
-msgstr "éditer la liste à-faire"
-
-#: builtin/rebase.c:514
-msgid "show the current patch"
-msgstr "afficher le patch courant"
-
-#: builtin/rebase.c:517
-msgid "shorten commit ids in the todo list"
-msgstr "raccourcir les identifiants de commits dans la liste à-faire"
-
-#: builtin/rebase.c:519
-msgid "expand commit ids in the todo list"
-msgstr "étendre les identifiants de commit dans la liste à-faire"
-
-#: builtin/rebase.c:521
-msgid "check the todo list"
-msgstr "vérifier la liste à-faire"
-
-#: builtin/rebase.c:523
-msgid "rearrange fixup/squash lines"
-msgstr "réarranger les lignes fixup/squash"
-
-#: builtin/rebase.c:525
-msgid "insert exec commands in todo list"
-msgstr "insérer les commandes exec dans la liste à-faire"
-
-#: builtin/rebase.c:526
-msgid "onto"
-msgstr "sur"
-
-#: builtin/rebase.c:529
-msgid "restrict-revision"
-msgstr "restrict-revision"
-
-#: builtin/rebase.c:529
-msgid "restrict revision"
-msgstr "restreindre la révision"
-
-#: builtin/rebase.c:531
-msgid "squash-onto"
-msgstr "écraser-sur"
-
-#: builtin/rebase.c:532
-msgid "squash onto"
-msgstr "écraser sur"
-
-#: builtin/rebase.c:534
-msgid "the upstream commit"
-msgstr "le commit amont"
-
-#: builtin/rebase.c:536
-msgid "head-name"
-msgstr "nom du head"
-
-#: builtin/rebase.c:536
-msgid "head name"
-msgstr "nom du head"
-
-#: builtin/rebase.c:541
-msgid "rebase strategy"
-msgstr "stratégie de rebasage"
-
-#: builtin/rebase.c:542
-msgid "strategy-opts"
-msgstr "options de stratégie"
-
-#: builtin/rebase.c:543
-msgid "strategy options"
-msgstr "options de stratégie"
-
-#: builtin/rebase.c:544
-msgid "switch-to"
-msgstr "switch-to"
-
-#: builtin/rebase.c:545
-msgid "the branch or commit to checkout"
-msgstr "la branche ou le commit à extraire"
-
-#: builtin/rebase.c:546
-msgid "onto-name"
-msgstr "sur-le-nom"
-
-#: builtin/rebase.c:546
-msgid "onto name"
-msgstr "sur le nom"
-
-#: builtin/rebase.c:547
-msgid "cmd"
-msgstr "cmd"
-
-#: builtin/rebase.c:547
-msgid "the command to run"
-msgstr "la commande à lancer"
-
-#: builtin/rebase.c:550 builtin/rebase.c:1422
-msgid "automatically re-schedule any `exec` that fails"
-msgstr "re-planifier automatiquement tout `exec` qui échoue"
-
-#: builtin/rebase.c:566
-msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
-msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
-
-#: builtin/rebase.c:582
+#: builtin/rebase.c:390
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s requiert un moteur de fusion"
 
-#: builtin/rebase.c:625
+#: builtin/rebase.c:432
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "impossible d'accéder 'onto' : '%s'"
 
-#: builtin/rebase.c:642
+#: builtin/rebase.c:449
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head invalide : '%s'"
 
-#: builtin/rebase.c:667
+#: builtin/rebase.c:474
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "allow_rerere_autoupdate invalide ignoré : '%s'"
 
-#: builtin/rebase.c:813 git-rebase--preserve-merges.sh:81
+#: builtin/rebase.c:597
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -20373,7 +20540,7 @@ msgstr ""
 "arrêter\n"
 "et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
 
-#: builtin/rebase.c:896
+#: builtin/rebase.c:680
 #, c-format
 msgid ""
 "\n"
@@ -20392,7 +20559,7 @@ msgstr ""
 "\n"
 "Résultat, git ne peut pas les rebaser."
 
-#: builtin/rebase.c:1222
+#: builtin/rebase.c:925
 #, c-format
 msgid ""
 "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
@@ -20401,7 +20568,7 @@ msgstr ""
 "type vide non connu '%s' ; les valeurs valides sont \"drop\" (abandonner), "
 "\"keep\" (garder) et \"ask\" (demander)."
 
-#: builtin/rebase.c:1240
+#: builtin/rebase.c:943
 #, c-format
 msgid ""
 "%s\n"
@@ -20418,7 +20585,7 @@ msgstr ""
 "    git rebase '<branche>'\n"
 "\n"
 
-#: builtin/rebase.c:1256
+#: builtin/rebase.c:959
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -20432,186 +20599,195 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<branche> %s\n"
 "\n"
 
-#: builtin/rebase.c:1286
+#: builtin/rebase.c:989
 msgid "exec commands cannot contain newlines"
 msgstr "les commandes exec ne peut pas contenir de retour à la ligne"
 
-#: builtin/rebase.c:1290
+#: builtin/rebase.c:993
 msgid "empty exec command"
 msgstr "commande exec vide"
 
-#: builtin/rebase.c:1319
+#: builtin/rebase.c:1023
 msgid "rebase onto given branch instead of upstream"
 msgstr "rebaser sur la branche %s au lieu de la branche amont"
 
-#: builtin/rebase.c:1321
+#: builtin/rebase.c:1025
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr ""
 "utiliser la base de fusion de l'amont et la branche comme base actuelle"
 
-#: builtin/rebase.c:1323
+#: builtin/rebase.c:1027
 msgid "allow pre-rebase hook to run"
 msgstr "permettre le lancement du crochet pre-rebase"
 
-#: builtin/rebase.c:1325
+#: builtin/rebase.c:1029
 msgid "be quiet. implies --no-stat"
 msgstr "être silencieux. implique --no-stat"
 
-#: builtin/rebase.c:1331
+#: builtin/rebase.c:1032
+msgid "display a diffstat of what changed upstream"
+msgstr "afficher un diffstat de ce qui a changé en amont"
+
+#: builtin/rebase.c:1035
 msgid "do not show diffstat of what changed upstream"
 msgstr "ne pas afficher un diffstat de ce qui a changé en amont"
 
-#: builtin/rebase.c:1334
+#: builtin/rebase.c:1038
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "ajouter une ligne Signed-off-by à chaque message de validation"
 
-#: builtin/rebase.c:1337
+#: builtin/rebase.c:1041
 msgid "make committer date match author date"
 msgstr "mettre la date de validateur à la date auteur"
 
-#: builtin/rebase.c:1339
+#: builtin/rebase.c:1043
 msgid "ignore author date and use current date"
 msgstr "ignorer la date d'auteur et utilise la date actuelle"
 
-#: builtin/rebase.c:1341
+#: builtin/rebase.c:1045
 msgid "synonym of --reset-author-date"
 msgstr "synonyme pour --reset-author-date"
 
-#: builtin/rebase.c:1343 builtin/rebase.c:1347
+#: builtin/rebase.c:1047 builtin/rebase.c:1051
 msgid "passed to 'git apply'"
 msgstr "passé jusqu'à git apply"
 
-#: builtin/rebase.c:1345
+#: builtin/rebase.c:1049
 msgid "ignore changes in whitespace"
 msgstr "ignorer des modifications d'espaces"
 
-#: builtin/rebase.c:1349 builtin/rebase.c:1352
+#: builtin/rebase.c:1053 builtin/rebase.c:1056
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "picorer tous les commits, même sans modifiant"
 
-#: builtin/rebase.c:1354
+#: builtin/rebase.c:1058
 msgid "continue"
 msgstr "continuer"
 
-#: builtin/rebase.c:1357
+#: builtin/rebase.c:1061
 msgid "skip current patch and continue"
 msgstr "sauter le patch courant et continuer"
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1063
 msgid "abort and check out the original branch"
 msgstr "abandonner et extraire la branche d'origine"
 
-#: builtin/rebase.c:1362
+#: builtin/rebase.c:1066
 msgid "abort but keep HEAD where it is"
 msgstr "abandonne mais garde HEAD où il est"
 
-#: builtin/rebase.c:1363
+#: builtin/rebase.c:1067
 msgid "edit the todo list during an interactive rebase"
 msgstr "éditer la liste à faire lors d'un rebasage interactif"
 
-#: builtin/rebase.c:1366
+#: builtin/rebase.c:1070
 msgid "show the patch file being applied or merged"
 msgstr "afficher le patch en cours d'application ou de fusion"
 
-#: builtin/rebase.c:1369
+#: builtin/rebase.c:1073
 msgid "use apply strategies to rebase"
 msgstr "utiliser des stratégies d'application pour rebaser"
 
-#: builtin/rebase.c:1373
+#: builtin/rebase.c:1077
 msgid "use merging strategies to rebase"
 msgstr "utiliser des stratégies de fusion pour rebaser"
 
-#: builtin/rebase.c:1377
+#: builtin/rebase.c:1081
 msgid "let the user edit the list of commits to rebase"
 msgstr "laisser l'utilisateur éditer la liste des commits à rebaser"
 
-#: builtin/rebase.c:1381
+#: builtin/rebase.c:1085
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(DÉCONSEILLÉ) essayer de recréer les fusions au lieu de les ignorer"
 
-#: builtin/rebase.c:1386
+#: builtin/rebase.c:1090
 msgid "how to handle commits that become empty"
 msgstr "comment gérer les commits qui deviennent vides"
 
-#: builtin/rebase.c:1393
+#: builtin/rebase.c:1093
+msgid "keep commits which start empty"
+msgstr "conserver les commits qui commencent vides"
+
+#: builtin/rebase.c:1097
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "déplace les commits qui commencent par squash!/fixup! sous -i"
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1104
 msgid "add exec lines after each commit of the editable list"
 msgstr "ajouter les lignes exec après chaque commit de la liste éditable"
 
-#: builtin/rebase.c:1404
+#: builtin/rebase.c:1108
 msgid "allow rebasing commits with empty messages"
 msgstr "autoriser les commits de rebasage avec des messages vides"
 
-#: builtin/rebase.c:1408
+#: builtin/rebase.c:1112
 msgid "try to rebase merges instead of skipping them"
 msgstr "essayer de rebaser les fusions au lieu de les garder"
 
-#: builtin/rebase.c:1411
+#: builtin/rebase.c:1115
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "utiliser 'merge-base --fork-point' pour raffiner l'amont"
 
-#: builtin/rebase.c:1413
+#: builtin/rebase.c:1117
 msgid "use the given merge strategy"
 msgstr "utiliser la stratégie de fusion indiquée"
 
-#: builtin/rebase.c:1415 builtin/revert.c:115
+#: builtin/rebase.c:1119 builtin/revert.c:115
 msgid "option"
 msgstr "option"
 
-#: builtin/rebase.c:1416
+#: builtin/rebase.c:1120
 msgid "pass the argument through to the merge strategy"
 msgstr "passer les arguments jusqu'à la stratégie de fusion"
 
-#: builtin/rebase.c:1419
+#: builtin/rebase.c:1123
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "rebaser tous les objets inatteignables depuis les racines"
 
-#: builtin/rebase.c:1424
+#: builtin/rebase.c:1126
+msgid "automatically re-schedule any `exec` that fails"
+msgstr "re-planifier automatiquement tout `exec` qui échoue"
+
+#: builtin/rebase.c:1128
 msgid "apply all changes, even those already present upstream"
 msgstr ""
 "appliquer toutes les modifications, même celles déjà présentes en amont"
 
-#: builtin/rebase.c:1442
+#: builtin/rebase.c:1149
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "Il semble que 'git am' soit en cours. Impossible de rebaser."
 
-#: builtin/rebase.c:1483
-msgid ""
-"git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
-msgstr ""
-"git rebase --preserve-merges est déconseillé. Utilisez --rebase-merges à la "
-"place."
+#: builtin/rebase.c:1180
+msgid "--preserve-merges was replaced by --rebase-merges"
+msgstr "--preserve-merges a été remplacé par --rebase-merges"
 
-#: builtin/rebase.c:1488
+#: builtin/rebase.c:1193
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "impossible de combiner '--keep-base' avec '--onto'"
 
-#: builtin/rebase.c:1490
+#: builtin/rebase.c:1195
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "impossible de combiner '--keep-base' avec '--root'"
 
-#: builtin/rebase.c:1494
+#: builtin/rebase.c:1199
 msgid "cannot combine '--root' with '--fork-point'"
 msgstr "impossible de combiner '--root' avec '--fork-point'"
 
-#: builtin/rebase.c:1497
+#: builtin/rebase.c:1202
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: builtin/rebase.c:1501
+#: builtin/rebase.c:1206
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "L'action --edit-todo peut seulement être utilisée lors d'un rebasage "
 "interactif."
 
-#: builtin/rebase.c:1524 t/helper/test-fast-rebase.c:122
+#: builtin/rebase.c:1229 t/helper/test-fast-rebase.c:122
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: builtin/rebase.c:1536
+#: builtin/rebase.c:1241
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -20619,16 +20795,16 @@ msgstr ""
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: builtin/rebase.c:1555
+#: builtin/rebase.c:1260
 msgid "could not discard worktree changes"
 msgstr "impossible de supprimer les changements de l'arbre de travail"
 
-#: builtin/rebase.c:1574
+#: builtin/rebase.c:1279
 #, c-format
 msgid "could not move back to %s"
 msgstr "impossible de revenir à %s"
 
-#: builtin/rebase.c:1620
+#: builtin/rebase.c:1325
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -20650,145 +20826,134 @@ msgstr ""
 "chose\n"
 "d'important ici.\n"
 
-#: builtin/rebase.c:1648
+#: builtin/rebase.c:1353
 msgid "switch `C' expects a numerical value"
 msgstr "l'option `C' attend un valeur numérique"
 
-#: builtin/rebase.c:1690
+#: builtin/rebase.c:1395
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Mode inconnu : %s"
 
-#: builtin/rebase.c:1729
+#: builtin/rebase.c:1434
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy requiert --merge ou --interactive"
 
-#: builtin/rebase.c:1759
+#: builtin/rebase.c:1463
 msgid "cannot combine apply options with merge options"
 msgstr ""
 "impossible de combiner les options d'application avec les options de fusion"
 
-#: builtin/rebase.c:1772
+#: builtin/rebase.c:1476
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "Backend de rebasage inconnu : %s"
 
-#: builtin/rebase.c:1802
+#: builtin/rebase.c:1505
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec requiert --exec ou --interactive"
 
-#: builtin/rebase.c:1822
-msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
-msgstr "impossible de combiner '--preserve-merges' avec '--rebase-merges'"
-
-#: builtin/rebase.c:1826
-msgid ""
-"error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
-msgstr ""
-"erreur : impossible de combiner '--preserve-merges' avec '--reschedule-"
-"failed-exec'"
-
-#: builtin/rebase.c:1850
+#: builtin/rebase.c:1536
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "amont invalide '%s'"
 
-#: builtin/rebase.c:1856
+#: builtin/rebase.c:1542
 msgid "Could not create new root commit"
 msgstr "Impossible de créer un nouveau commit racine"
 
-#: builtin/rebase.c:1882
+#: builtin/rebase.c:1568
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "'%s': exactement une base de fusion nécessaire avec une branche"
 
-#: builtin/rebase.c:1885
+#: builtin/rebase.c:1571
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s': exactement une base de fusion nécessaire"
 
-#: builtin/rebase.c:1893
+#: builtin/rebase.c:1580
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "Ne pointe pas sur une validation valide : '%s'"
 
-#: builtin/rebase.c:1921
+#: builtin/rebase.c:1607
 #, c-format
-msgid "fatal: no such branch/commit '%s'"
-msgstr "fatal : pas de branche ou commit '%s'"
+msgid "no such branch/commit '%s'"
+msgstr "pas de branche ou commit '%s'"
 
-#: builtin/rebase.c:1929 builtin/submodule--helper.c:39
-#: builtin/submodule--helper.c:2431
+#: builtin/rebase.c:1618 builtin/submodule--helper.c:39
+#: builtin/submodule--helper.c:2658
 #, c-format
 msgid "No such ref: %s"
 msgstr "Référence inexistante : %s"
 
-#: builtin/rebase.c:1940
+#: builtin/rebase.c:1629
 msgid "Could not resolve HEAD to a revision"
 msgstr "Impossible de résoudre le commit HEAD vers un révision"
 
-#: builtin/rebase.c:1961
+#: builtin/rebase.c:1650
 msgid "Please commit or stash them."
 msgstr "Veuillez les valider ou les remiser."
 
-#: builtin/rebase.c:1997
+#: builtin/rebase.c:1686
 #, c-format
 msgid "could not switch to %s"
 msgstr "impossible de basculer vers %s"
 
-#: builtin/rebase.c:2008
+#: builtin/rebase.c:1697
 msgid "HEAD is up to date."
 msgstr "HEAD est à jour."
 
-#: builtin/rebase.c:2010
+#: builtin/rebase.c:1699
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "La branche courante %s est à jour.\n"
 
-#: builtin/rebase.c:2018
+#: builtin/rebase.c:1707
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD est à jour, rebasage forcé."
 
-#: builtin/rebase.c:2020
+#: builtin/rebase.c:1709
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "La branche courante %s est à jour, rebasage forcé.\n"
 
-#: builtin/rebase.c:2028
+#: builtin/rebase.c:1717
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: builtin/rebase.c:2035
+#: builtin/rebase.c:1724
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Changements vers %s :\n"
 
-#: builtin/rebase.c:2038
+#: builtin/rebase.c:1727
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Changements de %s sur %s :\n"
 
-#: builtin/rebase.c:2063
+#: builtin/rebase.c:1752
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Rembobinage préalable de head pour pouvoir rejouer votre travail par-"
 "dessus...\n"
 
-#: builtin/rebase.c:2072
+#: builtin/rebase.c:1761
 msgid "Could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: builtin/rebase.c:2081
+#: builtin/rebase.c:1770
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Avance rapide de %s sur %s.\n"
 
-#: builtin/receive-pack.c:34
+#: builtin/receive-pack.c:35
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
-#: builtin/receive-pack.c:1275
+#: builtin/receive-pack.c:1280
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -20818,7 +20983,7 @@ msgstr ""
 "Pour éliminer ce message et conserver le comportement par défaut,\n"
 "réglez « receive.denyCurrentBranch » à 'refuse'."
 
-#: builtin/receive-pack.c:1295
+#: builtin/receive-pack.c:1300
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -20838,11 +21003,11 @@ msgstr ""
 "\n"
 "Pour éliminer ce message, réglez-le à 'refuse'."
 
-#: builtin/receive-pack.c:2478
+#: builtin/receive-pack.c:2480
 msgid "quiet"
 msgstr "quiet"
 
-#: builtin/receive-pack.c:2492
+#: builtin/receive-pack.c:2495
 msgid "You must specify a directory."
 msgstr "Vous devez spécifier un répertoire."
 
@@ -20883,7 +21048,7 @@ msgstr "Marquage des objets inaccessibles..."
 msgid "%s points nowhere!"
 msgstr "%s ne pointe nulle part !"
 
-#: builtin/reflog.c:699
+#: builtin/reflog.c:700
 msgid "no reflog specified to delete"
 msgstr "pas de journal de références à supprimer spécifié"
 
@@ -21043,7 +21208,7 @@ msgstr ""
 "spécifier les branches à suivre n'a de sens qu'avec des miroirs de "
 "rapatriement"
 
-#: builtin/remote.c:195 builtin/remote.c:700
+#: builtin/remote.c:195 builtin/remote.c:705
 #, c-format
 msgid "remote %s already exists."
 msgstr "la distante %s existe déjà."
@@ -21053,27 +21218,32 @@ msgstr "la distante %s existe déjà."
 msgid "Could not setup master '%s'"
 msgstr "Impossible de paramétrer la maîtresse '%s'"
 
-#: builtin/remote.c:355
+#: builtin/remote.c:322
+#, c-format
+msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
+msgstr "branch.%s.rebase=%s non géré ; 'true' supposé"
+
+#: builtin/remote.c:366
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
 "Impossible d'obtenir une correspondance distante pour la spécification de "
 "référence %s"
 
-#: builtin/remote.c:454 builtin/remote.c:462
+#: builtin/remote.c:460 builtin/remote.c:468
 msgid "(matching)"
 msgstr "(correspond)"
 
-#: builtin/remote.c:466
+#: builtin/remote.c:472
 msgid "(delete)"
 msgstr "(supprimer)"
 
-#: builtin/remote.c:655
+#: builtin/remote.c:660
 #, c-format
 msgid "could not set '%s'"
 msgstr "impossible d'assigner '%s'"
 
-#: builtin/remote.c:660
+#: builtin/remote.c:665
 #, c-format
 msgid ""
 "The %s configuration remote.pushDefault in:\n"
@@ -21084,17 +21254,17 @@ msgstr ""
 "\t%s%d\n"
 "nomme à présent le distant inexistant '%s'"
 
-#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:943
+#: builtin/remote.c:696 builtin/remote.c:841 builtin/remote.c:948
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Pas de serveur remote : '%s'"
 
-#: builtin/remote.c:710
+#: builtin/remote.c:715
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Impossible de renommer la section de configuration '%s' en '%s'"
 
-#: builtin/remote.c:730
+#: builtin/remote.c:735
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -21105,17 +21275,17 @@ msgstr ""
 "\t%s\n"
 "\tVeuillez mettre à jour la configuration manuellement si nécessaire."
 
-#: builtin/remote.c:770
+#: builtin/remote.c:775
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "échec de suppression de '%s'"
 
-#: builtin/remote.c:804
+#: builtin/remote.c:809
 #, c-format
 msgid "creating '%s' failed"
 msgstr "échec de création de '%s'"
 
-#: builtin/remote.c:882
+#: builtin/remote.c:887
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -21130,118 +21300,118 @@ msgstr[1] ""
 "supprimées ;\n"
 "pour les supprimer, utilisez :"
 
-#: builtin/remote.c:896
+#: builtin/remote.c:901
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Impossible de supprimer la section de configuration '%s'"
 
-#: builtin/remote.c:999
+#: builtin/remote.c:1009
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
 
-#: builtin/remote.c:1002
+#: builtin/remote.c:1012
 msgid " tracked"
 msgstr " suivi"
 
-#: builtin/remote.c:1004
+#: builtin/remote.c:1014
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " dépassé (utilisez 'git remote prune' pour supprimer)"
 
-#: builtin/remote.c:1006
+#: builtin/remote.c:1016
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:1047
+#: builtin/remote.c:1057
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge invalide ; ne peut pas rebaser sur plus d'une branche"
 
-#: builtin/remote.c:1056
+#: builtin/remote.c:1066
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "rebase de manière interactive sur la distante %s"
 
-#: builtin/remote.c:1058
+#: builtin/remote.c:1068
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "rebase de manière interactive (avec fusions) sur la distante %s"
 
-#: builtin/remote.c:1061
+#: builtin/remote.c:1071
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "rebase sur la distante %s"
 
-#: builtin/remote.c:1065
+#: builtin/remote.c:1075
 #, c-format
 msgid " merges with remote %s"
 msgstr " fusionne avec la distante %s"
 
-#: builtin/remote.c:1068
+#: builtin/remote.c:1078
 #, c-format
 msgid "merges with remote %s"
 msgstr "fusionne avec la distante %s"
 
-#: builtin/remote.c:1071
+#: builtin/remote.c:1081
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    et avec la distante %s\n"
 
-#: builtin/remote.c:1114
+#: builtin/remote.c:1124
 msgid "create"
 msgstr "créer"
 
-#: builtin/remote.c:1117
+#: builtin/remote.c:1127
 msgid "delete"
 msgstr "supprimer"
 
-#: builtin/remote.c:1121
+#: builtin/remote.c:1131
 msgid "up to date"
 msgstr "à jour"
 
-#: builtin/remote.c:1124
+#: builtin/remote.c:1134
 msgid "fast-forwardable"
 msgstr "peut être mis à jour en avance rapide"
 
-#: builtin/remote.c:1127
+#: builtin/remote.c:1137
 msgid "local out of date"
 msgstr "le local n'est pas à jour"
 
-#: builtin/remote.c:1134
+#: builtin/remote.c:1144
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s force vers %-*s (%s)"
 
-#: builtin/remote.c:1137
+#: builtin/remote.c:1147
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s pousse vers %-*s (%s)"
 
-#: builtin/remote.c:1141
+#: builtin/remote.c:1151
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s force vers %s"
 
-#: builtin/remote.c:1144
+#: builtin/remote.c:1154
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s pousse vers %s"
 
-#: builtin/remote.c:1212
+#: builtin/remote.c:1222
 msgid "do not query remotes"
 msgstr "ne pas interroger les distantes"
 
-#: builtin/remote.c:1239
+#: builtin/remote.c:1243
 #, c-format
 msgid "* remote %s"
 msgstr "* distante %s"
 
-#: builtin/remote.c:1240
+#: builtin/remote.c:1244
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL de rapatriement : %s"
 
-#: builtin/remote.c:1241 builtin/remote.c:1257 builtin/remote.c:1396
+#: builtin/remote.c:1245 builtin/remote.c:1261 builtin/remote.c:1398
 msgid "(no URL)"
 msgstr "(pas d'URL)"
 
@@ -21249,25 +21419,25 @@ msgstr "(pas d'URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1255 builtin/remote.c:1257
+#: builtin/remote.c:1259 builtin/remote.c:1261
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL push : %s"
 
-#: builtin/remote.c:1259 builtin/remote.c:1261 builtin/remote.c:1263
+#: builtin/remote.c:1263 builtin/remote.c:1265 builtin/remote.c:1267
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Branche HEAD : %s"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1263
 msgid "(not queried)"
 msgstr "(non demandé)"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1265
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: builtin/remote.c:1265
+#: builtin/remote.c:1269
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -21275,162 +21445,166 @@ msgstr ""
 "  Branche HEAD (la HEAD distante est ambiguë, peut être l'une des "
 "suivantes) :\n"
 
-#: builtin/remote.c:1277
+#: builtin/remote.c:1281
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branche distante :%s"
 msgstr[1] "  Branches distantes :%s"
 
-#: builtin/remote.c:1280 builtin/remote.c:1306
+#: builtin/remote.c:1284 builtin/remote.c:1310
 msgid " (status not queried)"
 msgstr " (état non demandé)"
 
-#: builtin/remote.c:1289
+#: builtin/remote.c:1293
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Branche locale configurée pour 'git pull' :"
 msgstr[1] "  Branches locales configurées pour 'git pull' :"
 
-#: builtin/remote.c:1297
+#: builtin/remote.c:1301
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Les références locales seront reflétées par 'git push'"
 
-#: builtin/remote.c:1303
+#: builtin/remote.c:1307
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Référence locale configurée pour 'git push'%s :"
 msgstr[1] "  Références locales configurées pour 'git push'%s :"
 
-#: builtin/remote.c:1324
+#: builtin/remote.c:1328
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
 
-#: builtin/remote.c:1326
+#: builtin/remote.c:1330
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "supprimer refs/remotes/<nom>/HEAD"
 
-#: builtin/remote.c:1341
+#: builtin/remote.c:1344
 msgid "Cannot determine remote HEAD"
 msgstr "Impossible de déterminer la HEAD distante"
 
-#: builtin/remote.c:1343
+#: builtin/remote.c:1346
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Il y a de multiples branches HEAD distantes. Veuillez en choisir une "
 "explicitement avec :"
 
-#: builtin/remote.c:1353
+#: builtin/remote.c:1356
 #, c-format
 msgid "Could not delete %s"
 msgstr "Impossible de supprimer %s"
 
-#: builtin/remote.c:1361
+#: builtin/remote.c:1364
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Référence non valide : %s"
 
-#: builtin/remote.c:1363
+#: builtin/remote.c:1366
 #, c-format
 msgid "Could not setup %s"
 msgstr "Impossible de paramétrer %s"
 
-#: builtin/remote.c:1381
+#: builtin/remote.c:1384
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s se retrouvera en suspens !"
 
-#: builtin/remote.c:1382
+#: builtin/remote.c:1385
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s se retrouve en suspens !"
 
-#: builtin/remote.c:1392
+#: builtin/remote.c:1394
 #, c-format
 msgid "Pruning %s"
 msgstr "Élimination de %s"
 
-#: builtin/remote.c:1393
+#: builtin/remote.c:1395
 #, c-format
 msgid "URL: %s"
 msgstr "URL : %s"
 
-#: builtin/remote.c:1409
+#: builtin/remote.c:1411
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [serait éliminé] %s"
 
-#: builtin/remote.c:1412
+#: builtin/remote.c:1414
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [éliminé] %s"
 
-#: builtin/remote.c:1457
+#: builtin/remote.c:1459
 msgid "prune remotes after fetching"
 msgstr "éliminer les distants après le rapatriement"
 
-#: builtin/remote.c:1521 builtin/remote.c:1577 builtin/remote.c:1647
+#: builtin/remote.c:1523 builtin/remote.c:1579 builtin/remote.c:1649
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Pas de serveur remote '%s'"
 
-#: builtin/remote.c:1539
+#: builtin/remote.c:1541
 msgid "add branch"
 msgstr "ajouter une branche"
 
-#: builtin/remote.c:1546
+#: builtin/remote.c:1548
 msgid "no remote specified"
 msgstr "pas de serveur distant spécifié"
 
-#: builtin/remote.c:1563
+#: builtin/remote.c:1565
 msgid "query push URLs rather than fetch URLs"
 msgstr "interroger les URLs de poussée plutôt que les URLs de récupération"
 
-#: builtin/remote.c:1565
+#: builtin/remote.c:1567
 msgid "return all URLs"
 msgstr "retourner toutes les URLs"
 
-#: builtin/remote.c:1595
+#: builtin/remote.c:1597
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "aucune URL configurée pour le dépôt distant '%s'"
 
-#: builtin/remote.c:1621
+#: builtin/remote.c:1623
 msgid "manipulate push URLs"
 msgstr "manipuler les URLs push"
 
-#: builtin/remote.c:1623
+#: builtin/remote.c:1625
 msgid "add URL"
 msgstr "ajouter une URL"
 
-#: builtin/remote.c:1625
+#: builtin/remote.c:1627
 msgid "delete URLs"
 msgstr "supprimer des URLs"
 
-#: builtin/remote.c:1632
+#: builtin/remote.c:1634
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete n'a aucun sens"
 
-#: builtin/remote.c:1673
+#: builtin/remote.c:1675
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Motif d'URL ancien invalide : %s"
 
-#: builtin/remote.c:1681
+#: builtin/remote.c:1683
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Pas d'URL trouvée : %s"
 
-#: builtin/remote.c:1683
+#: builtin/remote.c:1685
 msgid "Will not delete all non-push URLs"
 msgstr "Pas de suppression de toutes les URLs non-push"
 
-#: builtin/repack.c:26
+#: builtin/remote.c:1702
+msgid "be verbose; must be placed before a subcommand"
+msgstr "être verbeux : doit être placé avant une sous-commande"
+
+#: builtin/repack.c:28
 msgid "git repack [<options>]"
 msgstr "git repack [<options>]"
 
-#: builtin/repack.c:31
+#: builtin/repack.c:33
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -21439,147 +21613,160 @@ msgstr ""
 "Utilisez\n"
 "--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
 
-#: builtin/repack.c:198
+#: builtin/repack.c:201
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "ne pas démarrer pack-objects pour ré-empaqueter les objects de prometteur"
 
-#: builtin/repack.c:270 builtin/repack.c:630
+#: builtin/repack.c:273 builtin/repack.c:816
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack : attente de lignes d'Id d'objets en hexa complet seulement depuis "
 "les objects de paquet."
 
-#: builtin/repack.c:294
+#: builtin/repack.c:297
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 "impossible de terminer pack-objects  pour ré-empaqueter les objets de "
 "prometteur"
 
-#: builtin/repack.c:309
+#: builtin/repack.c:312
 #, c-format
 msgid "cannot open index for %s"
 msgstr "impossible d'ouvrir l'index pour %s"
 
-#: builtin/repack.c:368
+#: builtin/repack.c:371
 #, c-format
 msgid "pack %s too large to consider in geometric progression"
 msgstr ""
 "le paquet %s est trop gros pour être pris en compte dans un progression "
 "géométrique"
 
-#: builtin/repack.c:401 builtin/repack.c:408 builtin/repack.c:413
+#: builtin/repack.c:404 builtin/repack.c:411 builtin/repack.c:416
 #, c-format
 msgid "pack %s too large to roll up"
 msgstr "le paquet %s est trop gros à enrouler"
 
-#: builtin/repack.c:460
+#: builtin/repack.c:496
+#, c-format
+msgid "could not open tempfile %s for writing"
+msgstr "impossible d'ouvrir le fichier temporaire %s en écriture"
+
+#: builtin/repack.c:514
+msgid "could not close refs snapshot tempfile"
+msgstr "impossible de fermer le fichier temporaire d'instantané des réfs"
+
+#: builtin/repack.c:628
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:462
+#: builtin/repack.c:630
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:465
+#: builtin/repack.c:633
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:467
+#: builtin/repack.c:635
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:469
+#: builtin/repack.c:637
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:471
+#: builtin/repack.c:639
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git-update-server-info"
 
-#: builtin/repack.c:474
+#: builtin/repack.c:642
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:476
+#: builtin/repack.c:644
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:478
+#: builtin/repack.c:646
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "passer --delta-islands à git-pack-objects"
 
-#: builtin/repack.c:479
+#: builtin/repack.c:647
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:480
+#: builtin/repack.c:648
 msgid "with -A, do not loosen objects older than this"
 msgstr "avec -A, ne pas suspendre les objets plus vieux que celui-ci"
 
-#: builtin/repack.c:482
+#: builtin/repack.c:650
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:484
+#: builtin/repack.c:652
 msgid "size of the window used for delta compression"
 msgstr "taille de la fenêtre utilisée pour la compression des deltas"
 
-#: builtin/repack.c:485 builtin/repack.c:491
+#: builtin/repack.c:653 builtin/repack.c:659
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:486
+#: builtin/repack.c:654
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "idem ci-dessus, mais limiter la taille mémoire au lieu du nombre d'éléments"
 
-#: builtin/repack.c:488
+#: builtin/repack.c:656
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:490
+#: builtin/repack.c:658
 msgid "limits the maximum number of threads"
 msgstr "limite le nombre maximal de fils"
 
-#: builtin/repack.c:492
+#: builtin/repack.c:660
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:494
+#: builtin/repack.c:662
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:496
+#: builtin/repack.c:664
 msgid "do not repack this pack"
 msgstr "ne pas rempaqueter ce paquet"
 
-#: builtin/repack.c:498
+#: builtin/repack.c:666
 msgid "find a geometric progression with factor <N>"
 msgstr "trouver une progression géométrique avec un facteur <N>"
 
-#: builtin/repack.c:508
+#: builtin/repack.c:668
+msgid "write a multi-pack index of the resulting packs"
+msgstr "écrire un index de multi-paquet des paquets résultants"
+
+#: builtin/repack.c:678
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux"
 
-#: builtin/repack.c:512
+#: builtin/repack.c:682
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:527
+#: builtin/repack.c:713
 msgid "--geometric is incompatible with -A, -a"
 msgstr "--geometric est incompatible avec -A, -a"
 
-#: builtin/repack.c:639
+#: builtin/repack.c:825
 msgid "Nothing new to pack."
 msgstr "Rien de neuf à empaqueter."
 
-#: builtin/repack.c:669
+#: builtin/repack.c:855
 #, c-format
 msgid "missing required file: %s"
 msgstr "fichier nécessaire manquant : %s"
 
-#: builtin/repack.c:671
+#: builtin/repack.c:857
 #, c-format
 msgid "could not unlink: %s"
 msgstr "impossible de délier : '%s'"
@@ -21891,95 +22078,95 @@ msgstr "merge"
 msgid "keep"
 msgstr "keep"
 
-#: builtin/reset.c:83
+#: builtin/reset.c:89
 msgid "You do not have a valid HEAD."
 msgstr "Vous n'avez pas une HEAD valide."
 
-#: builtin/reset.c:85
+#: builtin/reset.c:91
 msgid "Failed to find tree of HEAD."
 msgstr "Impossible de trouver l'arbre pour HEAD."
 
-#: builtin/reset.c:91
+#: builtin/reset.c:97
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Impossible de trouver l'arbre pour %s."
 
-#: builtin/reset.c:116
+#: builtin/reset.c:122
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD est maintenant à %s"
 
-#: builtin/reset.c:195
+#: builtin/reset.c:201
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Impossible de faire un \"reset %s\" au milieu d'une fusion."
 
-#: builtin/reset.c:295 builtin/stash.c:589 builtin/stash.c:663
-#: builtin/stash.c:687
+#: builtin/reset.c:301 builtin/stash.c:605 builtin/stash.c:679
+#: builtin/stash.c:703
 msgid "be quiet, only report errors"
 msgstr "être silencieux, afficher seulement les erreurs"
 
-#: builtin/reset.c:297
+#: builtin/reset.c:303
 msgid "reset HEAD and index"
 msgstr "réinitialiser HEAD et l'index"
 
-#: builtin/reset.c:298
+#: builtin/reset.c:304
 msgid "reset only HEAD"
 msgstr "réinitialiser seulement HEAD"
 
-#: builtin/reset.c:300 builtin/reset.c:302
+#: builtin/reset.c:306 builtin/reset.c:308
 msgid "reset HEAD, index and working tree"
 msgstr "réinitialiser HEAD, l'index et la copie de travail"
 
-#: builtin/reset.c:304
+#: builtin/reset.c:310
 msgid "reset HEAD but keep local changes"
 msgstr "réinitialiser HEAD mais garder les changements locaux"
 
-#: builtin/reset.c:310
+#: builtin/reset.c:316
 msgid "record only the fact that removed paths will be added later"
 msgstr ""
 "enregistrer seulement le fait que les chemins effacés seront ajoutés plus "
 "tard"
 
-#: builtin/reset.c:344
+#: builtin/reset.c:350
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Échec de résolution de '%s' comme une révision valide."
 
-#: builtin/reset.c:352
+#: builtin/reset.c:358
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Échec de résolution de '%s' comme un arbre valide."
 
-#: builtin/reset.c:361
+#: builtin/reset.c:367
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch est incompatible avec --{hard,mixed,soft}"
 
-#: builtin/reset.c:371
+#: builtin/reset.c:377
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed avec des chemins est obsolète ; utilisez 'git reset -- <paths>' à la "
 "place."
 
-#: builtin/reset.c:373
+#: builtin/reset.c:379
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Impossible de faire un \"%s reset\" avec des chemins."
 
-#: builtin/reset.c:388
+#: builtin/reset.c:394
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "Le \"%s reset\" n'est pas permis dans un dépôt nu"
 
-#: builtin/reset.c:392
+#: builtin/reset.c:398
 msgid "-N can only be used with --mixed"
 msgstr "-N ne peut être utilisé qu'avec --mixed"
 
-#: builtin/reset.c:413
+#: builtin/reset.c:419
 msgid "Unstaged changes after reset:"
 msgstr "Modifications non indexées après reset :"
 
-#: builtin/reset.c:416
+#: builtin/reset.c:422
 #, c-format
 msgid ""
 "\n"
@@ -21994,12 +22181,12 @@ msgstr ""
 "de\n"
 "config reset.quiet à true pour avoir ce comportement en permanence.\n"
 
-#: builtin/reset.c:434
+#: builtin/reset.c:440
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Impossible de réinitialiser le fichier d'index à la révision '%s'."
 
-#: builtin/reset.c:439
+#: builtin/reset.c:445
 msgid "Could not write new index file."
 msgstr "Impossible d'écrire le nouveau fichier d'index."
 
@@ -22180,15 +22367,19 @@ msgstr "ajouter le nom de validation"
 msgid "preserve initially empty commits"
 msgstr "préserver les validations vides initialement"
 
+#: builtin/revert.c:128
+msgid "allow commits with empty messages"
+msgstr "autoriser les validations avec des messages vides"
+
 #: builtin/revert.c:129
 msgid "keep redundant, empty commits"
 msgstr "garder les validations redondantes, vides"
 
-#: builtin/revert.c:237
+#: builtin/revert.c:241
 msgid "revert failed"
 msgstr "revert a échoué"
 
-#: builtin/revert.c:250
+#: builtin/revert.c:254
 msgid "cherry-pick failed"
 msgstr "le picorage a échoué"
 
@@ -22238,73 +22429,72 @@ msgid_plural "the following files have local modifications:"
 msgstr[0] "le fichier suivant a des modifications locales :"
 msgstr[1] "les fichiers suivants ont des modifications locales :"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "do not list removed files"
 msgstr "ne pas afficher les fichiers supprimés"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "only remove from the index"
 msgstr "supprimer seulement de l'index"
 
-#: builtin/rm.c:246
+#: builtin/rm.c:247
 msgid "override the up-to-date check"
 msgstr "outrepasser la vérification des fichiers à jour"
 
-#: builtin/rm.c:247
+#: builtin/rm.c:248
 msgid "allow recursive removal"
 msgstr "autoriser la suppression récursive"
 
-#: builtin/rm.c:249
+#: builtin/rm.c:250
 msgid "exit with a zero status even if nothing matched"
 msgstr "sortir avec un état zéro même si rien ne correspondait"
 
-#: builtin/rm.c:283
+#: builtin/rm.c:285
 msgid "No pathspec was given. Which files should I remove?"
 msgstr ""
 "Aucun spécificateur de chemin fourni. Quel fichier doit être supprimé ?"
 
-#: builtin/rm.c:310
+#: builtin/rm.c:315
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "veuillez indexer vos modifications de .gitmodules ou les remiser pour "
 "continuer"
 
-#: builtin/rm.c:331
+#: builtin/rm.c:337
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "pas de suppression récursive de '%s' sans -r"
 
-#: builtin/rm.c:379
+#: builtin/rm.c:385
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
 
 #: builtin/send-pack.c:20
 msgid ""
-"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
-"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
-"[<ref>...]\n"
-"  --all and explicit <ref> specification are mutually exclusive."
+"git send-pack [--mirror] [--dry-run] [--force]\n"
+"              [--receive-pack=<git-receive-pack>]\n"
+"              [--verbose] [--thin] [--atomic]\n"
+"              [<host>:]<directory> (--all | <ref>...)"
 msgstr ""
-"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
-"receive-pack>] [--verbose] [--thin] [--atomic] [<hôte>:]<répertoire> "
-"[<référence>...]\n"
-"  --all et la spécification explicite de <référence> sont mutuellement "
-"exclusifs."
+"git send-pack [--mirror] [--dry-run] [--force]\n"
+"              [--receive-pack=<git-receive-pack>]\n"
+"              [--verbose] [--thin] [--atomic]\n"
+"              [<hôte>:]<répertoire> (--all | <réf>...)"
 
-#: builtin/send-pack.c:188
+#: builtin/send-pack.c:192
 msgid "remote name"
 msgstr "nom distant"
 
-#: builtin/send-pack.c:201
+#: builtin/send-pack.c:205
 msgid "use stateless RPC protocol"
 msgstr "utiliser un protocole RPC sans état"
 
-#: builtin/send-pack.c:202
+#: builtin/send-pack.c:206
 msgid "read refs from stdin"
 msgstr "lire les références depuis l'entrée standard"
 
-#: builtin/send-pack.c:203
+#: builtin/send-pack.c:207
 msgid "print status from remote helper"
 msgstr "afficher les messages du greffon de protocole distant"
 
@@ -22364,21 +22554,21 @@ msgstr "champ"
 msgid "group by field"
 msgstr "grouper par champ"
 
-#: builtin/shortlog.c:391
+#: builtin/shortlog.c:394
 msgid "too many arguments given outside repository"
 msgstr "trop d'arguments fournis hors d'un dépôt"
 
 #: builtin/show-branch.c:13
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
-"\t\t[--more=<n> | --list | --independent | --merge-base]\n"
-"\t\t[--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+"                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
+"                [--more=<n> | --list | --independent | --merge-base]\n"
+"                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
 msgstr ""
-"git show-branch [-a | --all] [-r|--remotes] [--topo-order | --date-order]\n"
-"\t\t[--current] [--color[=<quand>] | --no-color] [--sparse]\n"
-"\t\t[--more=<n> | --list | --independent | --merge-base]\n"
-"\t\t[--no-name | --sha1-name] [--topics] [(<rév> | <glob>)...]"
+"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
+"                [--current] [--color[=<quand>] | --no-color] [--sparse]\n"
+"                [--more=<n> | --list | --independent | --merge-base]\n"
+"                [--no-name | --sha1-name] [--topics] [(<rév> | <glob>)...]"
 
 #: builtin/show-branch.c:17
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
@@ -22391,117 +22581,117 @@ msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "%s ignoré; impossible de gérer plus de %d référence"
 msgstr[1] "%s ignoré; impossible de gérer plus de %d références"
 
-#: builtin/show-branch.c:548
+#: builtin/show-branch.c:547
 #, c-format
 msgid "no matching refs with %s"
 msgstr "aucune référence correspond à %s"
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:644
 msgid "show remote-tracking and local branches"
 msgstr "afficher les branches de suivi distantes et les branches locales"
 
-#: builtin/show-branch.c:647
+#: builtin/show-branch.c:646
 msgid "show remote-tracking branches"
 msgstr "afficher les branches de suivi distantes"
 
-#: builtin/show-branch.c:649
+#: builtin/show-branch.c:648
 msgid "color '*!+-' corresponding to the branch"
 msgstr "couleur '*!+-' correspondant à la branche"
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:650
 msgid "show <n> more commits after the common ancestor"
 msgstr "afficher <n> validations de plus après l'ancêtre commun"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:652
 msgid "synonym to more=-1"
 msgstr "synonyme de more=-1"
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:653
 msgid "suppress naming strings"
 msgstr "supprimer les chaînes de nommage"
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:655
 msgid "include the current branch"
 msgstr "inclure la branche courante"
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:657
 msgid "name commits with their object names"
 msgstr "nommer les validations avec leurs noms d'objet"
 
-#: builtin/show-branch.c:660
+#: builtin/show-branch.c:659
 msgid "show possible merge bases"
 msgstr "afficher les bases possibles de fusion"
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:661
 msgid "show refs unreachable from any other ref"
 msgstr "afficher les références inaccessibles depuis toute autre référence"
 
-#: builtin/show-branch.c:664
+#: builtin/show-branch.c:663
 msgid "show commits in topological order"
 msgstr "afficher les validations dans l'ordre topologique"
 
-#: builtin/show-branch.c:667
+#: builtin/show-branch.c:666
 msgid "show only commits not on the first branch"
 msgstr ""
 "afficher seulement les validations qui ne sont pas sur la première branche"
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:668
 msgid "show merges reachable from only one tip"
 msgstr "afficher les fusions accessibles depuis une seule pointe"
 
-#: builtin/show-branch.c:671
+#: builtin/show-branch.c:670
 msgid "topologically sort, maintaining date order where possible"
 msgstr "tri topologique, maintenant l'ordre par date si possible"
 
-#: builtin/show-branch.c:674
+#: builtin/show-branch.c:673
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:675
+#: builtin/show-branch.c:674
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr ""
 "afficher les <n> plus récents éléments de ref-log en commençant à la base"
 
-#: builtin/show-branch.c:711
+#: builtin/show-branch.c:710
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 "--reflog est incompatible avec --all, --remotes, --independent et --merge-"
 "base"
 
-#: builtin/show-branch.c:735
+#: builtin/show-branch.c:734
 msgid "no branches given, and HEAD is not valid"
 msgstr "aucune branche spécifiée, et HEAD est invalide"
 
-#: builtin/show-branch.c:738
+#: builtin/show-branch.c:737
 msgid "--reflog option needs one branch name"
 msgstr "--reflog requiert un nom de branche"
 
-#: builtin/show-branch.c:741
+#: builtin/show-branch.c:740
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "%d entrée seulement ne peut être montrée en même temps."
 msgstr[1] "%d entrées seulement ne peuvent être montrée en même temps."
 
-#: builtin/show-branch.c:745
+#: builtin/show-branch.c:744
 #, c-format
 msgid "no such ref %s"
 msgstr "référence inexistante %s"
 
-#: builtin/show-branch.c:831
+#: builtin/show-branch.c:828
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "impossible de gérer plus de %d révision."
 msgstr[1] "impossible de gérer plus de %d révisions."
 
-#: builtin/show-branch.c:835
+#: builtin/show-branch.c:832
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' n'est pas une référence valide."
 
-#: builtin/show-branch.c:838
+#: builtin/show-branch.c:835
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "impossible de trouver le commit %s (%s)"
@@ -22577,72 +22767,84 @@ msgstr ""
 "cet arbre de travail n'est pas clairsemé (le fichier sparse-checkout "
 "pourrait ne pas exister)"
 
-#: builtin/sparse-checkout.c:227
+#: builtin/sparse-checkout.c:173
+#, c-format
+msgid ""
+"directory '%s' contains untracked files, but is not in the sparse-checkout "
+"cone"
+msgstr "le dossier '%s' contient des fichiers non-suivis, mais n'est pas dans le cone d'extraction clairsemée"
+
+#: builtin/sparse-checkout.c:181
+#, c-format
+msgid "failed to remove directory '%s'"
+msgstr "échec de suppression du répertoire '%s'"
+
+#: builtin/sparse-checkout.c:321
 msgid "failed to create directory for sparse-checkout file"
 msgstr ""
 "échec de la création du répertoire pour le fichier d'extraction clairsemée"
 
-#: builtin/sparse-checkout.c:268
+#: builtin/sparse-checkout.c:362
 msgid "unable to upgrade repository format to enable worktreeConfig"
 msgstr ""
 "impossible de mettre à jour le format de dépôt pour activer worktreeConfig"
 
-#: builtin/sparse-checkout.c:270
+#: builtin/sparse-checkout.c:364
 msgid "failed to set extensions.worktreeConfig setting"
 msgstr "échec de paramétrage extensions.worktreeConfig"
 
-#: builtin/sparse-checkout.c:290
+#: builtin/sparse-checkout.c:384
 msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
 msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
 
-#: builtin/sparse-checkout.c:310
+#: builtin/sparse-checkout.c:404
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "initialiser l'extraction clairsemée en mode cone"
 
-#: builtin/sparse-checkout.c:312
+#: builtin/sparse-checkout.c:406
 msgid "toggle the use of a sparse index"
 msgstr "bascule l'utilisation d'index clairsemé"
 
-#: builtin/sparse-checkout.c:340
+#: builtin/sparse-checkout.c:434
 msgid "failed to modify sparse-index config"
 msgstr "impossible de modifier la configuration d'index clairsemé"
 
-#: builtin/sparse-checkout.c:361
+#: builtin/sparse-checkout.c:455
 #, c-format
 msgid "failed to open '%s'"
 msgstr "échec à l'ouverture de '%s'"
 
-#: builtin/sparse-checkout.c:413
+#: builtin/sparse-checkout.c:507
 #, c-format
 msgid "could not normalize path %s"
 msgstr "impossible de normaliser le chemin '%s'"
 
-#: builtin/sparse-checkout.c:425
+#: builtin/sparse-checkout.c:519
 msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
 msgstr "git sparse-checkout (set|add) (--stdin | <motifs>)"
 
-#: builtin/sparse-checkout.c:450
+#: builtin/sparse-checkout.c:544
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "impossible de décoter la chaîne en style C '%s'"
 
-#: builtin/sparse-checkout.c:504 builtin/sparse-checkout.c:528
+#: builtin/sparse-checkout.c:598 builtin/sparse-checkout.c:622
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "impossible de charger les motifs de l'extraction clairsemée existants"
 
-#: builtin/sparse-checkout.c:573
+#: builtin/sparse-checkout.c:667
 msgid "read patterns from standard in"
 msgstr "lire les motifs depuis l'entrée standard"
 
-#: builtin/sparse-checkout.c:588
+#: builtin/sparse-checkout.c:682
 msgid "git sparse-checkout reapply"
 msgstr "git sparse-checkout reapply"
 
-#: builtin/sparse-checkout.c:607
+#: builtin/sparse-checkout.c:701
 msgid "git sparse-checkout disable"
 msgstr "git sparse-checkout disable"
 
-#: builtin/sparse-checkout.c:638
+#: builtin/sparse-checkout.c:732
 msgid "error while refreshing working directory"
 msgstr "erreur lors du rafraîchissement du répertoire de travail"
 
@@ -22678,7 +22880,7 @@ msgstr ""
 "          [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
 "          [--] [<spécificateur-de-chemin>...]]"
 
-#: builtin/stash.c:34 builtin/stash.c:87
+#: builtin/stash.c:34
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
@@ -22708,6 +22910,14 @@ msgstr ""
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
 "          [--] [<spécificateur-de-chemin>...]]"
 
+#: builtin/stash.c:87
+msgid ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"               [-u|--include-untracked] [-a|--all] [<message>]"
+msgstr ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"               [-u|--include-untracked] [-a|--all] [<message>]"
+
 #: builtin/stash.c:130
 #, c-format
 msgid "'%s' is not a stash-like commit"
@@ -22731,7 +22941,7 @@ msgstr "%s n'est pas une référence valide"
 msgid "git stash clear with arguments is unimplemented"
 msgstr "git stash clear avec des arguments n'est pas implémenté"
 
-#: builtin/stash.c:431
+#: builtin/stash.c:447
 #, c-format
 msgid ""
 "WARNING: Untracked file in way of tracked file!  Renaming\n"
@@ -22743,168 +22953,168 @@ msgstr ""
 "            %s -> %s\n"
 "         pour faire de la place.\n"
 
-#: builtin/stash.c:492
+#: builtin/stash.c:508
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "impossible d'appliquer un remisage en cours de fusion"
 
-#: builtin/stash.c:503
+#: builtin/stash.c:519
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "impossible de générer %s^!."
 
-#: builtin/stash.c:510
+#: builtin/stash.c:526
 msgid "conflicts in index. Try without --index."
 msgstr "conflits dans l'index. Essayez sans --index."
 
-#: builtin/stash.c:516
+#: builtin/stash.c:532
 msgid "could not save index tree"
 msgstr "impossible de sauvegarder l'arbre d'index"
 
-#: builtin/stash.c:525
-msgid "could not restore untracked files from stash"
-msgstr "impossible de restaurer les fichiers non-suivis depuis le remisage"
-
-#: builtin/stash.c:539
+#: builtin/stash.c:552
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Fusion de %s avec %s"
 
-#: builtin/stash.c:549
+#: builtin/stash.c:562
 msgid "Index was not unstashed."
 msgstr "L'index n'a pas été sorti de remise."
 
-#: builtin/stash.c:591 builtin/stash.c:689
+#: builtin/stash.c:575
+msgid "could not restore untracked files from stash"
+msgstr "impossible de restaurer les fichiers non-suivis depuis le remisage"
+
+#: builtin/stash.c:607 builtin/stash.c:705
 msgid "attempt to recreate the index"
 msgstr "tentative de recréer l'index"
 
-#: builtin/stash.c:635
+#: builtin/stash.c:651
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "%s supprimé (%s)"
 
-#: builtin/stash.c:638
+#: builtin/stash.c:654
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s : Impossible de supprimer l'élément de stash"
 
-#: builtin/stash.c:651
+#: builtin/stash.c:667
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' n'est pas une référence de remisage"
 
-#: builtin/stash.c:701
+#: builtin/stash.c:717
 msgid "The stash entry is kept in case you need it again."
 msgstr ""
 "L'entrée de remisage est conservée au cas où vous en auriez encore besoin."
 
-#: builtin/stash.c:724
+#: builtin/stash.c:740
 msgid "No branch name specified"
 msgstr "Aucune branche spécifiée"
 
-#: builtin/stash.c:808
+#: builtin/stash.c:824
 msgid "failed to parse tree"
 msgstr "échec de l'analyse de l'arbre"
 
-#: builtin/stash.c:819
+#: builtin/stash.c:835
 msgid "failed to unpack trees"
 msgstr "échec du dépaquetage des arbres"
 
-#: builtin/stash.c:839
+#: builtin/stash.c:855
 msgid "include untracked files in the stash"
 msgstr "inclure les fichiers non suivis dans le remisage"
 
-#: builtin/stash.c:842
+#: builtin/stash.c:858
 msgid "only show untracked files in the stash"
 msgstr "ne montrer que les fichiers non suivis dans le remisage"
 
-#: builtin/stash.c:929 builtin/stash.c:966
+#: builtin/stash.c:945 builtin/stash.c:982
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Impossible de mettre à jour %s avec %s"
 
-#: builtin/stash.c:947 builtin/stash.c:1602 builtin/stash.c:1667
+#: builtin/stash.c:963 builtin/stash.c:1619 builtin/stash.c:1684
 msgid "stash message"
 msgstr "message pour le remisage"
 
-#: builtin/stash.c:957
+#: builtin/stash.c:973
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" exige un argument <commit>"
 
-#: builtin/stash.c:1171
+#: builtin/stash.c:1187
 msgid "No changes selected"
 msgstr "Aucun changement sélectionné"
 
-#: builtin/stash.c:1271
+#: builtin/stash.c:1287
 msgid "You do not have the initial commit yet"
 msgstr "Vous n'avez pas encore la validation initiale"
 
-#: builtin/stash.c:1298
+#: builtin/stash.c:1314
 msgid "Cannot save the current index state"
 msgstr "Impossible de sauver l'état courant de l'index"
 
-#: builtin/stash.c:1307
+#: builtin/stash.c:1323
 msgid "Cannot save the untracked files"
 msgstr "Impossible de sauver les fichiers non-suivis"
 
-#: builtin/stash.c:1318 builtin/stash.c:1327
+#: builtin/stash.c:1334 builtin/stash.c:1343
 msgid "Cannot save the current worktree state"
 msgstr "Impossible de sauver l'état courant de la copie de travail"
 
-#: builtin/stash.c:1355
+#: builtin/stash.c:1371
 msgid "Cannot record working tree state"
 msgstr "Impossible d'enregistrer l'état de la copie de travail"
 
-#: builtin/stash.c:1404
+#: builtin/stash.c:1420
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 "Impossible d'utiliser --patch et --include-untracked ou --all en même temps"
 
-#: builtin/stash.c:1422
+#: builtin/stash.c:1438
 msgid "Did you forget to 'git add'?"
 msgstr "Vous avez sûrement oublié 'git add' ?"
 
-#: builtin/stash.c:1437
+#: builtin/stash.c:1453
 msgid "No local changes to save"
 msgstr "Pas de modifications locales à sauver"
 
-#: builtin/stash.c:1444
+#: builtin/stash.c:1460
 msgid "Cannot initialize stash"
 msgstr "Impossible d'initialiser le remisage"
 
-#: builtin/stash.c:1459
+#: builtin/stash.c:1475
 msgid "Cannot save the current status"
 msgstr "Impossible de sauver l'état courant"
 
-#: builtin/stash.c:1464
+#: builtin/stash.c:1480
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Arbre de travail et état de l'index sauvegardés dans %s"
 
-#: builtin/stash.c:1554
+#: builtin/stash.c:1571
 msgid "Cannot remove worktree changes"
 msgstr "Impossible de supprimer les changements de la copie de travail"
 
-#: builtin/stash.c:1593 builtin/stash.c:1658
+#: builtin/stash.c:1610 builtin/stash.c:1675
 msgid "keep index"
 msgstr "conserver l'index"
 
-#: builtin/stash.c:1595 builtin/stash.c:1660
+#: builtin/stash.c:1612 builtin/stash.c:1677
 msgid "stash in patch mode"
 msgstr "remiser une mode rustine"
 
-#: builtin/stash.c:1596 builtin/stash.c:1661
+#: builtin/stash.c:1613 builtin/stash.c:1678
 msgid "quiet mode"
 msgstr "mode silencieux"
 
-#: builtin/stash.c:1598 builtin/stash.c:1663
+#: builtin/stash.c:1615 builtin/stash.c:1680
 msgid "include untracked files in stash"
 msgstr "inclure les fichiers non suivis dans la remise"
 
-#: builtin/stash.c:1600 builtin/stash.c:1665
+#: builtin/stash.c:1617 builtin/stash.c:1682
 msgid "include ignore files"
 msgstr "inclure les fichiers ignorés"
 
-#: builtin/stash.c:1700
+#: builtin/stash.c:1717
 msgid ""
 "the stash.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -22930,7 +23140,7 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace"
 
-#: builtin/submodule--helper.c:46 builtin/submodule--helper.c:2440
+#: builtin/submodule--helper.c:46 builtin/submodule--helper.c:2667
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
@@ -22944,27 +23154,35 @@ msgstr "submodule--helper  print-default-remote n'accepte aucun argument"
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:411 builtin/submodule--helper.c:1887
-#: builtin/submodule--helper.c:2891
+#: builtin/submodule--helper.c:211
+#, c-format
+msgid ""
+"could not look up configuration '%s'. Assuming this repository is its own "
+"authoritative upstream."
+msgstr ""
+"impossible de trouver la configuration '%s'. Ce dépôt est considéré comme "
+"son propre amont d'autorité."
+
+#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1858
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
-#: builtin/submodule--helper.c:416
+#: builtin/submodule--helper.c:410
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:474 builtin/submodule--helper.c:631
-#: builtin/submodule--helper.c:654
+#: builtin/submodule--helper.c:468 builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:628
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules"
 
-#: builtin/submodule--helper.c:526
+#: builtin/submodule--helper.c:520
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Entrée dans '%s'\n"
 
-#: builtin/submodule--helper.c:529
+#: builtin/submodule--helper.c:523
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -22973,7 +23191,7 @@ msgstr ""
 "run_command a retourné un statut non-nul pour %s\n"
 "."
 
-#: builtin/submodule--helper.c:551
+#: builtin/submodule--helper.c:545
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -22984,83 +23202,74 @@ msgstr ""
 "modules inclus de %s\n"
 "."
 
-#: builtin/submodule--helper.c:567
+#: builtin/submodule--helper.c:561
 msgid "suppress output of entering each submodule command"
 msgstr ""
 "supprimer la sortie lors de l'entrée dans chaque commande de sous-module"
 
-#: builtin/submodule--helper.c:569 builtin/submodule--helper.c:890
-#: builtin/submodule--helper.c:1489
+#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:864
+#: builtin/submodule--helper.c:1453
 msgid "recurse into nested submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:574
+#: builtin/submodule--helper.c:568
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <commande>"
 
-#: builtin/submodule--helper.c:601
-#, c-format
-msgid ""
-"could not look up configuration '%s'. Assuming this repository is its own "
-"authoritative upstream."
-msgstr ""
-"impossible de trouver la configuration '%s'. Ce dépôt est considéré comme "
-"son propre amont d'autorité."
-
-#: builtin/submodule--helper.c:668
+#: builtin/submodule--helper.c:642
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:682
+#: builtin/submodule--helper.c:656
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "attention : nous vous suggérons de spécifier une commande de mode de mise à "
 "jour pour le sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:689
+#: builtin/submodule--helper.c:663
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Échec d'enregistrement du mode de mise à jour pour le chemin de sous-module "
 "'%s'"
 
-#: builtin/submodule--helper.c:711
+#: builtin/submodule--helper.c:685
 msgid "suppress output for initializing a submodule"
 msgstr "supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:716
+#: builtin/submodule--helper.c:690
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<options>] [<chemin>]"
 
-#: builtin/submodule--helper.c:789 builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:763 builtin/submodule--helper.c:898
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "pas de mise en correspondance du sous-module trouvé dans .gitmodules pour le "
 "chemin '%s'"
 
-#: builtin/submodule--helper.c:837
+#: builtin/submodule--helper.c:811
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "impossible de résoudre HEAD dans le sous-module '%s'"
 
-#: builtin/submodule--helper.c:864 builtin/submodule--helper.c:1459
+#: builtin/submodule--helper.c:838 builtin/submodule--helper.c:1423
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: builtin/submodule--helper.c:888 builtin/submodule--helper.c:1625
+#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1589
 msgid "suppress submodule status output"
 msgstr "supprimer la sortie d'état du sous-module"
 
-#: builtin/submodule--helper.c:889
+#: builtin/submodule--helper.c:863
 msgid ""
 "use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -23068,98 +23277,98 @@ msgstr ""
 "utiliser le commit stocké dans l'index au lieu de celui stocké dans la HEAD "
 "du sous-module"
 
-#: builtin/submodule--helper.c:895
+#: builtin/submodule--helper.c:869
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<chemin>...]"
 
-#: builtin/submodule--helper.c:919
+#: builtin/submodule--helper.c:893
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:991
+#: builtin/submodule--helper.c:965
 #, c-format
 msgid "* %s %s(blob)->%s(submodule)"
 msgstr "* %s %s(blob)->%s(submodule)"
 
-#: builtin/submodule--helper.c:994
+#: builtin/submodule--helper.c:968
 #, c-format
 msgid "* %s %s(submodule)->%s(blob)"
 msgstr "* %s %s(submodule)->%s(blob)"
 
-#: builtin/submodule--helper.c:1007
+#: builtin/submodule--helper.c:981
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: builtin/submodule--helper.c:1057
+#: builtin/submodule--helper.c:1031
 #, c-format
 msgid "couldn't hash object from '%s'"
 msgstr "impossible de calculer l'empreinte de l'objet depuis '%s'"
 
-#: builtin/submodule--helper.c:1061
+#: builtin/submodule--helper.c:1035
 #, c-format
 msgid "unexpected mode %o\n"
 msgstr "mode %o inattendu\n"
 
-#: builtin/submodule--helper.c:1302
+#: builtin/submodule--helper.c:1276
 msgid "use the commit stored in the index instead of the submodule HEAD"
 msgstr ""
 "utiliser le commit stocké dans l'index au lieu de la HEAD du sous-module"
 
-#: builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1278
 msgid "compare the commit in the index with that in the submodule HEAD"
 msgstr "comparer le commit dans l'index avec celui dans la HEAD du sous-module"
 
-#: builtin/submodule--helper.c:1306
+#: builtin/submodule--helper.c:1280
 msgid "skip submodules with 'ignore_config' value set to 'all'"
 msgstr "sauter les sous-modules avec la valeur 'ignore_config' à 'all'"
 
-#: builtin/submodule--helper.c:1308
+#: builtin/submodule--helper.c:1282
 msgid "limit the summary size"
 msgstr "limiter la taille du résumé"
 
-#: builtin/submodule--helper.c:1313
+#: builtin/submodule--helper.c:1287
 msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 msgstr "git submodule--helper summary [<options>] [<commit>] [--] [<chemin>]"
 
-#: builtin/submodule--helper.c:1337
+#: builtin/submodule--helper.c:1311
 msgid "could not fetch a revision for HEAD"
 msgstr "impossible de récupérer une révision pour HEAD"
 
-#: builtin/submodule--helper.c:1342
+#: builtin/submodule--helper.c:1316
 msgid "--cached and --files are mutually exclusive"
 msgstr "--cached et --files sont mutuellement exclusifs"
 
-#: builtin/submodule--helper.c:1409
+#: builtin/submodule--helper.c:1373
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Synchronisation de l'URL sous-module pour '%s'\n"
 
-#: builtin/submodule--helper.c:1415
+#: builtin/submodule--helper.c:1379
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:1429
+#: builtin/submodule--helper.c:1393
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "échec d'obtention du dépôt distant par défaut pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:1440
+#: builtin/submodule--helper.c:1404
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "échec de mise à jour du dépôt distant pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:1487
+#: builtin/submodule--helper.c:1451
 msgid "suppress output of synchronizing submodule url"
 msgstr ""
 "supprimer la sortie lors de la synchronisation de l'URL d'un sous-module"
 
-#: builtin/submodule--helper.c:1494
+#: builtin/submodule--helper.c:1458
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<chemin>]"
 
-#: builtin/submodule--helper.c:1548
+#: builtin/submodule--helper.c:1512
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -23169,7 +23378,7 @@ msgstr ""
 "'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: builtin/submodule--helper.c:1560
+#: builtin/submodule--helper.c:1524
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -23178,48 +23387,48 @@ msgstr ""
 "L'arbre de travail du sous-module '%s' contient des modifications locales ; "
 "utilisez '-f' pour les annuler"
 
-#: builtin/submodule--helper.c:1568
+#: builtin/submodule--helper.c:1532
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Répertoire '%s' nettoyé\n"
 
-#: builtin/submodule--helper.c:1570
+#: builtin/submodule--helper.c:1534
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Impossible de supprimer l'arbre de travail du sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:1581
+#: builtin/submodule--helper.c:1545
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "impossible de créer le répertoire vide du sous-module %s"
 
-#: builtin/submodule--helper.c:1597
+#: builtin/submodule--helper.c:1561
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) non enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:1626
+#: builtin/submodule--helper.c:1590
 msgid "remove submodule working trees even if they contain local changes"
 msgstr ""
 "éliminer les arbres de travail des sous-modules même s'ils contiennent des "
 "modifications locales"
 
-#: builtin/submodule--helper.c:1627
+#: builtin/submodule--helper.c:1591
 msgid "unregister all submodules"
 msgstr "désenregistrer tous les sous-modules"
 
-#: builtin/submodule--helper.c:1632
+#: builtin/submodule--helper.c:1596
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<chemin>...]]"
 
-#: builtin/submodule--helper.c:1646
+#: builtin/submodule--helper.c:1610
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
 
-#: builtin/submodule--helper.c:1690
+#: builtin/submodule--helper.c:1655
 msgid ""
 "An alternate computed from a superproject's alternate is invalid.\n"
 "To allow Git to clone without an alternate in such a case, set\n"
@@ -23231,69 +23440,69 @@ msgstr ""
 "submodule.alternateErrorStrategy à 'info', ou de manière équivalente,\n"
 "clonez avec '--reference-if-able' au lieu de '--reference'."
 
-#: builtin/submodule--helper.c:1729 builtin/submodule--helper.c:1732
+#: builtin/submodule--helper.c:1700 builtin/submodule--helper.c:1703
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s"
 
-#: builtin/submodule--helper.c:1768
+#: builtin/submodule--helper.c:1739
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 "La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue"
 
-#: builtin/submodule--helper.c:1775
+#: builtin/submodule--helper.c:1746
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
 
-#: builtin/submodule--helper.c:1800
+#: builtin/submodule--helper.c:1771
 #, c-format
 msgid "refusing to create/use '%s' in another submodule's git dir"
 msgstr ""
 "refus de créer/utiliser '%s' dans un répertoire git d'un autre sous-module"
 
-#: builtin/submodule--helper.c:1841
+#: builtin/submodule--helper.c:1812
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "le clonage de '%s' dans le chemin de sous-module '%s' a échoué"
 
-#: builtin/submodule--helper.c:1846
+#: builtin/submodule--helper.c:1817
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "le répertoire n'est pas vide : '%s'"
 
-#: builtin/submodule--helper.c:1858
+#: builtin/submodule--helper.c:1829
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "impossible de créer le répertoire de sous-module pour '%s'"
 
-#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:2894
+#: builtin/submodule--helper.c:1861
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2897
+#: builtin/submodule--helper.c:1864
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:1896 builtin/submodule--helper.c:2900
+#: builtin/submodule--helper.c:1867
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:1904 builtin/submodule--helper.c:2907
+#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:3264
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:1907 builtin/submodule--helper.c:2365
-#: builtin/submodule--helper.c:2909
+#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:2525
+#: builtin/submodule--helper.c:3257
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:1909 builtin/submodule--helper.c:2367
+#: builtin/submodule--helper.c:1880 builtin/submodule--helper.c:2527
 msgid "disallow cloning into non-empty directory"
 msgstr "interdire de cloner dans un répertoire non-vide"
 
-#: builtin/submodule--helper.c:1916
+#: builtin/submodule--helper.c:1887
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
@@ -23303,84 +23512,177 @@ msgstr ""
 "<dépôt>] [--name <nom>] [--depth <profondeur>] [--single-branch] --url <url> "
 "--path <chemin>"
 
-#: builtin/submodule--helper.c:1953
+#: builtin/submodule--helper.c:1924
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "Mode de mise à jour '%s' invalide pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:1957
+#: builtin/submodule--helper.c:1928
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Mode de mise à jour '%s'invalide configuré pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:2058
+#: builtin/submodule--helper.c:2043
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:2062
+#: builtin/submodule--helper.c:2047
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:2092
+#: builtin/submodule--helper.c:2077
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:2121
+#: builtin/submodule--helper.c:2106
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:2271
+#: builtin/submodule--helper.c:2256
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:2282
+#: builtin/submodule--helper.c:2267
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Impossible de cloner '%s' pour la seconde fois, abandon"
 
-#: builtin/submodule--helper.c:2344 builtin/submodule--helper.c:2590
+#: builtin/submodule--helper.c:2372
+#, c-format
+msgid "Unable to checkout '%s' in submodule path '%s'"
+msgstr "Impossible d'extraire '%s' dans le chemin de sous-module '%s'"
+
+#: builtin/submodule--helper.c:2376
+#, c-format
+msgid "Unable to rebase '%s' in submodule path '%s'"
+msgstr "Impossible de rebaser '%s' dans le chemin de sous-module '%s'"
+
+#: builtin/submodule--helper.c:2380
+#, c-format
+msgid "Unable to merge '%s' in submodule path '%s'"
+msgstr "Impossible de fusionner '%s' dans le chemin de sous-module '%s'"
+
+#: builtin/submodule--helper.c:2384
+#, c-format
+msgid "Execution of '%s %s' failed in submodule path '%s'"
+msgstr "L'exécution de '%s %s' a échoué dans le chemin de sous-module '%s'"
+
+#: builtin/submodule--helper.c:2408
+#, c-format
+msgid "Submodule path '%s': checked out '%s'\n"
+msgstr "Chemin de sous-module '%s' : '%s' extrait\n"
+
+#: builtin/submodule--helper.c:2412
+#, c-format
+msgid "Submodule path '%s': rebased into '%s'\n"
+msgstr "Chemin de sous-module '%s' : rebasé dans '%s'\n"
+
+#: builtin/submodule--helper.c:2416
+#, c-format
+msgid "Submodule path '%s': merged in '%s'\n"
+msgstr "Chemin de sous-module '%s' : fusionné dans '%s'\n"
+
+#: builtin/submodule--helper.c:2420
+#, c-format
+msgid "Submodule path '%s': '%s %s'\n"
+msgstr "Le chemin de sous-module '%s' : '%s %s'\n"
+
+#: builtin/submodule--helper.c:2444
+#, c-format
+msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
+msgstr "Impossible de rapatrier dans le chemin de sous-module '%s' ; essai de rapatriement direct de %s :"
+
+#: builtin/submodule--helper.c:2453
+#, c-format
+msgid ""
+"Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
+"of that commit failed."
+msgstr "Chemin de sous-module '%s' récupéré, mais il ne contenait pas %s. La récupération directe de ce commit a échoué."
+
+#: builtin/submodule--helper.c:2504 builtin/submodule--helper.c:2574
+#: builtin/submodule--helper.c:2812
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:2347
+#: builtin/submodule--helper.c:2507 builtin/submodule--helper.c:2579
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "chemin dans la copie de travail, traversant les frontières de sous-modules"
 
-#: builtin/submodule--helper.c:2351
+#: builtin/submodule--helper.c:2511 builtin/submodule--helper.c:2577
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:2357
+#: builtin/submodule--helper.c:2517
 msgid "create a shallow clone truncated to the specified number of revisions"
 msgstr "créer un clone superficiel tronqué au nombre de révisions spécifié"
 
-#: builtin/submodule--helper.c:2360
+#: builtin/submodule--helper.c:2520
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:2362
+#: builtin/submodule--helper.c:2522
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "spécifie si le clonage initial doit être aussi superficiel"
 
-#: builtin/submodule--helper.c:2363
+#: builtin/submodule--helper.c:2523
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:2374
+#: builtin/submodule--helper.c:2534
 msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update-clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:2387
+#: builtin/submodule--helper.c:2547
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:2435
+#: builtin/submodule--helper.c:2565
+msgid "suppress output for update by rebase or merge"
+msgstr "supprimer la sortie lors de la mise à jour par un rebasage ou une fusion"
+
+#: builtin/submodule--helper.c:2566
+msgid "force checkout updates"
+msgstr "forcer les mises à jour d'extraction"
+
+#: builtin/submodule--helper.c:2568
+msgid "don't fetch new objects from the remote site"
+msgstr "ne pas récupérer les nouveaux objets depuis le site distant"
+
+#: builtin/submodule--helper.c:2570
+msgid "overrides update mode in case the repository is a fresh clone"
+msgstr "passer outre le mode mise à jour dans le cas où le dépôt est un clone nouveau"
+
+#: builtin/submodule--helper.c:2571
+msgid "depth for shallow fetch"
+msgstr "profondeur pour une récupération superficielle"
+
+#: builtin/submodule--helper.c:2581
+msgid "sha1"
+msgstr "sha1"
+
+#: builtin/submodule--helper.c:2582
+msgid "SHA1 expected by superproject"
+msgstr "SHA1 attendu par le super-projet"
+
+#: builtin/submodule--helper.c:2584
+msgid "subsha1"
+msgstr "sous-sha1"
+
+#: builtin/submodule--helper.c:2585
+msgid "SHA1 of submodule's HEAD"
+msgstr "SHA1 de la HEAD du sous-module"
+
+#: builtin/submodule--helper.c:2591
+msgid "git submodule--helper run-update-procedure [<options>] <path>"
+msgstr "git submodule--helper run-update-procedure [<options>] <chemin>"
+
+#: builtin/submodule--helper.c:2662
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -23389,147 +23691,196 @@ msgstr ""
 "La branche du sous-module %s est configurée pour hériter de la branche du "
 "superprojet, mais le superprojet n'est sur aucune branche"
 
-#: builtin/submodule--helper.c:2558
+#: builtin/submodule--helper.c:2780
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "impossible de trouver une poignée de dépôt pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:2591
+#: builtin/submodule--helper.c:2813
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:2597
+#: builtin/submodule--helper.c:2819
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<options>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:2653
+#: builtin/submodule--helper.c:2875
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "vérifier si écrire dans le fichier .gitmodules est sur"
 
-#: builtin/submodule--helper.c:2656
+#: builtin/submodule--helper.c:2878
 msgid "unset the config in the .gitmodules file"
 msgstr "désactiver la configuration dans le fichier .gitmodules"
 
-#: builtin/submodule--helper.c:2661
+#: builtin/submodule--helper.c:2883
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config name [<valeur>]"
 
-#: builtin/submodule--helper.c:2662
+#: builtin/submodule--helper.c:2884
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <nom>"
 
-#: builtin/submodule--helper.c:2663
+#: builtin/submodule--helper.c:2885
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2682 git-submodule.sh:150
-#, sh-format
+#: builtin/submodule--helper.c:2904 builtin/submodule--helper.c:3120
+#: builtin/submodule--helper.c:3276
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 "veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail"
 
-#: builtin/submodule--helper.c:2698
+#: builtin/submodule--helper.c:2920
 msgid "suppress output for setting url of a submodule"
 msgstr "supprimer la sortie lors du paramétrage de l'url d'un sous-module"
 
-#: builtin/submodule--helper.c:2702
+#: builtin/submodule--helper.c:2924
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
 msgstr "git submodule--helper sync [--quiet] <chemin> <nouvelle-url>"
 
-#: builtin/submodule--helper.c:2735
+#: builtin/submodule--helper.c:2957
 msgid "set the default tracking branch to master"
 msgstr "régler la branche de suivi par défaut à master"
 
-#: builtin/submodule--helper.c:2737
+#: builtin/submodule--helper.c:2959
 msgid "set the default tracking branch"
 msgstr "régler la branche de suivi par défaut"
 
-#: builtin/submodule--helper.c:2741
+#: builtin/submodule--helper.c:2963
 msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
 msgstr "git submodule--helper set-branch [-q|--quiet] (-d|--default) <chemin>"
 
-#: builtin/submodule--helper.c:2742
+#: builtin/submodule--helper.c:2964
 msgid ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branche> "
 "<chemin>"
 
-#: builtin/submodule--helper.c:2749
+#: builtin/submodule--helper.c:2971
 msgid "--branch or --default required"
 msgstr "--branch ou --default requis"
 
-#: builtin/submodule--helper.c:2752
+#: builtin/submodule--helper.c:2974
 msgid "--branch and --default are mutually exclusive"
 msgstr "--branch et --default sont mutuellement exclusifs"
 
-#: builtin/submodule--helper.c:2815
+#: builtin/submodule--helper.c:3037
 #, c-format
 msgid "Adding existing repo at '%s' to the index\n"
 msgstr "Ajout du dépôt existant à '%s' dans l'index\n"
 
-#: builtin/submodule--helper.c:2818
+#: builtin/submodule--helper.c:3040
 #, c-format
 msgid "'%s' already exists and is not a valid git repo"
 msgstr "'%s' existe déjà et n'est pas un dépôt git valide"
 
-#: builtin/submodule--helper.c:2828
+#: builtin/submodule--helper.c:3053
 #, c-format
-msgid "A git directory for '%s' is found locally with remote(s):"
-msgstr "Un répertoire git pour '%s' est trouvé en local avec le(s) serveur(s) distant(s) :"
+msgid "A git directory for '%s' is found locally with remote(s):\n"
+msgstr "Un répertoire git pour '%s' est trouvé en local avec le(s) serveur(s) distant(s) :\n"
 
-#: builtin/submodule--helper.c:2833
+#: builtin/submodule--helper.c:3060
 #, c-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
 "  %s\n"
 "use the '--force' option. If the local git directory is not the correct "
 "repo\n"
-"or if you are unsure what this means, choose another name with the '--name' "
-"option.\n"
+"or you are unsure what this means choose another name with the '--name' "
+"option."
 msgstr ""
 "Si vous voulez réutiliser ce répertoire local git au lieu de le recloner depuis\n"
 "  %s\n"
 "utilisez l'option '--force'. Si le répertoire local git n'est pas le dépôt correct\n"
-"ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'.\n"
+"ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: builtin/submodule--helper.c:2842
+#: builtin/submodule--helper.c:3072
 #, c-format
 msgid "Reactivating local git directory for submodule '%s'\n"
 msgstr "Réactivation du répertoire git local pour le sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:2875
+#: builtin/submodule--helper.c:3109
 #, c-format
 msgid "unable to checkout submodule '%s'"
 msgstr "Impossible d'extraire le sous-module '%s'"
 
-#: builtin/submodule--helper.c:2888
-msgid "branch of repository to checkout on cloning"
-msgstr "la branche du dépôt à extraire lors du clonage"
+#: builtin/submodule--helper.c:3148
+#, c-format
+msgid "Failed to add submodule '%s'"
+msgstr "Échec d'ajout du sous-module '%s'"
 
-#: builtin/submodule--helper.c:2910
-msgid "allow adding an otherwise ignored submodule path"
+#: builtin/submodule--helper.c:3152 builtin/submodule--helper.c:3157
+#: builtin/submodule--helper.c:3165
+#, c-format
+msgid "Failed to register submodule '%s'"
+msgstr "Échec d'enregistrement du sous-module '%s'"
+
+#: builtin/submodule--helper.c:3221
+#, c-format
+msgid "'%s' already exists in the index"
+msgstr "'%s' existe déjà dans l'index"
+
+#: builtin/submodule--helper.c:3224
+#, c-format
+msgid "'%s' already exists in the index and is not a submodule"
+msgstr "'%s' existe déjà dans l'index et n'est pas un sous-module"
+
+#: builtin/submodule--helper.c:3253
+msgid "branch of repository to add as submodule"
+msgstr "la branche du dépôt à ajouter comme sous-module"
+
+#: builtin/submodule--helper.c:3254
+msgid "allow adding an otherwise ignored submodule path"
 msgstr "permettre l'ajout des chemins de modules ignorés par ailleurs"
 
-#: builtin/submodule--helper.c:2917
+#: builtin/submodule--helper.c:3256
+msgid "print only error messages"
+msgstr "afficher seulement les messages d'erreur"
+
+#: builtin/submodule--helper.c:3260
+msgid "borrow the objects from reference repositories"
+msgstr "emprunter les objets depuis des dépôts de références"
+
+#: builtin/submodule--helper.c:3262
 msgid ""
-"git submodule--helper add-clone [<options>...] --url <url> --path <path> --"
-"name <name>"
-msgstr "git submodule--helper add-clone [<options>...] --url <url> --path <chemin> --name <nom>"
+"sets the submodule’s name to the given string instead of defaulting to its "
+"path"
+msgstr "configurer le nom du sous-module avec la chaîne fournie au lieu d'utiliser par défaut son chemin"
+
+#: builtin/submodule--helper.c:3269
+msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
+msgstr "git submodule--helper add [<options>] [--] <dépôt> [<chemin>]"
+
+#: builtin/submodule--helper.c:3297
+msgid "Relative path can only be used from the toplevel of the working tree"
+msgstr ""
+"Un chemin relatif ne peut être utilisé que depuis la racine de la copie de "
+"travail"
 
-#: builtin/submodule--helper.c:2985 git.c:449 git.c:724
+#: builtin/submodule--helper.c:3305
+#, c-format
+msgid "repo URL: '%s' must be absolute or begin with ./|../"
+msgstr "l'URL de dépôt : '%s' doit être absolu ou commencer par ./|../"
+
+#: builtin/submodule--helper.c:3340
+#, c-format
+msgid "'%s' is not a valid submodule name"
+msgstr "'%s' n'est pas un nom valide de sous-module"
+
+#: builtin/submodule--helper.c:3404 git.c:449 git.c:723
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s ne gère pas --super-prefix"
 
-#: builtin/submodule--helper.c:2991
+#: builtin/submodule--helper.c:3410
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
 
 #: builtin/symbolic-ref.c:8
 msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<options>] nom [<référence>]"
+msgstr "git symbolic-ref [<options>] <nom> [<référence>]"
 
 #: builtin/symbolic-ref.c:9
 msgid "git symbolic-ref -d [-q] <name>"
@@ -23548,41 +23899,39 @@ msgstr "supprimer la référence symbolique"
 msgid "shorten ref output"
 msgstr "raccourcir l'affichage de la référence"
 
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
 msgid "reason"
 msgstr "raison"
 
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
 msgid "reason of the update"
 msgstr "raison de la mise à jour"
 
 #: builtin/tag.c:25
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-"\t\t<tagname> [<head>]"
+"        <tagname> [<head>]"
 msgstr ""
-"git tag [-a | -s | -u <id-clé>] [-f] [-m <message> | -F <fichier>]\n"
-"\t\t<nom-étiquette> [<head>]"
+"git tag [-a | -s | -u <id-clé>] [-f] [-m <msg> | -F <fichier>]\n"
+"        <nom-d-étiquette> [<tête>]"
 
 #: builtin/tag.c:27
 msgid "git tag -d <tagname>..."
-msgstr "git tag -d <nométiquette>..."
+msgstr "git tag -d <nom-d-étiquette>..."
 
 #: builtin/tag.c:28
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
-"\t\t[--format=<format>] [--merged <commit>] [--no-merged <commit>] "
+"        [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
 "[<pattern>...]"
 msgstr ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <objet>]\n"
-"\t\t[--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<motif>...]"
+"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <objet>]\n"
+"        [--format=<format>] [--merged <commit>] [--no-merged <commit>] [<motif>...]"
 
 #: builtin/tag.c:30
 msgid "git tag -v [--format=<format>] <tagname>..."
-msgstr "git tag -v [--format=<format>] <nométiquette>..."
+msgstr "git tag -v [--format=<format>] <nom-d-étiquette>..."
 
 #: builtin/tag.c:100
 #, c-format
@@ -23645,131 +23994,131 @@ msgstr ""
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:328
+#: builtin/tag.c:326
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:335
+#: builtin/tag.c:333
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Le message pour l'étiquette a été laissé dans %s\n"
 
-#: builtin/tag.c:446
+#: builtin/tag.c:444
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:448
+#: builtin/tag.c:446
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:450
+#: builtin/tag.c:448
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:451
+#: builtin/tag.c:449
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:451
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:455
+#: builtin/tag.c:453
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:457
+#: builtin/tag.c:455
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:459
+#: builtin/tag.c:457
 msgid "force edit of tag message"
 msgstr "forcer l'édition du message d'étiquetage"
 
-#: builtin/tag.c:460
+#: builtin/tag.c:458
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:461
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:464
+#: builtin/tag.c:462
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:465 builtin/update-ref.c:505
+#: builtin/tag.c:463 builtin/update-ref.c:511
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:467
+#: builtin/tag.c:465
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:468
+#: builtin/tag.c:466
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:469 builtin/tag.c:471
+#: builtin/tag.c:467 builtin/tag.c:469
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:470 builtin/tag.c:472
+#: builtin/tag.c:468 builtin/tag.c:470
 msgid "print only tags that don't contain the commit"
 msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation"
 
-#: builtin/tag.c:473
+#: builtin/tag.c:471
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:474
+#: builtin/tag.c:472
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:478
+#: builtin/tag.c:476
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:526
+#: builtin/tag.c:525
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:548
+#: builtin/tag.c:546
 msgid "-n option is only allowed in list mode"
 msgstr "l'option -n est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:550
+#: builtin/tag.c:548
 msgid "--contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:552
+#: builtin/tag.c:550
 msgid "--no-contains option is only allowed in list mode"
 msgstr "l'option --no-contains est autorisée seulement en mode liste"
 
-#: builtin/tag.c:554
+#: builtin/tag.c:552
 msgid "--points-at option is only allowed in list mode"
 msgstr "l'option --points-at est autorisée seulement en mode liste"
 
-#: builtin/tag.c:556
+#: builtin/tag.c:554
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 "les options --merged et --no-merged ne sont autorisées qu'en mode liste"
 
-#: builtin/tag.c:567
+#: builtin/tag.c:568
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:592
+#: builtin/tag.c:593
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:597
+#: builtin/tag.c:598
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:628
+#: builtin/tag.c:629
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
@@ -23783,209 +24132,204 @@ msgstr "Dépaquetage des objets"
 msgid "failed to create directory %s"
 msgstr "échec de la création du répertoire %s"
 
-#: builtin/update-index.c:100
-#, c-format
-msgid "failed to create file %s"
-msgstr "échec de la création du fichier %s"
-
-#: builtin/update-index.c:108
+#: builtin/update-index.c:106
 #, c-format
 msgid "failed to delete file %s"
 msgstr "échec de la suppression du fichier %s"
 
-#: builtin/update-index.c:115 builtin/update-index.c:221
+#: builtin/update-index.c:113 builtin/update-index.c:219
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "échec de la suppression du répertoire %s"
 
-#: builtin/update-index.c:140
+#: builtin/update-index.c:138
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Test du mtime dans '%s' "
 
-#: builtin/update-index.c:154
+#: builtin/update-index.c:152
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un fichier"
 
-#: builtin/update-index.c:167
+#: builtin/update-index.c:165
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un répertoire"
 
-#: builtin/update-index.c:180
+#: builtin/update-index.c:178
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "l'information de stat du répertoire change après mise à jour d'un fichier"
 
-#: builtin/update-index.c:191
+#: builtin/update-index.c:189
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "l'information de stat du répertoire change après l'ajout d'un fichier dans "
 "un sous-répertoire"
 
-#: builtin/update-index.c:202
+#: builtin/update-index.c:200
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "fichier<"
 
-#: builtin/update-index.c:215
+#: builtin/update-index.c:213
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "répertoire"
 
-#: builtin/update-index.c:222
+#: builtin/update-index.c:220
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:591
+#: builtin/update-index.c:589
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:976
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr "continuer de rafraîchir même si l'index a besoin d'une mise à jour"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:988
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr "rafraîchir même si l'index contient des éléments non fusionnés"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:1010
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:1013
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:1016
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:1019
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1020
 msgid "do not touch index-only entries"
 msgstr "ne pas toucher aux entrées restreintes à l'index"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "ajouter seulement à l'index ; ne pas ajouter le contenu dans la base de "
 "données des objets"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "supprimer les chemins nommés même s'ils sont présents dans la copie de "
 "travail"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "avec --stdin : les lignes en entrée sont terminées par des octets nuls"
 
-#: builtin/update-index.c:1030
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "lire la liste des chemins à mettre à jour depuis l'entrée standard"
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "ajouter les éléments depuis l'entrée standard à l'index"
 
-#: builtin/update-index.c:1038
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "repeupler les étapes n°2 et n°3 pour les chemins listés"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:1046
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:1051
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr "tester si le système de fichier supporte le cache de non-suivis"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr "activer le cache de non-suivis sans tester le système de fichier"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "écrire l'index même s'il n'est pas marqué comme modifié"
 
-#: builtin/update-index.c:1067
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr ""
 "activer ou désactiver la surveillance du système de fichier (fsmonitor)"
 
-#: builtin/update-index.c:1069
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "marquer les fichiers comme valides pour fsmonitor"
 
-#: builtin/update-index.c:1072
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "effacer le bit de validité fsmonitor"
 
-#: builtin/update-index.c:1175
+#: builtin/update-index.c:1173
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -23993,7 +24337,7 @@ msgstr ""
 "core.splitIndex est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer l'index coupé"
 
-#: builtin/update-index.c:1184
+#: builtin/update-index.c:1182
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -24001,7 +24345,7 @@ msgstr ""
 "core.splitIndex est réglé à vrai ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver l'index coupé"
 
-#: builtin/update-index.c:1196
+#: builtin/update-index.c:1194
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -24009,11 +24353,11 @@ msgstr ""
 "core.untrackedCache est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1208
+#: builtin/update-index.c:1206
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -24021,29 +24365,29 @@ msgstr ""
 "core.untrackedCache est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1212
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
 
-#: builtin/update-index.c:1220
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor est réglé à false ; changez-le si vous souhaitez vraiment "
 "activer la surveillance du système de fichiers"
 
-#: builtin/update-index.c:1224
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "fsmonitor activé"
 
-#: builtin/update-index.c:1227
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver la surveillance du système de fichiers"
 
-#: builtin/update-index.c:1231
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "fsmonitor désactivé"
 
@@ -24061,19 +24405,19 @@ msgstr ""
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<options>] --stdin [-z]"
 
-#: builtin/update-ref.c:500
+#: builtin/update-ref.c:506
 msgid "delete the reference"
 msgstr "supprimer la référence"
 
-#: builtin/update-ref.c:502
+#: builtin/update-ref.c:508
 msgid "update <refname> not the one it points to"
 msgstr "mettre à jour <nomréférence> et non la référence pointée par lui"
 
-#: builtin/update-ref.c:503
+#: builtin/update-ref.c:509
 msgid "stdin has NUL-terminated arguments"
 msgstr "l'entrée standard a des arguments qui se terminent par NUL"
 
-#: builtin/update-ref.c:504
+#: builtin/update-ref.c:510
 msgid "read updates from stdin"
 msgstr "lire les mises à jour depuis l'entrée standard"
 
@@ -24089,20 +24433,20 @@ msgstr "mettre à jour les fichiers d'information à partir de zéro"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<options>] <répertoire>"
 
-#: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17
+#: builtin/upload-pack.c:24 t/helper/test-serve-v2.c:17
 msgid "quit after a single request/response exchange"
 msgstr "quitter après un unique échange requête/réponse"
 
-#: builtin/upload-pack.c:25
-msgid "exit immediately after initial ref advertisement"
-msgstr "sortir immédiatement après l'annonce initiale des références"
+#: builtin/upload-pack.c:26
+msgid "serve up the info/refs for git-http-backend"
+msgstr "servir l'information et les références pour git-http-backend"
 
-#: builtin/upload-pack.c:27
+#: builtin/upload-pack.c:29
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 "ne pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire Git"
 
-#: builtin/upload-pack.c:29
+#: builtin/upload-pack.c:31
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "interrompre le transfert après <n> secondes d'inactivité"
 
@@ -24138,63 +24482,58 @@ msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
 msgid "print tag contents"
 msgstr "afficher le contenu de l'étiquette"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:19
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr "git worktree add [<options>] <chemin> [<commit>]"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:20
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<options>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:21
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<options>] <chemin>"
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:22
 msgid "git worktree move <worktree> <new-path>"
 msgstr "git worktree move <arbre-de-travail> <nouveau-chemin>"
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:23
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<options>]"
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:24
 msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<options>] <arbre-de-travail>"
 
-#: builtin/worktree.c:24
+#: builtin/worktree.c:25
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <chemin>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:944
-#, c-format
-msgid "failed to delete '%s'"
-msgstr "échec de la suppression de '%s'"
-
-#: builtin/worktree.c:74
+#: builtin/worktree.c:75
 #, c-format
 msgid "Removing %s/%s: %s"
 msgstr "Suppression de %s/%s : %s"
 
-#: builtin/worktree.c:147
+#: builtin/worktree.c:148
 msgid "report pruned working trees"
 msgstr "afficher les arbres de travail éliminés"
 
-#: builtin/worktree.c:149
+#: builtin/worktree.c:150
 msgid "expire working trees older than <time>"
 msgstr "faire expirer les arbres de travail plus vieux que <temps>"
 
-#: builtin/worktree.c:219
+#: builtin/worktree.c:220
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' existe déjà"
 
-#: builtin/worktree.c:228
+#: builtin/worktree.c:229
 #, c-format
 msgid "unusable worktree destination '%s'"
 msgstr "arbre de travail destination '%s' inutilisable"
 
-#: builtin/worktree.c:233
+#: builtin/worktree.c:234
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
@@ -24204,7 +24543,7 @@ msgstr ""
 "utilisez '%s -f -f' pour passer outre, ou 'unlock' et 'prune' ou 'remove' "
 "pour corriger"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:236
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
@@ -24213,149 +24552,149 @@ msgstr ""
 "'%s' est un arbre de travail manquant mais déjà enregistré ;\n"
 "utilisez '%s -f' pour passer outre, ou 'prune' ou 'remove' pour corriger"
 
-#: builtin/worktree.c:286
+#: builtin/worktree.c:287
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "impossible de créer le répertoire de '%s'"
 
-#: builtin/worktree.c:308
+#: builtin/worktree.c:309
 msgid "initializing"
 msgstr "initialisation"
 
-#: builtin/worktree.c:420 builtin/worktree.c:426
+#: builtin/worktree.c:421 builtin/worktree.c:427
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "Préparation de l'arbre de travail (nouvelle branche '%s')"
 
-#: builtin/worktree.c:422
+#: builtin/worktree.c:423
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr ""
 "Préparation de l'arbre de travail (réinitialisation de la branche '%s' ; "
 "précédemment sur %s)"
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:432
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Préparation de l'arbre de travail (extraction de '%s')"
 
-#: builtin/worktree.c:437
+#: builtin/worktree.c:438
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#: builtin/worktree.c:482
+#: builtin/worktree.c:483
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 "extraire la <branche> même si elle est déjà extraite dans une autre copie de "
 "travail"
 
-#: builtin/worktree.c:485
+#: builtin/worktree.c:486
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:488
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:490
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:490
+#: builtin/worktree.c:491
 msgid "keep the new working tree locked"
 msgstr "conserver le verrou sur le nouvel arbre de travail"
 
-#: builtin/worktree.c:492 builtin/worktree.c:729
+#: builtin/worktree.c:493 builtin/worktree.c:730
 msgid "reason for locking"
 msgstr "raison du verrouillage"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:496
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "régler le mode de suivi (voir git-branch(1))"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:499
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "essayer de nommer la nouvelle branche comme la branche amont"
 
-#: builtin/worktree.c:506
+#: builtin/worktree.c:507
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:508
+#: builtin/worktree.c:509
 msgid "--reason requires --lock"
 msgstr "--reason exige --lock"
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:513
 msgid "added with --lock"
 msgstr "ajouté avec --lock"
 
-#: builtin/worktree.c:574
+#: builtin/worktree.c:575
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr ""
 "--[no-]track ne peut être utilisé qu'à la création d'une nouvelle branche"
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:692
 msgid "show extended annotations and reasons, if available"
 msgstr "afficher les annotations étendues et les raisons, si disponible"
 
-#: builtin/worktree.c:693
+#: builtin/worktree.c:694
 msgid "add 'prunable' annotation to worktrees older than <time>"
 msgstr ""
 "ajouter l'annotation 'prunable' aux arbres de travail plus vieux que <temps>"
 
-#: builtin/worktree.c:702
+#: builtin/worktree.c:703
 msgid "--verbose and --porcelain are mutually exclusive"
 msgstr "--verbose et --porcelain sont mutuellement exclusifs"
 
-#: builtin/worktree.c:741 builtin/worktree.c:774 builtin/worktree.c:848
-#: builtin/worktree.c:972
+#: builtin/worktree.c:742 builtin/worktree.c:775 builtin/worktree.c:849
+#: builtin/worktree.c:973
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:743 builtin/worktree.c:776
+#: builtin/worktree.c:744 builtin/worktree.c:777
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 "La copie de travail principale ne peut pas être verrouillée ou déverrouillée"
 
-#: builtin/worktree.c:748
+#: builtin/worktree.c:749
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:750
+#: builtin/worktree.c:751
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:778
+#: builtin/worktree.c:779
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
 
-#: builtin/worktree.c:819
+#: builtin/worktree.c:820
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 "les arbres de travail contenant des sous-modules ne peuvent pas être "
 "déplacés ou supprimés"
 
-#: builtin/worktree.c:827
+#: builtin/worktree.c:828
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 "forcer le déplacement même si l'arbre de travail est sale ou verrouillé"
 
-#: builtin/worktree.c:850 builtin/worktree.c:974
+#: builtin/worktree.c:851 builtin/worktree.c:975
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' est un arbre de travail principal"
 
-#: builtin/worktree.c:855
+#: builtin/worktree.c:856
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "impossible de trouver le nom de la destination à partir de '%s'"
 
-#: builtin/worktree.c:868
+#: builtin/worktree.c:869
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -24365,7 +24704,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:870
+#: builtin/worktree.c:871
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -24373,39 +24712,39 @@ msgstr ""
 "impossible de déplacer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:873
+#: builtin/worktree.c:874
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "la validation a échoué, impossible de déplacer l'arbre de travail : %s"
 
-#: builtin/worktree.c:878
+#: builtin/worktree.c:879
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "échec au déplacement de '%s' vers '%s'"
 
-#: builtin/worktree.c:924
+#: builtin/worktree.c:925
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "échec du lancement de 'git status' sur '%s'"
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:929
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 "'%s' contient des fichiers modifiés ou non-suivis, utilisez --force pour le "
 "supprimer"
 
-#: builtin/worktree.c:933
+#: builtin/worktree.c:934
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "impossible de lancer 'git status' sur '%s', code %d"
 
-#: builtin/worktree.c:956
+#: builtin/worktree.c:957
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 "forcer la suppression même si l'arbre de travail est sale ou verrouillé"
 
-#: builtin/worktree.c:979
+#: builtin/worktree.c:980
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -24415,7 +24754,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:981
+#: builtin/worktree.c:982
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -24423,18 +24762,18 @@ msgstr ""
 "impossible de supprimer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:984
+#: builtin/worktree.c:985
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
 "la validation a échoué, impossible de supprimer l'arbre de travail : %s"
 
-#: builtin/worktree.c:1008
+#: builtin/worktree.c:1009
 #, c-format
 msgid "repair: %s: %s"
 msgstr "réparation : %s : '%s'"
 
-#: builtin/worktree.c:1011
+#: builtin/worktree.c:1012
 #, c-format
 msgid "error: %s: %s"
 msgstr "erreur : %s : %s"
@@ -24563,17 +24902,17 @@ msgstr "échec inconnu d'écriture sur la sortie standard"
 msgid "close failed on standard output"
 msgstr "échec de fermeture de la sortie standard"
 
-#: git.c:833
+#: git.c:832
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "boucle d'alias détectée : l'expansion de '%s' ne finit jamais : %s"
 
-#: git.c:883
+#: git.c:882
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "impossible d'utiliser %s comme une fonction intégrée"
 
-#: git.c:896
+#: git.c:895
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -24582,13 +24921,13 @@ msgstr ""
 "usage : %s\n"
 "\n"
 
-#: git.c:916
+#: git.c:915
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr ""
 "l'expansion de l'alias '%s' a échoué : '%s' n'est pas une commande git\n"
 
-#: git.c:928
+#: git.c:927
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "échec au lancement de la commande '%s' : %s\n"
@@ -24635,68 +24974,34 @@ msgstr "test-tool serve-v2 [<options>]"
 msgid "exit immediately after advertising capabilities"
 msgstr "sortir immédiatement après l'annonce des capacités"
 
-#: t/helper/test-simple-ipc.c:262
-#, c-format
-msgid "socket/pipe already in use: '%s'"
-msgstr "socket/pipe déjà en cours d'utilisation : '%s'"
-
-#: t/helper/test-simple-ipc.c:264
-#, c-format
-msgid "could not start server on: '%s'"
-msgstr "impossible de démarrer les serveur sur : '%s'"
-
-#: t/helper/test-simple-ipc.c:295 t/helper/test-simple-ipc.c:331
-msgid "could not spawn daemon in the background"
-msgstr "échec du lancement d'un daemon en tâche de fond"
-
-#: t/helper/test-simple-ipc.c:356
-msgid "waitpid failed"
-msgstr "échec du waitpid"
-
-#: t/helper/test-simple-ipc.c:376
-msgid "daemon not online yet"
-msgstr "daemon pas encore en ligne"
-
-#: t/helper/test-simple-ipc.c:406
-msgid "daemon failed to start"
-msgstr "échec du démarrage du daemon"
-
-#: t/helper/test-simple-ipc.c:410
-msgid "waitpid is confused"
-msgstr "waitpid est embrouillé"
-
-#: t/helper/test-simple-ipc.c:541
-msgid "daemon has not shutdown yet"
-msgstr "le daemon n'est pas encore arrêté"
-
-#: t/helper/test-simple-ipc.c:682
+#: t/helper/test-simple-ipc.c:581
 msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
 msgstr "test-helper simple-ipc-is-active [<nom>] [<options>]"
 
-#: t/helper/test-simple-ipc.c:683
+#: t/helper/test-simple-ipc.c:582
 msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
 msgstr "test-helper simple-ipc run-daemon   [<nom>] [<fils-d'exécution>]"
 
-#: t/helper/test-simple-ipc.c:684
+#: t/helper/test-simple-ipc.c:583
 msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
 msgstr ""
 "test-helper simple-ipc start-daemon [<nom>] [<fils-d'exécution>] [<attente-"
 "max>]"
 
-#: t/helper/test-simple-ipc.c:685
+#: t/helper/test-simple-ipc.c:584
 msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
 msgstr "test-helper simple-ipc stop-daemon  [<nom>] [<attente-max>]"
 
-#: t/helper/test-simple-ipc.c:686
+#: t/helper/test-simple-ipc.c:585
 msgid "test-helper simple-ipc send         [<name>] [<token>]"
 msgstr "test-helper simple-ipc send         [<nom>] [<jeton>]"
 
-#: t/helper/test-simple-ipc.c:687
+#: t/helper/test-simple-ipc.c:586
 msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
 msgstr ""
 "test-helper simple-ipc sendbytes    [<nom>] [<nombre-d'octets>] [<octets>]"
 
-#: t/helper/test-simple-ipc.c:688
+#: t/helper/test-simple-ipc.c:587
 msgid ""
 "test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
 "[<batchsize>]"
@@ -24704,87 +25009,83 @@ msgstr ""
 "test-helper simple-ipc multiple     [<nom>] [<fils-d'exécution>] [<nombre-"
 "d'octets>] [<taille-de-lot>]"
 
-#: t/helper/test-simple-ipc.c:696
+#: t/helper/test-simple-ipc.c:595
 msgid "name or pathname of unix domain socket"
 msgstr "nom ou nom de chemin du socket unix"
 
-#: t/helper/test-simple-ipc.c:698
+#: t/helper/test-simple-ipc.c:597
 msgid "named-pipe name"
 msgstr "nom du pipe nommé"
 
-#: t/helper/test-simple-ipc.c:700
+#: t/helper/test-simple-ipc.c:599
 msgid "number of threads in server thread pool"
 msgstr ""
 "nombre de fils d'exécution dans le réservoir de fils d'exécution du serveur"
 
-#: t/helper/test-simple-ipc.c:701
+#: t/helper/test-simple-ipc.c:600
 msgid "seconds to wait for daemon to start or stop"
 msgstr "nombre de secondes à attendre que le daemon démarre ou s'arrête"
 
-#: t/helper/test-simple-ipc.c:703
+#: t/helper/test-simple-ipc.c:602
 msgid "number of bytes"
 msgstr "nombre d'octets"
 
-#: t/helper/test-simple-ipc.c:704
+#: t/helper/test-simple-ipc.c:603
 msgid "number of requests per thread"
 msgstr "nombre de requêtes par fil d'exécution"
 
-#: t/helper/test-simple-ipc.c:706
+#: t/helper/test-simple-ipc.c:605
 msgid "byte"
 msgstr "octet"
 
-#: t/helper/test-simple-ipc.c:706
+#: t/helper/test-simple-ipc.c:605
 msgid "ballast character"
 msgstr "caractère ballast"
 
-#: t/helper/test-simple-ipc.c:707
+#: t/helper/test-simple-ipc.c:606
 msgid "token"
 msgstr "jeton"
 
-#: t/helper/test-simple-ipc.c:707
+#: t/helper/test-simple-ipc.c:606
 msgid "command token to send to the server"
 msgstr "jeton de commande à envoyer au serveur"
 
-#: http.c:399
+#: http.c:350
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr ""
 "valeur négative pour http.postbuffer ; utilisation de la valeur par défaut %d"
 
-#: http.c:420
+#: http.c:371
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "La délégation de commande n'est pas supporté avec cuRL < 7.22.0"
 
-#: http.c:429
-msgid "Public key pinning not supported with cURL < 7.44.0"
-msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.44.0"
+#: http.c:380
+msgid "Public key pinning not supported with cURL < 7.39.0"
+msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.39.0"
 
-#: http.c:910
+#: http.c:812
 msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
 msgstr "CURLSSLOPT_NO_REVOKE n'est pas supporté avec cuRL < 7.44.0"
 
-#: http.c:989
-msgid "Protocol restrictions not supported with cURL < 7.19.4"
-msgstr "Les restrictions de protocole ne sont pas supportés avec cuRL < 7.19.4"
-
-#: http.c:1132
+#: http.c:1016
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr "Dorsale SSL '%s' non supportée. Dorsales SSL supportées :"
 
-#: http.c:1139
+#: http.c:1023
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 "Impossible de régler la dorsale SSL à '%s' : cURL a été construit sans "
 "dorsale SSL"
 
-#: http.c:1143
+#: http.c:1027
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "Impossible de spécifier le dorsal SSL à '%s' : déjà spécifié"
 
-#: http.c:2034
+#: http.c:1876
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -24800,45 +25101,50 @@ msgstr ""
 msgid "invalid quoting in push-option value: '%s'"
 msgstr "citation invalide dans la valeur push-option : '%s'"
 
-#: remote-curl.c:307
+#: remote-curl.c:304
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr "%sinfo/refs n'est pas valide : est-ce bien un dépôt git ?"
 
-#: remote-curl.c:408
+#: remote-curl.c:405
 msgid "invalid server response; expected service, got flush packet"
 msgstr "réponse du serveur invalide ; service attendu, paquet de vidage reçu"
 
-#: remote-curl.c:439
+#: remote-curl.c:436
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr "réponse du serveur invalide ; '%s' reçu"
 
-#: remote-curl.c:499
+#: remote-curl.c:496
 #, c-format
 msgid "repository '%s' not found"
 msgstr "dépôt '%s' non trouvé"
 
-#: remote-curl.c:503
+#: remote-curl.c:500
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr "Échec d'authentification pour '%s'"
 
-#: remote-curl.c:507
+#: remote-curl.c:504
+#, c-format
+msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
+msgstr "impossible d'accéder à '%s' avec la configuration http.pinnedPubkey : %s"
+
+#: remote-curl.c:508
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "impossible d'accéder à '%s' : %s"
 
-#: remote-curl.c:513
+#: remote-curl.c:514
 #, c-format
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
 
-#: remote-curl.c:644
+#: remote-curl.c:645
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr "ne devrait pas recevoir OEF quand on n'est pas gentil sur EOF"
 
-#: remote-curl.c:656
+#: remote-curl.c:657
 msgid "remote server sent unexpected response end packet"
 msgstr "le serveur distant a envoyé un paquet de fin de réponse inattendu"
 
@@ -24848,83 +25154,83 @@ msgstr ""
 "impossible de rembobiner le données post rpc - essayer d'augmenter http."
 "postBuffer"
 
-#: remote-curl.c:756
+#: remote-curl.c:755
 #, c-format
 msgid "remote-curl: bad line length character: %.4s"
 msgstr "remote-curl : mauvais caractère de longueur de ligne : %.4s"
 
-#: remote-curl.c:758
+#: remote-curl.c:757
 msgid "remote-curl: unexpected response end packet"
 msgstr "remote-curl : paquet de fin de réponse inattendu"
 
-#: remote-curl.c:834
+#: remote-curl.c:833
 #, c-format
 msgid "RPC failed; %s"
 msgstr "échec RPC ; %s"
 
-#: remote-curl.c:874
+#: remote-curl.c:873
 msgid "cannot handle pushes this big"
 msgstr "impossible de gérer des poussées aussi grosses"
 
-#: remote-curl.c:989
+#: remote-curl.c:986
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr "impossible de compresser la requête ; erreur de compression zlib %d"
 
-#: remote-curl.c:993
+#: remote-curl.c:990
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr "impossible de compresser la requête ; erreur de fin zlib %d"
 
-#: remote-curl.c:1043
+#: remote-curl.c:1040
 #, c-format
 msgid "%d bytes of length header were received"
 msgstr "%d octets de longueur d'entête ont été reçus"
 
-#: remote-curl.c:1045
+#: remote-curl.c:1042
 #, c-format
 msgid "%d bytes of body are still expected"
 msgstr "%d octets de corps sont encore attendus"
 
-#: remote-curl.c:1134
+#: remote-curl.c:1131
 msgid "dumb http transport does not support shallow capabilities"
 msgstr "le protocole http idiot ne supporte la capacité superficielle"
 
-#: remote-curl.c:1149
+#: remote-curl.c:1146
 msgid "fetch failed."
 msgstr "échec du récupération."
 
-#: remote-curl.c:1195
+#: remote-curl.c:1192
 msgid "cannot fetch by sha1 over smart http"
 msgstr "impossible de récupérer par sha1 sur http intelligent"
 
-#: remote-curl.c:1239 remote-curl.c:1245
+#: remote-curl.c:1236 remote-curl.c:1242
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr "erreur de protocole : sha/ref attendu, '%s' trouvé"
 
-#: remote-curl.c:1257 remote-curl.c:1375
+#: remote-curl.c:1254 remote-curl.c:1372
 #, c-format
 msgid "http transport does not support %s"
 msgstr "le transport http ne supporte pas %s"
 
-#: remote-curl.c:1293
+#: remote-curl.c:1290
 msgid "git-http-push failed"
 msgstr "échec de git-http-push"
 
-#: remote-curl.c:1481
+#: remote-curl.c:1478
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr "remote-curl: usage: git remote-curl <distant> [<url>]"
 
-#: remote-curl.c:1513
+#: remote-curl.c:1510
 msgid "remote-curl: error reading command stream from git"
 msgstr "remote-curl : erreur de lecture du flux de commande depuis git"
 
-#: remote-curl.c:1520
+#: remote-curl.c:1517
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr "remote-curl : récupération tentée sans dépôt local"
 
-#: remote-curl.c:1561
+#: remote-curl.c:1558
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr "remote-curl : commande inconnue '%s' depuis git"
@@ -24945,46 +25251,46 @@ msgstr "args"
 msgid "object filtering"
 msgstr "filtrage d'objet"
 
-#: parse-options.h:184
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "date-d'expiration"
 
-#: parse-options.h:198
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "sans action (rétrocompatibilité)"
 
-#: parse-options.h:310
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "être plus verbeux"
 
-#: parse-options.h:312
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "être plus silencieux"
 
-#: parse-options.h:318
+#: parse-options.h:317
 msgid "use <n> digits to display object names"
 msgstr "utiliser <n> chiffres pour afficher les noms des objets"
 
-#: parse-options.h:337
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
-#: parse-options.h:338
+#: parse-options.h:337
 msgid "read pathspec from file"
 msgstr "lire les spécificateurs de fichier depuis fichier"
 
-#: parse-options.h:339
+#: parse-options.h:338
 msgid ""
 "with --pathspec-from-file, pathspec elements are separated with NUL character"
 msgstr ""
 "avec --pathspec-from-file, les spécificateurs de chemin sont séparés par un "
 "caractère NUL"
 
-#: ref-filter.h:99
+#: ref-filter.h:101
 msgid "key"
 msgstr "clé"
 
-#: ref-filter.h:99
+#: ref-filter.h:101
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
@@ -25696,41 +26002,6 @@ msgstr "Une introduction pratique à Git"
 msgid "An overview of recommended workflows with Git"
 msgstr "Un aperçu des flux de travail recommandés avec Git"
 
-#: git-bisect.sh:68
-msgid "bisect run failed: no command provided."
-msgstr "la bissection a échoué : aucune commande fournie."
-
-#: git-bisect.sh:73
-#, sh-format
-msgid "running $command"
-msgstr "lancement de $command"
-
-#: git-bisect.sh:80
-#, sh-format
-msgid ""
-"bisect run failed:\n"
-"exit code $res from '$command' is < 0 or >= 128"
-msgstr ""
-"la bissection a échoué :\n"
-"le code retour $res de '$command' est < 0 ou >= 128"
-
-#: git-bisect.sh:105
-msgid "bisect run cannot continue any more"
-msgstr "la bissection ne peut plus continuer"
-
-#: git-bisect.sh:111
-#, sh-format
-msgid ""
-"bisect run failed:\n"
-"'bisect-state $state' exited with error code $res"
-msgstr ""
-"la bissection a échoué :\n"
-"'bisect-state $state' a retourné le code erreur $res"
-
-#: git-bisect.sh:118
-msgid "bisect run success"
-msgstr "succès de la bissection"
-
 #: git-merge-octopus.sh:46
 msgid ""
 "Error: Your local changes to the following files would be overwritten by "
@@ -25771,55 +26042,19 @@ msgstr "Essai de fusion simple avec $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "La fusion simple a échoué, essai avec la fusion automatique."
 
-#: git-submodule.sh:179
-msgid "Relative path can only be used from the toplevel of the working tree"
-msgstr ""
-"Un chemin relatif ne peut être utilisé que depuis la racine de la copie de "
-"travail"
-
-#: git-submodule.sh:189
-#, sh-format
-msgid "repo URL: '$repo' must be absolute or begin with ./|../"
-msgstr "l'URL de dépôt : '$repo' doit être absolu ou commencer par ./|../"
-
-#: git-submodule.sh:208
-#, sh-format
-msgid "'$sm_path' already exists in the index"
-msgstr "'$sm_path' existe déjà dans l'index"
-
-#: git-submodule.sh:211
-#, sh-format
-msgid "'$sm_path' already exists in the index and is not a submodule"
-msgstr "'$sm_path' existe déjà dans l'index et n'est pas un sous-module"
-
-#: git-submodule.sh:218
-#, sh-format
-msgid "'$sm_path' does not have a commit checked out"
-msgstr "'$sm_path' n'a pas de commit extrait"
-
-#: git-submodule.sh:248
-#, sh-format
-msgid "Failed to add submodule '$sm_path'"
-msgstr "Échec d'ajout du sous-module '$sm_path'"
-
-#: git-submodule.sh:257
-#, sh-format
-msgid "Failed to register submodule '$sm_path'"
-msgstr "Échec d'enregistrement du sous-module '$sm_path'"
-
-#: git-submodule.sh:532
+#: git-submodule.sh:401
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Impossible de trouver la révision courante dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:542
+#: git-submodule.sh:411
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:547
+#: git-submodule.sh:416
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -25828,402 +26063,11 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:565
-#, sh-format
-msgid ""
-"Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
-"$sha1:"
-msgstr ""
-"Impossible de rapatrier dans le chemin de sous-module '$displaypath' ; essai "
-"de rapatriement direct de $sha1 :"
-
-#: git-submodule.sh:571
-#, sh-format
-msgid ""
-"Fetched in submodule path '$displaypath', but it did not contain $sha1. "
-"Direct fetching of that commit failed."
-msgstr ""
-"Chemin de sous-module '$displaypath' récupéré, mais il ne contenait pas "
-"$sha1. La récupération directe de ce commit a échoué."
-
-#: git-submodule.sh:578
-#, sh-format
-msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
-msgstr ""
-"Impossible d'extraire '$sha1' dans le chemin de sous-module '$displaypath'"
-
-#: git-submodule.sh:579
-#, sh-format
-msgid "Submodule path '$displaypath': checked out '$sha1'"
-msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
-
-#: git-submodule.sh:583
-#, sh-format
-msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
-msgstr ""
-"Impossible de rebaser '$sha1' dans le chemin de sous-module '$displaypath'"
-
-#: git-submodule.sh:584
-#, sh-format
-msgid "Submodule path '$displaypath': rebased into '$sha1'"
-msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
-
-#: git-submodule.sh:589
-#, sh-format
-msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
-msgstr ""
-"Impossible de fusionner '$sha1' dans le chemin de sous-module '$displaypath'"
-
-#: git-submodule.sh:590
-#, sh-format
-msgid "Submodule path '$displaypath': merged in '$sha1'"
-msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
-
-#: git-submodule.sh:595
-#, sh-format
-msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
-msgstr ""
-"L'exécution de '$command $sha1' a échoué dans le chemin de sous-module "
-"'$displaypath'"
-
-#: git-submodule.sh:596
-#, sh-format
-msgid "Submodule path '$displaypath': '$command $sha1'"
-msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
-
-#: git-submodule.sh:627
+#: git-submodule.sh:464
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-rebase--preserve-merges.sh:109
-msgid "Applied autostash."
-msgstr "Autoremisage appliqué."
-
-#: git-rebase--preserve-merges.sh:112
-#, sh-format
-msgid "Cannot store $stash_sha1"
-msgstr "Impossible de stocker $stash_sha1"
-
-#: git-rebase--preserve-merges.sh:113
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"L'application de l'autoremisage a provoqué des conflits\n"
-"Vos  modifications sont à l'abri dans la remise.\n"
-"Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
-
-#: git-rebase--preserve-merges.sh:191
-#, sh-format
-msgid "Rebasing ($new_count/$total)"
-msgstr "Rebasage ($new_count/$total)"
-
-#: git-rebase--preserve-merges.sh:197
-msgid ""
-"\n"
-"Commands:\n"
-"p, pick <commit> = use commit\n"
-"r, reword <commit> = use commit, but edit the commit message\n"
-"e, edit <commit> = use commit, but stop for amending\n"
-"s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
-"x, exec <commit> = run command (the rest of the line) using shell\n"
-"d, drop <commit> = remove commit\n"
-"l, label <label> = label current HEAD with a name\n"
-"t, reset <label> = reset HEAD to a label\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       create a merge commit using the original merge commit's\n"
-".       message (or the oneline, if no original merge commit was\n"
-".       specified). Use -c <commit> to reword the commit message.\n"
-"\n"
-"These lines can be re-ordered; they are executed from top to bottom.\n"
-msgstr ""
-"\n"
-"Commandes :\n"
-" p, pick <commit> = utiliser le commit\n"
-" r, reword <commit> = utiliser le commit, mais reformuler son message\n"
-" e, edit <commit> = utiliser le commit, mais s'arrêter pour le modifier\n"
-" s, squash <commit> = utiliser le commit, mais le fusionner avec le "
-"précédent\n"
-" f, fixup <commit> = comme \"squash\", mais en éliminant son message\n"
-" x, exec <commit> = lancer la commande (reste de la ligne) dans un shell\n"
-" d, drop <commit> = supprimer le commit\n"
-" l, label <label> = étiqueter la HEAD courante avec un nom\n"
-" t, reset <label> = réinitialiser HEAD à label\n"
-" m, merge [-C <commit> | -c <commit>] <label> [# <uniligne>]\n"
-"         créer un commit de fusion utilisant le message de fusion original\n"
-"         (ou l'uniligne, si aucun commit de fusion n'a été spécifié).\n"
-"         Utilisez -c <commit> pour reformuler le message de validation.\n"
-"\n"
-"Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
-
-#: git-rebase--preserve-merges.sh:260
-#, sh-format
-msgid ""
-"You can amend the commit now, with\n"
-"\n"
-"\tgit commit --amend $gpg_sign_opt_quoted\n"
-"\n"
-"Once you are satisfied with your changes, run\n"
-"\n"
-"\tgit rebase --continue"
-msgstr ""
-"Vous pouvez corriger le commit maintenant, avec\n"
-"\n"
-"\tgit commit --amend $gpg_sign_opt_quoted\n"
-"\n"
-"après avoir réalisé vos modifications, lancez\n"
-"\n"
-"\tgit rebase --continue"
-
-#: git-rebase--preserve-merges.sh:285
-#, sh-format
-msgid "$sha1: not a commit that can be picked"
-msgstr "$sha1 n'est pas un commit qui peut être picorer"
-
-#: git-rebase--preserve-merges.sh:324
-#, sh-format
-msgid "Invalid commit name: $sha1"
-msgstr "Nom de commit invalide : $sha1"
-
-#: git-rebase--preserve-merges.sh:354
-msgid "Cannot write current commit's replacement sha1"
-msgstr "Impossible de sauver le sha1 du remplaçant du commit en cours"
-
-#: git-rebase--preserve-merges.sh:405
-#, sh-format
-msgid "Fast-forward to $sha1"
-msgstr "Avance rapide sur $sha1"
-
-#: git-rebase--preserve-merges.sh:407
-#, sh-format
-msgid "Cannot fast-forward to $sha1"
-msgstr "Avance rapide impossible sur $sha1"
-
-#: git-rebase--preserve-merges.sh:416
-#, sh-format
-msgid "Cannot move HEAD to $first_parent"
-msgstr "Impossible de déplacer HEAD sur $first_parent"
-
-#: git-rebase--preserve-merges.sh:421
-#, sh-format
-msgid "Refusing to squash a merge: $sha1"
-msgstr "Refus d'écraser un commit de fusion: $sha1"
-
-#: git-rebase--preserve-merges.sh:439
-#, sh-format
-msgid "Error redoing merge $sha1"
-msgstr "Erreur lors de la réapplication de la fusion $sha1"
-
-#: git-rebase--preserve-merges.sh:448
-#, sh-format
-msgid "Could not pick $sha1"
-msgstr "Impossible de picorer $sha1"
-
-#: git-rebase--preserve-merges.sh:457
-#, sh-format
-msgid "This is the commit message #${n}:"
-msgstr "Ceci est le ${n}ième message de validation :"
-
-#: git-rebase--preserve-merges.sh:462
-#, sh-format
-msgid "The commit message #${n} will be skipped:"
-msgstr "Le message de validation ${n} sera ignoré :"
-
-#: git-rebase--preserve-merges.sh:473
-#, sh-format
-msgid "This is a combination of $count commit."
-msgid_plural "This is a combination of $count commits."
-msgstr[0] "Ceci est la combinaison de $count commit."
-msgstr[1] "Ceci est la combinaison de $count commits."
-
-#: git-rebase--preserve-merges.sh:482
-#, sh-format
-msgid "Cannot write $fixup_msg"
-msgstr "Impossible d'écrire $fixup_msg"
-
-#: git-rebase--preserve-merges.sh:485
-msgid "This is a combination of 2 commits."
-msgstr "Ceci est la combinaison de 2 commits."
-
-#: git-rebase--preserve-merges.sh:526 git-rebase--preserve-merges.sh:569
-#: git-rebase--preserve-merges.sh:572
-#, sh-format
-msgid "Could not apply $sha1... $rest"
-msgstr "Impossible d'appliquer $sha1... $rest"
-
-#: git-rebase--preserve-merges.sh:601
-#, sh-format
-msgid ""
-"Could not amend commit after successfully picking $sha1... $rest\n"
-"This is most likely due to an empty commit message, or the pre-commit hook\n"
-"failed. If the pre-commit hook failed, you may need to resolve the issue "
-"before\n"
-"you are able to reword the commit."
-msgstr ""
-"Impossible de corriger le commit après avoir réussi à picorer $sha1... "
-"$rest\n"
-"C'est probablement dû à un message de validation vide ou le crochet pre-"
-"commit\n"
-"a échoué. Si le crochet pre-commit a échoué, vous devez peut-être résoudre "
-"le\n"
-"problème avant de pouvoir reformuler le message du commit."
-
-#: git-rebase--preserve-merges.sh:616
-#, sh-format
-msgid "Stopped at $sha1_abbrev... $rest"
-msgstr "Arrêté à $sha1_abbrev... $rest"
-
-#: git-rebase--preserve-merges.sh:631
-#, sh-format
-msgid "Cannot '$squash_style' without a previous commit"
-msgstr "'$squash_style' impossible avec le commit précédent"
-
-#: git-rebase--preserve-merges.sh:673
-#, sh-format
-msgid "Executing: $rest"
-msgstr "Exécution : $rest"
-
-#: git-rebase--preserve-merges.sh:681
-#, sh-format
-msgid "Execution failed: $rest"
-msgstr "L'exécution a échoué : $rest"
-
-#: git-rebase--preserve-merges.sh:683
-msgid "and made changes to the index and/or the working tree"
-msgstr "et a mis à jour l'index ou la copie de travail"
-
-#: git-rebase--preserve-merges.sh:685
-msgid ""
-"You can fix the problem, and then run\n"
-"\n"
-"\tgit rebase --continue"
-msgstr ""
-"Vous pouvez corriger le problème, puis lancer\n"
-"\n"
-"git rebase --continue"
-
-#. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--preserve-merges.sh:698
-#, sh-format
-msgid ""
-"Execution succeeded: $rest\n"
-"but left changes to the index and/or the working tree\n"
-"Commit or stash your changes, and then run\n"
-"\n"
-"\tgit rebase --continue"
-msgstr ""
-"L'exécution a réussi : $rest\n"
-"mais a laissé des modifications dans l'index ou la copie de travail\n"
-"Validez ou remisez vos modification, puis lancez\n"
-"\n"
-"\tgit rebase --continue"
-
-#: git-rebase--preserve-merges.sh:709
-#, sh-format
-msgid "Unknown command: $command $sha1 $rest"
-msgstr "Commande inconnue : $command $sha1 $rest"
-
-#: git-rebase--preserve-merges.sh:710
-msgid "Please fix this using 'git rebase --edit-todo'."
-msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
-
-#: git-rebase--preserve-merges.sh:745
-#, sh-format
-msgid "Successfully rebased and updated $head_name."
-msgstr "Rebasage et mise à jour de $head_name avec succès."
-
-#: git-rebase--preserve-merges.sh:802
-msgid "Could not remove CHERRY_PICK_HEAD"
-msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
-
-#: git-rebase--preserve-merges.sh:807
-#, sh-format
-msgid ""
-"You have staged changes in your working tree.\n"
-"If these changes are meant to be\n"
-"squashed into the previous commit, run:\n"
-"\n"
-"  git commit --amend $gpg_sign_opt_quoted\n"
-"\n"
-"If they are meant to go into a new commit, run:\n"
-"\n"
-"  git commit $gpg_sign_opt_quoted\n"
-"\n"
-"In both cases, once you're done, continue with:\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-"Vous avez des modifications indexées dans votre copie de travail.\n"
-"Si ces modifications devaient être ajoutées\n"
-"dans le commit précédent, lancez :\n"
-"\n"
-"  git commit --amend $gpg_sign_opt_quoted\n"
-"\n"
-"Si elles devaient aller dans un nouveau commit, lancez :\n"
-"\n"
-"  git commit $gpg_sign_opt_quoted\n"
-"\n"
-"Dans les deux cas, une fois fini, continuez avec :\n"
-"\n"
-"  git rebase --continue\n"
-
-#: git-rebase--preserve-merges.sh:824
-msgid "Error trying to find the author identity to amend commit"
-msgstr ""
-"Erreur lors de la recherche de l'identité de l'auteur pour corriger le commit"
-
-#: git-rebase--preserve-merges.sh:829
-msgid ""
-"You have uncommitted changes in your working tree. Please commit them\n"
-"first and then run 'git rebase --continue' again."
-msgstr ""
-"Vous avez des modifications non validées dans votre copie de travail.\n"
-"Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
-
-#: git-rebase--preserve-merges.sh:834 git-rebase--preserve-merges.sh:838
-msgid "Could not commit staged changes."
-msgstr "impossible de valider les modifications indexées."
-
-#: git-rebase--preserve-merges.sh:869 git-rebase--preserve-merges.sh:955
-msgid "Could not execute editor"
-msgstr "Impossible de lancer l'éditeur"
-
-#: git-rebase--preserve-merges.sh:890
-#, sh-format
-msgid "Could not checkout $switch_to"
-msgstr "Impossible d'extraire $switch_to"
-
-#: git-rebase--preserve-merges.sh:897
-msgid "No HEAD?"
-msgstr "Pas de HEAD ?"
-
-#: git-rebase--preserve-merges.sh:898
-#, sh-format
-msgid "Could not create temporary $state_dir"
-msgstr "Impossible de créer un répertoire temporaire $state_dir"
-
-#: git-rebase--preserve-merges.sh:901
-msgid "Could not mark as interactive"
-msgstr "Impossible de marquer comme interactif"
-
-#: git-rebase--preserve-merges.sh:933
-#, sh-format
-msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
-msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
-msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
-msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
-
-#: git-rebase--preserve-merges.sh:945
-msgid "Note that empty commits are commented out"
-msgstr "Veuillez noter que les commits vides sont en commentaire"
-
-#: git-rebase--preserve-merges.sh:987 git-rebase--preserve-merges.sh:992
-msgid "Could not init rewritten commits"
-msgstr "Impossible d'initialiser les commits réécrits"
-
 #: git-sh-setup.sh:89 git-sh-setup.sh:94
 #, sh-format
 msgid "usage: $dashless $USAGE"
@@ -26242,52 +26086,32 @@ msgid "fatal: $program_name cannot be used without a working tree."
 msgstr "fatal : $program_name ne peut pas être utilisé sans copie de travail."
 
 #: git-sh-setup.sh:221
-msgid "Cannot rebase: You have unstaged changes."
-msgstr "Impossible de rebaser : vous avez des modifications non indexées."
-
-#: git-sh-setup.sh:224
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr ""
 "Impossible de réécrire les branches : vous avez des modifications non "
 "indexées."
 
-#: git-sh-setup.sh:227
-msgid "Cannot pull with rebase: You have unstaged changes."
-msgstr ""
-"impossible de tirer avec rebasage. Vous avez des modifications non indexées."
-
-#: git-sh-setup.sh:230
+#: git-sh-setup.sh:224
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr "$action est impossible : vous avez des modifications non indexées."
 
-#: git-sh-setup.sh:243
-msgid "Cannot rebase: Your index contains uncommitted changes."
-msgstr ""
-"Impossible de rebaser : votre index contient des modifications non validées."
-
-#: git-sh-setup.sh:246
-msgid "Cannot pull with rebase: Your index contains uncommitted changes."
-msgstr ""
-"impossible de tirer avec rebasage : votre index contient des modifications "
-"non validées."
-
-#: git-sh-setup.sh:249
+#: git-sh-setup.sh:235
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr ""
 "$action est impossible : votre index contient des modifications non validées."
 
-#: git-sh-setup.sh:253
+#: git-sh-setup.sh:237
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "De plus, votre index contient des modifications non validées."
 
-#: git-sh-setup.sh:373
+#: git-sh-setup.sh:357
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr ""
 "Vous devez lancer cette commande depuis la racine de votre copie de travail."
 
-#: git-sh-setup.sh:378
+#: git-sh-setup.sh:362
 msgid "Unable to determine absolute path of git directory"
 msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 
@@ -26929,7 +26753,7 @@ msgstr "Résultat : "
 msgid "Result: OK\n"
 msgstr "Résultat : OK\n"
 
-#: git-send-email.perl:1709
+#: git-send-email.perl:1708
 #, perl-format
 msgid "can't open file %s"
 msgstr "impossible d'ouvrir le fichier %s"
@@ -26954,30 +26778,30 @@ msgstr "(non-mbox) Ajout de cc: %s depuis la ligne '%s'\n"
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(corps) Ajout de cc: %s depuis la ligne '%s'\n"
 
-#: git-send-email.perl:1965
+#: git-send-email.perl:1973
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Impossible d'exécuter '%s'"
 
-#: git-send-email.perl:1972
+#: git-send-email.perl:1980
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
 
-#: git-send-email.perl:1976
+#: git-send-email.perl:1984
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) échec de la fermeture du pipe vers '%s'"
 
-#: git-send-email.perl:2006
+#: git-send-email.perl:2014
 msgid "cannot send message as 7bit"
 msgstr "impossible d'envoyer un message comme 7bit"
 
-#: git-send-email.perl:2014
+#: git-send-email.perl:2022
 msgid "invalid transfer encoding"
 msgstr "codage de transfert invalide"
 
-#: git-send-email.perl:2051
+#: git-send-email.perl:2059
 #, perl-format
 msgid ""
 "fatal: %s: rejected by sendemail-validate hook\n"
@@ -26988,12 +26812,12 @@ msgstr ""
 "%s\n"
 "attention : aucun patch envoyé\n"
 
-#: git-send-email.perl:2061 git-send-email.perl:2114 git-send-email.perl:2124
+#: git-send-email.perl:2069 git-send-email.perl:2122 git-send-email.perl:2132
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "impossible d'ouvrir %s :%s\n"
 
-#: git-send-email.perl:2064
+#: git-send-email.perl:2072
 #, perl-format
 msgid ""
 "fatal: %s:%d is longer than 998 characters\n"
@@ -27002,13 +26826,574 @@ msgstr ""
 "fatal : %s : %d est plus long que 998 caractères \n"
 "attention : aucun patch envoyé\n"
 
-#: git-send-email.perl:2082
+#: git-send-email.perl:2090
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "%s sauté avec un suffix de sauvegarde '%s'.\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2086
+#: git-send-email.perl:2094
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
+
+#, c-format
+#~ msgid ""
+#~ "The following pathspecs didn't match any eligible path, but they do match "
+#~ "index\n"
+#~ "entries outside the current sparse checkout:\n"
+#~ msgstr ""
+#~ "Les spécificateurs de chemin suivants n'ont trouvé aucune correspondance, "
+#~ "mais correspondent\n"
+#~ "dans les entrées d'index hors de l'extraction clairsemée actuelle :\n"
+
+#~ msgid ""
+#~ "Disable or modify the sparsity rules if you intend to update such entries."
+#~ msgstr ""
+#~ "Désactiver ou modifier les règles de partialisation si vous allez mettre "
+#~ "à jour de telles entrées."
+
+#, c-format
+#~ msgid "could not set GIT_DIR to '%s'"
+#~ msgstr "impossible de régler GIT_DIR à '%s'"
+
+#, c-format
+#~ msgid "unable to unpack %s header with --allow-unknown-type"
+#~ msgstr "impossible de dépaqueter l'entête %s avec --allow-unknown-type"
+
+#, c-format
+#~ msgid "unable to parse %s header with --allow-unknown-type"
+#~ msgstr "impossible d'analyser l'entête %s avec --allow-unknown-type"
+
+#~ msgid "open /dev/null failed"
+#~ msgstr "échec de l'ouverture de /dev/null"
+
+#~ msgid ""
+#~ "after resolving the conflicts, mark the corrected paths\n"
+#~ "with 'git add <paths>' or 'git rm <paths>'\n"
+#~ "and commit the result with 'git commit'"
+#~ msgstr ""
+#~ "après résolution des conflits, marquez les chemins corrigés\n"
+#~ "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
+#~ "puis validez le résultat avec 'git commit'"
+
+#~ msgid "open /dev/null or dup failed"
+#~ msgstr "échec de l'ouverture ou au dup de /dev/null"
+
+#~ msgid "attempting to use sparse-index without cone mode"
+#~ msgstr "tentative d'utilisation de l'index partiel sans mode cone"
+
+#~ msgid "unable to update cache-tree, staying full"
+#~ msgstr "impossible de mettre à jour l'arbre de cache, full conservé"
+
+#, c-format
+#~ msgid "Could not open '%s' for writing."
+#~ msgstr "Impossible d'ouvrir '%s' en écriture."
+
+#, c-format
+#~ msgid "could not create archive file '%s'"
+#~ msgstr "création impossible du fichier d'archive '%s'"
+
+#~ msgid ""
+#~ "git bisect--helper --bisect-next-check <good_term> <bad_term> [<term>]"
+#~ msgstr ""
+#~ "git bisect--helper --bisect-next-check <terme-pour-bon> <terme-pour-"
+#~ "mauvais> [<term>]"
+
+#~ msgid "--bisect-next-check requires 2 or 3 arguments"
+#~ msgstr "--bisect-next-check exige 2 ou 3 arguments"
+
+#, c-format
+#~ msgid "couldn't create a new file at '%s'"
+#~ msgstr "impossible de créer un fichier nouveau à '%s'"
+
+#, c-format
+#~ msgid "git commit-tree: failed to open '%s'"
+#~ msgstr "git commit-tree : échec à l'ouverture de '%s'"
+
+#, c-format
+#~ msgid "cannot open packfile '%s'"
+#~ msgstr "impossible d'ouvrir le fichier paquet '%s'"
+
+#~ msgid "cannot store pack file"
+#~ msgstr "impossible de stocker le fichier paquet"
+
+#~ msgid "cannot store index file"
+#~ msgstr "impossible de stocker le fichier d'index"
+
+#~ msgid "exclude patterns are read from <file>"
+#~ msgstr "les motifs d'exclusion sont lus depuis <fichier>"
+
+#, c-format
+#~ msgid "Unknown option for merge-recursive: -X%s"
+#~ msgstr "Options inconnue pour merge-recursive : -X%s"
+
+#, c-format
+#~ msgid "unusable todo list: '%s'"
+#~ msgstr "liste à faire inutilisable : '%s'"
+
+#~ msgid "git rebase--interactive [<options>]"
+#~ msgstr "git rebase--interactive [<options>]"
+
+#~ msgid "rebase merge commits"
+#~ msgstr "rebaser les commits de fusion"
+
+#~ msgid "keep original branch points of cousins"
+#~ msgstr "conserver les points de branchement de cousins originaux"
+
+#~ msgid "move commits that begin with squash!/fixup!"
+#~ msgstr "déplacer les commits qui commencent par squash!/fixup!"
+
+#~ msgid "sign commits"
+#~ msgstr "signer les commits"
+
+#~ msgid "continue rebase"
+#~ msgstr "continuer le rebasage"
+
+#~ msgid "skip commit"
+#~ msgstr "sauter le commit"
+
+#~ msgid "edit the todo list"
+#~ msgstr "éditer la liste à-faire"
+
+#~ msgid "show the current patch"
+#~ msgstr "afficher le patch courant"
+
+#~ msgid "shorten commit ids in the todo list"
+#~ msgstr "raccourcir les identifiants de commits dans la liste à-faire"
+
+#~ msgid "expand commit ids in the todo list"
+#~ msgstr "étendre les identifiants de commit dans la liste à-faire"
+
+#~ msgid "check the todo list"
+#~ msgstr "vérifier la liste à-faire"
+
+#~ msgid "rearrange fixup/squash lines"
+#~ msgstr "réarranger les lignes fixup/squash"
+
+#~ msgid "insert exec commands in todo list"
+#~ msgstr "insérer les commandes exec dans la liste à-faire"
+
+#~ msgid "onto"
+#~ msgstr "sur"
+
+#~ msgid "restrict-revision"
+#~ msgstr "restrict-revision"
+
+#~ msgid "restrict revision"
+#~ msgstr "restreindre la révision"
+
+#~ msgid "squash-onto"
+#~ msgstr "écraser-sur"
+
+#~ msgid "squash onto"
+#~ msgstr "écraser sur"
+
+#~ msgid "the upstream commit"
+#~ msgstr "le commit amont"
+
+#~ msgid "head-name"
+#~ msgstr "nom du head"
+
+#~ msgid "head name"
+#~ msgstr "nom du head"
+
+#~ msgid "rebase strategy"
+#~ msgstr "stratégie de rebasage"
+
+#~ msgid "strategy-opts"
+#~ msgstr "options de stratégie"
+
+#~ msgid "strategy options"
+#~ msgstr "options de stratégie"
+
+#~ msgid "switch-to"
+#~ msgstr "switch-to"
+
+#~ msgid "the branch or commit to checkout"
+#~ msgstr "la branche ou le commit à extraire"
+
+#~ msgid "onto-name"
+#~ msgstr "sur-le-nom"
+
+#~ msgid "onto name"
+#~ msgstr "sur le nom"
+
+#~ msgid "cmd"
+#~ msgstr "cmd"
+
+#~ msgid "the command to run"
+#~ msgstr "la commande à lancer"
+
+#~ msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
+#~ msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
+
+#~ msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
+#~ msgstr "impossible de combiner '--preserve-merges' avec '--rebase-merges'"
+
+#~ msgid ""
+#~ "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
+#~ msgstr ""
+#~ "erreur : impossible de combiner '--preserve-merges' avec '--reschedule-"
+#~ "failed-exec'"
+
+#~ msgid ""
+#~ "git submodule--helper add-clone [<options>...] --url <url> --path <path> "
+#~ "--name <name>"
+#~ msgstr ""
+#~ "git submodule--helper add-clone [<options>...] --url <url> --path "
+#~ "<chemin> --name <nom>"
+
+#, c-format
+#~ msgid "failed to create file %s"
+#~ msgstr "échec de la création du fichier %s"
+
+#~ msgid "exit immediately after initial ref advertisement"
+#~ msgstr "sortir immédiatement après l'annonce initiale des références"
+
+#, c-format
+#~ msgid "socket/pipe already in use: '%s'"
+#~ msgstr "socket/pipe déjà en cours d'utilisation : '%s'"
+
+#, c-format
+#~ msgid "could not start server on: '%s'"
+#~ msgstr "impossible de démarrer les serveur sur : '%s'"
+
+#~ msgid "could not spawn daemon in the background"
+#~ msgstr "échec du lancement d'un daemon en tâche de fond"
+
+#~ msgid "waitpid failed"
+#~ msgstr "échec du waitpid"
+
+#~ msgid "daemon not online yet"
+#~ msgstr "daemon pas encore en ligne"
+
+#~ msgid "daemon failed to start"
+#~ msgstr "échec du démarrage du daemon"
+
+#~ msgid "waitpid is confused"
+#~ msgstr "waitpid est embrouillé"
+
+#~ msgid "daemon has not shutdown yet"
+#~ msgstr "le daemon n'est pas encore arrêté"
+
+#~ msgid "Protocol restrictions not supported with cURL < 7.19.4"
+#~ msgstr ""
+#~ "Les restrictions de protocole ne sont pas supportés avec cuRL < 7.19.4"
+
+#, sh-format
+#~ msgid "running $command"
+#~ msgstr "lancement de $command"
+
+#, sh-format
+#~ msgid "'$sm_path' does not have a commit checked out"
+#~ msgstr "'$sm_path' n'a pas de commit extrait"
+
+#, sh-format
+#~ msgid "Submodule path '$displaypath': '$command $sha1'"
+#~ msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
+
+#~ msgid "Applied autostash."
+#~ msgstr "Autoremisage appliqué."
+
+#, sh-format
+#~ msgid "Cannot store $stash_sha1"
+#~ msgstr "Impossible de stocker $stash_sha1"
+
+#~ msgid ""
+#~ "Applying autostash resulted in conflicts.\n"
+#~ "Your changes are safe in the stash.\n"
+#~ "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+#~ msgstr ""
+#~ "L'application de l'autoremisage a provoqué des conflits\n"
+#~ "Vos  modifications sont à l'abri dans la remise.\n"
+#~ "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout "
+#~ "moment.\n"
+
+#, sh-format
+#~ msgid "Rebasing ($new_count/$total)"
+#~ msgstr "Rebasage ($new_count/$total)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Commands:\n"
+#~ "p, pick <commit> = use commit\n"
+#~ "r, reword <commit> = use commit, but edit the commit message\n"
+#~ "e, edit <commit> = use commit, but stop for amending\n"
+#~ "s, squash <commit> = use commit, but meld into previous commit\n"
+#~ "f, fixup <commit> = like \"squash\", but discard this commit's log "
+#~ "message\n"
+#~ "x, exec <commit> = run command (the rest of the line) using shell\n"
+#~ "d, drop <commit> = remove commit\n"
+#~ "l, label <label> = label current HEAD with a name\n"
+#~ "t, reset <label> = reset HEAD to a label\n"
+#~ "m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+#~ ".       create a merge commit using the original merge commit's\n"
+#~ ".       message (or the oneline, if no original merge commit was\n"
+#~ ".       specified). Use -c <commit> to reword the commit message.\n"
+#~ "\n"
+#~ "These lines can be re-ordered; they are executed from top to bottom.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Commandes :\n"
+#~ " p, pick <commit> = utiliser le commit\n"
+#~ " r, reword <commit> = utiliser le commit, mais reformuler son message\n"
+#~ " e, edit <commit> = utiliser le commit, mais s'arrêter pour le modifier\n"
+#~ " s, squash <commit> = utiliser le commit, mais le fusionner avec le "
+#~ "précédent\n"
+#~ " f, fixup <commit> = comme \"squash\", mais en éliminant son message\n"
+#~ " x, exec <commit> = lancer la commande (reste de la ligne) dans un shell\n"
+#~ " d, drop <commit> = supprimer le commit\n"
+#~ " l, label <label> = étiqueter la HEAD courante avec un nom\n"
+#~ " t, reset <label> = réinitialiser HEAD à label\n"
+#~ " m, merge [-C <commit> | -c <commit>] <label> [# <uniligne>]\n"
+#~ "         créer un commit de fusion utilisant le message de fusion "
+#~ "original\n"
+#~ "         (ou l'uniligne, si aucun commit de fusion n'a été spécifié).\n"
+#~ "         Utilisez -c <commit> pour reformuler le message de validation.\n"
+#~ "\n"
+#~ "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
+
+#, sh-format
+#~ msgid ""
+#~ "You can amend the commit now, with\n"
+#~ "\n"
+#~ "\tgit commit --amend $gpg_sign_opt_quoted\n"
+#~ "\n"
+#~ "Once you are satisfied with your changes, run\n"
+#~ "\n"
+#~ "\tgit rebase --continue"
+#~ msgstr ""
+#~ "Vous pouvez corriger le commit maintenant, avec\n"
+#~ "\n"
+#~ "\tgit commit --amend $gpg_sign_opt_quoted\n"
+#~ "\n"
+#~ "après avoir réalisé vos modifications, lancez\n"
+#~ "\n"
+#~ "\tgit rebase --continue"
+
+#, sh-format
+#~ msgid "$sha1: not a commit that can be picked"
+#~ msgstr "$sha1 n'est pas un commit qui peut être picorer"
+
+#, sh-format
+#~ msgid "Invalid commit name: $sha1"
+#~ msgstr "Nom de commit invalide : $sha1"
+
+#~ msgid "Cannot write current commit's replacement sha1"
+#~ msgstr "Impossible de sauver le sha1 du remplaçant du commit en cours"
+
+#, sh-format
+#~ msgid "Fast-forward to $sha1"
+#~ msgstr "Avance rapide sur $sha1"
+
+#, sh-format
+#~ msgid "Cannot fast-forward to $sha1"
+#~ msgstr "Avance rapide impossible sur $sha1"
+
+#, sh-format
+#~ msgid "Cannot move HEAD to $first_parent"
+#~ msgstr "Impossible de déplacer HEAD sur $first_parent"
+
+#, sh-format
+#~ msgid "Refusing to squash a merge: $sha1"
+#~ msgstr "Refus d'écraser un commit de fusion: $sha1"
+
+#, sh-format
+#~ msgid "Error redoing merge $sha1"
+#~ msgstr "Erreur lors de la réapplication de la fusion $sha1"
+
+#, sh-format
+#~ msgid "Could not pick $sha1"
+#~ msgstr "Impossible de picorer $sha1"
+
+#, sh-format
+#~ msgid "This is the commit message #${n}:"
+#~ msgstr "Ceci est le ${n}ième message de validation :"
+
+#, sh-format
+#~ msgid "The commit message #${n} will be skipped:"
+#~ msgstr "Le message de validation ${n} sera ignoré :"
+
+#, sh-format
+#~ msgid "This is a combination of $count commit."
+#~ msgid_plural "This is a combination of $count commits."
+#~ msgstr[0] "Ceci est la combinaison de $count commit."
+#~ msgstr[1] "Ceci est la combinaison de $count commits."
+
+#, sh-format
+#~ msgid "Cannot write $fixup_msg"
+#~ msgstr "Impossible d'écrire $fixup_msg"
+
+#~ msgid "This is a combination of 2 commits."
+#~ msgstr "Ceci est la combinaison de 2 commits."
+
+#, sh-format
+#~ msgid "Could not apply $sha1... $rest"
+#~ msgstr "Impossible d'appliquer $sha1... $rest"
+
+#, sh-format
+#~ msgid ""
+#~ "Could not amend commit after successfully picking $sha1... $rest\n"
+#~ "This is most likely due to an empty commit message, or the pre-commit "
+#~ "hook\n"
+#~ "failed. If the pre-commit hook failed, you may need to resolve the issue "
+#~ "before\n"
+#~ "you are able to reword the commit."
+#~ msgstr ""
+#~ "Impossible de corriger le commit après avoir réussi à picorer $sha1... "
+#~ "$rest\n"
+#~ "C'est probablement dû à un message de validation vide ou le crochet pre-"
+#~ "commit\n"
+#~ "a échoué. Si le crochet pre-commit a échoué, vous devez peut-être "
+#~ "résoudre le\n"
+#~ "problème avant de pouvoir reformuler le message du commit."
+
+#, sh-format
+#~ msgid "Stopped at $sha1_abbrev... $rest"
+#~ msgstr "Arrêté à $sha1_abbrev... $rest"
+
+#, sh-format
+#~ msgid "Cannot '$squash_style' without a previous commit"
+#~ msgstr "'$squash_style' impossible avec le commit précédent"
+
+#, sh-format
+#~ msgid "Executing: $rest"
+#~ msgstr "Exécution : $rest"
+
+#, sh-format
+#~ msgid "Execution failed: $rest"
+#~ msgstr "L'exécution a échoué : $rest"
+
+#~ msgid "and made changes to the index and/or the working tree"
+#~ msgstr "et a mis à jour l'index ou la copie de travail"
+
+#~ msgid ""
+#~ "You can fix the problem, and then run\n"
+#~ "\n"
+#~ "\tgit rebase --continue"
+#~ msgstr ""
+#~ "Vous pouvez corriger le problème, puis lancer\n"
+#~ "\n"
+#~ "git rebase --continue"
+
+#, sh-format
+#~ msgid ""
+#~ "Execution succeeded: $rest\n"
+#~ "but left changes to the index and/or the working tree\n"
+#~ "Commit or stash your changes, and then run\n"
+#~ "\n"
+#~ "\tgit rebase --continue"
+#~ msgstr ""
+#~ "L'exécution a réussi : $rest\n"
+#~ "mais a laissé des modifications dans l'index ou la copie de travail\n"
+#~ "Validez ou remisez vos modification, puis lancez\n"
+#~ "\n"
+#~ "\tgit rebase --continue"
+
+#, sh-format
+#~ msgid "Unknown command: $command $sha1 $rest"
+#~ msgstr "Commande inconnue : $command $sha1 $rest"
+
+#~ msgid "Please fix this using 'git rebase --edit-todo'."
+#~ msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
+
+#, sh-format
+#~ msgid "Successfully rebased and updated $head_name."
+#~ msgstr "Rebasage et mise à jour de $head_name avec succès."
+
+#~ msgid "Could not remove CHERRY_PICK_HEAD"
+#~ msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
+
+#, sh-format
+#~ msgid ""
+#~ "You have staged changes in your working tree.\n"
+#~ "If these changes are meant to be\n"
+#~ "squashed into the previous commit, run:\n"
+#~ "\n"
+#~ "  git commit --amend $gpg_sign_opt_quoted\n"
+#~ "\n"
+#~ "If they are meant to go into a new commit, run:\n"
+#~ "\n"
+#~ "  git commit $gpg_sign_opt_quoted\n"
+#~ "\n"
+#~ "In both cases, once you're done, continue with:\n"
+#~ "\n"
+#~ "  git rebase --continue\n"
+#~ msgstr ""
+#~ "Vous avez des modifications indexées dans votre copie de travail.\n"
+#~ "Si ces modifications devaient être ajoutées\n"
+#~ "dans le commit précédent, lancez :\n"
+#~ "\n"
+#~ "  git commit --amend $gpg_sign_opt_quoted\n"
+#~ "\n"
+#~ "Si elles devaient aller dans un nouveau commit, lancez :\n"
+#~ "\n"
+#~ "  git commit $gpg_sign_opt_quoted\n"
+#~ "\n"
+#~ "Dans les deux cas, une fois fini, continuez avec :\n"
+#~ "\n"
+#~ "  git rebase --continue\n"
+
+#~ msgid "Error trying to find the author identity to amend commit"
+#~ msgstr ""
+#~ "Erreur lors de la recherche de l'identité de l'auteur pour corriger le "
+#~ "commit"
+
+#~ msgid ""
+#~ "You have uncommitted changes in your working tree. Please commit them\n"
+#~ "first and then run 'git rebase --continue' again."
+#~ msgstr ""
+#~ "Vous avez des modifications non validées dans votre copie de travail.\n"
+#~ "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
+
+#~ msgid "Could not commit staged changes."
+#~ msgstr "impossible de valider les modifications indexées."
+
+#~ msgid "Could not execute editor"
+#~ msgstr "Impossible de lancer l'éditeur"
+
+#, sh-format
+#~ msgid "Could not checkout $switch_to"
+#~ msgstr "Impossible d'extraire $switch_to"
+
+#~ msgid "No HEAD?"
+#~ msgstr "Pas de HEAD ?"
+
+#, sh-format
+#~ msgid "Could not create temporary $state_dir"
+#~ msgstr "Impossible de créer un répertoire temporaire $state_dir"
+
+#~ msgid "Could not mark as interactive"
+#~ msgstr "Impossible de marquer comme interactif"
+
+#, sh-format
+#~ msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
+#~ msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
+#~ msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
+#~ msgstr[1] ""
+#~ "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
+
+#~ msgid "Note that empty commits are commented out"
+#~ msgstr "Veuillez noter que les commits vides sont en commentaire"
+
+#~ msgid "Could not init rewritten commits"
+#~ msgstr "Impossible d'initialiser les commits réécrits"
+
+#~ msgid "Cannot rebase: You have unstaged changes."
+#~ msgstr "Impossible de rebaser : vous avez des modifications non indexées."
+
+#~ msgid "Cannot pull with rebase: You have unstaged changes."
+#~ msgstr ""
+#~ "impossible de tirer avec rebasage. Vous avez des modifications non "
+#~ "indexées."
+
+#~ msgid "Cannot rebase: Your index contains uncommitted changes."
+#~ msgstr ""
+#~ "Impossible de rebaser : votre index contient des modifications non "
+#~ "validées."
+
+#~ msgid "Cannot pull with rebase: Your index contains uncommitted changes."
+#~ msgstr ""
+#~ "impossible de tirer avec rebasage : votre index contient des "
+#~ "modifications non validées."