Merge branch 'pw/doc-synopsis-markup-opmode-options'
[gitweb.git] / po / fr.po
index 0e084f5a49009ad1cb9b3eb509b33a1baa18f2ef..bc1bd6587b5dd6b1933feba1c58c0cf162bed972 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,7 +1,7 @@
 # French translations for Git.
-# Copyright (C) 2018 Jean-Noël Avila <jn.avila@free.fr>
+# Copyright (C) 2019 Jean-Noël Avila <jn.avila@free.fr>
 # This file is distributed under the same license as the Git package.
-# Jean-Noël Avila <jn.avila@free.fr>, 2018.
+# Jean-Noël Avila <jn.avila@free.fr>, 2013-2019.
 # Sébastien Helleu <flashcode@flashtux.org>, 2013.
 #
 # French translations of common Git words used in this file:
@@ -30,6 +30,7 @@
 #   to deflate       |  compresser
 #   email            |  courriel
 #   entry            |  élément
+#   fanout           |  dispersion
 #   fast-forward     |  avance rapide
 #   fast-forwarded   |  mis à jour en avance rapide
 #   to fetch         |  rapatrier
@@ -75,8 +76,8 @@ msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
 "POT-Creation-Date: 2019-02-15 10:09+0800\n"
-"PO-Revision-Date: 2019-02-15 22:18+0100\n"
-"Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\n"
+"PO-Revision-Date: 2019-06-05 11:20+0200\n"
+"Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
@@ -84,37 +85,37 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 
-#: advice.c:101
+#: advice.c:103
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:154
+#: advice.c:156
 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:156
+#: advice.c:158
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:158
+#: advice.c:160
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:160
+#: advice.c:162
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:162
+#: advice.c:164
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:164
+#: advice.c:166
 #, 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:172
+#: advice.c:174
 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 +123,23 @@ msgstr ""
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:180
+#: advice.c:182
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:185 builtin/merge.c:1290
+#: advice.c:187 builtin/merge.c:1320
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:187
+#: advice.c:189
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:188
+#: advice.c:190
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:194
+#: advice.c:196
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -178,99 +179,99 @@ msgstr "cmdline se termine par \\"
 msgid "unclosed quote"
 msgstr "citation non fermée"
 
-#: apply.c:59
+#: apply.c:63
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "option d'espace non reconnue '%s'"
 
-#: apply.c:75
+#: apply.c:79
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "option d'ignorance d'espace non reconnue '%s'"
 
-#: apply.c:125
+#: apply.c:129
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject et --3way ne peuvent pas être utilisés ensemble."
 
-#: apply.c:127
+#: apply.c:131
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached et --3way ne peuvent pas être utilisés ensemble."
 
-#: apply.c:130
+#: apply.c:134
 msgid "--3way outside a repository"
 msgstr "--3way hors d'un dépôt"
 
-#: apply.c:141
+#: apply.c:145
 msgid "--index outside a repository"
 msgstr "--index hors d'un dépôt"
 
-#: apply.c:144
+#: apply.c:148
 msgid "--cached outside a repository"
 msgstr "--cached hors d'un dépôt"
 
-#: apply.c:825
+#: apply.c:829
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "Impossible de préparer la regexp d'horodatage %s"
 
-#: apply.c:834
+#: apply.c:838
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec a retourné %d pour l'entrée : %s"
 
-#: apply.c:908
+#: apply.c:912
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "nom de fichier du patch introuvable à la ligne %d"
 
-#: apply.c:946
+#: apply.c:950
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - /dev/null attendu, %s trouvé à la "
 "ligne %d"
 
-#: apply.c:952
+#: apply.c:956
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - nouveau nom de fichier inconsistant "
 "à la ligne %d"
 
-#: apply.c:953
+#: apply.c:957
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - ancien nom de fichier inconsistant "
 "à la ligne %d"
 
-#: apply.c:958
+#: apply.c:962
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - /dev/null attendu à la ligne %d"
 
-#: apply.c:987
+#: apply.c:991
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "mode invalide dans la ligne %d : %s"
 
-#: apply.c:1306
+#: apply.c:1310
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
-#: apply.c:1478
+#: apply.c:1482
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recomptage : ligne inattendue : %.*s"
 
-#: apply.c:1547
+#: apply.c:1551
 #, 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:1571
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -285,83 +286,83 @@ msgstr[1] ""
 "information de nom de fichier manquante dans l'en-tête de git diff lors de "
 "la suppression de %d composants de préfixe de chemin (ligne %d)"
 
-#: apply.c:1580
+#: apply.c:1584
 #, 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:1772
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
 
-#: apply.c:1770
+#: apply.c:1774
 msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
-#: apply.c:1804
+#: apply.c:1808
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "patch corrompu à la ligne %d"
 
-#: apply.c:1841
+#: apply.c:1845
 #, 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:1847
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "le fichier supprimé %s a encore du contenu"
 
-#: apply.c:1846
+#: apply.c:1850
 #, 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:1997
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2030
+#: apply.c:2034
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2192
+#: apply.c:2196
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2278
+#: apply.c:2282
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2282
+#: apply.c:2286
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2941
+#: apply.c:2945
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3062
+#: apply.c:3066
 #, 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:3074
+#: apply.c:3078
 #, 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:3080
+#: apply.c:3084
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -370,464 +371,463 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3102
+#: apply.c:3106
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3110
+#: apply.c:3114
 #, 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:3157
+#: apply.c:3161
 #, 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:3167
+#: apply.c:3171
 #, 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:3175
+#: apply.c:3179
 #, 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:3193
+#: apply.c:3197
 #, 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:3206
+#: apply.c:3210
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3212
+#: apply.c:3216
 #, 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:3233
+#: apply.c:3237
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3356
+#: apply.c:3360
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278
+#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3416
+#: apply.c:3420
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3445 apply.c:3688
+#: apply.c:3449 apply.c:3692
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3531 apply.c:3703
+#: apply.c:3535 apply.c:3707
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3540 apply.c:3711
+#: apply.c:3544 apply.c:3715
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3575
+#: apply.c:3579
 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:3578
+#: apply.c:3582
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3594 apply.c:3598
+#: apply.c:3598 apply.c:3602
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3610
+#: apply.c:3614
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
-msgstr "Echec du retour à une fusion à 3 points…\n"
+msgstr "Échec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3624
+#: apply.c:3628
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3629
+#: apply.c:3633
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3655
+#: apply.c:3659
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3728
+#: apply.c:3732
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3730
+#: apply.c:3734
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3881 apply.c:3883 read-cache.c:820 read-cache.c:846
-#: read-cache.c:1299
+#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1309
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3939
+#: apply.c:3943
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3942
+#: apply.c:3946
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3962
+#: apply.c:3966
 #, 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:3967
+#: apply.c:3971
 #, 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:3987
+#: apply.c:3991
 #, 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:3991
+#: apply.c:3995
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:4006
+#: apply.c:4010
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4098
+#: apply.c:4102
 #, 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:4105
+#: apply.c:4109
 #, 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:4108
+#: apply.c:4112
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4113 builtin/checkout.c:248 builtin/reset.c:143
+#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: apply.c:4117
+#: apply.c:4121
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4127
+#: apply.c:4131
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4265
+#: apply.c:4269
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4299
+#: apply.c:4303
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4305
+#: apply.c:4309
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4313
+#: apply.c:4317
 #, 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:4319 apply.c:4464
+#: apply.c:4323 apply.c:4468
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4362
+#: apply.c:4366
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4366
+#: apply.c:4370
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4436
+#: apply.c:4440
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4534
+#: apply.c:4538
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4542
+#: apply.c:4546
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4545
+#: apply.c:4549
 #, 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:4556
+#: apply.c:4560
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4564 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4578
+#: apply.c:4582
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4582
+#: apply.c:4586
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4692
+#: apply.c:4696
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4700
+#: apply.c:4704
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4720
+#: apply.c:4724
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4875
+#: apply.c:4879
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4902
+#: apply.c:4906
 #, 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:4908 apply.c:4923
+#: apply.c:4912 apply.c:4927
 #, 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:4916
+#: apply.c:4920
 #, 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:4932 builtin/add.c:539 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4959 apply.c:4962 builtin/am.c:2203 builtin/am.c:2206
-#: builtin/clone.c:122 builtin/fetch.c:118 builtin/merge.c:263
-#: builtin/pull.c:200 builtin/submodule--helper.c:407
+#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
+#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
+#: builtin/pull.c:207 builtin/submodule--helper.c:407
 #: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:197
+#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
+#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
 msgid "path"
 msgstr "chemin"
 
-#: apply.c:4960
+#: apply.c:4964
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4963
+#: apply.c:4967
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4965 builtin/am.c:2212
+#: apply.c:4969 builtin/am.c:2219
 msgid "num"
 msgstr "num"
 
-#: apply.c:4966
+#: apply.c:4970
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4969
+#: apply.c:4973
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4971
+#: apply.c:4975
 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:4975
+#: apply.c:4979
 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:4977
+#: apply.c:4981
 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:4979
+#: apply.c:4983
 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:4981
+#: apply.c:4985
 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:4983
+#: apply.c:4987
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
 
-#: apply.c:4985
+#: apply.c:4989
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4987
+#: apply.c:4991
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4990
+#: apply.c:4994
 msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr "appliquer aussi le patch (à utiliser avec ---stat/--summary/--check)"
+msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)"
 
-#: apply.c:4992
+#: apply.c:4996
 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:4994
+#: apply.c:4998
 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:4997 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4999
+#: apply.c:5003
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:5000 builtin/am.c:2191 builtin/interpret-trailers.c:97
+#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
 #: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3314 builtin/rebase.c:1065
+#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
 msgid "action"
 msgstr "action"
 
-#: apply.c:5001
+#: apply.c:5005
 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:5004 apply.c:5007
+#: apply.c:5008 apply.c:5011
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:5010
+#: apply.c:5014
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:5012
+#: apply.c:5016
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:5014
+#: apply.c:5018
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:5016
+#: apply.c:5020
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:5017 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1312 builtin/count-objects.c:98 builtin/fsck.c:724
-#: builtin/log.c:2037 builtin/mv.c:123 builtin/read-tree.c:128
-#: builtin/rebase--interactive.c:159
+#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
+#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
+#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:5019
+#: apply.c:5023
 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:5022
+#: apply.c:5026
 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:5024 builtin/am.c:2200
+#: apply.c:5028 builtin/am.c:2207
 msgid "root"
 msgstr "racine"
 
-#: apply.c:5025
+#: apply.c:5029
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -850,7 +850,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:515 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
@@ -882,7 +882,7 @@ msgstr "fmt"
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:456 builtin/log.c:1549
+#: archive.c:456 builtin/log.c:1557
 msgid "prefix"
 msgstr "préfixe"
 
@@ -890,11 +890,11 @@ msgstr "préfixe"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:458 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129
-#: builtin/fast-export.c:1091 builtin/fast-export.c:1093 builtin/grep.c:895
-#: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563
-#: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123
-#: parse-options.h:162
+#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
+#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
+#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
 msgid "file"
 msgstr "fichier"
 
@@ -926,8 +926,8 @@ msgstr "compression efficace"
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1859
+#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
+#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
 msgid "repo"
 msgstr "dépôt"
 
@@ -935,7 +935,7 @@ msgstr "dépôt"
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "récupérer l'archive depuis le dépôt distant <dépôt>"
 
-#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:715
+#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707
 #: builtin/notes.c:498
 msgid "command"
 msgstr "commande"
@@ -981,16 +981,16 @@ msgstr "mode de fichier non supporté :0%o (SHA1: %s)"
 msgid "cannot read %s"
 msgstr "impossible de lire %s"
 
-#: archive-tar.c:458
+#: archive-tar.c:459
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr "impossible de démarrer le filtre '%s'"
 
-#: archive-tar.c:461
+#: archive-tar.c:462
 msgid "unable to redirect descriptor"
 msgstr "impossible de rediriger un descripteur"
 
-#: archive-tar.c:468
+#: archive-tar.c:469
 #, c-format
 msgid "'%s' filter reported error"
 msgstr "le filtre '%s' a retourné une erreur"
@@ -1005,7 +1005,7 @@ msgstr "le chemin n'est pas codé en UTF-8 valide : %s"
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "le chemin est trop long (%d caractères, SHA1 : %s) : %s"
 
-#: archive-zip.c:474 builtin/pack-objects.c:225 builtin/pack-objects.c:228
+#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
@@ -1108,26 +1108,26 @@ msgstr "Bissection : une base de fusion doit être testée\n"
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:237
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:937 builtin/merge.c:139
+#: bisect.c:928 builtin/merge.c:146
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:967
+#: bisect.c:958
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:986
+#: bisect.c:977
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:994
+#: bisect.c:985
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1136,7 +1136,7 @@ msgstr ""
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais paramètre de chemin ?\n"
 
-#: bisect.c:1013
+#: bisect.c:1004
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1146,53 +1146,53 @@ msgstr[1] "(à peu près %d étapes)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1019
+#: 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:1792
+#: blame.c:1794
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: blame.c:1806
+#: blame.c:1808
 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:1827
+#: blame.c:1829
 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:1836 bundle.c:164 ref-filter.c:2071 remote.c:1948 sequencer.c:1993
-#: sequencer.c:4064 builtin/commit.c:1004 builtin/log.c:378 builtin/log.c:936
-#: builtin/log.c:1420 builtin/log.c:1796 builtin/log.c:2086 builtin/merge.c:407
-#: builtin/pack-objects.c:3137 builtin/pack-objects.c:3152
+#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
+#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
+#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415
+#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
-#: blame.c:1854
+#: blame.c:1856
 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:1865
+#: blame.c:1867
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: blame.c:1876
+#: blame.c:1878
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
 
-#: branch.c:52
+#: branch.c:53
 #, c-format
 msgid ""
 "\n"
@@ -1203,99 +1203,99 @@ msgstr ""
 "\n"
 "Après correction de la cause de l'erreur, vous pouvez essayer de corriger\n"
 "l'information de suivi distant en invoquant\n"
-"\"git branch --setup-upstream-to=%s%s%s\"."
+"\"git branch --set-upstream-to=%s%s%s\"."
 
-#: branch.c:66
+#: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "La branche %s ne peut pas être sa propre branche amont."
 
-#: branch.c:92
+#: branch.c:93
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr ""
 "La branche '%s' est paramétrée pour suivre la branche distante '%s' de '%s' "
 "en rebasant."
 
-#: branch.c:93
+#: branch.c:94
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr ""
 "La branche '%s' est paramétrée pour suivre la branche distante '%s' depuis "
 "'%s'."
 
-#: branch.c:97
+#: branch.c:98
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr ""
 "La branche '%s' est paramétrée pour suivre la branche locale '%'s en "
 "rebasant."
 
-#: branch.c:98
+#: branch.c:99
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr "La branche '%s' est paramétrée pour suivre la branche locale '%s'."
 
-#: branch.c:103
+#: branch.c:104
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr ""
 "La branche '%s' est paramétrée pour suivre la référence distante '%s' en "
 "rebasant."
 
-#: branch.c:104
+#: branch.c:105
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr "La branche '%s' est paramétrée pour suivre la référence distante '%s'."
 
-#: branch.c:108
+#: branch.c:109
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr ""
 "La branche '%s' est paramétrée pour suivre la référence locale '%s' en "
 "rebasant."
 
-#: branch.c:109
+#: branch.c:110
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr "La branche '%s' est paramétrée pour suivre la référence locale '%s'."
 
-#: branch.c:118
+#: branch.c:119
 msgid "Unable to write upstream branch configuration"
 msgstr "Échec de l'écriture de la configuration de branche amont"
 
-#: branch.c:155
+#: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Pas de suivi : information ambiguë pour la référence %s"
 
-#: branch.c:188
+#: branch.c:189
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' n'est pas un nom de branche valide."
 
-#: branch.c:207
+#: branch.c:208
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Une branche nommée '%s' existe déjà."
 
-#: branch.c:212
+#: branch.c:213
 msgid "Cannot force update the current branch."
 msgstr "Impossible de forcer la mise à jour de la branche courante."
 
-#: branch.c:232
+#: branch.c:233
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 "Impossible de paramétrer le suivi de branche ; le point de départ '%s' n'est "
 "pas une branche."
 
-#: branch.c:234
+#: branch.c:235
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "la branche amont demandée '%s' n'existe pas"
 
-#: branch.c:236
+#: branch.c:237
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1315,17 +1315,17 @@ msgstr ""
 "sa jumelle distante, vous pouvez utiliser \"git push -u\"\n"
 "pour paramétrer le suivi distant en même temps que vous poussez."
 
-#: branch.c:280
+#: branch.c:281
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Nom d'objet invalide : '%s'."
 
-#: branch.c:300
+#: branch.c:301
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Nom d'objet ambigu : '%s'."
 
-#: branch.c:305
+#: branch.c:306
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Point d'embranchement invalide : '%s'."
@@ -1350,8 +1350,8 @@ msgstr "'%s' ne semble pas être un fichier bundle v2"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2215 sequencer.c:2763
-#: builtin/commit.c:776
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
+#: builtin/commit.c:788
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -1399,7 +1399,7 @@ msgstr "rev-list a disparu"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:457 builtin/log.c:193 builtin/log.c:1701 builtin/shortlog.c:306
+#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
@@ -1422,9 +1422,8 @@ msgstr "l'index de groupe a disparu"
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:50 sequencer.c:2567 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1375 builtin/am.c:2019 builtin/replace.c:376
-#: builtin/replace.c:448
+#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
+#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
@@ -1454,27 +1453,27 @@ msgstr ""
 "Supprimez ce message en lançant\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1122
+#: commit.c:1128
 #, 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:1125
+#: commit.c:1131
 #, 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:1128
+#: commit.c:1134
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: commit.c:1131
+#: commit.c:1137
 #, 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:1385
+#: commit.c:1391
 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"
@@ -1486,136 +1485,214 @@ msgstr ""
 "variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
 "projet.\n"
 
-#: commit-graph.c:101
-#, c-format
-msgid "graph file %s is too small"
-msgstr "le fichier de graphe %s est trop petit"
+#: commit-graph.c:105
+msgid "commit-graph file is too small"
+msgstr "le graphe de commit est trop petit"
 
-#: commit-graph.c:136
+#: commit-graph.c:170
 #, c-format
-msgid "graph signature %X does not match signature %X"
-msgstr "la signature de graphe %X ne correspond pas à la signature %X"
+msgid "commit-graph signature %X does not match signature %X"
+msgstr ""
+"la signature du graphe de commit %X ne correspond pas à la signature %X"
 
-#: commit-graph.c:143
+#: commit-graph.c:177
 #, c-format
-msgid "graph version %X does not match version %X"
-msgstr "la version %X du graphe ne correspond pas à la version %X"
+msgid "commit-graph version %X does not match version %X"
+msgstr "la version %X du graphe de commit ne correspond pas à la version %X"
 
-#: commit-graph.c:150
+#: commit-graph.c:184
 #, c-format
-msgid "hash version %X does not match version %X"
-msgstr "la version %X du condensé ne correspond pas à la version %X"
+msgid "commit-graph hash version %X does not match version %X"
+msgstr ""
+"l'empreinte de la version %X du graphe de commit ne correspond pas à la "
+"version %X"
 
-#: commit-graph.c:173
-msgid "chunk lookup table entry missing; graph file may be incomplete"
+#: commit-graph.c:207
+msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
-"entrée de table de consultation de morceaux manquante ; le fichier de graphe "
-"est peut être incomplet"
+"entrée de table de consultation de morceaux de graphe de commite manquante ; "
+"le fichier est peut être incomplet"
 
-#: commit-graph.c:184
+#: commit-graph.c:218
 #, c-format
-msgid "improper chunk offset %08x%08x"
-msgstr "décalage de bloc %08x%08x inadéquat"
+msgid "commit-graph improper chunk offset %08x%08x"
+msgstr "décalage de bloc %08x%08x du graphe de commit inadéquat"
 
-#: commit-graph.c:221
+#: commit-graph.c:255
 #, c-format
-msgid "chunk id %08x appears multiple times"
-msgstr "l'id de bloc %08x apparaît des multiples fois"
+msgid "commit-graph chunk id %08x appears multiple times"
+msgstr "l'id de bloc de graphe de commit %08x apparaît des multiples fois"
 
-#: commit-graph.c:334
+#: commit-graph.c:390
 #, c-format
 msgid "could not find commit %s"
 msgstr "impossible de trouver le commit %s"
 
-#: commit-graph.c:671 builtin/pack-objects.c:2646
+#: commit-graph.c:732 builtin/pack-objects.c:2649
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "impossible d'obtenir le type de l'objet %s"
 
-#: commit-graph.c:704
+#: commit-graph.c:765
 msgid "Loading known commits in commit graph"
 msgstr "Lecture des commits connus dans un graphe de commit"
 
-#: commit-graph.c:720
+#: commit-graph.c:781
 msgid "Expanding reachable commits in commit graph"
 msgstr "Expansion des commits joignables dans un graphe de commit"
 
-#: commit-graph.c:732
+#: commit-graph.c:793
 msgid "Clearing commit marks in commit graph"
 msgstr "Suppression les marques de commit dans le graphe de commits"
 
-#: commit-graph.c:752
+#: commit-graph.c:813
 msgid "Computing commit graph generation numbers"
 msgstr "Calcul des chiffres de génération du graphe de commits"
 
-#: commit-graph.c:869
+#: commit-graph.c:930
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "Recherche de commits pour un graphe de commits dans %d paquet"
 msgstr[1] "Recherche de commits pour un graphe de commits dans %d paquets"
 
-#: commit-graph.c:882
+#: commit-graph.c:943
 #, c-format
 msgid "error adding pack %s"
 msgstr "erreur à l'ajout du packet %s"
 
-#: commit-graph.c:884
+#: commit-graph.c:945
 #, c-format
 msgid "error opening index for %s"
 msgstr "erreur à l'ouverture de l'index pour %s"
 
-#: commit-graph.c:898
+#: commit-graph.c:959
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] "Recherche de commits pour un graphe de commits depuis %d réf"
 msgstr[1] "Recherche de commits pour un graphe de commits depuis %d réfs"
 
-#: commit-graph.c:930
+#: commit-graph.c:991
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Recherche de commits pour un graphe de commits parmi les objets empaquetés"
 
-#: commit-graph.c:943
+#: commit-graph.c:1004
 msgid "Counting distinct commits in commit graph"
 msgstr "Comptage des commits distincts dans un graphe de commit"
 
-#: commit-graph.c:956
+#: commit-graph.c:1017
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 msgstr "le graphe de commits ne peut pas écrire %d commits"
 
-#: commit-graph.c:965
+#: commit-graph.c:1026
 msgid "Finding extra edges in commit graph"
 msgstr "Recherche d'arêtes supplémentaires dans un graphe de commits"
 
-#: commit-graph.c:989
+#: commit-graph.c:1050
 msgid "too many commits to write graph"
 msgstr "trop de commits pour écrire un graphe"
 
-#: commit-graph.c:996 midx.c:769
+#: commit-graph.c:1057 midx.c:819
 #, 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:1036
+#: commit-graph.c:1097
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Écriture le graphe de commits en %d passe"
 msgstr[1] "Écriture le graphe de commits en %d passes"
 
-#: commit-graph.c:1109
+#: commit-graph.c:1162
 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:1153
+#: commit-graph.c:1172
+#, c-format
+msgid "commit-graph has incorrect OID order: %s then %s"
+msgstr "le graphe de commit a un ordre d'OID incorrect : %s puis %s"
+
+#: commit-graph.c:1182 commit-graph.c:1197
+#, c-format
+msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
+msgstr ""
+"le graphe de commit a une valeur de dispersion incorrecte : dispersion[%d] = "
+"%u != %u"
+
+#: commit-graph.c:1189
+#, c-format
+msgid "failed to parse commit %s from commit-graph"
+msgstr "échec de l'analyse le commit %s depuis le graphe de commits"
+
+#: commit-graph.c:1206
 msgid "Verifying commits in commit graph"
 msgstr "Verification des commits dans le graphe de commits"
 
+#: commit-graph.c:1219
+#, c-format
+msgid "failed to parse commit %s from object database for commit-graph"
+msgstr ""
+"échec de l'analyse du commit %s depuis la base de données d'objets pour le "
+"graphe de commit"
+
+#: commit-graph.c:1226
+#, c-format
+msgid "root tree OID for commit %s in commit-graph is %s != %s"
+msgstr ""
+"l'OID de l'arbre racine pour le commit %s dans le graphe de commit est %s != "
+"%s"
+
+#: commit-graph.c:1236
+#, c-format
+msgid "commit-graph parent list for commit %s is too long"
+msgstr ""
+"la liste des parents du graphe de commit pour le commit %s est trop longue"
+
+#: commit-graph.c:1242
+#, c-format
+msgid "commit-graph parent for %s is %s != %s"
+msgstr "le parent du graphe de commit pour %s est %s != %s"
+
+#: commit-graph.c:1255
+#, c-format
+msgid "commit-graph parent list for commit %s terminates early"
+msgstr ""
+"la liste de parents du graphe de commit pour le commit %s se termine trop tôt"
+
+#: commit-graph.c:1260
+#, c-format
+msgid ""
+"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
+msgstr ""
+"le graphe de commit a un numéro de génération nul pour le commit %s, mais "
+"non-nul ailleurs"
+
+#: commit-graph.c:1264
+#, c-format
+msgid ""
+"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
+msgstr ""
+"le graphe de commit a un numéro de génération non-nul pour le commit %s, "
+"mais nul ailleurs"
+
+#: commit-graph.c:1279
+#, c-format
+msgid "commit-graph generation for commit %s is %u != %u"
+msgstr "la génération du graphe de commit pour le commit %s est %u != %u"
+
+#: commit-graph.c:1285
+#, c-format
+msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
+msgstr ""
+"la date de validation pour le commit %s dans le graphe de commit est "
+"%<PRIuMAX> != %<PRIuMAX>"
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "plus de mémoire"
@@ -1660,7 +1737,7 @@ msgstr "la clé ne contient pas de section: %s"
 msgid "key does not contain variable name: %s"
 msgstr "la clé ne contient pas de nom de variable : %s"
 
-#: config.c:378 sequencer.c:2330
+#: config.c:378 sequencer.c:2459
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
@@ -1807,141 +1884,141 @@ msgstr "valeur mal formée pour %s : %s"
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "doit être parmi nothing, matching, simple, upstream ou current"
 
-#: config.c:1481 builtin/pack-objects.c:3394
+#: config.c:1483 builtin/pack-objects.c:3397
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1602
+#: config.c:1604
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "impossible de charger l'objet blob de config '%s'"
 
-#: config.c:1605
+#: config.c:1607
 #, 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:1622
+#: config.c:1624
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "impossible de résoudre le blob de config '%s'"
 
-#: config.c:1652
+#: config.c:1654
 #, c-format
 msgid "failed to parse %s"
 msgstr "échec de l'analyse de %s"
 
-#: config.c:1705
+#: config.c:1710
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:2037
+#: config.c:2059
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2207
+#: config.c:2229
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2250
+#: config.c:2272
 #, 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:2276
+#: config.c:2298
 #, 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:2322
+#: config.c:2344
 #, 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:2324
+#: config.c:2346
 #, 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:2405
+#: config.c:2427
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nom de section invalide '%s'"
 
-#: config.c:2437
+#: config.c:2459
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2466
+#: config.c:2488
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2716 config.c:3040
+#: config.c:2740 config.c:3064
 #, c-format
 msgid "could not lock config file %s"
 msgstr "impossible de verrouiller le fichier de configuration %s"
 
-#: config.c:2727
+#: config.c:2751
 #, c-format
 msgid "opening %s"
 msgstr "ouverture de %s"
 
-#: config.c:2762 builtin/config.c:328
+#: config.c:2786 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "motif invalide : %s"
 
-#: config.c:2787
+#: config.c:2811
 #, c-format
 msgid "invalid config file %s"
 msgstr "fichier de configuration invalide %s"
 
-#: config.c:2800 config.c:3053
+#: config.c:2824 config.c:3077
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2811
+#: config.c:2835
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "impossible de réaliser un map de '%s'"
 
-#: config.c:2820 config.c:3058
+#: config.c:2844 config.c:3082
 #, c-format
 msgid "chmod on %s failed"
 msgstr "échec de chmod sur %s"
 
-#: config.c:2905 config.c:3155
+#: config.c:2929 config.c:3179
 #, c-format
 msgid "could not write config file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2939
+#: config.c:2963
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2941 builtin/remote.c:782
+#: config.c:2965 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: config.c:3031
+#: config.c:3055
 #, c-format
 msgid "invalid section name: %s"
 msgstr "nom de section invalide : %s"
 
-#: config.c:3198
+#: config.c:3222
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valeur manquante pour '%s'"
@@ -2098,28 +2175,28 @@ msgstr "la variante ssh 'simple' ne supporte pas -6"
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "la variante ssh 'simple' ne supporte pas de spécifier le port"
 
-#: connect.c:1259
+#: connect.c:1260
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "chemin étrange '%s' bloqué"
 
-#: connect.c:1304
+#: connect.c:1307
 msgid "unable to fork"
 msgstr "fork impossible"
 
-#: connected.c:68 builtin/fsck.c:221 builtin/prune.c:146
+#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
-#: connected.c:80
+#: connected.c:97
 msgid "Could not run 'git rev-list'"
 msgstr "Impossible de lancer 'git rev-list'"
 
-#: connected.c:100
+#: connected.c:117
 msgid "failed write to rev-list"
 msgstr "impossible d'écrire dans la rev-list"
 
-#: connected.c:107
+#: connected.c:124
 msgid "failed to close rev-list's stdin"
 msgstr "impossible de fermer l'entrée standard du rev-list"
 
@@ -2356,23 +2433,30 @@ msgstr "impossible de lire le fichier de commande '%s'"
 msgid "Performing inexact rename detection"
 msgstr "Détection de renommage inexact en cours"
 
-#: diff.c:108
-#, c-format
-msgid "option '%s' requires a value"
-msgstr "le commutateur '%s' a besoin d'une valeur"
+#: diff-no-index.c:238
+msgid "git diff --no-index [<options>] <path> <path>"
+msgstr "git diff --no-index [<options>] <chemin> <chemin>"
+
+#: diff-no-index.c:263
+msgid ""
+"Not a git repository. Use --no-index to compare two paths outside a working "
+"tree"
+msgstr ""
+"Pas un dépôt git. Utilisez --no-index pour comparer deux chemins hors d'un "
+"arbre de travail"
 
-#: diff.c:158
+#: diff.c:155
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr ""
 "  Impossible d'analyser le pourcentage de modification de dirstat '%s'\n"
 
-#: diff.c:163
+#: diff.c:160
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paramètre dirstat inconnu '%s'\n"
 
-#: diff.c:291
+#: diff.c:296
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -2380,7 +2464,7 @@ msgstr ""
 "le paramètre de couleur de déplacement doit être parmi 'no', 'default', "
 "'blocks', 'zebra', 'dimmed_zebra' ou 'plain'"
 
-#: diff.c:319
+#: diff.c:324
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -2390,7 +2474,7 @@ msgstr ""
 "space-change', 'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-"
 "change'"
 
-#: diff.c:327
+#: diff.c:332
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
@@ -2398,13 +2482,13 @@ msgstr ""
 "color-moved-ws : allow-indentation-change ne peut pas être combiné avec "
 "d'autres modes d'espace"
 
-#: diff.c:400
+#: diff.c:405
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valeur inconnue pour la variable de configuration 'diff.submodule' : '%s'"
 
-#: diff.c:460
+#: diff.c:465
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -2413,24 +2497,35 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:4211
+#: diff.c:4210
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:4553
+#: diff.c:4555
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:4556
+#: diff.c:4558
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S et --find-object sont mutuellement exclusifs"
 
-#: diff.c:4634
+#: diff.c:4636
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:4800
+#: diff.c:4684
+#, c-format
+msgid "invalid --stat value: %s"
+msgstr "valeur invalide de --stat : %s"
+
+#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
+#: parse-options.c:199 parse-options.c:203
+#, c-format
+msgid "%s expects a numerical value"
+msgstr "%s attend une valeur numérique"
+
+#: diff.c:4721
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2439,343 +2534,860 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:4814
+#: diff.c:4806
 #, c-format
-msgid "Failed to parse --submodule option parameter: '%s'"
-msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
-
-#: diff.c:5900
-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."
+msgid "unknown change class '%c' in --diff-filter=%s"
+msgstr "classe de modification inconnue '%c' dans --diff-fileter=%s"
 
-#: diff.c:5903
-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:4830
+#, c-format
+msgid "unknown value after ws-error-highlight=%.*s"
+msgstr "valeur inconnue après ws-error-highlight=%.*s"
 
-#: diff.c:5906
+#: diff.c:4844
 #, c-format
-msgid ""
-"you may want to set your %s variable to at least %d and retry the command."
-msgstr ""
-"vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
-"commande."
+msgid "unable to resolve '%s'"
+msgstr "impossible de résoudre '%s'"
 
-#: dir.c:538
+#: diff.c:4894 diff.c:4900
 #, 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"
+msgid "%s expects <n>/<m> form"
+msgstr "forme <n>/<m> attendue par %s"
 
-#: dir.c:927
+#: diff.c:4912
 #, c-format
-msgid "cannot use %s as an exclude file"
-msgstr "impossible d'utiliser %s comme fichier d'exclusion"
+msgid "%s expects a character, got '%s'"
+msgstr "caractère attendu par %s, '%s' trouvé"
 
-#: dir.c:1842
+#: diff.c:4933
 #, c-format
-msgid "could not open directory '%s'"
-msgstr "impossible d'ouvrir le répertoire '%s'"
+msgid "bad --color-moved argument: %s"
+msgstr "mauvais argument --color-moved : %s"
 
-#: dir.c:2084
-msgid "failed to get kernel name and information"
-msgstr "echec de l'obtention d'information de kernel"
+#: diff.c:4952
+#, c-format
+msgid "invalid mode '%s' in --color-moved-ws"
+msgstr "mode invalide '%s' dans --color-moved-ws"
 
-#: dir.c:2208
-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"
+#: diff.c:4992
+msgid ""
+"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
+"\"histogram\""
+msgstr ""
+"l'option diff-algorithm accept \"myers\", \"minimal\", \"patience\" et "
+"\"histogram\""
 
-#: dir.c:3009
+#: diff.c:5028 diff.c:5048
 #, c-format
-msgid "index file corrupt in repo %s"
-msgstr "fichier d'index corrompu dans le dépôt %s"
+msgid "invalid argument to %s"
+msgstr "argument invalide pour %s"
 
-#: dir.c:3054 dir.c:3059
+#: diff.c:5186
 #, c-format
-msgid "could not create directories for %s"
-msgstr "impossible de créer les répertoires pour %s"
+msgid "failed to parse --submodule option parameter: '%s'"
+msgstr "échec de l'analyse du paramètre de l'option --submodule : '%s'"
 
-#: dir.c:3088
+#: diff.c:5242
 #, c-format
-msgid "could not migrate git directory from '%s' to '%s'"
-msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
+msgid "bad --word-diff argument: %s"
+msgstr "mauvais argument pour --word-diff : %s"
 
-#: editor.c:73
-#, c-format
-msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
-"suggestion : en attente de la fermeture du fichier par votre éditeur de "
-"texte…%c"
+#: diff.c:5265
+msgid "Diff output format options"
+msgstr "Options de format de sortie de diff"
 
-#: entry.c:178
-msgid "Filtering content"
-msgstr "Filtrage du contenu"
+#: diff.c:5267 diff.c:5273
+msgid "generate patch"
+msgstr "générer la rustine"
 
-#: entry.c:465
-#, c-format
-msgid "could not stat file '%s'"
-msgstr "impossible de stat le fichier '%s'"
+#: diff.c:5270 builtin/log.c:167
+msgid "suppress diff output"
+msgstr "supprimer la sortie des différences"
 
-#: environment.c:150
-#, c-format
-msgid "bad git namespace path \"%s\""
-msgstr "Espaces de nom de Git \"%s\""
+#: diff.c:5275 diff.c:5389 diff.c:5396
+msgid "<n>"
+msgstr "<n>"
 
-#: environment.c:332
-#, c-format
-msgid "could not set GIT_DIR to '%s'"
-msgstr "impossible de régler GIT_DIR à '%s'"
+#: diff.c:5276 diff.c:5279
+msgid "generate diffs with <n> lines context"
+msgstr "générer les diffs avec <n> lignes de contexte"
 
-#: exec-cmd.c:361
-#, c-format
-msgid "too many args to run %s"
-msgstr "trop d'arguments pour lancer %s"
+#: diff.c:5281
+msgid "generate the diff in raw format"
+msgstr "générer le diff en format brut"
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
-msgstr "Dépôt distant sans URL"
+#: diff.c:5284
+msgid "synonym for '-p --raw'"
+msgstr "synonyme de '-p --raw'"
 
-#: fetch-pack.c:151
-msgid "git fetch-pack: expected shallow list"
-msgstr "git fetch-pack : liste superficielle attendue"
+#: diff.c:5288
+msgid "synonym for '-p --stat'"
+msgstr "synonyme de '-p --stat'"
 
-#: fetch-pack.c:154
-msgid "git fetch-pack: expected a flush packet after shallow list"
-msgstr ""
-"git fetch-pack : paquet de vidage attendu après une liste superficielle"
+#: diff.c:5292
+msgid "machine friendly --stat"
+msgstr "--stat pour traitement automatique"
 
-#: fetch-pack.c:165
-msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
-msgstr "git fetch-pack : ACK/NACK attendu, paquet de nettoyage reçu"
+#: diff.c:5295
+msgid "output only the last line of --stat"
+msgstr "afficher seulement la dernière ligne de --stat"
 
-#: fetch-pack.c:185
-#, c-format
-msgid "git fetch-pack: expected ACK/NAK, got '%s'"
-msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
+#: diff.c:5297 diff.c:5305
+msgid "<param1,param2>..."
+msgstr "<param1,param2>..."
 
-#: fetch-pack.c:256
-msgid "--stateless-rpc requires multi_ack_detailed"
-msgstr "--stateless-rpc nécessite multi_ack_detailed"
+#: diff.c:5298
+msgid ""
+"output the distribution of relative amount of changes for each sub-directory"
+msgstr ""
+"afficher la distribution des quantités de modifications relatives pour "
+"chaque sous-répertoire"
 
-#: fetch-pack.c:358 fetch-pack.c:1264
-#, c-format
-msgid "invalid shallow line: %s"
-msgstr "ligne de superficiel invalide : %s"
+#: diff.c:5302
+msgid "synonym for --dirstat=cumulative"
+msgstr "synonyme pour --dirstat=cumulative"
 
-#: fetch-pack.c:364 fetch-pack.c:1271
-#, c-format
-msgid "invalid unshallow line: %s"
-msgstr "ligne de fin de superficiel invalide : %s"
+#: diff.c:5306
+msgid "synonym for --dirstat=files,param1,param2..."
+msgstr "synonyme pour --dirstat=files,param1,param2..."
 
-#: fetch-pack.c:366 fetch-pack.c:1273
-#, c-format
-msgid "object not found: %s"
-msgstr "objet non trouvé : %s"
+#: diff.c:5310
+msgid "warn if changes introduce conflict markers or whitespace errors"
+msgstr ""
+"avertir si les modifications introduisent des marqueurs de conflit ou des "
+"erreurs d'espace"
 
-#: fetch-pack.c:369 fetch-pack.c:1276
-#, c-format
-msgid "error in object: %s"
-msgstr "Erreur dans l'objet : %s"
+#: diff.c:5313
+msgid "condensed summary such as creations, renames and mode changes"
+msgstr ""
+"résumé succinct tel que les créations, les renommages et les modifications "
+"de mode"
 
-#: fetch-pack.c:371 fetch-pack.c:1278
-#, c-format
-msgid "no shallow found: %s"
-msgstr "Pas de superficiel trouvé : %s"
+#: diff.c:5316
+msgid "show only names of changed files"
+msgstr "n'afficher que les noms de fichiers modifiés"
 
-#: fetch-pack.c:374 fetch-pack.c:1282
-#, c-format
-msgid "expected shallow/unshallow, got %s"
-msgstr "superficiel/non superficiel attendu, %s trouvé"
+#: diff.c:5319
+msgid "show only names and status of changed files"
+msgstr "n'afficher que les noms et les status des fichiers modifiés"
 
-#: fetch-pack.c:415
-#, c-format
-msgid "got %s %d %s"
-msgstr "réponse %s %d %s"
+#: diff.c:5321
+msgid "<width>[,<name-width>[,<count>]]"
+msgstr "<largeur>[,<largeur-de-nom>[,<compte>]]"
 
-#: fetch-pack.c:432
-#, c-format
-msgid "invalid commit %s"
-msgstr "commit invalide %s"
+#: diff.c:5322
+msgid "generate diffstat"
+msgstr "générer un diffstat"
 
-#: fetch-pack.c:463
-msgid "giving up"
-msgstr "abandon"
+#: diff.c:5324 diff.c:5327 diff.c:5330
+msgid "<width>"
+msgstr "<largeur>"
 
-#: fetch-pack.c:475 progress.c:229
-msgid "done"
-msgstr "fait"
+#: diff.c:5325
+msgid "generate diffstat with a given width"
+msgstr "générer un diffstat avec la largeur indiquée"
 
-#: fetch-pack.c:487
-#, c-format
-msgid "got %s (%d) %s"
-msgstr "%s trouvé (%d) %s"
+#: diff.c:5328
+msgid "generate diffstat with a given name width"
+msgstr "génerer un diffstat avec la largeur de nom indiquée"
 
-#: fetch-pack.c:533
-#, c-format
-msgid "Marking %s as complete"
-msgstr "Marquage de %s comme terminé"
+#: diff.c:5331
+msgid "generate diffstat with a given graph width"
+msgstr "génerer un diffstat avec la largeur de graphe indiquée"
 
-#: fetch-pack.c:740
-#, c-format
-msgid "already have %s (%s)"
-msgstr "%s déjà possédé (%s)"
+#: diff.c:5333
+msgid "<count>"
+msgstr "<compte>"
 
-#: fetch-pack.c:779
-msgid "fetch-pack: unable to fork off sideband demultiplexer"
-msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
+#: diff.c:5334
+msgid "generate diffstat with limited lines"
+msgstr "générer un diffstat avec des lignes limitées"
 
-#: fetch-pack.c:787
-msgid "protocol error: bad pack header"
-msgstr "erreur de protocole : mauvais entête de paquet"
+#: diff.c:5337
+msgid "generate compact summary in diffstat"
+msgstr "générer une résumé compact dans le diffstat"
 
-#: fetch-pack.c:855
-#, c-format
-msgid "fetch-pack: unable to fork off %s"
-msgstr "fetch-pack : impossible de dupliquer %s"
+#: diff.c:5340
+msgid "output a binary diff that can be applied"
+msgstr "produire un diff binaire qui peut être appliqué"
 
-#: fetch-pack.c:871
-#, c-format
-msgid "%s failed"
-msgstr "échec de %s"
+#: diff.c:5343
+msgid "show full pre- and post-image object names on the \"index\" lines"
+msgstr ""
+"afficher les noms complets des objets pre- et post-image sur les lignes "
+"\"index\""
 
-#: fetch-pack.c:873
-msgid "error in sideband demultiplexer"
-msgstr "erreur dans le démultiplexer latéral"
+#: diff.c:5345
+msgid "show colored diff"
+msgstr "afficher un diff coloré"
 
-#: fetch-pack.c:902
-msgid "Server does not support shallow clients"
-msgstr "Le serveur ne supporte les clients superficiels"
+#: diff.c:5346
+msgid "<kind>"
+msgstr "<sorte>"
 
-#: fetch-pack.c:906
-msgid "Server supports multi_ack_detailed"
-msgstr "Le serveur supporte multi_ack_detailed"
+#: diff.c:5347
+msgid ""
+"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
+"diff"
+msgstr ""
+"surligner les erreurs d'espace dans les lignes 'contexte', 'ancien', "
+"'nouveau' dans le diff"
 
-#: fetch-pack.c:909
-msgid "Server supports no-done"
-msgstr "Le serveur support no-done"
+#: diff.c:5350
+msgid ""
+"do not munge pathnames and use NULs as output field terminators in --raw or "
+"--numstat"
+msgstr ""
+"ne pas compresser les chemins et utiliser des NULs comme terminateurs de "
+"champs dans --raw ou --numstat"
 
-#: fetch-pack.c:915
-msgid "Server supports multi_ack"
-msgstr "Le serveur supporte multi_ack"
+#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465
+msgid "<prefix>"
+msgstr "<préfixe>"
 
-#: fetch-pack.c:919
-msgid "Server supports side-band-64k"
-msgstr "Le serveur supporte side-band-64k"
+#: diff.c:5354
+msgid "show the given source prefix instead of \"a/\""
+msgstr "afficher le préfixe de source indiqué au lieu de \"a/\""
+
+#: diff.c:5357
+msgid "show the given destination prefix instead of \"b/\""
+msgstr "afficher le préfixe de destination indiqué au lieu de \"b/\""
+
+#: diff.c:5360
+msgid "prepend an additional prefix to every line of output"
+msgstr "préfixer toutes les lignes en sortie avec la chaîne indiquée"
+
+#: diff.c:5363
+msgid "do not show any source or destination prefix"
+msgstr "n'afficher aucun préfixe, ni de source, ni de destination"
+
+#: diff.c:5366
+msgid "show context between diff hunks up to the specified number of lines"
+msgstr ""
+"afficher le contexte entre les sections à concurrence du nombre de ligne "
+"indiqué"
+
+#: diff.c:5370 diff.c:5375 diff.c:5380
+msgid "<char>"
+msgstr "<caractère>"
+
+#: diff.c:5371
+msgid "specify the character to indicate a new line instead of '+'"
+msgstr "spécifier le caractère pour indiquer une nouvelle ligne au lieu de '+'"
+
+#: diff.c:5376
+msgid "specify the character to indicate an old line instead of '-'"
+msgstr "spécifier le caractère pour indiquer une ancienne ligne au lieu de '-'"
+
+#: diff.c:5381
+msgid "specify the character to indicate a context instead of ' '"
+msgstr ""
+"spécifier le caractère pour indiquer une ligne de contexte au lieu de ' '"
+
+#: diff.c:5384
+msgid "Diff rename options"
+msgstr "Options de renommage de diff"
+
+#: diff.c:5385
+msgid "<n>[/<m>]"
+msgstr "<n>[/<m>]"
+
+#: diff.c:5386
+msgid "break complete rewrite changes into pairs of delete and create"
+msgstr ""
+"casser les modifications d'une réécrire complète en paires de suppression et "
+"création"
+
+#: diff.c:5390
+msgid "detect renames"
+msgstr "détecter les renommages"
+
+#: diff.c:5394
+msgid "omit the preimage for deletes"
+msgstr "supprimer la pré-image pour les suppressions"
+
+#: diff.c:5397
+msgid "detect copies"
+msgstr "détecter les copies"
+
+#: diff.c:5401
+msgid "use unmodified files as source to find copies"
+msgstr ""
+"utiliser les fichiers non-modifiés comme sources pour trouver des copies"
+
+#: diff.c:5403
+msgid "disable rename detection"
+msgstr "désactiver la détection de renommage"
+
+#: diff.c:5406
+msgid "use empty blobs as rename source"
+msgstr "utiliser des blobs vides comme source de renommage"
+
+#: diff.c:5408
+msgid "continue listing the history of a file beyond renames"
+msgstr "continuer à afficher l'historique d'un fichier au delà des renommages"
+
+#: diff.c:5411
+msgid ""
+"prevent rename/copy detection if the number of rename/copy targets exceeds "
+"given limit"
+msgstr ""
+"empêcher la détection de renommage/copie si le nombre de cibles de renommage/"
+"copie excède la limite indiquée"
+
+#: diff.c:5413
+msgid "Diff algorithm options"
+msgstr "Options de l'algorithme de diff"
+
+#: diff.c:5415
+msgid "produce the smallest possible diff"
+msgstr "produire le diff le plus petit possible"
+
+#: diff.c:5418
+msgid "ignore whitespace when comparing lines"
+msgstr "ignorer les espaces lors de la comparaison de ligne"
+
+#: diff.c:5421
+msgid "ignore changes in amount of whitespace"
+msgstr "ignorer des modifications du nombre d'espaces"
+
+#: diff.c:5424
+msgid "ignore changes in whitespace at EOL"
+msgstr "ignorer des modifications d'espace en fin de ligne"
+
+#: diff.c:5427
+msgid "ignore carrier-return at the end of line"
+msgstr "ignore le retour chariot en fin de ligne"
+
+#: diff.c:5430
+msgid "ignore changes whose lines are all blank"
+msgstr "ignorer les modifications dont les lignes sont vides"
+
+#: diff.c:5433
+msgid "heuristic to shift diff hunk boundaries for easy reading"
+msgstr ""
+"heuristique qui déplace les limites de sections de diff pour faciliter la "
+"lecture"
+
+#: diff.c:5436
+msgid "generate diff using the \"patience diff\" algorithm"
+msgstr "générer un diff en utilisant l'algorithme de différence \"patience\""
+
+#: diff.c:5440
+msgid "generate diff using the \"histogram diff\" algorithm"
+msgstr ""
+"générer un diff en utilisant l'algorithme de différence \"histogramme\""
+
+#: diff.c:5442
+msgid "<algorithm>"
+msgstr "<algorithme>"
+
+#: diff.c:5443
+msgid "choose a diff algorithm"
+msgstr "choisir un algorithme de différence"
+
+#: diff.c:5445
+msgid "<text>"
+msgstr "<texte>"
+
+#: diff.c:5446
+msgid "generate diff using the \"anchored diff\" algorithm"
+msgstr "générer un diff en utilisant l'algorithme de différence \"ancré\""
+
+#: diff.c:5448 diff.c:5457 diff.c:5460
+msgid "<mode>"
+msgstr "<mode>"
+
+#: diff.c:5449
+msgid "show word diff, using <mode> to delimit changed words"
+msgstr ""
+"afficher des différences par mot, en utilisant <mode> pour délimiter les "
+"mots modifiés"
+
+#: diff.c:5451 diff.c:5454 diff.c:5499
+msgid "<regex>"
+msgstr "<regex>"
+
+#: diff.c:5452
+msgid "use <regex> to decide what a word is"
+msgstr "utiliser <regex> pour décider ce qu'est un mot"
+
+#: diff.c:5455
+msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
+msgstr "équivalent à --word-diff=color --word-diff-regex=<regex>"
+
+#: diff.c:5458
+msgid "moved lines of code are colored differently"
+msgstr "les lignes déplacées sont colorées différemment"
+
+#: diff.c:5461
+msgid "how white spaces are ignored in --color-moved"
+msgstr "comment les espaces sont ignorés dans --color-moved"
+
+#: diff.c:5464
+msgid "Other diff options"
+msgstr "Autres options diff"
+
+#: diff.c:5466
+msgid "when run from subdir, exclude changes outside and show relative paths"
+msgstr ""
+"lancé depuis un sous-répertoire, exclure les modifications en dehors et "
+"afficher les chemins relatifs"
+
+#: diff.c:5470
+msgid "treat all files as text"
+msgstr "traiter les fichiers comme texte"
+
+#: diff.c:5472
+msgid "swap two inputs, reverse the diff"
+msgstr "échanger les entrées, inverser le diff"
+
+#: diff.c:5474
+msgid "exit with 1 if there were differences, 0 otherwise"
+msgstr "sortir un code d'erreur 1 s'il y avait de différences, 0 sinon"
+
+#: diff.c:5476
+msgid "disable all output of the program"
+msgstr "désactiver tous les affichages du programme"
+
+#: diff.c:5478
+msgid "allow an external diff helper to be executed"
+msgstr "autoriser l'exécution d'un assistant externe de diff"
+
+#: diff.c:5480
+msgid "run external text conversion filters when comparing binary files"
+msgstr ""
+"lancer les filtres externes de conversion en texte lors de la comparaison de "
+"fichiers binaires"
+
+#: diff.c:5482
+msgid "<when>"
+msgstr "<quand>"
+
+#: diff.c:5483
+msgid "ignore changes to submodules in the diff generation"
+msgstr ""
+"ignorer les modifications dans les sous-modules lors de la génération de diff"
+
+#: diff.c:5486
+msgid "<format>"
+msgstr "<format>"
+
+#: diff.c:5487
+msgid "specify how differences in submodules are shown"
+msgstr "spécifier comment les différences dans les sous-modules sont affichées"
+
+#: diff.c:5491
+msgid "hide 'git add -N' entries from the index"
+msgstr "masquer les entrées 'git add -N' de l'index"
+
+#: diff.c:5494
+msgid "treat 'git add -N' entries as real in the index"
+msgstr "traiter les entrées 'git add -N' comme réelles dans l'index"
+
+#: diff.c:5496
+msgid "<string>"
+msgstr "<chaîne>"
+
+#: diff.c:5497
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"string"
+msgstr ""
+"rechercher les différences qui modifient le nombre d'occurrences de la "
+"chaîne spécifiée"
+
+#: diff.c:5500
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"regex"
+msgstr ""
+"rechercher les différences qui modifient le nombre d'occurrences de la regex "
+"spécifiée"
+
+#: diff.c:5503
+msgid "show all changes in the changeset with -S or -G"
+msgstr ""
+"afficher toutes les modifications dans l'ensemble de modifications avec -S "
+"ou -G"
+
+#: diff.c:5506
+msgid "treat <string> in -S as extended POSIX regular expression"
+msgstr ""
+"traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue"
+
+#: diff.c:5509
+msgid "control the order in which files appear in the output"
+msgstr "contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie"
+
+#: diff.c:5510
+msgid "<object-id>"
+msgstr "<id-objet>"
+
+#: diff.c:5511
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"object"
+msgstr ""
+"rechercher les différences qui modifient le nombre d'occurrences de l'objet "
+"indiqué"
+
+#: diff.c:5513
+msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
+msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
+
+#: diff.c:5514
+msgid "select files by diff type"
+msgstr "sélectionner les fichiers par types de diff"
+
+#: diff.c:5516
+msgid "<file>"
+msgstr "<fichier>"
+
+#: diff.c:5517
+msgid "Output to a specific file"
+msgstr "Sortie vers un fichier spécifié"
+
+#: diff.c:6150
+msgid "inexact rename detection was skipped due to too many files."
+msgstr ""
+"détection de renommage inexact annulée à cause d'un trop grand nombre de "
+"fichiers."
+
+#: diff.c:6153
+msgid "only found copies from modified paths due to too many files."
+msgstr ""
+"recherche uniquement des copies par modification de chemin à cause d'un trop "
+"grand nombre de fichiers."
+
+#: diff.c:6156
+#, c-format
+msgid ""
+"you may want to set your %s variable to at least %d and retry the command."
+msgstr ""
+"vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
+"commande."
+
+#: dir.c:537
+#, 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:926
+#, c-format
+msgid "cannot use %s as an exclude file"
+msgstr "impossible d'utiliser %s comme fichier d'exclusion"
+
+#: dir.c:1843
+#, c-format
+msgid "could not open directory '%s'"
+msgstr "impossible d'ouvrir le répertoire '%s'"
+
+#: dir.c:2085
+msgid "failed to get kernel name and information"
+msgstr "echec de l'obtention d'information de kernel"
+
+#: dir.c:2209
+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:3013
+#, c-format
+msgid "index file corrupt in repo %s"
+msgstr "fichier d'index corrompu dans le dépôt %s"
+
+#: dir.c:3058 dir.c:3063
+#, c-format
+msgid "could not create directories for %s"
+msgstr "impossible de créer les répertoires pour %s"
+
+#: dir.c:3092
+#, 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:73
+#, c-format
+msgid "hint: Waiting for your editor to close the file...%c"
+msgstr ""
+"suggestion : en attente de la fermeture du fichier par votre éditeur de "
+"texte…%c"
+
+#: entry.c:178
+msgid "Filtering content"
+msgstr "Filtrage du contenu"
+
+#: entry.c:476
+#, c-format
+msgid "could not stat file '%s'"
+msgstr "impossible de stat le fichier '%s'"
+
+#: environment.c:150
+#, c-format
+msgid "bad git namespace path \"%s\""
+msgstr "Espaces de nom de Git \"%s\""
+
+#: environment.c:332
+#, c-format
+msgid "could not set GIT_DIR to '%s'"
+msgstr "impossible de régler GIT_DIR à '%s'"
+
+#: exec-cmd.c:363
+#, c-format
+msgid "too many args to run %s"
+msgstr "trop d'arguments pour lancer %s"
+
+#: fetch-object.c:17
+msgid "Remote with no URL"
+msgstr "Dépôt distant sans URL"
+
+#: fetch-pack.c:151
+msgid "git fetch-pack: expected shallow list"
+msgstr "git fetch-pack : liste superficielle attendue"
+
+#: fetch-pack.c:154
+msgid "git fetch-pack: expected a flush packet after shallow list"
+msgstr ""
+"git fetch-pack : paquet de vidage attendu après une liste superficielle"
+
+#: fetch-pack.c:165
+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:185
+#, c-format
+msgid "git fetch-pack: expected ACK/NAK, got '%s'"
+msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
+
+#: fetch-pack.c:196
+msgid "unable to write to remote"
+msgstr "impossible d'écrire sur un distant"
+
+#: fetch-pack.c:258
+msgid "--stateless-rpc requires multi_ack_detailed"
+msgstr "--stateless-rpc nécessite multi_ack_detailed"
+
+#: fetch-pack.c:360 fetch-pack.c:1271
+#, c-format
+msgid "invalid shallow line: %s"
+msgstr "ligne de superficiel invalide : %s"
+
+#: fetch-pack.c:366 fetch-pack.c:1277
+#, c-format
+msgid "invalid unshallow line: %s"
+msgstr "ligne de fin de superficiel invalide : %s"
+
+#: fetch-pack.c:368 fetch-pack.c:1279
+#, c-format
+msgid "object not found: %s"
+msgstr "objet non trouvé : %s"
+
+#: fetch-pack.c:371 fetch-pack.c:1282
+#, c-format
+msgid "error in object: %s"
+msgstr "Erreur dans l'objet : %s"
+
+#: fetch-pack.c:373 fetch-pack.c:1284
+#, c-format
+msgid "no shallow found: %s"
+msgstr "Pas de superficiel trouvé : %s"
+
+#: fetch-pack.c:376 fetch-pack.c:1288
+#, c-format
+msgid "expected shallow/unshallow, got %s"
+msgstr "superficiel/non superficiel attendu, %s trouvé"
+
+#: fetch-pack.c:417
+#, c-format
+msgid "got %s %d %s"
+msgstr "réponse %s %d %s"
+
+#: fetch-pack.c:434
+#, c-format
+msgid "invalid commit %s"
+msgstr "commit invalide %s"
+
+#: fetch-pack.c:465
+msgid "giving up"
+msgstr "abandon"
+
+#: fetch-pack.c:477 progress.c:284
+msgid "done"
+msgstr "fait"
+
+#: fetch-pack.c:489
+#, c-format
+msgid "got %s (%d) %s"
+msgstr "%s trouvé (%d) %s"
+
+#: fetch-pack.c:535
+#, c-format
+msgid "Marking %s as complete"
+msgstr "Marquage de %s comme terminé"
+
+#: fetch-pack.c:744
+#, c-format
+msgid "already have %s (%s)"
+msgstr "%s déjà possédé (%s)"
+
+#: fetch-pack.c:783
+msgid "fetch-pack: unable to fork off sideband demultiplexer"
+msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
+
+#: fetch-pack.c:791
+msgid "protocol error: bad pack header"
+msgstr "erreur de protocole : mauvais entête de paquet"
+
+#: fetch-pack.c:859
+#, c-format
+msgid "fetch-pack: unable to fork off %s"
+msgstr "fetch-pack : impossible de dupliquer %s"
+
+#: fetch-pack.c:875
+#, c-format
+msgid "%s failed"
+msgstr "échec de %s"
+
+#: fetch-pack.c:877
+msgid "error in sideband demultiplexer"
+msgstr "erreur dans le démultiplexer latéral"
+
+#: fetch-pack.c:906
+msgid "Server does not support shallow clients"
+msgstr "Le serveur ne supporte les clients superficiels"
+
+#: fetch-pack.c:910
+msgid "Server supports multi_ack_detailed"
+msgstr "Le serveur supporte multi_ack_detailed"
+
+#: fetch-pack.c:913
+msgid "Server supports no-done"
+msgstr "Le serveur support no-done"
+
+#: fetch-pack.c:919
+msgid "Server supports multi_ack"
+msgstr "Le serveur supporte multi_ack"
 
 #: fetch-pack.c:923
+msgid "Server supports side-band-64k"
+msgstr "Le serveur supporte side-band-64k"
+
+#: fetch-pack.c:927
 msgid "Server supports side-band"
 msgstr "Le serveru supporte side-band"
 
-#: fetch-pack.c:927
+#: fetch-pack.c:931
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "Le serveur supporte allow-tip-sha1-in-want"
 
-#: fetch-pack.c:931
+#: fetch-pack.c:935
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "Le serveur supporte allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:941
+#: fetch-pack.c:945
 msgid "Server supports ofs-delta"
 msgstr "Le serveur supporte ofs-delta"
 
-#: fetch-pack.c:947 fetch-pack.c:1140
+#: fetch-pack.c:951 fetch-pack.c:1144
 msgid "Server supports filter"
 msgstr "Le serveur supporte filter"
 
-#: fetch-pack.c:955
+#: fetch-pack.c:959
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*s"
 
-#: fetch-pack.c:961
+#: fetch-pack.c:965
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:969
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:967
+#: fetch-pack.c:971
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:984
+#: fetch-pack.c:988
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:996 fetch-pack.c:1419
+#: fetch-pack.c:1000 fetch-pack.c:1449
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1134
+#: fetch-pack.c:1138
 msgid "Server does not support shallow requests"
 msgstr "Le serveur ne supporte les requêtes superficielles"
 
-#: fetch-pack.c:1184
+#: fetch-pack.c:1171
+msgid "unable to write request to remote"
+msgstr "impossible d'écrire la requête sur le distant"
+
+#: fetch-pack.c:1189
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "erreur à la lecture de l'entête de section '%s'"
 
-#: fetch-pack.c:1190
+#: fetch-pack.c:1195
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' attendu, '%s' reçu"
 
-#: fetch-pack.c:1229
+#: fetch-pack.c:1234
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "ligne d'acquittement inattendue : '%s'"
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1239
 #, c-format
 msgid "error processing acks: %d"
 msgstr "erreur lors du traitement des acquittements : %d"
 
-#: fetch-pack.c:1244
+#: fetch-pack.c:1249
 msgid "expected packfile to be sent after 'ready'"
 msgstr "fichier paquet attendu à envoyer après 'ready'"
 
-#: fetch-pack.c:1246
+#: fetch-pack.c:1251
 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:1287
+#: fetch-pack.c:1293
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "erreur lors du traitement de l'information de superficialité : %d"
 
-#: fetch-pack.c:1308
+#: fetch-pack.c:1340
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref attendu, '%s' trouvé"
 
-#: fetch-pack.c:1318
+#: fetch-pack.c:1345
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inattendu : '%s'"
 
-#: fetch-pack.c:1322
+#: fetch-pack.c:1350
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "erreur lors du traitement des références voulues : %d"
 
-#: fetch-pack.c:1646
+#: fetch-pack.c:1676
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: fetch-pack.c:1664 builtin/clone.c:671
+#: fetch-pack.c:1699 builtin/clone.c:673
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: fetch-pack.c:1690
+#: fetch-pack.c:1726
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:1693
+#: fetch-pack.c:1729
 #, 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é"
@@ -2880,30 +3492,30 @@ msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:363 git.c:90
+#: help.c:363 git.c:97
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "type de liste de commandes non supporté '%s'"
 
-#: help.c:410
+#: help.c:403
 msgid "The common Git guides are:"
 msgstr "Les guides Git populaires sont :"
 
-#: help.c:519
+#: help.c:512
 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:524
+#: help.c:517
 msgid "External commands"
 msgstr "Commandes externes"
 
-#: help.c:539
+#: help.c:532
 msgid "Command aliases"
 msgstr "Alias de commande"
 
-#: help.c:603
+#: help.c:596
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -2912,33 +3524,33 @@ msgstr ""
 "'%s' semble être une commande git, mais elle n'a pas pu\n"
 "être exécutée. Peut-être git-%s est-elle cassée ?"
 
-#: help.c:662
+#: help.c:655
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:684
+#: help.c:677
 #, 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:689
+#: help.c:682
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Continuons en supposant que vous avez voulu dire '%s'."
 
-#: help.c:694
+#: help.c:687
 #, 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:702
+#: help.c:695
 #, 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:706
+#: help.c:699
 msgid ""
 "\n"
 "The most similar command is"
@@ -2952,16 +3564,16 @@ msgstr[1] ""
 "\n"
 "Les commandes les plus ressemblantes sont"
 
-#: help.c:721
+#: help.c:714
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: help.c:789
+#: help.c:782
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:793
+#: help.c:786
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2975,7 +3587,7 @@ msgstr[1] ""
 "\n"
 "Vouliez-vous dire un de ceux-là ?"
 
-#: ident.c:345
+#: ident.c:349
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -3001,39 +3613,56 @@ msgstr ""
 "Éliminez --global pour ne faire les réglages que dans ce dépôt.\n"
 "\n"
 
-#: ident.c:369
+#: ident.c:379
 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:374
+#: ident.c:384
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "impossible de détecter automatiquement l'adresse ('%s' trouvé)"
 
-#: ident.c:384
+#: ident.c:401
 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:390
+#: ident.c:407
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "impossible de détecter automatiquement le nom ('%s' trouvé)"
 
-#: ident.c:398
+#: ident.c:415
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "nom d'identifiant vide (pour <%s>) non permis"
 
-#: ident.c:404
+#: ident.c:421
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "le nom n'est constitué que de caractères interdits : %s"
 
-#: ident.c:419 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:608
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %s"
 
+#: list-objects.c:129
+#, c-format
+msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+msgstr ""
+"l'entrée '%s' dans l'arbre %s a un mode d'arbre, mais n'est pas un arbre"
+
+#: list-objects.c:142
+#, c-format
+msgid "entry '%s' in tree %s has blob mode, but is not a blob"
+msgstr ""
+"l'entrée '%s' dans l'arbre %s a un mode de blob, mais n'est pas un blob"
+
+#: list-objects.c:378
+#, c-format
+msgid "unable to load root tree for commit %s"
+msgstr "impossible de charger l'arbre racine pour le commit %s"
+
 #: list-objects-filter-options.c:36
 msgid "multiple filter-specs cannot be combined"
 msgstr "impossible de combiner des spécificateurs multiples de filtre"
@@ -3042,7 +3671,11 @@ msgstr "impossible de combiner des spécificateurs multiples de filtre"
 msgid "expected 'tree:<depth>'"
 msgstr "attendu : 'tree:<profondeur>'"
 
-#: list-objects-filter-options.c:152
+#: list-objects-filter-options.c:84
+msgid "sparse:path filters support has been dropped"
+msgstr "sparse : le support des filtres de chemin a été abandonné"
+
+#: list-objects-filter-options.c:158
 msgid "cannot change partial clone promisor remote"
 msgstr "impossible de modifier le prometteur distant de clone partiel"
 
@@ -3074,116 +3707,117 @@ msgstr "Impossible de créer '%s.lock' : %s"
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1884 builtin/am.c:1918
-#: builtin/checkout.c:416 builtin/checkout.c:745 builtin/clone.c:771
+#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
+#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
+#: builtin/stash.c:264
 msgid "unable to write new index file"
 msgstr "impossible d'écrire le nouveau fichier d'index"
 
-#: merge-recursive.c:332
+#: merge-recursive.c:322
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:355
+#: 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:364
+#: merge-recursive.c:354
 #, 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:447
+#: merge-recursive.c:437
 msgid "error building trees"
 msgstr "erreur de construction des arbres"
 
-#: merge-recursive.c:902
+#: merge-recursive.c:861
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:913
+#: merge-recursive.c:872
 #, 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:927 merge-recursive.c:946
+#: merge-recursive.c:886 merge-recursive.c:905
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:936
+#: merge-recursive.c:895
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:978 builtin/cat-file.c:40
+#: merge-recursive.c:936 builtin/cat-file.c:40
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:980
+#: merge-recursive.c:939
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:1004
+#: merge-recursive.c:963
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:1015
+#: merge-recursive.c:974
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:1020
+#: merge-recursive.c:979
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:1211
+#: merge-recursive.c:1175
 #, 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:1218
+#: merge-recursive.c:1182
 #, 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:1225
+#: merge-recursive.c:1189
 #, 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:1233 merge-recursive.c:1245
+#: merge-recursive.c:1197 merge-recursive.c:1209
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Avance rapide du sous-module %s au commit suivant :"
 
-#: merge-recursive.c:1236 merge-recursive.c:1248
+#: merge-recursive.c:1200 merge-recursive.c:1212
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rapide du sous-module %s"
 
-#: merge-recursive.c:1271
+#: merge-recursive.c:1235
 #, 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:1275
+#: merge-recursive.c:1239
 #, 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:1276
+#: merge-recursive.c:1240
 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:1279
+#: merge-recursive.c:1243
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3200,33 +3834,33 @@ msgstr ""
 "\n"
 "qui acceptera cette suggestion.\n"
 
-#: merge-recursive.c:1288
+#: merge-recursive.c:1252
 #, 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:1361
+#: merge-recursive.c:1325
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:1366
+#: merge-recursive.c:1330
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1398
+#: merge-recursive.c:1362
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1419
+#: merge-recursive.c:1385
 #, 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:1486
+#: merge-recursive.c:1457
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3235,7 +3869,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre."
 
-#: merge-recursive.c:1491
+#: merge-recursive.c:1462
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3244,7 +3878,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre."
 
-#: merge-recursive.c:1498
+#: merge-recursive.c:1469
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3253,7 +3887,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1503
+#: merge-recursive.c:1474
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3262,41 +3896,41 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1537
+#: merge-recursive.c:1509
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1537
+#: merge-recursive.c:1509
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1633 merge-recursive.c:2481 merge-recursive.c:3213
+#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Refus de perdre le fichier modifié %s"
 
-#: merge-recursive.c:1643
+#: merge-recursive.c:1599
 #, 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:1706
+#: merge-recursive.c:1657
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1734
+#: merge-recursive.c:1687
 #, 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:1739
+#: merge-recursive.c:1692
 #, 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:1759
+#: merge-recursive.c:1711
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3305,18 +3939,18 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1764
+#: merge-recursive.c:1716
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1825
 #, 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:2064
+#: merge-recursive.c:2030
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3327,7 +3961,7 @@ msgstr ""
 "parce que le répertoire %s a été renommé en plusieurs autres répertoires, "
 "sans aucune destination récupérant la majorité des fichiers."
 
-#: merge-recursive.c:2096
+#: merge-recursive.c:2062
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3336,7 +3970,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : le répertoire/fichier %s gêne "
 "des renommages implicites de répertoire déplaçant les chemins suivants : %s."
 
-#: merge-recursive.c:2106
+#: merge-recursive.c:2072
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3345,7 +3979,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : impossible de transformer "
 "plusieurs chemins sur %s ; les chemins concernés sont : %s"
 
-#: merge-recursive.c:2198
+#: merge-recursive.c:2164
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3354,7 +3988,7 @@ msgstr ""
 "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
 "Renommage de répertoire %s->%s dans %s"
 
-#: merge-recursive.c:2443
+#: merge-recursive.c:2408
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3363,81 +3997,119 @@ msgstr ""
 "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
 "renommé."
 
-#: merge-recursive.c:3022
+#: merge-recursive.c:2929
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:3025
+#: merge-recursive.c:2932
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:3094
+#: merge-recursive.c:2996
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:3094
+#: merge-recursive.c:2996
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:3105
+#: merge-recursive.c:3008
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:3112
+#: merge-recursive.c:3012
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:3160
+#: merge-recursive.c:3035
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:3182 git-submodule.sh:861
+#: merge-recursive.c:3057 git-submodule.sh:937
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:3183
+#: merge-recursive.c:3058
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3216
+#: merge-recursive.c:3088
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:3319
+#: merge-recursive.c:3170
+#, c-format
+msgid ""
+"Path updated: %s added in %s inside a directory that was renamed in %s; "
+"moving it to %s."
+msgstr ""
+"Chemin mis à jour : %s ajouté dans %s dans un répertoire qui a été renommé "
+"en %s ; déplacé dans %s."
+
+#: merge-recursive.c:3173
+#, c-format
+msgid ""
+"CONFLICT (file location): %s added in %s inside a directory that was renamed "
+"in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"CONFLIT (localisation de fichier) : %s ajouté dans %s dans un répertoire qui "
+"a été renommé dans %s, ce qui suggère qu'il devrait peut-être être déplacé "
+"vers %s."
+
+#: merge-recursive.c:3177
+#, c-format
+msgid ""
+"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
+"%s; moving it to %s."
+msgstr ""
+"Chemin mis à jour : %s renommé en %s dans %s, dans un répertoire qui a été "
+"renommé en %s ; déplacé dans %s."
+
+#: merge-recursive.c:3180
+#, c-format
+msgid ""
+"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
+"was renamed in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"CONFLIT (localisation de fichier) : %s renommé en %s dans %s, dans un "
+"répertoire qui a été renommé dans %s, ce qui suggère qu'il devrait peut-être "
+"être déplacé vers %s."
+
+#: merge-recursive.c:3294
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:3345
+#: merge-recursive.c:3317
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:3351
+#: merge-recursive.c:3322
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:3358
+#: merge-recursive.c:3329
 #, 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:3367
+#: merge-recursive.c:3338
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:3376
+#: merge-recursive.c:3347
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "CONFLIT (ajout/ajout) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3417
+#: merge-recursive.c:3385
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3447,128 +4119,132 @@ msgstr ""
 "fusion :\n"
 "  %s"
 
-#: merge-recursive.c:3428
+#: merge-recursive.c:3396
 msgid "Already up to date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:3437
+#: merge-recursive.c:3405
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:3536
+#: merge-recursive.c:3504
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:3549
+#: merge-recursive.c:3517
 #, 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:3588
+#: merge-recursive.c:3556
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:3654
+#: merge-recursive.c:3622
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:3670 builtin/merge.c:692 builtin/merge.c:850
+#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
-#: midx.c:65
+#: midx.c:66
 #, 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
+#: midx.c:82
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 "la signature de l'index multi-paquet 0x%08x ne correspond pas à la signature "
 "0x%08x"
 
-#: midx.c:86
+#: midx.c:87
 #, 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
+#: midx.c:92
 #, c-format
 msgid "hash version %u does not match"
 msgstr "la version %u du condensé ne correspond pas"
 
-#: midx.c:105
+#: midx.c:106
 msgid "invalid chunk offset (too large)"
 msgstr "décalage de section invalide (trop grand)"
 
-#: midx.c:129
+#: midx.c:130
 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
+#: midx.c:143
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "index multi-paquet manque de tronçon de nom de paquet"
 
-#: midx.c:144
+#: midx.c:145
 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
+#: midx.c:147
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "index multi-paquet manque de tronçon de recherche OID"
 
-#: midx.c:148
+#: midx.c:149
 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
+#: midx.c:163
 #, 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
+#: midx.c:208
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "mauvais pack-int-id : %u (%u paquets au total)"
 
-#: midx.c:246
+#: midx.c:258
 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
+#: midx.c:286
 msgid "error preparing packfile from multi-pack-index"
 msgstr "erreur à la préparation du fichier paquet depuis un index multi-paquet"
 
-#: midx.c:407
+#: midx.c:457
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "échec de l'ajout du fichier paquet '%s'"
 
-#: midx.c:413
+#: midx.c:463
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "échec à l'ouverture du fichier paquet '%s'"
 
-#: midx.c:507
+#: midx.c:557
 #, 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
+#: midx.c:993
 #, 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
+#: midx.c:1048
+msgid "Looking for referenced packfiles"
+msgstr "Recherche de fichiers paquets référencés"
+
+#: midx.c:1063
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
@@ -3576,26 +4252,34 @@ msgstr ""
 "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = "
 "étalement[%d]"
 
-#: midx.c:992
+#: midx.c:1067
+msgid "Verifying OID order in MIDX"
+msgstr "Vérification de l'ordre des OID dans MIDX"
+
+#: midx.c:1076
 #, 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
+#: midx.c:1095
+msgid "Sorting objects by packfile"
+msgstr "Classement des objets par fichier paquet"
+
+#: midx.c:1101
 msgid "Verifying object offsets"
 msgstr "Vérification des décalages des objets"
 
-#: midx.c:1004
+#: midx.c:1117
 #, 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
+#: midx.c:1123
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "impossible de lire le fichier paquet %s"
 
-#: midx.c:1019
+#: midx.c:1132
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "décalage d'objet incorrect pour oid[%d] = %s : %<PRIx64> != %<PRIx64>"
@@ -3679,86 +4363,81 @@ msgstr "impossible d'analyser l'objet : %s"
 msgid "hash mismatch %s"
 msgstr "incohérence de hachage %s"
 
-#: packfile.c:607
+#: packfile.c:617
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: packfile.c:1870
+#: packfile.c:1868
 #, 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:1874
+#: packfile.c:1872
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "offset au delà de la fin de l'index de paquet pour %s (index tronqué ?)"
 
-#: parse-options.c:35
+#: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
 msgstr "%s a besoin d'une valeur"
 
-#: parse-options.c:69
+#: parse-options.c:73
 #, c-format
 msgid "%s is incompatible with %s"
 msgstr "%s est incompatible avec %s"
 
-#: parse-options.c:74
+#: parse-options.c:78
 #, c-format
 msgid "%s : incompatible with something else"
 msgstr "%s est incompatible avec toute autre option"
 
-#: parse-options.c:88 parse-options.c:92 parse-options.c:260
+#: parse-options.c:92 parse-options.c:96 parse-options.c:319
 #, c-format
 msgid "%s takes no value"
 msgstr "%s n'accepte aucune valeur"
 
-#: parse-options.c:90
+#: parse-options.c:94
 #, c-format
 msgid "%s isn't available"
 msgstr "%s n'est pas disponible"
 
-#: parse-options.c:178
-#, c-format
-msgid "%s expects a numerical value"
-msgstr "%s attend une valeur numérique"
-
-#: parse-options.c:194
+#: parse-options.c:219
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr "%s attend une valeur entière non négative avec une suffixe k/m/g"
 
-#: parse-options.c:322
+#: parse-options.c:389
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "option ambigüe : %s (devrait être --%s%s ou --%s%s)"
 
-#: parse-options.c:356 parse-options.c:364
+#: parse-options.c:423 parse-options.c:431
 #, c-format
 msgid "did you mean `--%s` (with two dashes ?)"
 msgstr "vouliez-vous dire `--%s` (avec deux signes moins)?"
 
-#: parse-options.c:649
+#: parse-options.c:859
 #, c-format
 msgid "unknown option `%s'"
 msgstr "option inconnue « %s »"
 
-#: parse-options.c:651
+#: parse-options.c:861
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "bascule inconnue « %c »"
 
-#: parse-options.c:653
+#: parse-options.c:863
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "option non-ascii inconnue dans la chaîne : '%s'"
 
-#: parse-options.c:675
+#: parse-options.c:887
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:694
+#: parse-options.c:906
 #, c-format
 msgid "usage: %s"
 msgstr "usage : %s"
@@ -3766,41 +4445,46 @@ msgstr "usage : %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:700
+#: parse-options.c:912
 #, c-format
 msgid "   or: %s"
 msgstr "   ou : %s"
 
-#: parse-options.c:703
+#: parse-options.c:915
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:742
+#: parse-options.c:954
 msgid "-NUM"
 msgstr "-NUM"
 
-#: parse-options-cb.c:21
+#: parse-options.c:968
+#, c-format
+msgid "alias of --%s"
+msgstr "alias pour --%s"
+
+#: parse-options-cb.c:20 parse-options-cb.c:24
 #, c-format
 msgid "option `%s' expects a numerical value"
 msgstr "l'option '%s' attend une valeur numérique"
 
-#: parse-options-cb.c:38
+#: parse-options-cb.c:41
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "date d'expiration malformée : '%s'"
 
-#: parse-options-cb.c:51
+#: parse-options-cb.c:54
 #, c-format
 msgid "option `%s' expects \"always\", \"auto\", or \"never\""
 msgstr "l'option '%s' attend \"always\", \"auto\" ou \"never\""
 
-#: parse-options-cb.c:110
+#: parse-options-cb.c:130 parse-options-cb.c:147
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "nom d'objet malformé '%s'"
 
-#: path.c:894
+#: path.c:897
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
@@ -3884,47 +4568,55 @@ msgstr ""
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
-#: pkt-line.c:104
+#: pkt-line.c:92
+msgid "unable to write flush packet"
+msgstr "impossible d'écrire le paquet de vidage"
+
+#: pkt-line.c:99
+msgid "unable to write delim packet"
+msgstr "impossible d'écrire le paquet de délimitation"
+
+#: pkt-line.c:106
 msgid "flush packet write failed"
 msgstr "échec de l'écriture du vidage de paquet"
 
-#: pkt-line.c:144 pkt-line.c:230
+#: pkt-line.c:146 pkt-line.c:232
 msgid "protocol error: impossibly long line"
 msgstr "erreur de protocole : ligne impossiblement trop longue"
 
-#: pkt-line.c:160 pkt-line.c:162
+#: pkt-line.c:162 pkt-line.c:164
 msgid "packet write with format failed"
 msgstr "échec de l'écriture d'un paquet avec format"
 
-#: pkt-line.c:194
+#: pkt-line.c:196
 msgid "packet write failed - data exceeds max packet size"
 msgstr ""
 "échec de l'écriture d'un paquet ‑ les données dépassent la taille maximale "
 "d'un paquet"
 
-#: pkt-line.c:201 pkt-line.c:208
+#: pkt-line.c:203 pkt-line.c:210
 msgid "packet write failed"
 msgstr "échec de l'écriture d'un paquet"
 
-#: pkt-line.c:293
+#: pkt-line.c:295
 msgid "read error"
 msgstr "erreur de lecture"
 
-#: pkt-line.c:301
+#: pkt-line.c:303
 msgid "the remote end hung up unexpectedly"
 msgstr "L'hôte distant a fermé la connexion de manière inattendue"
 
-#: pkt-line.c:329
+#: pkt-line.c:331
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "erreur de protocole : mauvais caractère de longueur de ligne : %.4s"
 
-#: pkt-line.c:339 pkt-line.c:344
+#: pkt-line.c:341 pkt-line.c:346
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "erreur de protocole : mauvaise longueur de ligne %d"
 
-#: pkt-line.c:353
+#: pkt-line.c:362
 #, c-format
 msgid "remote error: %s"
 msgstr "erreur distante : %s"
@@ -3938,7 +4630,7 @@ msgstr "Rafraîchissement de l'index"
 msgid "unable to create threaded lstat: %s"
 msgstr "impossible de créer le lstat en fil : %s"
 
-#: pretty.c:963
+#: pretty.c:966
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
@@ -3950,7 +4642,7 @@ msgstr "impossible de démarrer `log`"
 msgid "could not read `log` output"
 msgstr "impossible de lire la sortie de `log`"
 
-#: range-diff.c:74 sequencer.c:4828
+#: range-diff.c:74 sequencer.c:4897
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "impossible d'analyser le commit '%s'"
@@ -3964,47 +4656,52 @@ msgstr "échec de la génération de diff"
 msgid "could not parse log for '%s'"
 msgstr "impossible d'analyser le journal pour '%s'"
 
-#: read-cache.c:673
+#: read-cache.c:680
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "pas d'ajout d'alias de fichier '%s'(« %s » existe déjà dans l'index)"
 
-#: read-cache.c:689
+#: read-cache.c:696
 msgid "cannot create an empty blob in the object database"
 msgstr "impossible de créer un blob vide dans la base de donnée d'objets"
 
-#: read-cache.c:710
+#: read-cache.c:718
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 "%s : ne peut ajouter que des fichiers normaux, des liens symboliques ou des "
 "répertoires git"
 
-#: read-cache.c:765
+#: read-cache.c:723
+#, c-format
+msgid "'%s' does not have a commit checked out"
+msgstr "'%s' n'a pas de commit extrait"
+
+#: read-cache.c:775
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "indexation du fichier '%s' impossible"
 
-#: read-cache.c:784
+#: read-cache.c:794
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "impossible d'ajouter '%s' à l'index"
 
-#: read-cache.c:795
+#: read-cache.c:805
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "fstat de '%s' impossible"
 
-#: read-cache.c:1304
+#: read-cache.c:1314
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' existe à la fois comme un fichier et un répertoire"
 
-#: read-cache.c:1489
+#: read-cache.c:1499
 msgid "Refresh index"
 msgstr "Rafraîchir l'index"
 
-#: read-cache.c:1603
+#: read-cache.c:1613
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -4013,7 +4710,7 @@ msgstr ""
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1613
+#: read-cache.c:1623
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -4022,144 +4719,151 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1684
+#: read-cache.c:1679
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "signature incorrecte 0x%08x"
 
-#: read-cache.c:1687
+#: read-cache.c:1682
 #, c-format
 msgid "bad index version %d"
 msgstr "mauvaise version d'index %d"
 
-#: read-cache.c:1696
+#: read-cache.c:1691
 msgid "bad index file sha1 signature"
 msgstr "mauvaise signature sha1 d'index"
 
-#: read-cache.c:1726
+#: read-cache.c:1721
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "l'index utilise l'extension %.4s qui n'est pas comprise"
 
-#: read-cache.c:1728
+#: read-cache.c:1723
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "extension %.4s ignorée"
 
-#: read-cache.c:1765
+#: read-cache.c:1760
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "format d'entrée d'index inconnu 0x%08x"
 
-#: read-cache.c:1781
+#: read-cache.c:1776
 #, 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:1836
+#: read-cache.c:1833
 msgid "unordered stage entries in index"
 msgstr "entrées de préparation non ordonnées dans l'index"
 
-#: read-cache.c:1839
+#: read-cache.c:1836
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "entrées multiples de préparation pour le fichier fusionné '%s'"
 
-#: read-cache.c:1842
+#: read-cache.c:1839
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "entrées de préparation non ordonnées pour '%s'"
 
-#: read-cache.c:1949 read-cache.c:2227 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:459 builtin/check-ignore.c:178 builtin/checkout.c:294
-#: builtin/checkout.c:622 builtin/checkout.c:991 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:116 builtin/grep.c:498
+#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
+#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
+#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
 #: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
 #: builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
 
-#: read-cache.c:2090
+#: read-cache.c:2087
 #, 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:2103
+#: read-cache.c:2100
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "impossible de joindre le fil load_cach_entries : %s"
 
-#: read-cache.c:2136
+#: read-cache.c:2133
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s : l'ouverture du fichier d'index a échoué"
 
-#: read-cache.c:2140
+#: read-cache.c:2137
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s : impossible de faire un stat sur l'index ouvert"
 
-#: read-cache.c:2144
+#: read-cache.c:2141
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s : fichier d'index plus petit qu'attendu"
 
-#: read-cache.c:2148
+#: read-cache.c:2145
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s : impossible de mapper le fichier d'index"
 
-#: read-cache.c:2190
+#: read-cache.c:2187
 #, 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:2217
+#: read-cache.c:2214
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "impossible de joindre le fil load_index_extensions : %s"
 
-#: read-cache.c:2239
+#: read-cache.c:2246
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "impossible de rafraîchir l'index partagé '%s'"
 
-#: read-cache.c:2274
+#: read-cache.c:2293
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "index cassé, %s attendu dans %s, %s obtenu"
 
-#: read-cache.c:2971 sequencer.c:4791 wrapper.c:658 builtin/merge.c:1087
+#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: read-cache.c:3044 sequencer.c:2237 sequencer.c:3647
+#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
 #, c-format
 msgid "could not stat '%s'"
 msgstr "stat impossible de '%s'"
 
-#: read-cache.c:3057
+#: read-cache.c:3105
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "impossible d'ouvrir le répertoire git : %s"
 
-#: read-cache.c:3069
+#: read-cache.c:3117
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "échec lors de l'unlink : %s"
 
-#: read-cache.c:3088
+#: read-cache.c:3142
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "impossible de régler les bits de droit de '%s'"
 
-#: read-cache.c:3237
+#: read-cache.c:3291
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s : impossible de revenir à l'étape 0"
 
-#: rebase-interactive.c:10
+#: rebase-interactive.c:26
+#, c-format
+msgid ""
+"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
+msgstr ""
+"paramètre non reconnu %s pour l'option rebase.missingCommitsCheck. Ignoré."
+
+#: rebase-interactive.c:35
 msgid ""
 "\n"
 "Commands:\n"
@@ -4201,7 +4905,14 @@ msgstr ""
 "\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
+#: rebase-interactive.c:56
+#, 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)"
+
+#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -4210,7 +4921,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: rebase-interactive.c:34 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -4218,7 +4929,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: rebase-interactive.c:40 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4233,7 +4944,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -4243,125 +4954,155 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: rebase-interactive.c:51 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 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:2219
-#: sequencer.c:4569 sequencer.c:4625 sequencer.c:4900
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
+#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
 #, c-format
-msgid "could not read '%s'."
-msgstr "impossible de lire '%s'."
+msgid "could not write '%s'"
+msgstr "impossible d'écrire '%s'"
+
+#: rebase-interactive.c:108
+#, c-format
+msgid "could not copy '%s' to '%s'."
+msgstr "impossible de copier '%s' vers '%s'."
+
+#: rebase-interactive.c:173
+#, c-format
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):\n"
+msgstr ""
+"Attention : certains commits ont pu être accidentellement supprimés.\n"
+"Commits supprimés (du plus jeune au plus vieux) :\n"
+
+#: rebase-interactive.c:180
+#, c-format
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error.\n"
+"\n"
+msgstr ""
+"Pour éviter ce message, utilisez \"drop\" pour supprimer explicitement un "
+"commit.\n"
+"\n"
+"Utilisez 'git config rebase.missingCommitsCheck' pour changer le niveau "
+"d'avertissements.\n"
+"Les comportements disponibles sont : ignore, warn, error.\n"
+"\n"
 
 #: 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:583
+#: refs.c:597
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "symref pendant %s ignoré"
 
-#: refs.c:585 ref-filter.c:1976
+#: refs.c:599 ref-filter.c:1982
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: refs.c:711
+#: refs.c:734
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "impossible d'ouvrir '%s' en écriture : %s"
 
-#: refs.c:721 refs.c:772
+#: refs.c:744 refs.c:795
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "impossible de lire la réf '%s'"
 
-#: refs.c:727
+#: refs.c:750
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "la référence '%s' existe déjà"
 
-#: refs.c:732
+#: refs.c:755
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "id d'objet inattendu pendant l'écriture de '%s'"
 
-#: refs.c:740 sequencer.c:396 sequencer.c:2549 sequencer.c:2675
-#: sequencer.c:2689 sequencer.c:2923 sequencer.c:4789 sequencer.c:4852
-#: wrapper.c:656
+#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
+#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: refs.c:767 sequencer.c:4787 sequencer.c:4846 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:713 builtin/rebase.c:575
+#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
 
-#: refs.c:774
+#: refs.c:797
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "id d'objet inattendu pendant la suppression de '%s'"
 
-#: refs.c:905
+#: refs.c:928
 #, 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:911
+#: refs.c:934
 #, 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:969
+#: refs.c:993
 #, c-format
 msgid "log for %s is empty"
 msgstr "le journal pour la réf %s est vide"
 
-#: refs.c:1061
+#: refs.c:1085
 #, 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:1137
+#: refs.c:1161
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "échec de update_ref pour la réf '%s' : %s"
 
-#: refs.c:1911
+#: refs.c:1942
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "mises à jour multiples pour la réf '%s' non permises"
 
-#: refs.c:1943
+#: refs.c:1974
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-#: refs.c:2039 refs.c:2069
+#: refs.c:2070 refs.c:2100
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existe ; impossible de créer '%s'"
 
-#: refs.c:2045 refs.c:2080
+#: refs.c:2076 refs.c:2111
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "impossible de traiter '%s' et '%s' en même temps"
 
-#: refs/files-backend.c:1228
+#: refs/files-backend.c:1234
 #, c-format
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: refs/files-backend.c:1242 refs/packed-backend.c:1532
+#: refs/files-backend.c:1248 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:1245 refs/packed-backend.c:1545
+#: refs/files-backend.c:1251 refs/packed-backend.c:1545
 #, c-format
 msgid "could not delete references: %s"
 msgstr "impossible de supprimer les références : %s"
@@ -4372,7 +5113,7 @@ msgid "invalid refspec '%s'"
 msgstr "spécificateur de réference invalide : '%s'"
 
 # à priori on parle d'une branche ici
-#: ref-filter.c:39 wt-status.c:1861
+#: ref-filter.c:39 wt-status.c:1909
 msgid "gone"
 msgstr "disparue"
 
@@ -4496,79 +5237,79 @@ msgstr "valeur positive attendue avec l'atome %%(align)"
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:527
+#: ref-filter.c:531
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:554
+#: ref-filter.c:558
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:558
+#: ref-filter.c:562
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr ""
 "pas un dépôt git, mais le champ '%.*s' nécessite l'accès aux données d'objet"
 
-#: ref-filter.c:682
+#: ref-filter.c:686
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:745
+#: ref-filter.c:749
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:747
+#: ref-filter.c:751
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:749
+#: ref-filter.c:753
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:777
+#: ref-filter.c:781
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:779
+#: ref-filter.c:783
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:781
+#: ref-filter.c:785
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:796
+#: ref-filter.c:800
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:853
+#: ref-filter.c:857
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1447
+#: ref-filter.c:1453
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(aucune branche, rebasage de %s)"
 
-#: ref-filter.c:1450
+#: ref-filter.c:1456
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(aucune branche, rebasage de la HEAD détachée %s)"
 
-#: ref-filter.c:1453
+#: ref-filter.c:1459
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(aucune branche, bisect a démarré sur %s)"
@@ -4576,7 +5317,7 @@ msgstr "(aucune branche, bisect a démarré sur %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1461
+#: ref-filter.c:1467
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD détachée sur %s)"
@@ -4584,56 +5325,56 @@ msgstr "(HEAD détachée sur %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1468
+#: ref-filter.c:1474
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD détachée depuis %s)"
 
-#: ref-filter.c:1472
+#: ref-filter.c:1478
 msgid "(no branch)"
 msgstr "(aucune branche)"
 
-#: ref-filter.c:1506 ref-filter.c:1663
+#: ref-filter.c:1512 ref-filter.c:1669
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1516
+#: ref-filter.c:1522
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "échec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1882
+#: ref-filter.c:1888
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:1971
+#: ref-filter.c:1977
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:2257
+#: ref-filter.c:2263
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2352
+#: ref-filter.c:2363
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "l'option « %s » est incompatible avec --merged"
 
-#: ref-filter.c:2355
+#: ref-filter.c:2366
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "l'option « %s » est incompatible avec --no-merged"
 
-#: ref-filter.c:2365
+#: ref-filter.c:2376
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: ref-filter.c:2370
+#: ref-filter.c:2381
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "l'option '%s' doit pointer sur un commit"
@@ -4838,42 +5579,42 @@ msgstr "impossible de trouver la référence distante %s"
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Référence bizarre '%s' ignorée localement"
 
-#: remote.c:1990
+#: remote.c:2016
 #, 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:1994
+#: remote.c:2020
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:1997
+#: remote.c:2023
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:2001
+#: remote.c:2027
 #, 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:2004
+#: remote.c:2030
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (utilisez \"%s\" pour plus de détails)\n"
 
-#: remote.c:2008
+#: remote.c:2034
 #, 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:2014
+#: remote.c:2040
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\n"
 
-#: remote.c:2017
+#: remote.c:2043
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -4885,11 +5626,11 @@ msgstr[1] ""
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:2025
+#: remote.c:2051
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:2028
+#: remote.c:2054
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -4904,12 +5645,12 @@ msgstr[1] ""
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:2038
+#: remote.c:2064
 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"
 
-#: remote.c:2221
+#: remote.c:2247
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "impossible d'analyser le nom attendu d'objet '%s'"
@@ -4937,12 +5678,6 @@ msgstr "MERGE_RR corrompu"
 msgid "unable to write rerere record"
 msgstr "impossible d'écrire l'enregistrement rerere"
 
-#: rerere.c:485 rerere.c:692 sequencer.c:3186 sequencer.c:3212
-#: builtin/fsck.c:314
-#, 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)"
@@ -4993,8 +5728,8 @@ msgstr "impossible de délier '%s' qui est errant"
 msgid "Recorded preimage for '%s'"
 msgstr "Pré-image enregistrée pour '%s'"
 
-#: rerere.c:881 submodule.c:2012 builtin/submodule--helper.c:1417
-#: builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
+#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "impossible de créer le répertoire '%s'"
@@ -5028,29 +5763,33 @@ msgstr "Résolution  pour '%s' oubliée\n"
 msgid "unable to open rr-cache directory"
 msgstr "impossible d'ouvrir le répertoire rr-cache"
 
-#: revision.c:2484
+#: revision.c:2476
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2487
+#: revision.c:2479
 #, 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:2684
+#: revision.c:2679
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: run-command.c:742
+#: revision.c:2683
+msgid "-L does not yet support diff formats besides -p and -s"
+msgstr "-L ne supporte pas encore les formats de diff autres que -p et -s"
+
+#: run-command.c:763
 msgid "open /dev/null failed"
 msgstr "échec de l'ouverture de /dev/null"
 
-#: run-command.c:1231
+#: run-command.c:1269
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "impossible de créer un fil asynchrone : %s"
 
-#: run-command.c:1295
+#: run-command.c:1333
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -5100,34 +5839,34 @@ msgstr "Le receveur ne gère pas les poussées avec --atomic"
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:184
+#: sequencer.c:187
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "mode de nettoyage invalide de message de validation '%s'"
 
-#: sequencer.c:288
+#: sequencer.c:292
 #, c-format
 msgid "could not delete '%s'"
 msgstr "Impossible de supprimer '%s'"
 
-#: sequencer.c:314
+#: sequencer.c:318
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:316
+#: sequencer.c:320
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:318
+#: sequencer.c:322
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:320
+#: sequencer.c:324
 #, c-format
 msgid "unknown action: %d"
 msgstr "action inconnue : %d"
 
-#: sequencer.c:378
+#: sequencer.c:382
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -5135,7 +5874,7 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:381
+#: sequencer.c:385
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -5145,110 +5884,115 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:394 sequencer.c:2671
+#: sequencer.c:398 sequencer.c:2801
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:401
+#: sequencer.c:405
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:406 sequencer.c:2554 sequencer.c:2677 sequencer.c:2691
-#: sequencer.c:2931
+#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
+#: sequencer.c:3084
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "échec lors de la finalisation de '%s'"
 
-#: sequencer.c:429 sequencer.c:931 sequencer.c:1615 sequencer.c:2574
-#: sequencer.c:2913 sequencer.c:3022 builtin/am.c:245 builtin/commit.c:748
-#: builtin/merge.c:1085 builtin/rebase.c:154
+#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
+#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
+#: builtin/merge.c:1115 builtin/rebase.c:567
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: sequencer.c:455
+#: sequencer.c:459
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:459
+#: sequencer.c:463
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:491
+#: sequencer.c:495
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
+#: sequencer.c:534 builtin/tag.c:555
+#, c-format
+msgid "Invalid cleanup mode %s"
+msgstr "Mode de nettoyage invalide %s"
+
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:582
+#: sequencer.c:629
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:598
+#: sequencer.c:646
 msgid "unable to update cache tree"
 msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:612
+#: sequencer.c:660
 msgid "could not resolve HEAD commit"
 msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:692
+#: sequencer.c:740
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "aucune clé présente dans '%.*s'"
 
-#: sequencer.c:703
+#: sequencer.c:751
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "Impossible de décoter la valeur de '%s'"
 
-#: sequencer.c:740 wrapper.c:227 wrapper.c:397 builtin/am.c:704
-#: builtin/am.c:796 builtin/merge.c:1082 builtin/rebase.c:617
+#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
+#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
 
-#: sequencer.c:750
+#: sequencer.c:798
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' déjà fourni"
 
-#: sequencer.c:755
+#: sequencer.c:803
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' déjà fourni"
 
-#: sequencer.c:760
+#: sequencer.c:808
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' déjà fourni"
 
-#: sequencer.c:764
+#: sequencer.c:812
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "variable inconnue '%s'"
 
-#: sequencer.c:769
+#: sequencer.c:817
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "'GIT_AUTHOR_NAME' manquant"
 
-#: sequencer.c:771
+#: sequencer.c:819
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "'GIT_AUTHOR_EMAIL' manquant"
 
-#: sequencer.c:773
+#: sequencer.c:821
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "'GIT_AUTHOR_DATE' manquant"
 
-#: sequencer.c:833
+#: sequencer.c:881
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "format de date invalide '%s' dans '%s'"
 
-#: sequencer.c:850
+#: sequencer.c:898
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5277,15 +6021,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:945
+#: sequencer.c:992
 msgid "writing root commit"
 msgstr "écriture du commit racine"
 
-#: sequencer.c:1155
+#: sequencer.c:1213
 msgid "'prepare-commit-msg' hook failed"
 msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:1162
+#: sequencer.c:1220
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5314,7 +6058,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1175
+#: sequencer.c:1233
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5340,295 +6084,306 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1217
+#: sequencer.c:1275
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: sequencer.c:1219
+#: sequencer.c:1277
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: sequencer.c:1265
+#: sequencer.c:1323
 msgid "unable to resolve HEAD after creating commit"
 msgstr "impossible de résoudre HEAD après création du commit"
 
-#: sequencer.c:1267
+#: sequencer.c:1325
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: sequencer.c:1271
+#: sequencer.c:1329
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: sequencer.c:1292
+#: sequencer.c:1350
 msgid "could not parse HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1294
+#: sequencer.c:1352
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s n'est pas un commit !"
 
-#: sequencer.c:1298 builtin/commit.c:1546
+#: sequencer.c:1356 builtin/commit.c:1551
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: sequencer.c:1350 sequencer.c:1964
+#: sequencer.c:1408 sequencer.c:2001
 msgid "unable to parse commit author"
 msgstr "impossible d'analyser l'auteur du commit"
 
-#: sequencer.c:1360 builtin/am.c:1570 builtin/merge.c:678
+#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
-#: sequencer.c:1377 sequencer.c:1433
+#: sequencer.c:1435 sequencer.c:1496
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:1399 builtin/am.c:1591 builtin/commit.c:1649 builtin/merge.c:859
-#: builtin/merge.c:884
+#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882
+#: builtin/merge.c:906
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
-#: sequencer.c:1460
+#: sequencer.c:1523
 #, c-format
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: sequencer.c:1465
+#: sequencer.c:1528
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1565 sequencer.c:1675
+#: sequencer.c:1602 sequencer.c:1712
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:1622 sequencer.c:1647
+#: sequencer.c:1659 sequencer.c:1684
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:1632 sequencer.c:4808
+#: sequencer.c:1669
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:1634 sequencer.c:2958
+#: sequencer.c:1671 sequencer.c:3111
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:1636
+#: sequencer.c:1673
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:1642
+#: sequencer.c:1679
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:1649 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:1657
+#: sequencer.c:1694
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:1664
+#: sequencer.c:1701
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:1670
+#: sequencer.c:1707
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:1758
+#: sequencer.c:1795
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:1765
+#: sequencer.c:1802
 msgid "cannot fixup root commit"
 msgstr "impossible de réparer le commit racine"
 
-#: sequencer.c:1784
+#: sequencer.c:1821
 #, 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:1792 sequencer.c:1800
+#: sequencer.c:1829 sequencer.c:1837
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:1806
+#: sequencer.c:1843
 #, 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:1825
+#: sequencer.c:1862
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1890
+#: sequencer.c:1927
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1945
+#: sequencer.c:1982
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1946
+#: sequencer.c:1983
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:2005
+#: sequencer.c:2042
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:2012
+#: sequencer.c:2049
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:2094
+#: sequencer.c:2118
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s n'accepte pas d'argument : '%s'"
 
-#: sequencer.c:2103
+#: sequencer.c:2127
 #, c-format
 msgid "missing arguments for %s"
 msgstr "argument manquant pour %s"
 
-#: sequencer.c:2163
+#: sequencer.c:2164
+#, c-format
+msgid "could not parse '%.*s'"
+msgstr "impossible d'analyser '%.*s'"
+
+#: sequencer.c:2226
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:2171
+#: sequencer.c:2237
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:2243
+#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178
+#: builtin/rebase.c:204 builtin/rebase.c:229
+#, c-format
+msgid "could not read '%s'."
+msgstr "impossible de lire '%s'."
+
+#: sequencer.c:2360
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:2245
+#: sequencer.c:2362
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:2250
+#: sequencer.c:2367
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:2261
+#: sequencer.c:2378
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:2263
+#: sequencer.c:2380
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:2333
+#: sequencer.c:2462
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:2420
+#: sequencer.c:2549
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
-#: sequencer.c:2436
+#: sequencer.c:2565
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:2518 sequencer.c:4067
+#: sequencer.c:2648 sequencer.c:4227
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:2526
+#: sequencer.c:2656
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un picorage ou un retour est déjà en cours"
 
-#: sequencer.c:2527
+#: sequencer.c:2657
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
+msgstr "essayez \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:2530
+#: sequencer.c:2660
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:2544
+#: sequencer.c:2674
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:2599 sequencer.c:3819
+#: sequencer.c:2729 sequencer.c:3979
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:2601
+#: sequencer.c:2731
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:2603 sequencer.c:2638
+#: sequencer.c:2733 sequencer.c:2768
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:2624 builtin/grep.c:732
+#: sequencer.c:2754 builtin/grep.c:732
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:2626
+#: sequencer.c:2756
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:2627
+#: sequencer.c:2757
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:2633
+#: sequencer.c:2763
 #, 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:2644
+#: sequencer.c:2774
 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:2750 sequencer.c:3735
+#: sequencer.c:2903 sequencer.c:3894
 #, c-format
 msgid "could not update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: sequencer.c:2788 sequencer.c:3715
+#: sequencer.c:2941 sequencer.c:3874
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:2805
+#: sequencer.c:2958
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:2813
+#: sequencer.c:2966
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -5647,27 +6402,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2823
+#: sequencer.c:2976
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "impossible d'appliquer %s... %.*s"
 
-#: sequencer.c:2830
+#: sequencer.c:2983
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Impossible de fusionner %.*s"
 
-#: sequencer.c:2844 sequencer.c:2848 builtin/difftool.c:641
+#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:2870 sequencer.c:3293 builtin/rebase.c:424 builtin/rebase.c:1230
-#: builtin/rebase.c:1591 builtin/rebase.c:1646
+#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580
+#: builtin/rebase.c:1940 builtin/rebase.c:1995
 msgid "could not read index"
 msgstr "impossible de lire l'index"
 
-#: sequencer.c:2875
+#: sequencer.c:3028
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -5682,11 +6437,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2881
+#: sequencer.c:3034
 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:2887
+#: sequencer.c:3040
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -5703,77 +6458,77 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2948
+#: sequencer.c:3101
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nom de label illégal '%.*s'"
 
-#: sequencer.c:3002
+#: sequencer.c:3155
 msgid "writing fake root commit"
 msgstr "écriture d'un commit racine bidon"
 
-#: sequencer.c:3007
+#: sequencer.c:3160
 msgid "writing squash-onto"
 msgstr "écriture de 'écraser-sur'"
 
-#: sequencer.c:3045 builtin/rebase.c:429 builtin/rebase.c:435
+#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "impossible de trouver l'arbre de %s"
 
-#: sequencer.c:3063 builtin/rebase.c:448
+#: sequencer.c:3216 builtin/rebase.c:863
 msgid "could not write index"
 msgstr "impossible d'écrire l'index"
 
-#: sequencer.c:3090
+#: sequencer.c:3243
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: sequencer.c:3118
+#: sequencer.c:3271
 msgid "cannot merge without a current revision"
 msgstr "impossible de fusionner avec une révision courante"
 
-#: sequencer.c:3140
+#: sequencer.c:3293
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:3149
+#: sequencer.c:3302
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "rien à fusionner : '%.*s'"
 
-#: sequencer.c:3161
+#: sequencer.c:3314
 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:3176
+#: sequencer.c:3329
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:3325
+#: sequencer.c:3478
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "impossible de seulement essayer de fusionner '%.*s'"
 
-#: sequencer.c:3341
+#: sequencer.c:3494
 msgid "merge: Unable to write new index file"
 msgstr "fusion : Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:3409 builtin/rebase.c:298
+#: sequencer.c:3562 builtin/rebase.c:711
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:3421
+#: sequencer.c:3574
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:3424 builtin/rebase.c:314
+#: sequencer.c:3577 builtin/rebase.c:727
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -5784,31 +6539,31 @@ msgstr ""
 "Vos  modifications sont à l'abri dans la remise.\n"
 "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
 
-#: sequencer.c:3478
+#: sequencer.c:3638
 #, c-format
 msgid "could not checkout %s"
 msgstr "extraction de %s impossible"
 
-#: sequencer.c:3492
+#: sequencer.c:3652
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s n'est pas un OID valide"
 
-#: sequencer.c:3497 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: sequencer.c:3512
+#: sequencer.c:3672
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "arrêt à HEAD\n"
 
-#: sequencer.c:3514
+#: sequencer.c:3674
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Arrêté à %s\n"
 
-#: sequencer.c:3522
+#: sequencer.c:3682
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -5829,48 +6584,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3597
+#: sequencer.c:3759
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:3677
+#: sequencer.c:3837
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:3723
+#: sequencer.c:3882
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:3728 sequencer.c:4805
+#: sequencer.c:3887
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:3742
+#: sequencer.c:3901
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:3831
+#: sequencer.c:3991
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:3840
+#: sequencer.c:4000
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:3842
+#: sequencer.c:4002
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:3844
+#: sequencer.c:4004
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:3847
+#: sequencer.c:4007
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -5880,82 +6635,42 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: sequencer.c:3883 sequencer.c:3921
+#: sequencer.c:4043 sequencer.c:4081
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "impossible d'écrire le fichier : '%s'"
 
-#: sequencer.c:3936
+#: sequencer.c:4096
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:3943
+#: sequencer.c:4103
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:4044
+#: sequencer.c:4204
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:4048
+#: sequencer.c:4208
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:4083
+#: sequencer.c:4243
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: sequencer.c:4529
+#: sequencer.c:4686
 msgid "make_script: unhandled options"
 msgstr "make_script : options non gérées"
 
-#: sequencer.c:4532
+#: sequencer.c:4689
 msgid "make_script: error preparing revisions"
 msgstr "make_script : erreur lors de la préparation des révisions"
 
-#: sequencer.c:4573 sequencer.c:4629 sequencer.c:4904
-#, c-format
-msgid "unusable todo list: '%s'"
-msgstr "liste à faire inutilisable : '%s'"
-
-#: sequencer.c:4684
-#, 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:4754
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-"Attention : certains commits ont pu être accidentellement supprimés.\n"
-"Commits supprimés (du plus jeune au plus vieux) :\n"
-
-#: sequencer.c:4761
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-"Pour éviter ce message, utilisez \"drop\" pour supprimer explicitement un "
-"commit.\n"
-"\n"
-"Utilisez 'git config rebase.missingCommitsCheck' pour changer le niveau "
-"d'avertissements.\n"
-"Les comportements disponibles sont : ignore, warn, error.\n"
-"\n"
-
-#: sequencer.c:4774
-#, c-format
+#: sequencer.c:4847
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -5965,31 +6680,15 @@ msgstr ""
 "rebase --continue'.\n"
 "Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
 
-#: sequencer.c:4912 sequencer.c:4950
+#: sequencer.c:4959 sequencer.c:4976
 msgid "nothing to do"
 msgstr "rien à faire"
 
-#: sequencer.c:4916
-#, 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:4928
-#, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr "impossible de copier '%s' vers '%s'."
-
-#: sequencer.c:4932 sequencer.c:4961
-msgid "could not transform the todo list"
-msgstr "impossible de générer la liste à-faire"
-
-#: sequencer.c:4964
+#: sequencer.c:4990
 msgid "could not skip unnecessary pick commands"
 msgstr "impossible d'éviter les commandes de picorage non nécessaires"
 
-#: sequencer.c:5047
+#: sequencer.c:5073
 msgid "the script was already rearranged."
 msgstr "le script a déjà été réarrangé."
 
@@ -5998,7 +6697,7 @@ msgstr "le script a déjà été réarrangé."
 msgid "'%s' is outside repository"
 msgstr "'%s' est hors du dépôt"
 
-#: setup.c:172
+#: setup.c:173
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -6008,7 +6707,7 @@ msgstr ""
 "Utilisez 'git <commande> -- <chemin>...' pour spécifier des chemins qui "
 "n'existent pas localement."
 
-#: setup.c:185
+#: setup.c:186
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -6019,14 +6718,14 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:234
+#: setup.c:235
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 "l'option '%s' doit être présente avant les arguments qui ne sont pas des "
 "options"
 
-#: setup.c:253
+#: setup.c:254
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -6037,94 +6736,94 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:389
+#: setup.c:390
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 "impossible de mettre en place le répertoire de travail en utilisant une "
 "configuration invalide"
 
-#: setup.c:393
+#: setup.c:394
 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:527
+#: setup.c:540
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:535
+#: setup.c:548
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:554
+#: setup.c:567
 #, c-format
 msgid "error opening '%s'"
 msgstr "erreur à l'ouverture de '%s'"
 
-#: setup.c:556
+#: setup.c:569
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "trop gros pour être une fichier .git : '%s'"
 
-#: setup.c:558
+#: setup.c:571
 #, c-format
 msgid "error reading %s"
 msgstr "erreur à la lecture de %s"
 
-#: setup.c:560
+#: setup.c:573
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "format de fichier git invalide : %s"
 
-#: setup.c:562
+#: setup.c:575
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "aucun chemin dans le fichier git : %s"
 
-#: setup.c:564
+#: setup.c:577
 #, c-format
 msgid "not a git repository: %s"
 msgstr "ce n'est pas un dépôt git : %s"
 
-#: setup.c:663
+#: setup.c:676
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' trop gros"
 
-#: setup.c:677
+#: setup.c:690
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "ce n'est pas un dépôt git : '%s'"
 
-#: setup.c:706 setup.c:708 setup.c:739
+#: setup.c:719 setup.c:721 setup.c:752
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "impossible de se déplacer vers le répertoire (chdir) '%s'"
 
-#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824
+#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
 msgid "cannot come back to cwd"
 msgstr "impossible de revenir au répertoire de travail courant"
 
-#: setup.c:838
+#: setup.c:851
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "échec du stat de '%*s%s%s'"
 
-#: setup.c:1068
+#: setup.c:1083
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:1077 setup.c:1083
+#: setup.c:1092 setup.c:1098
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "impossible de modifier en '%s'"
 
-#: setup.c:1088
+#: setup.c:1103
 #, 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:1094
+#: setup.c:1109
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -6135,7 +6834,7 @@ msgstr ""
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas défini)."
 
-#: setup.c:1204
+#: setup.c:1220
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -6145,281 +6844,281 @@ msgstr ""
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: setup.c:1247
+#: setup.c:1264
 msgid "open /dev/null or dup failed"
 msgstr "échec de l'ouverture ou au dup de /dev/null"
 
-#: setup.c:1262
+#: setup.c:1279
 msgid "fork failed"
 msgstr "échec de la bifurcation"
 
-#: setup.c:1267
+#: setup.c:1284
 msgid "setsid failed"
 msgstr "échec du setsid"
 
-#: sha1-file.c:445
+#: sha1-file.c:453
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "le répertoire objet %s n'existe pas ; vérifiez .git/objects/info/alternates"
 
-#: sha1-file.c:496
+#: sha1-file.c:504
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "impossible de normaliser le chemin d'objet alternatif : %s"
 
-#: sha1-file.c:568
+#: sha1-file.c:576
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s : magasins d'objets alternatifs ignorés, récursion trop profonde"
 
-#: sha1-file.c:575
+#: sha1-file.c:583
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "impossible de normaliser le répertoire d'objet : %s"
 
-#: sha1-file.c:618
+#: sha1-file.c:626
 msgid "unable to fdopen alternates lockfile"
 msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
 
-#: sha1-file.c:636
+#: sha1-file.c:644
 msgid "unable to read alternates file"
 msgstr "lecture du fichier d'alternatives impossible"
 
-#: sha1-file.c:643
+#: sha1-file.c:651
 msgid "unable to move new alternates file into place"
 msgstr "impossible de déplacer le nouveau fichier d'alternative"
 
-#: sha1-file.c:678
+#: sha1-file.c:686
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1-file.c:704
+#: sha1-file.c:712
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "extraire le dépôt de référence '%s' comme une extraction liée n'est pas "
 "encore supporté."
 
-#: sha1-file.c:710
+#: sha1-file.c:718
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "le dépôt de référence '%s' n'est pas un dépôt local."
 
-#: sha1-file.c:716
+#: sha1-file.c:724
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1-file.c:724
+#: sha1-file.c:732
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1-file.c:838
+#: sha1-file.c:846
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "essai de mmap %<PRIuMAX> au delà de la limite %<PRIuMAX>"
 
-#: sha1-file.c:863
+#: sha1-file.c:871
 msgid "mmap failed"
 msgstr "échec de mmap"
 
-#: sha1-file.c:1027
+#: sha1-file.c:1035
 #, c-format
 msgid "object file %s is empty"
 msgstr "le fichier objet %s est vide"
 
-#: sha1-file.c:1151 sha1-file.c:2288
+#: sha1-file.c:1159 sha1-file.c:2297
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objet libre corrompu '%s'"
 
-#: sha1-file.c:1153 sha1-file.c:2292
+#: sha1-file.c:1161 sha1-file.c:2301
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "données incorrectes à la fin de l'objet libre '%s'"
 
-#: sha1-file.c:1195
+#: sha1-file.c:1203
 msgid "invalid object type"
 msgstr "type d'objet invalide"
 
-#: sha1-file.c:1279
+#: sha1-file.c:1287
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "impossible de dépaqueter l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1282
+#: sha1-file.c:1290
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "impossible de dépaqueter l'entête %s"
 
-#: sha1-file.c:1288
+#: sha1-file.c:1296
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "impossible d'analyser l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1291
+#: sha1-file.c:1299
 #, c-format
 msgid "unable to parse %s header"
 msgstr "impossible d'analyser l'entête %s"
 
-#: sha1-file.c:1481
+#: sha1-file.c:1490
 #, c-format
 msgid "failed to read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: sha1-file.c:1485
+#: sha1-file.c:1494
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "remplacement %s non trouvé pour %s"
 
-#: sha1-file.c:1489
+#: sha1-file.c:1498
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "l'objet libre %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1493
+#: sha1-file.c:1502
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "l'objet empaqueté %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1595
+#: sha1-file.c:1604
 #, c-format
 msgid "unable to write file %s"
 msgstr "impossible d'écrire le fichier %s"
 
-#: sha1-file.c:1602
+#: sha1-file.c:1611
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "impossible de régler les droits de '%s'"
 
-#: sha1-file.c:1609
+#: sha1-file.c:1618
 msgid "file write error"
 msgstr "erreur d'écriture d'un fichier"
 
-#: sha1-file.c:1628
+#: sha1-file.c:1637
 msgid "error when closing loose object file"
 msgstr "erreur en fermeture du fichier d'objet esseulé"
 
-#: sha1-file.c:1693
+#: sha1-file.c:1702
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "droits insuffisants pour ajouter un objet à la base de données %s du dépôt"
 
-#: sha1-file.c:1695
+#: sha1-file.c:1704
 msgid "unable to create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: sha1-file.c:1719
+#: sha1-file.c:1728
 msgid "unable to write loose object file"
 msgstr "impossible d'écrire le fichier d'objet esseulé"
 
-#: sha1-file.c:1725
+#: sha1-file.c:1734
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "impossible de compresser le nouvel objet %s (%d)"
 
-#: sha1-file.c:1729
+#: sha1-file.c:1738
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "échec de deflateEnd sur l'objet %s (%d)"
 
-#: sha1-file.c:1733
+#: sha1-file.c:1742
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "données de source d'objet instable pour %s"
 
-#: sha1-file.c:1743 builtin/pack-objects.c:919
+#: sha1-file.c:1752 builtin/pack-objects.c:920
 #, c-format
 msgid "failed utime() on %s"
 msgstr "échec de utime() sur %s"
 
-#: sha1-file.c:1818
+#: sha1-file.c:1827
 #, c-format
 msgid "cannot read object for %s"
 msgstr "impossible de lire l'objet pour %s"
 
-#: sha1-file.c:1858
+#: sha1-file.c:1867
 msgid "corrupt commit"
 msgstr "commit corrompu"
 
-#: sha1-file.c:1866
+#: sha1-file.c:1875
 msgid "corrupt tag"
 msgstr "étiquette corrompue"
 
-#: sha1-file.c:1965
+#: sha1-file.c:1974
 #, c-format
 msgid "read error while indexing %s"
 msgstr "erreur de lecture à l'indexation de %s"
 
-#: sha1-file.c:1968
+#: sha1-file.c:1977
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lecture tronquée pendant l'indexation de %s"
 
-#: sha1-file.c:2041 sha1-file.c:2050
+#: sha1-file.c:2050 sha1-file.c:2059
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s : échec de l'insertion dans la base de données"
 
-#: sha1-file.c:2056
+#: sha1-file.c:2065
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s : type de fichier non supporté"
 
-#: sha1-file.c:2080
+#: sha1-file.c:2089
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s n'est pas un objet valide"
 
-#: sha1-file.c:2082
+#: sha1-file.c:2091
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: sha1-file.c:2109 builtin/index-pack.c:154
+#: sha1-file.c:2118 builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: sha1-file.c:2299 sha1-file.c:2351
+#: sha1-file.c:2308 sha1-file.c:2360
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "incohérence de hachage pour %s (%s attendu)"
 
-#: sha1-file.c:2323
+#: sha1-file.c:2332
 #, c-format
 msgid "unable to mmap %s"
 msgstr "impossible de mmap %s"
 
-#: sha1-file.c:2328
+#: sha1-file.c:2337
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "impossible de dépaqueter l'entête de %s"
 
-#: sha1-file.c:2334
+#: sha1-file.c:2343
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "impossible d'analyser l'entête de %s"
 
-#: sha1-file.c:2345
+#: sha1-file.c:2354
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "impossible de dépaqueter le contenu de %s"
 
-#: sha1-name.c:448
+#: sha1-name.c:490
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "le SHA1 court %s est ambigu"
 
-#: sha1-name.c:459
+#: sha1-name.c:501
 msgid "The candidates are:"
 msgstr "Les candidats sont :"
 
-#: sha1-name.c:742
+#: sha1-name.c:800
 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"
@@ -6475,51 +7174,51 @@ msgstr "dans le sous-module '%s' non populé"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: submodule.c:906
+#: submodule.c:910
 #, 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:1143 builtin/branch.c:656 builtin/submodule--helper.c:1989
+#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: submodule.c:1477
+#: submodule.c:1481
 #, c-format
 msgid "Could not access submodule '%s'"
 msgstr "Impossible d'accéder au sous-module '%s'"
 
-#: submodule.c:1639
+#: submodule.c:1651
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' n'est pas reconnu comme dépôt git"
 
-#: submodule.c:1777
+#: submodule.c:1789
 #, 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:1790
+#: submodule.c:1802
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1805
+#: submodule.c:1817
 #, 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:1895
+#: submodule.c:1907
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "le sous-module '%s' a un index sale"
 
-#: submodule.c:1947
+#: submodule.c:1959
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "le sous-module '%s' n'a pas pu être mis à jour."
 
-#: submodule.c:1996
+#: submodule.c:2008
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -6527,12 +7226,12 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:2008 submodule.c:2064
+#: submodule.c:2020 submodule.c:2076
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:2015
+#: submodule.c:2027
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -6543,16 +7242,16 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:2099
+#: submodule.c:2111
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: submodule.c:2143
+#: submodule.c:2155
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:2182
+#: submodule.c:2194
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
@@ -6562,23 +7261,23 @@ msgstr "ls-tree a renvoyé un code de retour inattendu %d"
 msgid "ignoring suspicious submodule name: %s"
 msgstr "nom de sous-module suspicieux %s ignoré"
 
-#: submodule-config.c:296
+#: submodule-config.c:299
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
 
-#: submodule-config.c:390
+#: submodule-config.c:397
 #, 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
+#: submodule-config.c:486
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
 
-#: submodule-config.c:754
+#: submodule-config.c:755
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
@@ -6652,29 +7351,37 @@ msgstr "impossible de lire la liasse '%s'"
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:617
+#: transport.c:259
+msgid "see protocol.version in 'git help config' for more details"
+msgstr "voir protocol.version dans 'git help config' pour plus d'information"
+
+#: transport.c:260
+msgid "server options require protocol version 2 or later"
+msgstr "les options de serveur exigent une version 2 ou supérieure"
+
+#: transport.c:625
 msgid "could not parse transport.color.* config"
 msgstr "impossible d'analyser la configuration transport.color.*"
 
-#: transport.c:690
+#: transport.c:698
 msgid "support for protocol v2 not implemented yet"
 msgstr "le support du protocole v2 n'est pas encore implanté"
 
-#: transport.c:817
+#: transport.c:825
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "valeur inconnue pour la config '%s' : %s"
 
-#: transport.c:883
+#: transport.c:891
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "transport '%s' non permis"
 
-#: transport.c:937
+#: transport.c:945
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync n'est plus supporté"
 
-#: transport.c:1032
+#: transport.c:1040
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -6683,7 +7390,7 @@ msgstr ""
 "Les chemins suivants de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:1036
+#: transport.c:1044
 #, c-format
 msgid ""
 "\n"
@@ -6710,19 +7417,19 @@ msgstr ""
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:1044
+#: transport.c:1052
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport.c:1184
+#: transport.c:1193
 msgid "failed to push all needed submodules"
 msgstr "échec de la poussée de tous les sous-modules nécessaires"
 
-#: transport.c:1317 transport-helper.c:643
+#: transport.c:1326 transport-helper.c:645
 msgid "operation not supported by protocol"
 msgstr "option non supportée par le protocole"
 
-#: transport.c:1421
+#: transport.c:1430
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
@@ -6731,17 +7438,17 @@ msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
 msgid "full write to remote helper failed"
 msgstr "échec de l'écriture totale sur l'assistant distant"
 
-#: transport-helper.c:132
+#: transport-helper.c:134
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "Impossible de trouver un assistant distant pour '%s'"
 
-#: transport-helper.c:148 transport-helper.c:557
+#: transport-helper.c:150 transport-helper.c:559
 msgid "can't dup helper output fd"
 msgstr ""
 "impossible de dupliquer le descripteur de flux de sortie de l'assistant"
 
-#: transport-helper.c:199
+#: transport-helper.c:201
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
@@ -6750,103 +7457,103 @@ msgstr ""
 "capacité obligatoire inconnue %s ; cet assistant distant requiert "
 "probablement une une nouvelle version de Git"
 
-#: transport-helper.c:205
+#: transport-helper.c:207
 msgid "this remote helper should implement refspec capability"
 msgstr "cet assistant distant devrait supporter la capacité refspec"
 
-#: transport-helper.c:272 transport-helper.c:412
+#: transport-helper.c:274 transport-helper.c:414
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "%s a dit de manière inattendue : '%s'"
 
-#: transport-helper.c:401
+#: transport-helper.c:403
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s a aussi verrouillé %s"
 
-#: transport-helper.c:479
+#: transport-helper.c:481
 msgid "couldn't run fast-import"
 msgstr "impossible de lancer fast-import"
 
-#: transport-helper.c:502
+#: transport-helper.c:504
 msgid "error while running fast-import"
 msgstr "erreur au lancement de fast-import"
 
-#: transport-helper.c:531 transport-helper.c:1097
+#: transport-helper.c:533 transport-helper.c:1099
 #, c-format
 msgid "could not read ref %s"
 msgstr "impossible de lire la réf %s"
 
-#: transport-helper.c:576
+#: transport-helper.c:578
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "réponse inconnue à connect : %s"
 
-#: transport-helper.c:598
+#: transport-helper.c:600
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 "la spécification du chemin de service distant n'est pas supportée par le "
 "protocole"
 
-#: transport-helper.c:600
+#: transport-helper.c:602
 msgid "invalid remote service path"
 msgstr "chemin de service distant invalide"
 
-#: transport-helper.c:646
+#: transport-helper.c:648
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "impossible de se connecter au sous-service %s"
 
-#: transport-helper.c:718
+#: transport-helper.c:720
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "ok/error attendu, l'assistant a dit '%s'"
 
-#: transport-helper.c:771
+#: transport-helper.c:773
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "l'assistant a renvoyé un statut de retour inattendu %s"
 
-#: transport-helper.c:832
+#: transport-helper.c:834
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "l'assistant %s ne gère pas dry-run"
 
-#: transport-helper.c:835
+#: transport-helper.c:837
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "l'assistant %s ne gère pas --signed"
 
-#: transport-helper.c:838
+#: transport-helper.c:840
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "l'assistant %s ne gère pas --signed=if-asked"
 
-#: transport-helper.c:845
+#: transport-helper.c:847
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "l'assistant %s ne gère pas 'push-option'"
 
-#: transport-helper.c:937
+#: transport-helper.c:939
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 "l'assistant %s ne gère pas push ; un spécificateur de référence est "
 "nécessaire"
 
-#: transport-helper.c:942
+#: transport-helper.c:944
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "l'assistant %s ne gère pas 'force'"
 
-#: transport-helper.c:989
+#: transport-helper.c:991
 msgid "couldn't run fast-export"
 msgstr "impossible de lancer fast-export"
 
-#: transport-helper.c:994
+#: transport-helper.c:996
 msgid "error while running fast-export"
 msgstr "erreur au lancement de fast-export"
 
-#: transport-helper.c:1019
+#: transport-helper.c:1021
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -6855,47 +7562,47 @@ msgstr ""
 "Aucune référence en commun et aucune spécfiée ; rien à faire.\n"
 "Vous devriez peut-être spécifier une branche telle que 'master'.\n"
 
-#: transport-helper.c:1083
+#: transport-helper.c:1085
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "réponse malformée dans le liste de réfs : %s"
 
-#: transport-helper.c:1236
+#: transport-helper.c:1238
 #, c-format
 msgid "read(%s) failed"
 msgstr "échec de read(%s)"
 
-#: transport-helper.c:1263
+#: transport-helper.c:1265
 #, c-format
 msgid "write(%s) failed"
 msgstr "échec de write(%s)"
 
-#: transport-helper.c:1312
+#: transport-helper.c:1314
 #, c-format
 msgid "%s thread failed"
 msgstr "échec du fil d'exécution %s"
 
-#: transport-helper.c:1316
+#: transport-helper.c:1318
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "échec de jonction du fil d'exécution %s : %s"
 
-#: transport-helper.c:1335 transport-helper.c:1339
+#: transport-helper.c:1337 transport-helper.c:1341
 #, 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:1376
+#: transport-helper.c:1378
 #, c-format
 msgid "%s process failed to wait"
 msgstr "échec du processus %s pour l'attente"
 
-#: transport-helper.c:1380
+#: transport-helper.c:1382
 #, c-format
 msgid "%s process failed"
 msgstr "échec du processus %s"
 
-#: transport-helper.c:1398 transport-helper.c:1407
+#: transport-helper.c:1400 transport-helper.c:1409
 msgid "can't start thread for copying data"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données"
 
@@ -7146,16 +7853,16 @@ msgstr ""
 "Mise à jour impossible pour le sous-module :\n"
 "%s"
 
-#: unpack-trees.c:253
+#: unpack-trees.c:256
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:335
+#: unpack-trees.c:318
 msgid "Checking out files"
 msgstr "Extraction des fichiers"
 
-#: unpack-trees.c:367
+#: unpack-trees.c:350
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -7194,35 +7901,35 @@ msgstr "numéro de port invalide"
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:249 builtin/am.c:2094
+#: worktree.c:255 builtin/am.c:2097
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
 
-#: worktree.c:295
+#: worktree.c:301
 #, 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:306
+#: worktree.c:312
 #, 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:318
+#: worktree.c:324
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' n'existe pas"
 
-#: worktree.c:324
+#: worktree.c:330
 #, 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:332
+#: worktree.c:338
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' ne pointe pas en retour sur '%s'"
@@ -7241,158 +7948,158 @@ msgstr "impossible d'accéder à '%s'"
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
-#: wt-status.c:155
+#: wt-status.c:156
 msgid "Unmerged paths:"
 msgstr "Chemins non fusionnés :"
 
-#: wt-status.c:182 wt-status.c:209
+#: wt-status.c:183 wt-status.c:210
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (utilisez \"git reset %s <fichier>...\" pour désindexer)"
 
-#: wt-status.c:184 wt-status.c:211
+#: wt-status.c:185 wt-status.c:212
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (utilisez \"git rm --cached <fichier>...\" pour désindexer)"
 
-#: wt-status.c:188
+#: wt-status.c:189
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git add <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:190 wt-status.c:194
+#: wt-status.c:191 wt-status.c:195
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 "  (utilisez \"git add/rm <fichier>...\" si nécessaire pour marquer comme "
 "résolu)"
 
-#: wt-status.c:192
+#: wt-status.c:193
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git rm <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:203 wt-status.c:1046
+#: wt-status.c:204 wt-status.c:1064
 msgid "Changes to be committed:"
 msgstr "Modifications qui seront validées :"
 
-#: wt-status.c:221 wt-status.c:1055
+#: wt-status.c:222 wt-status.c:1073
 msgid "Changes not staged for commit:"
 msgstr "Modifications qui ne seront pas validées :"
 
-#: wt-status.c:225
+#: wt-status.c:226
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 "  (utilisez \"git add <fichier>...\" pour mettre à jour ce qui sera validé)"
 
-#: wt-status.c:227
+#: wt-status.c:228
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 "  (utilisez \"git add/rm <fichier>...\" pour mettre à jour ce qui sera "
 "validé)"
 
-#: wt-status.c:228
+#: wt-status.c:229
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr ""
 "  (utilisez \"git checkout -- <fichier>...\" pour annuler les modifications "
 "dans la copie de travail)"
 
-#: wt-status.c:230
+#: wt-status.c:231
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 "  (valider ou annuler le contenu non suivi ou modifié dans les sous-modules)"
 
-#: wt-status.c:242
+#: wt-status.c:243
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (utilisez \"git %s <fichier>...\" pour inclure dans ce qui sera validé)"
 
-#: wt-status.c:257
+#: wt-status.c:258
 msgid "both deleted:"
 msgstr "supprimé des deux côtés :"
 
-#: wt-status.c:259
+#: wt-status.c:260
 msgid "added by us:"
 msgstr "ajouté par nous :"
 
-#: wt-status.c:261
+#: wt-status.c:262
 msgid "deleted by them:"
 msgstr "supprimé par eux :"
 
-#: wt-status.c:263
+#: wt-status.c:264
 msgid "added by them:"
 msgstr "ajouté par eux :"
 
-#: wt-status.c:265
+#: wt-status.c:266
 msgid "deleted by us:"
 msgstr "supprimé par nous :"
 
-#: wt-status.c:267
+#: wt-status.c:268
 msgid "both added:"
 msgstr "ajouté de deux côtés :"
 
-#: wt-status.c:269
+#: wt-status.c:270
 msgid "both modified:"
 msgstr "modifié des deux côtés :"
 
-#: wt-status.c:279
+#: wt-status.c:280
 msgid "new file:"
 msgstr "nouveau fichier :"
 
-#: wt-status.c:281
+#: wt-status.c:282
 msgid "copied:"
 msgstr "copié :"
 
-#: wt-status.c:283
+#: wt-status.c:284
 msgid "deleted:"
 msgstr "supprimé :"
 
-#: wt-status.c:285
+#: wt-status.c:286
 msgid "modified:"
 msgstr "modifié :"
 
-#: wt-status.c:287
+#: wt-status.c:288
 msgid "renamed:"
 msgstr "renommé :"
 
-#: wt-status.c:289
+#: wt-status.c:290
 msgid "typechange:"
 msgstr "modif. type :"
 
-#: wt-status.c:291
+#: wt-status.c:292
 msgid "unknown:"
 msgstr "inconnu :"
 
-#: wt-status.c:293
+#: wt-status.c:294
 msgid "unmerged:"
 msgstr "non fusionné :"
 
-#: wt-status.c:373
+#: wt-status.c:374
 msgid "new commits, "
 msgstr "nouveaux commits, "
 
-#: wt-status.c:375
+#: wt-status.c:376
 msgid "modified content, "
 msgstr "contenu modifié, "
 
-#: wt-status.c:377
+#: wt-status.c:378
 msgid "untracked content, "
 msgstr "contenu non suivi, "
 
-#: wt-status.c:884
+#: wt-status.c:896
 #, 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:916
+#: wt-status.c:928
 msgid "Submodules changed but not updated:"
 msgstr "Sous-modules modifiés mais non mis à jour :"
 
-#: wt-status.c:918
+#: wt-status.c:930
 msgid "Submodule changes to be committed:"
 msgstr "Changements du sous-module à valider :"
 
-#: wt-status.c:1000
+#: wt-status.c:1012
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -7400,107 +8107,107 @@ msgstr ""
 "Ne touchez pas à la ligne ci-dessus.\n"
 "Tout ce qui suit sera éliminé."
 
-#: wt-status.c:1101
+#: wt-status.c:1119
 msgid "You have unmerged paths."
 msgstr "Vous avez des chemins non fusionnés."
 
-#: wt-status.c:1104
+#: wt-status.c:1122
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (réglez les conflits puis lancez \"git commit\")"
 
-#: wt-status.c:1106
+#: wt-status.c:1124
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (utilisez \"git merge --abort\" pour annuler la fusion)"
 
-#: wt-status.c:1110
+#: wt-status.c:1128
 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:1113
+#: wt-status.c:1131
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (utilisez \"git commit\" pour terminer la fusion)"
 
-#: wt-status.c:1122
+#: wt-status.c:1140
 msgid "You are in the middle of an am session."
 msgstr "Vous êtes au milieu d'une session am."
 
-#: wt-status.c:1125
+#: wt-status.c:1143
 msgid "The current patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: wt-status.c:1129
+#: wt-status.c:1147
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git am --continue\")"
 
-#: wt-status.c:1131
+#: wt-status.c:1149
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1133
+#: wt-status.c:1151
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1264
+#: wt-status.c:1284
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo est manquant."
 
-#: wt-status.c:1266
+#: wt-status.c:1286
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1269
+#: wt-status.c:1289
 #, 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:1280
+#: wt-status.c:1300
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1285
+#: wt-status.c:1305
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1288
+#: wt-status.c:1308
 #, 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:1296
+#: wt-status.c:1316
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1308
+#: wt-status.c:1328
 #, 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:1313
+#: wt-status.c:1333
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1326
+#: wt-status.c:1346
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1328
+#: wt-status.c:1348
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1330
+#: wt-status.c:1350
 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:1337
+#: wt-status.c:1357
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1341
+#: wt-status.c:1361
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -7508,128 +8215,144 @@ msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1346
+#: wt-status.c:1366
 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:1349
+#: wt-status.c:1369
 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:1353
+#: wt-status.c:1373
 #, 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:1358
+#: wt-status.c:1378
 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:1361
+#: wt-status.c:1381
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1363
+#: wt-status.c:1383
 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:1372
+#: wt-status.c:1394
+msgid "Cherry-pick currently in progress."
+msgstr "Picorage en cours."
+
+#: wt-status.c:1397
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1377
+#: wt-status.c:1404
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1380
+#: wt-status.c:1407
+msgid "  (run \"git cherry-pick --continue\" to continue)"
+msgstr "  (lancez \"git cherry-pick --continue\" pour continuer)"
+
+#: wt-status.c:1410
 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:1382
+#: wt-status.c:1412
 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:1390
+#: wt-status.c:1422
+msgid "Revert currently in progress."
+msgstr "Rétablissement en cours."
+
+#: wt-status.c:1425
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1395
+#: wt-status.c:1431
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1398
+#: wt-status.c:1434
+msgid "  (run \"git revert --continue\" to continue)"
+msgstr "  (lancez \"git revert --continue\" pour continuer)"
+
+#: wt-status.c:1437
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1400
+#: wt-status.c:1439
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1410
+#: wt-status.c:1449
 #, 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:1414
+#: wt-status.c:1453
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1417
+#: wt-status.c:1456
 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:1617
+#: wt-status.c:1665
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1624
+#: wt-status.c:1672
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1626
+#: wt-status.c:1674
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1631
+#: wt-status.c:1679
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.c:1633
+#: wt-status.c:1681
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
-#: wt-status.c:1636
+#: wt-status.c:1684
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1653
+#: wt-status.c:1701
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1654
+#: wt-status.c:1702
 msgid "No commits yet"
 msgstr "Aucun commit"
 
-#: wt-status.c:1668
+#: wt-status.c:1716
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1670
+#: wt-status.c:1718
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1674
+#: wt-status.c:1722
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -7641,32 +8364,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1680
+#: wt-status.c:1728
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1682
+#: wt-status.c:1730
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1688
+#: wt-status.c:1736
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1693
+#: wt-status.c:1741
 #, 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:1696
+#: wt-status.c:1744
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1699
+#: wt-status.c:1747
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -7675,66 +8398,66 @@ msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents (utilisez \"git add\" pour les suivre)\n"
 
-#: wt-status.c:1702
+#: wt-status.c:1750
 #, 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:1705
+#: wt-status.c:1753
 #, 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:1708 wt-status.c:1713
+#: wt-status.c:1756 wt-status.c:1761
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1711
+#: wt-status.c:1759
 #, 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:1715
+#: wt-status.c:1763
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1828
+#: wt-status.c:1876
 msgid "No commits yet on "
 msgstr "Encore aucun commit sur "
 
-#: wt-status.c:1832
+#: wt-status.c:1880
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-#: wt-status.c:1863
+#: wt-status.c:1911
 msgid "different"
 msgstr "différent"
 
-#: wt-status.c:1865 wt-status.c:1873
+#: wt-status.c:1913 wt-status.c:1921
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1868 wt-status.c:1871
+#: wt-status.c:1916 wt-status.c:1919
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2386
+#: wt-status.c:2443
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2392
+#: wt-status.c:2449
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2394
+#: wt-status.c:2451
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
@@ -7798,7 +8521,7 @@ msgstr ""
 "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n"
 
 #: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:214 builtin/push.c:560
+#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "simuler l'action"
@@ -7807,7 +8530,7 @@ msgstr "simuler l'action"
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:294 builtin/checkout.c:1304 builtin/reset.c:306
+#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
@@ -7855,7 +8578,7 @@ msgstr ""
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "vérifier si des fichiers - même manquants - sont ignorés, à vide"
 
-#: builtin/add.c:309 builtin/update-index.c:991
+#: builtin/add.c:309 builtin/update-index.c:1001
 msgid "override the executable bit of the listed files"
 msgstr "outrepasser le bit exécutable pour les fichiers listés"
 
@@ -7904,144 +8627,144 @@ msgstr "dépôt git embarqué ajouté : %s"
 msgid "Use -f if you really want to add them.\n"
 msgstr "Utilisez -f si vous voulez réellement les ajouter.\n"
 
-#: builtin/add.c:380
+#: builtin/add.c:379
 msgid "adding files failed"
 msgstr "échec de l'ajout de fichiers"
 
-#: builtin/add.c:418
+#: builtin/add.c:419
 msgid "-A and -u are mutually incompatible"
 msgstr "-A et -u sont mutuellement incompatibles"
 
-#: builtin/add.c:425
+#: builtin/add.c:426
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 "L'option --ignore-missing ne peut être utilisée qu'en complément de --dry-run"
 
-#: builtin/add.c:429
+#: builtin/add.c:430
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "Le paramètre '%s' de --chmod doit être soit -x soit +x"
 
-#: builtin/add.c:444
+#: builtin/add.c:445
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Rien de spécifié, rien n'a été ajouté.\n"
 
-#: builtin/add.c:445
+#: builtin/add.c:446
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Vous vouliez sûrement dire 'git add .' ?\n"
 
 #: builtin/am.c:348
 msgid "could not parse author script"
-msgstr "impossible d'analyser le script author"
+msgstr "impossible d'analyser l'auteur du script"
 
 #: builtin/am.c:432
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' a été effacé par le crochet applypatch-msg"
 
-#: builtin/am.c:473
+#: builtin/am.c:474
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Ligne en entrée malformée : '%s'."
 
-#: builtin/am.c:510
+#: builtin/am.c:512
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Impossible de copier les notes de '%s' vers '%s'"
 
-#: builtin/am.c:536
+#: builtin/am.c:538
 msgid "fseek failed"
 msgstr "échec de fseek"
 
-#: builtin/am.c:724
+#: builtin/am.c:726
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "impossible d'analyser le patch '%s'"
 
-#: builtin/am.c:789
+#: builtin/am.c:791
 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:837
+#: builtin/am.c:839
 msgid "invalid timestamp"
 msgstr "horodatage invalide"
 
-#: builtin/am.c:842 builtin/am.c:854
+#: builtin/am.c:844 builtin/am.c:856
 msgid "invalid Date line"
 msgstr "ligne de Date invalide"
 
-#: builtin/am.c:849
+#: builtin/am.c:851
 msgid "invalid timezone offset"
 msgstr "décalage horaire invalide"
 
-#: builtin/am.c:942
+#: builtin/am.c:944
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:947 builtin/clone.c:409
+#: builtin/am.c:949 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
 
-#: builtin/am.c:952
+#: builtin/am.c:954
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1082 builtin/commit.c:371
+#: builtin/am.c:1084 builtin/commit.c:371
 msgid "unable to write index file"
 msgstr "impossible d'écrire le fichier d'index"
 
-#: builtin/am.c:1096
+#: builtin/am.c:1098
 #, 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:1097
+#: builtin/am.c:1099
 #, 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:1098
+#: builtin/am.c:1100
 #, 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:1181
+#: builtin/am.c:1183
 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:1209
+#: builtin/am.c:1211
 msgid "Patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: builtin/am.c:1275
+#: builtin/am.c:1277
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "ligne d'identification invalide : %.*s"
 
-#: builtin/am.c:1297
+#: builtin/am.c:1299
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: builtin/am.c:1493
+#: builtin/am.c:1495
 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:1495
+#: builtin/am.c:1497
 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:1514
+#: builtin/am.c:1516
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -8049,29 +8772,29 @@ msgstr ""
 "Avez-vous édité le patch à la main ?\n"
 "Il ne s'applique pas aux blobs enregistrés dans son index."
 
-#: builtin/am.c:1520
+#: builtin/am.c:1522
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1546
+#: builtin/am.c:1548
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1578
+#: builtin/am.c:1580
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1624 builtin/am.c:1628
+#: builtin/am.c:1627 builtin/am.c:1631
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1644
+#: builtin/am.c:1647
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "impossible d'être interactif sans entrée standard connectée à un terminal."
 
-#: builtin/am.c:1649
+#: builtin/am.c:1652
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -8079,35 +8802,35 @@ msgstr "Le corps de la validation est :"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1659
+#: builtin/am.c:1662
 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:1709
+#: builtin/am.c:1712
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1749 builtin/am.c:1817
+#: builtin/am.c:1752 builtin/am.c:1820
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1766
+#: builtin/am.c:1769
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1772
+#: builtin/am.c:1775
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "le patch a échoué à %s %.*s"
 
-#: builtin/am.c:1776
+#: builtin/am.c:1779
 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:1820
+#: builtin/am.c:1823
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -8118,7 +8841,7 @@ msgstr ""
 "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
 "patch."
 
-#: builtin/am.c:1827
+#: builtin/am.c:1830
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -8131,17 +8854,17 @@ msgstr ""
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: builtin/am.c:1934 builtin/am.c:1938 builtin/am.c:1950 builtin/reset.c:329
+#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:1986
+#: builtin/am.c:1989
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'index"
 
-#: builtin/am.c:2030
+#: builtin/am.c:2033
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -8149,145 +8872,145 @@ msgstr ""
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2123
+#: builtin/am.c:2130
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2159
+#: builtin/am.c:2166
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2160
+#: builtin/am.c:2167
 msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr "git am [<options>] (--continue | --quit | --abort)"
+msgstr "git am [<options>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2166
+#: builtin/am.c:2173
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2168
+#: builtin/am.c:2175
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2170
+#: builtin/am.c:2177
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: builtin/am.c:2171 builtin/init-db.c:486 builtin/prune-packed.c:58
-#: builtin/repack.c:306
+#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:306 builtin/stash.c:805
 msgid "be quiet"
 msgstr "être silencieux"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2180
 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:2176
+#: builtin/am.c:2183
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2185
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2180
+#: builtin/am.c:2187
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2182
+#: builtin/am.c:2189
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2184
+#: builtin/am.c:2191
 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:2187
+#: builtin/am.c:2194
 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:2190
+#: builtin/am.c:2197
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: builtin/am.c:2192 builtin/am.c:2195 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:2219
+#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
+#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
+#: builtin/am.c:2226
 msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2209 builtin/commit.c:1343 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:240
-#: builtin/pull.c:152 builtin/pull.c:210 builtin/rebase.c:1062
+#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
+#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
 #: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386
-#: parse-options.h:144 parse-options.h:146 parse-options.h:266
+#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
+#: parse-options.h:141 parse-options.h:162 parse-options.h:311
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2215 builtin/branch.c:637 builtin/for-each-ref.c:38
-#: builtin/replace.c:544 builtin/tag.c:422 builtin/verify-tag.c:39
+#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
+#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2216
+#: builtin/am.c:2223
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2229
 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:2224
+#: builtin/am.c:2231
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2234
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2230
+#: builtin/am.c:2237
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2233
+#: builtin/am.c:2240
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "restaurer la branche originale et abandonner les applications de patch."
 
-#: builtin/am.c:2236
+#: builtin/am.c:2243
 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:2239
+#: builtin/am.c:2246
 msgid "show the patch being applied."
 msgstr "afficher le patch en cours d'application."
 
-#: builtin/am.c:2243
+#: builtin/am.c:2250
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2245
+#: builtin/am.c:2252
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2247 builtin/commit.c:1486 builtin/merge.c:274
-#: builtin/pull.c:185 builtin/rebase.c:1106 builtin/rebase--interactive.c:185
-#: builtin/revert.c:114 builtin/tag.c:402
+#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
+#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
+#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
 msgid "key-id"
 msgstr "id-clé"
 
-#: builtin/am.c:2248 builtin/rebase.c:1107 builtin/rebase--interactive.c:186
+#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
 msgid "GPG-sign commits"
 msgstr "signer les commits avec GPG"
 
-#: builtin/am.c:2251
+#: builtin/am.c:2258
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2269
+#: builtin/am.c:2276
 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."
@@ -8295,17 +9018,17 @@ msgstr ""
 "L'option -b/--binary ne fait plus rien depuis longtemps,\n"
 "et elle sera supprimée. Veuillez ne plus l'utiliser."
 
-#: builtin/am.c:2276
+#: builtin/am.c:2283
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2291
+#: builtin/am.c:2298
 #, 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:2315
+#: builtin/am.c:2322
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -8314,7 +9037,7 @@ msgstr ""
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2321
+#: builtin/am.c:2328
 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 "
@@ -8629,148 +9352,148 @@ msgstr "--bisect-next-check exige 2 ou 3 arguments"
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms exige 0 ou 1 argument"
 
-#: builtin/blame.c:31
+#: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<options>] [<rev-opts>] [<rev>] [--] <fichier>"
 
-#: builtin/blame.c:36
+#: builtin/blame.c:37
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<options-de-révision> sont documentés dans git-rev-list(1)"
 
-#: builtin/blame.c:406
+#: builtin/blame.c:407
 #, c-format
 msgid "expecting a color: %s"
 msgstr "couleur attendue : %s"
 
-#: builtin/blame.c:413
+#: builtin/blame.c:414
 msgid "must end with a color"
 msgstr "doit finir avec une couleur"
 
-#: builtin/blame.c:700
+#: builtin/blame.c:701
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "couleur invalide '%s' dans color.blame.repeatedlines"
 
-#: builtin/blame.c:718
+#: builtin/blame.c:719
 msgid "invalid value for blame.coloring"
 msgstr "valeur invalide pour blame.coloring"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:794
 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:794
+#: builtin/blame.c:795
 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:795
+#: builtin/blame.c:796
 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:796
+#: builtin/blame.c:797
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:797
+#: builtin/blame.c:798
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:799
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:800
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:801
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:802
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:803
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:804
 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:804
+#: builtin/blame.c:805
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:805
+#: builtin/blame.c:806
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:806
+#: builtin/blame.c:807
 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:807
+#: builtin/blame.c:808
 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:808
+#: builtin/blame.c:809
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:809
+#: builtin/blame.c:810
 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:810
+#: builtin/blame.c:811
 msgid "color lines by age"
 msgstr "colorier les lignes par âge"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:818
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:819
+#: builtin/blame.c:820
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:821
 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:821
+#: builtin/blame.c:822
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:822 builtin/blame.c:823
+#: builtin/blame.c:823 builtin/blame.c:824
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:822
+#: builtin/blame.c:823
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:824
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:825
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:825
 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:875
+#: builtin/blame.c:876
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -8784,18 +9507,18 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:926
+#: builtin/blame.c:927
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:1018
+#: builtin/blame.c:1031
 #, 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:1064
+#: builtin/blame.c:1077
 msgid "Blaming lines"
 msgstr "Assignation de blâme aux lignes"
 
@@ -8908,69 +9631,78 @@ msgstr "Branche de suivi %s supprimée (précédemment %s).\n"
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Branche %s supprimée (précédemment %s).\n"
 
-#: builtin/branch.c:421 builtin/tag.c:59
+#: builtin/branch.c:421 builtin/tag.c:60
 msgid "unable to parse format string"
 msgstr "impossible d'analyser la chaîne de format"
 
+#: builtin/branch.c:452
+msgid "could not resolve HEAD"
+msgstr "impossible de résoudre HEAD"
+
 #: builtin/branch.c:458
 #, c-format
+msgid "HEAD (%s) points outside of refs/heads/"
+msgstr "HEAD (%s) pointe hors de refs/heads/"
+
+#: builtin/branch.c:473
+#, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:462
+#: builtin/branch.c:477
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:479
+#: builtin/branch.c:494
 msgid "cannot copy the current branch while not on any."
 msgstr "impossible de copier la branche actuelle, il n'y en a pas."
 
-#: builtin/branch.c:481
+#: builtin/branch.c:496
 msgid "cannot rename the current branch while not on any."
 msgstr "impossible de renommer la branche actuelle, il n'y en a pas."
 
-#: builtin/branch.c:492
+#: builtin/branch.c:507
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:519
+#: builtin/branch.c:534
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:521
+#: builtin/branch.c:536
 msgid "Branch copy failed"
 msgstr "Échec de copie de la branche"
 
-#: builtin/branch.c:525
+#: builtin/branch.c:540
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "Création d'une copie d'une branche mal nommée '%s'"
 
-#: builtin/branch.c:528
+#: builtin/branch.c:543
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Renommage d'une branche mal nommée '%s'"
 
-#: builtin/branch.c:534
+#: builtin/branch.c:549
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "La branche a été renommée en %s, mais HEAD n'est pas mise à jour !"
 
-#: builtin/branch.c:543
+#: builtin/branch.c:558
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "La branche est renommée, mais la mise à jour du fichier de configuration a "
 "échoué"
 
-#: builtin/branch.c:545
+#: builtin/branch.c:560
 msgid "Branch is copied, but update of config-file failed"
 msgstr ""
 "La branche est copiée, mais la mise à jour du fichier de configuration a "
 "échoué"
 
-#: builtin/branch.c:561
+#: builtin/branch.c:576
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -8981,186 +9713,180 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:610
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:596
+#: builtin/branch.c:612
 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:597
+#: builtin/branch.c:613
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:598
+#: builtin/branch.c:614
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:616
 msgid "do not use"
 msgstr "ne pas utiliser"
 
-#: builtin/branch.c:602 builtin/rebase--interactive.c:182
+#: builtin/branch.c:618 builtin/rebase.c:485
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:618
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:603
+#: builtin/branch.c:619
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:620
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:605
+#: builtin/branch.c:621
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:607 builtin/branch.c:609
+#: builtin/branch.c:623 builtin/branch.c:625
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:608 builtin/branch.c:610
+#: builtin/branch.c:624 builtin/branch.c:626
 msgid "print only branches that don't contain the commit"
 msgstr "afficher seulement les branches qui ne contiennent pas le commit"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:629
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:630
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:632
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:617
+#: builtin/branch.c:633
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:634
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:635
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:636
 msgid "copy a branch and its reflog"
 msgstr "copier une branche et son reflog"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:637
 msgid "copy a branch, even if target exists"
 msgstr "copier une branche, même si la cible existe"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:638
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:623
+#: builtin/branch.c:639
+msgid "show current branch name"
+msgstr "afficher le nom de la branche courante"
+
+#: builtin/branch.c:640
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:642
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:643
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:644
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:628
+#: builtin/branch.c:645
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:646
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: 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: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:633 builtin/for-each-ref.c:43 builtin/notes.c:415
+#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:418
+#: builtin/tag.c:427
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:650
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425
+#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/tag.c:423
+#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: builtin/branch.c:660 builtin/clone.c:746
+#: builtin/branch.c:676 builtin/clone.c:748
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:683
+#: builtin/branch.c:700
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758
+#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:725
+#: builtin/branch.c:745
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:730
+#: builtin/branch.c:750
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:737
+#: builtin/branch.c:757
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:740
+#: builtin/branch.c:760
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:755
+#: builtin/branch.c:775
 msgid "too many branches for a copy operation"
 msgstr "trop de branches pour une opération de copie"
 
-#: builtin/branch.c:764
+#: builtin/branch.c:784
 msgid "too many arguments for a rename operation"
 msgstr "trop d'arguments pour une opération de renommage"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:789
 msgid "too many arguments to set new upstream"
 msgstr "trop d'arguments pour spécifier une branche amont"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:793
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -9168,37 +9894,37 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:776 builtin/branch.c:799
+#: builtin/branch.c:796 builtin/branch.c:819
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:780
+#: builtin/branch.c:800
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:813
 msgid "too many arguments to unset upstream"
 msgstr "trop d'arguments pour désactiver un amont"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:817
 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:803
+#: builtin/branch.c:823
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:833
 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:816
+#: builtin/branch.c:836
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -9267,7 +9993,7 @@ msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 msgid "for blob objects, run filters on object's content"
 msgstr "pour les objets blob, lancer les filtres sur le contenu de l'objet"
 
-#: builtin/cat-file.c:643 git-submodule.sh:860
+#: builtin/cat-file.c:643 git-submodule.sh:936
 msgid "blob"
 msgstr "blob"
 
@@ -9331,8 +10057,8 @@ msgid "terminate input and output records by a NUL character"
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1280 builtin/gc.c:517
-#: builtin/worktree.c:496
+#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538
+#: builtin/worktree.c:499
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -9425,8 +10151,8 @@ msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
 #: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1857
-#: builtin/worktree.c:669
+#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
+#: builtin/worktree.c:672
 msgid "string"
 msgstr "chaîne"
 
@@ -9446,128 +10172,144 @@ msgstr "git checkout [<options>] <branche>"
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
 
-#: builtin/checkout.c:147 builtin/checkout.c:181
+#: builtin/checkout.c:151 builtin/checkout.c:190
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
 
-#: builtin/checkout.c:149 builtin/checkout.c:183
+#: builtin/checkout.c:153 builtin/checkout.c:192
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:165
+#: builtin/checkout.c:169
 #, 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:210
+#: builtin/checkout.c:219
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:228
+#: builtin/checkout.c:237
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
 
-#: builtin/checkout.c:244
+#: builtin/checkout.c:253
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Impossible d'ajouter le résultat de fusion pour '%s'"
 
-#: builtin/checkout.c:267 builtin/checkout.c:270 builtin/checkout.c:273
-#: builtin/checkout.c:276
+#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337
+#: builtin/checkout.c:340
 #, 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:279 builtin/checkout.c:282
+#: builtin/checkout.c:343 builtin/checkout.c:346
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:285
+#: builtin/checkout.c:349
 #, 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:354 builtin/checkout.c:361
+#: builtin/checkout.c:396 builtin/checkout.c:403
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:397
+#: builtin/checkout.c:442
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "%d conflit du fusion recréé"
 msgstr[1] "%d conflits du fusion recréés"
 
-#: builtin/checkout.c:402
+#: builtin/checkout.c:447
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "%d chemin mis à jour depuis %s"
 msgstr[1] "%d chemins mis à jour depuis %s"
 
-#: builtin/checkout.c:409
+#: builtin/checkout.c:454
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "%d chemin mis à jour depuis l'index"
 msgstr[1] "%d chemins mis à jour depuis l'index"
 
-#: builtin/checkout.c:645
+#: builtin/checkout.c:695
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:782
+#: builtin/checkout.c:744
+#, c-format
+msgid ""
+"cannot continue with staged changes in the following files:\n"
+"%s"
+msgstr ""
+"impossible de continuer avec des modifications indexées dans les fichiers "
+"suivants :\n"
+"%s"
+
+#: builtin/checkout.c:751
+#, c-format
+msgid "staged changes in the following files may be lost: %s"
+msgstr ""
+"les modifications indexées dans les fichiers suivants seraient perdues : %s"
+
+#: builtin/checkout.c:848
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:824
+#: builtin/checkout.c:890
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:828 builtin/clone.c:699
+#: builtin/checkout.c:894 builtin/clone.c:701
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:832
+#: builtin/checkout.c:898
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:835
+#: builtin/checkout.c:901
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:839
+#: builtin/checkout.c:905
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:841 builtin/checkout.c:1212
+#: builtin/checkout.c:907 builtin/checkout.c:1283
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:843
+#: builtin/checkout.c:909
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:960
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:900
+#: builtin/checkout.c:966
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -9590,7 +10332,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:919
+#: builtin/checkout.c:985
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -9619,24 +10361,24 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:1017
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:955
+#: builtin/checkout.c:1021
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:983 builtin/checkout.c:1207
+#: builtin/checkout.c:1052 builtin/checkout.c:1278
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:1104
+#: builtin/checkout.c:1173
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1209
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -9645,145 +10387,153 @@ msgstr ""
 "'%s' pourrait être un fichier local ou un branche de suivi.\n"
 "Veuillez utiliser -- (et --no-guess en facultatif) pour les distinguer"
 
-#: builtin/checkout.c:1153 builtin/worktree.c:290 builtin/worktree.c:445
+#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1182
+#: builtin/checkout.c:1251
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1221
+#: builtin/checkout.c:1292
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1224 builtin/checkout.c:1228
+#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
 #, 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:1232 builtin/checkout.c:1235 builtin/checkout.c:1240
-#: builtin/checkout.c:1243
+#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
+#: builtin/checkout.c:1318
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1248
+#: builtin/checkout.c:1323
 #, 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:1281 builtin/checkout.c:1283 builtin/clone.c:120
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:489
-#: builtin/worktree.c:491
+#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118
+#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
+#: builtin/worktree.c:494
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1282
+#: builtin/checkout.c:1357
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1284
+#: builtin/checkout.c:1359
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1285
+#: builtin/checkout.c:1360
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1286 builtin/worktree.c:493
+#: builtin/checkout.c:1361 builtin/worktree.c:496
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1287
+#: builtin/checkout.c:1362
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1364
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1364
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1291
+#: builtin/checkout.c:1366
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1294
+#: builtin/checkout.c:1369
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1296
+#: builtin/checkout.c:1371
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1298
+#: builtin/checkout.c:1373
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1300 builtin/merge.c:276
+#: builtin/checkout.c:1375 builtin/merge.c:284
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1302 builtin/log.c:1586 parse-options.h:272
+#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1378
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1306
+#: builtin/checkout.c:1381
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux"
 
-#: builtin/checkout.c:1308
+#: builtin/checkout.c:1383
 msgid "do not second guess 'git checkout <no-such-branch>'"
 msgstr "ne pas essayer d'interpréter 'git checkout <branche-inexistante>'"
 
-#: builtin/checkout.c:1310
+#: builtin/checkout.c:1385
 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:1314 builtin/clone.c:87 builtin/fetch.c:141
-#: builtin/merge.c:273 builtin/pull.c:130 builtin/push.c:575
+#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141
+#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1390
+msgid "use overlay mode (default)"
+msgstr "utiliser le mode de superposition (défaut)"
+
+#: builtin/checkout.c:1422
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1362
+#: builtin/checkout.c:1425
+msgid "-p and --overlay are mutually exclusive"
+msgstr "-p et --overlay sont mutuellement exclusifs"
+
+#: builtin/checkout.c:1442
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1367
+#: builtin/checkout.c:1447
 msgid "missing branch name; try -b"
 msgstr "nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1484
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1491
 #, 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:1415
+#: builtin/checkout.c:1495
 #, 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:1419
+#: builtin/checkout.c:1499
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -9791,7 +10541,7 @@ msgstr ""
 "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n"
 "de l'extraction de l'index."
 
-#: builtin/checkout.c:1439
+#: builtin/checkout.c:1519
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -9969,9 +10719,9 @@ msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
 #: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:167 builtin/log.c:169
-#: builtin/ls-files.c:557 builtin/name-rev.c:415 builtin/name-rev.c:417
-#: builtin/show-ref.c:178
+#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
+#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "motif"
 
@@ -10011,140 +10761,150 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:90
 msgid "don't create a checkout"
 msgstr "ne pas créer d'extraction"
 
-#: builtin/clone.c:90 builtin/clone.c:92 builtin/init-db.c:481
+#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "créer un dépôt nu"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "create a mirror repository (implies bare)"
 msgstr "créer un dépôt miroir (implique dépôt nu)"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:97
 msgid "to clone from a local repository"
 msgstr "pour cloner depuis un dépôt local"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:99
 msgid "don't use local hardlinks, always copy"
 msgstr "ne pas utiliser de liens durs locaux, toujours copier"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:101
 msgid "setup as shared repository"
 msgstr "régler comme dépôt partagé"
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:104
 msgid "pathspec"
 msgstr "spécificateur de chemin"
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:104
 msgid "initialize submodules in the clone"
 msgstr "initialiser les sous-modules dans le clone"
 
-#: builtin/clone.c:109
+#: builtin/clone.c:107
 msgid "number of submodules cloned in parallel"
 msgstr "nombre de sous-modules clonés en parallèle"
 
-#: builtin/clone.c:110 builtin/init-db.c:478
+#: builtin/clone.c:108 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "répertoire-modèle"
 
-#: builtin/clone.c:111 builtin/init-db.c:479
+#: builtin/clone.c:109 builtin/init-db.c:487
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:113 builtin/clone.c:115 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1860
+#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
+#: builtin/submodule--helper.c:1859
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:117 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1862
+#: builtin/clone.c:115 builtin/submodule--helper.c:1381
+#: builtin/submodule--helper.c:1861
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
-#: builtin/clone.c:118 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3303 builtin/repack.c:329
+#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3306 builtin/repack.c:329
 msgid "name"
 msgstr "nom"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:117
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:119
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "extraire <branche> au lieu de la HEAD du répertoire distant"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:121
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:124 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:218
+#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836
+#: builtin/pull.c:225
 msgid "depth"
 msgstr "profondeur"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:123
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:126 builtin/fetch.c:144 builtin/pack-objects.c:3292
+#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
 msgid "time"
 msgstr "heure"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:125
 msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
-#: builtin/clone.c:128 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1039
+#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169
+#: builtin/rebase.c:1389
 msgid "revision"
 msgstr "révision"
 
-#: builtin/clone.c:129 builtin/fetch.c:147
+#: builtin/clone.c:127 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"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:129
 msgid "clone only one branch, HEAD or --branch"
 msgstr "cloner seulement une branche, HEAD ou --branch"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:131
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr ""
 "ne pas cloner les tags et indiquer aux récupérations futures de ne pas le "
 "faire"
 
-#: builtin/clone.c:135
+#: builtin/clone.c:133
 msgid "any cloned submodules will be shallow"
 msgstr "tous les sous-modules clonés seront superficiels"
 
-#: builtin/clone.c:136 builtin/init-db.c:487
+#: builtin/clone.c:134 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:137 builtin/init-db.c:488
+#: builtin/clone.c:135 builtin/init-db.c:496
 msgid "separate git dir from working tree"
 msgstr "séparer le répertoire git de la copie de travail"
 
-#: builtin/clone.c:138
+#: builtin/clone.c:136
 msgid "key=value"
 msgstr "clé=valeur"
 
-#: builtin/clone.c:139
+#: builtin/clone.c:137
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:231
+#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:172
+msgid "server-specific"
+msgstr "spécifique au serveur"
+
+#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:173
+msgid "option to transmit"
+msgstr "option à transmettre"
+
+#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:234
+#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
@@ -10180,7 +10940,7 @@ msgstr "échec du stat de %s\n"
 #: builtin/clone.c:444
 #, c-format
 msgid "failed to unlink '%s'"
-msgstr "échec lors de l'unlink de '%s'"
+msgstr "échec pour délier '%s'"
 
 #: builtin/clone.c:449
 #, c-format
@@ -10212,93 +10972,93 @@ msgstr ""
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:687
+#: builtin/clone.c:689
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:737
+#: builtin/clone.c:739
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "la HEAD distante réfère à une référence non existante, impossible de "
 "l'extraire.\n"
 
-#: builtin/clone.c:768
+#: builtin/clone.c:770
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:813
+#: builtin/clone.c:815
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:876
+#: builtin/clone.c:878
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:878
+#: builtin/clone.c:880
 msgid "cannot unlink temporary alternates file"
-msgstr "impossible de unlinker le fichier temporaire alternates"
+msgstr "impossible de délier le fichier temporaire alternates"
 
-#: builtin/clone.c:918 builtin/receive-pack.c:1941
+#: builtin/clone.c:920 builtin/receive-pack.c:1952
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:922
+#: builtin/clone.c:924
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:935
+#: builtin/clone.c:937
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:938
+#: builtin/clone.c:940
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:951
+#: builtin/clone.c:953
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:957 builtin/fetch.c:1608
+#: builtin/clone.c:959 builtin/fetch.c:1610
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:967
+#: builtin/clone.c:969
 #, 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:977
+#: builtin/clone.c:979
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:992 builtin/clone.c:1013 builtin/difftool.c:272
-#: builtin/worktree.c:296 builtin/worktree.c:326
+#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264
+#: builtin/worktree.c:296 builtin/worktree.c:328
 #, 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:997
+#: builtin/clone.c:999
 #, 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:1017
+#: builtin/clone.c:1019
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1021
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1043
+#: builtin/clone.c:1045
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -10306,41 +11066,41 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1104
+#: builtin/clone.c:1106
 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:1106
+#: builtin/clone.c:1108
 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:1108
+#: builtin/clone.c:1110
 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:1110
+#: builtin/clone.c:1112
 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:1113
+#: builtin/clone.c:1115
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1118
+#: builtin/clone.c:1120
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1192 builtin/clone.c:1200
+#: builtin/clone.c:1197 builtin/clone.c:1205
 #, 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:1203
+#: builtin/clone.c:1208
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -10376,6 +11136,74 @@ msgstr "Remplissage d'espace entre les colonnes"
 msgid "--command must be the first argument"
 msgstr "--command doit être le premier argument"
 
+#: builtin/commit-tree.c:18
+msgid ""
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
+"<file>)...] <tree>"
+msgstr ""
+"git commit-tree [(-p <parent>)...] [-S[<idclé>]] [(-m <message>)...] [(-F "
+"<fichier>)...] <arbre>"
+
+#: builtin/commit-tree.c:31
+#, c-format
+msgid "duplicate parent %s ignored"
+msgstr "le parent dupliqué %s est ignoré"
+
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520
+#, c-format
+msgid "not a valid object name %s"
+msgstr "nom d'objet invalide %s"
+
+#: builtin/commit-tree.c:93
+#, c-format
+msgid "git commit-tree: failed to open '%s'"
+msgstr "git commit-tree : échec à l'ouverture de '%s'"
+
+#: builtin/commit-tree.c:96
+#, c-format
+msgid "git commit-tree: failed to read '%s'"
+msgstr "git commit-tree : échec de la lecture de '%s'"
+
+#: builtin/commit-tree.c:98
+#, c-format
+msgid "git commit-tree: failed to close '%s'"
+msgstr "git commit-tree : échec de la fermeture de '%s'"
+
+#: builtin/commit-tree.c:111
+msgid "parent"
+msgstr "parent"
+
+#: builtin/commit-tree.c:112
+msgid "id of a parent commit object"
+msgstr "id d'un objet commit parent"
+
+#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
+#: builtin/tag.c:406
+msgid "message"
+msgstr "message"
+
+#: builtin/commit-tree.c:115 builtin/commit.c:1480
+msgid "commit message"
+msgstr "message de validation"
+
+#: builtin/commit-tree.c:118
+msgid "read commit log message from file"
+msgstr "lire le message de validation depuis un fichier"
+
+#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283
+#: builtin/pull.c:193 builtin/revert.c:117
+msgid "GPG sign commit"
+msgstr "signer la validation avec GPG"
+
+#: builtin/commit-tree.c:133
+msgid "must give exactly one tree"
+msgstr "exactement un arbre obligatoire"
+
+#: builtin/commit-tree.c:140
+msgid "git commit-tree: failed to read"
+msgstr "git commit-tree : échec de la lecture"
+
 #: builtin/commit.c:41
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<options>] [--] <spécification-de-chemin>..."
@@ -10484,7 +11312,7 @@ msgstr "le commit '%s' a une ligne d'auteur malformée"
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:652
+#: builtin/commit.c:653
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -10492,38 +11320,38 @@ msgstr ""
 "impossible de sélectionner un caractère de commentaire\n"
 "qui n'est pas utilisé dans le message de validation actuel"
 
-#: builtin/commit.c:689 builtin/commit.c:722 builtin/commit.c:1052
+#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:701 builtin/shortlog.c:319
+#: builtin/commit.c:703 builtin/shortlog.c:319
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
 
-#: builtin/commit.c:703
+#: builtin/commit.c:705
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:707
+#: builtin/commit.c:709
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:736 builtin/commit.c:744
+#: builtin/commit.c:740 builtin/commit.c:756
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:741
+#: builtin/commit.c:747
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:795
+#: builtin/commit.c:807
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:813
+#: builtin/commit.c:826
 #, c-format
 msgid ""
 "\n"
@@ -10538,7 +11366,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:818
+#: builtin/commit.c:831
 #, c-format
 msgid ""
 "\n"
@@ -10553,7 +11381,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:844
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -10563,7 +11391,7 @@ msgstr ""
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:839
+#: builtin/commit.c:852
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -10574,152 +11402,148 @@ msgstr ""
 "commençant par '%c' seront conservées ; vous pouvez les supprimer vous-même\n"
 "si vous le souhaitez. Un message vide abandonne la validation.\n"
 
-#: builtin/commit.c:856
+#: builtin/commit.c:869
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:864
+#: builtin/commit.c:877
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:871
+#: builtin/commit.c:884
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:889
+#: builtin/commit.c:902
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:956
+#: builtin/commit.c:969
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:970 builtin/tag.c:258
+#: builtin/commit.c:983 builtin/tag.c:269
 #, 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:1014
+#: builtin/commit.c:1027
 #, 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:1028
+#: builtin/commit.c:1041
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Mode de fichier ignoré invalide '%s'"
 
-#: builtin/commit.c:1042 builtin/commit.c:1279
+#: builtin/commit.c:1059 builtin/commit.c:1284
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1080
+#: builtin/commit.c:1097
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1113
+#: builtin/commit.c:1130
 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:1122
+#: builtin/commit.c:1139
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1125
+#: builtin/commit.c:1142
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1127
+#: builtin/commit.c:1144
 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:1130
+#: builtin/commit.c:1147
 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:1140
+#: builtin/commit.c:1157
 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:1142
+#: builtin/commit.c:1159
 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:1150
+#: builtin/commit.c:1167
 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:1167
+#: builtin/commit.c:1184
 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:1169
+#: builtin/commit.c:1186
 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:1183 builtin/tag.c:546
+#: builtin/commit.c:1192
 #, c-format
-msgid "Invalid cleanup mode %s"
-msgstr "Mode de nettoyage invalide %s"
-
-#: builtin/commit.c:1188
-msgid "Paths with -a does not make sense."
-msgstr "Spécifier des chemins avec l'option -a n'a pas de sens."
+msgid "paths '%s ...' with -a does not make sense"
+msgstr "des chemins '%s ...' avec l'option -a n'a pas de sens"
 
-#: builtin/commit.c:1314 builtin/commit.c:1498
+#: builtin/commit.c:1319 builtin/commit.c:1503
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1316 builtin/commit.c:1500
+#: builtin/commit.c:1321 builtin/commit.c:1505
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1318
+#: builtin/commit.c:1323
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1320 builtin/commit.c:1502
+#: builtin/commit.c:1325 builtin/commit.c:1507
 msgid "compute full ahead/behind values"
 msgstr "calcule les valeurs complètes en avance/en retard"
 
-#: builtin/commit.c:1322
+#: builtin/commit.c:1327
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1322 builtin/commit.c:1504 builtin/push.c:561
-#: builtin/worktree.c:640
+#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
+#: builtin/worktree.c:643
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1325 builtin/commit.c:1506
+#: builtin/commit.c:1330 builtin/commit.c:1511
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1328 builtin/commit.c:1509
+#: builtin/commit.c:1333 builtin/commit.c:1514
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1330 builtin/commit.c:1334 builtin/commit.c:1512
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1118
-#: builtin/tag.c:400
+#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
+#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
+#: parse-options.h:331
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1331 builtin/commit.c:1512
+#: builtin/commit.c:1336 builtin/commit.c:1517
 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:1335
+#: builtin/commit.c:1340
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -10727,11 +11551,11 @@ msgstr ""
 "afficher les fichiers ignorés, \"mode\" facultatif : traditional "
 "(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1337 parse-options.h:164
+#: builtin/commit.c:1342 parse-options.h:179
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1338
+#: builtin/commit.c:1343
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -10739,192 +11563,170 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1345
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1341
+#: builtin/commit.c:1346
 msgid "do not detect renames"
 msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1348
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 "détecter les renommages, en spécifiant optionnellement le facteur de "
 "similarité"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1368
 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:1468
+#: builtin/commit.c:1473
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1469
+#: builtin/commit.c:1474
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1471
+#: builtin/commit.c:1476
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1472 builtin/merge.c:264 builtin/tag.c:397
+#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1478
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1478
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1474 builtin/gc.c:518
+#: builtin/commit.c:1479 builtin/gc.c:539
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1479
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1475 builtin/merge.c:260 builtin/notes.c:409
-#: builtin/notes.c:575 builtin/tag.c:395
-msgid "message"
-msgstr "message"
-
-#: builtin/commit.c:1475
-msgid "commit message"
-msgstr "message de validation"
-
-#: builtin/commit.c:1476 builtin/commit.c:1477 builtin/commit.c:1478
-#: builtin/commit.c:1479 parse-options.h:278 ref-filter.h:92
+#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
+#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1481
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1482
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1483
 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:1479
+#: builtin/commit.c:1484
 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:1480
+#: builtin/commit.c:1485
 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:1481 builtin/log.c:1533 builtin/merge.c:277
-#: builtin/pull.c:156 builtin/revert.c:107
+#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285
+#: builtin/pull.c:162 builtin/revert.c:109
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1487
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1488
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1484
-msgid "default"
-msgstr "défaut"
-
-#: builtin/commit.c:1484 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:1485
+#: builtin/commit.c:1490
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1487 builtin/merge.c:275 builtin/pull.c:186
-#: builtin/revert.c:115
-msgid "GPG sign commit"
-msgstr "signer la validation avec GPG"
-
-#: builtin/commit.c:1490
+#: builtin/commit.c:1495
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1496
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1497
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1498
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1499
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1500
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1501
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1502
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1515
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1516
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1521
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1523
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1596
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1603
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1617
+#: builtin/commit.c:1622
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1629
 #, 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:1633
+#: builtin/commit.c:1634
 #, 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"
@@ -10959,35 +11761,40 @@ msgstr ""
 "git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
-#: 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:1553
+#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
+#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
+#: builtin/log.c:1561
 msgid "dir"
 msgstr "répertoire"
 
-#: builtin/commit-graph.c:49 builtin/commit-graph.c:79
-#: builtin/commit-graph.c:133 builtin/commit-graph.c:191
+#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
+#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
 msgid "The object directory to store the graph"
 msgstr "Le répertoire d'objet où stocker le graphe"
 
-#: builtin/commit-graph.c:135
+#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
+#, c-format
+msgid "Could not open commit-graph '%s'"
+msgstr "impossible d'ouvrir le graphe de commit '%s'"
+
+#: builtin/commit-graph.c:150
 msgid "start walk at all refs"
 msgstr "commencer le parcours à toutes les réfs"
 
-#: builtin/commit-graph.c:137
+#: builtin/commit-graph.c:152
 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:139
+#: builtin/commit-graph.c:154
 msgid "start walk at commits listed by stdin"
 msgstr "commencer le parcours aux commits listés sur stdin"
 
-#: builtin/commit-graph.c:141
+#: builtin/commit-graph.c:156
 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:150
+#: builtin/commit-graph.c:165
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 
@@ -11396,7 +12203,7 @@ msgstr ""
 msgid "describe %s\n"
 msgstr "décrire %s\n"
 
-#: builtin/describe.c:513 builtin/log.c:516
+#: builtin/describe.c:513
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "%s n'est pas un nom d'objet valide"
@@ -11447,7 +12254,7 @@ msgstr "ne considérer que les étiquettes correspondant à <motif>"
 msgid "do not consider tags matching <pattern>"
 msgstr "ne pas considérer les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:551 builtin/name-rev.c:424
+#: builtin/describe.c:551 builtin/name-rev.c:426
 msgid "show abbreviated commit object as fallback"
 msgstr "afficher les objets commits abrégés en dernier recours"
 
@@ -11490,50 +12297,50 @@ msgstr "'%s' : n'est pas un fichier régulier ni un lien symbolique"
 msgid "invalid option: %s"
 msgstr "option invalide : %s"
 
-#: builtin/diff.c:364
+#: builtin/diff.c:350
 msgid "Not a git repository"
 msgstr "Ce n'est pas un dépôt git !"
 
-#: builtin/diff.c:408
+#: builtin/diff.c:394
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objet spécifié '%s' invalide."
 
-#: builtin/diff.c:417
+#: builtin/diff.c:403
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "plus de deux blobs spécifiés : '%s'"
 
-#: builtin/diff.c:422
+#: builtin/diff.c:408
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "objet non géré '%s' spécifié."
 
-#: builtin/difftool.c:31
+#: builtin/difftool.c:30
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
 
-#: builtin/difftool.c:261
+#: builtin/difftool.c:253
 #, c-format
 msgid "failed: %d"
 msgstr "échec : %d"
 
-#: builtin/difftool.c:303
+#: builtin/difftool.c:295
 #, c-format
 msgid "could not read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:297
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "impossible de lire le fichier symlink %s"
 
-#: builtin/difftool.c:313
+#: builtin/difftool.c:305
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "Impossible de lire l'objet %s pour le symlink %s"
 
-#: builtin/difftool.c:414
+#: builtin/difftool.c:406
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -11541,53 +12348,53 @@ msgstr ""
 "les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
 "dans le mode de diff de répertoire ('-d' et '--dir-diff')."
 
-#: builtin/difftool.c:634
+#: builtin/difftool.c:626
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
 
-#: builtin/difftool.c:636
+#: builtin/difftool.c:628
 msgid "working tree file has been left."
 msgstr "le fichier dans l'arbre de travail a été laissé."
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:639
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "des fichiers temporaires existent dans '%s'."
 
-#: builtin/difftool.c:648
+#: builtin/difftool.c:640
 msgid "you may want to cleanup or recover these."
 msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
 
-#: builtin/difftool.c:697
+#: builtin/difftool.c:689
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:691
 msgid "perform a full-directory diff"
 msgstr "réalise un diff de répertoire complet"
 
-#: builtin/difftool.c:701
+#: builtin/difftool.c:693
 msgid "do not prompt before launching a diff tool"
 msgstr "ne pas confirmer avant de lancer l'outil de diff"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:698
 msgid "use symlinks in dir-diff mode"
 msgstr "utiliser les liens symboliques en mode de diff de répertoire"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:699
 msgid "tool"
 msgstr "outil"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:700
 msgid "use the specified diff tool"
 msgstr "utiliser l'outil de diff spécifié"
 
-#: builtin/difftool.c:710
+#: builtin/difftool.c:702
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "afficher une liste des outils de diff utilisables avec `--tool`"
 
-#: builtin/difftool.c:713
+#: builtin/difftool.c:705
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -11595,15 +12402,31 @@ msgstr ""
 "provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
 "non-nul"
 
-#: builtin/difftool.c:716
+#: builtin/difftool.c:708
 msgid "specify a custom command for viewing diffs"
 msgstr "spécifier une commande personnalisée pour visualiser les différences"
 
-#: builtin/difftool.c:740
+#: builtin/difftool.c:709
+msgid "passed to `diff`"
+msgstr "passé à `diff`"
+
+#: builtin/difftool.c:724
+msgid "difftool requires worktree or --no-index"
+msgstr "difftool exige un arbre de travail ou --no-index"
+
+#: builtin/difftool.c:731
+msgid "--dir-diff is incompatible with --no-index"
+msgstr "--dir-diff est incompatible avec --no-index"
+
+#: builtin/difftool.c:734
+msgid "--gui, --tool and --extcmd are mutually exclusive"
+msgstr "--gui, --tool et --extcmd sont mutuellement exclusifs"
+
+#: builtin/difftool.c:742
 msgid "no <tool> given for --tool=<tool>"
 msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 
-#: builtin/difftool.c:747
+#: builtin/difftool.c:749
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
@@ -11648,7 +12471,7 @@ msgstr "Utiliser la fonction \"done\" pour terminer le flux"
 msgid "Skip output of blob data"
 msgstr "Sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1102 builtin/log.c:1601
+#: builtin/fast-export.c:1102 builtin/log.c:1609
 msgid "refspec"
 msgstr "spécificateur de référence"
 
@@ -11686,15 +12509,15 @@ msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<options>]"
 
-#: builtin/fetch.c:115 builtin/pull.c:195
+#: builtin/fetch.c:115 builtin/pull.c:202
 msgid "fetch from all remotes"
 msgstr "récupérer depuis tous les dépôts distants"
 
-#: builtin/fetch.c:117 builtin/pull.c:198
+#: builtin/fetch.c:117 builtin/pull.c:205
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser"
 
-#: builtin/fetch.c:119 builtin/pull.c:201
+#: builtin/fetch.c:119 builtin/pull.c:208
 msgid "path to upload pack on remote end"
 msgstr "chemin vers lequel télécharger le paquet sur le poste distant"
 
@@ -11706,7 +12529,7 @@ msgstr "forcer l'écrasement de la branche locale"
 msgid "fetch from multiple remotes"
 msgstr "récupérer depuis plusieurs dépôts distants"
 
-#: builtin/fetch.c:124 builtin/pull.c:205
+#: builtin/fetch.c:124 builtin/pull.c:212
 msgid "fetch all tags and associated objects"
 msgstr "récupérer toutes les étiquettes et leurs objets associés"
 
@@ -11718,7 +12541,7 @@ msgstr "ne pas récupérer toutes les étiquettes (--no-tags)"
 msgid "number of submodules fetched in parallel"
 msgstr "nombre de sous-modules récupérés en parallèle"
 
-#: builtin/fetch.c:130 builtin/pull.c:208
+#: builtin/fetch.c:130 builtin/pull.c:215
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "éliminer les branches de suivi distant si la branche n'existe plus dans le "
@@ -11730,7 +12553,7 @@ msgstr ""
 "éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
 "encombrent les étiquettes modifiées"
 
-#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:133
+#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139
 msgid "on-demand"
 msgstr "à la demande"
 
@@ -11738,7 +12561,7 @@ msgstr "à la demande"
 msgid "control recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/fetch.c:138 builtin/pull.c:216
+#: builtin/fetch.c:138 builtin/pull.c:223
 msgid "keep downloaded pack"
 msgstr "conserver le paquet téléchargé"
 
@@ -11746,7 +12569,7 @@ msgstr "conserver le paquet téléchargé"
 msgid "allow updating of HEAD ref"
 msgstr "permettre la mise à jour de la référence HEAD"
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:219
+#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
 msgid "deepen history of shallow clone"
 msgstr "approfondir l'historique d'un clone superficiel"
 
@@ -11754,7 +12577,7 @@ msgstr "approfondir l'historique d'un clone superficiel"
 msgid "deepen history of shallow repository based on time"
 msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date"
 
-#: builtin/fetch.c:151 builtin/pull.c:222
+#: builtin/fetch.c:151 builtin/pull.c:229
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
@@ -11770,28 +12593,18 @@ msgstr ""
 "par défaut pour la récupération récursive de sous-modules (priorité plus "
 "basse que les fichiers de config)"
 
-#: builtin/fetch.c:161 builtin/pull.c:225
+#: builtin/fetch.c:161 builtin/pull.c:232
 msgid "accept refs that update .git/shallow"
 msgstr "accepter les références qui mettent à jour .git/shallow"
 
-#: builtin/fetch.c:162 builtin/pull.c:227
+#: builtin/fetch.c:162 builtin/pull.c:234
 msgid "refmap"
 msgstr "correspondance de référence"
 
-#: builtin/fetch.c:163 builtin/pull.c:228
+#: builtin/fetch.c:163 builtin/pull.c:235
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:172
-msgid "server-specific"
-msgstr "spécifique au serveur"
-
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:173
-msgid "option to transmit"
-msgstr "option à transmettre"
-
 #: 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"
@@ -11944,42 +12757,42 @@ msgstr ""
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1592
+#: builtin/fetch.c:1594
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1596
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1599
+#: builtin/fetch.c:1601
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1601
+#: builtin/fetch.c:1603
 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:1617
+#: builtin/fetch.c:1619
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1619
+#: builtin/fetch.c:1621
 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:1628
+#: builtin/fetch.c:1630
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1635
+#: builtin/fetch.c:1637
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "La récupération d'un groupe et les spécifications de référence n'ont pas de "
 "sens"
 
-#: builtin/fetch.c:1651
+#: builtin/fetch.c:1653
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -12019,7 +12832,7 @@ msgstr "git for-each-ref [<options>] [<motif>]"
 
 #: builtin/for-each-ref.c:11
 msgid "git for-each-ref [--points-at <object>]"
-msgstr "git for-each-ref [--point-at <objet>]"
+msgstr "git for-each-ref [--points-at <objet>]"
 
 #: builtin/for-each-ref.c:12
 msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
@@ -12049,27 +12862,27 @@ msgstr "échapper les champs réservés pour compatibilité avec Tcl"
 msgid "show only <n> matched refs"
 msgstr "n'afficher que <n> références correspondant"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:424
+#: builtin/for-each-ref.c:39 builtin/tag.c:433
 msgid "respect format colors"
 msgstr "respecter les couleurs de formatage"
 
-#: builtin/for-each-ref.c:43
+#: builtin/for-each-ref.c:42
 msgid "print only refs which points at the given object"
 msgstr "afficher seulement les références pointant sur l'objet"
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:44
 msgid "print only refs that are merged"
 msgstr "afficher seulement les références qui sont fusionnées"
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:45
 msgid "print only refs that are not merged"
 msgstr "afficher seulement les références qui ne sont pas fusionnées"
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:46
 msgid "print only refs which contain the commit"
 msgstr "afficher seulement les références qui contiennent le commit"
 
-#: builtin/for-each-ref.c:48
+#: builtin/for-each-ref.c:47
 msgid "print only refs which don't contain the commit"
 msgstr "afficher seulement les références qui ne contiennent pas le commit"
 
@@ -12107,212 +12920,212 @@ msgstr ""
 "lien cassé depuis %7s %s\n"
 "             vers %7s %s"
 
-#: builtin/fsck.c:253
+#: builtin/fsck.c:295
 #, c-format
 msgid "missing %s %s"
 msgstr "objet %s manquant %s"
 
-#: builtin/fsck.c:279
+#: builtin/fsck.c:321
 #, c-format
 msgid "unreachable %s %s"
 msgstr "objet %s inatteignable %s"
 
-#: builtin/fsck.c:298
+#: builtin/fsck.c:340
 #, c-format
 msgid "dangling %s %s"
 msgstr "objet %s fantôme %s"
 
-#: builtin/fsck.c:307
+#: builtin/fsck.c:349
 msgid "could not create lost-found"
 msgstr "impossible de créer le fichier lost-found"
 
-#: builtin/fsck.c:318
+#: builtin/fsck.c:360
 #, c-format
 msgid "could not finish '%s'"
 msgstr "impossible de finir '%s'"
 
-#: builtin/fsck.c:335
+#: builtin/fsck.c:377
 #, c-format
 msgid "Checking %s"
 msgstr "Vérification de l'objet %s"
 
-#: builtin/fsck.c:353
+#: builtin/fsck.c:415
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Vérification de la connectivité (%d objets)"
 
-#: builtin/fsck.c:372
+#: builtin/fsck.c:434
 #, c-format
 msgid "Checking %s %s"
 msgstr "Vérification de l'objet %s %s"
 
-#: builtin/fsck.c:376
+#: builtin/fsck.c:438
 msgid "broken links"
 msgstr "liens cassés"
 
-#: builtin/fsck.c:385
+#: builtin/fsck.c:447
 #, c-format
 msgid "root %s"
 msgstr "racine %s"
 
-#: builtin/fsck.c:393
+#: builtin/fsck.c:455
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "étiquetage de l'objet %s %s (%s) dans %s"
 
-#: builtin/fsck.c:422
+#: builtin/fsck.c:484
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s : objet corrompu ou manquant"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:509
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s : entrée %s de journal de références invalide"
 
-#: builtin/fsck.c:461
+#: builtin/fsck.c:523
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Vérification du journal de réferences %s-> %s"
 
-#: builtin/fsck.c:495
+#: builtin/fsck.c:557
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s : pointeur de sha1 invalide %s"
 
-#: builtin/fsck.c:502
+#: builtin/fsck.c:564
 #, c-format
 msgid "%s: not a commit"
 msgstr "l'objet %s n'est pas un commit"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:619
 msgid "notice: No default references"
 msgstr "Note : pas de référence par défaut"
 
-#: builtin/fsck.c:572
+#: builtin/fsck.c:634
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s : objet corrompu ou manquant : %s"
 
-#: builtin/fsck.c:585
+#: builtin/fsck.c:647
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s : impossible d'analyser : %s"
 
-#: builtin/fsck.c:605
+#: builtin/fsck.c:667
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "mauvais fichier de sha1 : %s"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:682
 msgid "Checking object directory"
 msgstr "Vérification du répertoire d'objet"
 
-#: builtin/fsck.c:623
+#: builtin/fsck.c:685
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:638
+#: builtin/fsck.c:700
 #, c-format
 msgid "Checking %s link"
 msgstr "Vérification du lien %s"
 
-#: builtin/fsck.c:643 builtin/index-pack.c:833
+#: builtin/fsck.c:705 builtin/index-pack.c:841
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/fsck.c:650
+#: builtin/fsck.c:712
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s pointe sur quelque chose bizarre (%s)"
 
-#: builtin/fsck.c:656
+#: builtin/fsck.c:718
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s : la HEAD détachée ne pointe sur rien"
 
-#: builtin/fsck.c:660
+#: builtin/fsck.c:722
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "note : %s pointe sur une branche non-née (%s)"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:734
 msgid "Checking cache tree"
 msgstr "Vérification de l'arbre cache"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:739
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s : pointer sha1 invalide dans l'arbre de cache"
 
-#: builtin/fsck.c:688
+#: builtin/fsck.c:750
 msgid "non-tree in cache-tree"
 msgstr "non-arbre dans l'arbre de cache"
 
-#: builtin/fsck.c:719
+#: builtin/fsck.c:781
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:787
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:726
+#: builtin/fsck.c:788
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:727
+#: builtin/fsck.c:789
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:728
+#: builtin/fsck.c:790
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:729
+#: builtin/fsck.c:791
 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:730
+#: builtin/fsck.c:792
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:731
+#: builtin/fsck.c:793
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:732
+#: builtin/fsck.c:794
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:733
+#: builtin/fsck.c:795
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:735
+#: builtin/fsck.c:797
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:736 builtin/prune.c:110
+#: builtin/fsck.c:798 builtin/prune.c:132
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:737
+#: builtin/fsck.c:799
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:859 builtin/index-pack.c:224
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
-#: builtin/fsck.c:825
+#: builtin/fsck.c:887
 #, c-format
 msgid "%s: object missing"
 msgstr "%s : objet manquant"
 
-#: builtin/fsck.c:837
+#: builtin/fsck.c:899
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "paramètre invalide : sha-1 attendu, '%s' trouvé"
@@ -12326,17 +13139,22 @@ msgstr "git gc [<options>]"
 msgid "Failed to fstat %s: %s"
 msgstr "Échec du stat de %s : %s"
 
-#: builtin/gc.c:461 builtin/init-db.c:55
+#: builtin/gc.c:126
+#, c-format
+msgid "failed to parse '%s' value '%s'"
+msgstr "échec de l'analyse de '%s' valeur '%s'"
+
+#: builtin/gc.c:476 builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "impossible de faire un stat de '%s'"
 
-#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: builtin/gc.c:477
+#: builtin/gc.c:492
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -12352,56 +13170,56 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:519
+#: builtin/gc.c:540
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:521
+#: builtin/gc.c:542
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:522
+#: builtin/gc.c:543
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:525
+#: builtin/gc.c:546
 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:528
+#: builtin/gc.c:549
 msgid "repack all other packs except the largest pack"
 msgstr "recompacter tous les autres paquets excepté le plus gros paquet"
 
-#: builtin/gc.c:545
+#: builtin/gc.c:566
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "impossible d'analyser gc.logexpiry %s"
 
-#: builtin/gc.c:556
+#: builtin/gc.c:577
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "impossible d'analyser la valeur d'expiration d'élagage %s"
 
-#: builtin/gc.c:576
+#: builtin/gc.c:597
 #, 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:578
+#: builtin/gc.c:599
 #, 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:579
+#: builtin/gc.c:600
 #, 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:619
+#: builtin/gc.c:640
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -12409,7 +13227,7 @@ msgstr ""
 "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> "
 "(utilisez --force si ce n'est pas le cas)"
 
-#: builtin/gc.c:672
+#: builtin/gc.c:693
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -12434,8 +13252,8 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1506 builtin/index-pack.c:1697
-#: builtin/pack-objects.c:2717
+#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
+#: builtin/pack-objects.c:2720
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
@@ -12668,11 +13486,11 @@ msgstr "impossible de résoudre la révision : %s"
 msgid "invalid option combination, ignoring --threads"
 msgstr "option de combinaison invalide, ignore --threads"
 
-#: builtin/grep.c:1066 builtin/pack-objects.c:3400
+#: builtin/grep.c:1066 builtin/pack-objects.c:3403
 msgid "no threads support, ignoring --threads"
 msgstr "pas de support des fils, ignore --threads"
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1503 builtin/pack-objects.c:2714
+#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
@@ -12776,30 +13594,30 @@ msgstr "afficher la description de la commande"
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<commande>]"
 
-#: builtin/help.c:73
+#: builtin/help.c:77
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "format d'aide non reconnu '%s'"
 
-#: builtin/help.c:100
+#: builtin/help.c:104
 msgid "Failed to start emacsclient."
 msgstr "échec de démarrage d'emacsclient."
 
-#: builtin/help.c:113
+#: builtin/help.c:117
 msgid "Failed to parse emacsclient version."
 msgstr "échec d'analyse de la version d'emacsclient."
 
-#: builtin/help.c:121
+#: builtin/help.c:125
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "la version d'emacsclient '%d' est trop ancienne (<22)."
 
-#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179
+#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "échec de l'exécution de '%s'"
 
-#: builtin/help.c:217
+#: builtin/help.c:221
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -12808,7 +13626,7 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel non supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:229
+#: builtin/help.c:233
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -12817,35 +13635,35 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:346
+#: builtin/help.c:350
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s' : visualiseur de manuel inconnu."
 
-#: builtin/help.c:363
+#: builtin/help.c:367
 msgid "no man viewer handled the request"
 msgstr "aucun visualiseur de manuel n'a pris en charge la demande"
 
-#: builtin/help.c:371
+#: builtin/help.c:375
 msgid "no info viewer handled the request"
 msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
 
-#: builtin/help.c:430 builtin/help.c:441 git.c:323
+#: builtin/help.c:434 builtin/help.c:445 git.c:335
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' est un alias de '%s'"
 
-#: builtin/help.c:444 git.c:347
+#: builtin/help.c:448 git.c:364
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "Mauvais chaîne alias.%s : %s"
 
-#: builtin/help.c:473 builtin/help.c:503
+#: builtin/help.c:477 builtin/help.c:507
 #, c-format
 msgid "usage: %s%s"
 msgstr "usage : %s%s"
 
-#: builtin/help.c:487
+#: builtin/help.c:491
 msgid "'git help config' for more information"
 msgstr "'git help config' pour plus d'information"
 
@@ -12864,276 +13682,276 @@ msgstr "objet attendu non reçu %s"
 msgid "object %s: expected type %s, found %s"
 msgstr "objet %s : type attendu %s, reçu %s"
 
-#: builtin/index-pack.c:249
+#: builtin/index-pack.c:257
 #, 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:259
+#: builtin/index-pack.c:267
 msgid "early EOF"
 msgstr "fin de fichier prématurée"
 
-#: builtin/index-pack.c:260
+#: builtin/index-pack.c:268
 msgid "read error on input"
 msgstr "erreur de lecture sur l'entrée"
 
-#: builtin/index-pack.c:272
+#: builtin/index-pack.c:280
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: builtin/index-pack.c:279 builtin/pack-objects.c:599
+#: builtin/index-pack.c:287 builtin/pack-objects.c:600
 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:282 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:290 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "le paquet dépasse la taille maximale permise"
 
-#: builtin/index-pack.c:297 builtin/repack.c:250
+#: builtin/index-pack.c:305 builtin/repack.c:250
 #, c-format
 msgid "unable to create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: builtin/index-pack.c:303
+#: builtin/index-pack.c:311
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "impossible d'ouvrir le fichier paquet '%s'"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:325
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:319
+#: builtin/index-pack.c:327
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:337
+#: builtin/index-pack.c:345
 #, 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:457
+#: builtin/index-pack.c:465
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:506
+#: builtin/index-pack.c:514
 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:514
+#: builtin/index-pack.c:522
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:522
+#: builtin/index-pack.c:530
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:561
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:555
+#: builtin/index-pack.c:563
 #, 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:581
+#: builtin/index-pack.c:589
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: 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
+#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
+#: builtin/index-pack.c:802 builtin/index-pack.c:811
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:729 builtin/pack-objects.c:152
-#: builtin/pack-objects.c:212 builtin/pack-objects.c:306
+#: builtin/index-pack.c:737 builtin/pack-objects.c:153
+#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:792
+#: builtin/index-pack.c:800
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:808
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:814
+#: builtin/index-pack.c:822
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:817 builtin/index-pack.c:836
+#: builtin/index-pack.c:825 builtin/index-pack.c:844
 msgid "fsck error in packed object"
 msgstr "erreur de fsck dans l'objet empaqueté"
 
-#: builtin/index-pack.c:838
+#: builtin/index-pack.c:846
 #, 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:910 builtin/index-pack.c:941
+#: builtin/index-pack.c:918 builtin/index-pack.c:949
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1117
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1117
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1143
+#: builtin/index-pack.c:1151
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1148
+#: builtin/index-pack.c:1156
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1159
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1171
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1186
+#: builtin/index-pack.c:1194
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1196 builtin/pack-objects.c:2486
+#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1237
+#: builtin/index-pack.c:1245
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1243
+#: builtin/index-pack.c:1251
 #, 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:1255
+#: builtin/index-pack.c:1263
 #, 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:1259
+#: builtin/index-pack.c:1267
 #, 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:1283
+#: builtin/index-pack.c:1291
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1360
+#: builtin/index-pack.c:1368
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1382
 #, 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:1399
+#: builtin/index-pack.c:1407
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1415
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "impossible de fermer le fichier %s écrit '%s'"
 
-#: builtin/index-pack.c:1431
+#: builtin/index-pack.c:1439
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1453
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1461
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1497 builtin/pack-objects.c:2725
+#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1565
+#: builtin/index-pack.c:1573
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1567
+#: builtin/index-pack.c:1575
 #, 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:1615
+#: builtin/index-pack.c:1623
 #, 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:1622
+#: builtin/index-pack.c:1630
 #, 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:1659
+#: builtin/index-pack.c:1667
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: builtin/index-pack.c:1708 builtin/index-pack.c:1711
-#: builtin/index-pack.c:1727 builtin/index-pack.c:1731
+#: builtin/index-pack.c:1716 builtin/index-pack.c:1719
+#: builtin/index-pack.c:1735 builtin/index-pack.c:1739
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1747
+#: builtin/index-pack.c:1755
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1749
+#: builtin/index-pack.c:1757
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1763
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
-#: builtin/index-pack.c:1803 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "erreur de fsck dans les objets paquets"
 
@@ -13145,12 +13963,12 @@ msgstr "impossible de faire un stat du modèle '%s'"
 #: builtin/init-db.c:66
 #, c-format
 msgid "cannot opendir '%s'"
-msgstr "impossible d'ouvrir (opendir) '%s'"
+msgstr "impossible d'ouvrir le répertoire '%s'"
 
 #: builtin/init-db.c:78
 #, c-format
 msgid "cannot readlink '%s'"
-msgstr "impossible de readlink '%s'"
+msgstr "impossible de lire le lien '%s'"
 
 #: builtin/init-db.c:80
 #, c-format
@@ -13177,42 +13995,42 @@ msgstr "modèles non trouvés dans %s"
 msgid "not copying templates from '%s': %s"
 msgstr "pas de copie des modèles depuis '%s' : %s"
 
-#: builtin/init-db.c:329
+#: builtin/init-db.c:334
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "impossible de traiter le fichier de type %d"
 
-#: builtin/init-db.c:332
+#: builtin/init-db.c:337
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "impossible de déplacer %s vers %s"
 
-#: builtin/init-db.c:349 builtin/init-db.c:352
+#: builtin/init-db.c:354 builtin/init-db.c:357
 #, c-format
 msgid "%s already exists"
 msgstr "%s existe déjà"
 
-#: builtin/init-db.c:405
+#: builtin/init-db.c:413
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "Dépôt Git existant partagé réinitialisé dans %s%s\n"
 
-#: builtin/init-db.c:406
+#: builtin/init-db.c:414
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "Dépôt Git existant réinitialisé dans %s%s\n"
 
-#: builtin/init-db.c:410
+#: builtin/init-db.c:418
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "Dépôt Git vide partagé initialisé dans %s%s\n"
 
-#: builtin/init-db.c:411
+#: builtin/init-db.c:419
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Dépôt Git vide initialisé dans %s%s\n"
 
-#: builtin/init-db.c:460
+#: builtin/init-db.c:468
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -13220,25 +14038,25 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<répertoire-modèle>] [--"
 "shared[=<permissions>]] [<répertoire>]"
 
-#: builtin/init-db.c:483
+#: builtin/init-db.c:491
 msgid "permissions"
 msgstr "permissions"
 
-#: builtin/init-db.c:484
+#: builtin/init-db.c:492
 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:518 builtin/init-db.c:523
+#: builtin/init-db.c:526 builtin/init-db.c:531
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "impossible de créer le répertoire (mkdir) %s"
 
-#: builtin/init-db.c:527
+#: builtin/init-db.c:535
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "impossible de se déplacer vers le répertoire (chdir) %s"
 
-#: builtin/init-db.c:548
+#: builtin/init-db.c:556
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -13247,7 +14065,7 @@ msgstr ""
 "%s (ou --work-tree=<répertoire>) n'est pas autorisé sans spécifier %s (ou --"
 "git-dir=<répertoire>)"
 
-#: builtin/init-db.c:576
+#: builtin/init-db.c:584
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Impossible d'accéder à l'arbre de travail '%s'"
@@ -13324,404 +14142,400 @@ msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 msgid "git show [<options>] <object>..."
 msgstr "git show [<options>] <objet>..."
 
-#: builtin/log.c:100
+#: builtin/log.c:104
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "option --decorate invalide : %s"
 
-#: builtin/log.c:163
-msgid "suppress diff output"
-msgstr "supprimer la sortie des différences"
-
-#: builtin/log.c:164
+#: builtin/log.c:168
 msgid "show source"
 msgstr "afficher la source"
 
-#: builtin/log.c:165
+#: builtin/log.c:169
 msgid "Use mail map file"
 msgstr "Utiliser le fichier de correspondance de mail"
 
-#: builtin/log.c:167
+#: builtin/log.c:171
 msgid "only decorate refs that match <pattern>"
 msgstr "décorer seulement les références correspondant à <motif>"
 
-#: builtin/log.c:169
+#: builtin/log.c:173
 msgid "do not decorate refs that match <pattern>"
 msgstr "ne pas décorer les références correspondant à <motif>"
 
-#: builtin/log.c:170
+#: builtin/log.c:174
 msgid "decorate options"
 msgstr "décorer les options"
 
-#: builtin/log.c:173
+#: builtin/log.c:177
 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:271
+#: builtin/log.c:275
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Sortie finale : %d %s\n"
 
-#: builtin/log.c:525
+#: builtin/log.c:529
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s : fichier incorrect"
 
-#: builtin/log.c:540 builtin/log.c:634
+#: builtin/log.c:544 builtin/log.c:638
 #, c-format
-msgid "Could not read object %s"
-msgstr "Impossible de lire l'objet %s"
+msgid "could not read object %s"
+msgstr "impossible de lire l'objet %s"
 
-#: builtin/log.c:659
+#: builtin/log.c:663
 #, c-format
-msgid "Unknown type: %d"
-msgstr "Type inconnu : %d"
+msgid "unknown type: %d"
+msgstr "type inconnu : %d"
 
-#: builtin/log.c:780
+#: builtin/log.c:784
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
-#: builtin/log.c:881
+#: builtin/log.c:885
 msgid "name of output directory is too long"
 msgstr "le nom du répertoire de sortie est trop long"
 
-#: builtin/log.c:897
+#: builtin/log.c:901
 #, c-format
-msgid "Cannot open patch file %s"
-msgstr "Impossible d'ouvrir le fichier correctif %s"
+msgid "cannot open patch file %s"
+msgstr "impossible d'ouvrir le fichier correctif %s"
 
-#: builtin/log.c:914
-msgid "Need exactly one range."
-msgstr "Exactement une plage nécessaire."
+#: builtin/log.c:918
+msgid "need exactly one range"
+msgstr "exactement une plage nécessaire"
 
-#: builtin/log.c:924
-msgid "Not a range."
-msgstr "Ceci n'est pas une plage."
+#: builtin/log.c:928
+msgid "not a range"
+msgstr "ceci n'est pas une plage"
 
-#: builtin/log.c:1047
-msgid "Cover letter needs email format"
-msgstr "La lettre de motivation doit être au format courriel"
+#: builtin/log.c:1051
+msgid "cover letter needs email format"
+msgstr "la lettre de motivation doit être au format courriel"
 
-#: builtin/log.c:1132
+#: builtin/log.c:1057
+msgid "failed to create cover-letter file"
+msgstr "échec de création du fichier de lettre de motivation"
+
+#: builtin/log.c:1136
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
 
-#: builtin/log.c:1159
+#: builtin/log.c:1163
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]"
 
-#: builtin/log.c:1217
-msgid "Two output directories?"
-msgstr "Deux répertoires de sortie ?"
+#: builtin/log.c:1221
+msgid "two output directories?"
+msgstr "deux répertoires de sortie ?"
 
-#: builtin/log.c:1324 builtin/log.c:2068 builtin/log.c:2070 builtin/log.c:2082
+#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090
 #, c-format
-msgid "Unknown commit %s"
-msgstr "Commit inconnu %s"
+msgid "unknown commit %s"
+msgstr "commit inconnu %s"
 
-#: builtin/log.c:1334 builtin/notes.c:897 builtin/tag.c:526
+#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/replace.c:210
 #, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr "Impossible de résoudre '%s' comme une référence valide."
+msgid "failed to resolve '%s' as a valid ref"
+msgstr "échec à résoudre '%s' comme une référence valide"
 
-#: builtin/log.c:1339
-msgid "Could not find exact merge base."
-msgstr "Impossible de trouver la base de fusion exacte."
+#: builtin/log.c:1347
+msgid "could not find exact merge base"
+msgstr "impossible de trouver la base de fusion exacte"
 
-#: builtin/log.c:1343
+#: builtin/log.c:1351
 msgid ""
-"Failed to get upstream, if you want to record base commit automatically,\n"
+"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"
-"Or you could specify base commit by --base=<base-commit-id> manually."
+"Or you could specify base commit by --base=<base-commit-id> manually"
 msgstr ""
-"Impossible de récupérer l'amont, si vous voulez enregistrer le commit de "
+"impossible de récupérer l'amont, si vous voulez enregistrer le commit de "
 "base automatiquement,\n"
 "veuillez utiliser git branch --set-upstream-to pour suivre une branche "
-"distante\n"
-"ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
-"manuellement."
+"distante.\n"
+"Ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
+"manuellement"
 
-#: builtin/log.c:1363
-msgid "Failed to find exact merge base"
-msgstr "Impossible de trouver la base de fusion exacte"
+#: builtin/log.c:1371
+msgid "failed to find exact merge base"
+msgstr "échec à trouver la base de fusion exacte"
 
-#: builtin/log.c:1374
+#: builtin/log.c:1382
 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:1378
+#: builtin/log.c:1386
 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:1431
+#: builtin/log.c:1439
 msgid "cannot get patch id"
 msgstr "impossible d'obtenir l'id du patch"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1491
 msgid "failed to infer range-diff ranges"
 msgstr "échec d'inférence d'intervalles de différence d'intervalles"
 
-#: builtin/log.c:1528
+#: builtin/log.c:1536
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "utiliser [PATCH n/m] même avec un patch unique"
 
-#: builtin/log.c:1531
+#: builtin/log.c:1539
 msgid "use [PATCH] even with multiple patches"
 msgstr "utiliser [PATCH] même avec des patchs multiples"
 
-#: builtin/log.c:1535
+#: builtin/log.c:1543
 msgid "print patches to standard out"
 msgstr "afficher les patchs sur la sortie standard"
 
-#: builtin/log.c:1537
+#: builtin/log.c:1545
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
-#: builtin/log.c:1539
+#: builtin/log.c:1547
 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:1540
+#: builtin/log.c:1548
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1541
+#: builtin/log.c:1549
 msgid "use <sfx> instead of '.patch'"
 msgstr "utiliser <sfx> au lieu de '.patch'"
 
-#: builtin/log.c:1543
+#: builtin/log.c:1551
 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:1545
+#: builtin/log.c:1553
 msgid "mark the series as Nth re-roll"
 msgstr "marquer la série comme une Nième réédition"
 
-#: builtin/log.c:1547
+#: builtin/log.c:1555
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
 
-#: builtin/log.c:1550
+#: builtin/log.c:1558
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "utiliser [<préfixe>] au lieu de [PATCH]"
 
-#: builtin/log.c:1553
+#: builtin/log.c:1561
 msgid "store resulting files in <dir>"
 msgstr "stocker les fichiers résultats dans <répertoire>"
 
-#: builtin/log.c:1556
+#: builtin/log.c:1564
 msgid "don't strip/add [PATCH]"
 msgstr "ne pas retirer/ajouter [PATCH]"
 
-#: builtin/log.c:1559
+#: builtin/log.c:1567
 msgid "don't output binary diffs"
 msgstr "ne pas imprimer les diffs binaires"
 
-#: builtin/log.c:1561
+#: builtin/log.c:1569
 msgid "output all-zero hash in From header"
 msgstr "écrire une empreinte à zéro dans l'entête From"
 
-#: builtin/log.c:1563
+#: builtin/log.c:1571
 msgid "don't include a patch matching a commit upstream"
 msgstr "ne pas inclure un patch correspondant à un commit amont"
 
-#: builtin/log.c:1565
+#: builtin/log.c:1573
 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:1567
+#: builtin/log.c:1575
 msgid "Messaging"
 msgstr "Communication"
 
-#: builtin/log.c:1568
+#: builtin/log.c:1576
 msgid "header"
 msgstr "en-tête"
 
-#: builtin/log.c:1569
+#: builtin/log.c:1577
 msgid "add email header"
 msgstr "ajouter l'en-tête de courriel"
 
-#: builtin/log.c:1570 builtin/log.c:1572
+#: builtin/log.c:1578 builtin/log.c:1580
 msgid "email"
 msgstr "courriel"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1578
 msgid "add To: header"
 msgstr "ajouter l'en-tête \"To:\""
 
-#: builtin/log.c:1572
+#: builtin/log.c:1580
 msgid "add Cc: header"
 msgstr "ajouter l'en-tête \"Cc:\""
 
-#: builtin/log.c:1574
+#: builtin/log.c:1582
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1575
+#: builtin/log.c:1583
 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:1577
+#: builtin/log.c:1585
 msgid "message-id"
 msgstr "id-message"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1586
 msgid "make first mail a reply to <message-id>"
 msgstr "répondre dans le premier message à <id-message>"
 
-#: builtin/log.c:1579 builtin/log.c:1582
+#: builtin/log.c:1587 builtin/log.c:1590
 msgid "boundary"
 msgstr "limite"
 
-#: builtin/log.c:1580
+#: builtin/log.c:1588
 msgid "attach the patch"
 msgstr "attacher le patch"
 
-#: builtin/log.c:1583
+#: builtin/log.c:1591
 msgid "inline the patch"
 msgstr "patch à l'intérieur"
 
-#: builtin/log.c:1587
+#: builtin/log.c:1595
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
 
-#: builtin/log.c:1589
+#: builtin/log.c:1597
 msgid "signature"
 msgstr "signature"
 
-#: builtin/log.c:1590
+#: builtin/log.c:1598
 msgid "add a signature"
 msgstr "ajouter une signature"
 
-#: builtin/log.c:1591
+#: builtin/log.c:1599
 msgid "base-commit"
 msgstr "commit-de-base"
 
-#: builtin/log.c:1592
+#: builtin/log.c:1600
 msgid "add prerequisite tree info to the patch series"
 msgstr "Ajouter un arbre prérequis à la série de patchs"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1602
 msgid "add a signature from a file"
 msgstr "ajouter une signature depuis un fichier"
 
-#: builtin/log.c:1595
+#: builtin/log.c:1603
 msgid "don't print the patch filenames"
 msgstr "ne pas afficher les noms de fichiers des patchs"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1605
 msgid "show progress while generating patches"
 msgstr ""
 "afficher la barre de progression durant la phase de génération des patchs"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1606
 msgid "rev"
 msgstr "rév"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1607
 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:1602
+#: builtin/log.c:1610
 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:1604
+#: builtin/log.c:1612
 msgid "percentage by which creation is weighted"
 msgstr "pourcentage par lequel la création est pondérée"
 
-#: builtin/log.c:1679
+#: builtin/log.c:1687
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "ligne d'identification invalide : %s"
 
-#: builtin/log.c:1694
+#: builtin/log.c:1702
 msgid "-n and -k are mutually exclusive"
 msgstr "-n et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1696
+#: builtin/log.c:1704
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1704
+#: builtin/log.c:1712
 msgid "--name-only does not make sense"
 msgstr "--name-only n'a pas de sens"
 
-#: builtin/log.c:1706
+#: builtin/log.c:1714
 msgid "--name-status does not make sense"
 msgstr "--name-status n'a pas de sens"
 
-#: builtin/log.c:1708
+#: builtin/log.c:1716
 msgid "--check does not make sense"
 msgstr "--check n'a pas de sens"
 
-#: builtin/log.c:1740
+#: builtin/log.c:1748
 msgid "standard output, or directory, which one?"
 msgstr "sortie standard, ou répertoire, lequel ?"
 
-#: builtin/log.c:1742
-#, c-format
-msgid "Could not create directory '%s'"
-msgstr "Impossible de créer le répertoire '%s'"
-
-#: builtin/log.c:1829
+#: builtin/log.c:1837
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff requiert --cover-letter ou une rustine unique"
 
-#: builtin/log.c:1833
+#: builtin/log.c:1841
 msgid "Interdiff:"
 msgstr "Interdiff :"
 
-#: builtin/log.c:1834
+#: builtin/log.c:1842
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff contre v%d :"
 
-#: builtin/log.c:1840
+#: builtin/log.c:1848
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor requiert --range-diff"
 
-#: builtin/log.c:1844
+#: builtin/log.c:1852
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff requiert --cover-letter ou une rustine unique"
 
-#: builtin/log.c:1852
+#: builtin/log.c:1860
 msgid "Range-diff:"
 msgstr "Diff-intervalle :"
 
-#: builtin/log.c:1853
+#: builtin/log.c:1861
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Diff-intervalle contre v%d :"
 
-#: builtin/log.c:1864
+#: builtin/log.c:1872
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "lecture du fichier de signature '%s' impossible"
 
-#: builtin/log.c:1900
+#: builtin/log.c:1908
 msgid "Generating patches"
 msgstr "Génération des patchs"
 
-#: builtin/log.c:1944
-msgid "Failed to create output files"
-msgstr "Ã\89chec de création des fichiers en sortie"
+#: builtin/log.c:1952
+msgid "failed to create output files"
+msgstr "échec de création des fichiers en sortie"
 
-#: builtin/log.c:2003
+#: builtin/log.c:2011
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
 
-#: builtin/log.c:2057
+#: builtin/log.c:2065
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -13850,7 +14664,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1111
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458
 msgid "exec"
 msgstr "exécutable"
 
@@ -13874,13 +14688,13 @@ msgstr "ne pas afficher les étiquettes pelées"
 msgid "take url.<base>.insteadOf into account"
 msgstr "prendre en compte url.<base>.insteadOf"
 
-#: builtin/ls-remote.c:73
+#: builtin/ls-remote.c:72
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr ""
 "sortir avec un code d'erreur 2 si aucune correspondance de référence n'est "
 "trouvée"
 
-#: builtin/ls-remote.c:76
+#: builtin/ls-remote.c:75
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "afficher la réf sous-jacente en plus de l'objet pointé par elle"
 
@@ -13927,270 +14741,278 @@ msgstr ""
 msgid "empty mbox: '%s'"
 msgstr "mbox vide : '%s'"
 
-#: builtin/merge.c:53
+#: builtin/merge.c:54
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<options>] [<commit>...]"
 
-#: builtin/merge.c:54
+#: builtin/merge.c:55
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:55
+#: builtin/merge.c:56
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:112
+#: builtin/merge.c:116
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:132
+#: builtin/merge.c:139
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "le commutateur '%s' a besoin d'une valeur"
 
-#: builtin/merge.c:178
+#: builtin/merge.c:185
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:179
+#: builtin/merge.c:186
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:184
+#: builtin/merge.c:191
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:235 builtin/pull.c:144
+#: builtin/merge.c:242 builtin/pull.c:150
 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:238 builtin/pull.c:147
+#: builtin/merge.c:245 builtin/pull.c:153
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:239 builtin/pull.c:150
+#: builtin/merge.c:246 builtin/pull.c:156
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:241 builtin/pull.c:153
+#: builtin/merge.c:248 builtin/pull.c:159
 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:244 builtin/pull.c:159
+#: builtin/merge.c:251 builtin/pull.c:165
 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:246 builtin/pull.c:162
+#: builtin/merge.c:253 builtin/pull.c:168
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:248 builtin/pull.c:165
+#: builtin/merge.c:255 builtin/pull.c:171
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:249
+#: builtin/merge.c:257
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:251 builtin/pull.c:171
+#: builtin/merge.c:259 builtin/pull.c:178
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:255 builtin/pull.c:174
+#: builtin/merge.c:263 builtin/pull.c:181
 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:256 builtin/notes.c:787 builtin/pull.c:178
-#: builtin/rebase.c:1124 builtin/rebase--interactive.c:188 builtin/revert.c:111
+#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185
+#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:257 builtin/pull.c:179
+#: builtin/merge.c:265 builtin/pull.c:186
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:258 builtin/pull.c:182
+#: builtin/merge.c:266 builtin/pull.c:189
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:259 builtin/pull.c:183
+#: builtin/merge.c:267 builtin/pull.c:190
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:261
+#: builtin/merge.c:269
 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:268
+#: builtin/merge.c:276
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:270
+#: builtin/merge.c:278
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:272 builtin/pull.c:190
+#: builtin/merge.c:280 builtin/pull.c:197
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:286
 msgid "verify commit-msg hook"
 msgstr "vérifier le crochet commit-msg"
 
-#: builtin/merge.c:303
+#: builtin/merge.c:311
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:308
+#: builtin/merge.c:316
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:313
+#: builtin/merge.c:321
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:335 builtin/merge.c:352
+#: builtin/merge.c:343 builtin/merge.c:360
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:382
+#: builtin/merge.c:390
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:393
+#: builtin/merge.c:401
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:451
 #, 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:494
+#: builtin/merge.c:502
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:581
+#: builtin/merge.c:589
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:702
+#: builtin/merge.c:712
 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:716
+#: builtin/merge.c:726
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Options inconnue pour merge-recursive : -X%s"
 
-#: builtin/merge.c:731
+#: builtin/merge.c:741
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:783
+#: builtin/merge.c:793
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:792
+#: builtin/merge.c:802
 #, 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:798
-#, c-format
+#: builtin/merge.c:808
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
-"Lines starting with '%c' will be ignored, and an empty message aborts\n"
-"the commit.\n"
 msgstr ""
 "Veuillez entrer un message de validation pour expliquer en quoi cette fusion "
 "est\n"
 "nécessaire, surtout si cela fusionne une branche amont mise à jour dans une "
 "branche de sujet.\n"
 "\n"
+
+#: builtin/merge.c:813
+msgid "An empty message aborts the commit.\n"
+msgstr "Un message vide abandonne la validation.\n"
+
+#: builtin/merge.c:816
+#, c-format
+msgid ""
+"Lines starting with '%c' will be ignored, and an empty message aborts\n"
+"the commit.\n"
+msgstr ""
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:834
+#: builtin/merge.c:857
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:853
+#: builtin/merge.c:876
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:906
+#: builtin/merge.c:936
 #, 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:945
+#: builtin/merge.c:975
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:947
+#: builtin/merge.c:977
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:949
+#: builtin/merge.c:979
 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:954
+#: builtin/merge.c:984
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:1011
+#: builtin/merge.c:1041
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1114
+#: builtin/merge.c:1144
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1148
+#: builtin/merge.c:1178
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1251
+#: builtin/merge.c:1281
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1255
+#: builtin/merge.c:1285
 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:1267
+#: builtin/merge.c:1297
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1271
+#: builtin/merge.c:1301
 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:1287
+#: builtin/merge.c:1317
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -14198,7 +15020,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1294
+#: builtin/merge.c:1324
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -14206,94 +15028,94 @@ msgstr ""
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1297
+#: builtin/merge.c:1327
 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:1306
+#: builtin/merge.c:1341
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1314
+#: builtin/merge.c:1349
 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:1331
+#: builtin/merge.c:1366
 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:1333
+#: builtin/merge.c:1368
 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:1338
+#: builtin/merge.c:1373
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1375
 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:1422
+#: builtin/merge.c:1454
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1431
+#: builtin/merge.c:1463
 msgid "Already up to date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1441
+#: builtin/merge.c:1473
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1515
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1522
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1515
+#: builtin/merge.c:1547
 msgid "Already up to date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1521
+#: builtin/merge.c:1553
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1544 builtin/merge.c:1623
+#: builtin/merge.c:1576 builtin/merge.c:1655
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1548
+#: builtin/merge.c:1580
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1614
+#: builtin/merge.c:1646
 #, 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:1616
+#: builtin/merge.c:1648
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1625
+#: builtin/merge.c:1657
 #, 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:1637
+#: builtin/merge.c:1669
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -14426,21 +15248,21 @@ msgstr "autoriser les objets manquants"
 msgid "allow creation of more than one tree"
 msgstr "autoriser la création de plus d'un arbre"
 
-#: builtin/multi-pack-index.c:8
+#: builtin/multi-pack-index.c:9
 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
+#: builtin/multi-pack-index.c:22
 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
+#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
-#: builtin/multi-pack-index.c:48
+#: builtin/multi-pack-index.c:51
 #, c-format
 msgid "unrecognized verb: %s"
 msgstr "verbe non reconnu : %s"
@@ -14534,7 +15356,7 @@ msgstr "%s, source=%s, destination=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:513
+#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
@@ -14551,36 +15373,36 @@ msgstr "git name-rev [<options>] --all"
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<options>] --stdin"
 
-#: builtin/name-rev.c:413
+#: builtin/name-rev.c:415
 msgid "print only names (no SHA-1)"
 msgstr "afficher seulement les noms (pas de SHA-1)"
 
-#: builtin/name-rev.c:414
+#: builtin/name-rev.c:416
 msgid "only use tags to name the commits"
 msgstr "utiliser seulement les étiquettes pour nommer les validations"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:418
 msgid "only use refs matching <pattern>"
 msgstr "utiliser seulement les références correspondant à <motif>"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:420
 msgid "ignore refs matching <pattern>"
 msgstr "ignorer les références correspondant à <motif>"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:422
 msgid "list all commits reachable from all refs"
 msgstr ""
 "afficher toutes les validations accessibles depuis toutes les références"
 
-#: builtin/name-rev.c:421
+#: builtin/name-rev.c:423
 msgid "read from stdin"
 msgstr "lire depuis l'entrée standard"
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:424
 msgid "allow to print `undefined` names (default)"
 msgstr "autoriser l'affichage des noms `non définis` (par défaut)"
 
-#: builtin/name-rev.c:428
+#: builtin/name-rev.c:430
 msgid "dereference tags in the input (internal use)"
 msgstr "déréférencer les étiquettes en entrée (usage interne)"
 
@@ -14727,7 +15549,7 @@ msgstr "impossible d'écrire l'objet note"
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:242 builtin/tag.c:513
+#: builtin/notes.c:242 builtin/tag.c:522
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
@@ -14961,6 +15783,11 @@ msgstr ""
 "validez le résultat avec 'git notes merges --commit', ou abandonnez la "
 "fusion avec 'git notes merge --abort'.\n"
 
+#: builtin/notes.c:897 builtin/tag.c:535
+#, c-format
+msgid "Failed to resolve '%s' as a valid ref."
+msgstr "Impossible de résoudre '%s' comme une référence valide."
+
 #: builtin/notes.c:900
 #, c-format
 msgid "Object %s has no note\n"
@@ -14975,7 +15802,7 @@ msgstr ""
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: builtin/notes.c:954 builtin/prune.c:108 builtin/worktree.c:165
+#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165
 msgid "do not remove, show only"
 msgstr "ne pas supprimer, afficher seulement"
 
@@ -14991,148 +15818,148 @@ msgstr "références-notes"
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1034
+#: builtin/notes.c:1034 builtin/stash.c:1611
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
 
-#: builtin/pack-objects.c:51
+#: builtin/pack-objects.c:52
 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:52
+#: builtin/pack-objects.c:53
 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:423
+#: builtin/pack-objects.c:424
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "mauvais CRC d'objet empaqueté pour %s"
 
-#: builtin/pack-objects.c:434
+#: builtin/pack-objects.c:435
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "objet empaqueté corrompu pour %s"
 
-#: builtin/pack-objects.c:565
+#: builtin/pack-objects.c:566
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "delta récursif détecté pour l'objet %s"
 
-#: builtin/pack-objects.c:776
+#: builtin/pack-objects.c:777
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "%u objets commandés, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:789
+#: builtin/pack-objects.c:790
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "le fichier packet est invalide : %s"
 
-#: builtin/pack-objects.c:793
+#: builtin/pack-objects.c:794
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "ouverture du fichier paquet pour réutilisation impossible : %s"
 
-#: builtin/pack-objects.c:797
+#: builtin/pack-objects.c:798
 msgid "unable to seek in reused packfile"
 msgstr "impossible de rechercher (seek) dans le fichier paquet réutilisé"
 
-#: builtin/pack-objects.c:808
+#: builtin/pack-objects.c:809
 msgid "unable to read from reused packfile"
 msgstr "lecture du fichier de paquet réutilisé impossible"
 
-#: builtin/pack-objects.c:836
+#: builtin/pack-objects.c:837
 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:849
+#: builtin/pack-objects.c:850
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:911 builtin/update-index.c:89
+#: builtin/pack-objects.c:912 builtin/update-index.c:89
 #, c-format
 msgid "failed to stat %s"
 msgstr "échec du stat de %s"
 
-#: builtin/pack-objects.c:964
+#: builtin/pack-objects.c:965
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "%<PRIu32> objets écrits, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:1158
+#: builtin/pack-objects.c:1161
 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:1586
+#: builtin/pack-objects.c:1589
 #, 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:1595
+#: builtin/pack-objects.c:1598
 #, 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:1864
+#: builtin/pack-objects.c:1867
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
-#: builtin/pack-objects.c:1994
+#: builtin/pack-objects.c:1997
 #, c-format
 msgid "unable to get size of %s"
 msgstr "impossible de récupérer la taille de %s"
 
-#: builtin/pack-objects.c:2009
+#: builtin/pack-objects.c:2012
 #, 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:2079 builtin/pack-objects.c:2095
-#: builtin/pack-objects.c:2105
+#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098
+#: builtin/pack-objects.c:2108
 #, c-format
 msgid "object %s cannot be read"
 msgstr "l'objet %s ne peut être lu"
 
-#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2109
+#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "objet %s longueur de l'objet inconsistante (%<PRIuMAX> contre %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2119
+#: builtin/pack-objects.c:2122
 msgid "suboptimal pack - out of memory"
 msgstr "paquet sous-optimal - mémoire insuffisante"
 
-#: builtin/pack-objects.c:2445
+#: builtin/pack-objects.c:2448
 #, 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:2577
+#: builtin/pack-objects.c:2580
 #, 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:2664
+#: builtin/pack-objects.c:2667
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2670
+#: builtin/pack-objects.c:2673
 msgid "inconsistency with delta count"
 msgstr "inconsistance dans le compte de delta"
 
-#: builtin/pack-objects.c:2751
+#: builtin/pack-objects.c:2754
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -15141,7 +15968,7 @@ msgstr ""
 "ID d'objet de bord attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2757
+#: builtin/pack-objects.c:2760
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -15150,262 +15977,262 @@ msgstr ""
 "ID d'objet attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2855
+#: builtin/pack-objects.c:2858
 msgid "invalid value for --missing"
 msgstr "valeur invalide pour --missing"
 
-#: builtin/pack-objects.c:2914 builtin/pack-objects.c:3022
+#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025
 msgid "cannot open pack index"
 msgstr "impossible d'ouvrir l'index de paquet"
 
-#: builtin/pack-objects.c:2945
+#: builtin/pack-objects.c:2948
 #, 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:3030
+#: builtin/pack-objects.c:3033
 msgid "unable to force loose object"
 msgstr "impossible de forcer l'objet libre"
 
-#: builtin/pack-objects.c:3122
+#: builtin/pack-objects.c:3125
 #, c-format
 msgid "not a rev '%s'"
 msgstr "'%s' n'est pas une révision"
 
-#: builtin/pack-objects.c:3125
+#: builtin/pack-objects.c:3128
 #, c-format
 msgid "bad revision '%s'"
 msgstr "mauvaise révision '%s'"
 
-#: builtin/pack-objects.c:3150
+#: builtin/pack-objects.c:3153
 msgid "unable to add recent objects"
 msgstr "impossible d'ajouter les objets récents"
 
-#: builtin/pack-objects.c:3203
+#: builtin/pack-objects.c:3206
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:3207
+#: builtin/pack-objects.c:3210
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:3237
+#: builtin/pack-objects.c:3240
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/pack-objects.c:3239
+#: builtin/pack-objects.c:3242
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/pack-objects.c:3241
+#: builtin/pack-objects.c:3244
 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:3244
+#: builtin/pack-objects.c:3247
 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:3245
+#: builtin/pack-objects.c:3248
 msgid "<version>[,<offset>]"
 msgstr "<version>[,<décalage>]"
 
-#: builtin/pack-objects.c:3246
+#: builtin/pack-objects.c:3249
 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:3249
+#: builtin/pack-objects.c:3252
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:3251
+#: builtin/pack-objects.c:3254
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:3253
+#: builtin/pack-objects.c:3256
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:3255
+#: builtin/pack-objects.c:3258
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:3257
+#: builtin/pack-objects.c:3260
 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:3259
+#: builtin/pack-objects.c:3262
 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:3261
+#: builtin/pack-objects.c:3264
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:3263
+#: builtin/pack-objects.c:3266
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:3265
+#: builtin/pack-objects.c:3268
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:3267
+#: builtin/pack-objects.c:3270
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleure correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:3269
+#: builtin/pack-objects.c:3272
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:3271
+#: builtin/pack-objects.c:3274
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:3273
+#: builtin/pack-objects.c:3276
 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:3276
+#: builtin/pack-objects.c:3279
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3282
 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:3282
+#: builtin/pack-objects.c:3285
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:3285
+#: builtin/pack-objects.c:3288
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3290
 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:3289
+#: builtin/pack-objects.c:3292
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:3291
+#: builtin/pack-objects.c:3294
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:3293
+#: builtin/pack-objects.c:3296
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3299
 msgid "use the sparse reachability algorithm"
 msgstr "utiliser l'algorithme de joignabilité creuse"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3301
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:3300
+#: builtin/pack-objects.c:3303
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:3302
+#: builtin/pack-objects.c:3305
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:3304
+#: builtin/pack-objects.c:3307
 msgid "ignore this pack"
 msgstr "ignorer ce paquet"
 
-#: builtin/pack-objects.c:3306
+#: builtin/pack-objects.c:3309
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:3308
+#: builtin/pack-objects.c:3311
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:3310
+#: builtin/pack-objects.c:3313
 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:3312
+#: builtin/pack-objects.c:3315
 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:3315
+#: builtin/pack-objects.c:3318
 msgid "handling for missing objects"
 msgstr "gestion des objets manquants"
 
-#: builtin/pack-objects.c:3318
+#: builtin/pack-objects.c:3321
 msgid "do not pack objects in promisor packfiles"
 msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
 
-#: builtin/pack-objects.c:3320
+#: builtin/pack-objects.c:3323
 msgid "respect islands during delta compression"
 msgstr "respecter les îlots pendant la compression des deltas"
 
-#: builtin/pack-objects.c:3345
+#: builtin/pack-objects.c:3348
 #, 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:3350
+#: builtin/pack-objects.c:3353
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit est trop grand, forcé à %d"
 
-#: builtin/pack-objects.c:3404
+#: builtin/pack-objects.c:3407
 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:3406
+#: builtin/pack-objects.c:3409
 msgid "minimum pack size limit is 1 MiB"
 msgstr "la taille limite minimale d'un paquet est 1 MiB"
 
-#: builtin/pack-objects.c:3411
+#: builtin/pack-objects.c:3414
 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:3414
+#: builtin/pack-objects.c:3417
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable et --unpack-unreachable sont incompatibles"
 
-#: builtin/pack-objects.c:3420
+#: builtin/pack-objects.c:3423
 msgid "cannot use --filter without --stdout"
 msgstr "impossible d'utiliser --filter sans --stdout"
 
-#: builtin/pack-objects.c:3479
+#: builtin/pack-objects.c:3484
 msgid "Enumerating objects"
 msgstr "Énumération des objets"
 
-#: builtin/pack-objects.c:3498
+#: builtin/pack-objects.c:3514
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr ""
 "Total %<PRIu32> (delta %<PRIu32>), réutilisés %<PRIu32> (delta %<PRIu32>)"
 
-#: builtin/pack-refs.c:7
+#: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<options>]"
 
-#: builtin/pack-refs.c:15
+#: builtin/pack-refs.c:16
 msgid "pack everything"
 msgstr "empaqueter tout"
 
-#: builtin/pack-refs.c:16
+#: builtin/pack-refs.c:17
 msgid "prune loose refs (default)"
 msgstr "éliminer les références perdues (défaut)"
 
@@ -15421,69 +16248,69 @@ msgstr "Suppression des objets dupliqués"
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <heure>] [--] [<head>…]"
 
-#: builtin/prune.c:109
+#: builtin/prune.c:131
 msgid "report pruned objects"
 msgstr "afficher les objets éliminés"
 
-#: builtin/prune.c:112
+#: builtin/prune.c:134
 msgid "expire objects older than <time>"
 msgstr "faire expirer les objets plus vieux que <heure>"
 
-#: builtin/prune.c:114
+#: builtin/prune.c:136
 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:150
 msgid "cannot prune in a precious-objects repo"
 msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
 
-#: builtin/pull.c:61 builtin/pull.c:63
+#: builtin/pull.c:66 builtin/pull.c:68
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Valeur invalide pour %s : %s"
 
-#: builtin/pull.c:83
+#: builtin/pull.c:88
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/pull.c:134
+#: builtin/pull.c:140
 msgid "control for recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/pull.c:138
+#: builtin/pull.c:144
 msgid "Options related to merging"
 msgstr "Options relatives à la fusion"
 
-#: builtin/pull.c:141
+#: builtin/pull.c:147
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: builtin/pull.c:168 builtin/rebase--interactive.c:149 builtin/revert.c:123
+#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125
 msgid "allow fast-forward"
 msgstr "autoriser l'avance rapide"
 
-#: builtin/pull.c:177
+#: builtin/pull.c:184
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "remiser avant et réappliquer après le rebasage automatiquement"
 
-#: builtin/pull.c:193
+#: builtin/pull.c:200
 msgid "Options related to fetching"
 msgstr "Options relatives au rapatriement"
 
-#: builtin/pull.c:203
+#: builtin/pull.c:210
 msgid "force overwrite of local branch"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/pull.c:211
+#: builtin/pull.c:218
 msgid "number of submodules pulled in parallel"
 msgstr "nombre de sous-modules tirés en parallèle"
 
-#: builtin/pull.c:306
+#: builtin/pull.c:313
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Valeur invalide pour pull.ff : %s"
 
-#: builtin/pull.c:422
+#: builtin/pull.c:430
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -15491,14 +16318,14 @@ msgstr ""
 "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:424
+#: builtin/pull.c:432
 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:425
+#: builtin/pull.c:433
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -15506,7 +16333,7 @@ msgstr ""
 "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:428
+#: builtin/pull.c:436
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -15518,44 +16345,44 @@ msgstr ""
 "configuration\n"
 "pour la branche actuelle, vous devez spécifier la branche avec la commande."
 
-#: builtin/pull.c:433 builtin/rebase.c:956 git-parse-remote.sh:73
+#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Vous n'êtes actuellement sur aucune branche."
 
-#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:79
+#: builtin/pull.c:443 builtin/pull.c:458 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:437 builtin/pull.c:452 git-parse-remote.sh:82
+#: builtin/pull.c:445 builtin/pull.c:460 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:438 builtin/pull.c:453
+#: builtin/pull.c:446 builtin/pull.c:461
 msgid "See git-pull(1) for details."
 msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 
-#: builtin/pull.c:440 builtin/pull.c:446 builtin/pull.c:455
-#: builtin/rebase.c:962 git-parse-remote.sh:64
+#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463
+#: builtin/rebase.c:1327 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<distant>"
 
-#: builtin/pull.c:440 builtin/pull.c:455 builtin/pull.c:460
-#: git-legacy-rebase.sh:564 git-parse-remote.sh:65
+#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468
+#: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branche>"
 
-#: builtin/pull.c:448 builtin/rebase.c:954 git-parse-remote.sh:75
+#: builtin/pull.c:456 builtin/rebase.c:1319 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:457 git-parse-remote.sh:95
+#: builtin/pull.c:465 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:462
+#: builtin/pull.c:470
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -15565,34 +16392,34 @@ msgstr ""
 "'%s'\n"
 "du serveur distant, mais cette référence n'a pas été récupérée."
 
-#: builtin/pull.c:566
+#: builtin/pull.c:574
 #, c-format
 msgid "unable to access commit %s"
 msgstr "impossible d'accéder le commit %s"
 
-#: builtin/pull.c:844
+#: builtin/pull.c:854
 msgid "ignoring --verify-signatures for rebase"
 msgstr "--verify-signatures est ignoré pour un rebasage"
 
-#: builtin/pull.c:892
+#: builtin/pull.c:909
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "l'option --[no-]autostash n'est valide qu'avec --rebase."
 
-#: builtin/pull.c:900
+#: builtin/pull.c:917
 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:904
+#: builtin/pull.c:921
 msgid "pull with rebase"
 msgstr "tirer avec un rebasage"
 
-#: builtin/pull.c:905
+#: builtin/pull.c:922
 msgid "please commit or stash them."
 msgstr "veuillez les valider ou les remiser."
 
-#: builtin/pull.c:930
+#: builtin/pull.c:947
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -15603,7 +16430,7 @@ msgstr ""
 "avance rapide de votre copie de travail\n"
 "depuis le commit %s."
 
-#: builtin/pull.c:936
+#: builtin/pull.c:953
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -15620,15 +16447,15 @@ msgstr ""
 "$ git reset --hard\n"
 "pour régénérer."
 
-#: builtin/pull.c:951
+#: builtin/pull.c:968
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Impossible de fusionner de multiples branches sur une tête vide."
 
-#: builtin/pull.c:955
+#: builtin/pull.c:972
 msgid "Cannot rebase onto multiple branches."
 msgstr "Impossible de rebaser sur de multiples branches."
 
-#: builtin/pull.c:962
+#: builtin/pull.c:979
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "impossible de rebaser avec des modifications de sous-modules enregistrées "
@@ -15962,16 +16789,16 @@ msgstr "Pourcentage par lequel la création est pondérée"
 msgid "use simple diff colors"
 msgstr "utiliser des couleurs de diff simples"
 
-#: builtin/range-diff.c:61 builtin/range-diff.c:65
+#: builtin/range-diff.c:46 builtin/range-diff.c:50
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "pas de .. dans la plage : '%s'"
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:60
 msgid "single arg format must be symmetric range"
 msgstr "un format d'argument unique doit être une plage symétrique"
 
-#: builtin/range-diff.c:90
+#: builtin/range-diff.c:75
 msgid "need two commit ranges"
 msgstr "plage entre deux commits requise"
 
@@ -15990,120 +16817,299 @@ msgstr ""
 msgid "write resulting index to <file>"
 msgstr "écrire l'index résultant dans <fichier>"
 
-#: builtin/read-tree.c:127
-msgid "only empty the index"
-msgstr "juste vider l'index"
+#: builtin/read-tree.c:127
+msgid "only empty the index"
+msgstr "juste vider l'index"
+
+#: builtin/read-tree.c:129
+msgid "Merging"
+msgstr "Fusion"
+
+#: builtin/read-tree.c:131
+msgid "perform a merge in addition to a read"
+msgstr "effectuer une fusion en plus d'une lecture"
+
+#: builtin/read-tree.c:133
+msgid "3-way merge if no file level merging required"
+msgstr "fusion à 3 points si aucune fusion de niveau fichier n'est requise"
+
+#: builtin/read-tree.c:135
+msgid "3-way merge in presence of adds and removes"
+msgstr "fusion à 3 points en présence d'ajouts et suppressions"
+
+#: builtin/read-tree.c:137
+msgid "same as -m, but discard unmerged entries"
+msgstr "comme -m, mais annule les éléments non fusionnés"
+
+#: builtin/read-tree.c:138
+msgid "<subdirectory>/"
+msgstr "<sous-répertoire>/"
+
+#: builtin/read-tree.c:139
+msgid "read the tree into the index under <subdirectory>/"
+msgstr "lire l'arbre dans l'index dans <sous-répertoire>/"
+
+#: builtin/read-tree.c:142
+msgid "update working tree with merge result"
+msgstr "mettre à jour la copie de travail avec le résultat de la fusion"
+
+#: builtin/read-tree.c:144
+msgid "gitignore"
+msgstr "gitignore"
+
+#: builtin/read-tree.c:145
+msgid "allow explicitly ignored files to be overwritten"
+msgstr "autoriser explicitement les fichiers ignorés à être écrasés"
+
+#: builtin/read-tree.c:148
+msgid "don't check the working tree after merging"
+msgstr "ne pas vérifier la copie de travail après la fusion"
+
+#: builtin/read-tree.c:149
+msgid "don't update the index or the work tree"
+msgstr "ne pas mettre à jour l'index ou la copie de travail"
+
+#: builtin/read-tree.c:151
+msgid "skip applying sparse checkout filter"
+msgstr "sauter l'application du filtre d'extraction creuse"
+
+#: builtin/read-tree.c:153
+msgid "debug unpack-trees"
+msgstr "déboguer unpack-trees"
+
+#: builtin/read-tree.c:157
+msgid "suppress feedback messages"
+msgstr "supprimer les messages d'information de suivi"
+
+#: builtin/rebase.c:32
+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.c:34
+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:36
+msgid "git rebase --continue | --abort | --skip | --edit-todo"
+msgstr "git rebase --continue | --abort | --skip | --edit-todo"
+
+#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#, c-format
+msgid "unusable todo list: '%s'"
+msgstr "liste à faire inutilisable : '%s'"
+
+#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
+#, c-format
+msgid "could not write '%s'."
+msgstr "impossible d'écrire '%s'."
+
+#: builtin/rebase.c:252
+msgid "no HEAD?"
+msgstr "pas de HEAD ?"
+
+#: builtin/rebase.c:279
+#, c-format
+msgid "could not create temporary %s"
+msgstr "impossible de créer un fichier temporaire %s"
+
+#: builtin/rebase.c:285
+msgid "could not mark as interactive"
+msgstr "impossible de marquer comme interactif"
+
+#: builtin/rebase.c:343
+msgid "could not generate todo list"
+msgstr "impossible de générer la liste à-faire"
+
+#: builtin/rebase.c:382
+msgid "a base commit must be provided with --upstream or --onto"
+msgstr "un commit de base doit être fourni avec --upstream ou --onto"
+
+#: builtin/rebase.c:437
+msgid "git rebase--interactive [<options>]"
+msgstr "git rebase--interactive [<options>]"
+
+#: builtin/rebase.c:449
+msgid "keep empty commits"
+msgstr "garder les validations vides"
+
+#: builtin/rebase.c:451 builtin/revert.c:127
+msgid "allow commits with empty messages"
+msgstr "autoriser les validations avec des messages vides"
+
+#: builtin/rebase.c:452
+msgid "rebase merge commits"
+msgstr "rebaser les commits de fusion"
+
+#: builtin/rebase.c:454
+msgid "keep original branch points of cousins"
+msgstr "conserver les points de branchement de cousins originaux"
+
+#: builtin/rebase.c:456
+msgid "move commits that begin with squash!/fixup!"
+msgstr "déplacer les commits qui commencent par squash!/fixup!"
+
+#: builtin/rebase.c:457
+msgid "sign commits"
+msgstr "signer les commits"
+
+#: builtin/rebase.c:459 builtin/rebase.c:1397
+msgid "display a diffstat of what changed upstream"
+msgstr "afficher un diffstat de ce qui a changé en amont"
+
+#: builtin/rebase.c:461
+msgid "continue rebase"
+msgstr "continuer le rebasage"
+
+#: builtin/rebase.c:463
+msgid "skip commit"
+msgstr "sauter le commit"
+
+#: builtin/rebase.c:464
+msgid "edit the todo list"
+msgstr "éditer la liste à-faire"
+
+#: builtin/rebase.c:466
+msgid "show the current patch"
+msgstr "afficher le patch courant"
+
+#: builtin/rebase.c:469
+msgid "shorten commit ids in the todo list"
+msgstr "raccourcir les identifiants de commits dans la liste à-faire"
+
+#: builtin/rebase.c:471
+msgid "expand commit ids in the todo list"
+msgstr "étendre les identifiants de commit dans la liste à-faire"
+
+#: builtin/rebase.c:473
+msgid "check the todo list"
+msgstr "vérifier la liste à-faire"
+
+#: builtin/rebase.c:475
+msgid "rearrange fixup/squash lines"
+msgstr "réarranger les lignes fixup/squash"
+
+#: builtin/rebase.c:477
+msgid "insert exec commands in todo list"
+msgstr "insérer les commandes exec dans la liste à-faire"
+
+#: builtin/rebase.c:478
+msgid "onto"
+msgstr "sur"
+
+#: builtin/rebase.c:481
+msgid "restrict-revision"
+msgstr "restrict-revision"
 
-#: builtin/read-tree.c:129
-msgid "Merging"
-msgstr "Fusion"
+#: builtin/rebase.c:481
+msgid "restrict revision"
+msgstr "restreindre la révision"
 
-#: builtin/read-tree.c:131
-msgid "perform a merge in addition to a read"
-msgstr "effectuer une fusion en plus d'une lecture"
+#: builtin/rebase.c:483
+msgid "squash-onto"
+msgstr "écraser-sur"
 
-#: builtin/read-tree.c:133
-msgid "3-way merge if no file level merging required"
-msgstr "fusion à 3 points si aucune fusion de niveau fichier n'est requise"
+#: builtin/rebase.c:484
+msgid "squash onto"
+msgstr "écraser sur"
 
-#: builtin/read-tree.c:135
-msgid "3-way merge in presence of adds and removes"
-msgstr "fusion à 3 points en présence d'ajouts et suppressions"
+#: builtin/rebase.c:486
+msgid "the upstream commit"
+msgstr "le commit amont"
 
-#: builtin/read-tree.c:137
-msgid "same as -m, but discard unmerged entries"
-msgstr "comme -m, mais annule les éléments non fusionnés"
+#: builtin/rebase.c:488
+msgid "head-name"
+msgstr "nom du head"
 
-#: builtin/read-tree.c:138
-msgid "<subdirectory>/"
-msgstr "<sous-répertoire>/"
+#: builtin/rebase.c:488
+msgid "head name"
+msgstr "nom du head"
 
-#: builtin/read-tree.c:139
-msgid "read the tree into the index under <subdirectory>/"
-msgstr "lire l'arbre dans l'index dans <sous-répertoire>/"
+#: builtin/rebase.c:493
+msgid "rebase strategy"
+msgstr "stratégie de rebasage"
 
-#: builtin/read-tree.c:142
-msgid "update working tree with merge result"
-msgstr "mettre à jour la copie de travail avec le résultat de la fusion"
+#: builtin/rebase.c:494
+msgid "strategy-opts"
+msgstr "options de stratégie"
 
-#: builtin/read-tree.c:144
-msgid "gitignore"
-msgstr "gitignore"
+#: builtin/rebase.c:495
+msgid "strategy options"
+msgstr "options de stratégie"
 
-#: builtin/read-tree.c:145
-msgid "allow explicitly ignored files to be overwritten"
-msgstr "autoriser explicitement les fichiers ignorés à être écrasés"
+#: builtin/rebase.c:496
+msgid "switch-to"
+msgstr "switch-to"
 
-#: builtin/read-tree.c:148
-msgid "don't check the working tree after merging"
-msgstr "ne pas vérifier la copie de travail après la fusion"
+#: builtin/rebase.c:497
+msgid "the branch or commit to checkout"
+msgstr "la branche ou le commit à extraire"
 
-#: builtin/read-tree.c:149
-msgid "don't update the index or the work tree"
-msgstr "ne pas mettre à jour l'index ou la copie de travail"
+#: builtin/rebase.c:498
+msgid "onto-name"
+msgstr "sur-le-nom"
 
-#: builtin/read-tree.c:151
-msgid "skip applying sparse checkout filter"
-msgstr "sauter l'application du filtre d'extraction creuse"
+#: builtin/rebase.c:498
+msgid "onto name"
+msgstr "sur le nom"
 
-#: builtin/read-tree.c:153
-msgid "debug unpack-trees"
-msgstr "déboguer unpack-trees"
+#: builtin/rebase.c:499
+msgid "cmd"
+msgstr "cmd"
 
-#: builtin/rebase.c:30
-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.c:499
+msgid "the command to run"
+msgstr "la commande à lancer"
 
-#: builtin/rebase.c:32
-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:502 builtin/rebase.c:1480
+msgid "automatically re-schedule any `exec` that fails"
+msgstr "re-planifier automatiquement tout `exec` qui échoue"
 
-#: builtin/rebase.c:34
-msgid "git rebase --continue | --abort | --skip | --edit-todo"
-msgstr "git rebase --continue | --abort | --skip | --edit-todo"
+#: builtin/rebase.c:518
+msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
+msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
 
-#: builtin/rebase.c:121 builtin/rebase.c:1437
+#: builtin/rebase.c:534 builtin/rebase.c:1787
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s requiert un rebasage interactif"
 
-#: builtin/rebase.c:173
+#: builtin/rebase.c:586
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "impossible d'accéder 'onto' : '%s'"
 
-#: builtin/rebase.c:188
+#: builtin/rebase.c:601
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head invalide : '%s'"
 
-#: builtin/rebase.c:213
+#: builtin/rebase.c:626
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "allow_rerere_autoupdate invalide ignoré : '%s'"
 
-#: builtin/rebase.c:289
+#: builtin/rebase.c:702
 #, c-format
 msgid "Could not read '%s'"
 msgstr "Impossible de lire '%s'"
 
-#: builtin/rebase.c:307
+#: builtin/rebase.c:720
 #, c-format
 msgid "Cannot store %s"
 msgstr "Impossible de stocker %s"
 
-#: builtin/rebase.c:402
+#: builtin/rebase.c:817
 msgid "could not determine HEAD revision"
 msgstr "impossible de déterminer la révision HEAD"
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:940
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -16117,7 +17123,7 @@ msgstr ""
 "arrêter\n"
 "et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
 
-#: builtin/rebase.c:603
+#: builtin/rebase.c:1021
 #, c-format
 msgid ""
 "\n"
@@ -16136,7 +17142,7 @@ msgstr ""
 "\n"
 "Résultat, git ne peut pas les rebaser."
 
-#: builtin/rebase.c:948
+#: builtin/rebase.c:1313
 #, c-format
 msgid ""
 "%s\n"
@@ -16153,7 +17159,7 @@ msgstr ""
 "    git rebase '<branche>'\n"
 "\n"
 
-#: builtin/rebase.c:964
+#: builtin/rebase.c:1329
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -16167,162 +17173,160 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<branche> %s\n"
 "\n"
 
-#: builtin/rebase.c:994
+#: builtin/rebase.c:1359
 msgid "exec commands cannot contain newlines"
 msgstr "les commandes exec ne peut pas contenir de retour à la ligne"
 
-#: builtin/rebase.c:998
+#: builtin/rebase.c:1363
 msgid "empty exec command"
 msgstr "commande exec vide"
 
-#: builtin/rebase.c:1040
+#: builtin/rebase.c:1390
 msgid "rebase onto given branch instead of upstream"
 msgstr "rebaser sur la branche %s au lieu de la branche amont"
 
-#: builtin/rebase.c:1042
+#: builtin/rebase.c:1392
 msgid "allow pre-rebase hook to run"
 msgstr "permettre le lancement du crochet pre-rebase"
 
-#: builtin/rebase.c:1044
+#: builtin/rebase.c:1394
 msgid "be quiet. implies --no-stat"
 msgstr "être silencieux. implique --no-stat"
 
-#: builtin/rebase.c:1047
-msgid "display a diffstat of what changed upstream"
-msgstr "afficher un diffstat de ce qui a changé en amont"
-
-#: builtin/rebase.c:1050
+#: builtin/rebase.c:1400
 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:1053
+#: builtin/rebase.c:1403
 msgid "add a Signed-off-by: line to each commit"
 msgstr "ajouter une ligne Signed-off-by à chaque message de validation"
 
-#: builtin/rebase.c:1055 builtin/rebase.c:1059 builtin/rebase.c:1061
+#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411
 msgid "passed to 'git am'"
 msgstr "passé à 'git am'"
 
-#: builtin/rebase.c:1063 builtin/rebase.c:1065
+#: builtin/rebase.c:1413 builtin/rebase.c:1415
 msgid "passed to 'git apply'"
 msgstr "passé jusqu'à git-apply"
 
-#: builtin/rebase.c:1067 builtin/rebase.c:1070
+#: builtin/rebase.c:1417 builtin/rebase.c:1420
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "picorer tous les commits, même sans modifiant"
 
-#: builtin/rebase.c:1072
+#: builtin/rebase.c:1422
 msgid "continue"
 msgstr "continuer"
 
-#: builtin/rebase.c:1075
+#: builtin/rebase.c:1425
 msgid "skip current patch and continue"
 msgstr "sauter le patch courant et continuer"
 
-#: builtin/rebase.c:1077
+#: builtin/rebase.c:1427
 msgid "abort and check out the original branch"
 msgstr "abandonner et extraire la branche d'origine"
 
-#: builtin/rebase.c:1080
+#: builtin/rebase.c:1430
 msgid "abort but keep HEAD where it is"
 msgstr "abandonne mais garde HEAD où il est"
 
-#: builtin/rebase.c:1081
+#: builtin/rebase.c:1431
 msgid "edit the todo list during an interactive rebase"
 msgstr "éditer la liste à faire lors d'un rebasage interactif"
 
-#: builtin/rebase.c:1084
+#: builtin/rebase.c:1434
 msgid "show the patch file being applied or merged"
 msgstr "afficher le patch en cours d'application ou de fusion"
 
-#: builtin/rebase.c:1087
+#: builtin/rebase.c:1437
 msgid "use merging strategies to rebase"
 msgstr "utiliser des stratégies de fusion pour rebaser"
 
-#: builtin/rebase.c:1091
+#: builtin/rebase.c:1441
 msgid "let the user edit the list of commits to rebase"
 msgstr "laisser l'utilisateur éditer la liste des commits à rebaser"
 
-#: builtin/rebase.c:1095
-msgid "try to recreate merges instead of ignoring them"
-msgstr "essayer de recréer les fusions au lieu de les ignorer"
+#: builtin/rebase.c:1445
+msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
+msgstr "(DÉCONSEILLÉ) essayer de recréer les fusions au lieu de les ignorer"
 
-#: builtin/rebase.c:1099
-msgid "allow rerere to update index with resolved conflict"
-msgstr "permettre à rerere à mettre à jour l'index avec des conflits résolus"
-
-#: builtin/rebase.c:1102
+#: builtin/rebase.c:1449
 msgid "preserve empty commits during rebase"
 msgstr "préserver les validations vides pendant le rebasage"
 
-#: builtin/rebase.c:1104
+#: builtin/rebase.c:1451
 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:1110
+#: builtin/rebase.c:1457
 msgid "automatically stash/stash pop before and after"
 msgstr "remiser et réappliquer automatiquement avant et après"
 
-#: builtin/rebase.c:1112
+#: builtin/rebase.c:1459
 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:1116
+#: builtin/rebase.c:1463
 msgid "allow rebasing commits with empty messages"
 msgstr "autoriser les commits de rebasage avec des messages vides"
 
-#: builtin/rebase.c:1119
+#: builtin/rebase.c:1466
 msgid "try to rebase merges instead of skipping them"
 msgstr "essayer de rebaser les fusions au lieu de les garder"
 
-#: builtin/rebase.c:1122
+#: builtin/rebase.c:1469
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "utiliser 'merge-base --fork-point' pour raffiner l'amont"
 
-#: builtin/rebase.c:1124
+#: builtin/rebase.c:1471
 msgid "use the given merge strategy"
 msgstr "utiliser la stratégie de fusion indiquée"
 
-#: builtin/rebase.c:1126 builtin/revert.c:112
+#: builtin/rebase.c:1473 builtin/revert.c:114
 msgid "option"
 msgstr "option"
 
-#: builtin/rebase.c:1127
+#: builtin/rebase.c:1474
 msgid "pass the argument through to the merge strategy"
 msgstr "passer les arguments jusqu'à la stratégie de fusion"
 
-#: builtin/rebase.c:1130
+#: builtin/rebase.c:1477
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "rebaser tous les objets inatteignables depuis les racines"
 
-#: builtin/rebase.c:1133 builtin/rebase--interactive.c:198
-msgid "automatically re-schedule any `exec` that fails"
-msgstr "re-planifier automatiquement tout `exec` qui échoue"
-
-#: builtin/rebase.c:1149
-#, c-format
-msgid "could not exec %s"
-msgstr "impossible d'exécuter %s"
+#: builtin/rebase.c:1498
+msgid ""
+"the rebase.useBuiltin support has been removed!\n"
+"See its entry in 'git help config' for details."
+msgstr ""
+"les support de rebase.useBuiltin a été supprimé !\n"
+"Voir son entrée dans 'git help config' pour plus de détails."
 
-#: builtin/rebase.c:1167 git-legacy-rebase.sh:220
+#: builtin/rebase.c:1504
 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:1208 git-legacy-rebase.sh:406
+#: builtin/rebase.c:1545
+msgid ""
+"git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
+msgstr ""
+"git rebase --preserve-merges est déconseillé. Utilisez --rebase-merges à la "
+"place."
+
+#: builtin/rebase.c:1549
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: builtin/rebase.c:1212 git-legacy-rebase.sh:417
+#: builtin/rebase.c:1553
 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:1226 git-legacy-rebase.sh:424
+#: builtin/rebase.c:1576
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: builtin/rebase.c:1238 git-legacy-rebase.sh:427
+#: builtin/rebase.c:1588
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -16330,21 +17334,21 @@ msgstr ""
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: builtin/rebase.c:1257
+#: builtin/rebase.c:1607
 msgid "could not discard worktree changes"
 msgstr "Impossible de supprimer les changements de l'arbre de travail"
 
-#: builtin/rebase.c:1276
+#: builtin/rebase.c:1626
 #, c-format
 msgid "could not move back to %s"
 msgstr "Impossible de revenir à %s"
 
-#: builtin/rebase.c:1287 builtin/rm.c:369
+#: builtin/rebase.c:1637 builtin/rm.c:369
 #, c-format
 msgid "could not remove '%s'"
 msgstr "impossible de supprimer '%s'"
 
-#: builtin/rebase.c:1313
+#: builtin/rebase.c:1663
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -16366,336 +17370,172 @@ msgstr ""
 "chose\n"
 "d'important ici.\n"
 
-#: builtin/rebase.c:1334
+#: builtin/rebase.c:1684
 msgid "switch `C' expects a numerical value"
 msgstr "l'option `C' attend un valeur numérique"
 
-#: builtin/rebase.c:1375
+#: builtin/rebase.c:1725
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "mode inconnu : %s"
 
-#: builtin/rebase.c:1397
+#: builtin/rebase.c:1747
 msgid "--strategy requires --merge or --interactive"
-msgstr "--stratégie requiert --merge ou --interactive"
+msgstr "--strategy requiert --merge ou --interactive"
 
-#: builtin/rebase.c:1446
+#: builtin/rebase.c:1796
 msgid "cannot combine am options with either interactive or merge options"
 msgstr ""
 "impossible de combiner les options am avec l'options interactive ou merge"
 
-#: builtin/rebase.c:1465
+#: builtin/rebase.c:1815
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "impossible de combiner '--preserve-merges' avec '--rebase-merges'"
 
-#: builtin/rebase.c:1469 git-legacy-rebase.sh:544
+#: builtin/rebase.c:1819
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "erreur : impossible de combiner '--preserve-merges' avec '--reschedule-"
 "failed-exec'"
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1825
 msgid "cannot combine '--rebase-merges' with '--strategy-option'"
 msgstr "impossible de combiner '--rebase-merges' avec '--strategy-option'"
 
-#: builtin/rebase.c:1478
+#: builtin/rebase.c:1828
 msgid "cannot combine '--rebase-merges' with '--strategy'"
 msgstr "impossible de combiner '--rebase-merges' avec '--strategy'"
 
-#: builtin/rebase.c:1502
+#: builtin/rebase.c:1852
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "amont invalide '%s'"
 
-#: builtin/rebase.c:1508
+#: builtin/rebase.c:1858
 msgid "Could not create new root commit"
 msgstr "Impossible de créer un nouveau commit racine"
 
-#: builtin/rebase.c:1526
-#, c-format
-msgid "'%s': need exactly one merge base"
-msgstr "'%s': exactement une base de fusion nécessaire"
-
-#: builtin/rebase.c:1533
-#, c-format
-msgid "Does not point to a valid commit '%s'"
-msgstr "ne pointe pas sur une validation valide : '%s'"
-
-#: builtin/rebase.c:1558
-#, c-format
-msgid "fatal: no such branch/commit '%s'"
-msgstr "fatal : pas de branche ou commit '%s'"
-
-#: builtin/rebase.c:1566 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1934
-#, c-format
-msgid "No such ref: %s"
-msgstr "Référence inexistante : %s"
-
-#: builtin/rebase.c:1578
-msgid "Could not resolve HEAD to a revision"
-msgstr "Impossible de résoudre le commit HEAD vers un révision"
-
-#: builtin/rebase.c:1619 git-legacy-rebase.sh:673
-msgid "Cannot autostash"
-msgstr "Autoremisage impossible"
-
-#: builtin/rebase.c:1622
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr "réponse de remisage inattendue : '%s'"
-
-#: builtin/rebase.c:1628
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr "Impossible de créer le répertoire pour '%s'"
-
-#: builtin/rebase.c:1631
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr "Autoremisage créé : %s\n"
-
-#: builtin/rebase.c:1634
-msgid "could not reset --hard"
-msgstr "impossible de réinitialiser --hard"
-
-#: builtin/rebase.c:1635 builtin/reset.c:114
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD est maintenant à %s"
-
-#: builtin/rebase.c:1651 git-legacy-rebase.sh:682
-msgid "Please commit or stash them."
-msgstr "Veuillez les valider ou les remiser."
-
-#: builtin/rebase.c:1678
-#, c-format
-msgid "could not parse '%s'"
-msgstr "impossible d'analyser '%s'"
-
-#: builtin/rebase.c:1691
-#, c-format
-msgid "could not switch to %s"
-msgstr "Impossible de basculer vers %s"
-
-#: builtin/rebase.c:1702 git-legacy-rebase.sh:705
-#, sh-format
-msgid "HEAD is up to date."
-msgstr "HEAD est à jour."
-
-#: builtin/rebase.c:1704
-#, c-format
-msgid "Current branch %s is up to date.\n"
-msgstr "La branche courante %s est à jour.\n"
-
-#: builtin/rebase.c:1712 git-legacy-rebase.sh:715
-#, sh-format
-msgid "HEAD is up to date, rebase forced."
-msgstr "HEAD est à jour, rebasage forcé."
-
-#: builtin/rebase.c:1714
-#, 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:1722 git-legacy-rebase.sh:215
-msgid "The pre-rebase hook refused to rebase."
-msgstr "Le crochet pre-rebase a refusé de rebaser."
-
-#: builtin/rebase.c:1729
-#, c-format
-msgid "Changes to %s:\n"
-msgstr "Changements vers %s :\n"
-
-#: builtin/rebase.c:1732
-#, c-format
-msgid "Changes from %s to %s:\n"
-msgstr "Changements de %s sur %s :\n"
-
-#: builtin/rebase.c:1757
-#, 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:1765
-msgid "Could not detach HEAD"
-msgstr "Impossible de détacher HEAD"
-
-#: builtin/rebase.c:1774
-#, c-format
-msgid "Fast-forwarded %s to %s.\n"
-msgstr "Avance rapide de %s sur %s.\n"
-
-#: builtin/rebase--interactive.c:25
-msgid "no HEAD?"
-msgstr "pas de HEAD ?"
-
-#: builtin/rebase--interactive.c:52
-#, c-format
-msgid "could not create temporary %s"
-msgstr "impossible de créer un fichier temporaire %s"
-
-#: builtin/rebase--interactive.c:58
-msgid "could not mark as interactive"
-msgstr "impossible de marquer comme interactif"
-
-#: builtin/rebase--interactive.c:102
+#: builtin/rebase.c:1876
 #, c-format
-msgid "could not open %s"
-msgstr "impossible d'ouvrir %s"
-
-#: builtin/rebase--interactive.c:115
-msgid "could not generate todo list"
-msgstr "impossible de générer la liste à-faire"
-
-#: builtin/rebase--interactive.c:131
-msgid "git rebase--interactive [<options>]"
-msgstr "git rebase--interactive [<options>]"
-
-#: builtin/rebase--interactive.c:150
-msgid "keep empty commits"
-msgstr "garder les validations vides"
-
-#: builtin/rebase--interactive.c:152 builtin/revert.c:125
-msgid "allow commits with empty messages"
-msgstr "autoriser les validations avec des messages vides"
-
-#: builtin/rebase--interactive.c:153
-msgid "rebase merge commits"
-msgstr "rebaser les commits de fusion"
-
-#: builtin/rebase--interactive.c:155
-msgid "keep original branch points of cousins"
-msgstr "conserver les points de branchement de cousins originaux"
-
-#: builtin/rebase--interactive.c:157
-msgid "move commits that begin with squash!/fixup!"
-msgstr "déplacer les commits qui commencent par squash!/fixup!"
-
-#: builtin/rebase--interactive.c:158
-msgid "sign commits"
-msgstr "signer les commits"
-
-#: builtin/rebase--interactive.c:160
-msgid "continue rebase"
-msgstr "continuer le rebasage"
-
-#: builtin/rebase--interactive.c:162
-msgid "skip commit"
-msgstr "sauter le commit"
-
-#: builtin/rebase--interactive.c:163
-msgid "edit the todo list"
-msgstr "éditer la liste à-faire"
-
-#: builtin/rebase--interactive.c:165
-msgid "show the current patch"
-msgstr "afficher le patch courant"
-
-#: builtin/rebase--interactive.c:168
-msgid "shorten commit ids in the todo list"
-msgstr "raccourcir les identifiants de commits dans la liste à-faire"
+msgid "'%s': need exactly one merge base"
+msgstr "'%s': exactement une base de fusion nécessaire"
 
-#: builtin/rebase--interactive.c:170
-msgid "expand commit ids in the todo list"
-msgstr "étendre les identifiants de commit dans la liste à-faire"
+#: builtin/rebase.c:1883
+#, c-format
+msgid "Does not point to a valid commit '%s'"
+msgstr "ne pointe pas sur une validation valide : '%s'"
 
-#: builtin/rebase--interactive.c:172
-msgid "check the todo list"
-msgstr "vérifier la liste à-faire"
+#: builtin/rebase.c:1908
+#, c-format
+msgid "fatal: no such branch/commit '%s'"
+msgstr "fatal : pas de branche ou commit '%s'"
 
-#: builtin/rebase--interactive.c:174
-msgid "rearrange fixup/squash lines"
-msgstr "réarranger les lignes fixup/squash"
+#: builtin/rebase.c:1916 builtin/submodule--helper.c:38
+#: builtin/submodule--helper.c:1933
+#, c-format
+msgid "No such ref: %s"
+msgstr "Référence inexistante : %s"
 
-#: builtin/rebase--interactive.c:176
-msgid "insert exec commands in todo list"
-msgstr "insérer les commandes exec dans la liste à-faire"
+#: builtin/rebase.c:1927
+msgid "Could not resolve HEAD to a revision"
+msgstr "Impossible de résoudre le commit HEAD vers un révision"
 
-#: builtin/rebase--interactive.c:177
-msgid "onto"
-msgstr "sur"
+#: builtin/rebase.c:1968
+msgid "Cannot autostash"
+msgstr "Autoremisage impossible"
 
-#: builtin/rebase--interactive.c:179
-msgid "restrict-revision"
-msgstr "restrict-revision"
+#: builtin/rebase.c:1971
+#, c-format
+msgid "Unexpected stash response: '%s'"
+msgstr "réponse de remisage inattendue : '%s'"
 
-#: builtin/rebase--interactive.c:179
-msgid "restrict revision"
-msgstr "restreindre la révision"
+#: builtin/rebase.c:1977
+#, c-format
+msgid "Could not create directory for '%s'"
+msgstr "Impossible de créer le répertoire pour '%s'"
 
-#: builtin/rebase--interactive.c:180
-msgid "squash-onto"
-msgstr "écraser-sur"
+#: builtin/rebase.c:1980
+#, c-format
+msgid "Created autostash: %s\n"
+msgstr "Autoremisage créé : %s\n"
 
-#: builtin/rebase--interactive.c:181
-msgid "squash onto"
-msgstr "écraser sur"
+#: builtin/rebase.c:1983
+msgid "could not reset --hard"
+msgstr "impossible de réinitialiser --hard"
 
-#: builtin/rebase--interactive.c:183
-msgid "the upstream commit"
-msgstr "le commit amont"
+#: builtin/rebase.c:1984 builtin/reset.c:114
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD est maintenant à %s"
 
-#: builtin/rebase--interactive.c:184
-msgid "head-name"
-msgstr "nom du head"
+#: builtin/rebase.c:2000
+msgid "Please commit or stash them."
+msgstr "Veuillez les valider ou les remiser."
 
-#: builtin/rebase--interactive.c:184
-msgid "head name"
-msgstr "nom du head"
+#: builtin/rebase.c:2027
+#, c-format
+msgid "could not parse '%s'"
+msgstr "impossible d'analyser '%s'"
 
-#: builtin/rebase--interactive.c:189
-msgid "rebase strategy"
-msgstr "stratégie de rebasage"
+#: builtin/rebase.c:2040
+#, c-format
+msgid "could not switch to %s"
+msgstr "Impossible de basculer vers %s"
 
-#: builtin/rebase--interactive.c:190
-msgid "strategy-opts"
-msgstr "options de stratégie"
+#: builtin/rebase.c:2051
+msgid "HEAD is up to date."
+msgstr "HEAD est à jour."
 
-#: builtin/rebase--interactive.c:191
-msgid "strategy options"
-msgstr "options de stratégie"
+#: builtin/rebase.c:2053
+#, c-format
+msgid "Current branch %s is up to date.\n"
+msgstr "La branche courante %s est à jour.\n"
 
-#: builtin/rebase--interactive.c:192
-msgid "switch-to"
-msgstr "switch-to"
+#: builtin/rebase.c:2061
+msgid "HEAD is up to date, rebase forced."
+msgstr "HEAD est à jour, rebasage forcé."
 
-#: builtin/rebase--interactive.c:193
-msgid "the branch or commit to checkout"
-msgstr "la branche ou le commit à extraire"
+#: builtin/rebase.c:2063
+#, 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--interactive.c:194
-msgid "onto-name"
-msgstr "sur-le-nom"
+#: builtin/rebase.c:2071
+msgid "The pre-rebase hook refused to rebase."
+msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: builtin/rebase--interactive.c:194
-msgid "onto name"
-msgstr "sur le nom"
+#: builtin/rebase.c:2078
+#, c-format
+msgid "Changes to %s:\n"
+msgstr "Changements vers %s :\n"
 
-#: builtin/rebase--interactive.c:195
-msgid "cmd"
-msgstr "cmd"
+#: builtin/rebase.c:2081
+#, c-format
+msgid "Changes from %s to %s:\n"
+msgstr "Changements de %s sur %s :\n"
 
-#: builtin/rebase--interactive.c:195
-msgid "the command to run"
-msgstr "la commande à lancer"
+#: builtin/rebase.c:2106
+#, 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--interactive.c:224
-msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
-msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
+#: builtin/rebase.c:2115
+msgid "Could not detach HEAD"
+msgstr "Impossible de détacher HEAD"
 
-#: builtin/rebase--interactive.c:230
-msgid "a base commit must be provided with --upstream or --onto"
-msgstr "un commit de base doit être fourni avec --upstream ou --onto"
+#: builtin/rebase.c:2124
+#, c-format
+msgid "Fast-forwarded %s to %s.\n"
+msgstr "Avance rapide de %s sur %s.\n"
 
 #: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
-#: builtin/receive-pack.c:830
+#: builtin/receive-pack.c:833
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -16725,7 +17565,7 @@ msgstr ""
 "Pour éliminer ce message et conserver le comportement par défaut,\n"
 "réglez « receive.denyCurrentBranch » à 'refuse'."
 
-#: builtin/receive-pack.c:850
+#: builtin/receive-pack.c:853
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -16745,11 +17585,11 @@ msgstr ""
 "\n"
 "Pour éliminer ce message, réglez-le à 'refuse'."
 
-#: builtin/receive-pack.c:1929
+#: builtin/receive-pack.c:1940
 msgid "quiet"
 msgstr "quiet"
 
-#: builtin/receive-pack.c:1943
+#: builtin/receive-pack.c:1954
 msgid "You must specify a directory."
 msgstr "Vous devez spécifier un répertoire."
 
@@ -17349,7 +18189,7 @@ msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "ne pas démarrer pack-objects pour ré-empaqueter les objects de prometteur"
 
-#: builtin/repack.c:239 builtin/repack.c:411
+#: builtin/repack.c:239 builtin/repack.c:414
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack : attente de lignes d'Id d'objets en hexa complet seulement depuis "
@@ -17450,11 +18290,11 @@ msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux"
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:420
+#: builtin/repack.c:423
 msgid "Nothing new to pack."
 msgstr "Rien de neuf à empaqueter."
 
-#: builtin/repack.c:481
+#: builtin/repack.c:484
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -17473,7 +18313,7 @@ msgstr ""
 "ALERTE : aussi échoué.\n"
 "ALERTE : Veuillez les renommer manuellement dans %s :\n"
 
-#: builtin/repack.c:529
+#: builtin/repack.c:532
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -17502,12 +18342,7 @@ msgstr "git replace -d <objet>..."
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<format>] [-l [<motif>]]"
 
-#: 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"
-
-#: builtin/replace.c:86
+#: builtin/replace.c:90
 #, c-format
 msgid ""
 "invalid replace format '%s'\n"
@@ -17516,27 +18351,27 @@ msgstr ""
 "format de remplacement invalide '%s'\n"
 "les formats valides sont 'short', 'medium' et 'long'"
 
-#: builtin/replace.c:121
+#: builtin/replace.c:125
 #, c-format
 msgid "replace ref '%s' not found"
 msgstr "réf de remplacement '%s' non trouvée"
 
-#: builtin/replace.c:137
+#: builtin/replace.c:141
 #, c-format
 msgid "Deleted replace ref '%s'"
 msgstr "Référence de remplacement '%s' supprimée"
 
-#: builtin/replace.c:149
+#: builtin/replace.c:153
 #, c-format
 msgid "'%s' is not a valid ref name"
 msgstr "'%s' n'est pas un nom valide de référence"
 
-#: builtin/replace.c:154
+#: builtin/replace.c:158
 #, c-format
 msgid "replace ref '%s' already exists"
 msgstr "la référence de remplacement '%s' existe déjà"
 
-#: builtin/replace.c:174
+#: builtin/replace.c:178
 #, c-format
 msgid ""
 "Objects must be of the same type.\n"
@@ -17547,76 +18382,81 @@ msgstr ""
 "'%s' pointe sur un objet remplacé de type '%s' tandis que\n"
 "'%s' pointe sur un objet remplaçant de type '%s'."
 
-#: builtin/replace.c:225
+#: builtin/replace.c:229
 #, c-format
 msgid "unable to open %s for writing"
 msgstr "impossible d'ouvrir %s en écriture"
 
-#: builtin/replace.c:238
+#: builtin/replace.c:242
 msgid "cat-file reported failure"
 msgstr "cat-file a retourné un échec"
 
-#: builtin/replace.c:254
+#: builtin/replace.c:258
 #, c-format
 msgid "unable to open %s for reading"
 msgstr "impossible d'ouvrir %s en écriture"
 
-#: builtin/replace.c:268
+#: builtin/replace.c:272
 msgid "unable to spawn mktree"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/replace.c:272
+#: builtin/replace.c:276
 msgid "unable to read from mktree"
 msgstr "impossible de lire depui mktree"
 
-#: builtin/replace.c:281
+#: builtin/replace.c:285
 msgid "mktree reported failure"
 msgstr "mktree a échoué"
 
-#: builtin/replace.c:285
+#: builtin/replace.c:289
 msgid "mktree did not return an object name"
 msgstr "mktree n'a pas retourné de nom d'objet"
 
-#: builtin/replace.c:294
+#: builtin/replace.c:298
 #, c-format
 msgid "unable to fstat %s"
 msgstr "fstat de %s impossible"
 
-#: builtin/replace.c:299
+#: builtin/replace.c:303
 msgid "unable to write object to database"
 msgstr "impossible d'écrire l'objet dans la base de données"
 
-#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415
-#: builtin/replace.c:445
+#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
+#: builtin/replace.c:452
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "nom d'objet invalide : '%s'"
 
-#: builtin/replace.c:322
+#: builtin/replace.c:326
 #, c-format
 msgid "unable to get object type for %s"
 msgstr "impossible d'obtenir le type de l'objet pour %s"
 
-#: builtin/replace.c:338
+#: builtin/replace.c:342
 msgid "editing object file failed"
 msgstr "échec de l'édition du fichier d'objet"
 
-#: builtin/replace.c:347
+#: builtin/replace.c:351
 #, c-format
 msgid "new object is the same as the old one: '%s'"
 msgstr "le nouvel objet est identique à l'ancien : '%s'"
 
-#: builtin/replace.c:407
+#: builtin/replace.c:383
+#, c-format
+msgid "could not parse %s as a commit"
+msgstr "impossible d'analyser %s comme commit"
+
+#: builtin/replace.c:414
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "mauvaise étiquette de fusion dans le commit '%s'"
 
-#: builtin/replace.c:409
+#: builtin/replace.c:416
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "étiquette de fusion malformée dans le commit '%s'"
 
-#: builtin/replace.c:421
+#: builtin/replace.c:428
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -17625,31 +18465,31 @@ msgstr ""
 "le commit original '%s' contient l'étiquette de fusion '%s' qui a disparu ; "
 "utilisez --edit au lieu de --graft"
 
-#: builtin/replace.c:460
+#: builtin/replace.c:467
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr "le commit original '%s' contient une signature GPG"
 
-#: builtin/replace.c:461
+#: builtin/replace.c:468
 msgid "the signature will be removed in the replacement commit!"
 msgstr "la signature sera éliminée dans la validation de remplacement !"
 
-#: builtin/replace.c:471
+#: builtin/replace.c:478
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "Impossible d'écrire le commit de remplacement pour '%s'"
 
-#: builtin/replace.c:479
+#: builtin/replace.c:486
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr "graft pour '%s' non nécessaire"
 
-#: builtin/replace.c:482
+#: builtin/replace.c:490
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr "le nouveau commit est identique à l'ancien : '%s'"
 
-#: builtin/replace.c:515
+#: builtin/replace.c:525
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
@@ -17658,71 +18498,71 @@ msgstr ""
 "impossible de convertir la(les) greffe(s) suivante(s) :\n"
 "%s"
 
-#: builtin/replace.c:536
+#: builtin/replace.c:546
 msgid "list replace refs"
 msgstr "afficher les références de remplacement"
 
-#: builtin/replace.c:537
+#: builtin/replace.c:547
 msgid "delete replace refs"
 msgstr "supprimer les références de remplacement"
 
-#: builtin/replace.c:538
+#: builtin/replace.c:548
 msgid "edit existing object"
 msgstr "éditer l'objet existant"
 
-#: builtin/replace.c:539
+#: builtin/replace.c:549
 msgid "change a commit's parents"
 msgstr "Modifier les parents d'un commit"
 
-#: builtin/replace.c:540
+#: builtin/replace.c:550
 msgid "convert existing graft file"
 msgstr "convertir le fichier de greffe existant"
 
-#: builtin/replace.c:541
+#: builtin/replace.c:551
 msgid "replace the ref if it exists"
 msgstr "remplacer la référence si elle existe"
 
-#: builtin/replace.c:543
+#: builtin/replace.c:553
 msgid "do not pretty-print contents for --edit"
 msgstr "afficher sans mise en forme pour --edit"
 
-#: builtin/replace.c:544
+#: builtin/replace.c:554
 msgid "use this format"
 msgstr "utiliser ce format"
 
-#: builtin/replace.c:557
+#: builtin/replace.c:567
 msgid "--format cannot be used when not listing"
 msgstr "--format ne peut pas être utilisé sans lister"
 
-#: builtin/replace.c:565
+#: builtin/replace.c:575
 msgid "-f only makes sense when writing a replacement"
 msgstr "-f n'a de sens qu'en écrivant un remplacement"
 
-#: builtin/replace.c:569
+#: builtin/replace.c:579
 msgid "--raw only makes sense with --edit"
 msgstr "--raw n'a de sens qu'avec l'option --edit"
 
-#: builtin/replace.c:575
+#: builtin/replace.c:585
 msgid "-d needs at least one argument"
 msgstr "-d requiert au moins un argument"
 
-#: builtin/replace.c:581
+#: builtin/replace.c:591
 msgid "bad number of arguments"
 msgstr "mauvais nombre d'arguments"
 
-#: builtin/replace.c:587
+#: builtin/replace.c:597
 msgid "-e needs exactly one argument"
 msgstr "-e requiert un seul argument"
 
-#: builtin/replace.c:593
+#: builtin/replace.c:603
 msgid "-g needs at least one argument"
 msgstr "-g requiert au moins un argument"
 
-#: builtin/replace.c:599
+#: builtin/replace.c:609
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file ne supporte aucun argument"
 
-#: builtin/replace.c:605
+#: builtin/replace.c:615
 msgid "only one pattern can be given with -l"
 msgstr "-l n'accepte qu'un motifs"
 
@@ -17796,7 +18636,8 @@ msgstr "Impossible de trouver l'arbre pour %s."
 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:293
+#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
+#: builtin/stash.c:613
 msgid "be quiet, only report errors"
 msgstr "être silencieux, afficher seulement les erreurs"
 
@@ -17836,31 +18677,31 @@ msgstr "Échec de résolution de '%s' comme un arbre valide."
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch est incompatible avec --{hard,mixed,soft}"
 
-#: builtin/reset.c:352
+#: builtin/reset.c:353
 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:354
+#: builtin/reset.c:355
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Impossible de faire un \"%s reset\" avec des chemins."
 
-#: builtin/reset.c:364
+#: builtin/reset.c:370
 #, 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:368
+#: builtin/reset.c:374
 msgid "-N can only be used with --mixed"
 msgstr "-N ne peut être utilisé qu'avec --mixed"
 
-#: builtin/reset.c:388
+#: builtin/reset.c:395
 msgid "Unstaged changes after reset:"
 msgstr "Modifications non indexées après reset :"
 
-#: builtin/reset.c:391
+#: builtin/reset.c:398
 #, c-format
 msgid ""
 "\n"
@@ -17875,33 +18716,33 @@ msgstr ""
 "de\n"
 "config reset.quiet à true pour avoir ce comportement en permanence.\n"
 
-#: builtin/reset.c:401
+#: builtin/reset.c:408
 #, 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:405
+#: builtin/reset.c:412
 msgid "Could not write new index file."
 msgstr "Impossible d'écrire le nouveau fichier d'index."
 
-#: builtin/rev-list.c:406
+#: builtin/rev-list.c:405
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "impossible de combiner --exclude-promisor-objects et --missing"
 
-#: builtin/rev-list.c:464
+#: builtin/rev-list.c:466
 msgid "object filtering requires --objects"
 msgstr "le filtrage d'objet exige --objects"
 
-#: builtin/rev-list.c:467
+#: builtin/rev-list.c:469
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "valeur invalide de 'sparse' '%s'"
 
-#: builtin/rev-list.c:508
+#: builtin/rev-list.c:510
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-list.c:511
+#: builtin/rev-list.c:513
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr "impossible de combiner --use-bitmap-index avec le filtrage d'objet"
 
@@ -17962,59 +18803,59 @@ msgstr "l'option '%s' attend un nombre supérieur à zéro"
 msgid "%s: %s cannot be used with %s"
 msgstr "%s : %s ne peut pas être utilisé avec %s"
 
-#: builtin/revert.c:101
+#: builtin/revert.c:102
 msgid "end revert or cherry-pick sequence"
 msgstr "mettre fin au retour ou picorage"
 
-#: builtin/revert.c:102
+#: builtin/revert.c:103
 msgid "resume revert or cherry-pick sequence"
 msgstr "reprendre le retour ou picorage"
 
-#: builtin/revert.c:103
+#: builtin/revert.c:104
 msgid "cancel revert or cherry-pick sequence"
 msgstr "annuler le retour ou picorage"
 
-#: builtin/revert.c:104
+#: builtin/revert.c:106
 msgid "don't automatically commit"
 msgstr "ne pas valider automatiquement"
 
-#: builtin/revert.c:105
+#: builtin/revert.c:107
 msgid "edit the commit message"
 msgstr "éditer le message de validation"
 
-#: builtin/revert.c:108
+#: builtin/revert.c:110
 msgid "parent-number"
 msgstr "numéro-de-parent"
 
-#: builtin/revert.c:109
+#: builtin/revert.c:111
 msgid "select mainline parent"
 msgstr "sélectionner le parent principal"
 
-#: builtin/revert.c:111
+#: builtin/revert.c:113
 msgid "merge strategy"
 msgstr "stratégie de fusion"
 
-#: builtin/revert.c:113
+#: builtin/revert.c:115
 msgid "option for merge strategy"
 msgstr "option pour la stratégie de fusion"
 
-#: builtin/revert.c:122
+#: builtin/revert.c:124
 msgid "append commit name"
 msgstr "ajouter le nom de validation"
 
-#: builtin/revert.c:124
+#: builtin/revert.c:126
 msgid "preserve initially empty commits"
 msgstr "préserver les validations vides initialement"
 
-#: builtin/revert.c:126
+#: builtin/revert.c:128
 msgid "keep redundant, empty commits"
 msgstr "garder les validations redondantes, vides"
 
-#: builtin/revert.c:220
+#: builtin/revert.c:227
 msgid "revert failed"
 msgstr "revert a échoué"
 
-#: builtin/revert.c:233
+#: builtin/revert.c:240
 msgid "cherry-pick failed"
 msgstr "le picorage a échoué"
 
@@ -18129,18 +18970,6 @@ msgstr "lire les références depuis l'entrée standard"
 msgid "print status from remote helper"
 msgstr "afficher les messages du greffon de protocole distant"
 
-#: builtin/serve.c:7
-msgid "git serve [<options>]"
-msgstr "git serve [<options>]"
-
-#: builtin/serve.c:17 builtin/upload-pack.c:23
-msgid "quit after a single request/response exchange"
-msgstr "quitter après un unique échange requête/réponse"
-
-#: builtin/serve.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr "sortir immédiatement après l'annonce des capacités"
-
 #: builtin/shortlog.c:14
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git shortlog [<options>] [<intervalle-révisions>] [[--] <chemin>...]"
@@ -18300,24 +19129,24 @@ msgstr[1] "%d entrées seulement ne peuvent être montrée en même temps."
 msgid "no such ref %s"
 msgstr "référence inexistante %s"
 
-#: builtin/show-branch.c:830
+#: builtin/show-branch.c:832
 #, 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:834
+#: builtin/show-branch.c:836
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' n'est pas une référence valide."
 
-#: builtin/show-branch.c:837
+#: builtin/show-branch.c:839
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "impossible de trouver le commit %s (%s)"
 
-#: builtin/show-ref.c:11
+#: builtin/show-ref.c:12
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
@@ -18325,47 +19154,275 @@ msgstr ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<motif>...]"
 
-#: builtin/show-ref.c:12
+#: builtin/show-ref.c:13
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<motif>]"
 
-#: builtin/show-ref.c:161
+#: builtin/show-ref.c:162
 msgid "only show tags (can be combined with heads)"
 msgstr "afficher seulement les étiquettes (peut être combiné avec heads)"
 
-#: builtin/show-ref.c:162
+#: builtin/show-ref.c:163
 msgid "only show heads (can be combined with tags)"
 msgstr "afficher seulement les têtes (peut être combiné avec tags)"
 
-#: builtin/show-ref.c:163
+#: builtin/show-ref.c:164
 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:166 builtin/show-ref.c:168
+#: builtin/show-ref.c:167 builtin/show-ref.c:169
 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:170
+#: builtin/show-ref.c:171
 msgid "dereference tags into object IDs"
 msgstr "déréférencer les étiquettes en IDs d'objet"
 
-#: builtin/show-ref.c:172
+#: builtin/show-ref.c:173
 msgid "only show SHA1 hash using <n> digits"
 msgstr "afficher seulement le hachage SHA1 en utilisant <n> chiffres"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:177
 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:178
+#: builtin/show-ref.c:179
 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 "
 "local"
 
+#: builtin/stash.c:22 builtin/stash.c:37
+msgid "git stash list [<options>]"
+msgstr "git stash list [<options>]"
+
+#: builtin/stash.c:23 builtin/stash.c:42
+msgid "git stash show [<options>] [<stash>]"
+msgstr "git stash show [<options>] [<remise>]"
+
+#: builtin/stash.c:24 builtin/stash.c:47
+msgid "git stash drop [-q|--quiet] [<stash>]"
+msgstr "git stash drop [-q|--quiet] [<remise>]"
+
+#: builtin/stash.c:25
+msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<remise>]"
+
+#: builtin/stash.c:26 builtin/stash.c:62
+msgid "git stash branch <branchname> [<stash>]"
+msgstr "git stash branch <nom-de-branche> [<remise>]"
+
+#: builtin/stash.c:27 builtin/stash.c:67
+msgid "git stash clear"
+msgstr "git stash clear"
+
+#: builtin/stash.c:28 builtin/stash.c:77
+msgid ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<pathspec>...]]"
+msgstr ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<spécificateur-de-chemin>...]]"
+
+#: builtin/stash.c:31 builtin/stash.c:84
+msgid ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [<message>]"
+msgstr ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [<message>]"
+
+#: builtin/stash.c:52
+msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q|--quiet] [<remise>]"
+
+#: builtin/stash.c:57
+msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q|--quiet] [<remise>]"
+
+#: builtin/stash.c:72
+msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
+msgstr "git stash store [-m|--message <message>] [-q|--quiet] <remise>"
+
+#: builtin/stash.c:127
+#, c-format
+msgid "'%s' is not a stash-like commit"
+msgstr "'%s' n'est pas une validation de type remisage"
+
+#: builtin/stash.c:147
+#, c-format
+msgid "Too many revisions specified:%s"
+msgstr "Trop de révisions spécifiées : %s"
+
+#: builtin/stash.c:161 git-legacy-stash.sh:548
+msgid "No stash entries found."
+msgstr "Aucune entrée de remisage trouvée."
+
+#: builtin/stash.c:175
+#, c-format
+msgid "%s is not a valid reference"
+msgstr "%s n'est pas une référence valide"
+
+#: builtin/stash.c:224 git-legacy-stash.sh:75
+msgid "git stash clear with parameters is unimplemented"
+msgstr "git stash clear avec des paramètres n'est pas implémenté"
+
+#: builtin/stash.c:403
+msgid "cannot apply a stash in the middle of a merge"
+msgstr "impossible d'appliquer un remisage en cours de fusion"
+
+#: builtin/stash.c:414
+#, c-format
+msgid "could not generate diff %s^!."
+msgstr "impossible de générer %s^!."
+
+#: builtin/stash.c:421
+msgid "conflicts in index.Try without --index."
+msgstr "conflits dans l'index. Essayez sans --index."
+
+#: builtin/stash.c:427
+msgid "could not save index tree"
+msgstr "impossible de sauvegarder l'arbre d'index"
+
+#: builtin/stash.c:434
+msgid "could not restore untracked files from stash"
+msgstr "impossible de restaurer les fichiers non-suivis depuis le remisage"
+
+#: builtin/stash.c:448
+#, c-format
+msgid "Merging %s with %s"
+msgstr "Fusion de %s avec %s"
+
+#: builtin/stash.c:458 git-legacy-stash.sh:680
+msgid "Index was not unstashed."
+msgstr "L'index n'a pas été sorti de remise."
+
+#: builtin/stash.c:516 builtin/stash.c:615
+msgid "attempt to recreate the index"
+msgstr "tentative de recréer l'index"
+
+#: builtin/stash.c:549
+#, c-format
+msgid "Dropped %s (%s)"
+msgstr "%s supprimé (%s)"
+
+#: builtin/stash.c:552
+#, c-format
+msgid "%s: Could not drop stash entry"
+msgstr "%s : Impossible de supprimer l'élément de stash"
+
+#: builtin/stash.c:577
+#, c-format
+msgid "'%s' is not a stash reference"
+msgstr "'%s' n'est pas une référence de remisage"
+
+#: builtin/stash.c:627 git-legacy-stash.sh:694
+msgid "The stash entry is kept in case you need it again."
+msgstr ""
+"L'entrée de remisage est conservée au cas où vous en auriez encore besoin."
+
+#: builtin/stash.c:650 git-legacy-stash.sh:712
+msgid "No branch name specified"
+msgstr "Aucune branche spécifiée"
+
+#: builtin/stash.c:789 builtin/stash.c:826
+#, c-format
+msgid "Cannot update %s with %s"
+msgstr "Impossible de mettre à jour %s avec %s"
+
+#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510
+msgid "stash message"
+msgstr "message pour le remisage"
+
+#: builtin/stash.c:817
+msgid "\"git stash store\" requires one <commit> argument"
+msgstr "\"git stash store\" exige un argument <commit>"
+
+#: builtin/stash.c:1039 git-legacy-stash.sh:217
+msgid "No changes selected"
+msgstr "Aucun changement sélectionné"
+
+#: builtin/stash.c:1135 git-legacy-stash.sh:150
+msgid "You do not have the initial commit yet"
+msgstr "Vous n'avez pas encore la validation initiale"
+
+#: builtin/stash.c:1162 git-legacy-stash.sh:165
+msgid "Cannot save the current index state"
+msgstr "Impossible de sauver l'état courant de l'index"
+
+#: builtin/stash.c:1171 git-legacy-stash.sh:180
+msgid "Cannot save the untracked files"
+msgstr "Impossible de sauver les fichiers non-suivis"
+
+#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200
+#: git-legacy-stash.sh:213
+msgid "Cannot save the current worktree state"
+msgstr "Impossible de sauver l'état courant de la copie de travail"
+
+#: builtin/stash.c:1219 git-legacy-stash.sh:233
+msgid "Cannot record working tree state"
+msgstr "Impossible d'enregistrer l'état de la copie de travail"
+
+#: builtin/stash.c:1268 git-legacy-stash.sh:337
+msgid "Can't use --patch and --include-untracked or --all at the same time"
+msgstr ""
+"Impossible d'utiliser --patch et --include-untracked ou --all en même temps"
+
+#: builtin/stash.c:1284
+msgid "Did you forget to 'git add'?"
+msgstr "Vous avez sûrement oublié 'git add' ?"
+
+#: builtin/stash.c:1299 git-legacy-stash.sh:345
+msgid "No local changes to save"
+msgstr "Pas de modifications locales à sauver"
+
+#: builtin/stash.c:1306 git-legacy-stash.sh:350
+msgid "Cannot initialize stash"
+msgstr "Impossible d'initialiser le remisage"
+
+#: builtin/stash.c:1321 git-legacy-stash.sh:354
+msgid "Cannot save the current status"
+msgstr "Impossible de sauver l'état courant"
+
+#: builtin/stash.c:1326
+#, c-format
+msgid "Saved working directory and index state %s"
+msgstr "Arbre de travail et état de l'index sauvegardés dans %s"
+
+#: builtin/stash.c:1430 git-legacy-stash.sh:384
+msgid "Cannot remove worktree changes"
+msgstr "Impossible de supprimer les changements de la copie de travail"
+
+#: builtin/stash.c:1465 builtin/stash.c:1501
+msgid "keep index"
+msgstr "conserver l'index"
+
+#: builtin/stash.c:1467 builtin/stash.c:1503
+msgid "stash in patch mode"
+msgstr "remiser une mode rustine"
+
+#: builtin/stash.c:1468 builtin/stash.c:1504
+msgid "quiet mode"
+msgstr "mode silencieux"
+
+#: builtin/stash.c:1470 builtin/stash.c:1506
+msgid "include untracked files in stash"
+msgstr "inclure les fichiers non suivis dans la remise"
+
+#: builtin/stash.c:1472 builtin/stash.c:1508
+msgid "include ignore files"
+msgstr "inclure les fichiers ignorés"
+
+#: builtin/stash.c:1568
+#, c-format
+msgid "could not exec %s"
+msgstr "impossible d'exécuter %s"
+
 #: builtin/stripspace.c:18
 msgid "git stripspace [-s | --strip-comments]"
 msgstr "git stripspace [-s | --strip-comments]"
@@ -18384,7 +19441,7 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
+#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
@@ -18447,8 +19504,8 @@ msgid "Recurse into nested submodules"
 msgstr "Parcourir récursivement les sous-modules"
 
 #: builtin/submodule--helper.c:569
-msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
-msgstr "git submodule--helper foreach [--quiet] [--recursive] <chemin>"
+msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
+msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <commande>"
 
 #: builtin/submodule--helper.c:596
 #, c-format
@@ -18488,8 +19545,8 @@ msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
 #: builtin/submodule--helper.c:712
-msgid "git submodule--helper init [<path>]"
-msgstr "git submodule--helper init [<chemin>]"
+msgid "git submodule--helper init [<options>] [<path>]"
+msgstr "git submodule--helper init [<options>] [<chemin>]"
 
 #: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910
 #, c-format
@@ -18653,7 +19710,7 @@ msgstr "URL depuis laquelle cloner le sous-module"
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
@@ -18715,44 +19772,44 @@ msgstr "Impossible de cloner '%s'. Réessai prévu"
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Impossible de cloner '%s' pour la seconde fois, abandon"
 
-#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:1853
 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:1858
+#: builtin/submodule--helper.c:1857
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:1864
+#: builtin/submodule--helper.c:1863
 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:1867
+#: builtin/submodule--helper.c:1866
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1868
 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:1870
+#: builtin/submodule--helper.c:1869
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:1877
+#: builtin/submodule--helper.c:1876
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:1890
+#: builtin/submodule--helper.c:1889
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:1937
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -18761,43 +19818,51 @@ msgstr ""
 "la branche du sous-module %s est configurée pour hériter de la branche du "
 "superprojet, mais le superprojet n'est sur aucune branche"
 
-#: builtin/submodule--helper.c:2061
+#: builtin/submodule--helper.c:2060
 #, 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:2094
+#: builtin/submodule--helper.c:2093
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:2100
-msgid "git submodule--helper embed-git-dir [<path>...]"
-msgstr "git submodule--helper embed-git-dir [<chemin>...]"
+#: builtin/submodule--helper.c:2099
+msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<options>] [<chemin>...]"
 
 #: builtin/submodule--helper.c:2156
 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:2161
-msgid "git submodule--helper config name [value]"
-msgstr "git submodule--helper config name [valeur]"
+#: builtin/submodule--helper.c:2159
+msgid "unset the config in the .gitmodules file"
+msgstr "désactiver la configuration dans le fichier .gitmodules"
+
+#: builtin/submodule--helper.c:2164
+msgid "git submodule--helper config <name> [<value>]"
+msgstr "git submodule--helper config name [<valeur>]"
 
-#: builtin/submodule--helper.c:2162
+#: builtin/submodule--helper.c:2165
+msgid "git submodule--helper config --unset <name>"
+msgstr "git submodule--helper config --unset <nom>"
+
+#: builtin/submodule--helper.c:2166
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2179 git-submodule.sh:169
+#: builtin/submodule--helper.c:2185 git-submodule.sh:171
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 "veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail"
 
-#: builtin/submodule--helper.c:2229 git.c:413 git.c:658
+#: builtin/submodule--helper.c:2235 git.c:433 git.c:685
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s ne gère pas --super-prefix"
 
-#: builtin/submodule--helper.c:2235
+#: builtin/submodule--helper.c:2241
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -18833,17 +19898,17 @@ msgstr "raison de la mise à jour"
 
 #: builtin/tag.c:25
 msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
-"[<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
+"\t\t<tagname> [<head>]"
 msgstr ""
-"git tag [-a | -s | -u <id-clé>] [-f] [-m <message> | -F <file>] <nom-"
-"étiquette> [<head>]"
+"git tag [-a | -s | -u <id-clé>] [-f] [-m <message> | -F <fichier>]\n"
+"\t\t<nom-étiquette> [<head>]"
 
-#: builtin/tag.c:26
+#: builtin/tag.c:27
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <nométiquette>..."
 
-#: builtin/tag.c:27
+#: builtin/tag.c:28
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
@@ -18853,21 +19918,21 @@ msgstr ""
 "points-at <objet>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<motif>...]"
 
-#: builtin/tag.c:29
+#: builtin/tag.c:30
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<format>] <nométiquette>..."
 
-#: builtin/tag.c:87
+#: builtin/tag.c:88
 #, c-format
 msgid "tag '%s' not found."
 msgstr "étiquette '%s' non trouvée."
 
-#: builtin/tag.c:103
+#: builtin/tag.c:104
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' supprimée (elle était sur %s)\n"
 
-#: builtin/tag.c:133
+#: builtin/tag.c:134
 #, c-format
 msgid ""
 "\n"
@@ -18880,7 +19945,7 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/tag.c:137
+#: builtin/tag.c:138
 #, c-format
 msgid ""
 "\n"
@@ -18895,147 +19960,162 @@ msgstr ""
 "Les lignes commençant par '%c' seront gardées ; vous pouvez les retirer vous-"
 "même si vous le souhaitez.\n"
 
-#: builtin/tag.c:191
+#: builtin/tag.c:192
 msgid "unable to sign the tag"
 msgstr "impossible de signer l'étiquette"
 
-#: builtin/tag.c:193
+#: builtin/tag.c:194
 msgid "unable to write tag file"
 msgstr "impossible d'écrire le fichier d'étiquettes"
 
-#: builtin/tag.c:218
+#: builtin/tag.c:210
+#, c-format
+msgid ""
+"You have created a nested tag. The object referred to by your new tag is\n"
+"already a tag. If you meant to tag the object that it points to, use:\n"
+"\n"
+"\tgit tag -f %s %s^{}"
+msgstr ""
+"Vous avez créé une étiquette nichée. L'objet pointé par votre nouvelle "
+"étiquette\n"
+"est déjà une étiquette. Si vous vouliez étiqueter l'objet pointé, "
+"utilisez :\n"
+"\n"
+"\tgit tag -f %s %s^{}"
+
+#: builtin/tag.c:226
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:267
+#: builtin/tag.c:278
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:274
+#: builtin/tag.c:285
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Le message pour l'étiquette a été laissé dans %s\n"
 
-#: builtin/tag.c:385
+#: builtin/tag.c:396
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:387
+#: builtin/tag.c:398
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:389
+#: builtin/tag.c:400
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:390
+#: builtin/tag.c:401
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:392
+#: builtin/tag.c:403
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:394
+#: builtin/tag.c:405
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:407
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:398
+#: builtin/tag.c:409
 msgid "force edit of tag message"
 msgstr "forcer l'édition du message d'étiquetage"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:410
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:403
+#: builtin/tag.c:413
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:404
+#: builtin/tag.c:414
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:405 builtin/update-ref.c:369
+#: builtin/tag.c:415 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:417
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:408
+#: builtin/tag.c:418
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:409 builtin/tag.c:411
+#: builtin/tag.c:419 builtin/tag.c:421
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:410 builtin/tag.c:412
+#: builtin/tag.c:420 builtin/tag.c:422
 msgid "print only tags that don't contain the commit"
 msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation"
 
-#: builtin/tag.c:413
+#: builtin/tag.c:423
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:414
+#: builtin/tag.c:424
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:428
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:472
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:485
+#: builtin/tag.c:494
 msgid "-n option is only allowed in list mode"
 msgstr "l'option -n est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:487
+#: builtin/tag.c:496
 msgid "--contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:489
+#: builtin/tag.c:498
 msgid "--no-contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode liste"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:500
 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:493
+#: builtin/tag.c:502
 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:504
+#: builtin/tag.c:513
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:523
+#: builtin/tag.c:532
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:529
+#: builtin/tag.c:538
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:534
+#: builtin/tag.c:543
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:565
+#: builtin/tag.c:574
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
@@ -19110,144 +20190,144 @@ msgstr " OK"
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:962
+#: builtin/update-index.c:971
 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:965
+#: builtin/update-index.c:974
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:977
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:979
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:981
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:983
 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:977
+#: builtin/update-index.c:986
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:990
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:994
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:995
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:1005
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1008
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1011
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:1004
+#: builtin/update-index.c:1014
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:1007
+#: builtin/update-index.c:1017
 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:1009
+#: builtin/update-index.c:1019
 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:1011
+#: builtin/update-index.c:1021
 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:1013
+#: builtin/update-index.c:1023
 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:1017
+#: builtin/update-index.c:1027
 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:1021
+#: builtin/update-index.c:1031
 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:1025
+#: builtin/update-index.c:1035
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:1029
+#: builtin/update-index.c:1039
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1042
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1044
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:1038
+#: builtin/update-index.c:1048
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1050
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1052
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1054
 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:1046
+#: builtin/update-index.c:1056
 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:1048
+#: builtin/update-index.c:1058
 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:1050
+#: builtin/update-index.c:1060
 msgid "enable or disable file system monitor"
 msgstr ""
 "activer ou désactiver la surveillance du système de fichier (fsmonitor)"
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1062
 msgid "mark files as fsmonitor valid"
 msgstr "marquer les fichiers comme valides pour fsmonitor"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1065
 msgid "clear fsmonitor valid bit"
 msgstr "effacer le bit de validité fsmonitor"
 
-#: builtin/update-index.c:1156
+#: builtin/update-index.c:1168
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -19255,7 +20335,7 @@ msgstr ""
 "core.splitIndex est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer l'index coupé"
 
-#: builtin/update-index.c:1165
+#: builtin/update-index.c:1177
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -19263,7 +20343,7 @@ msgstr ""
 "core.splitIndex est réglé à vrai ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver l'index coupé"
 
-#: builtin/update-index.c:1176
+#: builtin/update-index.c:1188
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -19271,11 +20351,11 @@ msgstr ""
 "core.untrackedCache est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1180
+#: builtin/update-index.c:1192
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1188
+#: builtin/update-index.c:1200
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -19283,29 +20363,29 @@ msgstr ""
 "core.untrackedCache est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1192
+#: builtin/update-index.c:1204
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1212
 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:1204
+#: builtin/update-index.c:1216
 msgid "fsmonitor enabled"
 msgstr "fsmonitor activé"
 
-#: builtin/update-index.c:1207
+#: builtin/update-index.c:1219
 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:1211
+#: builtin/update-index.c:1223
 msgid "fsmonitor disabled"
 msgstr "fsmonitor désactivé"
 
@@ -19351,6 +20431,10 @@ msgstr "mettre à jour les fichiers d'information à partir de zéro"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<options>] <répertoire>"
 
+#: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17
+msgid "quit after a single request/response exchange"
+msgstr "quitter après un unique échange requête/réponse"
+
 #: builtin/upload-pack.c:25
 msgid "exit immediately after initial ref advertisement"
 msgstr "Sortir immédiatement après l'annonce initiale des références"
@@ -19425,7 +20509,7 @@ msgstr "git worktree remove [<options>] <arbre-de-travail>"
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <chemin>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:888
+#: builtin/worktree.c:61 builtin/worktree.c:891
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -19504,129 +20588,129 @@ 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:310
+#: builtin/worktree.c:302
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "impossible de créer le répertoire de '%s'"
 
-#: builtin/worktree.c:429 builtin/worktree.c:435
+#: builtin/worktree.c:432 builtin/worktree.c:438
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "Préparation de l'arbre de travail (nouvelle branche '%s')"
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:434
 #, 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:440
+#: builtin/worktree.c:443
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Préparation de l'arbre de travail (extraction de '%s')"
 
-#: builtin/worktree.c:446
+#: builtin/worktree.c:449
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:490
 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:490
+#: builtin/worktree.c:493
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:492
+#: builtin/worktree.c:495
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:494
+#: builtin/worktree.c:497
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:498
 msgid "keep the new working tree locked"
 msgstr "conserver le verrou sur le nouvel arbre de travail"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:501
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "régler le mode de suivi (voir git-branch(1))"
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:504
 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:509
+#: builtin/worktree.c:512
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:570
+#: builtin/worktree.c:573
 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:670
+#: builtin/worktree.c:673
 msgid "reason for locking"
 msgstr "raison du verrouillage"
 
-#: builtin/worktree.c:682 builtin/worktree.c:715 builtin/worktree.c:789
-#: builtin/worktree.c:916
+#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792
+#: builtin/worktree.c:919
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:684 builtin/worktree.c:717
+#: builtin/worktree.c:687 builtin/worktree.c:720
 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:689
+#: builtin/worktree.c:692
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:694
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:719
+#: builtin/worktree.c:722
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
 
-#: builtin/worktree.c:760
+#: builtin/worktree.c:763
 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:768
+#: builtin/worktree.c:771
 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:791 builtin/worktree.c:918
+#: builtin/worktree.c:794 builtin/worktree.c:921
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' est un arbre de travail principal"
 
-#: builtin/worktree.c:796
+#: builtin/worktree.c:799
 #, 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:802
+#: builtin/worktree.c:805
 #, c-format
 msgid "target '%s' already exists"
 msgstr "la cible '%s' existe déjà"
 
-#: builtin/worktree.c:810
+#: builtin/worktree.c:813
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -19636,7 +20720,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:812
+#: builtin/worktree.c:815
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -19644,37 +20728,37 @@ msgstr ""
 "impossible de déplacer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:815
+#: builtin/worktree.c:818
 #, 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:820
+#: builtin/worktree.c:823
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "échec au déplacement de '%s' vers '%s'"
 
-#: builtin/worktree.c:868
+#: builtin/worktree.c:871
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "échec du lancement de 'git status' sur '%s'"
 
-#: builtin/worktree.c:872
+#: builtin/worktree.c:875
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr "'%s' est sale, utilisez --force pour le supprimer"
 
-#: builtin/worktree.c:877
+#: builtin/worktree.c:880
 #, 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:900
+#: builtin/worktree.c:903
 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:923
+#: builtin/worktree.c:926
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -19684,7 +20768,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:925
+#: builtin/worktree.c:928
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -19692,7 +20776,7 @@ msgstr ""
 "impossible de supprimer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:931
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
@@ -19740,6 +20824,14 @@ msgstr "le commit %s n'est pas marqué joignable"
 msgid "too many commits marked reachable"
 msgstr "trop de commits marqués joignables"
 
+#: t/helper/test-serve-v2.c:7
+msgid "test-tool serve-v2 [<options>]"
+msgstr "test-tool serve-v2 [<options>]"
+
+#: t/helper/test-serve-v2.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr "sortir immédiatement après l'annonce des capacités"
+
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -19767,47 +20859,47 @@ msgstr ""
 "quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n"
 "pour en lire plus à propos d'une commande spécifique ou d'un concept."
 
-#: git.c:174
+#: git.c:185
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "aucun répertoire fourni pour --git-dir\n"
 
-#: git.c:188
+#: git.c:199
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "aucun espace de nom fournit pour --namespace\n"
 
-#: git.c:202
+#: git.c:213
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "aucun répertoire fourni pour --work-tree\n"
 
-#: git.c:216
+#: git.c:227
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "aucun préfixe fourni pour --super-prefix\n"
 
-#: git.c:238
+#: git.c:249
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "-c requiert une chaîne de configuration\n"
 
-#: git.c:276
+#: git.c:287
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "aucun répertoire fourni pour -C\n"
 
-#: git.c:301
+#: git.c:313
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "option inconnue : %s\n"
 
-#: git.c:342
+#: git.c:359
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "lors de l'expansion de l'alias '%s' : '%s'"
 
-#: git.c:351
+#: git.c:368
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -19816,39 +20908,39 @@ msgstr ""
 "l'alias '%s' modifie les variables d'environnement.\n"
 "Vous pouvez utiliser '!git' dans l'alias pour le faire"
 
-#: git.c:359
+#: git.c:376
 #, c-format
 msgid "empty alias for %s"
 msgstr "alias vide pour %s"
 
-#: git.c:362
+#: git.c:379
 #, c-format
 msgid "recursive alias: %s"
 msgstr "alias recursif : %s"
 
-#: git.c:437
+#: git.c:459
 msgid "write failure on standard output"
 msgstr "échec d'écriture sur la sortie standard"
 
-#: git.c:439
+#: git.c:461
 msgid "unknown write failure on standard output"
 msgstr "échec inconnu d'écriture sur la sortie standard"
 
-#: git.c:441
+#: git.c:463
 msgid "close failed on standard output"
 msgstr "échec de fermeture de la sortie standard"
 
-#: git.c:720
+#: git.c:797
 #, 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:770
+#: git.c:847
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "impossible d'utiliser %s comme une fonction intégrée"
 
-#: git.c:783
+#: git.c:860
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -19857,13 +20949,13 @@ msgstr ""
 "usage : %s\n"
 "\n"
 
-#: git.c:803
+#: git.c:880
 #, 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:815
+#: git.c:892
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "échec au lancement de la commande '%s' : %s\n"
@@ -19907,7 +20999,7 @@ msgstr ""
 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:1959
+#: http.c:1965
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -19918,31 +21010,162 @@ msgstr ""
 "      demandé : %s\n"
 "  redirection : %s"
 
-#: remote-curl.c:455
+#: remote-curl.c:157
+#, c-format
+msgid "invalid quoting in push-option value: '%s'"
+msgstr "citation invalide dans la valeur push-option : '%s'"
+
+#: remote-curl.c:254
+#, c-format
+msgid "%sinfo/refs not valid: is this a git repository?"
+msgstr "%sinfo/refs n'est pas valide : est-ce bien un dépôt git ?"
+
+#: remote-curl.c:355
+msgid "invalid server response; expected service, got flush packet"
+msgstr "réponse du serveur invalide ; service attendu, paquet de vidage reçu"
+
+#: remote-curl.c:386
+#, c-format
+msgid "invalid server response; got '%s'"
+msgstr "réponse du serveur invalide ; '%s' reçu"
+
+#: remote-curl.c:446
+#, c-format
+msgid "repository '%s' not found"
+msgstr "dépôt '%s' non trouvé"
+
+#: remote-curl.c:450
+#, c-format
+msgid "Authentication failed for '%s'"
+msgstr "Échec d'authentification pour '%s'"
+
+#: remote-curl.c:454
+#, c-format
+msgid "unable to access '%s': %s"
+msgstr "impossible d'accéder à '%s' : %s"
+
+#: remote-curl.c:460
 #, c-format
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
 
-#: parse-options.h:154
+#: remote-curl.c:584
+msgid "shouldn't have EOF when not gentle on EOF"
+msgstr "ne devrait pas recevoir OEF quand on n'est pas gentil sur EOF"
+
+#: remote-curl.c:664
+msgid "unable to rewind rpc post data - try increasing http.postBuffer"
+msgstr ""
+"impossible de rembobiner le données post rpc - essayer d'augmenter http."
+"postBuffer"
+
+#: remote-curl.c:724
+#, c-format
+msgid "RPC failed; %s"
+msgstr "échec RPC ; %s"
+
+#: remote-curl.c:764
+msgid "cannot handle pushes this big"
+msgstr "impossible de gérer des poussées aussi grosses"
+
+#: remote-curl.c:879
+#, c-format
+msgid "cannot deflate request; zlib deflate error %d"
+msgstr "impossible de compresser la requête ; erreur de compression zlib %d"
+
+#: remote-curl.c:883
+#, c-format
+msgid "cannot deflate request; zlib end error %d"
+msgstr "impossible de compresser la requête ; erreur de fin zlib %d"
+
+#: remote-curl.c:1014
+msgid "dumb http transport does not support shallow capabilities"
+msgstr "le protocole http idiot ne supporte la capacité superficielle"
+
+#: remote-curl.c:1028
+msgid "fetch failed."
+msgstr "échec du récupération."
+
+#: remote-curl.c:1076
+msgid "cannot fetch by sha1 over smart http"
+msgstr "impossible de récupérer par sha1 sur http intelligent"
+
+#: remote-curl.c:1120 remote-curl.c:1126
+#, c-format
+msgid "protocol error: expected sha/ref, got '%s'"
+msgstr "erreur de protocole : sha/ref attendu, '%s' trouvé"
+
+#: remote-curl.c:1138 remote-curl.c:1252
+#, c-format
+msgid "http transport does not support %s"
+msgstr "le transport http ne supporte pas %s"
+
+#: remote-curl.c:1174
+msgid "git-http-push failed"
+msgstr "échec de git-http-push"
+
+#: remote-curl.c:1360
+msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
+msgstr "remote-curl: usage: git remote-curl <distant> [<url>]"
+
+#: remote-curl.c:1392
+msgid "remote-curl: error reading command stream from git"
+msgstr "remote-curl : erreur de lecture du flux de commande depuis git"
+
+#: remote-curl.c:1399
+msgid "remote-curl: fetch attempted without a local repo"
+msgstr "remote-curl : récupération tentée sans dépôt local"
+
+#: remote-curl.c:1439
+#, c-format
+msgid "remote-curl: unknown command '%s' from git"
+msgstr "remote-curl : commande inconnue '%s' depuis git"
+
+#: list-objects-filter-options.h:61
+msgid "args"
+msgstr "args"
+
+#: list-objects-filter-options.h:62
+msgid "object filtering"
+msgstr "filtrage d'objet"
+
+#: parse-options.h:170
 msgid "expiry-date"
 msgstr "date-d'expiration"
 
-#: parse-options.h:169
+#: parse-options.h:184
 msgid "no-op (backward compatibility)"
 msgstr "sans action (rétrocompatibilité)"
 
-#: parse-options.h:259
+#: parse-options.h:304
 msgid "be more verbose"
 msgstr "être plus verbeux"
 
-#: parse-options.h:261
+#: parse-options.h:306
 msgid "be more quiet"
 msgstr "être plus silencieux"
 
-#: parse-options.h:267
+#: parse-options.h:312
 msgid "use <n> digits to display SHA-1s"
 msgstr "utiliser <n> chiffres pour afficher les SHA-1s"
 
+#: parse-options.h:331
+msgid "how to strip spaces and #comments from message"
+msgstr "comment éliminer les espaces et les commentaires # du message"
+
+#: ref-filter.h:101
+msgid "key"
+msgstr "clé"
+
+#: ref-filter.h:101
+msgid "field name to sort on"
+msgstr "nom du champ servant à trier"
+
+#: 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"
+
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "Ajouter le contenu de fichiers dans l'index"
@@ -20208,9 +21431,9 @@ msgid "Instantly browse your working repository in gitweb"
 msgstr "Naviguer instantanément votre dépôt de travail dans gitweb"
 
 #: command-list.h:113
-msgid "add or parse structured information in commit messages"
+msgid "Add or parse structured information in commit messages"
 msgstr ""
-"ajouter ou analyser l'information structurée dans les messages de validation"
+"Ajouter ou analyser l'information structurée dans les messages de validation"
 
 #: command-list.h:114
 msgid "The Git repository browser"
@@ -20605,19 +21828,6 @@ msgstr "Une introduction pratique à Git"
 msgid "An overview of recommended workflows with Git"
 msgstr "Un aperçu des flux de travail recommandés avec Git"
 
-#: list-objects-filter-options.h:63
-msgid "args"
-msgstr "args"
-
-#: list-objects-filter-options.h:64
-msgid "object filtering"
-msgstr "filtrage d'objet"
-
-#: 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"
-
 #: git-bisect.sh:54
 msgid "You need to start by \"git bisect start\""
 msgstr "Vous devez démarrer avec \"git bisect start\""
@@ -20741,288 +21951,116 @@ msgstr "Essai de fusion simple avec $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "La fusion simple a échoué, essai avec la fusion automatique."
 
-#: git-legacy-rebase.sh:445
-#, sh-format
-msgid "Could not move back to $head_name"
-msgstr "Impossible de revenir à $head_name"
-
-#: git-legacy-rebase.sh:471
-#, sh-format
-msgid ""
-"It seems that there is already a $state_dir_base directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t$cmd_live_rebase\n"
-"If that is not the case, please\n"
-"\t$cmd_clear_stale_rebase\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there."
-msgstr ""
-"Il semble qu'il y ait déjà un répertoire $state_dir_base, 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$cmd_live_rebase\n"
-"Sinon, essayez\n"
-"\t$cmd_clear_stale_rebase\n"
-"puis relancez-moi à nouveau.  Je m'arrête au cas où vous auriez quelque "
-"chose\n"
-"d'important ici."
-
-#: git-legacy-rebase.sh:523
-msgid ""
-"fatal: cannot combine am options with either interactive or merge options"
-msgstr "fatal : impossible de combiner les options am avec les options interactive ou merge"
-
-#: git-legacy-rebase.sh:530
-msgid "fatal: cannot combine '--signoff' with '--preserve-merges'"
-msgstr "fatal : '--signoff' et '--preserve-merges' sont incompatibles"
-
-#: git-legacy-rebase.sh:541
-msgid "fatal: cannot combine '--preserve-merges' with '--rebase-merges'"
-msgstr ""
-"fatal : impossible de combiner '--preserve-merges' avec '--rebase-merges'"
-
-#: git-legacy-rebase.sh:550
-msgid "fatal: cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr ""
-"fatal : impossible de combiner '--rebase-merges' avec '--strategy-option'"
-
-#: git-legacy-rebase.sh:552
-msgid "fatal: cannot combine '--rebase-merges' with '--strategy'"
-msgstr "fatal : impossible de combiner '--rebase-merges' avec '--strategy'"
-
-#: git-legacy-rebase.sh:578
-#, sh-format
-msgid "invalid upstream '$upstream_name'"
-msgstr "invalide '$upstream_name' en amont"
-
-#: git-legacy-rebase.sh:602
-#, 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-legacy-rebase.sh:605 git-legacy-rebase.sh:609
-#, sh-format
-msgid "$onto_name: there is no merge base"
-msgstr "$onto_name : il n'y a pas de base de fusion"
-
-#: git-legacy-rebase.sh:614
-#, sh-format
-msgid "Does not point to a valid commit: $onto_name"
-msgstr "Ne pointe pas sur une validation valide : $onto_name"
-
-#: git-legacy-rebase.sh:640
-#, sh-format
-msgid "fatal: no such branch/commit '$branch_name'"
-msgstr "fatal : pas de branche ou commit '$branch_name'"
-
-#: git-legacy-rebase.sh:678
-#, sh-format
-msgid "Created autostash: $stash_abbrev"
-msgstr "Autoremisage créé : $stash_abbrev"
-
-#: git-legacy-rebase.sh:707
-#, sh-format
-msgid "Current branch $branch_name is up to date."
-msgstr "La branche courante $branch_name est à jour."
-
-#: git-legacy-rebase.sh:717
-#, sh-format
-msgid "Current branch $branch_name is up to date, rebase forced."
-msgstr "La branche courante $branch_name est à jour, rebasage forcé."
-
-#: git-legacy-rebase.sh:731
-#, sh-format
-msgid "Changes to $onto:"
-msgstr "Changements sur $onto :"
-
-#: git-legacy-rebase.sh:733
-#, sh-format
-msgid "Changes from $mb to $onto:"
-msgstr "Changements de $mb sur $onto :"
-
-#: git-legacy-rebase.sh:743
-#, sh-format
-msgid "Fast-forwarded $branch_name to $onto_name."
-msgstr "$branch_name mise à jour en avance rapide sur $onto_name."
-
-#: git-legacy-rebase.sh:757
-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-stash.sh:75
-msgid "git stash clear with parameters is unimplemented"
-msgstr "git stash clear avec des paramètres n'est pas implémenté"
-
-#: git-stash.sh:125
-msgid "You do not have the initial commit yet"
-msgstr "Vous n'avez pas encore la validation initiale"
-
-#: git-stash.sh:140
-msgid "Cannot save the current index state"
-msgstr "Impossible de sauver l'état courant de l'index"
-
-#: git-stash.sh:155
-msgid "Cannot save the untracked files"
-msgstr "Impossible de sauver les fichiers non-suivis"
-
-#: git-stash.sh:175 git-stash.sh:188
-msgid "Cannot save the current worktree state"
-msgstr "Impossible de sauver l'état courant de la copie de travail"
-
-#: git-stash.sh:192
-msgid "No changes selected"
-msgstr "Aucun changement sélectionné"
-
-#: git-stash.sh:195
+#: git-legacy-stash.sh:220
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Impossible de supprimer l'index temporaire (ne peut pas se produire)"
 
-#: git-stash.sh:208
-msgid "Cannot record working tree state"
-msgstr "Impossible d'enregistrer l'état de la copie de travail"
-
-#: git-stash.sh:246
+#: git-legacy-stash.sh:271
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Impossible de mettre à jour $ref_stash avec $w_commit"
 
-#: git-stash.sh:298
+#: git-legacy-stash.sh:323
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "erreur : option inconnue pour 'stash push' : $option"
 
-#: git-stash.sh:312
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr ""
-"Impossible d'utiliser --patch et --include-untracked ou --all en même temps"
-
-#: git-stash.sh:320
-msgid "No local changes to save"
-msgstr "Pas de modifications locales à sauver"
-
-#: git-stash.sh:325
-msgid "Cannot initialize stash"
-msgstr "Impossible d'initialiser le remisage"
-
-#: git-stash.sh:329
-msgid "Cannot save the current status"
-msgstr "Impossible de sauver l'état courant"
-
-#: git-stash.sh:330
+#: git-legacy-stash.sh:355
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "Copie de travail et état de l'index sauvegardés dans $stash_msg"
 
-#: git-stash.sh:359
-msgid "Cannot remove worktree changes"
-msgstr "Impossible de supprimer les changements de la copie de travail"
-
-#: git-stash.sh:507
+#: git-legacy-stash.sh:535
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "option inconnue : $opt"
 
-#: git-stash.sh:520
-msgid "No stash entries found."
-msgstr "Aucune entrée de remisage trouvée."
-
-#: git-stash.sh:527
+#: git-legacy-stash.sh:555
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Trop de révisions spécifiées : $REV"
 
-#: git-stash.sh:542
+#: git-legacy-stash.sh:570
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference n'est pas une référence valide"
 
-#: git-stash.sh:570
+#: git-legacy-stash.sh:598
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' n'est pas une validation de type remisage"
 
-#: git-stash.sh:581
+#: git-legacy-stash.sh:609
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' n'est pas une référence de remisage"
 
-#: git-stash.sh:589
+#: git-legacy-stash.sh:617
 msgid "unable to refresh index"
 msgstr "impossible de rafraîchir l'index"
 
-#: git-stash.sh:593
+#: git-legacy-stash.sh:621
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Impossible d'appliquer un remisage en cours de fusion"
 
-#: git-stash.sh:601
+#: git-legacy-stash.sh:629
 msgid "Conflicts in index. Try without --index."
 msgstr "Conflits dans l'index. Essayez sans --index."
 
-#: git-stash.sh:603
+#: git-legacy-stash.sh:631
 msgid "Could not save index tree"
 msgstr "Impossible de sauvegarder l'arbre d'index"
 
-#: git-stash.sh:612
+#: git-legacy-stash.sh:640
 msgid "Could not restore untracked files from stash entry"
 msgstr ""
 "Impossible de restaurer les fichiers non-suivis depuis l'entrée de remisage"
 
-#: git-stash.sh:637
+#: git-legacy-stash.sh:665
 msgid "Cannot unstage modified files"
 msgstr "Impossible de désindexer les fichiers modifiés"
 
-#: git-stash.sh:652
-msgid "Index was not unstashed."
-msgstr "L'index n'a pas été sorti de remise."
-
-#: git-stash.sh:666
-msgid "The stash entry is kept in case you need it again."
-msgstr ""
-"L'entrée de remisage est conservée au cas où vous en auriez encore besoin."
-
-#: git-stash.sh:675
+#: git-legacy-stash.sh:703
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "${REV} supprimé ($s)"
 
-#: git-stash.sh:676
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
-msgstr "${REV}: Impossible de supprimer l'élément de stash"
-
-#: git-stash.sh:684
-msgid "No branch name specified"
-msgstr "Aucune branche spécifiée"
+msgstr "${REV}: Impossible de supprimer l'entrée de stash"
 
-#: git-stash.sh:763
+#: git-legacy-stash.sh:791
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
-#: git-submodule.sh:198
+#: git-submodule.sh:200
 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:208
+#: git-submodule.sh:210
 #, 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:227
+#: git-submodule.sh:229
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: git-submodule.sh:230
+#: git-submodule.sh:232
 #, 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:236
+#: git-submodule.sh:239
+#, sh-format
+msgid "'$sm_path' does not have a commit checked out"
+msgstr "'$sm_path' n'a pas de commit extrait"
+
+#: git-submodule.sh:245
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -21033,24 +22071,24 @@ msgstr ""
 "$sm_path\n"
 "Utilisez -f si vous voulez vraiment l'ajouter."
 
-#: git-submodule.sh:259
+#: git-submodule.sh:268
 #, 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:261
+#: git-submodule.sh:270
 #, 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:269
+#: git-submodule.sh:278
 #, 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:271
+#: git-submodule.sh:280
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -21067,39 +22105,39 @@ msgstr ""
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:277
+#: git-submodule.sh:286
 #, 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:289
+#: git-submodule.sh:298
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:294
+#: git-submodule.sh:303
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:312
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:563
+#: git-submodule.sh:573
 #, 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:573
+#: git-submodule.sh:583
 #, 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:578
+#: git-submodule.sh:588
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -21108,12 +22146,16 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:596
+#: git-submodule.sh:606
 #, sh-format
-msgid "Unable to fetch in submodule path '$displaypath'"
-msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
+msgid ""
+"Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
+"$sha1:"
+msgstr ""
+"Impossible de rapatrier dans le chemin de sous-module '$displaypath' ; essai "
+"de rapatriement direct de $sha1 :"
 
-#: git-submodule.sh:602
+#: git-submodule.sh:612
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -21122,76 +22164,76 @@ msgstr ""
 "Chemin de sous-module '$displaypath' récupéré, mais il ne contenait pas "
 "$sha1. La récupération directe de ce commit a échoué."
 
-#: git-submodule.sh:609
+#: git-submodule.sh:619
 #, 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:610
+#: git-submodule.sh:620
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:614
+#: git-submodule.sh:624
 #, 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:615
+#: git-submodule.sh:625
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:620
+#: git-submodule.sh:630
 #, 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:621
+#: git-submodule.sh:631
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:626
+#: git-submodule.sh:636
 #, 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:627
+#: git-submodule.sh:637
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:658
+#: git-submodule.sh:668
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:754
+#: git-submodule.sh:830
 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:806
+#: git-submodule.sh:882
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:826
+#: git-submodule.sh:902
 #, 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:829
+#: git-submodule.sh:905
 #, 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:832
+#: git-submodule.sh:908
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -21513,65 +22555,65 @@ msgstr "Impossible d'initialiser les commits réécrits"
 msgid "usage: $dashless $USAGE"
 msgstr "usage : $dashless $USAGE"
 
-#: git-sh-setup.sh:190
+#: git-sh-setup.sh:191
 #, sh-format
 msgid "Cannot chdir to $cdup, the toplevel of the working tree"
 msgstr ""
 "Impossible de se placer dans le répertoire $cdup, la racine de la copie de "
 "travail"
 
-#: git-sh-setup.sh:199 git-sh-setup.sh:206
+#: git-sh-setup.sh:200 git-sh-setup.sh:207
 #, sh-format
 msgid "fatal: $program_name cannot be used without a working tree."
 msgstr "fatal : $program_name ne peut pas être utilisé sans copie de travail."
 
-#: git-sh-setup.sh:220
+#: git-sh-setup.sh:221
 msgid "Cannot rebase: You have unstaged changes."
 msgstr "Impossible de rebaser : vous avez des modifications non indexées."
 
-#: git-sh-setup.sh:223
+#: git-sh-setup.sh:224
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr ""
 "Impossible de réécrire les branches : vous avez des modifications non "
 "indexées."
 
-#: git-sh-setup.sh:226
+#: git-sh-setup.sh:227
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr ""
 "impossible de tirer avec rebasage. Vous avez des modifications non indexées."
 
-#: git-sh-setup.sh:229
+#: git-sh-setup.sh:230
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr "$action est impossible : vous avez des modifications non indexées."
 
-#: git-sh-setup.sh:242
+#: git-sh-setup.sh:243
 msgid "Cannot rebase: Your index contains uncommitted changes."
 msgstr ""
 "Impossible de rebaser : votre index contient des modifications non validées."
 
-#: git-sh-setup.sh:245
+#: git-sh-setup.sh:246
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr ""
 "impossible de tirer avec rebasage : votre index contient des modifications "
 "non validées."
 
-#: git-sh-setup.sh:248
+#: git-sh-setup.sh:249
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr ""
 "$action est impossible : votre index contient des modifications non validées."
 
-#: git-sh-setup.sh:252
+#: git-sh-setup.sh:253
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "De plus, votre index contient des modifications non validées."
 
-#: git-sh-setup.sh:372
+#: git-sh-setup.sh:373
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr ""
 "Vous devez lancer cette commande depuis la racine de votre copie de travail."
 
-#: git-sh-setup.sh:377
+#: git-sh-setup.sh:378
 msgid "Unable to determine absolute path of git directory"
 msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 
@@ -22136,7 +23178,7 @@ msgstr "'%s.final' contient le courriel composé.\n"
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases est incompatible avec d'autres options\n"
 
-#: git-send-email.perl:395 git-send-email.perl:650
+#: git-send-email.perl:395 git-send-email.perl:656
 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"
 
@@ -22148,39 +23190,39 @@ msgstr ""
 "`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:468
+#: git-send-email.perl:470
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Champ de --suppress-cc inconnu : '%s'\n"
 
-#: git-send-email.perl:497
+#: git-send-email.perl:501
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Paramètre de --confirm inconnu : '%s'\n"
 
-#: git-send-email.perl:525
+#: git-send-email.perl:529
 #, 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:527
+#: git-send-email.perl:531
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "attention : `:include:` n'est pas supporté : %s\n"
 
-#: git-send-email.perl:529
+#: git-send-email.perl:533
 #, 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:534
+#: git-send-email.perl:538
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "attention : ligne sendmail non reconnue : %s\n"
 
-#: git-send-email.perl:616
+#: git-send-email.perl:622
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -22195,12 +23237,12 @@ msgstr ""
 "    * 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:637
+#: git-send-email.perl:643
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Échec à l'ouverture du répertoire %s : %s"
 
-#: git-send-email.perl:661
+#: git-send-email.perl:667
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -22209,7 +23251,7 @@ msgstr ""
 "fatal : %s : %s\n"
 "attention : aucun patch envoyé\n"
 
-#: git-send-email.perl:672
+#: git-send-email.perl:678
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -22219,17 +23261,17 @@ msgstr ""
 "Aucun fichier patch spécifié !\n"
 "\n"
 
-#: git-send-email.perl:685
+#: git-send-email.perl:691
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Ligne de sujet non trouvée dans %s ?"
 
-#: git-send-email.perl:695
+#: git-send-email.perl:701
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Impossible d'ouvrir %s en écriture : %s"
 
-#: git-send-email.perl:706
+#: git-send-email.perl:712
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -22243,27 +23285,27 @@ msgstr ""
 "\n"
 "Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
 
-#: git-send-email.perl:730
+#: git-send-email.perl:736
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Échec à l'ouverture de %s : %s"
 
-#: git-send-email.perl:747
+#: git-send-email.perl:753
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Échec à l'ouverture de %s.final : %s"
 
-#: git-send-email.perl:790
+#: git-send-email.perl:796
 msgid "Summary email is empty, skipping it\n"
 msgstr "Le courriel de résumé étant vide, il a été ignoré\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:825
+#: git-send-email.perl:831
 #, 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:880
+#: git-send-email.perl:886
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -22271,11 +23313,11 @@ msgstr ""
 "Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
 "Transfer-Encoding.\n"
 
-#: git-send-email.perl:885
+#: git-send-email.perl:891
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
 
-#: git-send-email.perl:893
+#: git-send-email.perl:899
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -22288,22 +23330,22 @@ msgstr ""
 "a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
 "vraiment envoyer.\n"
 
-#: git-send-email.perl:912
+#: git-send-email.perl:918
 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:930
+#: git-send-email.perl:936
 #, 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:942
+#: git-send-email.perl:948
 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:1000 git-send-email.perl:1008
+#: git-send-email.perl:1006 git-send-email.perl:1014
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
@@ -22311,16 +23353,16 @@ msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
 #. 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:1012
+#: git-send-email.perl:1018
 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:1329
+#: git-send-email.perl:1335
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "le chemin vers la CA \"%s\" n'existe pas"
 
-#: git-send-email.perl:1412
+#: git-send-email.perl:1418
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -22347,130 +23389,130 @@ msgstr ""
 #. 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:1427
+#: git-send-email.perl:1433
 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:1430
+#: git-send-email.perl:1436
 msgid "Send this email reply required"
 msgstr "Une réponse est nécessaire"
 
-#: git-send-email.perl:1458
+#: git-send-email.perl:1464
 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:1505
+#: git-send-email.perl:1511
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Le serveur ne supporte pas STARTTLS ! %s"
 
-#: git-send-email.perl:1510 git-send-email.perl:1514
+#: git-send-email.perl:1516 git-send-email.perl:1520
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "échec de STARTTLS ! %s"
 
-#: git-send-email.perl:1523
+#: git-send-email.perl:1529
 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:1541
+#: git-send-email.perl:1547
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "échec de l'envoi de %s\n"
 
-#: git-send-email.perl:1544
+#: git-send-email.perl:1550
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Envoi simulé de %s\n"
 
-#: git-send-email.perl:1544
+#: git-send-email.perl:1550
 #, perl-format
 msgid "Sent %s\n"
 msgstr "%s envoyé\n"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1552
 msgid "Dry-OK. Log says:\n"
 msgstr "Simulation OK. Le journal indique :\n"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1552
 msgid "OK. Log says:\n"
 msgstr "OK. Le journal indique :\n"
 
-#: git-send-email.perl:1558
+#: git-send-email.perl:1564
 msgid "Result: "
 msgstr "Résultat : "
 
-#: git-send-email.perl:1561
+#: git-send-email.perl:1567
 msgid "Result: OK\n"
 msgstr "Résultat : OK\n"
 
-#: git-send-email.perl:1579
+#: git-send-email.perl:1585
 #, perl-format
 msgid "can't open file %s"
 msgstr "impossible d'ouvrir le fichier %s"
 
-#: git-send-email.perl:1626 git-send-email.perl:1646
+#: git-send-email.perl:1632 git-send-email.perl:1652
 #, 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:1632
+#: git-send-email.perl:1638
 #, 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:1685
+#: git-send-email.perl:1691
 #, 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:1720
+#: git-send-email.perl:1726
 #, 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:1831
+#: git-send-email.perl:1837
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Impossible d'exécuter '%s'"
 
-#: git-send-email.perl:1838
+#: git-send-email.perl:1844
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
 
-#: git-send-email.perl:1842
+#: git-send-email.perl:1848
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) échec de la fermeture du pipe vers '%s'"
 
-#: git-send-email.perl:1872
+#: git-send-email.perl:1878
 msgid "cannot send message as 7bit"
 msgstr "impossible d'envoyer un message comme 7bit"
 
-#: git-send-email.perl:1880
+#: git-send-email.perl:1886
 msgid "invalid transfer encoding"
 msgstr "codage de transfert invalide"
 
-#: git-send-email.perl:1921 git-send-email.perl:1973 git-send-email.perl:1983
+#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "impossible d'ouvrir %s :%s\n"
 
-#: git-send-email.perl:1924
+#: git-send-email.perl:1930
 #, 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:1941
+#: git-send-email.perl:1947
 #, 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:1945
+#: git-send-email.perl:1951
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "