l10n: fr.po v2.20 rnd 1

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
diff --git a/po/fr.po b/po/fr.po
index 2d47dd4..76abde3 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -74,8 +74,8 @@
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2018-09-04 08:50+0800\n"
-"PO-Revision-Date: 2018-09-05 22:18+0200\n"
+"POT-Creation-Date: 2018-11-20 10:05+0800\n"
+"PO-Revision-Date: 2018-11-28 20:44+0100\n"
 "Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -84,37 +84,37 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 
-#: advice.c:97
+#: advice.c:99
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:150
+#: advice.c:152
 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:152
+#: advice.c:154
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:154
+#: advice.c:156
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:156
+#: advice.c:158
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:158
+#: advice.c:160
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:160
+#: advice.c:162
 #, 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:168
+#: advice.c:170
 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."
@@ -122,23 +122,23 @@
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:176
+#: advice.c:178
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:181 builtin/merge.c:1286
+#: advice.c:183 builtin/merge.c:1289
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:183
+#: advice.c:185
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:184
+#: advice.c:186
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:190
+#: advice.c:192
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -247,22 +247,22 @@
 msgid "invalid mode on line %d: %s"
 msgstr "mode invalide dans la ligne %d : %s"
 
-#: apply.c:1306
+#: apply.c:1307
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
-#: apply.c:1478
+#: apply.c:1479
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recomptage : ligne inattendue : %.*s"
 
-#: apply.c:1547
+#: apply.c:1548
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
 
-#: apply.c:1567
+#: apply.c:1568
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -277,83 +277,83 @@
 "information de nom de fichier manquante dans l'en-tête de git diff lors de "
 "la suppression de %d composants de préfixe de chemin (ligne %d)"
 
-#: apply.c:1580
+#: apply.c:1581
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 "information de nom de fichier manquante dans l'en-tête de git diff (ligne %d)"
 
-#: apply.c:1768
+#: apply.c:1769
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
 
-#: apply.c:1770
+#: apply.c:1771
 msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
-#: apply.c:1804
+#: apply.c:1805
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "patch corrompu à la ligne %d"
 
-#: apply.c:1841
+#: apply.c:1842
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "le nouveau fichier %s dépend de contenus anciens"
 
-#: apply.c:1843
+#: apply.c:1844
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "le fichier supprimé %s a encore du contenu"
 
-#: apply.c:1846
+#: apply.c:1847
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
 
-#: apply.c:1993
+#: apply.c:1994
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2030
+#: apply.c:2031
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2190
+#: apply.c:2193
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2276
+#: apply.c:2279
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2280
+#: apply.c:2283
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2939
+#: apply.c:2942
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3060
+#: apply.c:3063
 #, 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:3072
+#: apply.c:3075
 #, 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:3078
+#: apply.c:3081
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -362,462 +362,463 @@
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3100
+#: apply.c:3103
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3108
+#: apply.c:3111
 #, 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:3154
+#: apply.c:3158
 #, 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:3164
+#: apply.c:3168
 #, 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:3172
+#: apply.c:3176
 #, 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:3190
+#: apply.c:3194
 #, 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:3203
+#: apply.c:3207
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3209
+#: apply.c:3213
 #, 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:3230
+#: apply.c:3234
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3352
+#: apply.c:3356
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3404 apply.c:3415 apply.c:3461 setup.c:278
+#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3412
+#: apply.c:3416
 #, 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:3681
+#: apply.c:3445 apply.c:3688
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3524 apply.c:3696
+#: apply.c:3531 apply.c:3703
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3533 apply.c:3704
+#: apply.c:3540 apply.c:3711
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3568
+#: apply.c:3575
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: apply.c:3571
+#: apply.c:3578
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3587 apply.c:3591
+#: apply.c:3594 apply.c:3598
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3603
+#: apply.c:3610
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Echec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3617
+#: apply.c:3624
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3622
+#: apply.c:3629
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3648
+#: apply.c:3655
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3721
+#: apply.c:3728
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3723
+#: apply.c:3730
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3874 apply.c:3876
+#: apply.c:3881 apply.c:3883
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3932
+#: apply.c:3939
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3935
+#: apply.c:3942
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3955
+#: apply.c:3962
 #, 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:3960
+#: apply.c:3967
 #, 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:3980
+#: apply.c:3987
 #, 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:3984
+#: apply.c:3991
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:3999
+#: apply.c:4006
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4091
+#: apply.c:4098
 #, 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:4098
+#: apply.c:4105
 #, 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:4101
+#: apply.c:4108
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4106 builtin/checkout.c:237 builtin/reset.c:140
+#: apply.c:4113 builtin/checkout.c:244 builtin/reset.c:142
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: apply.c:4110
+#: apply.c:4117
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4120
+#: apply.c:4127
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4258
+#: apply.c:4265
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4292
+#: apply.c:4299
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4298
+#: apply.c:4305
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4306
+#: apply.c:4313
 #, 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:4312 apply.c:4457
+#: apply.c:4319 apply.c:4464
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4355
+#: apply.c:4362
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4359
+#: apply.c:4366
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4429
+#: apply.c:4436
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4527
+#: apply.c:4534
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4535
+#: apply.c:4542
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4538
+#: apply.c:4545
 #, 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:4549
+#: apply.c:4556
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4557 builtin/fetch.c:780 builtin/fetch.c:1048
+#: apply.c:4564 builtin/fetch.c:843 builtin/fetch.c:1122
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4571
+#: apply.c:4578
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4575
+#: apply.c:4582
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4685
+#: apply.c:4692
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4693
+#: apply.c:4700
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4712
+#: apply.c:4719
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4849
+#: apply.c:4874
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4876
+#: apply.c:4901
 #, 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:4882 apply.c:4897
+#: apply.c:4907 apply.c:4922
 #, 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:4890
+#: apply.c:4915
 #, 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:4906 builtin/add.c:539 builtin/mv.c:300 builtin/rm.c:389
+#: apply.c:4931 builtin/add.c:538 builtin/mv.c:300 builtin/rm.c:389
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4933 apply.c:4936 builtin/am.c:2254 builtin/am.c:2257
-#: builtin/clone.c:121 builtin/fetch.c:115 builtin/merge.c:260
-#: builtin/pull.c:198 builtin/submodule--helper.c:406
-#: builtin/submodule--helper.c:1355 builtin/submodule--helper.c:1358
-#: builtin/submodule--helper.c:1729 builtin/submodule--helper.c:1732
-#: builtin/submodule--helper.c:1952 git-add--interactive.perl:197
+#: apply.c:4958 apply.c:4961 builtin/am.c:2209 builtin/am.c:2212
+#: builtin/clone.c:121 builtin/fetch.c:118 builtin/merge.c:262
+#: builtin/pull.c:199 builtin/submodule--helper.c:406
+#: builtin/submodule--helper.c:1362 builtin/submodule--helper.c:1365
+#: builtin/submodule--helper.c:1846 builtin/submodule--helper.c:1849
+#: builtin/submodule--helper.c:2088 git-add--interactive.perl:197
 msgid "path"
 msgstr "chemin"
 
-#: apply.c:4934
+#: apply.c:4959
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4937
+#: apply.c:4962
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4939 builtin/am.c:2263
+#: apply.c:4964 builtin/am.c:2218
 msgid "num"
 msgstr "num"
 
-#: apply.c:4940
+#: apply.c:4965
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4943
+#: apply.c:4968
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4945
+#: apply.c:4970
 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:4949
+#: apply.c:4974
 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:4951
+#: apply.c:4976
 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:4953
+#: apply.c:4978
 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:4955
+#: apply.c:4980
 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:4957
+#: apply.c:4982
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
 
-#: apply.c:4959
+#: apply.c:4984
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4961
+#: apply.c:4986
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4964
+#: apply.c:4989
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec ---stat/--summary/--check)"
 
-#: apply.c:4966
+#: apply.c:4991
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "tenter une fusion à 3 points si le patch ne s'applique pas proprement"
 
-#: apply.c:4968
+#: apply.c:4993
 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:4971 builtin/checkout-index.c:168 builtin/ls-files.c:516
+#: apply.c:4996 builtin/checkout-index.c:170 builtin/ls-files.c:523
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4973
+#: apply.c:4998
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:4974 builtin/am.c:2242 builtin/interpret-trailers.c:95
-#: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
-#: builtin/pack-objects.c:3202
+#: apply.c:4999 builtin/am.c:2197 builtin/interpret-trailers.c:97
+#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
+#: builtin/pack-objects.c:3310 builtin/rebase.c:839
 msgid "action"
 msgstr "action"
 
-#: apply.c:4975
+#: apply.c:5000
 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:4978 apply.c:4981
+#: apply.c:5003 apply.c:5006
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4984
+#: apply.c:5009
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4986
+#: apply.c:5011
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4988
+#: apply.c:5013
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:4990
+#: apply.c:5015
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:4991 builtin/add.c:290 builtin/check-ignore.c:21
-#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:671
-#: builtin/log.c:1914 builtin/mv.c:122 builtin/read-tree.c:124
+#: apply.c:5016 builtin/add.c:290 builtin/check-ignore.c:21
+#: builtin/commit.c:1309 builtin/count-objects.c:98 builtin/fsck.c:698
+#: builtin/log.c:2023 builtin/mv.c:122 builtin/read-tree.c:127
+#: builtin/rebase--interactive.c:157
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:4993
+#: apply.c:5018
 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:4996
+#: apply.c:5021
 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:4998 builtin/am.c:2251
+#: apply.c:5023 builtin/am.c:2206
 msgid "root"
 msgstr "racine"
 
-#: apply.c:4999
+#: apply.c:5024
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -840,114 +841,114 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:363 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:298
+#: archive.c:370 builtin/add.c:176 builtin/add.c:514 builtin/rm.c:298
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
 
-#: archive.c:446
+#: archive.c:453
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:446
+#: archive.c:453
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:447 builtin/log.c:1473
+#: archive.c:454 builtin/log.c:1536
 msgid "prefix"
 msgstr "préfixe"
 
-#: archive.c:448
+#: archive.c:455
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:449 builtin/blame.c:816 builtin/blame.c:817 builtin/config.c:126
-#: builtin/fast-export.c:1013 builtin/fast-export.c:1015 builtin/grep.c:873
-#: builtin/hash-object.c:104 builtin/ls-files.c:552 builtin/ls-files.c:555
-#: builtin/notes.c:407 builtin/notes.c:570 builtin/read-tree.c:119
-#: parse-options.h:165
+#: archive.c:456 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129
+#: builtin/fast-export.c:1013 builtin/fast-export.c:1015 builtin/grep.c:884
+#: builtin/hash-object.c:104 builtin/ls-files.c:559 builtin/ls-files.c:562
+#: builtin/notes.c:412 builtin/notes.c:575 builtin/read-tree.c:122
+#: parse-options.h:162
 msgid "file"
 msgstr "fichier"
 
-#: archive.c:450 builtin/archive.c:89
+#: archive.c:457 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "écrire l'archive dans ce fichier"
 
-#: archive.c:452
+#: archive.c:459
 msgid "read .gitattributes in working directory"
 msgstr "lire .gitattributes dans le répertoire de travail"
 
-#: archive.c:453
+#: archive.c:460
 msgid "report archived files on stderr"
 msgstr "afficher les fichiers archivés sur stderr"
 
-#: archive.c:454
+#: archive.c:461
 msgid "store only"
 msgstr "stockage seulement"
 
-#: archive.c:455
+#: archive.c:462
 msgid "compress faster"
 msgstr "compression rapide"
 
-#: archive.c:463
+#: archive.c:470
 msgid "compress better"
 msgstr "compression efficace"
 
-#: archive.c:466
+#: archive.c:473
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:468 builtin/archive.c:90 builtin/clone.c:111 builtin/clone.c:114
-#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1738
+#: archive.c:475 builtin/archive.c:90 builtin/clone.c:111 builtin/clone.c:114
+#: builtin/submodule--helper.c:1374 builtin/submodule--helper.c:1855
 msgid "repo"
 msgstr "dépôt"
 
-#: archive.c:469 builtin/archive.c:91
+#: archive.c:476 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "récupérer l'archive depuis le dépôt distant <dépôt>"
 
-#: archive.c:470 builtin/archive.c:92 builtin/difftool.c:714
-#: builtin/notes.c:491
+#: archive.c:477 builtin/archive.c:92 builtin/difftool.c:714
+#: builtin/notes.c:496
 msgid "command"
 msgstr "commande"
 
-#: archive.c:471 builtin/archive.c:93
+#: archive.c:478 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "chemin vers la commande distante git-upload-archive"
 
-#: archive.c:478
+#: archive.c:485
 msgid "Unexpected option --remote"
 msgstr "Option --remote inattendue"
 
-#: archive.c:480
+#: archive.c:487
 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:482
+#: archive.c:489
 msgid "Unexpected option --output"
 msgstr "Option --output inattendue"
 
-#: archive.c:504
+#: archive.c:511
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Format d'archive inconnu '%s'"
 
-#: archive.c:511
+#: archive.c:518
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
 
-#: archive-tar.c:125 archive-zip.c:344
+#: archive-tar.c:125 archive-zip.c:345
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "impossible de transmettre le blob %s en flux"
 
-#: archive-tar.c:260 archive-zip.c:361
+#: archive-tar.c:260 archive-zip.c:363
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "mode de fichier non supporté :0%o (SHA1: %s)"
 
-#: archive-tar.c:287 archive-zip.c:352
+#: archive-tar.c:287 archive-zip.c:353
 #, c-format
 msgid "cannot read %s"
 msgstr "impossible de lire %s"
@@ -966,32 +967,32 @@
 msgid "'%s' filter reported error"
 msgstr "le filtre '%s' a retourné une erreur"
 
-#: archive-zip.c:313
+#: archive-zip.c:314
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "le chemin n'est pas codé en UTF-8 valide : %s"
 
-#: archive-zip.c:317
+#: archive-zip.c:318
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "le chemin est trop long (%d caractères, SHA1 : %s) : %s"
 
-#: archive-zip.c:470 builtin/pack-objects.c:216 builtin/pack-objects.c:219
+#: archive-zip.c:474 builtin/pack-objects.c:224 builtin/pack-objects.c:227
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
 
-#: archive-zip.c:605
+#: archive-zip.c:609
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "l'horodatage est trop grand pour ce système : %<PRIuMAX>"
 
-#: attr.c:218
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s n'est pas un nom valide d'attribut"
 
-#: attr.c:415
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -999,22 +1000,22 @@
 "Les motifs de négation sont ignorés dans les attributs git\n"
 "Utilisez '\\!' pour un point d'exclamation littéral."
 
-#: bisect.c:467
+#: bisect.c:468
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "Contenu mal cité dans le fichier '%s' : %s"
 
-#: bisect.c:675
+#: bisect.c:676
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Impossible de pousser la bissection plus loin !\n"
 
-#: bisect.c:729
+#: bisect.c:730
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s n'est pas un nom de commit valide"
 
-#: bisect.c:753
+#: bisect.c:754
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1023,7 +1024,7 @@
 "La base de fusion %s est mauvaise.\n"
 "Cela signifie que le bogue été corrigé entre %s et [%s].\n"
 
-#: bisect.c:758
+#: bisect.c:759
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1032,7 +1033,7 @@
 "La base de fusion %s est nouvelle.\n"
 "La propriété a changé entre %s et [%s].\n"
 
-#: bisect.c:763
+#: bisect.c:764
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1041,7 +1042,7 @@
 "La base de fusion %s est %s.\n"
 "Ceci signifie que le premier commit '%s' est entre %s et [%s].\n"
 
-#: bisect.c:771
+#: bisect.c:772
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1052,7 +1053,7 @@
 "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:784
+#: bisect.c:785
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1064,36 +1065,36 @@
 "et %s.\n"
 "On continue tout de même."
 
-#: bisect.c:817
+#: bisect.c:818
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bissection : une base de fusion doit être testée\n"
 
-#: bisect.c:857
+#: bisect.c:858
 #, c-format
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:876 builtin/notes.c:177 builtin/tag.c:237
+#: bisect.c:877 builtin/notes.c:177 builtin/tag.c:237
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:927 builtin/merge.c:137
+#: bisect.c:928 builtin/merge.c:138
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:957
+#: bisect.c:958
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:976
+#: bisect.c:977
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:984
+#: bisect.c:985
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1102,7 +1103,7 @@
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais paramètre de chemin ?\n"
 
-#: bisect.c:1003
+#: bisect.c:1004
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1112,48 +1113,48 @@
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1009
+#: bisect.c:1010
 #, 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"
 msgstr[0] "Bissection : %d révision à tester après ceci %s\n"
 msgstr[1] "Bissection : %d révisions à tester après ceci %s\n"
 
-#: blame.c:1784
+#: blame.c:1787
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: blame.c:1798
+#: blame.c:1801
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: blame.c:1819
+#: blame.c:1822
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse et --first-parent ensemble nécessitent la spécification d'un "
 "dernier commit"
 
-#: blame.c:1828 bundle.c:162 ref-filter.c:2154 sequencer.c:1874
-#: sequencer.c:3772 builtin/commit.c:994 builtin/log.c:372 builtin/log.c:926
-#: builtin/log.c:1381 builtin/log.c:1713 builtin/log.c:1963 builtin/merge.c:404
-#: builtin/pack-objects.c:3029 builtin/pack-objects.c:3044
+#: blame.c:1831 bundle.c:162 ref-filter.c:2046 sequencer.c:1963
+#: sequencer.c:4002 builtin/commit.c:1001 builtin/log.c:377 builtin/log.c:932
+#: builtin/log.c:1407 builtin/log.c:1783 builtin/log.c:2072 builtin/merge.c:406
+#: builtin/pack-objects.c:3135 builtin/pack-objects.c:3150
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
-#: blame.c:1846
+#: blame.c:1849
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent ensemble nécessitent une portée avec la chaîne de "
 "premier parent"
 
-#: blame.c:1857
+#: blame.c:1860
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: blame.c:1868
+#: blame.c:1871
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
@@ -1316,7 +1317,8 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %s%s (%d)"
 
-#: bundle.c:90 sequencer.c:2092 sequencer.c:2578 builtin/commit.c:768
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2182 sequencer.c:2722
+#: builtin/commit.c:774
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -1343,38 +1345,42 @@
 msgstr[0] "Le colis exige cette référence :"
 msgstr[1] "Le colis exige ces %d références :"
 
-#: bundle.c:260
+#: bundle.c:267
+msgid "unable to dup bundle descriptor"
+msgstr "impossible de dupliquer le descripteur de liasse"
+
+#: bundle.c:274
 msgid "Could not spawn pack-objects"
 msgstr "Impossible de créer des objets groupés"
 
-#: bundle.c:271
+#: bundle.c:285
 msgid "pack-objects died"
 msgstr "les objets groupés ont disparu"
 
-#: bundle.c:313
+#: bundle.c:327
 msgid "rev-list died"
 msgstr "rev-list a disparu"
 
-#: bundle.c:362
+#: bundle.c:376
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:453 builtin/log.c:187 builtin/log.c:1618 builtin/shortlog.c:304
+#: bundle.c:456 builtin/log.c:192 builtin/log.c:1688 builtin/shortlog.c:304
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
 
-#: bundle.c:461
+#: bundle.c:464
 msgid "Refusing to create empty bundle."
 msgstr "Refus de créer un colis vide."
 
-#: bundle.c:473
+#: bundle.c:474
 #, c-format
 msgid "cannot create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: bundle.c:501
+#: bundle.c:498
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
@@ -1383,19 +1389,19 @@
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:48 sequencer.c:2384 builtin/am.c:422 builtin/am.c:466
-#: builtin/am.c:1438 builtin/am.c:2072 builtin/replace.c:376
+#: commit.c:50 sequencer.c:2528 builtin/am.c:370 builtin/am.c:414
+#: builtin/am.c:1390 builtin/am.c:2025 builtin/replace.c:376
 #: builtin/replace.c:448
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
 
-#: commit.c:50
+#: commit.c:52
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un commit !"
 
-#: commit.c:191
+#: commit.c:193
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1415,7 +1421,27 @@
 "Supprimez ce message en lançant\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1629
+#: commit.c:1115
+#, 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:1118
+#, 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:1121
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "La validation %s n'a pas de signature GPG."
+
+#: commit.c:1124
+#, 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:1378
 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"
@@ -1427,76 +1453,92 @@
 "variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
 "projet.\n"
 
-#: commit-graph.c:83
+#: commit-graph.c:108
 #, c-format
 msgid "graph file %s is too small"
 msgstr "le fichier de graphe %s est trop petit"
 
-#: commit-graph.c:90
+#: commit-graph.c:115
 #, c-format
 msgid "graph signature %X does not match signature %X"
 msgstr "la signature de graphe %X ne correspond pas à la signature %X"
 
-#: commit-graph.c:97
+#: commit-graph.c:122
 #, c-format
 msgid "graph version %X does not match version %X"
 msgstr "la version %X du graphe ne correspond pas à la version %X"
 
-#: commit-graph.c:104
+#: commit-graph.c:129
 #, c-format
 msgid "hash version %X does not match version %X"
 msgstr "la version %X du condensé ne correspond pas à la version %X"
 
-#: commit-graph.c:128
+#: commit-graph.c:153
 #, c-format
 msgid "improper chunk offset %08x%08x"
 msgstr "décalage de bloc %08x%08x inadéquat"
 
-#: commit-graph.c:164
+#: commit-graph.c:189
 #, c-format
 msgid "chunk id %08x appears multiple times"
 msgstr "l'id de bloc %08x apparaît des multiples fois"
 
-#: commit-graph.c:261
+#: commit-graph.c:308
 #, c-format
 msgid "could not find commit %s"
 msgstr "impossible de trouver le commit %s"
 
-#: commit-graph.c:565 builtin/pack-objects.c:2568
+#: commit-graph.c:617 builtin/pack-objects.c:2652
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "impossible d'obtenir le type de l'objet %s"
 
-#: commit-graph.c:730
+#: commit-graph.c:651
+msgid "Annotating commits in commit graph"
+msgstr "Annotation des commits dans un graphe de commit"
+
+#: commit-graph.c:691
+msgid "Computing commit graph generation numbers"
+msgstr "Calcul des chiffres de génération du graphe de commits"
+
+#: commit-graph.c:803 commit-graph.c:826 commit-graph.c:852
+msgid "Finding commits for commit graph"
+msgstr "Recherche de commits pour un graphe de commits"
+
+#: commit-graph.c:812
 #, c-format
 msgid "error adding pack %s"
 msgstr "erreur à l'ajout du packet %s"
 
-#: commit-graph.c:732
+#: commit-graph.c:814
 #, c-format
 msgid "error opening index for %s"
 msgstr "erreur à l'ouverture de l'index pour %s"
 
-#: commit-graph.c:773
+#: commit-graph.c:868
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 msgstr "le graphe de commits ne peut pas écrire %d commits"
 
-#: commit-graph.c:800
+#: commit-graph.c:895
 msgid "too many commits to write graph"
 msgstr "trop de commits pour écrire un graphe"
 
-#: commit-graph.c:806
+#: commit-graph.c:902 midx.c:769
 #, 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:904
+#: commit-graph.c:1002
 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:1046
+msgid "Verifying commits in commit graph"
+msgstr "Verification des commits dans le graphe de commits"
+
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "plus de mémoire"
@@ -1541,7 +1583,7 @@
 msgid "key does not contain variable name: %s"
 msgstr "la clé ne contient pas de nom de variable : %s"
 
-#: config.c:378 sequencer.c:2206
+#: config.c:378 sequencer.c:2296
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
@@ -1674,155 +1716,155 @@
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1403
+#: config.c:1395
 #, c-format
 msgid "malformed value for %s"
 msgstr "valeur mal formée pour %s"
 
-#: config.c:1429
+#: config.c:1421
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "valeur mal formée pour %s : %s"
 
-#: config.c:1430
+#: config.c:1422
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "doit être parmi nothing, matching, simple, upstream ou current"
 
-#: config.c:1489 builtin/pack-objects.c:3279
+#: config.c:1481 builtin/pack-objects.c:3389
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1610
+#: config.c:1602
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "impossible de charger l'objet blob de config '%s'"
 
-#: config.c:1613
+#: config.c:1605
 #, 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:1630
+#: config.c:1622
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "impossible de résoudre le blob de config '%s'"
 
-#: config.c:1660
+#: config.c:1652
 #, c-format
 msgid "failed to parse %s"
 msgstr "échec de l'analyse de %s"
 
-#: config.c:1700
+#: config.c:1705
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:2032
+#: config.c:2037
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2202
+#: config.c:2207
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2245
+#: config.c:2250
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr ""
 "valeur '%s' de core.untrackedCache inconnue ; utilisation de 'keep' par "
 "défaut"
 
-#: config.c:2271
+#: config.c:2276
 #, 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:2296
+#: config.c:2319
 #, 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:2298
+#: config.c:2321
 #, 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:2379
+#: config.c:2402
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nom de section invalide '%s'"
 
-#: config.c:2411
+#: config.c:2434
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2440
+#: config.c:2463
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2691 config.c:3015
+#: config.c:2714 config.c:3038
 #, c-format
 msgid "could not lock config file %s"
 msgstr "impossible de verrouiller le fichier de configuration %s"
 
-#: config.c:2702
+#: config.c:2725
 #, c-format
 msgid "opening %s"
 msgstr "ouverture de %s"
 
-#: config.c:2737 builtin/config.c:324
+#: config.c:2760 builtin/config.c:327
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "motif invalide : %s"
 
-#: config.c:2762
+#: config.c:2785
 #, c-format
 msgid "invalid config file %s"
 msgstr "fichier de configuration invalide %s"
 
-#: config.c:2775 config.c:3028
+#: config.c:2798 config.c:3051
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2786
+#: config.c:2809
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "impossible d réaliser un map de '%s'"
 
-#: config.c:2795 config.c:3033
+#: config.c:2818 config.c:3056
 #, c-format
 msgid "chmod on %s failed"
 msgstr "échec de chmod sur %s"
 
-#: config.c:2880 config.c:3130
+#: config.c:2903 config.c:3153
 #, c-format
 msgid "could not write config file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2914
+#: config.c:2937
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2916 builtin/remote.c:781
+#: config.c:2939 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: config.c:3006
+#: config.c:3029
 #, c-format
 msgid "invalid section name: %s"
 msgstr "nom de section invalide : %s"
 
-#: config.c:3173
+#: config.c:3196
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valeur manquante pour '%s'"
@@ -1875,7 +1917,7 @@
 msgid "repository on the other end cannot be shallow"
 msgstr "le dépôt distant ne peut pas être superficiel"
 
-#: connect.c:310 fetch-pack.c:183 builtin/archive.c:63
+#: connect.c:310 fetch-pack.c:182 builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "erreur distante : %s"
@@ -1993,7 +2035,7 @@
 msgid "unable to fork"
 msgstr "fork impossible"
 
-#: connected.c:68 builtin/fsck.c:203 builtin/prune.c:146
+#: connected.c:68 builtin/fsck.c:202 builtin/prune.c:147
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
@@ -2129,12 +2171,12 @@
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false ne sont pas des encodages d'arbre de travail valides"
 
-#: convert.c:1402 convert.c:1436
+#: convert.c:1398 convert.c:1432
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s : le filtre clean '%s' a échoué"
 
-#: convert.c:1480
+#: convert.c:1476
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s : le filtre smudge '%s' a échoué"
@@ -2207,12 +2249,36 @@
 msgstr[0] "il y a %<PRIuMAX> an"
 msgstr[1] "il y a %<PRIuMAX> ans"
 
+#: delta-islands.c:268
+msgid "Propagating island marks"
+msgstr "Propagation des marques d'îlots"
+
+#: delta-islands.c:286
+#, c-format
+msgid "bad tree object %s"
+msgstr "objet arbre invalide %s"
+
+#: delta-islands.c:330
+#, c-format
+msgid "failed to load island regex for '%s': %s"
+msgstr "impossible de charger la regex île pour '%s' : %s"
+
+#: delta-islands.c:386
+#, c-format
+msgid "island regex from config has too many capture groups (max=%d)"
+msgstr "l'expression rationnelle depuis la configuration a trop de groupes de capture (max=%d)"
+
+#: delta-islands.c:462
+#, c-format
+msgid "Marked %d islands, done.\n"
+msgstr "Marquage de %d îlots, fait.\n"
+
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "impossible de lire le fichier de commande '%s'"
 
-#: diffcore-rename.c:536
+#: diffcore-rename.c:544
 msgid "Performing inexact rename detection"
 msgstr "Détection de renommage inexact en cours"
 
@@ -2268,24 +2334,24 @@
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:4096
+#: diff.c:4140
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:4427
+#: diff.c:4482
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:4430
+#: diff.c:4485
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S et --find-object sont mutuellement exclusifs"
 
-#: diff.c:4508
+#: diff.c:4563
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:4674
+#: diff.c:4729
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2294,24 +2360,24 @@
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:4688
+#: diff.c:4743
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
 
-#: diff.c:5766
+#: diff.c:5823
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "détection de renommage inexact annulée à cause d'un trop grand nombre de "
 "fichiers."
 
-#: diff.c:5769
+#: diff.c:5826
 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:5772
+#: diff.c:5829
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -2319,46 +2385,46 @@
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:569
+#: dir.c:576
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr ""
 "le spécificateur de chemin '%s' ne correspond à aucun fichier connu de git"
 
-#: dir.c:958
+#: dir.c:965
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "impossible d'utiliser %s comme fichier d'exclusion"
 
-#: dir.c:1873
+#: dir.c:1880
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "impossible d'ouvrir le répertoire '%s'"
 
-#: dir.c:2115
+#: dir.c:2122
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:2239
+#: dir.c:2246
 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:3037
+#: dir.c:3047
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "fichier d'index corrompu dans le dépôt %s"
 
-#: dir.c:3082 dir.c:3087
+#: dir.c:3092 dir.c:3097
 #, c-format
 msgid "could not create directories for %s"
 msgstr "impossible de créer les répertoires pour %s"
 
-#: dir.c:3116
+#: dir.c:3126
 #, 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:61
+#: editor.c:73
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr ""
@@ -2369,7 +2435,7 @@
 msgid "Filtering content"
 msgstr "Filtrage du contenu"
 
-#: entry.c:437
+#: entry.c:465
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "impossible de stat le fichier '%s'"
@@ -2393,77 +2459,77 @@
 msgid "Remote with no URL"
 msgstr "Dépôt distant sans URL"
 
-#: fetch-pack.c:152
+#: fetch-pack.c:151
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : list courte attendue"
 
-#: fetch-pack.c:164
+#: fetch-pack.c:163
 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:184
+#: fetch-pack.c:183
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
 
-#: fetch-pack.c:254
+#: fetch-pack.c:253
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite multi_ack_detailed"
 
-#: fetch-pack.c:342 fetch-pack.c:1257
+#: fetch-pack.c:347 fetch-pack.c:1277
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "ligne de superficiel invalide : %s"
 
-#: fetch-pack.c:348 fetch-pack.c:1263
+#: fetch-pack.c:353 fetch-pack.c:1283
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "ligne de fin de superficiel invalide : %s"
 
-#: fetch-pack.c:350 fetch-pack.c:1265
+#: fetch-pack.c:355 fetch-pack.c:1285
 #, c-format
 msgid "object not found: %s"
 msgstr "objet non trouvé : %s"
 
-#: fetch-pack.c:353 fetch-pack.c:1268
+#: fetch-pack.c:358 fetch-pack.c:1288
 #, c-format
 msgid "error in object: %s"
 msgstr "Erreur dans l'objet : %s"
 
-#: fetch-pack.c:355 fetch-pack.c:1270
+#: fetch-pack.c:360 fetch-pack.c:1290
 #, c-format
 msgid "no shallow found: %s"
 msgstr "Pas de superficiel trouvé : %s"
 
-#: fetch-pack.c:358 fetch-pack.c:1273
+#: fetch-pack.c:363 fetch-pack.c:1293
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "superficiel/non superficiel attendu, %s trouvé"
 
-#: fetch-pack.c:399
+#: fetch-pack.c:404
 #, c-format
 msgid "got %s %d %s"
 msgstr "réponse %s %d %s"
 
-#: fetch-pack.c:416
+#: fetch-pack.c:421
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit invalide %s"
 
-#: fetch-pack.c:447
+#: fetch-pack.c:452
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:459 progress.c:229
+#: fetch-pack.c:464 progress.c:229
 msgid "done"
 msgstr "fait"
 
-#: fetch-pack.c:471
+#: fetch-pack.c:476
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s trouvé (%d) %s"
 
-#: fetch-pack.c:517
+#: fetch-pack.c:522
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marquage de %s comme terminé"
@@ -2531,7 +2597,7 @@
 msgid "Server supports ofs-delta"
 msgstr "Le serveur supporte ofs-delta"
 
-#: fetch-pack.c:971 fetch-pack.c:1150
+#: fetch-pack.c:971 fetch-pack.c:1158
 msgid "Server supports filter"
 msgstr "Le serveur supporte filter"
 
@@ -2552,85 +2618,93 @@
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:1004
+#: fetch-pack.c:1008
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:1016 fetch-pack.c:1393
+#: fetch-pack.c:1020 fetch-pack.c:1418
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1145
+#: fetch-pack.c:1153
 msgid "Server does not support shallow requests"
 msgstr "Le serveur ne supporte les requêtes superficielles"
 
-#: fetch-pack.c:1191
+#: fetch-pack.c:1199
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "erreur à la lecture de l'entête de section '%s'"
 
-#: fetch-pack.c:1197
+#: fetch-pack.c:1205
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' attendu, '%s' reçu"
 
-#: fetch-pack.c:1236
+#: fetch-pack.c:1244
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "ligne d'acquittement inattendue : '%s'"
 
-#: fetch-pack.c:1241
+#: fetch-pack.c:1249
 #, c-format
 msgid "error processing acks: %d"
 msgstr "erreur lors du traitement des acquittements : %d"
 
-#: fetch-pack.c:1278
+#: fetch-pack.c:1259
+msgid "expected packfile to be sent after 'ready'"
+msgstr "fichier paquet attendu à envoyer après 'ready'"
+
+#: fetch-pack.c:1261
+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:1298
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "erreur lors du traitement de l'information de superficialité : %d"
 
-#: fetch-pack.c:1294
+#: fetch-pack.c:1314
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref attendu, '%s' trouvé"
 
-#: fetch-pack.c:1304
+#: fetch-pack.c:1324
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inattendu : '%s'"
 
-#: fetch-pack.c:1308
+#: fetch-pack.c:1328
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "erreur lors du traitement des références voulues : %d"
 
-#: fetch-pack.c:1603
+#: fetch-pack.c:1642
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: fetch-pack.c:1621 builtin/clone.c:664
+#: fetch-pack.c:1660 builtin/clone.c:664
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: fetch-pack.c:1647
+#: fetch-pack.c:1686
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:1650
+#: fetch-pack.c:1689
 #, 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:253
+#: gpg-interface.c:318
 msgid "gpg failed to sign the data"
 msgstr "gpg n'a pas pu signer les données"
 
-#: gpg-interface.c:279
+#: gpg-interface.c:344
 msgid "could not create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: gpg-interface.c:282
+#: gpg-interface.c:347
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
@@ -2640,18 +2714,18 @@
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "couleur invalide '%.*s' ignorée dans log.graphColors"
 
-#: grep.c:2115
+#: grep.c:2113
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:2132 setup.c:164 builtin/clone.c:410 builtin/diff.c:81
+#: grep.c:2130 setup.c:164 builtin/clone.c:410 builtin/diff.c:81
 #: builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:2143
+#: grep.c:2141
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
@@ -2709,29 +2783,41 @@
 msgid "Low-level Commands / Internal Helpers"
 msgstr "Commandes bas niveau / Assistants internes"
 
-#: help.c:293
+#: help.c:296
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "commandes git disponibles dans '%s'"
 
-#: help.c:300
+#: help.c:303
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 
-#: help.c:309
+#: help.c:312
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:358 git.c:90
+#: help.c:361 git.c:90
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "type de liste de commandes non supporté '%s'"
 
-#: help.c:405
+#: help.c:408
 msgid "The common Git guides are:"
 msgstr "Les guides Git populaires sont :"
 
-#: help.c:552
+#: help.c:517
+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:522
+msgid "External commands"
+msgstr "Commandes externes"
+
+#: help.c:530
+msgid "Command aliases"
+msgstr "Alias de commande"
+
+#: help.c:594
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -2740,33 +2826,33 @@
 "'%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:611
+#: help.c:653
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:633
+#: help.c:675
 #, 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:638
+#: help.c:680
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Continuons en supposant que vous avez voulu dire '%s'."
 
-#: help.c:643
+#: help.c:685
 #, 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:651
+#: help.c:693
 #, 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:655
+#: help.c:697
 msgid ""
 "\n"
 "The most similar command is"
@@ -2780,16 +2866,16 @@
 "\n"
 "Les commandes les plus ressemblantes sont"
 
-#: help.c:670
+#: help.c:712
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: help.c:738
+#: help.c:780
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:742
+#: help.c:784
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2803,7 +2889,7 @@
 "\n"
 "Vouliez-vous dire un de ceux-là ?"
 
-#: ident.c:342
+#: ident.c:345
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -2829,44 +2915,48 @@
 "Éliminez --global pour ne faire les réglages que dans ce dépôt.\n"
 "\n"
 
-#: ident.c:366
+#: ident.c:369
 msgid "no email was given and auto-detection is disabled"
 msgstr "aucun courriel fourni et l'auto-détection est désactivée"
 
-#: ident.c:371
+#: ident.c:374
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "impossible de détecter automatiquement l'adresse ('%s' trouvé)"
 
-#: ident.c:381
+#: ident.c:384
 msgid "no name was given and auto-detection is disabled"
 msgstr "aucun nom fourni et l'auto-détection est désactivée"
 
-#: ident.c:387
+#: ident.c:390
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "impossible de détecter automatiquement le nom ('%s' trouvé)"
 
-#: ident.c:395
+#: ident.c:398
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "nom d'identifiant vide (pour <%s>) non permis"
 
-#: ident.c:401
+#: ident.c:404
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "le nom n'est constitué que de caractères interdits : %s"
 
-#: ident.c:416 builtin/commit.c:600
+#: ident.c:419 builtin/commit.c:606
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %s"
 
-#: list-objects-filter-options.c:36
+#: list-objects-filter-options.c:35
 msgid "multiple filter-specs cannot be combined"
 msgstr "impossible de combiner des spécificateurs multiples de filtre"
 
-#: list-objects-filter-options.c:126
+#: list-objects-filter-options.c:58
+msgid "only 'tree:0' is supported"
+msgstr "seul 'tree:0' est supporté"
+
+#: list-objects-filter-options.c:137
 msgid "cannot change partial clone promisor remote"
 msgstr "impossible de modifier le prometteur distant de clone partiel"
 
@@ -2894,120 +2984,120 @@
 msgid "Unable to create '%s.lock': %s"
 msgstr "Impossible de créer '%s.lock' : %s"
 
-#: merge.c:40
+#: merge.c:41
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: merge.c:105 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:380
-#: builtin/checkout.c:608 builtin/clone.c:763
+#: merge.c:107 rerere.c:720 builtin/am.c:1899 builtin/am.c:1933
+#: builtin/checkout.c:387 builtin/checkout.c:708 builtin/clone.c:764
 msgid "unable to write new index file"
 msgstr "impossible d'écrire le nouveau fichier d'index"
 
-#: merge-recursive.c:303
+#: merge-recursive.c:323
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:325
+#: merge-recursive.c:345
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:333
+#: merge-recursive.c:353
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:415
+#: merge-recursive.c:435
 msgid "error building trees"
 msgstr "erreur de construction des arbres"
 
-#: merge-recursive.c:886
+#: merge-recursive.c:906
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:897
+#: merge-recursive.c:917
 #, 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:911 merge-recursive.c:930
+#: merge-recursive.c:931 merge-recursive.c:950
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:920
+#: merge-recursive.c:940
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:962 builtin/cat-file.c:39
+#: merge-recursive.c:982 builtin/cat-file.c:39
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:964
+#: merge-recursive.c:984
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:988
+#: merge-recursive.c:1008
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:999
+#: merge-recursive.c:1019
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:1004
+#: merge-recursive.c:1024
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:1191
+#: merge-recursive.c:1212
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Échec de la fusion du sous-module %s (non extrait)"
 
-#: merge-recursive.c:1198
+#: merge-recursive.c:1219
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Échec de fusion du sous-module %s (commits non présents)"
 
-#: merge-recursive.c:1205
+#: merge-recursive.c:1226
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 "Échec de la fusion du sous-module %s (les commits ne descendent pas de la "
 "base de fusion)"
 
-#: merge-recursive.c:1213 merge-recursive.c:1225
+#: merge-recursive.c:1234 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:1216 merge-recursive.c:1228
+#: merge-recursive.c:1237 merge-recursive.c:1249
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rapide du sous-module %s"
 
-#: merge-recursive.c:1250
+#: merge-recursive.c:1271
 #, 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:1254
+#: merge-recursive.c:1275
 #, 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:1255
+#: merge-recursive.c:1276
 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:1258
+#: merge-recursive.c:1279
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3024,33 +3114,33 @@
 "\n"
 "qui acceptera cette suggestion.\n"
 
-#: merge-recursive.c:1267
+#: merge-recursive.c:1288
 #, 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:1326
+#: merge-recursive.c:1358
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:1331
+#: merge-recursive.c:1363
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1363
+#: merge-recursive.c:1395
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1434
+#: merge-recursive.c:1416
 #, 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:1501
+#: merge-recursive.c:1483
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3059,7 +3149,7 @@
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre."
 
-#: merge-recursive.c:1506
+#: merge-recursive.c:1488
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3068,7 +3158,7 @@
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre."
 
-#: merge-recursive.c:1513
+#: merge-recursive.c:1495
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3077,7 +3167,7 @@
 "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:1518
+#: merge-recursive.c:1500
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3086,31 +3176,31 @@
 "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:1552
+#: merge-recursive.c:1534
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1552
+#: merge-recursive.c:1534
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1606 merge-recursive.c:1762 merge-recursive.c:2394
-#: merge-recursive.c:3129
+#: merge-recursive.c:1588 merge-recursive.c:1737 merge-recursive.c:2369
+#: merge-recursive.c:3124
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Refus de perdre le fichier modifié %s"
 
-#: merge-recursive.c:1620
+#: merge-recursive.c:1602
 #, 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:1625
+#: merge-recursive.c:1607
 #, 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:1651
+#: merge-recursive.c:1633
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3119,28 +3209,28 @@
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1656
+#: merge-recursive.c:1638
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1720
+#: merge-recursive.c:1699
 #, 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:1759
+#: merge-recursive.c:1734
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Renommage de %s en %s et de %s en %s à la place"
 
-#: merge-recursive.c:1771
+#: merge-recursive.c:1746
 #, 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:1977
+#: merge-recursive.c:1952
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3151,7 +3241,7 @@
 "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:2009
+#: merge-recursive.c:1984
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3160,7 +3250,7 @@
 "CONFLIT (renommage implicite de répertoire) : le répertoire/fichier %s gêne "
 "des renommages implicites de répertoire déplaçant les chemins suivants : %s."
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:1994
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3169,7 +3259,7 @@
 "CONFLIT (renommage implicite de répertoire) : impossible de transformer "
 "plusieurs chemins sur %s ; les chemins concernés sont : %s"
 
-#: merge-recursive.c:2111
+#: merge-recursive.c:2086
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3178,7 +3268,7 @@
 "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
 "Renommage de répertoire %s->%s dans %s"
 
-#: merge-recursive.c:2356
+#: merge-recursive.c:2331
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3187,87 +3277,87 @@
 "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
 "renommé."
 
-#: merge-recursive.c:2762
+#: merge-recursive.c:2737
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:2777
+#: merge-recursive.c:2763
 #, c-format
 msgid "Adding merged %s"
 msgstr "Ajout de %s fusionné"
 
-#: merge-recursive.c:2784 merge-recursive.c:3132
+#: merge-recursive.c:2770 merge-recursive.c:3127
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:2941
+#: merge-recursive.c:2934
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:2944
+#: merge-recursive.c:2937
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:3013
+#: merge-recursive.c:3006
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:3013
+#: merge-recursive.c:3006
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:3024
+#: merge-recursive.c:3017
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:3031
+#: merge-recursive.c:3024
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:3076
+#: merge-recursive.c:3071
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:3098 git-submodule.sh:865
+#: merge-recursive.c:3093 git-submodule.sh:858
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:3099
+#: merge-recursive.c:3094
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3221
+#: merge-recursive.c:3216
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:3247
+#: merge-recursive.c:3242
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:3253
+#: merge-recursive.c:3248
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:3260
+#: merge-recursive.c:3255
 #, 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:3269
+#: merge-recursive.c:3264
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:3303
+#: merge-recursive.c:3300
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3277,40 +3367,167 @@
 "fusion :\n"
 "  %s"
 
-#: merge-recursive.c:3314
+#: merge-recursive.c:3311
 msgid "Already up to date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:3323
+#: merge-recursive.c:3320
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:3422
+#: merge-recursive.c:3419
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:3435
+#: merge-recursive.c:3432
 #, 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:3474
+#: merge-recursive.c:3471
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:3540
+#: merge-recursive.c:3537
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:3556 builtin/merge.c:689 builtin/merge.c:846
+#: merge-recursive.c:3553 builtin/merge.c:691 builtin/merge.c:849
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
-#: notes-merge.c:274
+#: midx.c:65
+#, c-format
+msgid "multi-pack-index file %s is too small"
+msgstr "le fichier d'index multi-paquet %s est trop petit"
+
+#: midx.c:81
+#, c-format
+msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
+msgstr "la signature de d'index multi-paquet 0x%08x ne correspond pas à la signature 0x%08x"
+
+#: midx.c:86
+#, c-format
+msgid "multi-pack-index version %d not recognized"
+msgstr "la version d'index multi-paquet %d n'est pas reconnue"
+
+#: midx.c:91
+#, c-format
+msgid "hash version %u does not match"
+msgstr "la version %u du condensé ne correspond pas"
+
+#: midx.c:105
+msgid "invalid chunk offset (too large)"
+msgstr "décalage de section invalide (trop grand)"
+
+#: midx.c:129
+msgid "terminating multi-pack-index chunk id appears earlier than expected"
+msgstr "identifiant de terminaison de tronçon d'index multi-paquet terminant apparaît plus tôt qu'attendu"
+
+#: midx.c:142
+msgid "multi-pack-index missing required pack-name chunk"
+msgstr "index multi-paquet manque de tronçon de nom de paquet"
+
+#: midx.c:144
+msgid "multi-pack-index missing required OID fanout chunk"
+msgstr "index multi-paquet manque de tronçon de d'étalement OID requis"
+
+#: midx.c:146
+msgid "multi-pack-index missing required OID lookup chunk"
+msgstr "index multi-paquet manque de tronçon de recherche OID"
+
+#: midx.c:148
+msgid "multi-pack-index missing required object offsets chunk"
+msgstr "index multi-paquet manque de tronçon de décalage d'objet"
+
+#: midx.c:162
+#, 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:205
+#, c-format
+msgid "bad pack-int-id: %u (%u total packs"
+msgstr "mauvais pack-int-id : %u (%u paquets au total)"
+
+#: midx.c:246
+msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
+msgstr "multi-pack-index stock un décalage en 64-bit, mais off_t est trop petit"
+
+#: midx.c:271
+msgid "error preparing packfile from multi-pack-index"
+msgstr "erreur à la préparation du fichier paquet depuis un index multi-paquet"
+
+#: midx.c:407
+#, c-format
+msgid "failed to add packfile '%s'"
+msgstr "échec de l'ajout du fichier paquet '%s'"
+
+#: midx.c:413
+#, c-format
+msgid "failed to open pack-index '%s'"
+msgstr "échec à l'ouverture du fichier paquet '%s'"
+
+#: midx.c:507
+#, c-format
+msgid "failed to locate object %d in packfile"
+msgstr "échec de localisation de l'objet %d dans le fichier paquet"
+
+#: midx.c:943
+#, c-format
+msgid "failed to clear multi-pack-index at %s"
+msgstr "échec du nettoyage de l'index de multi-paquet à %s"
+
+#: midx.c:981
+#, c-format
+msgid ""
+"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
+msgstr "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = étalement[%d]"
+
+#: midx.c:992
+#, 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:996
+msgid "Verifying object offsets"
+msgstr "Vérification des décalages des objets"
+
+#: midx.c:1004
+#, 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:1010
+#, c-format
+msgid "failed to load pack-index for packfile %s"
+msgstr "impossible de lire le fichier paquet %s"
+
+#: midx.c:1019
+#, c-format
+msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
+msgstr "décalage d'objet incorrecte pour oid[%d] = %s : %<PRIx64> != %<PRIx64>"
+
+#: name-hash.c:532
+#, c-format
+msgid "unable to create lazy_dir thread: %s"
+msgstr "impossible de créer le fil lazy_dir : %s"
+
+#: name-hash.c:554
+#, c-format
+msgid "unable to create lazy_name thread: %s"
+msgstr "impossible de créer le fil lazy_name : %s"
+
+#: name-hash.c:560
+#, c-format
+msgid "unable to join lazy_name thread: %s"
+msgstr "impossible de joindre le fil lazy_name : %s"
+
+#: notes-merge.c:275
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -3321,7 +3538,7 @@
 "Veuillez utiliser 'git notes merge --commit' ou 'git notes merge --abort' "
 "pour valider/abandonner la fusion en cours avant d'en démarrer une nouvelle."
 
-#: notes-merge.c:281
+#: notes-merge.c:282
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "Vous n'avez pas terminé votre fusion de notes (%s existe)."
@@ -3374,16 +3591,16 @@
 msgid "sha1 mismatch %s"
 msgstr "incohérence de sha1 %s"
 
-#: packfile.c:563
+#: packfile.c:607
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: packfile.c:1745
+#: packfile.c:1864
 #, 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:1749
+#: packfile.c:1868
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -3415,17 +3632,17 @@
 msgid "-NUM"
 msgstr "-NUM"
 
-#: parse-options-cb.c:44
+#: parse-options-cb.c:37
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "date d'expiration malformée : '%s'"
 
-#: parse-options-cb.c:112
+#: parse-options-cb.c:109
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "nom d'objet malformé '%s'"
 
-#: path.c:892
+#: path.c:894
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
@@ -3549,33 +3766,46 @@
 msgid "protocol error: bad line length %d"
 msgstr "erreur de protocole : mauvaise longueur de ligne %d"
 
+#: preload-index.c:118
+msgid "Refreshing index"
+msgstr "Rafraîchissement de l'index"
+
+#: preload-index.c:137
+#, c-format
+msgid "unable to create threaded lstat: %s"
+msgstr "impossible de créer le lstat en fil : %s"
+
 #: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: range-diff.c:48
+#: range-diff.c:56
 msgid "could not start `log`"
 msgstr "impossible de démarrer `log`"
 
-#: range-diff.c:51
+#: range-diff.c:59
 msgid "could not read `log` output"
 msgstr "impossible de lire la sortie de `log`"
 
-#: range-diff.c:66 sequencer.c:4540
+#: range-diff.c:74 sequencer.c:4764
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "impossible d'analyser le commit '%s'"
 
-#: range-diff.c:196
+#: range-diff.c:224
 msgid "failed to generate diff"
 msgstr "échec de la génération de diff"
 
-#: range-diff.c:421 range-diff.c:423
+#: range-diff.c:455 range-diff.c:457
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "impossible d'analyser le journal pour '%s'"
 
-#: read-cache.c:1579
+#: read-cache.c:1490
+msgid "Refresh index"
+msgstr "Rafraîchir l'index"
+
+#: read-cache.c:1604
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -3584,7 +3814,7 @@
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1589
+#: read-cache.c:1614
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -3593,135 +3823,260 @@
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:2580 sequencer.c:4503 wrapper.c:658 builtin/merge.c:1083
+#: read-cache.c:1792
+#, 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:1960 rerere.c:565 rerere.c:599 rerere.c:1111 builtin/add.c:458
+#: builtin/check-ignore.c:177 builtin/checkout.c:289 builtin/checkout.c:585
+#: builtin/checkout.c:953 builtin/clean.c:954 builtin/commit.c:343
+#: builtin/diff-tree.c:115 builtin/grep.c:489 builtin/mv.c:144
+#: builtin/reset.c:244 builtin/rm.c:270 builtin/submodule--helper.c:329
+msgid "index file corrupt"
+msgstr "fichier d'index corrompu"
+
+#: read-cache.c:2101
+#, 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:2114
+#, c-format
+msgid "unable to join load_cache_entries thread: %s"
+msgstr "impossible de joindre le fil load_cach_entries : %s"
+
+#: read-cache.c:2200
+#, 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:2227
+#, c-format
+msgid "unable to join load_index_extensions thread: %s"
+msgstr "impossible de joindre le fil load_index_extensions : %s"
+
+#: read-cache.c:2953 sequencer.c:4727 wrapper.c:658 builtin/merge.c:1086
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: read-cache.c:2653 sequencer.c:2113 sequencer.c:3374
+#: read-cache.c:3026 sequencer.c:2203 sequencer.c:3592
 #, c-format
 msgid "could not stat '%s'"
 msgstr "stat impossible de '%s'"
 
-#: read-cache.c:2666
+#: read-cache.c:3039
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "impossible d'ouvrir le répertoire git : %s"
 
-#: read-cache.c:2678
+#: read-cache.c:3051
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "échec lors de l'unlink : %s"
 
+#: rebase-interactive.c:10
+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 <command> = run command (the rest of the line) using shell\n"
+"b, break = stop here (continue rebase later with 'git rebase --continue')\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"
+" b, break = s'arrêter ici (on peut continuer ensuite avec 'git rebase --contine')\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"
+
+#: rebase-interactive.c:31 git-rebase--preserve-merges.sh:173
+msgid ""
+"\n"
+"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
+msgstr ""
+"\n"
+"Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
+"commit.\n"
+
+#: rebase-interactive.c:34 git-rebase--preserve-merges.sh:177
+msgid ""
+"\n"
+"If you remove a line here THAT COMMIT WILL BE LOST.\n"
+msgstr ""
+"\n"
+"Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
+
+#: rebase-interactive.c:40 git-rebase--preserve-merges.sh:816
+msgid ""
+"\n"
+"You are editing the todo file of an ongoing interactive rebase.\n"
+"To continue rebase after editing, run:\n"
+"    git rebase --continue\n"
+"\n"
+msgstr ""
+"\n"
+"Vous êtes en train d'éditer le fichier todo d'un rebasage interactif en "
+"cours.\n"
+"Pour continuer le rebasage après édition, lancez :\n"
+"    git rebase --continue\n"
+"\n"
+
+#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893
+msgid ""
+"\n"
+"However, if you remove everything, the rebase will be aborted.\n"
+"\n"
+msgstr ""
+"\n"
+"Cependant, si vous effacez tout, le rebasage sera annulé.\n"
+"\n"
+
+#: rebase-interactive.c:51 git-rebase--preserve-merges.sh:900
+msgid "Note that empty commits are commented out"
+msgstr "Veuillez noter que les commits vides sont en commentaire"
+
+#: rebase-interactive.c:62 rebase-interactive.c:75 sequencer.c:2186
+#: sequencer.c:4505 sequencer.c:4561 sequencer.c:4836
+#, c-format
+msgid "could not read '%s'."
+msgstr "impossible de lire '%s'."
+
 #: refs.c:192
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s ne pointe pas sur un objet valide!"
 
-#: refs.c:579
+#: refs.c:583
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "symref pendant %s ignoré"
 
-#: refs.c:581 ref-filter.c:2067
+#: refs.c:585 ref-filter.c:1951
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: refs.c:685
+#: refs.c:711
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "impossible d'ouvrir '%s' en écriture : %s"
 
-#: refs.c:695 refs.c:746
+#: refs.c:721 refs.c:772
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "impossible de lire la réf '%s'"
 
-#: refs.c:701
+#: refs.c:727
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "la référence '%s' existe déjà"
 
-#: refs.c:706
+#: refs.c:732
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "id d'objet inattendu pendant l'écriture de '%s'"
 
-#: refs.c:714 sequencer.c:385 sequencer.c:2366 sequencer.c:2492
-#: sequencer.c:2506 sequencer.c:2733 sequencer.c:4501 sequencer.c:4564
+#: refs.c:740 sequencer.c:394 sequencer.c:2510 sequencer.c:2636
+#: sequencer.c:2650 sequencer.c:2877 sequencer.c:4725 sequencer.c:4788
 #: wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: refs.c:741 sequencer.c:4499 sequencer.c:4558 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:780
+#: refs.c:767 sequencer.c:4723 sequencer.c:4782 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:728
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
 
-#: refs.c:748
+#: refs.c:774
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "id d'objet inattendu pendant la suppression de '%s'"
 
-#: refs.c:879
+#: refs.c:905
 #, 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:885
+#: refs.c:911
 #, 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:943
+#: refs.c:969
 #, c-format
 msgid "log for %s is empty"
 msgstr "le journal pour la réf %s est vide"
 
-#: refs.c:1035
+#: refs.c:1061
 #, 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:1111
+#: refs.c:1137
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "échec de update_ref pour la réf '%s' : %s"
 
-#: refs.c:1853
+#: refs.c:1911
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "mises à jour multiples pour la réf '%s' non permises"
 
-#: refs.c:1885
+#: refs.c:1943
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-#: refs.c:1981 refs.c:2011
+#: refs.c:2039 refs.c:2069
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existe ; impossible de créer '%s'"
 
-#: refs.c:1987 refs.c:2022
+#: refs.c:2045 refs.c:2080
 #, 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:1191
+#: refs/files-backend.c:1227
 #, c-format
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: refs/files-backend.c:1205 refs/packed-backend.c:1532
+#: refs/files-backend.c:1241 refs/packed-backend.c:1532
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "Impossible de supprimer la référence %s : %s"
 
-#: refs/files-backend.c:1208 refs/packed-backend.c:1545
+#: refs/files-backend.c:1244 refs/packed-backend.c:1545
 #, c-format
 msgid "could not delete references: %s"
 msgstr "impossible de supprimer les références : %s"
@@ -3732,191 +4087,197 @@
 msgstr "spécificateur de réference invalide : '%s'"
 
 # à priori on parle d'une branche ici
-#: ref-filter.c:38 wt-status.c:1850
+#: ref-filter.c:39 wt-status.c:1855
 msgid "gone"
 msgstr "disparue"
 
-#: ref-filter.c:39
+#: ref-filter.c:40
 #, c-format
 msgid "ahead %d"
 msgstr "en avance de %d"
 
-#: ref-filter.c:40
+#: ref-filter.c:41
 #, c-format
 msgid "behind %d"
 msgstr "en retard de %d"
 
-#: ref-filter.c:41
+#: ref-filter.c:42
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "en avance de %d, en retard de %d"
 
-#: ref-filter.c:137
+#: ref-filter.c:138
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:139
+#: ref-filter.c:140
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:161
+#: ref-filter.c:162
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Valeur entière attendue refname:lstrip=%s"
 
-#: ref-filter.c:165
+#: ref-filter.c:166
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:167
+#: ref-filter.c:168
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "argument %%(%s) non reconnu : %s"
 
-#: ref-filter.c:222
+#: ref-filter.c:223
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) n'accepte pas d'argument"
 
-#: ref-filter.c:234
+#: ref-filter.c:235
 #, c-format
 msgid "%%(objectsize) does not take arguments"
 msgstr "%%(objectsize) n'accepte pas d'argument"
 
-#: ref-filter.c:246
+#: ref-filter.c:247
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:255
+#: ref-filter.c:256
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:275
+#: ref-filter.c:278
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "argument %%(trailers) inconnu : %s"
 
-#: ref-filter.c:304
+#: ref-filter.c:307
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:306
+#: ref-filter.c:309
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:321
+#: ref-filter.c:324
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "valeur positive attendue objectname:short=%s"
 
-#: ref-filter.c:325
+#: ref-filter.c:328
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:355
+#: ref-filter.c:358
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:367
+#: ref-filter.c:370
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:374
+#: ref-filter.c:377
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:383
+#: ref-filter.c:386
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:391
+#: ref-filter.c:394
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:409
+#: ref-filter.c:412
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:505
+#: ref-filter.c:508
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:532
+#: ref-filter.c:535
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:656
+#: ref-filter.c:539
+#, 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 au données d'objet"
+
+#: ref-filter.c:663
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:719
+#: ref-filter.c:726
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:721
+#: ref-filter.c:728
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:723
+#: ref-filter.c:730
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:751
+#: ref-filter.c:758
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:753
+#: ref-filter.c:760
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:755
+#: ref-filter.c:762
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:770
+#: ref-filter.c:777
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:827
+#: ref-filter.c:834
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1416
+#: ref-filter.c:1424
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(aucune branche, rebasage de %s)"
 
-#: ref-filter.c:1419
+#: ref-filter.c:1427
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(aucune branche, rebasage de la HEAD détachée %s)"
 
-#: ref-filter.c:1422
+#: ref-filter.c:1430
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(aucune branche, bisect a démarré sur %s)"
@@ -3924,7 +4285,7 @@
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1430
+#: ref-filter.c:1438
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD détachée sur %s)"
@@ -3932,145 +4293,145 @@
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1437
+#: ref-filter.c:1445
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD détachée depuis %s)"
 
-#: ref-filter.c:1441
+#: ref-filter.c:1449
 msgid "(no branch)"
 msgstr "(aucune branche)"
 
-#: ref-filter.c:1475 ref-filter.c:1623
+#: ref-filter.c:1483 ref-filter.c:1638
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1483
+#: ref-filter.c:1491
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "echec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1980
+#: ref-filter.c:1857
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:2062
+#: ref-filter.c:1946
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:2340
+#: ref-filter.c:2232
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2444
+#: ref-filter.c:2338
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: remote.c:606
+#: remote.c:607
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Impossible de récupérer à la fois %s et %s pour %s"
 
-#: remote.c:610
+#: remote.c:611
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s suit habituellement %s, pas %s"
 
-#: remote.c:614
+#: remote.c:615
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s suit à la fois %s et %s"
 
-#: remote.c:622
+#: remote.c:623
 msgid "Internal error"
 msgstr "Erreur interne"
 
-#: remote.c:1536 remote.c:1637
+#: remote.c:1569 remote.c:1670
 msgid "HEAD does not point to a branch"
 msgstr "HEAD ne pointe pas sur une branche"
 
-#: remote.c:1545
+#: remote.c:1578
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "pas de branche '%s'"
 
-#: remote.c:1548
+#: remote.c:1581
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "aucune branche amont configurée pour la branche '%s'"
 
-#: remote.c:1554
+#: remote.c:1587
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "la branche amont '%s' n'est pas stockée comme branche de suivi"
 
-#: remote.c:1569
+#: remote.c:1602
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "la destination de poussée '%s' sur le serveur distant '%s' n'a pas de "
 "branche locale de suivi"
 
-#: remote.c:1581
+#: remote.c:1614
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branche '%s' n'a aucune branche distante de poussée"
 
-#: remote.c:1591
+#: remote.c:1624
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "les références de spec pour '%s' n'incluent pas '%s'"
 
-#: remote.c:1604
+#: remote.c:1637
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "la poussée n'a pas de destination (push.default vaut 'nothing')"
 
-#: remote.c:1626
+#: remote.c:1659
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 "impossible de résoudre une poussée 'simple' pour une destination unique"
 
-#: remote.c:1951
+#: remote.c:1935
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "Votre branche est basée sur '%s', mais la branche amont a disparu.\n"
 
-#: remote.c:1955
+#: remote.c:1939
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:1958
+#: remote.c:1942
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:1962
+#: remote.c:1946
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Votre branche et '%s' font référence à des commits différents.\n"
 
-#: remote.c:1965
+#: remote.c:1949
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (utilisez \"%s\" pour plus de détails)\n"
 
-#: remote.c:1969
+#: remote.c:1953
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Votre branche est en avance sur '%s' de %d commit.\n"
 msgstr[1] "Votre branche est en avance sur '%s' de %d commits.\n"
 
-#: remote.c:1975
+#: remote.c:1959
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\n"
 
-#: remote.c:1978
+#: remote.c:1962
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -4082,11 +4443,11 @@
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:1986
+#: remote.c:1970
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:1989
+#: remote.c:1973
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -4101,44 +4462,147 @@
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:1999
+#: remote.c:1983
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (utilisez \"git pull\" pour fusionner la branche distante dans la vôtre)\n"
 
-#: replace-object.c:20
+#: replace-object.c:21
 #, c-format
 msgid "bad replace ref name: %s"
 msgstr "mauvaise références de remplacement : %s"
 
-#: replace-object.c:29
+#: replace-object.c:30
 #, c-format
 msgid "duplicate replace ref: %s"
 msgstr "référence de remplacement dupliquée : %s"
 
-#: replace-object.c:72
+#: replace-object.c:73
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr "profondeur de remplacement trop grande pour l'objet %s"
 
-#: revision.c:2305
+#: rerere.c:217 rerere.c:226 rerere.c:229
+msgid "corrupt MERGE_RR"
+msgstr "MERGE_RR corrompu"
+
+#: rerere.c:264 rerere.c:269
+msgid "unable to write rerere record"
+msgstr "impossible d'écrire l'enregistrement rerere"
+
+#: rerere.c:485 rerere.c:692 sequencer.c:3136 sequencer.c:3162
+#, c-format
+msgid "could not write '%s'"
+msgstr "impossible d'écrire '%s'"
+
+#: rerere.c:495
+#, c-format
+msgid "there were errors while writing '%s' (%s)"
+msgstr "il y a eu des erreurs à l'écriture de '%s' (%s)"
+
+#: rerere.c:498
+#, c-format
+msgid "failed to flush '%s'"
+msgstr "échec du flush de '%s'"
+
+#: rerere.c:503 rerere.c:1039
+#, c-format
+msgid "could not parse conflict hunks in '%s'"
+msgstr "impossible d'analyser la section en conflit dans '%s'"
+
+#: rerere.c:684
+#, c-format
+msgid "failed utime() on '%s'"
+msgstr "échec de utime() sur '%s'"
+
+#: rerere.c:694
+#, c-format
+msgid "writing '%s' failed"
+msgstr "échec de l'écriture de '%s'"
+
+#: rerere.c:714
+#, c-format
+msgid "Staged '%s' using previous resolution."
+msgstr "'%s' indexé en utilisant la résolution pré-existante."
+
+#: rerere.c:753
+#, c-format
+msgid "Recorded resolution for '%s'."
+msgstr "Résolution enregistrée pour '%s'."
+
+#: rerere.c:788
+#, c-format
+msgid "Resolved '%s' using previous resolution."
+msgstr "'%s' résolu en utilisant la résolution pré-existante."
+
+#: rerere.c:803
+#, c-format
+msgid "cannot unlink stray '%s'"
+msgstr "impossible de délier '%s' qui est errant"
+
+#: rerere.c:807
+#, c-format
+msgid "Recorded preimage for '%s'"
+msgstr "Pré-image enregistrée pour '%s'"
+
+#: rerere.c:881 submodule.c:1763 builtin/submodule--helper.c:1413
+#: builtin/submodule--helper.c:1423
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "impossible de créer le répertoire '%s'"
+
+#: rerere.c:1057
+#, c-format
+msgid "failed to update conflicted state in '%s'"
+msgstr "échec de la mise à jour de l'état en conflit dans '%s'"
+
+#: rerere.c:1068 rerere.c:1075
+#, c-format
+msgid "no remembered resolution for '%s'"
+msgstr "Aucune résolution enregistrée pour '%s'"
+
+#: rerere.c:1077
+#, c-format
+msgid "cannot unlink '%s'"
+msgstr "impossible de délier '%s'"
+
+#: rerere.c:1087
+#, c-format
+msgid "Updated preimage for '%s'"
+msgstr "Pré-image mise à jour pour '%s'"
+
+#: rerere.c:1096
+#, c-format
+msgid "Forgot resolution for '%s'\n"
+msgstr "Résolution  pour '%s' oubliée\n"
+
+#: rerere.c:1199
+msgid "unable to open rr-cache directory"
+msgstr "impossible d'ouvrir le répertoire rr-cache"
+
+#: revision.c:2324
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2308
+#: revision.c:2327
 #, 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:2505
+#: revision.c:2523
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: run-command.c:728
+#: run-command.c:740
 msgid "open /dev/null failed"
 msgstr "échec de l'ouverture de /dev/null"
 
-#: run-command.c:1271
+#: run-command.c:1229
+#, c-format
+msgid "cannot create async thread: %s"
+msgstr "impossible de créer un fil asynchrone : %s"
+
+#: run-command.c:1293
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -4164,15 +4628,15 @@
 msgid "remote unpack failed: %s"
 msgstr "le dépaquetage a échoué : %s"
 
-#: send-pack.c:309
+#: send-pack.c:308
 msgid "failed to sign the push certificate"
 msgstr "impossible de signer le certificat de poussée"
 
-#: send-pack.c:422
+#: send-pack.c:421
 msgid "the receiving end does not support --signed push"
 msgstr "Le receveur ne gère pas les poussées avec --signed"
 
-#: send-pack.c:424
+#: send-pack.c:423
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -4180,42 +4644,42 @@
 "pas d'envoi de certificat de poussée car le receveur ne gère pas les "
 "poussées avec --signed"
 
-#: send-pack.c:436
+#: send-pack.c:435
 msgid "the receiving end does not support --atomic push"
 msgstr "Le receveur ne gère pas les poussées avec --atomic"
 
-#: send-pack.c:441
+#: send-pack.c:440
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:177
+#: sequencer.c:183
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "mode de nettoyage invalide de message de validation '%s'"
 
-#: sequencer.c:278
+#: sequencer.c:287
 #, c-format
 msgid "could not delete '%s'"
 msgstr "Impossible de supprimer '%s'"
 
-#: sequencer.c:304
+#: sequencer.c:313
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:306
+#: sequencer.c:315
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:308
+#: sequencer.c:317
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:310
+#: sequencer.c:319
 #, c-format
 msgid "unknown action: %d"
 msgstr "action inconnue : %d"
 
-#: sequencer.c:367
+#: sequencer.c:376
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -4223,7 +4687,7 @@
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:370
+#: sequencer.c:379
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -4233,39 +4697,39 @@
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:383 sequencer.c:2488
+#: sequencer.c:392 sequencer.c:2632
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:390
+#: sequencer.c:399
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:395 sequencer.c:2371 sequencer.c:2494 sequencer.c:2508
-#: sequencer.c:2741
+#: sequencer.c:404 sequencer.c:2515 sequencer.c:2638 sequencer.c:2652
+#: sequencer.c:2885
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "échec lors de la finalisation de '%s'"
 
-#: sequencer.c:418 sequencer.c:816 sequencer.c:1505 sequencer.c:2391
-#: sequencer.c:2723 sequencer.c:2827 builtin/am.c:260 builtin/commit.c:740
-#: builtin/merge.c:1081
+#: sequencer.c:427 sequencer.c:921 sequencer.c:1594 sequencer.c:2535
+#: sequencer.c:2867 sequencer.c:2974 builtin/am.c:260 builtin/commit.c:746
+#: builtin/merge.c:1084 builtin/rebase.c:152
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: sequencer.c:444
+#: sequencer.c:453
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:448
+#: sequencer.c:457
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:477
+#: sequencer.c:486
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
@@ -4273,35 +4737,70 @@
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:566
+#: sequencer.c:575
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:582
+#: sequencer.c:591
 msgid "unable to update cache tree"
 msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:595
+#: sequencer.c:604
 msgid "could not resolve HEAD commit"
 msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:723 sequencer.c:740
+#: sequencer.c:684
 #, c-format
-msgid "could not parse '%s' (looking for '%s')"
-msgstr "impossible d'analyser '%s' (à la recherche de '%s')"
+msgid "no key present in '%.*s'"
+msgstr "aucune clé présente dans '%.*s'"
 
-#: sequencer.c:731
+#: sequencer.c:695
 #, c-format
-msgid "bad quoting on %s value in '%s'"
-msgstr "Mauvaise citation sur la valeur %s dans '%s'"
+msgid "unable to dequote value of '%s'"
+msgstr "Impossible de décoter la valeur de '%s'"
+
+#: sequencer.c:732 wrapper.c:227 wrapper.c:397 builtin/am.c:719
+#: builtin/am.c:811 builtin/merge.c:1081
+#, c-format
+msgid "could not open '%s' for reading"
+msgstr "impossible d'ouvrir '%s' en lecture"
+
+#: sequencer.c:742
+msgid "'GIT_AUTHOR_NAME' already given"
+msgstr "'GIT_AUTHOR_NAME' déjà fourni"
 
 #: sequencer.c:747
+msgid "'GIT_AUTHOR_EMAIL' already given"
+msgstr "'GIT_AUTHOR_EMAIL' déjà fourni"
+
+#: sequencer.c:752
+msgid "'GIT_AUTHOR_DATE' already given"
+msgstr "'GIT_AUTHOR_DATE' déjà fourni"
+
+#: sequencer.c:756
+#, c-format
+msgid "unknown variable '%s'"
+msgstr "variable inconnue '%s'"
+
+#: sequencer.c:761
+msgid "missing 'GIT_AUTHOR_NAME'"
+msgstr "'GIT_AUTHOR_NAME' manquant"
+
+#: sequencer.c:763
+msgid "missing 'GIT_AUTHOR_EMAIL'"
+msgstr "'GIT_AUTHOR_EMAIL' manquant"
+
+#: sequencer.c:765
+msgid "missing 'GIT_AUTHOR_DATE'"
+msgstr "'GIT_AUTHOR_DATE' manquant"
+
+#: sequencer.c:825
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "format de date invalide '%s' dans '%s'"
 
-#: sequencer.c:761
+#: sequencer.c:842
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -4330,15 +4829,15 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:830
+#: sequencer.c:935
 msgid "writing root commit"
 msgstr "écriture du commit racine"
 
-#: sequencer.c:1055
+#: sequencer.c:1142
 msgid "'prepare-commit-msg' hook failed"
 msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:1062
+#: sequencer.c:1149
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4366,7 +4865,7 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1075
+#: sequencer.c:1162
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4392,307 +4891,302 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1115
+#: sequencer.c:1202
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: sequencer.c:1117
+#: sequencer.c:1204
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: sequencer.c:1163
+#: sequencer.c:1250
 msgid "unable to resolve HEAD after creating commit"
 msgstr "impossible de résoudre HEAD après création du commit"
 
-#: sequencer.c:1165
+#: sequencer.c:1252
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: sequencer.c:1169
+#: sequencer.c:1256
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: sequencer.c:1190
+#: sequencer.c:1277
 msgid "could not parse HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1192
+#: sequencer.c:1279
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s n'est pas un commit !"
 
-#: sequencer.c:1196 builtin/commit.c:1528
+#: sequencer.c:1283 builtin/commit.c:1543
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: sequencer.c:1247 sequencer.c:1845
+#: sequencer.c:1334 sequencer.c:1934
 msgid "unable to parse commit author"
 msgstr "impossible d'analyser l'auteur du commit"
 
-#: sequencer.c:1257 builtin/am.c:1632 builtin/merge.c:675
+#: sequencer.c:1344 builtin/am.c:1585 builtin/merge.c:677
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
-#: sequencer.c:1274 sequencer.c:1329
+#: sequencer.c:1361 sequencer.c:1416
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:1296 builtin/am.c:1653 builtin/commit.c:1631 builtin/merge.c:855
-#: builtin/merge.c:880
+#: sequencer.c:1383 builtin/am.c:1606 builtin/commit.c:1646 builtin/merge.c:858
+#: builtin/merge.c:883
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
-#: sequencer.c:1356
+#: sequencer.c:1443
 #, c-format
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: sequencer.c:1361
+#: sequencer.c:1448
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1457 sequencer.c:1565
+#: sequencer.c:1546 sequencer.c:1654
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:1512 sequencer.c:1537
+#: sequencer.c:1601 sequencer.c:1626
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:1522 sequencer.c:4520
+#: sequencer.c:1611 sequencer.c:4744
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:1524 sequencer.c:2768
+#: sequencer.c:1613 sequencer.c:2912
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:1526
+#: sequencer.c:1615
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:1532
+#: sequencer.c:1621
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:1539 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1628 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:1547
+#: sequencer.c:1636
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:1554
+#: sequencer.c:1643
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:1560
+#: sequencer.c:1649
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:1643
+#: sequencer.c:1732
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:1650
+#: sequencer.c:1739
 msgid "cannot fixup root commit"
 msgstr "impossible de réparer le commit racine"
 
-#: sequencer.c:1669
+#: sequencer.c:1758
 #, 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:1677
+#: sequencer.c:1766
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:1681
+#: sequencer.c:1770
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "une branche principale a été spécifiée mais le commit %s n'est pas une "
 "fusion."
 
-#: sequencer.c:1687
+#: sequencer.c:1776
 #, 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:1706
+#: sequencer.c:1795
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1771
+#: sequencer.c:1860
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1826
+#: sequencer.c:1915
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1827
+#: sequencer.c:1916
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:1885
+#: sequencer.c:1974
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:1892
+#: sequencer.c:1981
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:1972
+#: sequencer.c:2062
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s n'accepte pas d'argument : '%s'"
 
-#: sequencer.c:1981
+#: sequencer.c:2071
 #, c-format
 msgid "missing arguments for %s"
 msgstr "argument manquant pour %s"
 
-#: sequencer.c:2040
+#: sequencer.c:2130
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:2048
+#: sequencer.c:2138
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:2096 sequencer.c:4277 sequencer.c:4333
-#, c-format
-msgid "could not read '%s'."
-msgstr "impossible de lire '%s'."
-
-#: sequencer.c:2119
+#: sequencer.c:2209
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:2121
+#: sequencer.c:2211
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:2126
+#: sequencer.c:2216
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:2137
+#: sequencer.c:2227
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:2139
+#: sequencer.c:2229
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:2209
+#: sequencer.c:2299
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:2285
+#: sequencer.c:2380
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
-#: sequencer.c:2301
+#: sequencer.c:2396
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:2335 sequencer.c:3775
+#: sequencer.c:2479 sequencer.c:4005
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:2343
+#: sequencer.c:2487
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un picorage ou un retour est déjà en cours"
 
-#: sequencer.c:2344
+#: sequencer.c:2488
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
 
-#: sequencer.c:2347
+#: sequencer.c:2491
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:2361
+#: sequencer.c:2505
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:2416 sequencer.c:3543
+#: sequencer.c:2560 sequencer.c:3761
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:2418
+#: sequencer.c:2562
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:2420 sequencer.c:2455
+#: sequencer.c:2564 sequencer.c:2599
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:2441 builtin/grep.c:721
+#: sequencer.c:2585 builtin/grep.c:721
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:2443
+#: sequencer.c:2587
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:2444
+#: sequencer.c:2588
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:2450
+#: sequencer.c:2594
 #, 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:2461
+#: sequencer.c:2605
 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:2565 sequencer.c:3461
+#: sequencer.c:2709 sequencer.c:3679
 #, c-format
 msgid "could not update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: sequencer.c:2603 sequencer.c:3441
+#: sequencer.c:2747 sequencer.c:3659
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:2618
+#: sequencer.c:2762
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:2626
+#: sequencer.c:2770
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -4711,26 +5205,27 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2636
+#: sequencer.c:2780
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "impossible d'appliquer %s... %.*s"
 
-#: sequencer.c:2643
+#: sequencer.c:2787
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Impossible de fusionner %.*s"
 
-#: sequencer.c:2654 sequencer.c:2658 builtin/difftool.c:640
+#: sequencer.c:2798 sequencer.c:2802 builtin/difftool.c:640
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:2680 sequencer.c:3095
+#: sequencer.c:2824 sequencer.c:3242 builtin/rebase.c:580 builtin/rebase.c:999
+#: builtin/rebase.c:1350 builtin/rebase.c:1404
 msgid "could not read index"
 msgstr "impossible de lire l'index"
 
-#: sequencer.c:2685
+#: sequencer.c:2829
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -4745,11 +5240,11 @@
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2691
+#: sequencer.c:2835
 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:2697
+#: sequencer.c:2841
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -4766,82 +5261,77 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2758
+#: sequencer.c:2902
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nom de label illégal '%.*s'"
 
-#: sequencer.c:2810
+#: sequencer.c:2954
 msgid "writing fake root commit"
 msgstr "écriture d'un commit racine bidon"
 
-#: sequencer.c:2815
+#: sequencer.c:2959
 msgid "writing squash-onto"
 msgstr "écriture de 'écraser-sur'"
 
-#: sequencer.c:2850
+#: sequencer.c:2997 builtin/rebase.c:585 builtin/rebase.c:590
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "impossible de trouver l'arbre de %s"
 
-#: sequencer.c:2868
+#: sequencer.c:3015 builtin/rebase.c:603
 msgid "could not write index"
 msgstr "impossible d'écrire l'index"
 
-#: sequencer.c:2895
+#: sequencer.c:3042
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: sequencer.c:2921
+#: sequencer.c:3068
 msgid "cannot merge without a current revision"
 msgstr "impossible de fusionner avec une révision courante"
 
-#: sequencer.c:2943
+#: sequencer.c:3090
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:2952
+#: sequencer.c:3099
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "rien à fusionner : '%.*s'"
 
-#: sequencer.c:2964
+#: sequencer.c:3111
 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:2979
+#: sequencer.c:3126
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:2989 sequencer.c:3015
-#, c-format
-msgid "could not write '%s'"
-msgstr "impossible d'écrire '%s'"
-
-#: sequencer.c:3127
+#: sequencer.c:3274
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "impossible de seulement essayer de fusionner '%.*s'"
 
-#: sequencer.c:3143
+#: sequencer.c:3290
 msgid "merge: Unable to write new index file"
 msgstr "fusion : Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:3211
+#: sequencer.c:3358 builtin/rebase.c:268
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:3223
+#: sequencer.c:3370
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:3226 git-rebase.sh:188
+#: sequencer.c:3373 builtin/rebase.c:284
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -4852,7 +5342,31 @@
 "Vos  modifications sont à l'abri dans la remise.\n"
 "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
 
-#: sequencer.c:3257
+#: sequencer.c:3427
+#, c-format
+msgid "could not checkout %s"
+msgstr "extraction de %s impossible"
+
+#: sequencer.c:3441
+#, c-format
+msgid "%s: not a valid OID"
+msgstr "%s n'est pas un OID valide"
+
+#: sequencer.c:3446 git-rebase--preserve-merges.sh:724
+msgid "could not detach HEAD"
+msgstr "Impossible de détacher HEAD"
+
+#: sequencer.c:3461
+#, c-format
+msgid "Stopped at HEAD\n"
+msgstr "arrêt à HEAD\n"
+
+#: sequencer.c:3463
+#, c-format
+msgid "Stopped at %s\n"
+msgstr "Arrêté à %s\n"
+
+#: sequencer.c:3471
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -4873,48 +5387,48 @@
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3325
+#: sequencer.c:3543
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:3404
+#: sequencer.c:3622
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:3449
+#: sequencer.c:3667
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:3454 sequencer.c:4517
+#: sequencer.c:3672 sequencer.c:4741
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:3468
+#: sequencer.c:3686
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:3554
+#: sequencer.c:3772
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:3563
+#: sequencer.c:3781
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:3565
+#: sequencer.c:3783
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:3567
+#: sequencer.c:3785
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:3570
+#: sequencer.c:3788
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -4924,54 +5438,54 @@
 "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:3595 sequencer.c:3633
+#: sequencer.c:3824 sequencer.c:3862
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "impossible d'écrire le fichier : '%s'"
 
-#: sequencer.c:3648
+#: sequencer.c:3877
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:3655
+#: sequencer.c:3884
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:3752
+#: sequencer.c:3982
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:3756
+#: sequencer.c:3986
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:3791
+#: sequencer.c:4021
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: sequencer.c:4238
+#: sequencer.c:4466
 msgid "make_script: unhandled options"
 msgstr "make_script : options non gérées"
 
-#: sequencer.c:4241
+#: sequencer.c:4469
 msgid "make_script: error preparing revisions"
 msgstr "make_script : erreur lors de la préparation des révisions"
 
-#: sequencer.c:4281 sequencer.c:4337
+#: sequencer.c:4509 sequencer.c:4565 sequencer.c:4840
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "liste à faire inutilisable : '%s'"
 
-#: sequencer.c:4396
+#: sequencer.c:4620
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr ""
 "paramètre non reconnu %s pour l'option rebase.missingCommitsCheck. Ignoré."
 
-#: sequencer.c:4466
+#: sequencer.c:4690
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -4980,7 +5494,7 @@
 "Attention : certains commits ont pu être accidentellement supprimés.\n"
 "Commits supprimés (du plus jeune au plus vieux) :\n"
 
-#: sequencer.c:4473
+#: sequencer.c:4697
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -4998,7 +5512,7 @@
 "Les comportements disponibles sont : ignore, warn, error.\n"
 "\n"
 
-#: sequencer.c:4486
+#: sequencer.c:4710
 #, c-format
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
@@ -5009,7 +5523,31 @@
 "rebase --continue'.\n"
 "Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
 
-#: sequencer.c:4660
+#: sequencer.c:4848 sequencer.c:4886
+msgid "nothing to do"
+msgstr "rien à faire"
+
+#: sequencer.c:4852
+#, c-format
+msgid "Rebase %s onto %s (%d command)"
+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)"
+
+#: sequencer.c:4864
+#, c-format
+msgid "could not copy '%s' to '%s'."
+msgstr "impossible de copier '%s' vers '%s'."
+
+#: sequencer.c:4868 sequencer.c:4897
+msgid "could not transform the todo list"
+msgstr "impossible de générer la liste à-faire"
+
+#: sequencer.c:4900
+msgid "could not skip unnecessary pick commands"
+msgstr "impossible d'éviter les commandes de picorage non nécessaires"
+
+#: sequencer.c:4983
 msgid "the script was already rearranged."
 msgstr "le script a déjà été réarrangé."
 
@@ -5067,84 +5605,84 @@
 msgid "this operation must be run in a work tree"
 msgstr "Cette opération doit être effectuée dans un arbre de travail"
 
-#: setup.c:503
+#: setup.c:527
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:511
+#: setup.c:535
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:530
+#: setup.c:554
 #, c-format
 msgid "error opening '%s'"
 msgstr "erreur à l'ouverture de '%s'"
 
-#: setup.c:532
+#: setup.c:556
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "trop gros pour être une fichier .git : '%s'"
 
-#: setup.c:534
+#: setup.c:558
 #, c-format
 msgid "error reading %s"
 msgstr "erreur à la lecture de %s"
 
-#: setup.c:536
+#: setup.c:560
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "format de fichier git invalide : %s"
 
-#: setup.c:538
+#: setup.c:562
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "aucun chemin dans le fichier git : %s"
 
-#: setup.c:540
+#: setup.c:564
 #, c-format
 msgid "not a git repository: %s"
 msgstr "ce n'est pas un dépôt git : %s"
 
-#: setup.c:639
+#: setup.c:663
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' trop gros"
 
-#: setup.c:653
+#: setup.c:677
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "ce n'est pas un dépôt git : '%s'"
 
-#: setup.c:682 setup.c:684 setup.c:715
+#: setup.c:706 setup.c:708 setup.c:739
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "impossible de se déplacer vers le répertoire (chdir) '%s'"
 
-#: setup.c:687 setup.c:743 setup.c:753 setup.c:792 setup.c:800 setup.c:815
+#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824 setup.c:839
 msgid "cannot come back to cwd"
 msgstr "impossible de revenir au répertoire de travail courant"
 
-#: setup.c:813
+#: setup.c:837
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "ni ceci ni aucun de ses répertoires parents n'est un dépôt git : %s"
 
-#: setup.c:824
+#: setup.c:848
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "échec du stat de '%*s%s%s'"
 
-#: setup.c:1054
+#: setup.c:1078
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:1066 setup.c:1072
+#: setup.c:1090 setup.c:1096
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "impossible de modifier en '%s'"
 
-#: setup.c:1085
+#: setup.c:1109
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -5155,7 +5693,7 @@
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas défini)."
 
-#: setup.c:1168
+#: setup.c:1192
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -5165,15 +5703,15 @@
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: setup.c:1211
+#: setup.c:1235
 msgid "open /dev/null or dup failed"
 msgstr "échec de l'ouverture ou au dup de /dev/null"
 
-#: setup.c:1226
+#: setup.c:1250
 msgid "fork failed"
 msgstr "échec de la bifurcation"
 
-#: setup.c:1231
+#: setup.c:1255
 msgid "setsid failed"
 msgstr "échec du setsid"
 
@@ -5251,12 +5789,12 @@
 msgid "object file %s is empty"
 msgstr "le fichier objet %s est vide"
 
-#: sha1-file.c:1093 sha1-file.c:2206
+#: sha1-file.c:1093 sha1-file.c:2215
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objet libre corrompu '%s'"
 
-#: sha1-file.c:1095 sha1-file.c:2210
+#: sha1-file.c:1095 sha1-file.c:2219
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "données incorrectes à la fin de l'objet libre '%s'"
@@ -5352,7 +5890,7 @@
 msgid "confused by unstable object source data for %s"
 msgstr "données de source d'objet instable pour %s"
 
-#: sha1-file.c:1685 builtin/pack-objects.c:899
+#: sha1-file.c:1685 builtin/pack-objects.c:918
 #, c-format
 msgid "failed utime() on %s"
 msgstr "échec de utime() sur %s"
@@ -5370,76 +5908,76 @@
 msgid "corrupt tag"
 msgstr "étiquette corrompue"
 
-#: sha1-file.c:1906
+#: sha1-file.c:1912
 #, c-format
 msgid "read error while indexing %s"
 msgstr "erreur de lecture à l'indexation de %s"
 
-#: sha1-file.c:1909
+#: sha1-file.c:1915
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lecture tronquée pendant l'indexation de %s"
 
-#: sha1-file.c:1980 sha1-file.c:1989
+#: sha1-file.c:1988 sha1-file.c:1997
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s : échec de l'insertion dans la base de données"
 
-#: sha1-file.c:1995
+#: sha1-file.c:2003
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s : type de fichier non supporté"
 
-#: sha1-file.c:2019
+#: sha1-file.c:2027
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s n'est pas un objet valide"
 
-#: sha1-file.c:2021
+#: sha1-file.c:2029
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: sha1-file.c:2048 builtin/index-pack.c:158
+#: sha1-file.c:2056 builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: sha1-file.c:2217 sha1-file.c:2269
+#: sha1-file.c:2226 sha1-file.c:2278
 #, c-format
 msgid "sha1 mismatch for %s (expected %s)"
 msgstr "incohérence de sha1 pour %s (%s attendu)"
 
-#: sha1-file.c:2241
+#: sha1-file.c:2250
 #, c-format
 msgid "unable to mmap %s"
 msgstr "impossible de mmap %s"
 
-#: sha1-file.c:2246
+#: sha1-file.c:2255
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "impossible de dépaqueter l'entête de %s"
 
-#: sha1-file.c:2252
+#: sha1-file.c:2261
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "impossible d'analyser l'entête de %s"
 
-#: sha1-file.c:2263
+#: sha1-file.c:2272
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "impossible de dépaqueter le contenu de %s"
 
-#: sha1-name.c:444
+#: sha1-name.c:476
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "le SHA1 court %s est ambigu"
 
-#: sha1-name.c:455
+#: sha1-name.c:487
 msgid "The candidates are:"
 msgstr "Les candidats sont :"
 
-#: sha1-name.c:699
+#: sha1-name.c:770
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -5464,82 +6002,72 @@
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
-#: submodule.c:97 submodule.c:131
+#: submodule.c:116 submodule.c:145
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Modification impossible de .gitmodules non fusionné, résolvez les conflits "
 "d'abord"
 
-#: submodule.c:101 submodule.c:135
+#: submodule.c:120 submodule.c:149
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Impossible de trouver une section où path=%s dans .gitmodules"
 
-#: submodule.c:109
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
-
 # ici %s est un chemin
-#: submodule.c:142
+#: submodule.c:156
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Impossible de supprimer l'élément de .gitmodules pour %s"
 
-#: submodule.c:153
+#: submodule.c:167
 msgid "staging updated .gitmodules failed"
 msgstr "échec de la mise en index du .gitmodules mis à jour"
 
-#: submodule.c:315
+#: submodule.c:329
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "dans le sous-module '%s' non populé"
 
-#: submodule.c:346
+#: submodule.c:360
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: submodule.c:839
+#: submodule.c:857
 #, 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:1071 builtin/branch.c:670 builtin/submodule--helper.c:1888
+#: submodule.c:1097 builtin/branch.c:656 builtin/submodule--helper.c:1985
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: submodule.c:1377
+#: submodule.c:1404
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' n'est pas reconnu comme dépôt git"
 
-#: submodule.c:1515
+#: submodule.c:1542
 #, 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:1528
+#: submodule.c:1555
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1543
-#, 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:1633
+#: submodule.c:1648
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "le sous-module '%s' a un index sale"
 
-#: submodule.c:1685
+#: submodule.c:1700
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "le sous-module '%s' n'a pas pu être mis à jour."
 
-#: submodule.c:1734
+#: submodule.c:1747
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -5547,18 +6075,12 @@
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:1746 submodule.c:1802
+#: submodule.c:1759 submodule.c:1815
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:1750 builtin/submodule--helper.c:1406
-#: builtin/submodule--helper.c:1416
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "impossible de créer le répertoire '%s'"
-
-#: submodule.c:1753
+#: submodule.c:1766
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -5569,34 +6091,44 @@
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:1837
+#: submodule.c:1850
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: submodule.c:1881
+#: submodule.c:1894
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:1920
+#: submodule.c:1933
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
 
-#: submodule-config.c:231
+#: submodule-config.c:232
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "nom de sous-module suspicieux %s ignoré"
 
-#: submodule-config.c:295
+#: submodule-config.c:296
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
 
-#: submodule-config.c:468
+#: submodule-config.c:390
+#, c-format
+msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
+msgstr "'%s' ignoré et qui peut être interprété comme une option de ligne de commande : %s"
+
+#: submodule-config.c:479
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
 
+#: submodule-config.c:754
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
+
 #: trailer.c:238
 #, c-format
 msgid "running trailer command '%s' failed"
@@ -5608,7 +6140,7 @@
 msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%s'"
 
-#: trailer.c:539 trailer.c:544 builtin/remote.c:294
+#: trailer.c:539 trailer.c:544 builtin/remote.c:295
 #, c-format
 msgid "more than one %s"
 msgstr "plus d'un %s"
@@ -5627,26 +6159,26 @@
 msgid "could not read from stdin"
 msgstr "Impossible de lire depuis l'entrée standard"
 
-#: trailer.c:1008 builtin/am.c:47
+#: trailer.c:1011 builtin/am.c:47
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
 
-#: trailer.c:1010
+#: trailer.c:1013
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "%s n'est pas un fichier régulier"
 
-#: trailer.c:1012
+#: trailer.c:1015
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
 
-#: trailer.c:1024
+#: trailer.c:1027
 msgid "could not open temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: trailer.c:1064
+#: trailer.c:1067
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "impossible de renommer un fichier temporaire en %s"
@@ -5666,29 +6198,29 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:586
+#: transport.c:616
 msgid "could not parse transport.color.* config"
 msgstr "impossible d'analyser la configuration transport.color.*"
 
-#: transport.c:659
+#: transport.c:689
 msgid "support for protocol v2 not implemented yet"
 msgstr "le support du protocole v2 n'est pas encore implanté"
 
-#: transport.c:785
+#: transport.c:816
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "valeur inconnue pour la config '%s' : %s"
 
-#: transport.c:851
+#: transport.c:882
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "transport '%s' non permis"
 
-#: transport.c:903
+#: transport.c:936
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync n'est plus supporté"
 
-#: transport.c:998
+#: transport.c:1031
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -5697,7 +6229,7 @@
 "Les chemins suivant de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:1002
+#: transport.c:1035
 #, c-format
 msgid ""
 "\n"
@@ -5724,19 +6256,19 @@
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:1010
+#: transport.c:1043
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport.c:1148
+#: transport.c:1182
 msgid "failed to push all needed submodules"
 msgstr "echec de la poussée de tout les sous-modules nécessaires"
 
-#: transport.c:1270 transport-helper.c:643
+#: transport.c:1315 transport-helper.c:643
 msgid "operation not supported by protocol"
 msgstr "option non supportée par le protocole"
 
-#: transport.c:1352
+#: transport.c:1419
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
@@ -5874,42 +6406,42 @@
 msgid "malformed response in ref list: %s"
 msgstr "réponse malformée dans le liste de réfs : %s"
 
-#: transport-helper.c:1230
+#: transport-helper.c:1231
 #, c-format
 msgid "read(%s) failed"
 msgstr "échec de read(%s)"
 
-#: transport-helper.c:1257
+#: transport-helper.c:1258
 #, c-format
 msgid "write(%s) failed"
 msgstr "échec de write(%s)"
 
-#: transport-helper.c:1306
+#: transport-helper.c:1307
 #, c-format
 msgid "%s thread failed"
 msgstr "échec du fil d'exécution %s"
 
-#: transport-helper.c:1310
+#: transport-helper.c:1311
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "échec de jonction du fil d'exécution %s : %s"
 
-#: transport-helper.c:1329 transport-helper.c:1333
+#: transport-helper.c:1330 transport-helper.c:1334
 #, 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:1370
+#: transport-helper.c:1371
 #, c-format
 msgid "%s process failed to wait"
 msgstr "échec du processus %s pour l'attente"
 
-#: transport-helper.c:1374
+#: transport-helper.c:1375
 #, c-format
 msgid "%s process failed"
 msgstr "échec du processus %s"
 
-#: transport-helper.c:1392 transport-helper.c:1401
+#: transport-helper.c:1393 transport-helper.c:1402
 msgid "can't start thread for copying data"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données"
 
@@ -6169,6 +6701,16 @@
 msgid "Checking out files"
 msgstr "Extraction des fichiers"
 
+#: unpack-trees.c:368
+msgid ""
+"the following paths have collided (e.g. case-sensitive paths\n"
+"on a case-insensitive filesystem) and only one from the same\n"
+"colliding group is in the working tree:\n"
+msgstr ""
+"Les chemins suivants sont en collision (par exemple par des chemins\n"
+"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"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "nom de schéma d'URL invalide ou suffixe '://' manquant"
@@ -6198,35 +6740,35 @@
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:245 builtin/am.c:2147
+#: worktree.c:249 builtin/am.c:2100
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
 
-#: worktree.c:291
+#: worktree.c:295
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 "'%s' dans l'arbre de travail principal n'est pas le répertoire de dépôt"
 
-#: worktree.c:302
+#: worktree.c:306
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "le fichier '%s' ne contient pas de chemin absolu à l'emplacement de l'arbre "
 "de travail"
 
-#: worktree.c:314
+#: worktree.c:318
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' n'existe pas"
 
-#: worktree.c:320
+#: worktree.c:324
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' n'est pas un fichier .git, code d'erreur %d"
 
-#: worktree.c:328
+#: worktree.c:332
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' ne pointe pas en retour sur '%s'"
@@ -6236,12 +6778,6 @@
 msgid "could not open '%s' for reading and writing"
 msgstr "impossible d'ouvrir '%s' en lecture/écriture"
 
-#: wrapper.c:227 wrapper.c:397 builtin/am.c:321 builtin/am.c:771
-#: builtin/am.c:863 builtin/merge.c:1078
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr "impossible d'ouvrir '%s' en lecture"
-
 #: wrapper.c:424 wrapper.c:624
 #, c-format
 msgid "unable to access '%s'"
@@ -6278,11 +6814,11 @@
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git rm <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:202 wt-status.c:1015
+#: wt-status.c:202 wt-status.c:1042
 msgid "Changes to be committed:"
 msgstr "Modifications qui seront validées :"
 
-#: wt-status.c:220 wt-status.c:1024
+#: wt-status.c:220 wt-status.c:1051
 msgid "Changes not staged for commit:"
 msgstr "Modifications qui ne seront pas validées :"
 
@@ -6387,22 +6923,22 @@
 msgid "untracked content, "
 msgstr "contenu non suivi, "
 
-#: wt-status.c:853
+#: wt-status.c:880
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Votre remisage contient actuellement %d entrée"
 msgstr[1] "Votre remisage contient actuellement %d entrées"
 
-#: wt-status.c:885
+#: wt-status.c:912
 msgid "Submodules changed but not updated:"
 msgstr "Sous-modules modifiés mais non mis à jour :"
 
-#: wt-status.c:887
+#: wt-status.c:914
 msgid "Submodule changes to be committed:"
 msgstr "Changements du sous-module à valider :"
 
-#: wt-status.c:969
+#: wt-status.c:996
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -6410,107 +6946,107 @@
 "Ne touchez pas à la ligne ci-dessus.\n"
 "Tout ce qui suit sera éliminé."
 
-#: wt-status.c:1084
+#: wt-status.c:1097
 msgid "You have unmerged paths."
 msgstr "Vous avez des chemins non fusionnés."
 
-#: wt-status.c:1087
+#: wt-status.c:1100
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (réglez les conflits puis lancez \"git commit\")"
 
-#: wt-status.c:1089
+#: wt-status.c:1102
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (utilisez \"git merge --abort\" pour annuler la fusion)"
 
-#: wt-status.c:1094
+#: wt-status.c:1106
 msgid "All conflicts fixed but you are still merging."
 msgstr "Tous les conflits sont réglés mais la fusion n'est pas terminée."
 
-#: wt-status.c:1097
+#: wt-status.c:1109
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (utilisez \"git commit\" pour terminer la fusion)"
 
-#: wt-status.c:1107
+#: wt-status.c:1118
 msgid "You are in the middle of an am session."
 msgstr "Vous êtes au milieu d'une session am."
 
-#: wt-status.c:1110
+#: wt-status.c:1121
 msgid "The current patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: wt-status.c:1114
+#: wt-status.c:1125
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git am --continue\")"
 
-#: wt-status.c:1116
+#: wt-status.c:1127
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1118
+#: wt-status.c:1129
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1250
+#: wt-status.c:1260
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo est manquant."
 
-#: wt-status.c:1252
+#: wt-status.c:1262
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1255
+#: wt-status.c:1265
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Dernière commande effectuée (%d commande effectuée) :"
 msgstr[1] "Dernières commandes effectuées (%d commandes effectuées) :"
 
-#: wt-status.c:1266
+#: wt-status.c:1276
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1271
+#: wt-status.c:1281
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1274
+#: wt-status.c:1284
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Prochaine commande à effectuer (%d commande restante) :"
 msgstr[1] "Prochaines commandes à effectuer (%d commandes restantes) :"
 
-#: wt-status.c:1282
+#: wt-status.c:1292
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1295
+#: wt-status.c:1304
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Vous êtes en train de rebaser la branche '%s' sur '%s'."
 
-#: wt-status.c:1300
+#: wt-status.c:1309
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1314
+#: wt-status.c:1322
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1316
+#: wt-status.c:1324
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1318
+#: wt-status.c:1326
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (utilisez \"git rebase --abort\" pour extraire la branche d'origine)"
 
-#: wt-status.c:1324
+#: wt-status.c:1333
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1328
+#: wt-status.c:1337
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -6518,128 +7054,128 @@
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1333
+#: wt-status.c:1342
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage."
 
-#: wt-status.c:1336
+#: wt-status.c:1345
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Une fois la copie de travail nettoyée, lancez \"git rebase --continue\")"
 
-#: wt-status.c:1340
+#: wt-status.c:1349
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Vous êtes actuellement en train d'éditer un commit pendant un rebasage de la "
 "branche '%s' sur '%s'."
 
-#: wt-status.c:1345
+#: wt-status.c:1354
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 "Vous êtes actuellement en train d'éditer un commit pendant un rebasage."
 
-#: wt-status.c:1348
+#: wt-status.c:1357
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1350
+#: wt-status.c:1359
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (utilisez \"git rebase --continue\" quand vous avez effectué toutes vos "
 "modifications)"
 
-#: wt-status.c:1360
+#: wt-status.c:1368
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1365
+#: wt-status.c:1373
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1368
+#: wt-status.c:1376
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1370
+#: wt-status.c:1378
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (utilisez \"git cherry-pick --abort\" pour annuler le picorage)"
 
-#: wt-status.c:1379
+#: wt-status.c:1386
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1384
+#: wt-status.c:1391
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1387
+#: wt-status.c:1394
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1389
+#: wt-status.c:1396
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1400
+#: wt-status.c:1406
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Vous êtes en cours de bissection, depuis la branche '%s'."
 
-#: wt-status.c:1404
+#: wt-status.c:1410
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1407
+#: wt-status.c:1413
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (utilisez \"git bisect reset\" pour revenir à la branche d'origine)"
 
-#: wt-status.c:1604
+#: wt-status.c:1611
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1610
+#: wt-status.c:1618
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1612
+#: wt-status.c:1620
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1617
+#: wt-status.c:1625
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.c:1619
+#: wt-status.c:1627
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
-#: wt-status.c:1622
+#: wt-status.c:1630
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1642
+#: wt-status.c:1647
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1643
+#: wt-status.c:1648
 msgid "No commits yet"
 msgstr "Aucun commit"
 
-#: wt-status.c:1657
+#: wt-status.c:1662
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1659
+#: wt-status.c:1664
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1663
+#: wt-status.c:1668
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -6651,32 +7187,32 @@
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1669
+#: wt-status.c:1674
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1671
+#: wt-status.c:1676
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1677
+#: wt-status.c:1682
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1682
+#: wt-status.c:1687
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "aucune modification n'a été ajoutée à la validation (utilisez \"git add\" ou "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1685
+#: wt-status.c:1690
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1688
+#: wt-status.c:1693
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -6685,75 +7221,70 @@
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents (utilisez \"git add\" pour les suivre)\n"
 
-#: wt-status.c:1691
+#: wt-status.c:1696
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents\n"
 
-#: wt-status.c:1694
+#: wt-status.c:1699
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "rien à valider (créez/copiez des fichiers et utilisez \"git add\" pour les "
 "suivre)\n"
 
-#: wt-status.c:1697 wt-status.c:1702
+#: wt-status.c:1702 wt-status.c:1707
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1700
+#: wt-status.c:1705
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "rien à valider (utilisez -u pour afficher les fichiers non suivis)\n"
 
-#: wt-status.c:1704
+#: wt-status.c:1709
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1817
+#: wt-status.c:1822
 msgid "No commits yet on "
 msgstr "Encore aucun commit sur "
 
-#: wt-status.c:1821
+#: wt-status.c:1826
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-#: wt-status.c:1852
+#: wt-status.c:1857
 msgid "different"
 msgstr "différent"
 
-#: wt-status.c:1854 wt-status.c:1862
+#: wt-status.c:1859 wt-status.c:1867
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1857 wt-status.c:1860
+#: wt-status.c:1862 wt-status.c:1865
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2376
+#: wt-status.c:2374
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2382
+#: wt-status.c:2380
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2384
+#: wt-status.c:2382
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:443
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "échec lors de l'unlink de '%s'"
-
 #: builtin/add.c:24
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<options>] [--] <chemin>..."
@@ -6763,7 +7294,7 @@
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
 
-#: builtin/add.c:88 builtin/commit.c:279
+#: builtin/add.c:88 builtin/commit.c:284
 msgid "updating files failed"
 msgstr "échec de la mise à jour des fichiers"
 
@@ -6776,7 +7307,7 @@
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:233 builtin/rev-parse.c:893
+#: builtin/add.c:233 builtin/rev-parse.c:895
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
@@ -6812,9 +7343,9 @@
 msgstr ""
 "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n"
 
-#: builtin/add.c:289 builtin/clean.c:906 builtin/fetch.c:134 builtin/mv.c:123
-#: builtin/prune-packed.c:56 builtin/pull.c:212 builtin/push.c:557
-#: builtin/remote.c:1344 builtin/rm.c:240 builtin/send-pack.c:165
+#: builtin/add.c:289 builtin/clean.c:907 builtin/fetch.c:137 builtin/mv.c:123
+#: builtin/prune-packed.c:56 builtin/pull.c:213 builtin/push.c:557
+#: builtin/remote.c:1345 builtin/rm.c:240 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "simuler l'action"
 
@@ -6822,7 +7353,7 @@
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:293 builtin/checkout.c:1144 builtin/reset.c:302
+#: builtin/add.c:293 builtin/checkout.c:1258 builtin/reset.c:305
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
@@ -6870,7 +7401,7 @@
 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:308 builtin/update-index.c:973
+#: builtin/add.c:308 builtin/update-index.c:990
 msgid "override the executable bit of the listed files"
 msgstr "outrepasser le bit exécutable pour les fichiers listés"
 
@@ -6947,117 +7478,114 @@
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Vous vouliez sûrement dire 'git add .' ?\n"
 
-#: builtin/add.c:449 builtin/check-ignore.c:177 builtin/checkout.c:282
-#: builtin/checkout.c:485 builtin/clean.c:953 builtin/commit.c:338
-#: builtin/diff-tree.c:115 builtin/grep.c:492 builtin/mv.c:144
-#: builtin/reset.c:241 builtin/rm.c:270 builtin/submodule--helper.c:329
-msgid "index file corrupt"
-msgstr "fichier d'index corrompu"
-
-#: builtin/am.c:415
+#: builtin/am.c:363
 msgid "could not parse author script"
 msgstr "impossible d'analyser le script author"
 
-#: builtin/am.c:499
+#: builtin/am.c:447
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' a été effacé par le crochet applypatch-msg"
 
-#: builtin/am.c:540
+#: builtin/am.c:488
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Ligne en entrée malformée : '%s'."
 
-#: builtin/am.c:577
+#: builtin/am.c:525
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Impossible de copier les notes de '%s' vers '%s'"
 
-#: builtin/am.c:603
+#: builtin/am.c:551
 msgid "fseek failed"
 msgstr "échec de fseek"
 
-#: builtin/am.c:791
+#: builtin/am.c:739
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "impossible d'analyser le patch '%s'"
 
-#: builtin/am.c:856
+#: builtin/am.c:804
 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:904
+#: builtin/am.c:852
 msgid "invalid timestamp"
 msgstr "horodatage invalide"
 
-#: builtin/am.c:909 builtin/am.c:921
+#: builtin/am.c:857 builtin/am.c:869
 msgid "invalid Date line"
 msgstr "ligne de Date invalide"
 
-#: builtin/am.c:916
+#: builtin/am.c:864
 msgid "invalid timezone offset"
 msgstr "décalage horaire invalide"
 
-#: builtin/am.c:1009
+#: builtin/am.c:957
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:1014 builtin/clone.c:408
+#: builtin/am.c:962 builtin/clone.c:408
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
 
-#: builtin/am.c:1019
+#: builtin/am.c:967
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1149 builtin/commit.c:364
+#: builtin/am.c:1097 builtin/commit.c:369
 msgid "unable to write index file"
 msgstr "impossible d'écrire le fichier d'index"
 
-#: builtin/am.c:1163
+#: builtin/am.c:1111
 #, 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:1164
+#: builtin/am.c:1112
 #, 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:1165
+#: builtin/am.c:1113
 #, 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:1272
+#: builtin/am.c:1196
+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:1224
 msgid "Patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: builtin/am.c:1338
+#: builtin/am.c:1290
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "ligne d'identification invalide : %.*s"
 
-#: builtin/am.c:1360
+#: builtin/am.c:1312
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: builtin/am.c:1556
+#: builtin/am.c:1508
 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:1558
+#: builtin/am.c:1510
 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:1577
+#: builtin/am.c:1529
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -7065,29 +7593,29 @@
 "Avez-vous édité le patch à la main ?\n"
 "Il ne s'applique pas aux blobs enregistrés dans son index."
 
-#: builtin/am.c:1583
+#: builtin/am.c:1535
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1608
+#: builtin/am.c:1561
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1640
+#: builtin/am.c:1593
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1686 builtin/am.c:1690
+#: builtin/am.c:1639 builtin/am.c:1643
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1706
+#: builtin/am.c:1659
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "impossible d'être interactif sans entrée standard connectée à un terminal."
 
-#: builtin/am.c:1711
+#: builtin/am.c:1664
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -7095,35 +7623,35 @@
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1721
+#: builtin/am.c:1674
 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:1771
+#: builtin/am.c:1724
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1811 builtin/am.c:1879
+#: builtin/am.c:1764 builtin/am.c:1832
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1828
+#: builtin/am.c:1781
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1834
+#: builtin/am.c:1787
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "le patch a échoué à %s %.*s"
 
-#: builtin/am.c:1838
+#: builtin/am.c:1791
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr ""
 "Utilisez 'git am --show-current-patch' pour visualiser le patch en échec"
 
-#: builtin/am.c:1882
+#: builtin/am.c:1835
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -7134,7 +7662,7 @@
 "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
 "patch."
 
-#: builtin/am.c:1889
+#: builtin/am.c:1842
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -7147,17 +7675,17 @@
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: builtin/am.c:1996 builtin/am.c:2000 builtin/am.c:2012 builtin/reset.c:324
-#: builtin/reset.c:332
+#: builtin/am.c:1949 builtin/am.c:1953 builtin/am.c:1965 builtin/reset.c:328
+#: builtin/reset.c:336
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:2048
+#: builtin/am.c:2001
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'index"
 
-#: builtin/am.c:2083
+#: builtin/am.c:2036
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -7165,144 +7693,145 @@
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2174
+#: builtin/am.c:2129
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2210
+#: builtin/am.c:2165
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2211
+#: builtin/am.c:2166
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<options>] (--continue | --quit | --abort)"
 
-#: builtin/am.c:2217
+#: builtin/am.c:2172
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2219
+#: builtin/am.c:2174
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2221
+#: builtin/am.c:2176
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: builtin/am.c:2222 builtin/init-db.c:485 builtin/prune-packed.c:58
-#: builtin/repack.c:299
+#: builtin/am.c:2177 builtin/init-db.c:486 builtin/prune-packed.c:58
+#: builtin/repack.c:306
 msgid "be quiet"
 msgstr "être silencieux"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2179
 msgid "add a Signed-off-by line to the commit message"
 msgstr "ajouter une ligne Signed-off-by au message de validation"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2182
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2184
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2231
+#: builtin/am.c:2186
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2233
+#: builtin/am.c:2188
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2235
+#: builtin/am.c:2190
 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:2238
+#: builtin/am.c:2193
 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:2241
+#: builtin/am.c:2196
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: builtin/am.c:2243 builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252
-#: builtin/am.c:2255 builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264
-#: builtin/am.c:2270
+#: builtin/am.c:2198 builtin/am.c:2201 builtin/am.c:2204 builtin/am.c:2207
+#: builtin/am.c:2210 builtin/am.c:2213 builtin/am.c:2216 builtin/am.c:2219
+#: builtin/am.c:2225
 msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:670
-#: builtin/fmt-merge-msg.c:673 builtin/grep.c:857 builtin/merge.c:237
-#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:308
-#: builtin/repack.c:312 builtin/repack.c:314 builtin/show-branch.c:650
-#: builtin/show-ref.c:170 builtin/tag.c:384 parse-options.h:144
-#: parse-options.h:146 parse-options.h:258
+#: builtin/am.c:2215 builtin/commit.c:1340 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:868 builtin/merge.c:239
+#: builtin/pull.c:151 builtin/pull.c:209 builtin/rebase.c:836
+#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
+#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386
+#: parse-options.h:144 parse-options.h:146 parse-options.h:268
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2266 builtin/branch.c:651 builtin/for-each-ref.c:38
-#: builtin/replace.c:543 builtin/tag.c:420 builtin/verify-tag.c:39
+#: builtin/am.c:2221 builtin/branch.c:637 builtin/for-each-ref.c:38
+#: builtin/replace.c:543 builtin/tag.c:422 builtin/verify-tag.c:39
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2267
+#: builtin/am.c:2222
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2273
+#: builtin/am.c:2228
 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:2275
+#: builtin/am.c:2230
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2233
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2236
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2239
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "restaurer la branche originale et abandonner les applications de patch."
 
-#: builtin/am.c:2287
+#: builtin/am.c:2242
 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:2290
+#: builtin/am.c:2245
 msgid "show the patch being applied."
 msgstr "afficher le patch en cours d'application."
 
-#: builtin/am.c:2294
+#: builtin/am.c:2249
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2251
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:271
-#: builtin/pull.c:183 builtin/revert.c:113 builtin/tag.c:400
+#: builtin/am.c:2253 builtin/commit.c:1483 builtin/merge.c:273
+#: builtin/pull.c:184 builtin/rebase.c:880 builtin/rebase--interactive.c:183
+#: builtin/revert.c:113 builtin/tag.c:402
 msgid "key-id"
 msgstr "id-clé"
 
-#: builtin/am.c:2299
+#: builtin/am.c:2254 builtin/rebase.c:881 builtin/rebase--interactive.c:184
 msgid "GPG-sign commits"
 msgstr "signer les commits avec GPG"
 
-#: builtin/am.c:2302
+#: builtin/am.c:2257
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2320
+#: builtin/am.c:2275
 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."
@@ -7310,17 +7839,17 @@
 "L'option -b/--binary ne fait plus rien depuis longtemps,\n"
 "et elle sera supprimée. Veuillez ne plus l'utiliser."
 
-#: builtin/am.c:2327
+#: builtin/am.c:2282
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2342
+#: builtin/am.c:2297
 #, 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:2366
+#: builtin/am.c:2321
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -7329,7 +7858,7 @@
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2372
+#: builtin/am.c:2327
 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 "
@@ -7458,122 +7987,122 @@
 msgid "invalid value for blame.coloring"
 msgstr "valeur invalide pour blame.coloring"
 
-#: builtin/blame.c:789
+#: builtin/blame.c:793
 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:790
+#: builtin/blame.c:794
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "Montrer un SHA-1 blanc pour les commits de limite (Défaut : désactivé)"
 
-#: builtin/blame.c:791
+#: builtin/blame.c:795
 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:792
+#: builtin/blame.c:796
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:797
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:798
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:795
+#: builtin/blame.c:799
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:796
+#: builtin/blame.c:800
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:797
+#: builtin/blame.c:801
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:802
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:803
 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:800
+#: builtin/blame.c:804
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:805
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:806
 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:803
+#: builtin/blame.c:807
 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:804
+#: builtin/blame.c:808
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:805
+#: builtin/blame.c:809
 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:806
+#: builtin/blame.c:810
 msgid "color lines by age"
 msgstr "colorier les lignes par âge"
 
-#: builtin/blame.c:813
+#: builtin/blame.c:817
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:815
+#: builtin/blame.c:819
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:816
+#: builtin/blame.c:820
 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:817
+#: builtin/blame.c:821
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:818 builtin/blame.c:819
+#: builtin/blame.c:822 builtin/blame.c:823
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:818
+#: builtin/blame.c:822
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:819
+#: builtin/blame.c:823
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:824
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:824
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de ligne n,m en commençant le compte à 1"
 
-#: builtin/blame.c:869
+#: builtin/blame.c:873
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -7587,48 +8116,48 @@
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:920
+#: builtin/blame.c:924
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:1007
+#: builtin/blame.c:1011
 #, 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:1053
+#: builtin/blame.c:1057
 msgid "Blaming lines"
 msgstr "Assignation de blâme aux lignes"
 
-#: builtin/branch.c:28
+#: builtin/branch.c:29
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:29
+#: builtin/branch.c:30
 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
 msgstr "git branch [<options] [-l] [-f] <nom-de-branche> [<point-de-départ>]"
 
-#: builtin/branch.c:30
+#: builtin/branch.c:31
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<options>] [-r] (-d | -D) <nom-de-branche>..."
 
-#: builtin/branch.c:31
+#: builtin/branch.c:32
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr ""
 "git branch [<options>] (-m | -M) [<ancienne-branche>] <nouvelle-branche>"
 
-#: builtin/branch.c:32
+#: builtin/branch.c:33
 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
 msgstr ""
 "git branch [<options>] (-c | -C) [<ancienne-branche>] <nouvelle-branche>"
 
-#: builtin/branch.c:33
+#: builtin/branch.c:34
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<options>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:34
+#: builtin/branch.c:35
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<options>] [-r | -a] [--format]"
 
@@ -7784,190 +8313,186 @@
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:594
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:596
 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:605
+#: builtin/branch.c:597
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:606
+#: builtin/branch.c:598
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:608
+#: builtin/branch.c:600
 msgid "do not use"
 msgstr "ne pas utiliser"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:602 builtin/rebase--interactive.c:180
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:602
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:603
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:604
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:605
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:615 builtin/branch.c:617
+#: builtin/branch.c:607 builtin/branch.c:609
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:616 builtin/branch.c:618
+#: builtin/branch.c:608 builtin/branch.c:610
 msgid "print only branches that don't contain the commit"
 msgstr "afficher seulement les branches qui ne contiennent pas le commit"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:613
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:614
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:624
+#: builtin/branch.c:616
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:617
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:618
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:619
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:628
+#: builtin/branch.c:620
 msgid "copy a branch and its reflog"
 msgstr "copier une branche et son reflog"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:621
 msgid "copy a branch, even if target exists"
 msgstr "copier une branche, même si la cible existe"
 
-#: builtin/branch.c:630
+#: builtin/branch.c:622
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:623
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:634
-msgid "deprecated synonym for --create-reflog"
-msgstr "synonyme déconseillé de --create-reflog"
-
-#: builtin/branch.c:639
+#: builtin/branch.c:625
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:626
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:641
+#: builtin/branch.c:627
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:628
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:629
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:644 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:413
+#: builtin/branch.c:630 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
+#: builtin/tag.c:415
 msgid "key"
 msgstr "clé"
 
-#: builtin/branch.c:645 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:414
+#: builtin/branch.c:631 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
+#: builtin/tag.c:416
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
-#: builtin/branch.c:647 builtin/for-each-ref.c:43 builtin/notes.c:410
-#: builtin/notes.c:413 builtin/notes.c:573 builtin/notes.c:576
-#: builtin/tag.c:416
+#: builtin/branch.c:633 builtin/for-each-ref.c:43 builtin/notes.c:415
+#: builtin/notes.c:418 builtin/notes.c:578 builtin/notes.c:581
+#: builtin/tag.c:418
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:634
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:650 builtin/for-each-ref.c:49 builtin/tag.c:423
+#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:651 builtin/for-each-ref.c:38 builtin/tag.c:421
+#: builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/tag.c:423
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: builtin/branch.c:674 builtin/clone.c:739
+#: builtin/branch.c:660 builtin/clone.c:739
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:697
+#: builtin/branch.c:683
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:717 builtin/branch.c:769 builtin/branch.c:778
+#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:745
+#: builtin/branch.c:725
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:750
+#: builtin/branch.c:730
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:737
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:760
+#: builtin/branch.c:740
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:775
+#: builtin/branch.c:755
 msgid "too many branches for a copy operation"
 msgstr "trop de branches pour une opération de copie"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:764
 msgid "too many arguments for a rename operation"
 msgstr "trop d'arguments pour une opération de renommage"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:769
 msgid "too many arguments to set new upstream"
 msgstr "trop d'arguments pour spécifier une branche amont"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:773
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -7975,37 +8500,37 @@
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:796 builtin/branch.c:818 builtin/branch.c:834
+#: builtin/branch.c:776 builtin/branch.c:798
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:800
+#: builtin/branch.c:780
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:812
+#: builtin/branch.c:792
 msgid "too many arguments to unset upstream"
 msgstr "trop d'arguments pour désactiver un amont"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:796
 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:822
+#: builtin/branch.c:802
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:837
+#: builtin/branch.c:812
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:815
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -8026,7 +8551,7 @@
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
-#: builtin/cat-file.c:577
+#: builtin/cat-file.c:587
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -8034,7 +8559,7 @@
 "git cat-file (-t [--allow-unknow-type] | -s [--allow-unknow-type] | -e | -p "
 "| <type> | --textconv | --filters) [--path=<chemin>] <objet>"
 
-#: builtin/cat-file.c:578
+#: builtin/cat-file.c:588
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -8042,70 +8567,74 @@
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:609
+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:627
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<type> peut être : blob, tree, commit ou tag"
 
-#: builtin/cat-file.c:616
+#: builtin/cat-file.c:628
 msgid "show object type"
 msgstr "afficher le type de l'objet"
 
-#: builtin/cat-file.c:617
+#: builtin/cat-file.c:629
 msgid "show object size"
 msgstr "afficher la taille de l'objet"
 
-#: builtin/cat-file.c:619
+#: builtin/cat-file.c:631
 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:620
+#: builtin/cat-file.c:632
 msgid "pretty-print object's content"
 msgstr "afficher avec mise en forme le contenu de l'objet"
 
-#: builtin/cat-file.c:622
+#: builtin/cat-file.c:634
 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:624
+#: builtin/cat-file.c:636
 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:625 git-submodule.sh:864
+#: builtin/cat-file.c:637 git-submodule.sh:857
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:626
+#: builtin/cat-file.c:638
 msgid "use a specific path for --textconv/--filters"
 msgstr "utiliser un chemin spécifique pour --textconv/--filters"
 
-#: builtin/cat-file.c:628
+#: builtin/cat-file.c:640
 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:629
+#: builtin/cat-file.c:641
 msgid "buffer --batch output"
 msgstr "bufferiser la sortie de --batch"
 
-#: builtin/cat-file.c:631
+#: builtin/cat-file.c:643
 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:634
+#: builtin/cat-file.c:647
 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:637
+#: builtin/cat-file.c:651
 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:639
+#: builtin/cat-file.c:653
 msgid "show all objects with --batch or --batch-check"
 msgstr "montrer tous les objets avec --batch ou --batch-check"
 
-#: builtin/cat-file.c:641
+#: builtin/cat-file.c:655
 msgid "do not order --batch-all-objects output"
 msgstr "ne pas ordonner la sortie de --batch-all-objects"
 
@@ -8134,8 +8663,8 @@
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:20 builtin/checkout.c:1120 builtin/gc.c:503
-#: builtin/worktree.c:447
+#: builtin/check-ignore.c:20 builtin/checkout.c:1234 builtin/gc.c:517
+#: builtin/worktree.c:495
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -8192,164 +8721,164 @@
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<options>] [--] [<fichier>...]"
 
-#: builtin/checkout-index.c:143
+#: builtin/checkout-index.c:145
 msgid "stage should be between 1 and 3 or all"
 msgstr "stage doit valoir entre 1 et 3, ou all"
 
-#: builtin/checkout-index.c:159
+#: builtin/checkout-index.c:161
 msgid "check out all files in the index"
 msgstr "extraire tous les fichiers présents dans l'index"
 
-#: builtin/checkout-index.c:160
+#: builtin/checkout-index.c:162
 msgid "force overwrite of existing files"
 msgstr "forcer l'écrasement des fichiers existants"
 
-#: builtin/checkout-index.c:162
+#: builtin/checkout-index.c:164
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "pas d'avertissement pour les fichiers existants et les fichiers absents de "
 "l'index"
 
-#: builtin/checkout-index.c:164
+#: builtin/checkout-index.c:166
 msgid "don't checkout new files"
 msgstr "ne pas extraire les nouveaux fichiers"
 
-#: builtin/checkout-index.c:166
+#: builtin/checkout-index.c:168
 msgid "update stat information in the index file"
 msgstr "mettre à jour l'information de stat dans le fichier d'index"
 
-#: builtin/checkout-index.c:170
+#: builtin/checkout-index.c:172
 msgid "read list of paths from the standard input"
 msgstr "lire la liste des chemins depuis l'entrée standard"
 
-#: builtin/checkout-index.c:172
+#: builtin/checkout-index.c:174
 msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
-#: builtin/checkout-index.c:173 builtin/column.c:31
-#: builtin/submodule--helper.c:1361 builtin/submodule--helper.c:1364
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1736
-#: builtin/worktree.c:620
+#: builtin/checkout-index.c:175 builtin/column.c:31
+#: builtin/submodule--helper.c:1368 builtin/submodule--helper.c:1371
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1853
+#: builtin/worktree.c:668
 msgid "string"
 msgstr "chaîne"
 
-#: builtin/checkout-index.c:174
+#: builtin/checkout-index.c:176
 msgid "when creating files, prepend <string>"
 msgstr "lors de la création de fichiers, préfixer par <chaîne>"
 
-#: builtin/checkout-index.c:176
+#: builtin/checkout-index.c:178
 msgid "copy out the files from named stage"
 msgstr "copier les fichiers depuis l'index nommé"
 
-#: builtin/checkout.c:29
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<options>] <branche>"
 
-#: builtin/checkout.c:30
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
 
-#: builtin/checkout.c:138 builtin/checkout.c:171
+#: builtin/checkout.c:144 builtin/checkout.c:177
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
 
-#: builtin/checkout.c:140 builtin/checkout.c:173
+#: builtin/checkout.c:146 builtin/checkout.c:179
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:156
+#: builtin/checkout.c:162
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "le chemin '%s' n'a aucune des versions nécessaires"
 
-#: builtin/checkout.c:200
+#: builtin/checkout.c:206
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:217
+#: builtin/checkout.c:224
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
 
-#: builtin/checkout.c:233
+#: builtin/checkout.c:240
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Impossible d'ajouter le résultat de fusion pour '%s'"
 
-#: builtin/checkout.c:255 builtin/checkout.c:258 builtin/checkout.c:261
-#: builtin/checkout.c:264
+#: builtin/checkout.c:262 builtin/checkout.c:265 builtin/checkout.c:268
+#: builtin/checkout.c:271
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' ne peut pas être utilisé avec des mises à jour de chemins"
 
-#: builtin/checkout.c:267 builtin/checkout.c:270
+#: builtin/checkout.c:274 builtin/checkout.c:277
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:273
+#: builtin/checkout.c:280
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en "
 "même temps."
 
-#: builtin/checkout.c:342 builtin/checkout.c:349
+#: builtin/checkout.c:349 builtin/checkout.c:356
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:508
+#: builtin/checkout.c:608
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:645
+#: builtin/checkout.c:745
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:686
+#: builtin/checkout.c:786
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:690 builtin/clone.c:692
+#: builtin/checkout.c:790 builtin/clone.c:692
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:694
+#: builtin/checkout.c:794
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:697
+#: builtin/checkout.c:797
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:701
+#: builtin/checkout.c:801
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:703 builtin/checkout.c:1052
+#: builtin/checkout.c:803 builtin/checkout.c:1166
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:705
+#: builtin/checkout.c:805
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:756
+#: builtin/checkout.c:856
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:762
+#: builtin/checkout.c:862
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -8372,7 +8901,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:781
+#: builtin/checkout.c:881
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -8401,162 +8930,162 @@
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:813
+#: builtin/checkout.c:913
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:817
+#: builtin/checkout.c:917
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:845 builtin/checkout.c:1047
+#: builtin/checkout.c:945 builtin/checkout.c:1161
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:952
+#: builtin/checkout.c:1066
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:993 builtin/worktree.c:241 builtin/worktree.c:396
+#: builtin/checkout.c:1107 builtin/worktree.c:289 builtin/worktree.c:444
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1022
+#: builtin/checkout.c:1136
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1061
+#: builtin/checkout.c:1175
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1064 builtin/checkout.c:1068
+#: builtin/checkout.c:1178 builtin/checkout.c:1182
 #, 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:1072 builtin/checkout.c:1075 builtin/checkout.c:1080
-#: builtin/checkout.c:1083
+#: builtin/checkout.c:1186 builtin/checkout.c:1189 builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1088
+#: builtin/checkout.c:1202
 #, 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:1121 builtin/checkout.c:1123 builtin/clone.c:119
-#: builtin/remote.c:168 builtin/remote.c:170 builtin/worktree.c:440
-#: builtin/worktree.c:442
+#: builtin/checkout.c:1235 builtin/checkout.c:1237 builtin/clone.c:119
+#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:488
+#: builtin/worktree.c:490
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1236
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1124
+#: builtin/checkout.c:1238
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1125
+#: builtin/checkout.c:1239
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1126 builtin/worktree.c:444
+#: builtin/checkout.c:1240 builtin/worktree.c:492
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1127
+#: builtin/checkout.c:1241
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1129
+#: builtin/checkout.c:1243
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1129
+#: builtin/checkout.c:1243
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1131
+#: builtin/checkout.c:1245
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1134
+#: builtin/checkout.c:1248
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1250
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1252
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1140 builtin/merge.c:273
+#: builtin/checkout.c:1254 builtin/merge.c:275
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1142 builtin/log.c:1510 parse-options.h:264
+#: builtin/checkout.c:1256 builtin/log.c:1573 parse-options.h:274
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1257
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1260
 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:1148
+#: builtin/checkout.c:1262
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "réessayer d'interpréter 'git checkout <branche-inexistante>'"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1264
 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:1154 builtin/clone.c:86 builtin/fetch.c:138
-#: builtin/merge.c:270 builtin/pull.c:128 builtin/push.c:572
+#: builtin/checkout.c:1268 builtin/clone.c:86 builtin/fetch.c:141
+#: builtin/merge.c:272 builtin/pull.c:129 builtin/push.c:572
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1184
+#: builtin/checkout.c:1298
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1201
+#: builtin/checkout.c:1315
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1206
+#: builtin/checkout.c:1320
 msgid "missing branch name; try -b"
 msgstr "nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1243
+#: builtin/checkout.c:1357
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1250
+#: builtin/checkout.c:1364
 #, 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:1254
+#: builtin/checkout.c:1368
 #, 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:1258
+#: builtin/checkout.c:1372
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -8564,7 +9093,7 @@
 "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n"
 "de l'extraction de l'index."
 
-#: builtin/checkout.c:1278
+#: builtin/checkout.c:1392
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -8624,7 +9153,7 @@
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:297 git-add--interactive.perl:579
+#: builtin/clean.c:298 git-add--interactive.perl:579
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -8637,7 +9166,7 @@
 "foo         - sélectionner un élément par un préfixe unique\n"
 "            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:301 git-add--interactive.perl:588
+#: builtin/clean.c:302 git-add--interactive.perl:588
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -8658,38 +9187,38 @@
 "*          - choisir tous les éléments\n"
 "           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:517 git-add--interactive.perl:554
+#: builtin/clean.c:518 git-add--interactive.perl:554
 #: git-add--interactive.perl:559
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hein (%s) ?\n"
 
-#: builtin/clean.c:659
+#: builtin/clean.c:660
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Entrez les motifs à ignorer>> "
 
-#: builtin/clean.c:696
+#: builtin/clean.c:697
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s"
 
-#: builtin/clean.c:717
+#: builtin/clean.c:718
 msgid "Select items to delete"
 msgstr "Sélectionner les éléments à supprimer"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:758
+#: builtin/clean.c:759
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:783 git-add--interactive.perl:1717
+#: builtin/clean.c:784 git-add--interactive.perl:1717
 #, c-format
 msgid "Bye.\n"
 msgstr "Au revoir.\n"
 
-#: builtin/clean.c:791
+#: builtin/clean.c:792
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -8707,64 +9236,64 @@
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:818 git-add--interactive.perl:1793
+#: builtin/clean.c:819 git-add--interactive.perl:1793
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: builtin/clean.c:819 git-add--interactive.perl:1790
+#: builtin/clean.c:820 git-add--interactive.perl:1790
 msgid "What now"
 msgstr "Et maintenant ?"
 
-#: builtin/clean.c:827
+#: builtin/clean.c:828
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Supprimerait l'élément suivant :"
 msgstr[1] "Supprimerait les éléments suivants :"
 
-#: builtin/clean.c:843
+#: builtin/clean.c:844
 msgid "No more files to clean, exiting."
 msgstr "Plus de fichier à nettoyer, sortie."
 
-#: builtin/clean.c:905
+#: builtin/clean.c:906
 msgid "do not print names of files removed"
 msgstr "ne pas afficher les noms des fichiers supprimés"
 
-#: builtin/clean.c:907
+#: builtin/clean.c:908
 msgid "force"
 msgstr "forcer"
 
-#: builtin/clean.c:908
+#: builtin/clean.c:909
 msgid "interactive cleaning"
 msgstr "nettoyage interactif"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:911 builtin/describe.c:545 builtin/describe.c:547
-#: builtin/grep.c:875 builtin/log.c:161 builtin/log.c:163
-#: builtin/ls-files.c:549 builtin/name-rev.c:415 builtin/name-rev.c:417
-#: builtin/show-ref.c:177
+#: builtin/clean.c:912 builtin/describe.c:545 builtin/describe.c:547
+#: builtin/grep.c:886 builtin/log.c:166 builtin/log.c:168
+#: builtin/ls-files.c:556 builtin/name-rev.c:415 builtin/name-rev.c:417
+#: builtin/show-ref.c:178
 msgid "pattern"
 msgstr "motif"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:913
 msgid "add <pattern> to ignore rules"
 msgstr "ajouter <motif> aux règles ignore"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:914
 msgid "remove ignored files, too"
 msgstr "supprimer les fichiers ignorés, aussi"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "remove only ignored files"
 msgstr "supprimer seulement les fichiers ignorés"
 
-#: builtin/clean.c:933
+#: builtin/clean.c:934
 msgid "-x and -X cannot be used together"
 msgstr "-x et -X ne peuvent pas être utilisés ensemble"
 
-#: builtin/clean.c:937
+#: builtin/clean.c:938
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -8772,7 +9301,7 @@
 "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clean.c:940
+#: builtin/clean.c:941
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -8788,7 +9317,7 @@
 msgid "don't create a checkout"
 msgstr "ne pas créer d'extraction"
 
-#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:480
+#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:481
 msgid "create a bare repository"
 msgstr "créer un dépôt nu"
 
@@ -8820,26 +9349,26 @@
 msgid "number of submodules cloned in parallel"
 msgstr "nombre de sous-modules clonés en parallèle"
 
-#: builtin/clone.c:109 builtin/init-db.c:477
+#: builtin/clone.c:109 builtin/init-db.c:478
 msgid "template-directory"
 msgstr "répertoire-modèle"
 
-#: builtin/clone.c:110 builtin/init-db.c:478
+#: builtin/clone.c:110 builtin/init-db.c:479
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1368
-#: builtin/submodule--helper.c:1739
+#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1375
+#: builtin/submodule--helper.c:1856
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:116 builtin/submodule--helper.c:1370
-#: builtin/submodule--helper.c:1741
+#: builtin/clone.c:116 builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1858
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
-#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:44
-#: builtin/pack-objects.c:3191 builtin/repack.c:320
+#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3299 builtin/repack.c:329
 msgid "name"
 msgstr "nom"
 
@@ -8855,8 +9384,8 @@
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:123 builtin/fetch.c:139 builtin/grep.c:814
-#: builtin/pull.c:216
+#: builtin/clone.c:123 builtin/fetch.c:142 builtin/grep.c:825
+#: builtin/pull.c:217
 msgid "depth"
 msgstr "profondeur"
 
@@ -8864,8 +9393,7 @@
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:125 builtin/fetch.c:141 builtin/pack-objects.c:3182
-#: parse-options.h:154
+#: builtin/clone.c:125 builtin/fetch.c:144 builtin/pack-objects.c:3290
 msgid "time"
 msgstr "heure"
 
@@ -8873,11 +9401,12 @@
 msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
-#: builtin/clone.c:127 builtin/fetch.c:143 builtin/fetch.c:166
+#: builtin/clone.c:127 builtin/fetch.c:146 builtin/fetch.c:169
+#: builtin/rebase.c:813
 msgid "revision"
 msgstr "révision"
 
-#: builtin/clone.c:128 builtin/fetch.c:144
+#: builtin/clone.c:128 builtin/fetch.c:147
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
@@ -8896,11 +9425,11 @@
 msgid "any cloned submodules will be shallow"
 msgstr "tous les sous-modules clonés seront superficiels"
 
-#: builtin/clone.c:135 builtin/init-db.c:486
+#: builtin/clone.c:135 builtin/init-db.c:487
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:136 builtin/init-db.c:487
+#: builtin/clone.c:136 builtin/init-db.c:488
 msgid "separate git dir from working tree"
 msgstr "séparer le répertoire git de la copie de travail"
 
@@ -8912,12 +9441,12 @@
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:139 builtin/fetch.c:162 builtin/pull.c:229
+#: builtin/clone.c:139 builtin/fetch.c:165 builtin/pull.c:230
 #: builtin/push.c:583
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:141 builtin/fetch.c:164 builtin/pull.c:232
+#: builtin/clone.c:141 builtin/fetch.c:167 builtin/pull.c:233
 #: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
@@ -8950,6 +9479,11 @@
 msgid "failed to stat %s\n"
 msgstr "échec du stat de %s\n"
 
+#: builtin/clone.c:443
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "échec lors de l'unlink de '%s'"
+
 #: builtin/clone.c:448
 #, c-format
 msgid "failed to create link '%s'"
@@ -8991,82 +9525,82 @@
 "la HEAD distante réfère à une référence non existante, impossible de "
 "l'extraire.\n"
 
-#: builtin/clone.c:760
+#: builtin/clone.c:761
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:805
+#: builtin/clone.c:806
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:868
+#: builtin/clone.c:869
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:870
+#: builtin/clone.c:871
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de unlinker le fichier temporaire alternates"
 
-#: builtin/clone.c:910 builtin/receive-pack.c:1935
+#: builtin/clone.c:911 builtin/receive-pack.c:1941
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:914
+#: builtin/clone.c:915
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:927
+#: builtin/clone.c:928
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:930
+#: builtin/clone.c:931
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:943
+#: builtin/clone.c:944
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:949 builtin/fetch.c:1512
+#: builtin/clone.c:950 builtin/fetch.c:1606
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:959
+#: builtin/clone.c:960
 #, 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:969
+#: builtin/clone.c:970
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:271
-#: builtin/worktree.c:247 builtin/worktree.c:277
+#: builtin/clone.c:985 builtin/clone.c:1006 builtin/difftool.c:271
+#: builtin/worktree.c:295 builtin/worktree.c:325
 #, 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:989
+#: builtin/clone.c:990
 #, 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:1009
+#: builtin/clone.c:1010
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:1011
+#: builtin/clone.c:1012
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1035
+#: builtin/clone.c:1036
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -9074,41 +9608,41 @@
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1096
+#: builtin/clone.c:1097
 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:1098
+#: builtin/clone.c:1099
 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:1100
+#: builtin/clone.c:1101
 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:1102
+#: builtin/clone.c:1103
 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:1105
+#: builtin/clone.c:1106
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1110
+#: builtin/clone.c:1111
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1180 builtin/clone.c:1188
+#: builtin/clone.c:1181 builtin/clone.c:1189
 #, 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:1191
+#: builtin/clone.c:1192
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -9144,15 +9678,15 @@
 msgid "--command must be the first argument"
 msgstr "--command doit être le premier argument"
 
-#: builtin/commit.c:38
+#: builtin/commit.c:40
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<options>] [--] <spécification-de-chemin>..."
 
-#: builtin/commit.c:43
+#: builtin/commit.c:45
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<options>] [--] <spécification-de-chemin>..."
 
-#: builtin/commit.c:48
+#: builtin/commit.c:50
 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"
@@ -9163,7 +9697,7 @@
 "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:53
+#: builtin/commit.c:55
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -9178,11 +9712,11 @@
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:60
+#: builtin/commit.c:62
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "Sinon, veuillez utiliser 'git reset'\n"
 
-#: builtin/commit.c:63
+#: builtin/commit.c:65
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -9198,61 +9732,61 @@
 "Puis \"git cherry-pick --continue\" continuera le picorage \n"
 "des commits restants.\n"
 
-#: builtin/commit.c:306
+#: builtin/commit.c:311
 msgid "failed to unpack HEAD tree object"
 msgstr "échec du dépaquetage de l'objet arbre HEAD"
 
-#: builtin/commit.c:347
+#: builtin/commit.c:352
 msgid "unable to create temporary index"
 msgstr "impossible de créer l'index temporaire"
 
-#: builtin/commit.c:353
+#: builtin/commit.c:358
 msgid "interactive add failed"
 msgstr "échec de l'ajout interactif"
 
-#: builtin/commit.c:366
+#: builtin/commit.c:371
 msgid "unable to update temporary index"
 msgstr "impossible de mettre à jour l'index temporaire"
 
-#: builtin/commit.c:368
+#: builtin/commit.c:373
 msgid "Failed to update main cache tree"
 msgstr "Impossible de mettre à jour l'arbre de cache principal"
 
-#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:462
+#: builtin/commit.c:398 builtin/commit.c:421 builtin/commit.c:467
 msgid "unable to write new_index file"
 msgstr "impossible d'écrire le fichier new_index"
 
-#: builtin/commit.c:445
+#: builtin/commit.c:450
 msgid "cannot do a partial commit during a merge."
 msgstr "impossible de faire une validation partielle pendant une fusion."
 
-#: builtin/commit.c:447
+#: builtin/commit.c:452
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "impossible de faire une validation partielle pendant un picorage."
 
-#: builtin/commit.c:455
+#: builtin/commit.c:460
 msgid "cannot read the index"
 msgstr "impossible de lire l'index"
 
-#: builtin/commit.c:474
+#: builtin/commit.c:479
 msgid "unable to write temporary index file"
 msgstr "impossible d'écrire le fichier d'index temporaire"
 
-#: builtin/commit.c:571
+#: builtin/commit.c:577
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "entête d'auteur manquant dans le commit '%s'"
 
-#: builtin/commit.c:573
+#: builtin/commit.c:579
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "le commit '%s' a une ligne d'auteur malformée"
 
-#: builtin/commit.c:592
+#: builtin/commit.c:598
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:644
+#: builtin/commit.c:650
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -9260,38 +9794,38 @@
 "impossible de sélectionner un caractère de commentaire\n"
 "qui n'est pas utilisé dans le message de validation actuel"
 
-#: builtin/commit.c:681 builtin/commit.c:714 builtin/commit.c:1042
+#: builtin/commit.c:687 builtin/commit.c:720 builtin/commit.c:1049
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:693 builtin/shortlog.c:317
+#: builtin/commit.c:699 builtin/shortlog.c:317
 #, 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:695
+#: builtin/commit.c:701
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:699
+#: builtin/commit.c:705
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:728 builtin/commit.c:736
+#: builtin/commit.c:734 builtin/commit.c:742
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:733
+#: builtin/commit.c:739
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:787
+#: builtin/commit.c:793
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:805
+#: builtin/commit.c:811
 #, c-format
 msgid ""
 "\n"
@@ -9306,7 +9840,7 @@
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:816
 #, c-format
 msgid ""
 "\n"
@@ -9321,7 +9855,7 @@
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:823
+#: builtin/commit.c:829
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -9331,7 +9865,7 @@
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:837
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -9342,151 +9876,152 @@
 "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:848
+#: builtin/commit.c:854
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:856
+#: builtin/commit.c:862
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:863
+#: builtin/commit.c:869
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:887
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:946
+#: builtin/commit.c:953
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:960 builtin/tag.c:258
+#: builtin/commit.c:967 builtin/tag.c:258
 #, 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:1004
+#: builtin/commit.c:1011
 #, 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:1018
+#: builtin/commit.c:1025
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Mode de fichier ignoré invalide '%s'"
 
-#: builtin/commit.c:1032 builtin/commit.c:1269
+#: builtin/commit.c:1039 builtin/commit.c:1276
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1070
+#: builtin/commit.c:1077
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1103
+#: builtin/commit.c:1110
 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:1112
+#: builtin/commit.c:1119
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1115
+#: builtin/commit.c:1122
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1117
+#: builtin/commit.c:1124
 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:1120
+#: builtin/commit.c:1127
 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:1130
+#: builtin/commit.c:1137
 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:1132
+#: builtin/commit.c:1139
 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:1140
+#: builtin/commit.c:1147
 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:1157
+#: builtin/commit.c:1164
 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:1159
+#: builtin/commit.c:1166
 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:1173 builtin/tag.c:544
+#: builtin/commit.c:1180 builtin/tag.c:546
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
 
-#: builtin/commit.c:1178
+#: builtin/commit.c:1185
 msgid "Paths with -a does not make sense."
 msgstr "Spécifier des chemins avec l'option -a n'a pas de sens."
 
-#: builtin/commit.c:1303 builtin/commit.c:1480
+#: builtin/commit.c:1311 builtin/commit.c:1495
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1305 builtin/commit.c:1482
+#: builtin/commit.c:1313 builtin/commit.c:1497
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1307
+#: builtin/commit.c:1315
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1309 builtin/commit.c:1484
+#: builtin/commit.c:1317 builtin/commit.c:1499
 msgid "compute full ahead/behind values"
 msgstr "calcule les valeurs complètes en avance/en retard"
 
-#: builtin/commit.c:1311
+#: builtin/commit.c:1319
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
-#: builtin/worktree.c:591
+#: builtin/commit.c:1319 builtin/commit.c:1501 builtin/push.c:558
+#: builtin/worktree.c:639
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1314 builtin/commit.c:1488
+#: builtin/commit.c:1322 builtin/commit.c:1503
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1317 builtin/commit.c:1491
+#: builtin/commit.c:1325 builtin/commit.c:1506
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
-#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/tag.c:398
+#: builtin/commit.c:1327 builtin/commit.c:1331 builtin/commit.c:1509
+#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/rebase.c:892
+#: builtin/tag.c:400
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1320 builtin/commit.c:1494
+#: builtin/commit.c:1328 builtin/commit.c:1509
 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:1324
+#: builtin/commit.c:1332
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -9494,11 +10029,11 @@
 "afficher les fichiers ignorés, \"mode\" facultatif : traditional "
 "(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1326 parse-options.h:167
+#: builtin/commit.c:1334 parse-options.h:164
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1327
+#: builtin/commit.c:1335
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -9506,197 +10041,197 @@
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1329
+#: builtin/commit.c:1337
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1330
+#: builtin/commit.c:1338
 msgid "do not detect renames"
 msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1332
+#: builtin/commit.c:1340
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 "détecter les renommages, en spécifiant optionnellement le facteur de "
 "similarité"
 
-#: builtin/commit.c:1352
+#: builtin/commit.c:1360
 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:1450
+#: builtin/commit.c:1465
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1451
+#: builtin/commit.c:1466
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1453
+#: builtin/commit.c:1468
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1454 builtin/merge.c:261 builtin/tag.c:395
+#: builtin/commit.c:1469 builtin/merge.c:263 builtin/tag.c:397
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1455
+#: builtin/commit.c:1470
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1455
+#: builtin/commit.c:1470
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1456 builtin/gc.c:504
+#: builtin/commit.c:1471 builtin/gc.c:518
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1456
+#: builtin/commit.c:1471
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1457 builtin/merge.c:257 builtin/notes.c:404
-#: builtin/notes.c:567 builtin/tag.c:393
+#: builtin/commit.c:1472 builtin/merge.c:259 builtin/notes.c:409
+#: builtin/notes.c:572 builtin/tag.c:395
 msgid "message"
 msgstr "message"
 
-#: builtin/commit.c:1457
+#: builtin/commit.c:1472
 msgid "commit message"
 msgstr "message de validation"
 
-#: builtin/commit.c:1458 builtin/commit.c:1459 builtin/commit.c:1460
-#: builtin/commit.c:1461 parse-options.h:270 ref-filter.h:92
+#: builtin/commit.c:1473 builtin/commit.c:1474 builtin/commit.c:1475
+#: builtin/commit.c:1476 ref-filter.h:92 parse-options.h:280
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1458
+#: builtin/commit.c:1473
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1459
+#: builtin/commit.c:1474
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1460
+#: builtin/commit.c:1475
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour corriger le commit spécifié"
 
-#: builtin/commit.c:1461
+#: builtin/commit.c:1476
 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:1462
+#: builtin/commit.c:1477
 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:1463 builtin/log.c:1457 builtin/merge.c:274
-#: builtin/pull.c:154 builtin/revert.c:106
+#: builtin/commit.c:1478 builtin/log.c:1520 builtin/merge.c:276
+#: builtin/pull.c:155 builtin/revert.c:106
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1464
+#: builtin/commit.c:1479
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1465
+#: builtin/commit.c:1480
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1466
+#: builtin/commit.c:1481
 msgid "default"
 msgstr "défaut"
 
-#: builtin/commit.c:1466 builtin/tag.c:399
+#: builtin/commit.c:1481 builtin/tag.c:401
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
-#: builtin/commit.c:1467
+#: builtin/commit.c:1482
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1469 builtin/merge.c:272 builtin/pull.c:184
+#: builtin/commit.c:1484 builtin/merge.c:274 builtin/pull.c:185
 #: builtin/revert.c:114
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
-#: builtin/commit.c:1472
+#: builtin/commit.c:1487
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1488
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1489
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1475
+#: builtin/commit.c:1490
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1491
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1492
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1493
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1494
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1507
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1508
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1513
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1515
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1588
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1595
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1614
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1625
 #, 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:1615
+#: builtin/commit.c:1630
 #, 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:1650
+#: builtin/commit.c:1665
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -9726,240 +10261,244 @@
 "git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
-#: builtin/commit-graph.c:48 builtin/commit-graph.c:77
-#: builtin/commit-graph.c:131 builtin/commit-graph.c:184 builtin/fetch.c:150
-#: builtin/log.c:1477
+#: builtin/commit-graph.c:48 builtin/commit-graph.c:78
+#: builtin/commit-graph.c:132 builtin/commit-graph.c:190 builtin/fetch.c:153
+#: builtin/log.c:1540
 msgid "dir"
 msgstr "répertoire"
 
-#: builtin/commit-graph.c:49 builtin/commit-graph.c:78
-#: builtin/commit-graph.c:132 builtin/commit-graph.c:185
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:79
+#: builtin/commit-graph.c:133 builtin/commit-graph.c:191
 msgid "The object directory to store the graph"
 msgstr "Le répertoire d'objet où stocker le graphe"
 
-#: builtin/commit-graph.c:134
+#: builtin/commit-graph.c:135
 msgid "start walk at all refs"
 msgstr "commencer le parcours à toutes les réfs"
 
-#: builtin/commit-graph.c:136
+#: builtin/commit-graph.c:137
 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:138
+#: builtin/commit-graph.c:139
 msgid "start walk at commits listed by stdin"
 msgstr "commencer le parcours aux commits listés sur stdin"
 
-#: builtin/commit-graph.c:140
+#: builtin/commit-graph.c:141
 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:149
+#: builtin/commit-graph.c:150
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 
-#: builtin/config.c:10
+#: builtin/config.c:11
 msgid "git config [<options>]"
 msgstr "git config [<options>]"
 
-#: builtin/config.c:101
+#: builtin/config.c:103
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr "argument --type non reconnu, %s"
 
-#: builtin/config.c:113
+#: builtin/config.c:115
 msgid "only one type at a time"
 msgstr "qu'un seul type à la fois"
 
-#: builtin/config.c:122
+#: builtin/config.c:124
 msgid "Config file location"
 msgstr "Emplacement du fichier de configuration"
 
-#: builtin/config.c:123
+#: builtin/config.c:125
 msgid "use global config file"
 msgstr "utiliser les fichier de configuration global"
 
-#: builtin/config.c:124
+#: builtin/config.c:126
 msgid "use system config file"
 msgstr "utiliser le fichier de configuration du système"
 
-#: builtin/config.c:125
+#: builtin/config.c:127
 msgid "use repository config file"
 msgstr "utiliser le fichier de configuration du dépôt"
 
-#: builtin/config.c:126
+#: builtin/config.c:128
+msgid "use per-worktree config file"
+msgstr "utiliser un fichier de configuration par arbre de travail"
+
+#: builtin/config.c:129
 msgid "use given config file"
 msgstr "utiliser le fichier de configuration spécifié"
 
-#: builtin/config.c:127
+#: builtin/config.c:130
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:127
+#: builtin/config.c:130
 msgid "read config from given blob object"
 msgstr "lire la configuration depuis l'objet blob fourni"
 
-#: builtin/config.c:128
+#: builtin/config.c:131
 msgid "Action"
 msgstr "Action"
 
-#: builtin/config.c:129
+#: builtin/config.c:132
 msgid "get value: name [value-regex]"
 msgstr "obtenir la valeur : nom [regex-de-valeur]"
 
-#: builtin/config.c:130
+#: builtin/config.c:133
 msgid "get all values: key [value-regex]"
 msgstr "obtenir toutes les valeurs : clé [regex-de-valeur]"
 
-#: builtin/config.c:131
+#: builtin/config.c:134
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "obtenir les valeur pour la regexp : regex-de-nom [regex-de-valeur]"
 
-#: builtin/config.c:132
+#: builtin/config.c:135
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "obtenir la valeur spécifique pour l'URL : section[.var] URL"
 
-#: builtin/config.c:133
+#: builtin/config.c:136
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 "remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]"
 
-#: builtin/config.c:134
+#: builtin/config.c:137
 msgid "add a new variable: name value"
 msgstr "ajouter une nouvelle variable : nom valeur"
 
-#: builtin/config.c:135
+#: builtin/config.c:138
 msgid "remove a variable: name [value-regex]"
 msgstr "supprimer une variable : nom [regex-de-valeur]"
 
-#: builtin/config.c:136
+#: builtin/config.c:139
 msgid "remove all matches: name [value-regex]"
 msgstr "supprimer toutes les correspondances nom [regex-de-valeur]"
 
-#: builtin/config.c:137
+#: builtin/config.c:140
 msgid "rename section: old-name new-name"
 msgstr "renommer une section : ancien-nom nouveau-nom"
 
-#: builtin/config.c:138
+#: builtin/config.c:141
 msgid "remove a section: name"
 msgstr "supprimer une section : nom"
 
-#: builtin/config.c:139
+#: builtin/config.c:142
 msgid "list all"
 msgstr "afficher tout"
 
-#: builtin/config.c:140
+#: builtin/config.c:143
 msgid "open an editor"
 msgstr "ouvrir un éditeur"
 
-#: builtin/config.c:141
+#: builtin/config.c:144
 msgid "find the color configured: slot [default]"
 msgstr "trouver la couleur configurée : slot [par défaut]"
 
-#: builtin/config.c:142
+#: builtin/config.c:145
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "trouver le réglage de la couleur : slot [stdout-est-tty]"
 
-#: builtin/config.c:143
+#: builtin/config.c:146
 msgid "Type"
 msgstr "Type"
 
-#: builtin/config.c:144
+#: builtin/config.c:147
 msgid "value is given this type"
 msgstr "ce type est assigné à la valeur"
 
-#: builtin/config.c:145
+#: builtin/config.c:148
 msgid "value is \"true\" or \"false\""
 msgstr "la valeur est \"true\" (vrai) ou \"false\" (faux)"
 
-#: builtin/config.c:146
+#: builtin/config.c:149
 msgid "value is decimal number"
 msgstr "la valeur est un nombre décimal"
 
-#: builtin/config.c:147
+#: builtin/config.c:150
 msgid "value is --bool or --int"
 msgstr "la valeur est --bool ou --int"
 
-#: builtin/config.c:148
+#: builtin/config.c:151
 msgid "value is a path (file or directory name)"
 msgstr "la valeur est un chemin (vers un fichier ou un répertoire)"
 
-#: builtin/config.c:149
+#: builtin/config.c:152
 msgid "value is an expiry date"
 msgstr "la valeur est une date d'expiration"
 
-#: builtin/config.c:150
+#: builtin/config.c:153
 msgid "Other"
 msgstr "Autre"
 
-#: builtin/config.c:151
+#: builtin/config.c:154
 msgid "terminate values with NUL byte"
 msgstr "terminer les valeurs avec un caractère NUL"
 
-#: builtin/config.c:152
+#: builtin/config.c:155
 msgid "show variable names only"
 msgstr "n'afficher que les noms de variable"
 
-#: builtin/config.c:153
+#: builtin/config.c:156
 msgid "respect include directives on lookup"
 msgstr "respecter les directives d'inclusion lors de la recherche"
 
-#: builtin/config.c:154
+#: builtin/config.c:157
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "afficher l'origine de la configuration (fichier, entrée standard, blob, "
 "ligne de commande)"
 
-#: builtin/config.c:155
+#: builtin/config.c:158
 msgid "value"
 msgstr "valeur"
 
-#: builtin/config.c:155
+#: builtin/config.c:158
 msgid "with --get, use default value when missing entry"
 msgstr "avec --get, utiliser le valeur par défaut quand l'entrée n'existe pas"
 
-#: builtin/config.c:168
+#: builtin/config.c:171
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr "mauvais nombre d'arguments, devrait être %d"
 
-#: builtin/config.c:170
+#: builtin/config.c:173
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr "mauvais nombre d'arguments, devrait être entre %d et %d"
 
-#: builtin/config.c:304
+#: builtin/config.c:307
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr "motif de clé invalide : %s"
 
-#: builtin/config.c:340
+#: builtin/config.c:343
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "échec du formatage de la valeur de config par défaut : %s"
 
-#: builtin/config.c:397
+#: builtin/config.c:400
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr "impossible d'analyser la couleur '%s'"
 
-#: builtin/config.c:439
+#: builtin/config.c:442
 msgid "unable to parse default color value"
 msgstr "impossible de lire la valeur de couleur par défaut"
 
-#: builtin/config.c:492 builtin/config.c:724
+#: builtin/config.c:495 builtin/config.c:741
 msgid "not in a git directory"
 msgstr "pas dans un répertoire git"
 
-#: builtin/config.c:495
+#: builtin/config.c:498
 msgid "writing to stdin is not supported"
 msgstr "l'écriture sur stdin n'est pas supportée"
 
-#: builtin/config.c:498
+#: builtin/config.c:501
 msgid "writing config blobs is not supported"
 msgstr "l'écriture de blob de configuration n'est pas supportée<"
 
-#: builtin/config.c:583
+#: builtin/config.c:586
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -9974,35 +10513,45 @@
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:606
+#: builtin/config.c:610
 msgid "only one config file at a time"
 msgstr "un seul fichier de configuration à la fois"
 
-#: builtin/config.c:611
+#: builtin/config.c:615
 msgid "--local can only be used inside a git repository"
 msgstr "--local ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:614
+#: builtin/config.c:618
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:633
+#: builtin/config.c:637
 msgid "$HOME not set"
 msgstr "$HOME n'est pas défini"
 
-#: builtin/config.c:670
+#: builtin/config.c:657
+msgid ""
+"--worktree cannot be used with multiple working trees unless the config\n"
+"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
+"section in \"git help worktree\" for details"
+msgstr ""
+"--worktree ne peut pas être utilisé avec des arbres de travail multiples\n"
+"à moins que l'extension worktreeConfig soit configuré. Veuillez lire\n"
+"la section \"CONFIGURATION FILE\" de \"git help worktree\" pour plus de détails"
+
+#: builtin/config.c:687
 msgid "--get-color and variable type are incoherent"
 msgstr "--get-color et le type de la variable sont incohérents"
 
-#: builtin/config.c:675
+#: builtin/config.c:692
 msgid "only one action at a time"
 msgstr "une seule action à la fois"
 
-#: builtin/config.c:688
+#: builtin/config.c:705
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr "--name-only n'est applicable qu'avec --list ou --get-regexp"
 
-#: builtin/config.c:694
+#: builtin/config.c:711
 msgid ""
 "--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
 "list"
@@ -10010,33 +10559,33 @@
 "--show-origin n'est applicable qu'avec --get, --get-all, --get-regexp ou --"
 "list"
 
-#: builtin/config.c:700
+#: builtin/config.c:717
 msgid "--default is only applicable to --get"
 msgstr "--default n'est applicable qu'avec --get"
 
-#: builtin/config.c:713
+#: builtin/config.c:730
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr "lecture du fichier de configuration '%s' impossible"
 
-#: builtin/config.c:716
+#: builtin/config.c:733
 msgid "error processing config file(s)"
 msgstr "erreur lors du traitement de fichier(s) de configuration"
 
-#: builtin/config.c:726
+#: builtin/config.c:743
 msgid "editing stdin is not supported"
 msgstr "l'édition de stdin n'est pas supportée"
 
-#: builtin/config.c:728
+#: builtin/config.c:745
 msgid "editing blobs is not supported"
 msgstr "l'édition de blobs n'est pas supportée"
 
-#: builtin/config.c:742
+#: builtin/config.c:759
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "création impossible du fichier de configuration '%s'"
 
-#: builtin/config.c:755
+#: builtin/config.c:772
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -10045,7 +10594,7 @@
 "impossible de surcharger des valeurs multiples avec une seule valeur\n"
 "       Utilisez une regexp, --add ou --replace-all pour modifier %s."
 
-#: builtin/config.c:829 builtin/config.c:840
+#: builtin/config.c:846 builtin/config.c:857
 #, c-format
 msgid "no such section: %s"
 msgstr "section inexistante : %s"
@@ -10148,7 +10697,7 @@
 msgid "describe %s\n"
 msgstr "décrire %s\n"
 
-#: builtin/describe.c:512 builtin/log.c:508
+#: builtin/describe.c:512 builtin/log.c:513
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "%s n'est pas un nom d'objet valide"
@@ -10400,7 +10949,7 @@
 msgid "Skip output of blob data"
 msgstr "Sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1024
+#: builtin/fast-export.c:1024 builtin/log.c:1588
 msgid "refspec"
 msgstr "spécificateur de référence"
 
@@ -10412,99 +10961,99 @@
 msgid "anonymize output"
 msgstr "anonymise la sortie"
 
-#: builtin/fetch.c:27
+#: builtin/fetch.c:28
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:29
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<options>] <groupe>"
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:30
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]"
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:31
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<options>]"
 
-#: builtin/fetch.c:112 builtin/pull.c:193
+#: builtin/fetch.c:115 builtin/pull.c:194
 msgid "fetch from all remotes"
 msgstr "récupérer depuis tous les dépôts distants"
 
-#: builtin/fetch.c:114 builtin/pull.c:196
+#: builtin/fetch.c:117 builtin/pull.c:197
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser"
 
-#: builtin/fetch.c:116 builtin/pull.c:199
+#: builtin/fetch.c:119 builtin/pull.c:200
 msgid "path to upload pack on remote end"
 msgstr "chemin vers lequel télécharger le paquet sur le poste distant"
 
-#: builtin/fetch.c:117 builtin/pull.c:201
-msgid "force overwrite of local branch"
+#: builtin/fetch.c:120
+msgid "force overwrite of local reference"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/fetch.c:119
+#: builtin/fetch.c:122
 msgid "fetch from multiple remotes"
 msgstr "récupérer depuis plusieurs dépôts distants"
 
-#: builtin/fetch.c:121 builtin/pull.c:203
+#: builtin/fetch.c:124 builtin/pull.c:204
 msgid "fetch all tags and associated objects"
 msgstr "récupérer toutes les étiquettes et leurs objets associés"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:126
 msgid "do not fetch all tags (--no-tags)"
 msgstr "ne pas récupérer toutes les étiquettes (--no-tags)"
 
-#: builtin/fetch.c:125
+#: builtin/fetch.c:128
 msgid "number of submodules fetched in parallel"
 msgstr "nombre de sous-modules récupérés en parallèle"
 
-#: builtin/fetch.c:127 builtin/pull.c:206
+#: builtin/fetch.c:130 builtin/pull.c:207
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "éliminer les branches de suivi distant si la branche n'existe plus dans le "
 "dépôt distant"
 
-#: builtin/fetch.c:129
+#: builtin/fetch.c:132
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 "éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
 "encombrent les étiquettes modifiées"
 
-#: builtin/fetch.c:130 builtin/fetch.c:153 builtin/pull.c:131
+#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:132
 msgid "on-demand"
 msgstr "à la demande"
 
-#: builtin/fetch.c:131
+#: builtin/fetch.c:134
 msgid "control recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/fetch.c:135 builtin/pull.c:214
+#: builtin/fetch.c:138 builtin/pull.c:215
 msgid "keep downloaded pack"
 msgstr "conserver le paquet téléchargé"
 
-#: builtin/fetch.c:137
+#: builtin/fetch.c:140
 msgid "allow updating of HEAD ref"
 msgstr "permettre la mise à jour de la référence HEAD"
 
-#: builtin/fetch.c:140 builtin/fetch.c:146 builtin/pull.c:217
+#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "approfondir l'historique d'un clone superficiel"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:145
 msgid "deepen history of shallow repository based on time"
 msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date"
 
-#: builtin/fetch.c:148 builtin/pull.c:220
+#: builtin/fetch.c:151 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
-#: builtin/fetch.c:151
+#: builtin/fetch.c:154
 msgid "prepend this to submodule path output"
 msgstr "préfixer ceci à la sortie du chemin du sous-module"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:157
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -10512,105 +11061,109 @@
 "par défaut pour la récupération récursive de sous-modules (priorité plus "
 "basse que les fichiers de config)"
 
-#: builtin/fetch.c:158 builtin/pull.c:223
+#: builtin/fetch.c:161 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "accepter les références qui mettent à jour .git/shallow"
 
-#: builtin/fetch.c:159 builtin/pull.c:225
+#: builtin/fetch.c:162 builtin/pull.c:226
 msgid "refmap"
 msgstr "correspondance de référence"
 
-#: builtin/fetch.c:160 builtin/pull.c:226
+#: builtin/fetch.c:163 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:582
 #: builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
-#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:582
 #: builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "option à transmettre"
 
-#: builtin/fetch.c:167
+#: builtin/fetch.c:170
 msgid "report that we have only objects reachable from this object"
 msgstr "rapporte que nous n'avons que des objets joignables depuis cet objet"
 
-#: builtin/fetch.c:418
+#: builtin/fetch.c:470
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:552
+#: builtin/fetch.c:609
 #, 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:645
+#: builtin/fetch.c:702
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:649
+#: builtin/fetch.c:706
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:662 builtin/fetch.c:744
+#: builtin/fetch.c:719 builtin/fetch.c:735 builtin/fetch.c:807
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:663
+#: builtin/fetch.c:720
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:672
+#: builtin/fetch.c:730
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:673 builtin/fetch.c:708 builtin/fetch.c:724
-#: builtin/fetch.c:739
+#: builtin/fetch.c:731 builtin/fetch.c:771 builtin/fetch.c:787
+#: builtin/fetch.c:802
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:694
+#: builtin/fetch.c:735
+msgid "would clobber existing tag"
+msgstr "écraserait l'étiquette existante"
+
+#: builtin/fetch.c:757
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:697
+#: builtin/fetch.c:760
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:700
+#: builtin/fetch.c:763
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:739
+#: builtin/fetch.c:802
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:744
+#: builtin/fetch.c:807
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:790
+#: builtin/fetch.c:853
 #, 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:811
+#: builtin/fetch.c:874
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s rejeté parce que les racines superficielles ne sont pas mises à jour"
 
-#: builtin/fetch.c:900 builtin/fetch.c:1011
+#: builtin/fetch.c:963 builtin/fetch.c:1085
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:911
+#: builtin/fetch.c:974
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -10619,57 +11172,57 @@
 "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:981
+#: builtin/fetch.c:1055
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:982
+#: builtin/fetch.c:1056
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:1014
+#: builtin/fetch.c:1088
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:1015 builtin/remote.c:1035
+#: builtin/fetch.c:1089 builtin/remote.c:1036
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:1038
+#: builtin/fetch.c:1112
 #, 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:1057
+#: builtin/fetch.c:1131
 #, 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:1060
+#: builtin/fetch.c:1134
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1339
+#: builtin/fetch.c:1433
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1341 builtin/remote.c:99
+#: builtin/fetch.c:1435 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1387 builtin/fetch.c:1555
+#: builtin/fetch.c:1481 builtin/fetch.c:1649
 msgid ""
 "--filter can only be used with the remote configured in core.partialClone"
 msgstr ""
 "--filter ne peut être utilisé qu'avec le dépôt distant configuré dans core."
 "partialClone"
 
-#: builtin/fetch.c:1410
+#: builtin/fetch.c:1504
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -10677,68 +11230,68 @@
 "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:1447
+#: builtin/fetch.c:1541
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1496
+#: builtin/fetch.c:1590
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1498
+#: builtin/fetch.c:1592
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1503
+#: builtin/fetch.c:1597
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1505
+#: builtin/fetch.c:1599
 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:1521
+#: builtin/fetch.c:1615
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1523
+#: builtin/fetch.c:1617
 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:1532
+#: builtin/fetch.c:1626
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1539
+#: builtin/fetch.c:1633
 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/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:18
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <fichier>]"
 
-#: builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:672
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "peupler le journal avec au plus <n> éléments depuis le journal court"
 
-#: builtin/fmt-merge-msg.c:674
+#: builtin/fmt-merge-msg.c:675
 msgid "alias for --log (deprecated)"
 msgstr "alias pour --log (obsolète)"
 
-#: builtin/fmt-merge-msg.c:677
+#: builtin/fmt-merge-msg.c:678
 msgid "text"
 msgstr "texte"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:679
 msgid "use <text> as start of message"
 msgstr "utiliser <texte> comme début de message"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:680
 msgid "file to read from"
 msgstr "fichier d'où lire"
 
@@ -10778,7 +11331,7 @@
 msgid "show only <n> matched refs"
 msgstr "n'afficher que <n> références correspondant"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:422
+#: builtin/for-each-ref.c:39 builtin/tag.c:424
 msgid "respect format colors"
 msgstr "respecter les couleurs de formatage"
 
@@ -10802,64 +11355,64 @@
 msgid "print only refs which don't contain the commit"
 msgstr "afficher seulement les références qui ne contiennent pas le commit"
 
-#: builtin/fsck.c:574
+#: builtin/fsck.c:598
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:666
+#: builtin/fsck.c:693
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:699
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:700
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:674
+#: builtin/fsck.c:701
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:675
+#: builtin/fsck.c:702
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:676
+#: builtin/fsck.c:703
 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:677
+#: builtin/fsck.c:704
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:678
+#: builtin/fsck.c:705
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:679
+#: builtin/fsck.c:706
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:680
+#: builtin/fsck.c:707
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:709
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:683 builtin/prune.c:110
+#: builtin/fsck.c:710 builtin/prune.c:110
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:684
+#: builtin/fsck.c:711
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:776
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
@@ -10872,12 +11425,17 @@
 msgid "Failed to fstat %s: %s"
 msgstr "Échec du stat de %s : %s"
 
-#: builtin/gc.c:455
+#: builtin/gc.c:461 builtin/init-db.c:55
 #, c-format
-msgid "Can't stat %s"
-msgstr "impossible de faire un stat de %s"
+msgid "cannot stat '%s'"
+msgstr "impossible de faire un stat de '%s'"
 
-#: builtin/gc.c:464
+#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510
+#, c-format
+msgid "cannot read '%s'"
+msgstr "impossible de lire '%s'"
+
+#: builtin/gc.c:477
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -10893,56 +11451,56 @@
 "\n"
 "%s"
 
-#: builtin/gc.c:505
+#: builtin/gc.c:519
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:507
+#: builtin/gc.c:521
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:508
+#: builtin/gc.c:522
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:511
+#: builtin/gc.c:525
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "forcer le lancement du ramasse-miettes même si un autre ramasse-miettes "
 "tourne déjà"
 
-#: builtin/gc.c:514
+#: builtin/gc.c:528
 msgid "repack all other packs except the largest pack"
 msgstr "recompacter tous les autres paquets excepté le plus gros paquet"
 
-#: builtin/gc.c:531
+#: builtin/gc.c:545
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "impossible d'analyser gc.logexpiry %s"
 
-#: builtin/gc.c:542
+#: builtin/gc.c:556
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "impossible d'analyser la valeur d'expiration d'élagage %s"
 
-#: builtin/gc.c:562
+#: builtin/gc.c:576
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Compression automatique du dépôt en tâche de fond pour optimiser les "
 "performances.\n"
 
-#: builtin/gc.c:564
+#: builtin/gc.c:578
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Compression du dépôt pour optimiser les performances.\n"
 
-#: builtin/gc.c:565
+#: builtin/gc.c:579
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Voir \"git help gc\" pour toute information sur le nettoyage manuel.\n"
 
-#: builtin/gc.c:601
+#: builtin/gc.c:619
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -10950,7 +11508,7 @@
 "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> "
 "(utilisez --force si ce n'est pas le cas)"
 
-#: builtin/gc.c:652
+#: builtin/gc.c:670
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -10961,12 +11519,12 @@
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
-#: builtin/grep.c:226
+#: builtin/grep.c:224
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep : échec de création du fil: %s"
 
-#: builtin/grep.c:284
+#: builtin/grep.c:278
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "nombre de fils spécifié invalide (%d) pour %s"
@@ -10975,258 +11533,266 @@
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:293 builtin/index-pack.c:1536 builtin/index-pack.c:1728
-#: builtin/pack-objects.c:2636
+#: builtin/grep.c:286 builtin/index-pack.c:1506 builtin/index-pack.c:1697
+#: builtin/pack-objects.c:2719
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/grep.c:461 builtin/grep.c:582 builtin/grep.c:623
+#: builtin/grep.c:458 builtin/grep.c:579 builtin/grep.c:620
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:638
+#: builtin/grep.c:635
 #, 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:704
+#: builtin/grep.c:701
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend un valeur numérique"
 
-#: builtin/grep.c:791
+#: builtin/grep.c:800
 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:793
+#: builtin/grep.c:802
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:795
+#: builtin/grep.c:804
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:797
+#: builtin/grep.c:806
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:799
+#: builtin/grep.c:808
 msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:802
+#: builtin/grep.c:811
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:804
+#: builtin/grep.c:813
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:806
+#: builtin/grep.c:815
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:808
+#: builtin/grep.c:817
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:810
+#: builtin/grep.c:819
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:822
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:824
+msgid "search in subdirectories (default)"
+msgstr "rechercher dans les sous-répertoires (défaut)"
+
+#: builtin/grep.c:826
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:830
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:822
+#: builtin/grep.c:833
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:825
+#: builtin/grep.c:836
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:839
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:831
+#: builtin/grep.c:842
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:843
 msgid "show column number of first match"
 msgstr "afficher le numéro de colonne de la première correspondance"
 
-#: builtin/grep.c:833
+#: builtin/grep.c:844
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:834
+#: builtin/grep.c:845
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:847
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:838
+#: builtin/grep.c:849
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:840
+#: builtin/grep.c:851
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:854
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:845
+#: builtin/grep.c:856
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:848
+#: builtin/grep.c:859
 msgid "show only matching parts of a line"
 msgstr "n'afficher que les parties correspondantes d'une ligne"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:861
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:862
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:864
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:866
 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:858
+#: builtin/grep.c:869
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:861
+#: builtin/grep.c:872
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:863
+#: builtin/grep.c:874
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:876
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:877
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:880
 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:871
+#: builtin/grep.c:882
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:885
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:887
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:889
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:901
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:892
+#: builtin/grep.c:903
 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:894
+#: builtin/grep.c:905
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:909
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:909
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:913
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:966
+#: builtin/grep.c:977
 msgid "no pattern given"
 msgstr "aucun motif fourni"
 
-#: builtin/grep.c:1002
+#: builtin/grep.c:1013
 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:1009
+#: builtin/grep.c:1020
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "impossible de résoudre la révision : %s"
 
-#: builtin/grep.c:1044 builtin/index-pack.c:1532 builtin/pack-objects.c:2632
+#: builtin/grep.c:1051
+msgid "invalid option combination, ignoring --threads"
+msgstr "option de combinaison invalide, ignore --threads"
+
+#: builtin/grep.c:1054 builtin/pack-objects.c:3395
+msgid "no threads support, ignoring --threads"
+msgstr "pas de support des fils, ignore --threads"
+
+#: builtin/grep.c:1057 builtin/index-pack.c:1503 builtin/pack-objects.c:2716
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1049 builtin/pack-objects.c:3286
-msgid "no threads support, ignoring --threads"
-msgstr "pas de support des fils, ignore --threads"
-
-#: builtin/grep.c:1073
+#: builtin/grep.c:1080
 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:1096
+#: builtin/grep.c:1103
 msgid "option not supported with --recurse-submodules"
 msgstr "option non supportée avec --recurse-submodules"
 
-#: builtin/grep.c:1102
+#: builtin/grep.c:1109
 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:1108
+#: builtin/grep.c:1115
 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:1116
+#: builtin/grep.c:1123
 msgid "both --cached and trees are given"
 msgstr "--cached et des arbres sont fournis en même temps"
 
@@ -11363,318 +11929,318 @@
 msgid "no info viewer handled the request"
 msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
 
-#: builtin/help.c:418
+#: builtin/help.c:430 builtin/help.c:441 git.c:322
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' est un alias de '%s'"
 
-#: builtin/help.c:445 builtin/help.c:475
+#: builtin/help.c:444
+#, c-format
+msgid "bad alias.%s string: %s"
+msgstr "Mauvais chaîne alias.%s : %s"
+
+#: builtin/help.c:473 builtin/help.c:503
 #, c-format
 msgid "usage: %s%s"
 msgstr "usage : %s%s"
 
-#: builtin/help.c:459
+#: builtin/help.c:487
 msgid "'git help config' for more information"
 msgstr "'git help config' pour plus d'information"
 
-#: builtin/index-pack.c:208
+#: builtin/index-pack.c:184
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "type d'objet non correspondant à %s"
 
-#: builtin/index-pack.c:228
+#: builtin/index-pack.c:204
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "objet attendu non reçu %s"
 
-#: builtin/index-pack.c:231
+#: builtin/index-pack.c:207
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "objet %s : type attendu %s, reçu %s"
 
-#: builtin/index-pack.c:273
+#: builtin/index-pack.c:249
 #, 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:283
+#: builtin/index-pack.c:259
 msgid "early EOF"
 msgstr "fin de fichier prématurée"
 
-#: builtin/index-pack.c:284
+#: builtin/index-pack.c:260
 msgid "read error on input"
 msgstr "erreur de lecture sur l'entrée"
 
-#: builtin/index-pack.c:296
+#: builtin/index-pack.c:272
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: builtin/index-pack.c:303 builtin/pack-objects.c:590
+#: builtin/index-pack.c:279 builtin/pack-objects.c:598
 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:306 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:282 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "le paquet dépasse la taille maximale permise"
 
-#: builtin/index-pack.c:321
+#: builtin/index-pack.c:297
 #, c-format
 msgid "unable to create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: builtin/index-pack.c:327
+#: builtin/index-pack.c:303
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "impossible d'ouvrir le fichier paquet '%s'"
 
-#: builtin/index-pack.c:341
+#: builtin/index-pack.c:317
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:343
+#: builtin/index-pack.c:319
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:361
+#: builtin/index-pack.c:337
 #, 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:482
+#: builtin/index-pack.c:457
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:531
+#: builtin/index-pack.c:506
 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:539
+#: builtin/index-pack.c:514
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:547
+#: builtin/index-pack.c:522
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:578
+#: builtin/index-pack.c:553
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:580
+#: builtin/index-pack.c:555
 #, 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:606
+#: builtin/index-pack.c:581
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:780
-#: builtin/index-pack.c:819 builtin/index-pack.c:828
+#: builtin/index-pack.c:726 builtin/index-pack.c:732 builtin/index-pack.c:755
+#: builtin/index-pack.c:794 builtin/index-pack.c:803
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:754 builtin/pack-objects.c:143
-#: builtin/pack-objects.c:203 builtin/pack-objects.c:297
+#: builtin/index-pack.c:729 builtin/pack-objects.c:151
+#: builtin/pack-objects.c:211 builtin/pack-objects.c:305
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:792
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:825
+#: builtin/index-pack.c:800
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:839
+#: builtin/index-pack.c:814
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:842 builtin/index-pack.c:861
+#: builtin/index-pack.c:817 builtin/index-pack.c:836
 msgid "fsck error in packed object"
 msgstr "erreur de fsck dans l'objet empaqueté"
 
-#: builtin/index-pack.c:858
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/index-pack.c:863
+#: builtin/index-pack.c:838
 #, 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:935 builtin/index-pack.c:966
+#: builtin/index-pack.c:910 builtin/index-pack.c:941
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1136
+#: builtin/index-pack.c:1109
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1136
+#: builtin/index-pack.c:1109
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1170
+#: builtin/index-pack.c:1143
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1175
+#: builtin/index-pack.c:1148
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1178
+#: builtin/index-pack.c:1151
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1190
+#: builtin/index-pack.c:1163
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1213
+#: builtin/index-pack.c:1186
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1224 builtin/pack-objects.c:2407
+#: builtin/index-pack.c:1196 builtin/pack-objects.c:2492
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1266
+#: builtin/index-pack.c:1237
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1243
 #, 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:1284
+#: builtin/index-pack.c:1255
 #, 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:1288
+#: builtin/index-pack.c:1259
 #, 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:1312
+#: builtin/index-pack.c:1283
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1389
+#: builtin/index-pack.c:1360
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1403
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'"
 
-#: builtin/index-pack.c:1428
+#: builtin/index-pack.c:1399
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1436
+#: builtin/index-pack.c:1407
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "impossible de fermer le fichier %s écrit '%s'"
 
-#: builtin/index-pack.c:1460
+#: builtin/index-pack.c:1431
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1445
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1482
+#: builtin/index-pack.c:1453
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1526 builtin/pack-objects.c:2645
+#: builtin/index-pack.c:1497 builtin/pack-objects.c:2727
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1595
+#: builtin/index-pack.c:1565
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1597
+#: builtin/index-pack.c:1567
 #, 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:1645
+#: builtin/index-pack.c:1615
 #, 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:1652
+#: builtin/index-pack.c:1622
 #, 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:1689
+#: builtin/index-pack.c:1659
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: builtin/index-pack.c:1740 builtin/index-pack.c:1743
-#: builtin/index-pack.c:1759 builtin/index-pack.c:1763
+#: builtin/index-pack.c:1708 builtin/index-pack.c:1711
+#: builtin/index-pack.c:1727 builtin/index-pack.c:1731
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1779
+#: builtin/index-pack.c:1747
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1781
+#: builtin/index-pack.c:1749
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1787
+#: builtin/index-pack.c:1755
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
-#: builtin/index-pack.c:1837 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1803 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "erreur de fsck dans les objets paquets"
 
-#: builtin/init-db.c:55
-#, c-format
-msgid "cannot stat '%s'"
-msgstr "impossible de faire un stat de '%s'"
-
 #: builtin/init-db.c:61
 #, c-format
 msgid "cannot stat template '%s'"
@@ -11750,7 +12316,7 @@
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Dépôt Git vide initialisé dans %s%s\n"
 
-#: builtin/init-db.c:459
+#: builtin/init-db.c:460
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -11758,25 +12324,25 @@
 "git init [-q | --quiet] [--bare] [--template=<répertoire-modèle>] [--"
 "shared[=<permissions>]] [<répertoire>]"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:483
 msgid "permissions"
 msgstr "permissions"
 
-#: builtin/init-db.c:483
+#: builtin/init-db.c:484
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "spécifier que le dépôt git sera partagé entre plusieurs utilisateurs"
 
-#: builtin/init-db.c:517 builtin/init-db.c:522
+#: builtin/init-db.c:518 builtin/init-db.c:523
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "impossible de créer le répertoire (mkdir) %s"
 
-#: builtin/init-db.c:526
+#: builtin/init-db.c:527
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "impossible de se déplacer vers le répertoire (chdir) %s"
 
-#: builtin/init-db.c:547
+#: builtin/init-db.c:548
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -11785,7 +12351,7 @@
 "%s (ou --work-tree=<répertoire>) n'est pas autorisé sans spécifier %s (ou --"
 "git-dir=<répertoire>)"
 
-#: builtin/init-db.c:575
+#: builtin/init-db.c:576
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Impossible d'accéder à l'arbre de travail '%s'"
@@ -11798,174 +12364,178 @@
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<symbole>[(=|:)<valeur>])...] [<fichier>...]"
 
-#: builtin/interpret-trailers.c:92
+#: builtin/interpret-trailers.c:94
 msgid "edit files in place"
 msgstr "éditer les fichiers sur place"
 
-#: builtin/interpret-trailers.c:93
+#: builtin/interpret-trailers.c:95
 msgid "trim empty trailers"
 msgstr "éliminer les lignes de fin vides"
 
-#: builtin/interpret-trailers.c:96
+#: builtin/interpret-trailers.c:98
 msgid "where to place the new trailer"
 msgstr "où placer les nouvelles lignes terminales"
 
-#: builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100
 msgid "action if trailer already exists"
 msgstr "action si les lignes terminales existent déjà"
 
-#: builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:102
 msgid "action if trailer is missing"
 msgstr "action si les lignes terminales manquent"
 
-#: builtin/interpret-trailers.c:102
+#: builtin/interpret-trailers.c:104
 msgid "output only the trailers"
 msgstr "éliminer les lignes terminales vides"
 
-#: builtin/interpret-trailers.c:103
+#: builtin/interpret-trailers.c:105
 msgid "do not apply config rules"
 msgstr "ne pas appliquer les règles de la configuration"
 
-#: builtin/interpret-trailers.c:104
+#: builtin/interpret-trailers.c:106
 msgid "join whitespace-continued values"
 msgstr "joindre les valeurs continuées avec des caractères blancs"
 
-#: builtin/interpret-trailers.c:105
+#: builtin/interpret-trailers.c:107
 msgid "set parsing options"
 msgstr "paramètres d'analyse"
 
-#: builtin/interpret-trailers.c:107
+#: builtin/interpret-trailers.c:109
+msgid "do not treat --- specially"
+msgstr "ne pas traiter spécialement ---"
+
+#: builtin/interpret-trailers.c:110
 msgid "trailer"
 msgstr "ligne de fin"
 
-#: builtin/interpret-trailers.c:108
+#: builtin/interpret-trailers.c:111
 msgid "trailer(s) to add"
 msgstr "ligne(s) de fin à ajouter"
 
-#: builtin/interpret-trailers.c:117
+#: builtin/interpret-trailers.c:120
 msgid "--trailer with --only-input does not make sense"
 msgstr "--trailer n'a aucune signification avec --only-input"
 
-#: builtin/interpret-trailers.c:127
+#: builtin/interpret-trailers.c:130
 msgid "no input file given for in-place editing"
 msgstr "aucun fichier en entrée pour l'éditon sur place"
 
-#: builtin/log.c:51
+#: builtin/log.c:54
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 
-#: builtin/log.c:52
+#: builtin/log.c:55
 msgid "git show [<options>] <object>..."
 msgstr "git show [<options>] <objet>..."
 
-#: builtin/log.c:96
+#: builtin/log.c:99
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "option --decorate invalide : %s"
 
-#: builtin/log.c:157
+#: builtin/log.c:162
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: builtin/log.c:158
+#: builtin/log.c:163
 msgid "show source"
 msgstr "afficher la source"
 
-#: builtin/log.c:159
+#: builtin/log.c:164
 msgid "Use mail map file"
 msgstr "Utiliser le fichier de correspondance de mail"
 
-#: builtin/log.c:161
+#: builtin/log.c:166
 msgid "only decorate refs that match <pattern>"
 msgstr "décorer seulement les références correspondant à <motif>"
 
-#: builtin/log.c:163
+#: builtin/log.c:168
 msgid "do not decorate refs that match <pattern>"
 msgstr "ne pas décorer les références correspondant à <motif>"
 
-#: builtin/log.c:164
+#: builtin/log.c:169
 msgid "decorate options"
 msgstr "décorer les options"
 
-#: builtin/log.c:167
+#: builtin/log.c:172
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de lignes n,m du fichier en commençant le "
 "compte à 1"
 
-#: builtin/log.c:265
+#: builtin/log.c:270
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Sortie finale : %d %s\n"
 
-#: builtin/log.c:516
+#: builtin/log.c:522
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s : fichier incorrect"
 
-#: builtin/log.c:531 builtin/log.c:625
+#: builtin/log.c:537 builtin/log.c:631
 #, c-format
 msgid "Could not read object %s"
 msgstr "Impossible de lire l'objet %s"
 
-#: builtin/log.c:649
+#: builtin/log.c:655
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Type inconnu : %d"
 
-#: builtin/log.c:770
+#: builtin/log.c:776
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
-#: builtin/log.c:871
+#: builtin/log.c:877
 msgid "name of output directory is too long"
 msgstr "le nom du répertoire de sortie est trop long"
 
-#: builtin/log.c:887
+#: builtin/log.c:893
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Impossible d'ouvrir le fichier correctif %s"
 
-#: builtin/log.c:904
+#: builtin/log.c:910
 msgid "Need exactly one range."
 msgstr "Exactement une plage nécessaire."
 
-#: builtin/log.c:914
+#: builtin/log.c:920
 msgid "Not a range."
 msgstr "Ceci n'est pas une plage."
 
-#: builtin/log.c:1020
+#: builtin/log.c:1043
 msgid "Cover letter needs email format"
 msgstr "La lettre de motivation doit être au format courriel"
 
-#: builtin/log.c:1101
+#: builtin/log.c:1119
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
 
-#: builtin/log.c:1128
+#: builtin/log.c:1146
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]"
 
-#: builtin/log.c:1178
+#: builtin/log.c:1204
 msgid "Two output directories?"
 msgstr "Deux répertoires de sortie ?"
 
-#: builtin/log.c:1285 builtin/log.c:1945 builtin/log.c:1947 builtin/log.c:1959
+#: builtin/log.c:1311 builtin/log.c:2054 builtin/log.c:2056 builtin/log.c:2068
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Commit inconnu %s"
 
-#: builtin/log.c:1295 builtin/notes.c:889 builtin/tag.c:524
+#: builtin/log.c:1321 builtin/notes.c:894 builtin/tag.c:526
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
 
-#: builtin/log.c:1300
+#: builtin/log.c:1326
 msgid "Could not find exact merge base."
 msgstr "Impossible de trouver la base de fusion exacte."
 
-#: builtin/log.c:1304
+#: builtin/log.c:1330
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -11978,230 +12548,280 @@
 "ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
 "manuellement."
 
-#: builtin/log.c:1324
+#: builtin/log.c:1350
 msgid "Failed to find exact merge base"
 msgstr "Impossible de trouver la base de fusion exacte"
 
-#: builtin/log.c:1335
+#: builtin/log.c:1361
 msgid "base commit should be the ancestor of revision list"
 msgstr "le commit de base devrait être l'ancêtre de la liste de révisions"
 
-#: builtin/log.c:1339
+#: builtin/log.c:1365
 msgid "base commit shouldn't be in revision list"
 msgstr "le commit de base ne devrait pas faire partie de la liste de révisions"
 
-#: builtin/log.c:1392
+#: builtin/log.c:1418
 msgid "cannot get patch id"
 msgstr "impossible d'obtenir l'id du patch"
 
-#: builtin/log.c:1452
+#: builtin/log.c:1470
+msgid "failed to infer range-diff ranges"
+msgstr "échec d'inférence d'intervalles de différence d'intervalles"
+
+#: builtin/log.c:1515
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "utiliser [PATCH n/m] même avec un patch unique"
 
-#: builtin/log.c:1455
+#: builtin/log.c:1518
 msgid "use [PATCH] even with multiple patches"
 msgstr "utiliser [PATCH] même avec des patchs multiples"
 
-#: builtin/log.c:1459
+#: builtin/log.c:1522
 msgid "print patches to standard out"
 msgstr "afficher les patchs sur la sortie standard"
 
-#: builtin/log.c:1461
+#: builtin/log.c:1524
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1526
 msgid "use simple number sequence for output file names"
 msgstr ""
 "utiliser une séquence simple de nombres pour les nom des fichiers de sortie"
 
-#: builtin/log.c:1464
+#: builtin/log.c:1527
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1465
+#: builtin/log.c:1528
 msgid "use <sfx> instead of '.patch'"
 msgstr "utiliser <sfx> au lieu de '.patch'"
 
-#: builtin/log.c:1467
+#: builtin/log.c:1530
 msgid "start numbering patches at <n> instead of 1"
 msgstr "démarrer la numérotation des patchs à <n> au lieu de 1"
 
-#: builtin/log.c:1469
+#: builtin/log.c:1532
 msgid "mark the series as Nth re-roll"
 msgstr "marquer la série comme une Nième réédition"
 
-#: builtin/log.c:1471
+#: builtin/log.c:1534
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
 
-#: builtin/log.c:1474
+#: builtin/log.c:1537
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "utiliser [<préfixe>] au lieu de [PATCH]"
 
-#: builtin/log.c:1477
+#: builtin/log.c:1540
 msgid "store resulting files in <dir>"
 msgstr "stocker les fichiers résultats dans <répertoire>"
 
-#: builtin/log.c:1480
+#: builtin/log.c:1543
 msgid "don't strip/add [PATCH]"
 msgstr "ne pas retirer/ajouter [PATCH]"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1546
 msgid "don't output binary diffs"
 msgstr "ne pas imprimer les diffs binaires"
 
-#: builtin/log.c:1485
+#: builtin/log.c:1548
 msgid "output all-zero hash in From header"
 msgstr "écrire une empreinte à zéro dans l'entête From"
 
-#: builtin/log.c:1487
+#: builtin/log.c:1550
 msgid "don't include a patch matching a commit upstream"
 msgstr "ne pas inclure un patch correspondant à un commit amont"
 
-#: builtin/log.c:1489
+#: builtin/log.c:1552
 msgid "show patch format instead of default (patch + stat)"
 msgstr "afficher le format du patch au lieu du défaut (patch + stat)"
 
-#: builtin/log.c:1491
+#: builtin/log.c:1554
 msgid "Messaging"
 msgstr "Communication"
 
-#: builtin/log.c:1492
+#: builtin/log.c:1555
 msgid "header"
 msgstr "en-tête"
 
-#: builtin/log.c:1493
+#: builtin/log.c:1556
 msgid "add email header"
 msgstr "ajouter l'en-tête de courriel"
 
-#: builtin/log.c:1494 builtin/log.c:1496
+#: builtin/log.c:1557 builtin/log.c:1559
 msgid "email"
 msgstr "courriel"
 
-#: builtin/log.c:1494
+#: builtin/log.c:1557
 msgid "add To: header"
 msgstr "ajouter l'en-tête \"To:\""
 
-#: builtin/log.c:1496
+#: builtin/log.c:1559
 msgid "add Cc: header"
 msgstr "ajouter l'en-tête \"Cc:\""
 
-#: builtin/log.c:1498
+#: builtin/log.c:1561
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1499
+#: builtin/log.c:1562
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)"
 
-#: builtin/log.c:1501
+#: builtin/log.c:1564
 msgid "message-id"
 msgstr "id-message"
 
-#: builtin/log.c:1502
+#: builtin/log.c:1565
 msgid "make first mail a reply to <message-id>"
 msgstr "répondre dans le premier message à <id-message>"
 
-#: builtin/log.c:1503 builtin/log.c:1506
+#: builtin/log.c:1566 builtin/log.c:1569
 msgid "boundary"
 msgstr "limite"
 
-#: builtin/log.c:1504
+#: builtin/log.c:1567
 msgid "attach the patch"
 msgstr "attacher le patch"
 
-#: builtin/log.c:1507
+#: builtin/log.c:1570
 msgid "inline the patch"
 msgstr "patch à l'intérieur"
 
-#: builtin/log.c:1511
+#: builtin/log.c:1574
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
 
-#: builtin/log.c:1513
+#: builtin/log.c:1576
 msgid "signature"
 msgstr "signature"
 
-#: builtin/log.c:1514
+#: builtin/log.c:1577
 msgid "add a signature"
 msgstr "ajouter une signature"
 
-#: builtin/log.c:1515
+#: builtin/log.c:1578
 msgid "base-commit"
 msgstr "commit-de-base"
 
-#: builtin/log.c:1516
+#: builtin/log.c:1579
 msgid "add prerequisite tree info to the patch series"
 msgstr "Ajouter un arbre prérequis à la série de patchs"
 
-#: builtin/log.c:1518
+#: builtin/log.c:1581
 msgid "add a signature from a file"
 msgstr "ajouter une signature depuis un fichier"
 
-#: builtin/log.c:1519
+#: builtin/log.c:1582
 msgid "don't print the patch filenames"
 msgstr "ne pas afficher les noms de fichiers des patchs"
 
-#: builtin/log.c:1521
+#: builtin/log.c:1584
 msgid "show progress while generating patches"
 msgstr ""
 "afficher la barre de progression durant la phase de génération des patchs"
 
-#: builtin/log.c:1596
+#: builtin/log.c:1585
+msgid "rev"
+msgstr "rév"
+
+#: builtin/log.c:1586
+msgid "show changes against <rev> in cover letter or single patch"
+msgstr "afficher les modifications par rapport à <rév> dans la première page ou une rustine"
+
+#: builtin/log.c:1589
+msgid "show changes against <refspec> in cover letter or single patch"
+msgstr "afficher les modifications par rapport à <refspec> dans la première page ou une rustine"
+
+#: builtin/log.c:1591
+msgid "percentage by which creation is weighted"
+msgstr "pourcentage par lequel la création est pondérée"
+
+#: builtin/log.c:1666
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "ligne d'identification invalide : %s"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1681
 msgid "-n and -k are mutually exclusive"
 msgstr "-n et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1613
+#: builtin/log.c:1683
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1691
 msgid "--name-only does not make sense"
 msgstr "--name-only n'a pas de sens"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1693
 msgid "--name-status does not make sense"
 msgstr "--name-status n'a pas de sens"
 
-#: builtin/log.c:1625
+#: builtin/log.c:1695
 msgid "--check does not make sense"
 msgstr "--check n'a pas de sens"
 
-#: builtin/log.c:1657
+#: builtin/log.c:1727
 msgid "standard output, or directory, which one?"
 msgstr "sortie standard, ou répertoire, lequel ?"
 
-#: builtin/log.c:1659
+#: builtin/log.c:1729
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Impossible de créer le répertoire '%s'"
 
-#: builtin/log.c:1752
+#: builtin/log.c:1816
+msgid "--interdiff requires --cover-letter or single patch"
+msgstr "--interdiff requiert --cover-letter ou une rustine unique"
+
+#: builtin/log.c:1820
+msgid "Interdiff:"
+msgstr "Interdiff :"
+
+#: builtin/log.c:1821
+#, c-format
+msgid "Interdiff against v%d:"
+msgstr "Interdiff contre v%d :"
+
+#: builtin/log.c:1827
+msgid "--creation-factor requires --range-diff"
+msgstr "--creation-factor requiert --range-diff"
+
+#: builtin/log.c:1831
+msgid "--range-diff requires --cover-letter or single patch"
+msgstr "--range-diff requiert --cover-letter ou une rustine unique"
+
+#: builtin/log.c:1839
+msgid "Range-diff:"
+msgstr "Diff-intervalle :"
+
+#: builtin/log.c:1840
+#, c-format
+msgid "Range-diff against v%d:"
+msgstr "Diff-intervalle contre v%d :"
+
+#: builtin/log.c:1851
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "lecture du fichier de signature '%s' impossible"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1887
 msgid "Generating patches"
 msgstr "Génération des patchs"
 
-#: builtin/log.c:1829
+#: builtin/log.c:1931
 msgid "Failed to create output files"
 msgstr "Échec de création des fichiers en sortie"
 
-#: builtin/log.c:1880
+#: builtin/log.c:1989
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
 
-#: builtin/log.c:1934
+#: builtin/log.c:2043
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -12213,106 +12833,106 @@
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<options>] [<fichier>...]"
 
-#: builtin/ls-files.c:518
+#: builtin/ls-files.c:525
 msgid "identify the file status with tags"
 msgstr "identifier l'état de fichier avec les étiquettes"
 
-#: builtin/ls-files.c:520
+#: builtin/ls-files.c:527
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "utiliser des minuscules pour les fichiers 'assumés inchangés'"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:529
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "utiliser des minuscules pour les fichiers 'fsmonitor clean'"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:531
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:533
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:535
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:537
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:539
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:542
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:544
 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:539
+#: builtin/ls-files.c:546
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:541
+#: builtin/ls-files.c:548
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:550
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:546
+#: builtin/ls-files.c:553
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:555
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:557
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:560
 msgid "exclude patterns are read from <file>"
 msgstr "les motifs d'exclusion sont lus depuis <fichier>"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:563
 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:558
+#: builtin/ls-files.c:565
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:569
 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:564
+#: builtin/ls-files.c:572
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:566
+#: builtin/ls-files.c:574
 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:567
+#: builtin/ls-files.c:575
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:568
+#: builtin/ls-files.c:576
 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:570
+#: builtin/ls-files.c:578
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
@@ -12330,7 +12950,7 @@
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:885
 msgid "exec"
 msgstr "exécutable"
 
@@ -12407,185 +13027,185 @@
 msgid "empty mbox: '%s'"
 msgstr "mbox vide : '%s'"
 
-#: builtin/merge.c:51
+#: builtin/merge.c:52
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<options>] [<commit>...]"
 
-#: builtin/merge.c:52
+#: builtin/merge.c:53
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:53
+#: builtin/merge.c:54
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:110
+#: builtin/merge.c:111
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:176
+#: builtin/merge.c:177
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:177
+#: builtin/merge.c:178
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:182
+#: builtin/merge.c:183
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:232 builtin/pull.c:142
+#: builtin/merge.c:234 builtin/pull.c:143
 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:235 builtin/pull.c:145
+#: builtin/merge.c:237 builtin/pull.c:146
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:236 builtin/pull.c:148
+#: builtin/merge.c:238 builtin/pull.c:149
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:238 builtin/pull.c:151
+#: builtin/merge.c:240 builtin/pull.c:152
 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:241 builtin/pull.c:157
+#: builtin/merge.c:243 builtin/pull.c:158
 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:243 builtin/pull.c:160
+#: builtin/merge.c:245 builtin/pull.c:161
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:245 builtin/pull.c:163
+#: builtin/merge.c:247 builtin/pull.c:164
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:246
+#: builtin/merge.c:248
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:248 builtin/pull.c:169
+#: builtin/merge.c:250 builtin/pull.c:170
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:252 builtin/pull.c:172
+#: builtin/merge.c:254 builtin/pull.c:173
 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:253 builtin/notes.c:779 builtin/pull.c:176
-#: builtin/revert.c:110
+#: builtin/merge.c:255 builtin/notes.c:784 builtin/pull.c:177
+#: builtin/rebase.c:898 builtin/rebase--interactive.c:186 builtin/revert.c:110
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:254 builtin/pull.c:177
+#: builtin/merge.c:256 builtin/pull.c:178
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:255 builtin/pull.c:180
+#: builtin/merge.c:257 builtin/pull.c:181
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:256 builtin/pull.c:181
+#: builtin/merge.c:258 builtin/pull.c:182
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:258
+#: builtin/merge.c:260
 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:265
+#: builtin/merge.c:267
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:267
+#: builtin/merge.c:269
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:269 builtin/pull.c:188
+#: builtin/merge.c:271 builtin/pull.c:189
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:275
+#: builtin/merge.c:277
 msgid "verify commit-msg hook"
 msgstr "vérifier le crochet commit-msg"
 
-#: builtin/merge.c:300
+#: builtin/merge.c:302
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:305
+#: builtin/merge.c:307
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:310
+#: builtin/merge.c:312
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:332 builtin/merge.c:349
+#: builtin/merge.c:334 builtin/merge.c:351
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:379
+#: builtin/merge.c:381
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:390
+#: builtin/merge.c:392
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:440
+#: builtin/merge.c:442
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n"
 
-#: builtin/merge.c:491
+#: builtin/merge.c:493
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:578
+#: builtin/merge.c:580
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:699
+#: builtin/merge.c:701
 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:713
+#: builtin/merge.c:715
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Options inconnue pour merge-recursive : -X%s"
 
-#: builtin/merge.c:728
+#: builtin/merge.c:730
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:779
+#: builtin/merge.c:782
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:788
+#: builtin/merge.c:791
 #, 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:794
+#: builtin/merge.c:797
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -12602,70 +13222,70 @@
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:830
+#: builtin/merge.c:833
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:849
+#: builtin/merge.c:852
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:902
+#: builtin/merge.c:905
 #, 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:941
+#: builtin/merge.c:944
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:943
+#: builtin/merge.c:946
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:945
+#: builtin/merge.c:948
 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:950
+#: builtin/merge.c:953
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:1007
+#: builtin/merge.c:1010
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1110
+#: builtin/merge.c:1113
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1144
+#: builtin/merge.c:1147
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1247
+#: builtin/merge.c:1250
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1251
+#: builtin/merge.c:1254
 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:1263
+#: builtin/merge.c:1266
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1267
+#: builtin/merge.c:1270
 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:1283
+#: builtin/merge.c:1286
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -12673,7 +13293,7 @@
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1293
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -12681,156 +13301,136 @@
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1296
 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:1302
+#: builtin/merge.c:1305
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1310
+#: builtin/merge.c:1313
 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:1327
+#: builtin/merge.c:1330
 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:1329
+#: builtin/merge.c:1332
 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:1334
+#: builtin/merge.c:1337
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1336
+#: builtin/merge.c:1339
 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:1370
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
-
-#: builtin/merge.c:1373
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
-
-#: builtin/merge.c:1376
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr "La validation %s n'a pas de signature GPG."
-
-#: builtin/merge.c:1379
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr "La validation %s a une signature GPG correcte par %s\n"
-
-#: builtin/merge.c:1438
+#: builtin/merge.c:1421
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1447
+#: builtin/merge.c:1430
 msgid "Already up to date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1457
+#: builtin/merge.c:1440
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1498
+#: builtin/merge.c:1482
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1505
+#: builtin/merge.c:1489
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1530
+#: builtin/merge.c:1514
 msgid "Already up to date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1536
+#: builtin/merge.c:1520
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1559 builtin/merge.c:1638
+#: builtin/merge.c:1543 builtin/merge.c:1622
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1563
+#: builtin/merge.c:1547
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1629
+#: builtin/merge.c:1613
 #, 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:1631
+#: builtin/merge.c:1615
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1640
+#: builtin/merge.c:1624
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Utilisation de %s pour préparer la résolution à la main.\n"
 
-#: builtin/merge.c:1652
+#: builtin/merge.c:1636
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
 "La fusion automatique a réussi ; stoppée avant la validation comme demandé\n"
 
-#: builtin/merge-base.c:31
+#: builtin/merge-base.c:32
 msgid "git merge-base [-a | --all] <commit> <commit>..."
 msgstr "git merge-base [-a | --all] <commit> <commit>..."
 
-#: builtin/merge-base.c:32
+#: builtin/merge-base.c:33
 msgid "git merge-base [-a | --all] --octopus <commit>..."
 msgstr "git merge-base [-a | --all] --octopus <commit>..."
 
-#: builtin/merge-base.c:33
+#: builtin/merge-base.c:34
 msgid "git merge-base --independent <commit>..."
 msgstr "git merge-base --independent <validation>..."
 
-#: builtin/merge-base.c:34
+#: builtin/merge-base.c:35
 msgid "git merge-base --is-ancestor <commit> <commit>"
 msgstr "git merge-base --is-ancestor <validation> <validation>"
 
-#: builtin/merge-base.c:35
+#: builtin/merge-base.c:36
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <référence> [<validation>]"
 
-#: builtin/merge-base.c:221
+#: builtin/merge-base.c:153
 msgid "output all common ancestors"
 msgstr "afficher tous les ancêtres communs"
 
-#: builtin/merge-base.c:223
+#: builtin/merge-base.c:155
 msgid "find ancestors for a single n-way merge"
 msgstr "trouver les ancêtres pour une fusion simple à n points"
 
-#: builtin/merge-base.c:225
+#: builtin/merge-base.c:157
 msgid "list revs not reachable from others"
 msgstr "afficher les révisions inaccessibles depuis les autres"
 
-#: builtin/merge-base.c:227
+#: builtin/merge-base.c:159
 msgid "is the first one ancestor of the other?"
 msgstr "est le premier ancêtre de l'autre ?"
 
-#: builtin/merge-base.c:229
+#: builtin/merge-base.c:161
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "trouver où <validation> a divergé du reflog de <référence>"
 
@@ -12842,35 +13442,35 @@
 "git merge-file [<options>] [-L <nom1> [-L <orig> [-L <nom2>]]] <fichier1> "
 "<fichier-orig> <fichier2>"
 
-#: builtin/merge-file.c:33
+#: builtin/merge-file.c:35
 msgid "send results to standard output"
 msgstr "envoyer les résultats sur la sortie standard"
 
-#: builtin/merge-file.c:34
+#: builtin/merge-file.c:36
 msgid "use a diff3 based merge"
 msgstr "utiliser une fusion basée sur diff3"
 
-#: builtin/merge-file.c:35
+#: builtin/merge-file.c:37
 msgid "for conflicts, use our version"
 msgstr "pour les conflits, utiliser notre version (our)"
 
-#: builtin/merge-file.c:37
+#: builtin/merge-file.c:39
 msgid "for conflicts, use their version"
 msgstr "pour les conflits, utiliser leur version (their)"
 
-#: builtin/merge-file.c:39
+#: builtin/merge-file.c:41
 msgid "for conflicts, use a union version"
 msgstr "pour les conflits, utiliser l'ensemble des versions"
 
-#: builtin/merge-file.c:42
+#: builtin/merge-file.c:44
 msgid "for conflicts, use this marker size"
 msgstr "pour les conflits, utiliser cette taille de marqueur"
 
-#: builtin/merge-file.c:43
+#: builtin/merge-file.c:45
 msgid "do not warn about conflicts"
 msgstr "ne pas avertir à propos des conflits"
 
-#: builtin/merge-file.c:45
+#: builtin/merge-file.c:47
 msgid "set labels for file1/orig-file/file2"
 msgstr "définir les labels pour fichier1/fichier-orig/fichier2"
 
@@ -12921,6 +13521,23 @@
 msgid "allow creation of more than one tree"
 msgstr "autoriser la création de plus d'un arbre"
 
+#: builtin/multi-pack-index.c:8
+msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
+msgstr "git multi-pack-index [--object-dir=<dir>] (write|verify)"
+
+#: builtin/multi-pack-index.c:21
+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:39
+msgid "too many arguments"
+msgstr "trop d'arguments"
+
+#: builtin/multi-pack-index.c:48
+#, c-format
+msgid "unrecognized verb: %s"
+msgstr "verbe non reconnu : %s"
+
 #: builtin/mv.c:17
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<options>] <source>... <destination>"
@@ -13010,7 +13627,7 @@
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:276 builtin/remote.c:716 builtin/repack.c:494
+#: builtin/mv.c:276 builtin/remote.c:717 builtin/repack.c:511
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
@@ -13203,39 +13820,34 @@
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:236 builtin/tag.c:508
-#, c-format
-msgid "cannot read '%s'"
-msgstr "impossible de lire '%s'"
-
-#: builtin/notes.c:238 builtin/tag.c:511
+#: builtin/notes.c:242 builtin/tag.c:513
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
 
-#: builtin/notes.c:257 builtin/notes.c:308 builtin/notes.c:310
-#: builtin/notes.c:378 builtin/notes.c:433 builtin/notes.c:519
-#: builtin/notes.c:524 builtin/notes.c:602 builtin/notes.c:664
+#: builtin/notes.c:263 builtin/notes.c:313 builtin/notes.c:315
+#: builtin/notes.c:383 builtin/notes.c:438 builtin/notes.c:524
+#: builtin/notes.c:529 builtin/notes.c:607 builtin/notes.c:669
 #, 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:260
+#: builtin/notes.c:265
 #, c-format
 msgid "failed to read object '%s'."
 msgstr "impossible de lire l'objet '%s'."
 
-#: builtin/notes.c:264
+#: builtin/notes.c:268
 #, 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:304
+#: builtin/notes.c:309
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "ligne en entrée malformée : '%s'."
 
-#: builtin/notes.c:319
+#: builtin/notes.c:324
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
 msgstr "impossible de copier les notes de '%s' vers '%s'"
@@ -13243,47 +13855,47 @@
 #. TRANSLATORS: the first %s will be replaced by a git
 #. notes command: 'add', 'merge', 'remove', etc.
 #.
-#: builtin/notes.c:351
+#: builtin/notes.c:356
 #, 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:371 builtin/notes.c:426 builtin/notes.c:502
-#: builtin/notes.c:514 builtin/notes.c:590 builtin/notes.c:657
-#: builtin/notes.c:807 builtin/notes.c:954 builtin/notes.c:975
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:507
+#: builtin/notes.c:519 builtin/notes.c:595 builtin/notes.c:662
+#: builtin/notes.c:812 builtin/notes.c:959 builtin/notes.c:980
 msgid "too many parameters"
 msgstr "trop de paramètres"
 
-#: builtin/notes.c:384 builtin/notes.c:670
+#: builtin/notes.c:389 builtin/notes.c:675
 #, c-format
 msgid "no note found for object %s."
 msgstr "pas de note trouvée pour l'objet %s."
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:410 builtin/notes.c:573
 msgid "note contents as a string"
 msgstr "contenu de la note sous forme de chaîne"
 
-#: builtin/notes.c:408 builtin/notes.c:571
+#: builtin/notes.c:413 builtin/notes.c:576
 msgid "note contents in a file"
 msgstr "contenu de la note dans un fichier"
 
-#: builtin/notes.c:411 builtin/notes.c:574
+#: builtin/notes.c:416 builtin/notes.c:579
 msgid "reuse and edit specified note object"
 msgstr "réutiliser et éditer l'objet de note spécifié"
 
-#: builtin/notes.c:414 builtin/notes.c:577
+#: builtin/notes.c:419 builtin/notes.c:582
 msgid "reuse specified note object"
 msgstr "réutiliser l'objet de note spécifié"
 
-#: builtin/notes.c:417 builtin/notes.c:580
+#: builtin/notes.c:422 builtin/notes.c:585
 msgid "allow storing empty note"
 msgstr "permettre de stocker une note vide"
 
-#: builtin/notes.c:418 builtin/notes.c:489
+#: builtin/notes.c:423 builtin/notes.c:494
 msgid "replace existing notes"
 msgstr "remplacer les notes existantes"
 
-#: builtin/notes.c:443
+#: builtin/notes.c:448
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -13292,30 +13904,30 @@
 "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:458 builtin/notes.c:537
+#: builtin/notes.c:463 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:469 builtin/notes.c:629 builtin/notes.c:894
+#: builtin/notes.c:474 builtin/notes.c:634 builtin/notes.c:899
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Suppression de la note pour l'objet %s\n"
 
-#: builtin/notes.c:490
+#: builtin/notes.c:495
 msgid "read objects from stdin"
 msgstr "lire les objets depuis l'entrée standard"
 
-#: builtin/notes.c:492
+#: 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:510
+#: builtin/notes.c:515
 msgid "too few parameters"
 msgstr "pas assez de paramètres"
 
-#: builtin/notes.c:531
+#: builtin/notes.c:536
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -13324,12 +13936,12 @@
 "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:543
+#: 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:595
+#: builtin/notes.c:600
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -13338,52 +13950,52 @@
 "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:690
+#: builtin/notes.c:695
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la suppression de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:692
+#: builtin/notes.c:697
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "échec de la suppression de la référence NOTES_MERGE_REF"
 
-#: builtin/notes.c:694
+#: builtin/notes.c:699
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "échec de la suppression de la copie de travail 'git notes merge'"
 
-#: builtin/notes.c:714
+#: builtin/notes.c:719
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la lecture de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:716
+#: builtin/notes.c:721
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible de trouver le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:718
+#: builtin/notes.c:723
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible d'analyser le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:731
+#: builtin/notes.c:736
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "échec de la résolution de NOTES_MERGE_REF"
 
-#: builtin/notes.c:734
+#: builtin/notes.c:739
 msgid "failed to finalize notes merge"
 msgstr "impossible de finaliser la fusion de notes"
 
-#: builtin/notes.c:760
+#: builtin/notes.c:765
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "stratégie de fusion de notes inconnue %s"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:781
 msgid "General options"
 msgstr "Options générales"
 
-#: builtin/notes.c:778
+#: builtin/notes.c:783
 msgid "Merge options"
 msgstr "Options de fusion"
 
-#: builtin/notes.c:780
+#: builtin/notes.c:785
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -13391,47 +14003,47 @@
 "résoudre les conflits de notes en utilisant la stratégie donnée (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:782
+#: builtin/notes.c:787
 msgid "Committing unmerged notes"
 msgstr "Validation des notes non fusionnées"
 
-#: builtin/notes.c:784
+#: builtin/notes.c:789
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "finaliser la fusion de notes en validant les notes non fusionnées"
 
-#: builtin/notes.c:786
+#: builtin/notes.c:791
 msgid "Aborting notes merge resolution"
 msgstr "Abandon de la résolution de fusion des notes"
 
-#: builtin/notes.c:788
+#: builtin/notes.c:793
 msgid "abort notes merge"
 msgstr "abandonner la fusion de notes"
 
-#: builtin/notes.c:799
+#: builtin/notes.c:804
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "--commit, --abort et -s/--strategy sont mutuellement incompatibles"
 
-#: builtin/notes.c:804
+#: builtin/notes.c:809
 msgid "must specify a notes ref to merge"
 msgstr "vous devez spécifier une référence de notes à fusionner"
 
-#: builtin/notes.c:828
+#: builtin/notes.c:833
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "-s/--strategy inconnu : %s"
 
-#: builtin/notes.c:865
+#: builtin/notes.c:870
 #, 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:868
+#: builtin/notes.c:873
 #, 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:870
+#: builtin/notes.c:875
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -13442,177 +14054,177 @@
 "valide le résultat avec 'git notes merges --commit', ou abandonnez la fusion "
 "avec 'git notes merge --abort'.\n"
 
-#: builtin/notes.c:892
+#: builtin/notes.c:897
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "L'objet %s n'a pas de note\n"
 
-#: builtin/notes.c:904
+#: builtin/notes.c:909
 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:907
+#: builtin/notes.c:912
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: builtin/notes.c:945 builtin/prune.c:108 builtin/worktree.c:152
+#: builtin/notes.c:950 builtin/prune.c:108 builtin/worktree.c:164
 msgid "do not remove, show only"
 msgstr "ne pas supprimer, afficher seulement"
 
-#: builtin/notes.c:946
+#: builtin/notes.c:951
 msgid "report pruned notes"
 msgstr "afficher les notes éliminées"
 
-#: builtin/notes.c:988
+#: builtin/notes.c:993
 msgid "notes-ref"
 msgstr "références-notes"
 
-#: builtin/notes.c:989
+#: builtin/notes.c:994
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1024
+#: builtin/notes.c:1029
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
 
-#: builtin/pack-objects.c:48
+#: builtin/pack-objects.c:51
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr ""
 "git pack-objects --stdout [options...] [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:49
+#: builtin/pack-objects.c:52
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 "git pack-objects [options...] base-name [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:414
+#: builtin/pack-objects.c:422
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "mauvais CRC d'objet empaqueté pour %s"
 
-#: builtin/pack-objects.c:425
+#: builtin/pack-objects.c:433
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "objet empaqueté corrompu pour %s"
 
-#: builtin/pack-objects.c:556
+#: builtin/pack-objects.c:564
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "delta récursif détecté pour l'objet %s"
 
-#: builtin/pack-objects.c:756
+#: builtin/pack-objects.c:775
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "%u objets commandés, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:769
+#: builtin/pack-objects.c:788
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "le fichier packet est invalide : %s"
 
-#: builtin/pack-objects.c:773
+#: builtin/pack-objects.c:792
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "ouverture du fichier paquet pour réutilisation impossible : %s"
 
-#: builtin/pack-objects.c:777
+#: builtin/pack-objects.c:796
 msgid "unable to seek in reused packfile"
 msgstr "impossible de rechercher (seek) dans le fichier paquet réutilisé"
 
-#: builtin/pack-objects.c:788
+#: builtin/pack-objects.c:807
 msgid "unable to read from reused packfile"
 msgstr "lecture du fichier de paquet réutilisé impossible"
 
-#: builtin/pack-objects.c:816
+#: builtin/pack-objects.c:835
 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:829
+#: builtin/pack-objects.c:848
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:891 builtin/update-index.c:88
+#: builtin/pack-objects.c:910 builtin/update-index.c:88
 #, c-format
 msgid "failed to stat %s"
 msgstr "échec du stat de %s"
 
-#: builtin/pack-objects.c:944
+#: builtin/pack-objects.c:963
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "%<PRIu32> objets écrits, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:1112
+#: builtin/pack-objects.c:1157
 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:1489
+#: builtin/pack-objects.c:1585
 #, 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:1498
+#: builtin/pack-objects.c:1594
 #, 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:1771
+#: builtin/pack-objects.c:1863
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
-#: builtin/pack-objects.c:1913
+#: builtin/pack-objects.c:1998
 #, c-format
 msgid "unable to get size of %s"
 msgstr "impossible de récupérer la taille de %s"
 
-#: builtin/pack-objects.c:1928
+#: builtin/pack-objects.c:2013
 #, 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:1995 builtin/pack-objects.c:2011
-#: builtin/pack-objects.c:2021
+#: builtin/pack-objects.c:2083 builtin/pack-objects.c:2099
+#: builtin/pack-objects.c:2109
 #, c-format
 msgid "object %s cannot be read"
 msgstr "l'objet %s ne peut être lu"
 
-#: builtin/pack-objects.c:1998 builtin/pack-objects.c:2025
+#: builtin/pack-objects.c:2086 builtin/pack-objects.c:2113
 #, c-format
-msgid "object %s inconsistent object length (%lu vs %lu)"
-msgstr "longueur inconsistante de l'objet %s (%lu contre %lu)"
+msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
+msgstr "objet %s longueur de l'objet inconsistante (%<PRIuMAX> contre %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2035
+#: builtin/pack-objects.c:2123
 msgid "suboptimal pack - out of memory"
 msgstr "paquet sous-optimal - mémoire insuffisante"
 
-#: builtin/pack-objects.c:2366
+#: builtin/pack-objects.c:2451
 #, 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:2502
+#: builtin/pack-objects.c:2583
 #, 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:2586
+#: builtin/pack-objects.c:2670
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2592
+#: builtin/pack-objects.c:2676
 msgid "inconsistency with delta count"
 msgstr "inconsistance dans le compte de delta"
 
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2753
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -13621,7 +14233,7 @@
 "ID d'objet de bord attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2677
+#: builtin/pack-objects.c:2759
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -13630,240 +14242,244 @@
 "ID d'objet attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2757
+#: builtin/pack-objects.c:2855
 msgid "invalid value for --missing"
 msgstr "valeur invalide pour --missing"
 
-#: builtin/pack-objects.c:2816 builtin/pack-objects.c:2924
+#: builtin/pack-objects.c:2914 builtin/pack-objects.c:3022
 msgid "cannot open pack index"
 msgstr "impossible d'ouvrir l'index de paquet"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2945
 #, 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:2932
+#: builtin/pack-objects.c:3030
 msgid "unable to force loose object"
 msgstr "impossible de forcer l'objet libre"
 
-#: builtin/pack-objects.c:3019
+#: builtin/pack-objects.c:3120
 #, c-format
 msgid "not a rev '%s'"
 msgstr "'%s' n'est pas une révision"
 
-#: builtin/pack-objects.c:3022
+#: builtin/pack-objects.c:3123
 #, c-format
 msgid "bad revision '%s'"
 msgstr "mauvaise révision '%s'"
 
-#: builtin/pack-objects.c:3042
+#: builtin/pack-objects.c:3148
 msgid "unable to add recent objects"
 msgstr "impossible d'ajouter les objets récents"
 
-#: builtin/pack-objects.c:3092
+#: builtin/pack-objects.c:3201
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:3096
+#: builtin/pack-objects.c:3205
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:3127
+#: builtin/pack-objects.c:3235
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/pack-objects.c:3129
+#: builtin/pack-objects.c:3237
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/pack-objects.c:3131
+#: builtin/pack-objects.c:3239
 msgid "show progress meter during object writing phase"
 msgstr "afficher la barre de progression durant la phase d'écrite des objets"
 
-#: builtin/pack-objects.c:3134
+#: builtin/pack-objects.c:3242
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "similaire à --all-progress quand la barre de progression est affichée"
 
-#: builtin/pack-objects.c:3135
+#: builtin/pack-objects.c:3243
 msgid "<version>[,<offset>]"
 msgstr "<version>[,<décalage>]"
 
-#: builtin/pack-objects.c:3136
+#: builtin/pack-objects.c:3244
 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:3139
+#: builtin/pack-objects.c:3247
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:3141
+#: builtin/pack-objects.c:3249
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:3143
+#: builtin/pack-objects.c:3251
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:3145
+#: builtin/pack-objects.c:3253
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:3147
+#: builtin/pack-objects.c:3255
 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:3149
+#: builtin/pack-objects.c:3257
 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:3151
+#: builtin/pack-objects.c:3259
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:3153
+#: builtin/pack-objects.c:3261
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:3155
+#: builtin/pack-objects.c:3263
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:3157
+#: builtin/pack-objects.c:3265
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleurs correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:3159
+#: builtin/pack-objects.c:3267
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3269
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:3163
+#: builtin/pack-objects.c:3271
 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:3166
+#: builtin/pack-objects.c:3274
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:3169
+#: builtin/pack-objects.c:3277
 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:3172
+#: builtin/pack-objects.c:3280
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:3175
+#: builtin/pack-objects.c:3283
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:3177
+#: builtin/pack-objects.c:3285
 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:3179
+#: builtin/pack-objects.c:3287
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:3181
+#: builtin/pack-objects.c:3289
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:3183
+#: builtin/pack-objects.c:3291
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:3186
+#: builtin/pack-objects.c:3294
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:3188
+#: builtin/pack-objects.c:3296
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:3190
+#: builtin/pack-objects.c:3298
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:3192
+#: builtin/pack-objects.c:3300
 msgid "ignore this pack"
 msgstr "ignorer ce paquet"
 
-#: builtin/pack-objects.c:3194
+#: builtin/pack-objects.c:3302
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:3196
+#: builtin/pack-objects.c:3304
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:3198
+#: builtin/pack-objects.c:3306
 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:3200
+#: builtin/pack-objects.c:3308
 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:3203
+#: builtin/pack-objects.c:3311
 msgid "handling for missing objects"
 msgstr "gestion des objets manquants"
 
-#: builtin/pack-objects.c:3206
+#: builtin/pack-objects.c:3314
 msgid "do not pack objects in promisor packfiles"
 msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
 
-#: builtin/pack-objects.c:3230
+#: builtin/pack-objects.c:3316
+msgid "respect islands during delta compression"
+msgstr "respecter les îlots pendant la compression des deltas"
+
+#: builtin/pack-objects.c:3340
 #, 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:3235
+#: builtin/pack-objects.c:3345
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit est trop grand, forcé à %d"
 
-#: builtin/pack-objects.c:3291
+#: builtin/pack-objects.c:3399
 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:3293
+#: builtin/pack-objects.c:3401
 msgid "minimum pack size limit is 1 MiB"
 msgstr "la taille limite minimale d'un paquet est 1 MiB"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3406
 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:3301
+#: builtin/pack-objects.c:3409
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable et --unpack-unreachable sont incompatibles"
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3415
 msgid "cannot use --filter without --stdout"
 msgstr "impossible d'utiliser --filter sans --stdout"
 
-#: builtin/pack-objects.c:3363
+#: builtin/pack-objects.c:3474
 msgid "Enumerating objects"
 msgstr "Énumération des objets"
 
-#: builtin/pack-objects.c:3382
+#: builtin/pack-objects.c:3493
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr ""
@@ -13905,53 +14521,57 @@
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "limiter la traversée aux objets hors des fichiers paquets prometteurs"
 
-#: builtin/prune.c:128
+#: builtin/prune.c:129
 msgid "cannot prune in a precious-objects repo"
 msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
 
-#: builtin/pull.c:59 builtin/pull.c:61
+#: builtin/pull.c:60 builtin/pull.c:62
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Valeur invalide pour %s : %s"
 
-#: builtin/pull.c:81
+#: builtin/pull.c:82
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/pull.c:132
+#: builtin/pull.c:133
 msgid "control for recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/pull.c:136
+#: builtin/pull.c:137
 msgid "Options related to merging"
 msgstr "Options relatives à la fusion"
 
-#: builtin/pull.c:139
+#: builtin/pull.c:140
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:122
+#: builtin/pull.c:167 builtin/rebase--interactive.c:147 builtin/revert.c:122
 msgid "allow fast-forward"
 msgstr "autoriser l'avance rapide"
 
-#: builtin/pull.c:175
+#: builtin/pull.c:176
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "remiser avant et réappliquer après le rebasage automatiquement"
 
-#: builtin/pull.c:191
+#: builtin/pull.c:192
 msgid "Options related to fetching"
 msgstr "Options relatives au rapatriement"
 
-#: builtin/pull.c:209
+#: builtin/pull.c:202
+msgid "force overwrite of local branch"
+msgstr "forcer l'écrasement de la branche locale"
+
+#: builtin/pull.c:210
 msgid "number of submodules pulled in parallel"
 msgstr "nombre de sous-modules tirés en parallèle"
 
-#: builtin/pull.c:304
+#: builtin/pull.c:305
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Valeur invalide pour pull.ff : %s"
 
-#: builtin/pull.c:420
+#: builtin/pull.c:421
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -13959,14 +14579,14 @@
 "Il n'y a pas de candidate sur laquelle rebaser parmi les références que vous "
 "venez de récupérer."
 
-#: builtin/pull.c:422
+#: builtin/pull.c:423
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Il n'y a pas de candidate avec laquelle fusionner parmi les références que "
 "vous venez de récupérer."
 
-#: builtin/pull.c:423
+#: builtin/pull.c:424
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -13974,7 +14594,7 @@
 "Généralement, cela signifie que vous avez indiqué un spécificateur\n"
 "de référence joker qui n'a pas eu de correspondance sur le serveur distant."
 
-#: builtin/pull.c:426
+#: builtin/pull.c:427
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -13986,44 +14606,44 @@
 "configuration\n"
 "pour la branche actuelle, vous devez spécifier la branche avec la commande."
 
-#: builtin/pull.c:431 git-parse-remote.sh:73
+#: builtin/pull.c:432 builtin/rebase.c:760 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Vous n'êtes actuellement sur aucune branche."
 
-#: builtin/pull.c:433 builtin/pull.c:448 git-parse-remote.sh:79
+#: builtin/pull.c:434 builtin/pull.c:449 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "Veuillez spécifier sur quelle branche vous souhaiter rebaser."
 
-#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:82
+#: builtin/pull.c:436 builtin/pull.c:451 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "Veuillez spécifier une branche avec laquelle fusionner."
 
-#: builtin/pull.c:436 builtin/pull.c:451
+#: builtin/pull.c:437 builtin/pull.c:452
 msgid "See git-pull(1) for details."
 msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 
-#: builtin/pull.c:438 builtin/pull.c:444 builtin/pull.c:453
-#: git-parse-remote.sh:64
+#: builtin/pull.c:439 builtin/pull.c:445 builtin/pull.c:454
+#: builtin/rebase.c:766 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<distant>"
 
-#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:576
-#: git-parse-remote.sh:65
+#: builtin/pull.c:439 builtin/pull.c:454 builtin/pull.c:459
+#: git-legacy-rebase.sh:548 git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branche>"
 
-#: builtin/pull.c:446 git-parse-remote.sh:75
+#: builtin/pull.c:447 builtin/rebase.c:758 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "Pas d'information de suivi distant pour la branche actuelle."
 
-#: builtin/pull.c:455 git-parse-remote.sh:95
+#: builtin/pull.c:456 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 "Si vous souhaitez indiquer l'information de suivi distant pour cette "
 "branche, vous pouvez le faire avec :"
 
-#: builtin/pull.c:460
+#: builtin/pull.c:461
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -14033,29 +14653,34 @@
 "'%s'\n"
 "du serveur distant, mais cette référence n'a pas été récupérée."
 
-#: builtin/pull.c:829
+#: builtin/pull.c:565
+#, c-format
+msgid "unable to access commit %s"
+msgstr "impossible d'accéder le commit %s"
+
+#: builtin/pull.c:843
 msgid "ignoring --verify-signatures for rebase"
 msgstr "--verify-signatures est ignoré pour un rebasage"
 
-#: builtin/pull.c:877
+#: builtin/pull.c:891
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "l'option --[no-]autostash n'est valide qu'avec --rebase."
 
-#: builtin/pull.c:885
+#: builtin/pull.c:899
 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:888
+#: builtin/pull.c:902
 msgid "pull with rebase"
 msgstr "tirer avec un rebasage"
 
-#: builtin/pull.c:889
+#: builtin/pull.c:903
 msgid "please commit or stash them."
 msgstr "veuillez les valider ou les remiser."
 
-#: builtin/pull.c:914
+#: builtin/pull.c:928
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -14066,7 +14691,7 @@
 "avance rapide de votre copie de travail\n"
 "depuis le commit %s."
 
-#: builtin/pull.c:919
+#: builtin/pull.c:934
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -14083,15 +14708,15 @@
 "$ git reset --hard\n"
 "pour régénérer."
 
-#: builtin/pull.c:934
+#: builtin/pull.c:949
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Impossible de fusionner de multiples branches sur une tête vide."
 
-#: builtin/pull.c:938
+#: builtin/pull.c:953
 msgid "Cannot rebase onto multiple branches."
 msgstr "Impossible de rebaser sur de multiples branches."
 
-#: builtin/pull.c:945
+#: builtin/pull.c:960
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "impossible de rebaser avec des modifications de sous-modules enregistrées "
@@ -14417,25 +15042,24 @@
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<options>] <base> <ancien-sommet> <nouveau-sommet>"
 
-#: builtin/range-diff.c:26
+#: builtin/range-diff.c:21
 msgid "Percentage by which creation is weighted"
 msgstr "Pourcentage par lequel la création est pondérée"
 
-#: builtin/range-diff.c:28
-#, fuzzy
+#: builtin/range-diff.c:23
 msgid "use simple diff colors"
 msgstr "utiliser des couleurs de diff simples"
 
-#: builtin/range-diff.c:75 builtin/range-diff.c:79
+#: builtin/range-diff.c:61 builtin/range-diff.c:65
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "pas de .. dans la plage : '%s'"
 
-#: builtin/range-diff.c:89
+#: builtin/range-diff.c:75
 msgid "single arg format must be symmetric range"
 msgstr "un format d'argument unique doit être une plage symétrique"
 
-#: builtin/range-diff.c:104
+#: builtin/range-diff.c:90
 msgid "need two commit ranges"
 msgstr "plage entre deux commits requise"
 
@@ -14450,131 +15074,671 @@
 "sparse-checkout] [--index-output=<fichier>] (--empty | <arbre ou apparenté "
 "1> [<arbre ou apparenté 2> [<arbre ou apparenté 3>]])"
 
-#: builtin/read-tree.c:120
+#: builtin/read-tree.c:123
 msgid "write resulting index to <file>"
 msgstr "écrire l'index résultant dans <fichier>"
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:126
 msgid "only empty the index"
 msgstr "juste vider l'index"
 
-#: builtin/read-tree.c:125
+#: builtin/read-tree.c:128
 msgid "Merging"
 msgstr "Fusion"
 
-#: builtin/read-tree.c:127
+#: builtin/read-tree.c:130
 msgid "perform a merge in addition to a read"
 msgstr "effectuer une fusion en plus d'une lecture"
 
-#: builtin/read-tree.c:129
+#: builtin/read-tree.c:132
 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:131
+#: builtin/read-tree.c:134
 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:133
+#: builtin/read-tree.c:136
 msgid "same as -m, but discard unmerged entries"
 msgstr "comme -m, mais annule les éléments non fusionnés"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:137
 msgid "<subdirectory>/"
 msgstr "<sous-répertoire>/"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:138
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "lire l'arbre dans l'index dans <sous-répertoire>/"
 
-#: builtin/read-tree.c:138
+#: builtin/read-tree.c:141
 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:140
+#: builtin/read-tree.c:143
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:141
+#: builtin/read-tree.c:144
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "autoriser explicitement les fichiers ignorés à être écrasés"
 
-#: builtin/read-tree.c:144
+#: builtin/read-tree.c:147
 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:145
+#: builtin/read-tree.c:148
 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:147
+#: builtin/read-tree.c:150
 msgid "skip applying sparse checkout filter"
 msgstr "sauter l'application du filtre d'extraction creuse"
 
-#: builtin/read-tree.c:149
+#: builtin/read-tree.c:152
 msgid "debug unpack-trees"
 msgstr "déboguer unpack-trees"
 
-#: builtin/rebase--helper.c:8
-msgid "git rebase--helper [<options>]"
-msgstr "git rebase-helper [<options>]"
+#: builtin/rebase.c:29
+msgid ""
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
+"[<branch>]"
+msgstr "git rebase [-i] [options] [--exec <cmd>] [--onto <nouvelle-base>] [<amont>] [<branche>]"
 
-#: builtin/rebase--helper.c:24
+#: builtin/rebase.c:31
+msgid ""
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
+msgstr "git rebase [-i] [options] [--exec <cmd>] [--onto <nouvelle-base>] --root [<branche>]"
+
+#: builtin/rebase.c:33
+msgid "git rebase --continue | --abort | --skip | --edit-todo"
+msgstr "git rebase --continue | --abort | --skip | --edit-todo"
+
+#: builtin/rebase.c:119
+#, c-format
+msgid "%s requires an interactive rebase"
+msgstr "%s requiert un rebasage interactif"
+
+#: builtin/rebase.c:171
+#, c-format
+msgid "could not get 'onto': '%s'"
+msgstr "impossible d'accéder 'onto' : '%s'"
+
+#: builtin/rebase.c:186
+#, c-format
+msgid "invalid orig-head: '%s'"
+msgstr "orig-head invalide : '%s'"
+
+#: builtin/rebase.c:214
+#, c-format
+msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
+msgstr "allow_rerere_autoupdate invalide ignoré : '%s'"
+
+#: builtin/rebase.c:259
+#, c-format
+msgid "Could not read '%s'"
+msgstr "Impossible de lire '%s'"
+
+#: builtin/rebase.c:277
+#, c-format
+msgid "Cannot store %s"
+msgstr "Impossible de stocker %s"
+
+#: builtin/rebase.c:337
+msgid ""
+"Resolve all conflicts manually, mark them as resolved with\n"
+"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
+"You can instead skip this commit: run \"git rebase --skip\".\n"
+"To abort and get back to the state before \"git rebase\", run \"git rebase --"
+"abort\"."
+msgstr ""
+"Résolvez tous les conflits manuellement, marquez-les comme résolus avec\n"
+"\"git add/rm <fichier en conflit>\", puis lancez \"git rebase --continue\".\n"
+"Si vous préférez sauter ce commit, lancez \"git rebase --skip\". Pour "
+"arrêter\n"
+"et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
+
+#: builtin/rebase.c:561
+msgid "could not determine HEAD revision"
+msgstr "impossible de déterminer la révision HEAD"
+
+#: builtin/rebase.c:752
+#, c-format
+msgid ""
+"%s\n"
+"Please specify which branch you want to rebase against.\n"
+"See git-rebase(1) for details.\n"
+"\n"
+"    git rebase '<branch>'\n"
+"\n"
+msgstr ""
+"%s\n"
+"Veuillez spécifier sur quelle branche vous souhaiter rebaser.\n"
+"Voir git-rebase(1) pour plus de détails.\n"
+"\n"
+"    git rebase '<branche>'\n"
+"\n"
+
+#: builtin/rebase.c:768
+#, c-format
+msgid ""
+"If you wish to set tracking information for this branch you can do so with:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branch> %s\n"
+"\n"
+msgstr ""
+"Si vous souhaitez indiquer l'information de suivi distant pour cette branche, vous pouvez le faire avec :\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branche> %s\n"
+"\n"
+
+#: builtin/rebase.c:814
+msgid "rebase onto given branch instead of upstream"
+msgstr "rebaser sur la branche %s au lieu de la branche amont"
+
+#: builtin/rebase.c:816
+msgid "allow pre-rebase hook to run"
+msgstr "permettre le lancement du crochet pre-rebase"
+
+#: builtin/rebase.c:818
+msgid "be quiet. implies --no-stat"
+msgstr "être silencieux. implique --no-stat"
+
+#: builtin/rebase.c:821
+msgid "display a diffstat of what changed upstream"
+msgstr "afficher un diffstat de ce qui a changé en amont"
+
+#: builtin/rebase.c:824
+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:827
+msgid "add a Signed-off-by: line to each commit"
+msgstr "ajouter une ligne Signed-off-by à chaque message de validation"
+
+#: builtin/rebase.c:829 builtin/rebase.c:833 builtin/rebase.c:835
+msgid "passed to 'git am'"
+msgstr "passé à 'git am'"
+
+#: builtin/rebase.c:837 builtin/rebase.c:839
+msgid "passed to 'git apply'"
+msgstr "passé jusqu'à git-apply"
+
+#: builtin/rebase.c:841 builtin/rebase.c:844
+msgid "cherry-pick all commits, even if unchanged"
+msgstr "picorer tous les commits, même sans modifiant"
+
+#: builtin/rebase.c:846
+msgid "continue"
+msgstr "continuer"
+
+#: builtin/rebase.c:849
+msgid "skip current patch and continue"
+msgstr "sauter le patch courant et continuer"
+
+#: builtin/rebase.c:851
+msgid "abort and check out the original branch"
+msgstr "abandonner et extraire la branche d'origine"
+
+#: builtin/rebase.c:854
+msgid "abort but keep HEAD where it is"
+msgstr "abandonne mais garde HEAD où il est"
+
+#: builtin/rebase.c:855
+msgid "edit the todo list during an interactive rebase"
+msgstr "éditer la liste à faire lors d'un rebasage interactif"
+
+#: builtin/rebase.c:858
+msgid "show the patch file being applied or merged"
+msgstr "afficher le patch en cours d'application ou de fusion"
+
+#: builtin/rebase.c:861
+msgid "use merging strategies to rebase"
+msgstr "utiliser des stratégies de fusion pour rebaser"
+
+#: builtin/rebase.c:865
+msgid "let the user edit the list of commits to rebase"
+msgstr "laisser l'utilisateur éditer la liste des commits à rebaser"
+
+#: builtin/rebase.c:869
+msgid "try to recreate merges instead of ignoring them"
+msgstr "essayer de recréer les fusions au lieu de les ignorer"
+
+#: builtin/rebase.c:873
+msgid "allow rerere to update index  with resolved conflict"
+msgstr "permettre à rerere à mettre à jour l'index avec des conflits résolus"
+
+#: builtin/rebase.c:876
+msgid "preserve empty commits during rebase"
+msgstr "préserver les validations vides pendant le rebasage"
+
+#: builtin/rebase.c:878
+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:884
+msgid "automatically stash/stash pop before and after"
+msgstr "remiser et réappliquer automatiquement avant et après"
+
+#: builtin/rebase.c:886
+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:890
+msgid "allow rebasing commits with empty messages"
+msgstr "autoriser les commits de rebasage avec des messages vides"
+
+#: builtin/rebase.c:893
+msgid "try to rebase merges instead of skipping them"
+msgstr "essayer de rebaser les fusions au lieu de les garder"
+
+#: builtin/rebase.c:896
+msgid "use 'merge-base --fork-point' to refine upstream"
+msgstr "utiliser 'merge-base --fork-point' pour raffiner l'amont"
+
+#: builtin/rebase.c:898
+msgid "use the given merge strategy"
+msgstr "utiliser la stratégie de fusion indiquée"
+
+#: builtin/rebase.c:900 builtin/revert.c:111
+msgid "option"
+msgstr "option"
+
+#: builtin/rebase.c:901
+msgid "pass the argument through to the merge strategy"
+msgstr "passer les arguments jusqu'à la stratégie de fusion"
+
+#: builtin/rebase.c:904
+msgid "rebase all reachable commits up to the root(s)"
+msgstr "rebaser tous les objets inatteignables depuis les racines"
+
+#: builtin/rebase.c:920
+#, c-format
+msgid "could not exec %s"
+msgstr "impossible d'exécuter %s"
+
+#: builtin/rebase.c:938 git-legacy-rebase.sh:213
+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:979 git-legacy-rebase.sh:387
+msgid "No rebase in progress?"
+msgstr "Pas de rebasage en cours ?"
+
+#: builtin/rebase.c:982 git-legacy-rebase.sh:398
+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:995 git-legacy-rebase.sh:405
+msgid "Cannot read HEAD"
+msgstr "Impossible de lire HEAD"
+
+#: builtin/rebase.c:1008 git-legacy-rebase.sh:408
+msgid ""
+"You must edit all merge conflicts and then\n"
+"mark them as resolved using git add"
+msgstr ""
+"Vous devez éditer tous les conflits de fusion et\n"
+"les marquer comme résolus avec git add"
+
+#: builtin/rebase.c:1026
+msgid "could not discard worktree changes"
+msgstr "Impossible de supprimer les changements de l'arbre de travail"
+
+#: builtin/rebase.c:1044
+#, c-format
+msgid "could not move back to %s"
+msgstr "Impossible de revenir à %s"
+
+#: builtin/rebase.c:1055 builtin/rm.c:368
+#, c-format
+msgid "could not remove '%s'"
+msgstr "impossible de supprimer '%s'"
+
+#: builtin/rebase.c:1081
+#, c-format
+msgid ""
+"It seems that there is already a %s directory, and\n"
+"I wonder if you are in the middle of another rebase.  If that is the\n"
+"case, please try\n"
+"\t%s\n"
+"If that is not the case, please\n"
+"\t%s\n"
+"and run me again.  I am stopping in case you still have something\n"
+"valuable there.\n"
+msgstr ""
+"Il semble qu'il y ait déjà un répertoire %s, et je me demande\n"
+"si un autre rebasage n'est pas déjà en cours. Si c'est le cas,\n"
+"essayez\n"
+"\t%s\n"
+"Sinon, essayez\n"
+"\t%s\n"
+"puis relancez-moi à nouveau.  Je m'arrête au cas où vous auriez quelque chose\n"
+"d'important ici.\n"
+
+#: builtin/rebase.c:1102
+msgid "switch `C' expects a numerical value"
+msgstr "l'option `C' attend un valeur numérique"
+
+#: builtin/rebase.c:1139
+#, c-format
+msgid "Unknown mode: %s"
+msgstr "mode inconnu : %s"
+
+#: builtin/rebase.c:1161
+msgid "--strategy requires --merge or --interactive"
+msgstr "--stratégie requiert --merge ou --interactive"
+
+#: builtin/rebase.c:1204
+#, c-format
+msgid ""
+"error: cannot combine interactive options (--interactive, --exec, --rebase-"
+"merges, --preserve-merges, --keep-empty, --root + --onto) with am options "
+"(%s)"
+msgstr "erreur: impossible de combiner des options interactive (--interactive, --exec, --rebase-merges, --preserve-merges, --keep-empty, --root + --onto) avec les options am (%s)"
+
+#: builtin/rebase.c:1209
+#, c-format
+msgid ""
+"error: cannot combine merge options (--merge, --strategy, --strategy-option) "
+"with am options (%s)"
+msgstr "erreur : impossible de combiner les options de fusion (--merge, --strategy, --strategy-option) avec les options am (%s)"
+
+#: builtin/rebase.c:1229 git-legacy-rebase.sh:528
+msgid "error: cannot combine '--preserve-merges' with '--rebase-merges'"
+msgstr "erreur : impossible de combiner '--preserve-merges' avec '--rebase-merges'"
+
+#: builtin/rebase.c:1234 git-legacy-rebase.sh:534
+msgid "error: cannot combine '--rebase-merges' with '--strategy-option'"
+msgstr "erreur : impossible de combiner '--rebase-merges' avec '--strategy-option'"
+
+#: builtin/rebase.c:1237 git-legacy-rebase.sh:536
+msgid "error: cannot combine '--rebase-merges' with '--strategy'"
+msgstr "erreur : impossible de combiner '--rebase-merges' avec '--strategy'"
+
+#: builtin/rebase.c:1261
+#, c-format
+msgid "invalid upstream '%s'"
+msgstr "amont invalide '%s'"
+
+#: builtin/rebase.c:1267
+msgid "Could not create new root commit"
+msgstr "Impossible de créer un nouveau commit racine"
+
+#: builtin/rebase.c:1285
+#, c-format
+msgid "'%s': need exactly one merge base"
+msgstr "'%s': exactement une base de fusion nécessaire"
+
+#: builtin/rebase.c:1292
+#, c-format
+msgid "Does not point to a valid commit '%s'"
+msgstr "ne pointe pas sur une validation valide : '%s'"
+
+#: builtin/rebase.c:1317
+#, c-format
+msgid "fatal: no such branch/commit '%s'"
+msgstr "fatal : pas de branche ou commit '%s'"
+
+#: builtin/rebase.c:1325 builtin/submodule--helper.c:37
+#: builtin/submodule--helper.c:1930
+#, c-format
+msgid "No such ref: %s"
+msgstr "Référence inexistante : %s"
+
+#: builtin/rebase.c:1337
+msgid "Could not resolve HEAD to a revision"
+msgstr "Impossible de résoudre le commit HEAD vers un révision"
+
+#: builtin/rebase.c:1377 git-legacy-rebase.sh:657
+msgid "Cannot autostash"
+msgstr "Autoremisage impossible"
+
+#: builtin/rebase.c:1380
+#, c-format
+msgid "Unexpected stash response: '%s'"
+msgstr "réponse de remisage inattendue : '%s'"
+
+#: builtin/rebase.c:1386
+#, c-format
+msgid "Could not create directory for '%s'"
+msgstr "Impossible de créer le répertoire pour '%s'"
+
+#: builtin/rebase.c:1389
+#, c-format
+msgid "Created autostash: %s\n"
+msgstr "Autoremisage créé : %s\n"
+
+#: builtin/rebase.c:1392
+msgid "could not reset --hard"
+msgstr "impossible de réinitialiser --hard"
+
+#: builtin/rebase.c:1393 builtin/reset.c:113
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD est maintenant à %s"
+
+#: builtin/rebase.c:1409 git-legacy-rebase.sh:666
+msgid "Please commit or stash them."
+msgstr "Veuillez les valider ou les remiser."
+
+#: builtin/rebase.c:1436
+#, c-format
+msgid "could not parse '%s'"
+msgstr "impossible d'analyser '%s'"
+
+#: builtin/rebase.c:1447
+#, c-format
+msgid "could not switch to %s"
+msgstr "Impossible de basculer vers %s"
+
+#: builtin/rebase.c:1458 git-legacy-rebase.sh:689
+#, sh-format
+msgid "HEAD is up to date."
+msgstr "HEAD est à jour."
+
+#: builtin/rebase.c:1460
+#, c-format
+msgid "Current branch %s is up to date.\n"
+msgstr "La branche courante %s est à jour.\n"
+
+#: builtin/rebase.c:1468 git-legacy-rebase.sh:699
+#, sh-format
+msgid "HEAD is up to date, rebase forced."
+msgstr "HEAD est à jour, rebasage forcé."
+
+#: builtin/rebase.c:1470
+#, 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:1478 git-legacy-rebase.sh:208
+msgid "The pre-rebase hook refused to rebase."
+msgstr "Le crochet pre-rebase a refusé de rebaser."
+
+#: builtin/rebase.c:1484
+#, c-format
+msgid "Changes from %s to %s:\n"
+msgstr "Changements de %s sur %s :\n"
+
+#: builtin/rebase.c:1507
+#, 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:1513
+msgid "Could not detach HEAD"
+msgstr "Impossible de détacher HEAD"
+
+#: builtin/rebase.c:1522
+#, c-format
+msgid "Fast-forwarded %s to %s. \n"
+msgstr "Avance rapide de %s sur %s.\n"
+
+#: builtin/rebase--interactive.c:24
+msgid "no HEAD?"
+msgstr "pas de HEAD ?"
+
+#: builtin/rebase--interactive.c:51
+#, c-format
+msgid "could not create temporary %s"
+msgstr "impossible de créer un fichier temporaire %s"
+
+#: builtin/rebase--interactive.c:57
+msgid "could not mark as interactive"
+msgstr "impossible de marquer comme interactif"
+
+#: builtin/rebase--interactive.c:101
+#, c-format
+msgid "could not open %s"
+msgstr "impossible d'ouvrir %s"
+
+#: builtin/rebase--interactive.c:114
+msgid "could not generate todo list"
+msgstr "impossible de générer la liste à-faire"
+
+#: builtin/rebase--interactive.c:129
+msgid "git rebase--interactive [<options>]"
+msgstr "git rebase--interactive [<options>]"
+
+#: builtin/rebase--interactive.c:148
 msgid "keep empty commits"
 msgstr "garder les validations vides"
 
-#: builtin/rebase--helper.c:26 builtin/revert.c:124
+#: builtin/rebase--interactive.c:150 builtin/revert.c:124
 msgid "allow commits with empty messages"
 msgstr "autoriser les validations avec des messages vides"
 
-#: builtin/rebase--helper.c:27
+#: builtin/rebase--interactive.c:151
 msgid "rebase merge commits"
 msgstr "rebaser les commits de fusion"
 
-#: builtin/rebase--helper.c:29
+#: builtin/rebase--interactive.c:153
 msgid "keep original branch points of cousins"
 msgstr "conserver les points de branchement de cousins originaux"
 
-#: builtin/rebase--helper.c:30
+#: builtin/rebase--interactive.c:155
+msgid "move commits that begin with squash!/fixup!"
+msgstr "déplacer les commits qui commencent par squash!/fixup!"
+
+#: builtin/rebase--interactive.c:156
+msgid "sign commits"
+msgstr "signer les commits"
+
+#: builtin/rebase--interactive.c:158
 msgid "continue rebase"
 msgstr "continuer le rebasage"
 
-#: builtin/rebase--helper.c:32
-msgid "abort rebase"
-msgstr "abandonner le rebasage"
+#: builtin/rebase--interactive.c:160
+msgid "skip commit"
+msgstr "sauter le commit"
 
-#: builtin/rebase--helper.c:35
-msgid "make rebase script"
-msgstr "créer les script de rebasage"
+#: builtin/rebase--interactive.c:161
+msgid "edit the todo list"
+msgstr "éditer la liste à-faire"
 
-#: builtin/rebase--helper.c:37
+#: builtin/rebase--interactive.c:163
+msgid "show the current patch"
+msgstr "afficher le patch courant"
+
+#: builtin/rebase--interactive.c:166
 msgid "shorten commit ids in the todo list"
 msgstr "raccourcir les identifiants de commits dans la liste à-faire"
 
-#: builtin/rebase--helper.c:39
+#: builtin/rebase--interactive.c:168
 msgid "expand commit ids in the todo list"
 msgstr "étendre les identifiants de commit dans la liste à-faire"
 
-#: builtin/rebase--helper.c:41
+#: builtin/rebase--interactive.c:170
 msgid "check the todo list"
 msgstr "vérifier la liste à-faire"
 
-#: builtin/rebase--helper.c:43
-msgid "skip unnecessary picks"
-msgstr "éviter les commandes de picorage non nécessaires"
-
-#: builtin/rebase--helper.c:45
+#: builtin/rebase--interactive.c:172
 msgid "rearrange fixup/squash lines"
 msgstr "réarranger les lignes fixup/squash"
 
-#: builtin/rebase--helper.c:47
+#: builtin/rebase--interactive.c:174
 msgid "insert exec commands in todo list"
 msgstr "insérer les commandes exec dans la liste à-faire"
 
-#: builtin/rebase--helper.c:68
+#: builtin/rebase--interactive.c:175
+msgid "onto"
+msgstr "sur"
+
+#: builtin/rebase--interactive.c:177
+msgid "restrict-revision"
+msgstr "restrict-revision"
+
+#: builtin/rebase--interactive.c:177
+msgid "restrict revision"
+msgstr "restreindre la révision"
+
+#: builtin/rebase--interactive.c:178
+msgid "squash-onto"
+msgstr "écraser-sur"
+
+#: builtin/rebase--interactive.c:179
+msgid "squash onto"
+msgstr "écraser sur"
+
+#: builtin/rebase--interactive.c:181
+msgid "the upstream commit"
+msgstr "le commit amont"
+
+#: builtin/rebase--interactive.c:182
+msgid "head-name"
+msgstr "nom du head"
+
+#: builtin/rebase--interactive.c:182
+msgid "head name"
+msgstr "nom du head"
+
+#: builtin/rebase--interactive.c:187
+msgid "rebase strategy"
+msgstr "stratégie de rebasage"
+
+#: builtin/rebase--interactive.c:188
+msgid "strategy-opts"
+msgstr "options de stratégie"
+
+#: builtin/rebase--interactive.c:189
+msgid "strategy options"
+msgstr "options de stratégie"
+
+#: builtin/rebase--interactive.c:190
+msgid "switch-to"
+msgstr "switch-to"
+
+#: builtin/rebase--interactive.c:191
+msgid "the branch or commit to checkout"
+msgstr "la branche ou le commit à extraire"
+
+#: builtin/rebase--interactive.c:192
+msgid "onto-name"
+msgstr "sur-le-nom"
+
+#: builtin/rebase--interactive.c:192
+msgid "onto name"
+msgstr "sur le nom"
+
+#: builtin/rebase--interactive.c:193
+msgid "cmd"
+msgstr "cmd"
+
+#: builtin/rebase--interactive.c:193
+msgid "the command to run"
+msgstr "la commande à lancer"
+
+#: builtin/rebase--interactive.c:220
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
 
-#: builtin/receive-pack.c:32
+#: builtin/rebase--interactive.c:226
+msgid "a base commit must be provided with --upstream or --onto"
+msgstr "un commit de base doit être fourni avec --upstream ou --onto"
+
+#: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
@@ -14628,24 +15792,24 @@
 "\n"
 "Pour éliminer ce message, réglez-le à 'refuse'."
 
-#: builtin/receive-pack.c:1923
+#: builtin/receive-pack.c:1929
 msgid "quiet"
 msgstr "quiet"
 
-#: builtin/receive-pack.c:1937
+#: builtin/receive-pack.c:1943
 msgid "You must specify a directory."
 msgstr "Vous devez spécifier un répertoire."
 
-#: builtin/reflog.c:536 builtin/reflog.c:541
+#: builtin/reflog.c:563 builtin/reflog.c:568
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' n'est pas un horodatage valide"
 
-#: builtin/remote.c:15
+#: builtin/remote.c:16
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:16
+#: builtin/remote.c:17
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -14653,83 +15817,83 @@
 "git remote add [-t <branche>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <nom> <url>"
 
-#: builtin/remote.c:17 builtin/remote.c:37
+#: builtin/remote.c:18 builtin/remote.c:38
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <ancienne> <nouvelle>"
 
-#: builtin/remote.c:18 builtin/remote.c:42
+#: builtin/remote.c:19 builtin/remote.c:43
 msgid "git remote remove <name>"
 msgstr "git remote remove <nom>"
 
-#: builtin/remote.c:19 builtin/remote.c:47
+#: builtin/remote.c:20 builtin/remote.c:48
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <nom> (-a | --auto | -d | --delete | <branche>)"
 
-#: builtin/remote.c:20
+#: builtin/remote.c:21
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <nom>"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <nom>"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 "git remote [-v | --verbose] update [-p | --prune] [(<groupe> | "
 "<distante>)...]"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <nom> <branche>..."
 
-#: builtin/remote.c:24 builtin/remote.c:73
+#: builtin/remote.c:25 builtin/remote.c:74
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <nom>"
 
-#: builtin/remote.c:25 builtin/remote.c:78
+#: builtin/remote.c:26 builtin/remote.c:79
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <nom> <nouvelle-URL> [<ancienne-URL>]"
 
-#: builtin/remote.c:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <nom> <nouvelle-URL>"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <nom> <URL>"
 
-#: builtin/remote.c:32
+#: builtin/remote.c:33
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<options>] <nom> <URL>"
 
-#: builtin/remote.c:52
+#: builtin/remote.c:53
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <nom> <branche>..."
 
-#: builtin/remote.c:53
+#: builtin/remote.c:54
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <nom> <branche>..."
 
-#: builtin/remote.c:58
+#: builtin/remote.c:59
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<options>] <nom>"
 
-#: builtin/remote.c:63
+#: builtin/remote.c:64
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<options>] <nom>"
 
-#: builtin/remote.c:68
+#: builtin/remote.c:69
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<options>] [<groupe> | <distante>]..."
 
-#: builtin/remote.c:97
+#: builtin/remote.c:98
 #, c-format
 msgid "Updating %s"
 msgstr "Mise à jour de %s"
 
-#: builtin/remote.c:129
+#: builtin/remote.c:130
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -14737,88 +15901,88 @@
 "--mirror est dangereux et obsolète ; merci\n"
 "\t d'utiliser --mirror=fetch ou --mirror=push à la place"
 
-#: builtin/remote.c:146
+#: builtin/remote.c:147
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "argument miroir inconnu : %s"
 
-#: builtin/remote.c:162
+#: builtin/remote.c:163
 msgid "fetch the remote branches"
 msgstr "rapatrier les branches distantes"
 
-#: builtin/remote.c:164
+#: builtin/remote.c:165
 msgid "import all tags and associated objects when fetching"
 msgstr ""
 "importer toutes les étiquettes et les objets associés lors du rapatriement"
 
-#: builtin/remote.c:167
+#: builtin/remote.c:168
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "ou ne rapatrier aucune étiquette (--no-tags)"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "branch(es) to track"
 msgstr "branche(s) à suivre"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "master branch"
 msgstr "branche maîtresse"
 
-#: builtin/remote.c:172
+#: builtin/remote.c:173
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr ""
 "paramétrer la distante comme miroir pour pousser ou pour rapatrier depuis"
 
-#: builtin/remote.c:184
+#: builtin/remote.c:185
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "spécifier une branche maîtresse n'a pas de sens avec --mirror"
 
-#: builtin/remote.c:186
+#: builtin/remote.c:187
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr ""
 "spécifier les branches à suivre n'a de sens qu'avec des miroirs de "
 "rapatriement"
 
-#: builtin/remote.c:193 builtin/remote.c:635
+#: builtin/remote.c:194 builtin/remote.c:636
 #, c-format
 msgid "remote %s already exists."
 msgstr "la distante %s existe déjà."
 
-#: builtin/remote.c:197 builtin/remote.c:639
+#: builtin/remote.c:198 builtin/remote.c:640
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' n'est pas un nom valide de distante"
 
-#: builtin/remote.c:237
+#: builtin/remote.c:238
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Impossible de paramétrer la maîtresse '%s'"
 
-#: builtin/remote.c:343
+#: builtin/remote.c:344
 #, 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:442 builtin/remote.c:450
+#: builtin/remote.c:443 builtin/remote.c:451
 msgid "(matching)"
 msgstr "(correspond)"
 
-#: builtin/remote.c:454
+#: builtin/remote.c:455
 msgid "(delete)"
 msgstr "(supprimer)"
 
-#: builtin/remote.c:628 builtin/remote.c:764 builtin/remote.c:863
+#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
 #, c-format
-msgid "No such remote: %s"
-msgstr "Distante inconnue : %s"
+msgid "No such remote: '%s'"
+msgstr "Pas de serveur remote : '%s'"
 
-#: builtin/remote.c:645
+#: builtin/remote.c:646
 #, 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:665
+#: builtin/remote.c:666
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -14829,17 +15993,17 @@
 "\t%s\n"
 "\tVeuillez mettre à jour la configuration manuellement si nécessaire."
 
-#: builtin/remote.c:701
+#: builtin/remote.c:702
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "échec de suppression de '%s'"
 
-#: builtin/remote.c:735
+#: builtin/remote.c:736
 #, c-format
 msgid "creating '%s' failed"
 msgstr "échec de création de '%s'"
 
-#: builtin/remote.c:801
+#: builtin/remote.c:802
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -14854,118 +16018,118 @@
 "supprimées ;\n"
 "pour les supprimer, utilisez :"
 
-#: builtin/remote.c:815
+#: builtin/remote.c:816
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Impossible de supprimer la section de configuration '%s'"
 
-#: builtin/remote.c:916
+#: builtin/remote.c:917
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
 
-#: builtin/remote.c:919
+#: builtin/remote.c:920
 msgid " tracked"
 msgstr " suivi"
 
-#: builtin/remote.c:921
+#: builtin/remote.c:922
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " dépassé (utilisez 'git remote prune' pour supprimer)"
 
-#: builtin/remote.c:923
+#: builtin/remote.c:924
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:964
+#: builtin/remote.c:965
 #, 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:973
+#: builtin/remote.c:974
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "rebase de manière interactive sur la distante %s"
 
-#: builtin/remote.c:975
+#: builtin/remote.c:976
 #, 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:978
+#: builtin/remote.c:979
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "rebase sur la distante %s"
 
-#: builtin/remote.c:982
+#: builtin/remote.c:983
 #, c-format
 msgid " merges with remote %s"
 msgstr " fusionne avec la distante %s"
 
-#: builtin/remote.c:985
+#: builtin/remote.c:986
 #, c-format
 msgid "merges with remote %s"
 msgstr "fusionne avec la distante %s"
 
-#: builtin/remote.c:988
+#: builtin/remote.c:989
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    et avec la distante %s\n"
 
-#: builtin/remote.c:1031
+#: builtin/remote.c:1032
 msgid "create"
 msgstr "créer"
 
-#: builtin/remote.c:1034
+#: builtin/remote.c:1035
 msgid "delete"
 msgstr "supprimer"
 
-#: builtin/remote.c:1038
+#: builtin/remote.c:1039
 msgid "up to date"
 msgstr "à jour"
 
-#: builtin/remote.c:1041
+#: builtin/remote.c:1042
 msgid "fast-forwardable"
 msgstr "peut être mis à jour en avance rapide"
 
-#: builtin/remote.c:1044
+#: builtin/remote.c:1045
 msgid "local out of date"
 msgstr "le local n'est pas à jour"
 
-#: builtin/remote.c:1051
+#: builtin/remote.c:1052
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s force vers %-*s (%s)"
 
-#: builtin/remote.c:1054
+#: builtin/remote.c:1055
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s pousse vers %-*s (%s)"
 
-#: builtin/remote.c:1058
+#: builtin/remote.c:1059
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s force vers %s"
 
-#: builtin/remote.c:1061
+#: builtin/remote.c:1062
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s pousse vers %s"
 
-#: builtin/remote.c:1129
+#: builtin/remote.c:1130
 msgid "do not query remotes"
 msgstr "ne pas interroger les distantes"
 
-#: builtin/remote.c:1156
+#: builtin/remote.c:1157
 #, c-format
 msgid "* remote %s"
 msgstr "* distante %s"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1158
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL de rapatriement : %s"
 
-#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
+#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
 msgid "(no URL)"
 msgstr "(pas d'URL)"
 
@@ -14973,25 +16137,25 @@
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1173 builtin/remote.c:1175
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL push : %s"
 
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Branche HEAD : %s"
 
-#: builtin/remote.c:1176
+#: builtin/remote.c:1177
 msgid "(not queried)"
 msgstr "(non demandé)"
 
-#: builtin/remote.c:1178
+#: builtin/remote.c:1179
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: builtin/remote.c:1182
+#: builtin/remote.c:1183
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -14999,171 +16163,171 @@
 "  Branche HEAD (la HEAD distante est ambiguë, peut être l'une des "
 "suivantes) :\n"
 
-#: builtin/remote.c:1194
+#: builtin/remote.c:1195
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branche distante :%s"
 msgstr[1] "  Branches distantes :%s"
 
-#: builtin/remote.c:1197 builtin/remote.c:1223
+#: builtin/remote.c:1198 builtin/remote.c:1224
 msgid " (status not queried)"
 msgstr " (état non demandé)"
 
-#: builtin/remote.c:1206
+#: builtin/remote.c:1207
 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:1214
+#: builtin/remote.c:1215
 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:1220
+#: builtin/remote.c:1221
 #, 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:1241
+#: builtin/remote.c:1242
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
 
-#: builtin/remote.c:1243
+#: builtin/remote.c:1244
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "supprimer refs/remotes/<nom>/HEAD"
 
-#: builtin/remote.c:1258
+#: builtin/remote.c:1259
 msgid "Cannot determine remote HEAD"
 msgstr "Impossible de déterminer la HEAD distante"
 
-#: builtin/remote.c:1260
+#: builtin/remote.c:1261
 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:1270
+#: builtin/remote.c:1271
 #, c-format
 msgid "Could not delete %s"
 msgstr "Impossible de supprimer %s"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1279
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Référence non valide : %s"
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1281
 #, c-format
 msgid "Could not setup %s"
 msgstr "Impossible de paramétrer %s"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s se retrouvera en suspens !"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1300
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s se retrouve en suspens !"
 
-#: builtin/remote.c:1309
+#: builtin/remote.c:1310
 #, c-format
 msgid "Pruning %s"
 msgstr "Élimination de %s"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1311
 #, c-format
 msgid "URL: %s"
 msgstr "URL : %s"
 
-#: builtin/remote.c:1326
+#: builtin/remote.c:1327
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [serait éliminé] %s"
 
-#: builtin/remote.c:1329
+#: builtin/remote.c:1330
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [éliminé] %s"
 
-#: builtin/remote.c:1374
+#: builtin/remote.c:1375
 msgid "prune remotes after fetching"
 msgstr "éliminer les distants après le rapatriement"
 
-#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
+#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Pas de serveur remote '%s'"
 
-#: builtin/remote.c:1453
+#: builtin/remote.c:1454
 msgid "add branch"
 msgstr "ajouter une branche"
 
-#: builtin/remote.c:1460
+#: builtin/remote.c:1461
 msgid "no remote specified"
 msgstr "pas de serveur distant spécifié"
 
-#: builtin/remote.c:1477
+#: builtin/remote.c:1478
 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:1479
+#: builtin/remote.c:1480
 msgid "return all URLs"
 msgstr "retourner toutes les URLs"
 
-#: builtin/remote.c:1507
+#: builtin/remote.c:1508
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "aucune URL configurée pour le dépôt distant '%s'"
 
-#: builtin/remote.c:1533
+#: builtin/remote.c:1534
 msgid "manipulate push URLs"
 msgstr "manipuler les URLs push"
 
-#: builtin/remote.c:1535
+#: builtin/remote.c:1536
 msgid "add URL"
 msgstr "ajouter une URL"
 
-#: builtin/remote.c:1537
+#: builtin/remote.c:1538
 msgid "delete URLs"
 msgstr "supprimer des URLs"
 
-#: builtin/remote.c:1544
+#: builtin/remote.c:1545
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete n'a aucun sens"
 
-#: builtin/remote.c:1583
+#: builtin/remote.c:1584
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Motif d'URL ancien invalide : %s"
 
-#: builtin/remote.c:1591
+#: builtin/remote.c:1592
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Pas d'URL trouvée : %s"
 
-#: builtin/remote.c:1593
+#: builtin/remote.c:1594
 msgid "Will not delete all non-push URLs"
 msgstr "Pas de suppression de toutes les URLs non-push"
 
-#: builtin/remote.c:1609
+#: builtin/remote.c:1610
 msgid "be verbose; must be placed before a subcommand"
 msgstr "être verbeux : doit être placé avant une sous-commande"
 
-#: builtin/remote.c:1640
+#: builtin/remote.c:1641
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Sous-commande inconnue : %s"
 
-#: builtin/repack.c:20
+#: builtin/repack.c:22
 msgid "git repack [<options>]"
 msgstr "git repack [<options>]"
 
-#: builtin/repack.c:25
+#: builtin/repack.c:27
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -15172,92 +16336,96 @@
 "Utilisez\n"
 "--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
 
-#: builtin/repack.c:287
+#: builtin/repack.c:294
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:289
+#: builtin/repack.c:296
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:292
+#: builtin/repack.c:299
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:294
+#: builtin/repack.c:301
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:296
+#: builtin/repack.c:303
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:298
+#: builtin/repack.c:305
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git update-server-info"
 
-#: builtin/repack.c:301
+#: builtin/repack.c:308
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:310
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:312
+msgid "pass --delta-islands to git-pack-objects"
+msgstr "passer --delta-islands à git-pack-objects"
+
+#: builtin/repack.c:313
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:305
+#: builtin/repack.c:314
 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:307
+#: builtin/repack.c:316
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:309
+#: builtin/repack.c:318
 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:310 builtin/repack.c:316
+#: builtin/repack.c:319 builtin/repack.c:325
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:311
+#: builtin/repack.c:320
 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:313
+#: builtin/repack.c:322
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:315
+#: builtin/repack.c:324
 msgid "limits the maximum number of threads"
 msgstr "limite le nombre maximal de fils"
 
-#: builtin/repack.c:317
+#: builtin/repack.c:326
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:319
+#: builtin/repack.c:328
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:321
+#: builtin/repack.c:330
 msgid "do not repack this pack"
 msgstr "ne pas rempaqueter ce paquet"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:340
 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:335
+#: builtin/repack.c:344
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:510 builtin/worktree.c:140
+#: builtin/repack.c:527
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -15286,7 +16454,7 @@
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<format>] [-l [<motif>]]"
 
-#: builtin/replace.c:57 builtin/replace.c:203 builtin/replace.c:206
+#: builtin/replace.c:58 builtin/replace.c:203 builtin/replace.c:206
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "échec à résoudre '%s' comme une référence valide"
@@ -15515,178 +16683,195 @@
 msgstr ""
 "git rerere [clear | forget <chemin>... | status | remaining | diff | gc]"
 
-#: builtin/rerere.c:59
+#: builtin/rerere.c:60
 msgid "register clean resolutions in index"
 msgstr "enregistrer des résolutions propres dans l'index"
 
-#: builtin/reset.c:29
+#: builtin/rerere.c:79
+msgid "'git rerere forget' without paths is deprecated"
+msgstr "'git rerere forget' sans chemin est obsolète"
+
+#: builtin/rerere.c:111
+#, c-format
+msgid "unable to generate diff for '%s'"
+msgstr "échec de la génération de diff pour '%s'"
+
+#: builtin/reset.c:31
 msgid ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 
-#: builtin/reset.c:30
+#: builtin/reset.c:32
 msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
 msgstr "git reset [-q] [<arbre ou apparenté>] [--] <chemins>..."
 
-#: builtin/reset.c:31
+#: builtin/reset.c:33
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
 msgstr "git reset --patch [<arbre ou apparenté>] [--] [<chemins>...]"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "mixed"
 msgstr "mixed"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "soft"
 msgstr "soft"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "hard"
 msgstr "hard"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "merge"
 msgstr "merge"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "keep"
 msgstr "keep"
 
-#: builtin/reset.c:78
+#: builtin/reset.c:80
 msgid "You do not have a valid HEAD."
 msgstr "Vous n'avez pas une HEAD valide."
 
-#: builtin/reset.c:80
+#: builtin/reset.c:82
 msgid "Failed to find tree of HEAD."
 msgstr "Impossible de trouver l'arbre pour HEAD."
 
-#: builtin/reset.c:86
+#: builtin/reset.c:88
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Impossible de trouver l'arbre pour %s."
 
-#: builtin/reset.c:111
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD est maintenant à %s"
-
-#: builtin/reset.c:189
+#: builtin/reset.c:192
 #, 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:289
+#: builtin/reset.c:292
 msgid "be quiet, only report errors"
 msgstr "être silencieux, afficher seulement les erreurs"
 
-#: builtin/reset.c:291
+#: builtin/reset.c:294
 msgid "reset HEAD and index"
 msgstr "réinitialiser HEAD et l'index"
 
-#: builtin/reset.c:292
+#: builtin/reset.c:295
 msgid "reset only HEAD"
 msgstr "réinitialiser seulement HEAD"
 
-#: builtin/reset.c:294 builtin/reset.c:296
+#: builtin/reset.c:297 builtin/reset.c:299
 msgid "reset HEAD, index and working tree"
 msgstr "réinitialiser HEAD, l'index et la copie de travail"
 
-#: builtin/reset.c:298
+#: builtin/reset.c:301
 msgid "reset HEAD but keep local changes"
 msgstr "réinitialiser HEAD mais garder les changements locaux"
 
-#: builtin/reset.c:304
+#: builtin/reset.c:307
 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:321
+#: builtin/reset.c:325
 #, 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:329
+#: builtin/reset.c:333
 #, 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:338
+#: builtin/reset.c:342
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch est incompatible avec --{hard,mixed,soft}"
 
-#: builtin/reset.c:347
+#: builtin/reset.c:351
 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:349
+#: builtin/reset.c:353
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Impossible de faire un \"%s reset\" avec des chemins."
 
-#: builtin/reset.c:359
+#: builtin/reset.c:363
 #, 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:363
+#: builtin/reset.c:367
 msgid "-N can only be used with --mixed"
 msgstr "-N ne peut être utilisé qu'avec --mixed"
 
-#: builtin/reset.c:380
+#: builtin/reset.c:387
 msgid "Unstaged changes after reset:"
 msgstr "Modifications non indexées après reset :"
 
-#: builtin/reset.c:386
+#: builtin/reset.c:390
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
+"use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
+"to make this the default.\n"
+msgstr ""
+"\n"
+"Les modifications non-indexées on pris %.2f secondes à énumerer après reset.\n"
+"Vous pouvez utiliser '--quiet' pour éviter ce message. Réglez le paramètre de\n"
+"config reset.quiet à true pour avoir ce comportement en permanence.\n"
+
+#: builtin/reset.c:400
 #, 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:390
+#: builtin/reset.c:404
 msgid "Could not write new index file."
 msgstr "Impossible d'écrire le nouveau fichier d'index."
 
-#: builtin/rev-list.c:399
+#: builtin/rev-list.c:403
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "impossible de combiner --exclude-promisor-objects et --missing"
 
-#: builtin/rev-list.c:457
+#: builtin/rev-list.c:461
 msgid "object filtering requires --objects"
 msgstr "le filtrage d'objet exige --objects"
 
-#: builtin/rev-list.c:460
+#: builtin/rev-list.c:464
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "valeur invalide de 'sparse' '%s'"
 
-#: builtin/rev-list.c:501
+#: builtin/rev-list.c:505
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-list.c:504
+#: builtin/rev-list.c:508
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr "impossible de combiner --use-bitmap-index avec le filtrage d'objet"
 
-#: builtin/rev-parse.c:406
+#: builtin/rev-parse.c:407
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<arguments>...]"
 
-#: builtin/rev-parse.c:411
+#: builtin/rev-parse.c:412
 msgid "keep the `--` passed as an arg"
 msgstr "garder le `--` passé en argument"
 
-#: builtin/rev-parse.c:413
+#: builtin/rev-parse.c:414
 msgid "stop parsing after the first non-option argument"
 msgstr "arrêt de l'analyse après le premier argument qui n'est pas une option"
 
-#: builtin/rev-parse.c:416
+#: builtin/rev-parse.c:417
 msgid "output in stuck long form"
 msgstr "sortie en forme longue fixée"
 
-#: builtin/rev-parse.c:549
+#: builtin/rev-parse.c:550
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -15754,10 +16939,6 @@
 msgid "merge strategy"
 msgstr "stratégie de fusion"
 
-#: builtin/revert.c:111
-msgid "option"
-msgstr "option"
-
 #: builtin/revert.c:112
 msgid "option for merge strategy"
 msgstr "option pour la stratégie de fusion"
@@ -15864,11 +17045,6 @@
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
 
-#: builtin/rm.c:368
-#, c-format
-msgid "could not remove '%s'"
-msgstr "impossible de supprimer '%s'"
-
 #: builtin/send-pack.c:20
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -15976,112 +17152,112 @@
 msgid "no matching refs with %s"
 msgstr "aucune référence correspond à %s"
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:646
 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:648
 msgid "show remote-tracking branches"
 msgstr "afficher les branches de suivi distantes"
 
-#: builtin/show-branch.c:649
+#: builtin/show-branch.c:650
 msgid "color '*!+-' corresponding to the branch"
 msgstr "couleur '*!+-' correspondant à la branche"
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:652
 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:654
 msgid "synonym to more=-1"
 msgstr "synonyme de more=-1"
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:655
 msgid "suppress naming strings"
 msgstr "supprimer les chaînes de nommage"
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:657
 msgid "include the current branch"
 msgstr "inclure la branche courante"
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:659
 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:661
 msgid "show possible merge bases"
 msgstr "afficher les bases possibles de fusion"
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:663
 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:665
 msgid "show commits in topological order"
 msgstr "afficher les validations dans l'ordre topologique"
 
-#: builtin/show-branch.c:667
+#: builtin/show-branch.c:668
 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:670
 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:672
 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:675
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:675
+#: builtin/show-branch.c:676
 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:712
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 "--reflog est incompatible avec --all, --remotes, --independant et --merge-"
 "base"
 
-#: builtin/show-branch.c:735
+#: builtin/show-branch.c:736
 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:739
 msgid "--reflog option needs one branch name"
 msgstr "--reflog requiert un nom de branche"
 
-#: builtin/show-branch.c:741
+#: builtin/show-branch.c:742
 #, 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:746
 #, c-format
 msgid "no such ref %s"
 msgstr "référence inexistante %s"
 
-#: builtin/show-branch.c:829
+#: builtin/show-branch.c:830
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "impossible de gérer plus de %d révision."
 msgstr[1] "impossible de gérer plus de %d révisions."
 
-#: builtin/show-branch.c:833
+#: builtin/show-branch.c:834
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' n'est pas une référence valide."
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:837
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "impossible de trouver le commit %s (%s)"
@@ -16098,38 +17274,38 @@
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<motif>]"
 
-#: builtin/show-ref.c:160
+#: builtin/show-ref.c:161
 msgid "only show tags (can be combined with heads)"
 msgstr "afficher seulement les étiquettes (peut être combiné avec heads)"
 
-#: builtin/show-ref.c:161
+#: builtin/show-ref.c:162
 msgid "only show heads (can be combined with tags)"
 msgstr "afficher seulement les têtes (peut être combiné avec tags)"
 
-#: builtin/show-ref.c:162
+#: builtin/show-ref.c:163
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 "vérification de référence plus stricte, nécessite un chemin de référence "
 "exact"
 
-#: builtin/show-ref.c:165 builtin/show-ref.c:167
+#: builtin/show-ref.c:166 builtin/show-ref.c:168
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "afficher la référence HEAD, même si elle serait filtrée"
 
-#: builtin/show-ref.c:169
+#: builtin/show-ref.c:170
 msgid "dereference tags into object IDs"
 msgstr "déréférencer les étiquettes en IDs d'objet"
 
-#: builtin/show-ref.c:171
+#: builtin/show-ref.c:172
 msgid "only show SHA1 hash using <n> digits"
 msgstr "afficher seulement le hachage SHA1 en utilisant <n> chiffres"
 
-#: builtin/show-ref.c:175
+#: builtin/show-ref.c:176
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "ne pas afficher les résultats sur la sortie standard (pratique avec --verify)"
 
-#: builtin/show-ref.c:177
+#: builtin/show-ref.c:178
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "afficher les références de l'entrée standard qui ne sont pas dans le dépôt "
@@ -16153,12 +17329,7 @@
 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:37 builtin/submodule--helper.c:1833
-#, c-format
-msgid "No such ref: %s"
-msgstr "Référence inexistante : %s"
-
-#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1842
+#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1939
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
@@ -16172,7 +17343,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1356
+#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1363
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
@@ -16180,8 +17351,8 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:606
-#: builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:626
+#: builtin/submodule--helper.c:649
 #, 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"
@@ -16207,7 +17378,8 @@
 "submodules of %s\n"
 "."
 msgstr ""
-"run_command a retourné un statut non-nul pendant la récursion dans les sous-modules inclus de %s\n"
+"run_command a retourné un statut non-nul pendant la récursion dans les sous-"
+"modules inclus de %s\n"
 "."
 
 #: builtin/submodule--helper.c:561
@@ -16215,7 +17387,7 @@
 msgstr ""
 "Supprimer la sortie lors de l'entrée dans chaque commande de sous-module"
 
-#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1040
+#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1048
 msgid "Recurse into nested submodules"
 msgstr "Parcourir récursivement les sous-modules"
 
@@ -16223,69 +17395,67 @@
 msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] <chemin>"
 
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:595
 #, c-format
 msgid ""
-"could not lookup configuration '%s'. Assuming this repository is its own "
+"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é."
+msgstr "impossible de trouver la configuration '%s'. Ce dépôt est considéré comme son propre amont d'autorité."
 
-#: builtin/submodule--helper.c:655
+#: builtin/submodule--helper.c:663
 #, 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:659
+#: builtin/submodule--helper.c:667
 #, 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:669
+#: builtin/submodule--helper.c:677
 #, 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:676
+#: builtin/submodule--helper.c:684
 #, 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:698
+#: builtin/submodule--helper.c:706
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:703
+#: builtin/submodule--helper.c:711
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<chemin>]"
 
-#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:901
+#: builtin/submodule--helper.c:783 builtin/submodule--helper.c:909
 #, 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:814
+#: builtin/submodule--helper.c:822
 #, 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:841 builtin/submodule--helper.c:1010
+#: builtin/submodule--helper.c:849 builtin/submodule--helper.c:1018
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: builtin/submodule--helper.c:865 builtin/submodule--helper.c:1176
+#: builtin/submodule--helper.c:873 builtin/submodule--helper.c:1182
 msgid "Suppress submodule status output"
 msgstr "supprimer la sortie d'état du sous-module"
 
-#: builtin/submodule--helper.c:866
+#: builtin/submodule--helper.c:874
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -16293,48 +17463,48 @@
 "Utiliser le commit stocké dans l'index au lieu de celui stocké dans la HEAD "
 "du sous-module"
 
-#: builtin/submodule--helper.c:867
+#: builtin/submodule--helper.c:875
 msgid "recurse into nested submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:872
+#: builtin/submodule--helper.c:880
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<chemin>...]"
 
-#: builtin/submodule--helper.c:896
+#: builtin/submodule--helper.c:904
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:968
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Synchronisation de l'URL sous-module pour '%s'\n"
 
-#: builtin/submodule--helper.c:966
+#: builtin/submodule--helper.c:974
 #, 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:980
+#: builtin/submodule--helper.c:988
 #, 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:991
+#: builtin/submodule--helper.c:999
 #, 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:1038
+#: builtin/submodule--helper.c:1046
 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:1045
+#: builtin/submodule--helper.c:1053
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<chemin>]"
 
-#: builtin/submodule--helper.c:1099
+#: builtin/submodule--helper.c:1107
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -16344,7 +17514,7 @@
 "'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: builtin/submodule--helper.c:1111
+#: builtin/submodule--helper.c:1119
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -16353,84 +17523,84 @@
 "L'arbre de travail du sous-module '%s' contient des modifications locales ; "
 "utilisez '-f' pour les annuler"
 
-#: builtin/submodule--helper.c:1119
+#: builtin/submodule--helper.c:1127
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Répertoire '%s' nettoyé\n"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1129
 #, 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:1132
+#: builtin/submodule--helper.c:1138
 #, 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:1148
+#: builtin/submodule--helper.c:1154
 #, 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:1177
+#: builtin/submodule--helper.c:1183
 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:1178
+#: builtin/submodule--helper.c:1184
 msgid "Unregister all submodules"
 msgstr "Désenregistrer tous les sous-modules"
 
-#: builtin/submodule--helper.c:1183
+#: builtin/submodule--helper.c:1189
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<chemin>...]]"
 
-#: builtin/submodule--helper.c:1197
+#: builtin/submodule--helper.c:1203
 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:1290 builtin/submodule--helper.c:1293
+#: builtin/submodule--helper.c:1297 builtin/submodule--helper.c:1300
 #, 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:1329
+#: builtin/submodule--helper.c:1336
 #, 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:1336
+#: builtin/submodule--helper.c:1343
 #, 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:1359
+#: builtin/submodule--helper.c:1366
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:1362
+#: builtin/submodule--helper.c:1369
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:1365
+#: builtin/submodule--helper.c:1372
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1380
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:1376 builtin/submodule--helper.c:1751
+#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1868
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:1381
+#: builtin/submodule--helper.c:1388
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -16438,83 +17608,93 @@
 "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference "
 "<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
 
-#: builtin/submodule--helper.c:1412
+#: builtin/submodule--helper.c:1419
 #, 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:1426
+#: builtin/submodule--helper.c:1433
 #, 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:1492
+#: builtin/submodule--helper.c:1469
+#, 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:1473
+#, 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:1566
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:1496
+#: builtin/submodule--helper.c:1570
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:1525
+#: builtin/submodule--helper.c:1600
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:1554
+#: builtin/submodule--helper.c:1629
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:1689
+#: builtin/submodule--helper.c:1773
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:1700
+#: builtin/submodule--helper.c:1784
 #, 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:1730 builtin/submodule--helper.c:1953
+#: builtin/submodule--helper.c:1847 builtin/submodule--helper.c:2089
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:1733
+#: builtin/submodule--helper.c:1850
 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:1737
+#: builtin/submodule--helper.c:1854
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:1743
+#: builtin/submodule--helper.c:1860
 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:1746
+#: builtin/submodule--helper.c:1863
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:1748
+#: builtin/submodule--helper.c:1865
 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:1749
+#: builtin/submodule--helper.c:1866
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:1756
+#: builtin/submodule--helper.c:1873
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:1769
+#: builtin/submodule--helper.c:1886
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1837
+#: builtin/submodule--helper.c:1934
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -16523,20 +17703,42 @@
 "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:1954
+#: builtin/submodule--helper.c:2057
+#, 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:2090
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:1960
+#: builtin/submodule--helper.c:2096
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<chemin>...]"
 
-#: builtin/submodule--helper.c:2071
+#: builtin/submodule--helper.c:2152
+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:2157
+msgid "git submodule--helper config name [value]"
+msgstr "git submodule--helper config name [valeur]"
+
+#: builtin/submodule--helper.c:2158
+msgid "git submodule--helper config --check-writeable"
+msgstr "git submodule--helper config --check-writeable"
+
+#: builtin/submodule--helper.c:2175 git-submodule.sh:169
+#, sh-format
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "veuillez vous assurer que le fichier .gitmodules dans l'arbre de travail"
+
+#: builtin/submodule--helper.c:2225
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s ne gère pas --super-prefix"
 
-#: builtin/submodule--helper.c:2077
+#: builtin/submodule--helper.c:2231
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -16655,126 +17857,126 @@
 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:383
+#: builtin/tag.c:385
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:385
+#: builtin/tag.c:387
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:387
+#: builtin/tag.c:389
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:388
+#: builtin/tag.c:390
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:390
+#: builtin/tag.c:392
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:392
+#: builtin/tag.c:394
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:394
+#: builtin/tag.c:396
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:398
 msgid "force edit of tag message"
 msgstr "forcer l'édition du message d'étiquetage"
 
-#: builtin/tag.c:397
+#: builtin/tag.c:399
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:401
+#: builtin/tag.c:403
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:402
+#: builtin/tag.c:404
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:403 builtin/update-ref.c:369
+#: builtin/tag.c:405 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:407
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:406
+#: builtin/tag.c:408
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:407 builtin/tag.c:409
+#: builtin/tag.c:409 builtin/tag.c:411
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:408 builtin/tag.c:410
+#: builtin/tag.c:410 builtin/tag.c:412
 msgid "print only tags that don't contain the commit"
 msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation"
 
-#: builtin/tag.c:411
+#: builtin/tag.c:413
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:412
+#: builtin/tag.c:414
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:417
+#: builtin/tag.c:419
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:461
+#: builtin/tag.c:463
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:483
+#: builtin/tag.c:485
 msgid "-n option is only allowed in list mode"
 msgstr "l'option -n est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:485
+#: builtin/tag.c:487
 msgid "--contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:487
+#: builtin/tag.c:489
 msgid "--no-contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode liste"
 
-#: builtin/tag.c:489
+#: builtin/tag.c:491
 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:491
+#: builtin/tag.c:493
 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:502
+#: builtin/tag.c:504
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:521
+#: builtin/tag.c:523
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:527
+#: builtin/tag.c:529
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:532
+#: builtin/tag.c:534
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:563
+#: builtin/tag.c:565
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
@@ -16849,144 +18051,144 @@
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:944
+#: builtin/update-index.c:961
 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:947
+#: builtin/update-index.c:964
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:950
+#: builtin/update-index.c:967
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:952
+#: builtin/update-index.c:969
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:971
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:956
+#: builtin/update-index.c:973
 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:959
+#: builtin/update-index.c:976
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:963
+#: builtin/update-index.c:980
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:967
+#: builtin/update-index.c:984
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:985
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:994
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:997
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:1000
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:1003
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:1006
 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:991
+#: builtin/update-index.c:1008
 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:993
+#: builtin/update-index.c:1010
 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:995
+#: builtin/update-index.c:1012
 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:999
+#: builtin/update-index.c:1016
 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:1003
+#: builtin/update-index.c:1020
 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:1007
+#: builtin/update-index.c:1024
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1028
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1031
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:1016
+#: builtin/update-index.c:1033
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1037
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1039
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1041
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1043
 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:1028
+#: builtin/update-index.c:1045
 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:1030
+#: builtin/update-index.c:1047
 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:1032
+#: builtin/update-index.c:1049
 msgid "enable or disable file system monitor"
 msgstr ""
 "activer ou désactiver la surveillance du système de fichier (fsmonitor)"
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1051
 msgid "mark files as fsmonitor valid"
 msgstr "marquer les fichiers comme valides pour fsmonitor"
 
-#: builtin/update-index.c:1037
+#: builtin/update-index.c:1054
 msgid "clear fsmonitor valid bit"
 msgstr "effacer le bit de validité fsmonitor"
 
-#: builtin/update-index.c:1136
+#: builtin/update-index.c:1153
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -16994,7 +18196,7 @@
 "core.splitIndex est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer l'index coupé"
 
-#: builtin/update-index.c:1145
+#: builtin/update-index.c:1162
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -17002,7 +18204,7 @@
 "core.splitIndex est réglé à vrai ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver l'index coupé"
 
-#: builtin/update-index.c:1156
+#: builtin/update-index.c:1173
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -17010,11 +18212,11 @@
 "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:1160
+#: builtin/update-index.c:1177
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1168
+#: builtin/update-index.c:1185
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -17022,29 +18224,29 @@
 "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:1172
+#: builtin/update-index.c:1189
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
 
-#: builtin/update-index.c:1180
+#: builtin/update-index.c:1197
 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:1184
+#: builtin/update-index.c:1201
 msgid "fsmonitor enabled"
 msgstr "fsmonitor activé"
 
-#: builtin/update-index.c:1187
+#: builtin/update-index.c:1204
 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:1191
+#: builtin/update-index.c:1208
 msgid "fsmonitor disabled"
 msgstr "fsmonitor désactivé"
 
@@ -17164,23 +18366,28 @@
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <chemin>"
 
-#: builtin/worktree.c:59
+#: builtin/worktree.c:60 builtin/worktree.c:871
+#, c-format
+msgid "failed to delete '%s'"
+msgstr "échec de la suppression de '%s'"
+
+#: builtin/worktree.c:79
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "Suppression de worktrees/%s : répertoire invalide"
 
-#: builtin/worktree.c:65
+#: builtin/worktree.c:85
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "Suppression de worktrees/%s : le fichier gitdir n'existe pas"
 
-#: builtin/worktree.c:70 builtin/worktree.c:79
+#: builtin/worktree.c:90 builtin/worktree.c:99
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr ""
 "Suppression de worktrees/%s : echec de la lecture du fichier gitdir (%s)"
 
-#: builtin/worktree.c:89
+#: builtin/worktree.c:109
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
@@ -17189,205 +18396,239 @@
 "Suppression de worktrees/%s: lecture trop courte ( %<PRIuMAX> octets "
 "attendus, %<PRIuMAX> octets lus)"
 
-#: builtin/worktree.c:97
+#: builtin/worktree.c:117
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "Suppression de worktrees/%s : fichier gitdir invalide"
 
-#: builtin/worktree.c:106
+#: builtin/worktree.c:126
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 "Suppression de worktrees/%s : le fichier gitdir point sur un endroit "
 "inexistant"
 
-#: builtin/worktree.c:153
+#: builtin/worktree.c:165
 msgid "report pruned working trees"
 msgstr "afficher les arbres de travail éliminés"
 
-#: builtin/worktree.c:155
+#: builtin/worktree.c:167
 msgid "expire working trees older than <time>"
 msgstr "faire expirer les arbres de travail plus vieux que <temps>"
 
-#: builtin/worktree.c:230
+#: builtin/worktree.c:234
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' existe déjà"
 
-#: builtin/worktree.c:261
+#: builtin/worktree.c:251
+#, c-format
+msgid "unable to re-add worktree '%s'"
+msgstr "impossible de ré-ajouter l'arbre de travail '%s'"
+
+#: builtin/worktree.c:256
+#, c-format
+msgid ""
+"'%s' is a missing but locked worktree;\n"
+"use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
+msgstr ""
+"'%s' est un arbre de travail manquant mais verrouillé ;\n"
+"utilisez 'add -f -f' pour passer outre, ou 'unlock' et 'prune' ou 'remove' pour corriger"
+
+#: builtin/worktree.c:258
+#, c-format
+msgid ""
+"'%s' is a missing but already registered worktree;\n"
+"use 'add -f' to override, or 'prune' or 'remove' to clear"
+msgstr ""
+"'%s' est un arbre de travail manquant mais déjà enregistré ;\n"
+"utilisez 'add -f' pour passer outre, ou 'prune' ou 'remove' pour corriger"
+
+#: builtin/worktree.c:309
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "impossible de créer le répertoire de '%s'"
 
-#: builtin/worktree.c:380 builtin/worktree.c:386
+#: builtin/worktree.c:428 builtin/worktree.c:434
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "Préparation de l'arbre de travail (nouvelle branche '%s')"
 
-#: builtin/worktree.c:382
+#: builtin/worktree.c:430
 #, 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:391
+#: builtin/worktree.c:439
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Préparation de l'arbre de travail (extraction de '%s')"
 
-#: builtin/worktree.c:397
+#: builtin/worktree.c:445
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#: builtin/worktree.c:438
+#: builtin/worktree.c:486
 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:441
+#: builtin/worktree.c:489
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:443
+#: builtin/worktree.c:491
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:445
+#: builtin/worktree.c:493
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:446
+#: builtin/worktree.c:494
 msgid "keep the new working tree locked"
 msgstr "conserver le verrou sur le nouvel arbre de travail"
 
-#: builtin/worktree.c:449
+#: builtin/worktree.c:497
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "régler le mode de suivi (voir git-branch(1))"
 
-#: builtin/worktree.c:452
+#: builtin/worktree.c:500
 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:460
+#: builtin/worktree.c:508
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:521
+#: builtin/worktree.c:569
 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:621
+#: builtin/worktree.c:669
 msgid "reason for locking"
 msgstr "raison du verrouillage"
 
-#: builtin/worktree.c:633 builtin/worktree.c:666 builtin/worktree.c:720
-#: builtin/worktree.c:860
+#: builtin/worktree.c:681 builtin/worktree.c:714 builtin/worktree.c:772
+#: builtin/worktree.c:899
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:635 builtin/worktree.c:668
+#: builtin/worktree.c:683 builtin/worktree.c:716
 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:640
+#: builtin/worktree.c:688
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:642
+#: builtin/worktree.c:690
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:670
+#: builtin/worktree.c:718
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
 
-#: builtin/worktree.c:695
+#: builtin/worktree.c:743
 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:722 builtin/worktree.c:862
+#: builtin/worktree.c:751
+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:774 builtin/worktree.c:901
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' est un arbre de travail principal"
 
-#: builtin/worktree.c:727
+#: builtin/worktree.c:779
 #, 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:733
+#: builtin/worktree.c:785
 #, c-format
 msgid "target '%s' already exists"
 msgstr "la cible '%s' existe déjà"
 
-#: builtin/worktree.c:740
+#: builtin/worktree.c:793
 #, c-format
-msgid "cannot move a locked working tree, lock reason: %s"
+msgid ""
+"cannot move a locked working tree, lock reason: %s\n"
+"use 'move -f -f' to override or unlock first"
 msgstr ""
-"impossible de déplacer un arbre de travail verrouillé, raison du "
-"verrouillage : %s"
+"impossible de déplacer un arbre de travail verrouillé, raison du verrouillage : %s\n"
+"utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:742
-msgid "cannot move a locked working tree"
-msgstr "impossible de déplacer un arbre de travail verrouillé"
+#: builtin/worktree.c:795
+msgid ""
+"cannot move a locked working tree;\n"
+"use 'move -f -f' to override or unlock first"
+msgstr ""
+"impossible de déplacer un arbre de travail verrouillé;\n"
+"utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:745
+#: builtin/worktree.c:798
 #, 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:750
+#: builtin/worktree.c:803
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "échec au déplacement de '%s' vers '%s'"
 
-#: builtin/worktree.c:798
+#: builtin/worktree.c:851
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "échec du lancement de 'git status' sur '%s'"
 
-#: builtin/worktree.c:802
+#: builtin/worktree.c:855
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr "'%s' est sale, utilisez --force pour le supprimer"
 
-#: builtin/worktree.c:807
+#: builtin/worktree.c:860
 #, 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:818 builtin/worktree.c:832
-#, c-format
-msgid "failed to delete '%s'"
-msgstr "échec de la suppression de '%s'"
+#: builtin/worktree.c:883
+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:844
-msgid "force removing even if the worktree is dirty"
-msgstr "forcer la suppression même si l'arbre de travail est sale"
-
-#: builtin/worktree.c:866
+#: builtin/worktree.c:906
 #, c-format
-msgid "cannot remove a locked working tree, lock reason: %s"
+msgid ""
+"cannot remove a locked working tree, lock reason: %s\n"
+"use 'remove -f -f' to override or unlock first"
 msgstr ""
-"impossible de supprimer un arbre de travail verrouillé, raison du "
-"verrouillage : %s"
+"impossible de supprimer un arbre de travail verrouillé, raison du verrouillage : %s\n"
+"utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:868
-msgid "cannot remove a locked working tree"
-msgstr "impossible de supprimer un arbre de travail verrouillé"
+#: builtin/worktree.c:908
+msgid ""
+"cannot remove a locked working tree;\n"
+"use 'remove -f -f' to override or unlock first"
+msgstr ""
+"impossible de supprimer un arbre de travail verrouillé;\n"
+"utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:871
+#: builtin/worktree.c:911
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
@@ -17426,6 +18667,15 @@
 msgid "print debugging messages to stderr"
 msgstr "afficher les messages de debug sur stderr"
 
+#: t/helper/test-reach.c:152
+#, c-format
+msgid "commit %s is not marked reachable"
+msgstr "le commit %s n'est pas marqué joignable"
+
+#: t/helper/test-reach.c:162
+msgid "too many commits marked reachable"
+msgstr "trop de commits marqués joignables"
+
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -17488,32 +18738,60 @@
 msgid "unknown option: %s\n"
 msgstr "option inconnue : %s\n"
 
-#: git.c:770
+#: git.c:719
+#, 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:802
 #, 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:782
+#: git.c:814
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "échec au lancement de la commande '%s' : %s\n"
 
-#: http.c:348
+#: http.c:374
 #, 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:369
+#: http.c:395
 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:378
+#: http.c:404
 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:1854
+#: http.c:837
+msgid "CURLSSLOPT_NO_REVOKE not suported with cURL < 7.44.0"
+msgstr "CURLSSLOPT_NO_REMOVE n'est pas supporté avec cuRL < 7.44.0"
+
+#: http.c:910
+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:1046
+#, c-format
+msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
+msgstr "Dorsale SSL '%s' non supportée. Dorsales SSL supportées :"
+
+#: http.c:1053
+#, 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:1057
+#, 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:1921
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -17529,31 +18807,31 @@
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
 
-#: list-objects-filter-options.h:59
+#: list-objects-filter-options.h:60
 msgid "args"
 msgstr "args"
 
-#: list-objects-filter-options.h:60
+#: list-objects-filter-options.h:61
 msgid "object filtering"
 msgstr "filtrage d'objet"
 
-#: parse-options.h:157
+#: parse-options.h:154
 msgid "expiry-date"
 msgstr "date-d'expiration"
 
-#: parse-options.h:172
+#: parse-options.h:169
 msgid "no-op (backward compatibility)"
 msgstr "sans action (rétrocompatibilité)"
 
-#: parse-options.h:251
+#: parse-options.h:261
 msgid "be more verbose"
 msgstr "être plus verbeux"
 
-#: parse-options.h:253
+#: parse-options.h:263
 msgid "be more quiet"
 msgstr "être plus silencieux"
 
-#: parse-options.h:259
+#: parse-options.h:269
 msgid "use <n> digits to display SHA-1s"
 msgstr "utiliser <n> chiffres pour afficher les SHA-1s"
 
@@ -17574,8 +18852,8 @@
 msgstr "Appliquer une patch à des fichiers ou à l'index"
 
 #: command-list.h:54
-msgid "Import an Arch repository into Git"
-msgstr "Importer dans Git un dépôt Arch"
+msgid "Import a GNU Arch repository into Git"
+msgstr "Importer dans Git un dépôt GNU Arch"
 
 #: command-list.h:55
 msgid "Create an archive of files from a named tree"
@@ -17658,7 +18936,7 @@
 msgstr "Enregistrer les modifications dans le dépôt"
 
 #: command-list.h:74
-msgid "Write and verify Git commit graph files"
+msgid "Write and verify Git commit-graph files"
 msgstr "Écrire et vérifier les fichiers de graphe de commit Git"
 
 #: command-list.h:75
@@ -17889,333 +19167,337 @@
 msgstr "Afficher la fusion à trois points sans modifier l'index"
 
 #: command-list.h:128
+msgid "Write and verify multi-pack-indexes"
+msgstr "Écrire et vérifier les index multi-paquet"
+
+#: command-list.h:129
 msgid "Creates a tag object"
 msgstr "Créer un objet étiquette"
 
-#: command-list.h:129
+#: command-list.h:130
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "Construire un objet arbre depuis une texte formaté comme ls-tree"
 
-#: command-list.h:130
+#: command-list.h:131
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique"
 
-#: command-list.h:131
+#: command-list.h:132
 msgid "Find symbolic names for given revs"
 msgstr "Trouver les noms symboliques pour des révisions données"
 
-#: command-list.h:132
+#: command-list.h:133
 msgid "Add or inspect object notes"
 msgstr "Ajouter ou inspecter les notes d'un objets"
 
-#: command-list.h:133
+#: command-list.h:134
 msgid "Import from and submit to Perforce repositories"
 msgstr "Importer et soumettre à des dépôt Perforce"
 
-#: command-list.h:134
+#: command-list.h:135
 msgid "Create a packed archive of objects"
 msgstr "Créer une archive compactée d'objets"
 
-#: command-list.h:135
+#: command-list.h:136
 msgid "Find redundant pack files"
 msgstr "Trouver les fichiers pack redondants"
 
-#: command-list.h:136
+#: command-list.h:137
 msgid "Pack heads and tags for efficient repository access"
 msgstr "Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt"
 
-#: command-list.h:137
+#: command-list.h:138
 msgid "Routines to help parsing remote repository access parameters"
 msgstr ""
 "Routines pour aider à analyser les paramètres d'accès aux dépôts distants"
 
-#: command-list.h:138
+#: command-list.h:139
 msgid "Compute unique ID for a patch"
 msgstr "Calculer l'ID unique d'un patch"
 
-#: command-list.h:139
+#: command-list.h:140
 msgid "Prune all unreachable objects from the object database"
 msgstr ""
 "Éliminer les objets inatteignables depuis la base de données des objets"
 
-#: command-list.h:140
+#: command-list.h:141
 msgid "Remove extra objects that are already in pack files"
 msgstr "Éliminer les objets qui sont déjà présents dans les fichiers pack"
 
-#: command-list.h:141
+#: command-list.h:142
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "Rapatrier et intégrer un autre dépôt ou une branche locale"
 
-#: command-list.h:142
+#: command-list.h:143
 msgid "Update remote refs along with associated objects"
 msgstr "Mettre à jour les références distantes ainsi que les objets associés"
 
-#: command-list.h:143
+#: command-list.h:144
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "Appliquer un patchset quilt sur la branche courante"
 
-#: command-list.h:144
+#: command-list.h:145
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr ""
 "Comparer deux plages de commits (par exemple deux versions d'une branche)"
 
-#: command-list.h:145
+#: command-list.h:146
 msgid "Reads tree information into the index"
 msgstr "Lire l'information d'arbre dans l'index"
 
-#: command-list.h:146
+#: command-list.h:147
 msgid "Reapply commits on top of another base tip"
 msgstr "Réapplication des commits sur le sommet de l'autre base"
 
-#: command-list.h:147
+#: command-list.h:148
 msgid "Receive what is pushed into the repository"
 msgstr "Recevoir ce qui est poussé dans le dépôt"
 
-#: command-list.h:148
+#: command-list.h:149
 msgid "Manage reflog information"
 msgstr "Gérer l'information de reflog"
 
-#: command-list.h:149
+#: command-list.h:150
 msgid "Manage set of tracked repositories"
 msgstr "Gérer un ensemble de dépôts suivis"
 
-#: command-list.h:150
+#: command-list.h:151
 msgid "Pack unpacked objects in a repository"
 msgstr "Empaqueter les objets non-empaquetés d'un dépôt"
 
-#: command-list.h:151
+#: command-list.h:152
 msgid "Create, list, delete refs to replace objects"
 msgstr "Créer, lister, supprimer des référence pour remplacer des objets"
 
-#: command-list.h:152
+#: command-list.h:153
 msgid "Generates a summary of pending changes"
 msgstr "Générer une résumé des modifications en attentes"
 
-#: command-list.h:153
+#: command-list.h:154
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "Réutiliser une résolution enregistrée de fusions conflictuelles"
 
-#: command-list.h:154
+#: command-list.h:155
 msgid "Reset current HEAD to the specified state"
 msgstr "Réinitialiser la HEAD courante à l'état spécifié"
 
-#: command-list.h:155
+#: command-list.h:156
 msgid "Revert some existing commits"
 msgstr "Inverser des commits existants"
 
-#: command-list.h:156
+#: command-list.h:157
 msgid "Lists commit objects in reverse chronological order"
 msgstr "Afficher les objets commit dans l'ordre chronologique inverse"
 
-#: command-list.h:157
+#: command-list.h:158
 msgid "Pick out and massage parameters"
 msgstr "Analyser et préparer les paramètres"
 
-#: command-list.h:158
+#: command-list.h:159
 msgid "Remove files from the working tree and from the index"
 msgstr "Supprimer des fichiers de la copie de travail et de l'index"
 
-#: command-list.h:159
+#: command-list.h:160
 msgid "Send a collection of patches as emails"
 msgstr "Envoyer un ensemble de patchs comme courriels"
 
-#: command-list.h:160
+#: command-list.h:161
 msgid "Push objects over Git protocol to another repository"
 msgstr "Pousser les objets sur un autre dépôt via le protocole Git"
 
-#: command-list.h:161
+#: command-list.h:162
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "shell de login restreint pour un accès SSH vers Git seulement"
 
-#: command-list.h:162
+#: command-list.h:163
 msgid "Summarize 'git log' output"
 msgstr "Résumer la sortie de 'git log'"
 
-#: command-list.h:163
+#: command-list.h:164
 msgid "Show various types of objects"
 msgstr "Afficher différents types d'objets"
 
-#: command-list.h:164
+#: command-list.h:165
 msgid "Show branches and their commits"
 msgstr "Afficher les branches et leurs commits"
 
-#: command-list.h:165
+#: command-list.h:166
 msgid "Show packed archive index"
 msgstr "Afficher l'index de l'archive empaquetée"
 
-#: command-list.h:166
+#: command-list.h:167
 msgid "List references in a local repository"
 msgstr "Lister les références du dépôt local"
 
-#: command-list.h:167
+#: command-list.h:168
 msgid "Git's i18n setup code for shell scripts"
 msgstr "Le code d'initialisation i18n pour les scripts shell"
 
-#: command-list.h:168
+#: command-list.h:169
 msgid "Common Git shell script setup code"
 msgstr "Le code d'initialisation commun aux scripts shell Git"
 
-#: command-list.h:169
+#: command-list.h:170
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Remiser les modifications d'un répertoire de travail sale"
 
-#: command-list.h:170
+#: command-list.h:171
 msgid "Add file contents to the staging area"
 msgstr "Ajouter le contenu de fichiers à l'index"
 
-#: command-list.h:171
+#: command-list.h:172
 msgid "Show the working tree status"
 msgstr "Afficher l'état de la copie de travail"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Remove unnecessary whitespace"
 msgstr "Retirer les espaces inutiles"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Initialize, update or inspect submodules"
 msgstr "Initialiser, mettre à jour et inspecter les sous-modules"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Opération Bidirectionnelles entre un dépôt Subversion et Git"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Read, modify and delete symbolic refs"
 msgstr "Lire, modifier et supprimer les références symboliques"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr ""
 "Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Creates a temporary file with a blob's contents"
 msgstr "Créer un fichier temporaire avec le contenu d'un blob"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Unpack objects from a packed archive"
 msgstr "Dépaqueter les objets depuis une archive empaquetée"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Register file contents in the working tree to the index"
 msgstr "Enregistrer le contenu d'un fichier de l'arbre de travail dans l'index"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Update the object name stored in a ref safely"
 msgstr ""
 "Mettre à jour le nom d'objet stocké dans une référence en toute sécurité"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Update auxiliary info file to help dumb servers"
 msgstr ""
 "Mettre à jour le fichier d'informations auxiliaires pour aider les serveurs "
 "idiots"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Send archive back to git-archive"
 msgstr "Renvoyer une archive dans git-archive"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Renvoyer des objets empaquetés dans git-fetch-pack"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Show a Git logical variable"
 msgstr "Afficher un variable logique de Git"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Check the GPG signature of commits"
 msgstr "Vérifier la signature GPG de commits"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Validate packed Git archive files"
 msgstr "Valider des fichiers d'archive Git empaquetés"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Check the GPG signature of tags"
 msgstr "Vérifier la signature GPG d'étiquettes"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Interface web de Git"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Show logs with difference each commit introduces"
 msgstr "Afficher les journaux avec la différence que chaque commit introduit"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Manage multiple working trees"
 msgstr "Gère de arbres de travail multiples"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Create a tree object from the current index"
 msgstr "Créer un objet arbre depuis l'index courant"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Defining attributes per path"
 msgstr "Définition des attributs par chemin"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Git command-line interface and conventions"
 msgstr "interface en ligne de commande et conventions de Git"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "A Git core tutorial for developers"
 msgstr "Tutoriel du cœur de Git pour les développeurs"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Git for CVS users"
 msgstr "Git pour les utilisateurs de CVS"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Tweaking diff output"
 msgstr "Bidouillage de la sortie diff"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "Un ensemble minimal utile des commandes de Git pour tous les jours"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "A Git Glossary"
 msgstr "Un glossaire Git"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Hooks used by Git"
 msgstr "Crochets utilisés par Git"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Spécifie les fichiers non-suivis à ignorer intentionnellement"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "Defining submodule properties"
 msgstr "Définition des propriétés de sous-module"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Git namespaces"
 msgstr "Espaces de nom de Git"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Git Repository Layout"
 msgstr "Disposition d'un dépôt Git"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "Specifying revisions and ranges for Git"
 msgstr "Spécification des révisions et portées pour Git"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "A tutorial introduction to Git: part two"
 msgstr "Une introduction pratique à Git : deuxième partie"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "A tutorial introduction to Git"
 msgstr "Une introduction pratique à Git"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "An overview of recommended workflows with Git"
 msgstr "Un aperçu des flux de travail recommandés avec Git"
 
-#: rerere.h:40
+#: rerere.h:44
 msgid "update the index with reused conflict resolution if possible"
 msgstr ""
 "met à jour l'index avec les résolutions de conflit réutilisées si possible"
@@ -18449,65 +19731,12 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "La fusion simple a échoué, essai avec la fusion automatique."
 
-#: git-rebase.sh:61
-msgid ""
-"Resolve all conflicts manually, mark them as resolved with\n"
-"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
-"You can instead skip this commit: run \"git rebase --skip\".\n"
-"To abort and get back to the state before \"git rebase\", run \"git rebase --"
-"abort\"."
-msgstr ""
-"Résolvez tous les conflits manuellement, marquez-les comme résolus avec\n"
-"\"git add/rm <fichier en conflit>\", puis lancez \"git rebase --continue\".\n"
-"Si vous préférez sauter ce commit, lancez \"git rebase --skip\". Pour "
-"arrêter\n"
-"et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
-
-#: git-rebase.sh:173 git-rebase.sh:454
+#: git-legacy-rebase.sh:426
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Impossible de revenir à $head_name"
 
-#: git-rebase.sh:184
-msgid "Applied autostash."
-msgstr "Autoremisage appliqué."
-
-#: git-rebase.sh:187
-#, sh-format
-msgid "Cannot store $stash_sha1"
-msgstr "Impossible de stocker $stash_sha1"
-
-#: git-rebase.sh:236
-msgid "The pre-rebase hook refused to rebase."
-msgstr "Le crochet pre-rebase a refusé de rebaser."
-
-#: git-rebase.sh:241
-msgid "It looks like 'git am' is in progress. Cannot rebase."
-msgstr "Il semble que 'git-am' soit en cours. Impossible de rebaser."
-
-#: git-rebase.sh:415
-msgid "No rebase in progress?"
-msgstr "Pas de rebasage en cours ?"
-
-#: git-rebase.sh:426
-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."
-
-#: git-rebase.sh:433
-msgid "Cannot read HEAD"
-msgstr "Impossible de lire HEAD"
-
-#: git-rebase.sh:436
-msgid ""
-"You must edit all merge conflicts and then\n"
-"mark them as resolved using git add"
-msgstr ""
-"Vous devez éditer tous les conflits de fusion et\n"
-"les marquer comme résolus avec git add"
-
-#: git-rebase.sh:480
+#: git-legacy-rebase.sh:452
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -18529,92 +19758,62 @@
 "chose\n"
 "d'important ici."
 
-#: git-rebase.sh:545
+#: git-legacy-rebase.sh:517
 msgid "error: cannot combine '--signoff' with '--preserve-merges'"
 msgstr "erreur : '--signoff' et '--preserve-merges' sont incompatibles"
 
-#: git-rebase.sh:556
-msgid "error: cannot combine '--preserve_merges' with '--rebase-merges'"
-msgstr "erreur : '--rebase-merges' et '--preserve-merges' sont incompatibles"
-
-#: git-rebase.sh:562
-msgid "error: cannot combine '--rebase_merges' with '--strategy-option'"
-msgstr "erreur : '--rebase-merges' et '--strategy-option' sont incompatibles"
-
-#: git-rebase.sh:564
-msgid "error: cannot combine '--rebase_merges' with '--strategy'"
-msgstr "erreur : '--rebase-merges' et '--strategy' sont incompatibles"
-
-#: git-rebase.sh:590
+#: git-legacy-rebase.sh:562
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "invalide '$upstream_name' en amont"
 
-#: git-rebase.sh:614
+#: git-legacy-rebase.sh:586
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name : il y a plus d'une base de fusion"
 
-#: git-rebase.sh:617 git-rebase.sh:621
+#: git-legacy-rebase.sh:589 git-legacy-rebase.sh:593
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name : il n'y a pas de base de fusion"
 
-#: git-rebase.sh:626
+#: git-legacy-rebase.sh:598
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Ne pointe pas sur une validation valide : $onto_name"
 
-#: git-rebase.sh:652
+#: git-legacy-rebase.sh:624
 #, sh-format
 msgid "fatal: no such branch/commit '$branch_name'"
 msgstr "fatal : pas de branche ou commit '$branch_name'"
 
-#: git-rebase.sh:685
-msgid "Cannot autostash"
-msgstr "Autoremisage impossible"
-
-#: git-rebase.sh:690
+#: git-legacy-rebase.sh:662
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Autoremisage créé : $stash_abbrev"
 
-#: git-rebase.sh:694
-msgid "Please commit or stash them."
-msgstr "Veuillez les valider ou les remiser."
-
-#: git-rebase.sh:717
-#, sh-format
-msgid "HEAD is up to date."
-msgstr "HEAD est à jour."
-
-#: git-rebase.sh:719
+#: git-legacy-rebase.sh:691
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "La branche courante $branch_name est à jour."
 
-#: git-rebase.sh:727
-#, sh-format
-msgid "HEAD is up to date, rebase forced."
-msgstr "HEAD est à jour, rebasage forcé."
-
-#: git-rebase.sh:729
+#: git-legacy-rebase.sh:701
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "La branche courante $branch_name est à jour, rebasage forcé."
 
-#: git-rebase.sh:741
+#: git-legacy-rebase.sh:713
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Changements de $mb sur $onto :"
 
-#: git-rebase.sh:750
+#: git-legacy-rebase.sh:722
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Rembobinage préalable de head pour pouvoir rejouer votre travail par-"
 "dessus..."
 
-#: git-rebase.sh:760
+#: git-legacy-rebase.sh:732
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name mise à jour en avance rapide sur $onto_name."
@@ -18768,28 +19967,28 @@
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
-#: git-submodule.sh:188
+#: git-submodule.sh:198
 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:198
+#: git-submodule.sh:208
 #, 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:217
+#: git-submodule.sh:227
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: git-submodule.sh:220
+#: git-submodule.sh:230
 #, 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:226
+#: git-submodule.sh:236
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -18800,24 +19999,24 @@
 "$sm_path\n"
 "Utilisez -f si vous voulez vraiment l'ajouter."
 
-#: git-submodule.sh:249
+#: git-submodule.sh:259
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Ajout du dépôt existant à '$sm_path' dans l'index"
 
-#: git-submodule.sh:251
+#: git-submodule.sh:261
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' existe déjà et n'est pas un dépôt git valide"
 
-#: git-submodule.sh:259
+#: git-submodule.sh:269
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Un répertoire git pour '$sm_name' est trouvé en local avec le(s) serveur(s) "
 "distant(s) :"
 
-#: git-submodule.sh:261
+#: git-submodule.sh:271
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -18834,39 +20033,39 @@
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:267
+#: git-submodule.sh:277
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Réactivation du répertoire git local pour le sous-module '$sm_name'."
 
-#: git-submodule.sh:279
+#: git-submodule.sh:289
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:284
+#: git-submodule.sh:294
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:293
+#: git-submodule.sh:303
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:565
+#: git-submodule.sh:563
 #, 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:575
+#: git-submodule.sh:573
 #, 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:580
+#: git-submodule.sh:578
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -18875,12 +20074,12 @@
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:603
+#: git-submodule.sh:596
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:609
+#: git-submodule.sh:602
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -18889,76 +20088,76 @@
 "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:616
+#: git-submodule.sh:609
 #, 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:617
+#: git-submodule.sh:610
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:621
+#: git-submodule.sh:614
 #, 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:622
+#: git-submodule.sh:615
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:620
 #, 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:628
+#: git-submodule.sh:621
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:633
+#: git-submodule.sh:626
 #, 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:634
+#: git-submodule.sh:627
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:665
+#: git-submodule.sh:658
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:761
+#: git-submodule.sh:754
 msgid "The --cached option cannot be used with the --files option"
 msgstr "L'option --cached ne peut pas être utilisée avec l'option --files"
 
-#: git-submodule.sh:813
+#: git-submodule.sh:806
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:833
+#: git-submodule.sh:826
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_src"
 
-#: git-submodule.sh:836
+#: git-submodule.sh:829
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_dst"
 
-#: git-submodule.sh:839
+#: git-submodule.sh:832
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -18970,131 +20169,6 @@
 msgid "See git-${cmd}(1) for details."
 msgstr "Référez-vous à git-${cmd}(1) pour de plus amples détails."
 
-#: git-rebase--interactive.sh:43
-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 <command> = 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--interactive.sh:64 git-rebase--preserve-merges.sh:173
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-"\n"
-"Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
-"commit.\n"
-
-#: git-rebase--interactive.sh:68 git-rebase--preserve-merges.sh:177
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-"\n"
-"Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
-
-#: git-rebase--interactive.sh:108 git-rebase--preserve-merges.sh:724
-msgid "could not detach HEAD"
-msgstr "Impossible de détacher HEAD"
-
-#: git-rebase--interactive.sh:147 git-rebase--preserve-merges.sh:816
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-"\n"
-"Vous êtes en train d'éditer le fichier todo d'un rebasage interactif en "
-"cours.\n"
-"Pour continuer le rebasage après édition, lancez :\n"
-"    git rebase --continue\n"
-"\n"
-
-#: git-rebase--interactive.sh:155 git-rebase--interactive.sh:241
-#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
-msgid "Could not execute editor"
-msgstr "Impossible de lancer l'éditeur"
-
-#: git-rebase--interactive.sh:176 git-rebase--preserve-merges.sh:845
-#, sh-format
-msgid "Could not checkout $switch_to"
-msgstr "Impossible d'extraire $switch_to"
-
-#: git-rebase--interactive.sh:183 git-rebase--preserve-merges.sh:852
-msgid "No HEAD?"
-msgstr "Pas de HEAD ?"
-
-#: git-rebase--interactive.sh:184 git-rebase--preserve-merges.sh:853
-#, sh-format
-msgid "Could not create temporary $state_dir"
-msgstr "Impossible de créer un répertoire temporaire $state_dir"
-
-#: git-rebase--interactive.sh:187 git-rebase--preserve-merges.sh:856
-msgid "Could not mark as interactive"
-msgstr "Impossible de marquer comme interactif"
-
-#: git-rebase--interactive.sh:219 git-rebase--preserve-merges.sh:888
-#, sh-format
-msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
-msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
-msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
-msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
-
-#: git-rebase--interactive.sh:224
-msgid ""
-"\n"
-"\tHowever, if you remove everything, the rebase will be aborted.\n"
-"\n"
-"\t"
-msgstr ""
-"\n"
-"Cependant, si vous effacez tout, le rebasage sera annulé.\n"
-"\n"
-"\t"
-
-#: git-rebase--interactive.sh:231 git-rebase--preserve-merges.sh:900
-msgid "Note that empty commits are commented out"
-msgstr "Veuillez noter que les commits vides sont en commentaire"
-
-#: git-rebase--interactive.sh:280
-msgid "Could not generate todo list"
-msgstr "Impossible de générer la liste à-faire"
-
 #: git-rebase--preserve-merges.sh:136
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
@@ -19367,15 +20441,34 @@
 msgid "Could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: git-rebase--preserve-merges.sh:893
-msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
-msgstr ""
-"\n"
-"Cependant, si vous effacez tout, le rebasage sera annulé.\n"
-"\n"
+#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+msgid "Could not execute editor"
+msgstr "Impossible de lancer l'éditeur"
+
+#: git-rebase--preserve-merges.sh:845
+#, sh-format
+msgid "Could not checkout $switch_to"
+msgstr "Impossible d'extraire $switch_to"
+
+#: git-rebase--preserve-merges.sh:852
+msgid "No HEAD?"
+msgstr "Pas de HEAD ?"
+
+#: git-rebase--preserve-merges.sh:853
+#, 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:856
+msgid "Could not mark as interactive"
+msgstr "Impossible de marquer comme interactif"
+
+#: git-rebase--preserve-merges.sh:888
+#, 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:942 git-rebase--preserve-merges.sh:947
 msgid "Could not init rewritten commits"
@@ -19980,40 +21073,40 @@
 msgid "invalid argument %s, expecting --"
 msgstr "argument invalide %s, -- attendu"
 
-#: git-send-email.perl:130
+#: git-send-email.perl:138
 msgid "local zone differs from GMT by a non-minute interval\n"
 msgstr ""
 "la zone locale diffère du GMT par un intervalle supérieur à une minute\n"
 
-#: git-send-email.perl:137 git-send-email.perl:143
+#: git-send-email.perl:145 git-send-email.perl:151
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "le décalage de temps local est plus grand ou égal à 24 heures\n"
 
-#: git-send-email.perl:211 git-send-email.perl:217
+#: git-send-email.perl:219 git-send-email.perl:225
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "l'éditeur est sorti en erreur, abandon total"
 
-#: git-send-email.perl:294
+#: git-send-email.perl:302
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr ""
 "'%s' contient une version intermédiaire du courriel que vous composiez.\n"
 
-#: git-send-email.perl:299
+#: git-send-email.perl:307
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' contient le courriel composé.\n"
 
-#: git-send-email.perl:317
+#: git-send-email.perl:326
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases est incompatible avec d'autres options\n"
 
-#: git-send-email.perl:383 git-send-email.perl:638
+#: git-send-email.perl:395 git-send-email.perl:650
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "Lancement de git format-patch impossible à l'extérieur d'un dépôt\n"
 
-#: git-send-email.perl:386
+#: git-send-email.perl:398
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
@@ -20021,39 +21114,39 @@
 "`batch-size` et `relogin` doivent être spécifiés ensembles (via la ligne de "
 "commande ou des options de configuration)\n"
 
-#: git-send-email.perl:456
+#: git-send-email.perl:468
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Champ de --suppress-cc inconnu : '%s'\n"
 
-#: git-send-email.perl:485
+#: git-send-email.perl:497
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Paramètre de --confirm inconnu : '%s'\n"
 
-#: git-send-email.perl:513
+#: git-send-email.perl:525
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr ""
 "attention : les guillemets ne sont pas supportés dans alias sendmail : %s\n"
 
-#: git-send-email.perl:515
+#: git-send-email.perl:527
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "attention : `:include:` n'est pas supporté : %s\n"
 
-#: git-send-email.perl:517
+#: git-send-email.perl:529
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr ""
 "attention : les redirections `/file` ou `|pipe` ne sont pas supportées : %s\n"
 
-#: git-send-email.perl:522
+#: git-send-email.perl:534
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "attention : ligne sendmail non reconnue : %s\n"
 
-#: git-send-email.perl:604
+#: git-send-email.perl:616
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -20068,12 +21161,12 @@
 "    * en indiquant \"./%s\" si vous désignez un fichier, ou\n"
 "    * en fournissant l'option --format-patch pour une plage.\n"
 
-#: git-send-email.perl:625
+#: git-send-email.perl:637
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Échec à l'ouverture du répertoire %s : %s"
 
-#: git-send-email.perl:649
+#: git-send-email.perl:661
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -20082,7 +21175,7 @@
 "fatal : %s : %s\n"
 "attention : aucun patch envoyé\n"
 
-#: git-send-email.perl:660
+#: git-send-email.perl:672
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -20092,17 +21185,17 @@
 "Aucun fichier patch spécifié !\n"
 "\n"
 
-#: git-send-email.perl:673
+#: git-send-email.perl:685
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Ligne de sujet non trouvée dans %s ?"
 
-#: git-send-email.perl:683
+#: git-send-email.perl:695
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Impossible d'ouvrir %s en écriture : %s"
 
-#: git-send-email.perl:694
+#: git-send-email.perl:706
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -20116,27 +21209,27 @@
 "\n"
 "Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
 
-#: git-send-email.perl:718
+#: git-send-email.perl:730
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Échec à l'ouverture de %s : %s"
 
-#: git-send-email.perl:735
+#: git-send-email.perl:747
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Échec à l'ouverture de %s.final : %s"
 
-#: git-send-email.perl:778
+#: git-send-email.perl:790
 msgid "Summary email is empty, skipping it\n"
 msgstr "Le courriel de résumé etant vide, il a été ignoré\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:813
+#: git-send-email.perl:825
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "Êtes-vous sur de vouloir utiliser <%s> [y/N] ? "
 
-#: git-send-email.perl:868
+#: git-send-email.perl:880
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -20144,11 +21237,11 @@
 "Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
 "Transfer-Encoding.\n"
 
-#: git-send-email.perl:873
+#: git-send-email.perl:885
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
 
-#: git-send-email.perl:881
+#: git-send-email.perl:893
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -20161,22 +21254,22 @@
 "a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
 "vraiment envoyer.\n"
 
-#: git-send-email.perl:900
+#: git-send-email.perl:912
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "À qui les courriels doivent-ils être envoyés (s'il y en a) ?"
 
-#: git-send-email.perl:918
+#: git-send-email.perl:930
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "fatal : l'alias '%s' se développe en lui-même\n"
 
-#: git-send-email.perl:930
+#: git-send-email.perl:942
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr ""
 "Message-ID à utiliser comme In-Reply-To pour le premier courriel (s'il y en "
 "a) ? "
 
-#: git-send-email.perl:988 git-send-email.perl:996
+#: git-send-email.perl:1000 git-send-email.perl:1008
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
@@ -20184,16 +21277,16 @@
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1000
+#: git-send-email.perl:1012
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "Que faire de cette adresse ? ([q]uitter|[d]élaisser|[e]diter): "
 
-#: git-send-email.perl:1317
+#: git-send-email.perl:1329
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "le chemin vers la CA \"%s\" n'existe pas"
 
-#: git-send-email.perl:1400
+#: git-send-email.perl:1412
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -20220,134 +21313,181 @@
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1415
+#: git-send-email.perl:1427
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "Envoyer ce courriel ? ([y]es|[n]o|[e]dit|[q]uit|[a]ll) : "
 
-#: git-send-email.perl:1418
+#: git-send-email.perl:1430
 msgid "Send this email reply required"
 msgstr "Une réponse est nécessaire"
 
-#: git-send-email.perl:1446
+#: git-send-email.perl:1458
 msgid "The required SMTP server is not properly defined."
 msgstr "Le serveur SMTP nécessaire n'est pas défini correctement."
 
-#: git-send-email.perl:1493
+#: git-send-email.perl:1505
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Le serveur ne supporte pas STARTTLS ! %s"
 
-#: git-send-email.perl:1498 git-send-email.perl:1502
+#: git-send-email.perl:1510 git-send-email.perl:1514
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "echec de STARTTLS ! %s"
 
-#: git-send-email.perl:1511
+#: git-send-email.perl:1523
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
 "Impossible d'initialiser SMTP. Vérifiez la configuration et utilisez --smtp-"
 "debug."
 
-#: git-send-email.perl:1529
+#: git-send-email.perl:1541
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "échec de l'envoi de %s\n"
 
-#: git-send-email.perl:1532
+#: git-send-email.perl:1544
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Envoi simulé de %s\n"
 
-#: git-send-email.perl:1532
+#: git-send-email.perl:1544
 #, perl-format
 msgid "Sent %s\n"
 msgstr "%s envoyé\n"
 
-#: git-send-email.perl:1534
+#: git-send-email.perl:1546
 msgid "Dry-OK. Log says:\n"
 msgstr "Simulation OK. Le journal indique :\n"
 
-#: git-send-email.perl:1534
+#: git-send-email.perl:1546
 msgid "OK. Log says:\n"
 msgstr "OK. Le journal indique :\n"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1558
 msgid "Result: "
 msgstr "Résultat : "
 
-#: git-send-email.perl:1549
+#: git-send-email.perl:1561
 msgid "Result: OK\n"
 msgstr "Résultat : OK\n"
 
-#: git-send-email.perl:1567
+#: git-send-email.perl:1579
 #, perl-format
 msgid "can't open file %s"
 msgstr "impossible d'ouvrir le fichier %s"
 
-#: git-send-email.perl:1614 git-send-email.perl:1634
+#: git-send-email.perl:1626 git-send-email.perl:1646
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) Ajout de cc: %s depuis la ligne '%s'\n"
 
-#: git-send-email.perl:1620
+#: git-send-email.perl:1632
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) Ajout de to: %s depuis la ligne '%s'\n"
 
-#: git-send-email.perl:1673
+#: git-send-email.perl:1685
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) Ajout de cc: %s depuis la ligne '%s'\n"
 
-#: git-send-email.perl:1698
+#: git-send-email.perl:1720
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(corps) Ajout de cc: %s depuis la ligne '%s'\n"
 
-#: git-send-email.perl:1809
+#: git-send-email.perl:1831
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Impossible d'exécuter '%s'"
 
-#: git-send-email.perl:1816
+#: git-send-email.perl:1838
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
 
-#: git-send-email.perl:1820
+#: git-send-email.perl:1842
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) échec de la fermeture du pipe vers '%s'"
 
-#: git-send-email.perl:1850
+#: git-send-email.perl:1872
 msgid "cannot send message as 7bit"
 msgstr "impossible d'envoyer un message comme 7bit"
 
-#: git-send-email.perl:1858
+#: git-send-email.perl:1880
 msgid "invalid transfer encoding"
 msgstr "codage de transfert invalide"
 
-#: git-send-email.perl:1899 git-send-email.perl:1951 git-send-email.perl:1961
+#: git-send-email.perl:1921 git-send-email.perl:1973 git-send-email.perl:1983
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "impossible d'ouvrir %s :%s\n"
 
-#: git-send-email.perl:1902
+#: git-send-email.perl:1924
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s : le patch contient une ligne plus longue que 998 caractères"
 
-#: git-send-email.perl:1919
+#: git-send-email.perl:1941
 #, 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:1923
+#: git-send-email.perl:1945
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 
+#~ msgid "could not parse '%s' (looking for '%s')"
+#~ msgstr "impossible d'analyser '%s' (à la recherche de '%s')"
+
+#~ msgid "bad quoting on %s value in '%s'"
+#~ msgstr "Mauvaise citation sur la valeur %s dans '%s'"
+
+#~ msgid "Could not unset core.worktree setting in submodule '%s'"
+#~ msgstr "Impossible de désactiver core.worktree dans le sous-module '%s'"
+
+#~ msgid "deprecated synonym for --create-reflog"
+#~ msgstr "synonyme déconseillé de --create-reflog"
+
+#~ msgid "Can't stat %s"
+#~ msgstr "impossible de faire un stat de %s"
+
+#~ msgid "abort rebase"
+#~ msgstr "abandonner le rebasage"
+
+#~ msgid "make rebase script"
+#~ msgstr "créer les script de rebasage"
+
+#~ msgid "No such remote: %s"
+#~ msgstr "Distante inconnue : %s"
+
+#~ msgid "cannot move a locked working tree"
+#~ msgstr "impossible de déplacer un arbre de travail verrouillé"
+
+#~ msgid "cannot remove a locked working tree"
+#~ msgstr "impossible de supprimer un arbre de travail verrouillé"
+
+#~ msgid "Applied autostash."
+#~ msgstr "Autoremisage appliqué."
+
+#~ msgid "Cannot store $stash_sha1"
+#~ msgstr "Impossible de stocker $stash_sha1"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tHowever, if you remove everything, the rebase will be aborted.\n"
+#~ "\n"
+#~ "\t"
+#~ msgstr ""
+#~ "\n"
+#~ "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
+#~ "\n"
+#~ "\t"
+
 #~ msgid "could not parse '%s' (looking for '%s'"
 #~ msgstr "impossible d'analyser '%s' (à la recherche de '%s')"
 
@@ -20440,9 +21580,6 @@
 #~ msgid "could not finish '%s'"
 #~ msgstr "impossible de finir '%s'"
 
-#~ msgid "could not write to %s"
-#~ msgstr "Impossible d'écrire dans %s"
-
 #~ msgid "could not close %s"
 #~ msgstr "impossible de fermer %s"