t/lib-git-daemon: fix signal checking
[gitweb.git] / po / fr.po
index cb45f57b33808f971dd43184cabf57f9c8c2cdc0..2bae7536042ed949fb5ae83b4a7679597c2888ac 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,7 +1,7 @@
 # French translations for Git.
-# Copyright (C) 2015 Jean-Noël Avila <jn.avila@free.fr>
+# Copyright (C) 2018 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>, 2016.
+# Jean-Noël Avila <jn.avila@free.fr>, 2018.
 # Sébastien Helleu <flashcode@flashtux.org>, 2013.
 #
 # French translations of common Git words used in this file:
@@ -50,6 +50,7 @@
 #   to prune         |  éliminer
 #   to push          |  pousser
 #   to rebase        |  rebaser
+#   trailers         |  lignes terminales
 #   repository       |  dépôt
 #   remote           |  distante (ou serveur distant)
 #   revision         |  révision
@@ -73,8 +74,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2017-07-24 21:54+0800\n"
-"PO-Revision-Date: 2017-07-23 04:35+0200\n"
+"POT-Creation-Date: 2018-06-16 22:06+0800\n"
+"PO-Revision-Date: 2018-06-16 20:42+0200\n"
 "Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -83,37 +84,37 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 
-#: advice.c:58
+#: advice.c:92
 #, c-format
-msgid "hint: %.*s\n"
-msgstr "astuce: %.*s\n"
+msgid "%shint: %.*s%s\n"
+msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:86
+#: advice.c:137
 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:88
+#: advice.c:139
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:90
+#: advice.c:141
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:92
+#: advice.c:143
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:94
+#: advice.c:145
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:96
+#: advice.c:147
 #, 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:104
+#: advice.c:155
 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."
@@ -121,23 +122,23 @@ msgstr ""
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:112
+#: advice.c:163
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:117 builtin/merge.c:1184
+#: advice.c:168 builtin/merge.c:1250
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:119
+#: advice.c:170
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:120
+#: advice.c:171
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:126
+#: advice.c:177
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -179,89 +180,89 @@ msgstr "option d'espace non reconnue '%s'"
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "option d'ignorance d'espace non reconnue '%s'"
 
-#: apply.c:126
+#: apply.c:122
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject et --3way ne peuvent pas être utilisés ensemble."
 
-#: apply.c:128
+#: apply.c:124
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached et --3way ne peuvent pas être utilisés ensemble."
 
-#: apply.c:131
+#: apply.c:127
 msgid "--3way outside a repository"
 msgstr "--3way hors d'un dépôt"
 
-#: apply.c:142
+#: apply.c:138
 msgid "--index outside a repository"
 msgstr "--index hors d'un dépôt"
 
-#: apply.c:145
+#: apply.c:141
 msgid "--cached outside a repository"
 msgstr "--cached hors d'un dépôt"
 
-#: apply.c:836
+#: apply.c:821
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "Impossible de préparer la regexp d'horodatage %s"
 
-#: apply.c:845
+#: apply.c:830
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec a retourné %d pour l'entrée : %s"
 
-#: apply.c:929
+#: apply.c:904
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "nom de fichier du patch introuvable à la ligne %d"
 
-#: apply.c:967
+#: apply.c:942
 #, 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:973
+#: apply.c:948
 #, 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:974
+#: apply.c:949
 #, 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:979
+#: apply.c:954
 #, 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:1008
+#: apply.c:983
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "mode invalide dans la ligne %d : %s"
 
-#: apply.c:1326
+#: apply.c:1301
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
-#: apply.c:1498
+#: apply.c:1473
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recomptage : ligne inattendue : %.*s"
 
-#: apply.c:1567
+#: apply.c:1542
 #, 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:1587
+#: apply.c:1562
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -276,83 +277,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:1600
+#: apply.c:1575
 #, 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:1770
+#: apply.c:1763
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
 
-#: apply.c:1772
+#: apply.c:1765
 msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
-#: apply.c:1806
+#: apply.c:1799
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "patch corrompu à la ligne %d"
 
-#: apply.c:1843
+#: apply.c:1836
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "le nouveau fichier %s dépend de contenus anciens"
 
-#: apply.c:1845
+#: apply.c:1838
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "le fichier supprimé %s a encore du contenu"
 
-#: apply.c:1848
+#: apply.c:1841
 #, 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:1995
+#: apply.c:1988
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2032
+#: apply.c:2025
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2193
+#: apply.c:2185
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2276
+#: apply.c:2271
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2280
+#: apply.c:2275
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2933
+#: apply.c:2934
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3052
+#: apply.c:3055
 #, 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:3064
+#: apply.c:3067
 #, 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:3070
+#: apply.c:3073
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -361,331 +362,331 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3092
+#: apply.c:3095
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3100
+#: apply.c:3103
 #, 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:3146
+#: apply.c:3149
 #, 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:3156
+#: apply.c:3159
 #, 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:3164
+#: apply.c:3167
 #, 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:3182
+#: apply.c:3185
 #, 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:3195
+#: apply.c:3198
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3201
+#: apply.c:3204
 #, 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:3222
+#: apply.c:3225
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3344
+#: apply.c:3347
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3392 apply.c:3403 apply.c:3449 setup.c:277
+#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:278
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3400
+#: apply.c:3404
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3429 apply.c:3669
+#: apply.c:3433 apply.c:3673
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3512 apply.c:3683
+#: apply.c:3516 apply.c:3687
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3521 apply.c:3691
+#: apply.c:3525 apply.c:3695
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3556
+#: apply.c:3560
 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:3559
+#: apply.c:3563
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3575 apply.c:3579
+#: apply.c:3579 apply.c:3583
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3591
+#: apply.c:3595
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Echec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3605
+#: apply.c:3609
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3610
+#: apply.c:3614
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3636
+#: apply.c:3640
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3708
+#: apply.c:3712
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3710
+#: apply.c:3714
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3860 apply.c:3862
+#: apply.c:3864 apply.c:3866
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3918
+#: apply.c:3922
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3921
+#: apply.c:3925
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3941
+#: apply.c:3945
 #, 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:3946
+#: apply.c:3950
 #, 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:3966
+#: apply.c:3970
 #, 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:3970
+#: apply.c:3974
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:3985
+#: apply.c:3989
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4076
+#: apply.c:4080
 #, 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:4083
+#: apply.c:4087
 #, 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:4086
+#: apply.c:4090
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4091 builtin/checkout.c:235 builtin/reset.c:138
+#: apply.c:4095 builtin/checkout.c:235 builtin/reset.c:140
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: apply.c:4095
+#: apply.c:4099
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4105
+#: apply.c:4109
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4243
+#: apply.c:4247
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4278
+#: apply.c:4282
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4284
+#: apply.c:4288
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4292
+#: apply.c:4296
 #, 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:4298 apply.c:4442
+#: apply.c:4302 apply.c:4446
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4339
+#: apply.c:4343
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4343
+#: apply.c:4347
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4413
+#: apply.c:4417
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4511
+#: apply.c:4515
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4519
+#: apply.c:4523
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4522
+#: apply.c:4526
 #, 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:4533
+#: apply.c:4537
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4541 builtin/fetch.c:738 builtin/fetch.c:988
+#: apply.c:4545 builtin/fetch.c:786 builtin/fetch.c:1036
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4555
+#: apply.c:4559
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4559
+#: apply.c:4563
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4669
+#: apply.c:4673
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4677
+#: apply.c:4681
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4696
+#: apply.c:4700
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4833
+#: apply.c:4837
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4860
+#: apply.c:4864
 #, 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:4866 apply.c:4881
+#: apply.c:4870 apply.c:4885
 #, 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:4874
+#: apply.c:4878
 #, 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:4890 builtin/add.c:513 builtin/mv.c:299 builtin/rm.c:391
+#: apply.c:4894 builtin/add.c:538 builtin/mv.c:300 builtin/rm.c:389
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4921 apply.c:4924 builtin/am.c:2257 builtin/am.c:2260
-#: builtin/clone.c:115 builtin/fetch.c:93 builtin/pull.c:187
-#: builtin/submodule--helper.c:304 builtin/submodule--helper.c:629
-#: builtin/submodule--helper.c:632 builtin/submodule--helper.c:973
-#: builtin/submodule--helper.c:976 builtin/submodule--helper.c:1161
+#: apply.c:4921 apply.c:4924 builtin/am.c:2254 builtin/am.c:2257
+#: builtin/clone.c:120 builtin/fetch.c:126 builtin/pull.c:198
+#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1210
+#: builtin/submodule--helper.c:1213 builtin/submodule--helper.c:1584
+#: builtin/submodule--helper.c:1587 builtin/submodule--helper.c:1807
 #: git-add--interactive.perl:197
 msgid "path"
 msgstr "chemin"
@@ -698,7 +699,7 @@ msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4927 builtin/am.c:2266
+#: apply.c:4927 builtin/am.c:2263
 msgid "num"
 msgstr "num"
 
@@ -739,78 +740,80 @@ msgstr "appliquer les patch sans toucher à la copie de travail"
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4949
+#: apply.c:4950
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec ---stat/--summary/--check)"
 
-#: apply.c:4951
+#: apply.c:4952
 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:4953
+#: apply.c:4954
 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:4956 builtin/checkout-index.c:170 builtin/ls-files.c:515
+#: apply.c:4957 builtin/checkout-index.c:168 builtin/ls-files.c:515
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4958
+#: apply.c:4959
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:4959 builtin/am.c:2245
+#: apply.c:4960 builtin/am.c:2242 builtin/interpret-trailers.c:95
+#: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
+#: builtin/pack-objects.c:3177
 msgid "action"
 msgstr "action"
 
-#: apply.c:4960
+#: apply.c:4961
 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:4963 apply.c:4966
+#: apply.c:4964 apply.c:4967
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4969
+#: apply.c:4970
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4971
+#: apply.c:4972
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4973
+#: apply.c:4974
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:4975
+#: apply.c:4976
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:4976 builtin/add.c:270 builtin/check-ignore.c:21
-#: builtin/commit.c:1340 builtin/count-objects.c:95 builtin/fsck.c:651
-#: builtin/log.c:1877 builtin/mv.c:123 builtin/read-tree.c:125
+#: apply.c:4977 builtin/add.c:290 builtin/check-ignore.c:21
+#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:666
+#: builtin/log.c:1901 builtin/mv.c:122 builtin/read-tree.c:124
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:4978
+#: apply.c:4979
 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:4981
+#: apply.c:4982
 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:4983 builtin/am.c:2254
+#: apply.c:4984 builtin/am.c:2251
 msgid "root"
 msgstr "racine"
 
-#: apply.c:4984
+#: apply.c:4985
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -833,108 +836,108 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:333 builtin/add.c:154 builtin/add.c:492 builtin/rm.c:300
+#: archive.c:351 builtin/add.c:176 builtin/add.c:514 builtin/rm.c:298
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
 
-#: archive.c:418
+#: archive.c:434
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:418
+#: archive.c:434
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:419 builtin/log.c:1446
+#: archive.c:435 builtin/log.c:1462
 msgid "prefix"
 msgstr "préfixe"
 
-#: archive.c:420
+#: archive.c:436
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:421 builtin/blame.c:693 builtin/blame.c:694 builtin/config.c:61
-#: builtin/fast-export.c:989 builtin/fast-export.c:991 builtin/grep.c:1080
-#: builtin/hash-object.c:102 builtin/ls-files.c:549 builtin/ls-files.c:552
-#: builtin/notes.c:404 builtin/notes.c:567 builtin/read-tree.c:120
-#: parse-options.h:153
+#: archive.c:437 builtin/blame.c:813 builtin/blame.c:814 builtin/config.c:127
+#: builtin/fast-export.c:1007 builtin/fast-export.c:1009 builtin/grep.c:869
+#: builtin/hash-object.c:103 builtin/ls-files.c:551 builtin/ls-files.c:554
+#: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:119
+#: parse-options.h:165
 msgid "file"
 msgstr "fichier"
 
-#: archive.c:422 builtin/archive.c:89
+#: archive.c:438 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "écrire l'archive dans ce fichier"
 
-#: archive.c:424
+#: archive.c:440
 msgid "read .gitattributes in working directory"
 msgstr "lire .gitattributes dans le répertoire de travail"
 
-#: archive.c:425
+#: archive.c:441
 msgid "report archived files on stderr"
 msgstr "afficher les fichiers archivés sur stderr"
 
-#: archive.c:426
+#: archive.c:442
 msgid "store only"
 msgstr "stockage seulement"
 
-#: archive.c:427
+#: archive.c:443
 msgid "compress faster"
 msgstr "compression rapide"
 
-#: archive.c:435
+#: archive.c:451
 msgid "compress better"
 msgstr "compression efficace"
 
-#: archive.c:438
+#: archive.c:454
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:440 builtin/archive.c:90 builtin/clone.c:105 builtin/clone.c:108
-#: builtin/submodule--helper.c:641 builtin/submodule--helper.c:982
+#: archive.c:456 builtin/archive.c:90 builtin/clone.c:110 builtin/clone.c:113
+#: builtin/submodule--helper.c:1222 builtin/submodule--helper.c:1593
 msgid "repo"
 msgstr "dépôt"
 
-#: archive.c:441 builtin/archive.c:91
+#: archive.c:457 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "récupérer l'archive depuis le dépôt distant <dépôt>"
 
-#: archive.c:442 builtin/archive.c:92 builtin/notes.c:488
+#: archive.c:458 builtin/archive.c:92 builtin/notes.c:489
 msgid "command"
 msgstr "commande"
 
-#: archive.c:443 builtin/archive.c:93
+#: archive.c:459 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "chemin vers la commande distante git-upload-archive"
 
-#: archive.c:450
+#: archive.c:466
 msgid "Unexpected option --remote"
 msgstr "Option --remote inattendue"
 
-#: archive.c:452
+#: archive.c:468
 msgid "Option --exec can only be used together with --remote"
 msgstr "L'option --exec ne peut être utilisée qu'en complément de --remote"
 
-#: archive.c:454
+#: archive.c:470
 msgid "Unexpected option --output"
 msgstr "Option --output inattendue"
 
-#: archive.c:476
+#: archive.c:492
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Format d'archive inconnu '%s'"
 
-#: archive.c:483
+#: archive.c:499
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
 
-#: attr.c:214
+#: attr.c:218
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s n'est pas un nom valide d'attribut"
 
-#: attr.c:410
+#: attr.c:415
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -942,22 +945,22 @@ msgstr ""
 "Les motifs de négation sont ignorés dans les attributs git\n"
 "Utilisez '\\!' pour un point d'exclamation littéral."
 
-#: bisect.c:447
+#: bisect.c:461
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "Contenu mal cité dans le fichier '%s' : %s"
 
-#: bisect.c:655
+#: bisect.c:669
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Impossible de pousser la bissection plus loin !\n"
 
-#: bisect.c:708
+#: bisect.c:723
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s n'est pas un nom de commit valide"
 
-#: bisect.c:732
+#: bisect.c:747
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -966,7 +969,7 @@ msgstr ""
 "La base de fusion %s est mauvaise.\n"
 "Cela signifie que le bogue été corrigé entre %s et [%s].\n"
 
-#: bisect.c:737
+#: bisect.c:752
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -975,7 +978,7 @@ msgstr ""
 "La base de fusion %s est nouvelle.\n"
 "La propriété a changé entre %s et [%s].\n"
 
-#: bisect.c:742
+#: bisect.c:757
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -984,7 +987,7 @@ msgstr ""
 "La base de fusion %s est %s.\n"
 "Ceci signifie que le premier commit '%s' est entre %s et [%s].\n"
 
-#: bisect.c:750
+#: bisect.c:765
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -995,7 +998,7 @@ msgstr ""
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
 "Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
-#: bisect.c:763
+#: bisect.c:778
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1007,36 +1010,36 @@ msgstr ""
 "et %s.\n"
 "On continue tout de même."
 
-#: bisect.c:798
+#: bisect.c:811
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bissection : une base de fusion doit être testée\n"
 
-#: bisect.c:849
+#: bisect.c:851
 #, c-format
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:866 builtin/notes.c:175 builtin/tag.c:256
+#: bisect.c:870 builtin/notes.c:175 builtin/tag.c:236
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:917
+#: bisect.c:921
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:947
+#: bisect.c:951
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:967
+#: bisect.c:970
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:975
+#: bisect.c:978
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1045,7 +1048,7 @@ msgstr ""
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais paramètre de chemin ?\n"
 
-#: bisect.c:994
+#: bisect.c:997
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1055,52 +1058,52 @@ msgstr[1] "(à peu près %d étapes)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1000
+#: bisect.c:1003
 #, 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 cette %s\n"
 msgstr[1] "Bissection : %d révisions à tester après cette %s\n"
 
-#: blame.c:1757
+#: blame.c:1756
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: blame.c:1768
+#: blame.c:1767
 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:1788
+#: blame.c:1787
 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:1797 bundle.c:164 ref-filter.c:1919 sequencer.c:1166
-#: sequencer.c:2328 builtin/commit.c:1058 builtin/log.c:356 builtin/log.c:907
-#: builtin/log.c:1357 builtin/log.c:1683 builtin/log.c:1926 builtin/merge.c:360
-#: builtin/shortlog.c:177
+#: blame.c:1796 bundle.c:160 ref-filter.c:2075 sequencer.c:1861
+#: sequencer.c:3632 builtin/commit.c:981 builtin/log.c:366 builtin/log.c:920
+#: builtin/log.c:1371 builtin/log.c:1702 builtin/log.c:1950 builtin/merge.c:372
+#: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
-#: blame.c:1815
+#: blame.c:1814
 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:1826
+#: blame.c:1825
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: blame.c:1837
+#: blame.c:1836
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
 
-#: branch.c:53
+#: branch.c:54
 #, c-format
 msgid ""
 "\n"
@@ -1113,94 +1116,97 @@ msgstr ""
 "l'information de suivi distant en invoquant\n"
 "\"git branch --setup-upstream-to=%s%s%s\"."
 
-#: branch.c:67
+#: branch.c:68
 #, 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:93
+#: branch.c:94
 #, c-format
-msgid "Branch %s set up to track remote branch %s from %s by rebasing."
+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."
+"La branche '%s' est paramétrée pour suivre la branche distante '%s' de '%s' "
+"en rebasant."
 
-#: branch.c:94
+#: branch.c:95
 #, c-format
-msgid "Branch %s set up to track remote branch %s from %s."
+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."
+"La branche '%s' est paramétrée pour suivre la branche distante '%s' depuis "
+"'%s'."
 
-#: branch.c:98
+#: branch.c:99
 #, c-format
-msgid "Branch %s set up to track local branch %s by rebasing."
+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."
+"La branche '%s' est paramétrée pour suivre la branche locale '%'s en "
+"rebasant."
 
-#: branch.c:99
+#: branch.c:100
 #, 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."
+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:104
+#: branch.c:105
 #, c-format
-msgid "Branch %s set up to track remote ref %s by rebasing."
+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 "
+"La branche '%s' est paramétrée pour suivre la référence distante '%s' en "
 "rebasant."
 
-#: branch.c:105
+#: branch.c:106
 #, 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."
+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:109
+#: branch.c:110
 #, c-format
-msgid "Branch %s set up to track local ref %s by rebasing."
+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."
+"La branche '%s' est paramétrée pour suivre la référence locale '%s' en "
+"rebasant."
 
-#: branch.c:110
+#: branch.c:111
 #, 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."
+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:119
+#: branch.c:120
 msgid "Unable to write upstream branch configuration"
 msgstr "Échec de l'écriture de la configuration de branche amont"
 
-#: branch.c:156
+#: branch.c:157
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Pas de suivi : information ambiguë pour la référence %s"
 
-#: branch.c:185
+#: branch.c:190
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' n'est pas un nom de branche valide."
 
-#: branch.c:190
+#: branch.c:209
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Une branche nommée '%s' existe déjà."
 
-#: branch.c:198
+#: branch.c:214
 msgid "Cannot force update the current branch."
 msgstr "Impossible de forcer la mise à jour de la branche courante."
 
-#: branch.c:218
+#: branch.c:234
 #, 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:220
+#: branch.c:236
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "la branche amont demandée '%s' n'existe pas"
 
-#: branch.c:222
+#: branch.c:238
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1220,27 +1226,27 @@ 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:265
+#: branch.c:281
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Nom d'objet invalide : '%s'."
 
-#: branch.c:285
+#: branch.c:301
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Nom d'objet ambigu : '%s'."
 
-#: branch.c:290
+#: branch.c:306
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Point d'embranchement invalide : '%s'."
 
-#: branch.c:344
+#: branch.c:360
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' est déjà extrait dans '%s'"
 
-#: branch.c:366
+#: branch.c:383
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "la HEAD de la copie de travail %s n'est pas mise à jour"
@@ -1255,85 +1261,106 @@ 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:88 sequencer.c:1344 sequencer.c:1770 builtin/commit.c:778
+#: bundle.c:88 sequencer.c:2081 sequencer.c:2558 builtin/commit.c:755
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: bundle.c:140
+#: bundle.c:139
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Le dépôt ne dispose pas des commits prérequis suivants :"
 
-#: bundle.c:186
+#: bundle.c:190
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "Le colis contient cette référence :"
 msgstr[1] "Le colis contient ces %d références :"
 
-#: bundle.c:193
+#: bundle.c:197
 msgid "The bundle records a complete history."
 msgstr "Le colis enregistre l'historique complet."
 
-#: bundle.c:195
+#: bundle.c:199
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Le colis exige cette référence :"
 msgstr[1] "Le colis exige ces %d références :"
 
-#: bundle.c:254
+#: bundle.c:258
 msgid "Could not spawn pack-objects"
 msgstr "Impossible de créer des objets groupés"
 
-#: bundle.c:265
+#: bundle.c:269
 msgid "pack-objects died"
 msgstr "les objets groupés ont disparu"
 
-#: bundle.c:307
+#: bundle.c:311
 msgid "rev-list died"
 msgstr "rev-list a disparu"
 
-#: bundle.c:356
+#: bundle.c:360
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:446 builtin/log.c:173 builtin/log.c:1589 builtin/shortlog.c:282
+#: bundle.c:450 builtin/log.c:183 builtin/log.c:1607 builtin/shortlog.c:303
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
 
-#: bundle.c:454
+#: bundle.c:458
 msgid "Refusing to create empty bundle."
 msgstr "Refus de créer un colis vide."
 
-#: bundle.c:466
+#: bundle.c:470
 #, c-format
 msgid "cannot create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: bundle.c:494
+#: bundle.c:498
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
-#: color.c:301
+#: color.c:296
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:41 sequencer.c:1582 builtin/am.c:420 builtin/am.c:456
-#: builtin/am.c:1469 builtin/am.c:2107
+#: commit.c:43 sequencer.c:2364 builtin/am.c:421 builtin/am.c:465
+#: builtin/am.c:1436 builtin/am.c:2072 builtin/replace.c:376
+#: builtin/replace.c:448
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
 
-#: commit.c:43
+#: commit.c:45
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un commit !"
 
-#: commit.c:1511
+#: commit.c:182
+msgid ""
+"Support for <GIT_DIR>/info/grafts is deprecated\n"
+"and will be removed in a future Git version.\n"
+"\n"
+"Please use \"git replace --convert-graft-file\"\n"
+"to convert the grafts into replace refs.\n"
+"\n"
+"Turn this message off by running\n"
+"\"git config advice.graftFileDeprecated false\""
+msgstr ""
+"Le support de <GIT_DIR>/info/grafts est déconseillé\n"
+"et sera supprimé dans une version future de Git.\n"
+"\n"
+"Veuillez utiliser \"git replace --convert-graft-file\"\n"
+"pour convertir les grafts en référence de remplacement.\n"
+"\n"
+"Supprimez ce message en lançant\n"
+"\"git config advice.graftFileDeprecated false\""
+
+#: commit.c:1540
 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"
@@ -1345,184 +1372,203 @@ msgstr ""
 "variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
 "projet.\n"
 
-#: compat/obstack.c:406 compat/obstack.c:408
+#: commit-graph.c:669
+#, 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:696
+msgid "too many commits to write graph"
+msgstr "trop de commits pour écrire un graphe"
+
+#: commit-graph.c:707 builtin/init-db.c:516 builtin/init-db.c:521
+#, c-format
+msgid "cannot mkdir %s"
+msgstr "impossible de créer le répertoire (mkdir) %s"
+
+#: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:186
+#: config.c:187
 msgid "relative config include conditionals must come from files"
 msgstr ""
 "les conditions d'inclusion de configuration relative doivent venir de "
 "fichiers"
 
-#: config.c:720
+#: config.c:788
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:724
+#: config.c:792
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:728
+#: config.c:796
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:732
+#: config.c:800
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "ligne %d de config incorrecte dans le blob de sous-module %s"
 
-#: config.c:736
+#: config.c:804
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "ligne %d de config incorrecte dans la ligne de commande %s"
 
-#: config.c:740
+#: config.c:808
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:868
+#: config.c:936
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:868
+#: config.c:936
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:874
+#: config.c:942
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:879
+#: config.c:947
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob "
 "%s : %s"
 
-#: config.c:882
+#: config.c:950
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le fichier "
 "%s : %s"
 
-#: config.c:885
+#: config.c:953
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans l'entrée "
 "standard : %s"
 
-#: config.c:888
+#: config.c:956
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob de "
 "sous-module %s : %s"
 
-#: config.c:891
+#: config.c:959
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans la ligne de "
 "commande %s : %s"
 
-#: config.c:894
+#: config.c:962
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans %s : %s"
 
-#: config.c:989
+#: config.c:1057
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:1084 config.c:1095
+#: config.c:1066
+#, c-format
+msgid "'%s' for '%s' is not a valid timestamp"
+msgstr "'%s' pour '%s' n'est pas un horodatage valide"
+
+#: config.c:1171 config.c:1182
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:1212
+#: config.c:1307
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1368
+#: config.c:1473
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1564
+#: config.c:1681
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:1894
+#: config.c:2013
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2064
+#: config.c:2200
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2085
+#: config.c:2243
 #, 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:2111
+#: config.c:2269
 #, 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:2122
+#: config.c:2294
 #, 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:2124
+#: config.c:2296
 #, 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:2183
+#: config.c:2402
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2517 config.c:2745
+#: config.c:2766 config.c:3019
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2635
+#: config.c:2905
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2637 builtin/remote.c:775
+#: config.c:2907 builtin/remote.c:779
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: connect.c:50
+#: connect.c:61
 msgid "The remote end hung up upon initial contact"
 msgstr "L'hôte distant a fermé la connexion lors du contact initial"
 
-#: connect.c:52
+#: connect.c:63
 msgid ""
 "Could not read from remote repository.\n"
 "\n"
@@ -1534,23 +1580,28 @@ msgstr ""
 "Veuillez vérifier que vous avez les droits d'accès\n"
 "et que le dépôt existe."
 
-#: connected.c:63 builtin/fsck.c:191 builtin/prune.c:141
+#: connected.c:66 builtin/fsck.c:201 builtin/prune.c:145
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
-#: connected.c:75
+#: connected.c:78
 msgid "Could not run 'git rev-list'"
 msgstr "Impossible de lancer 'git rev-list'"
 
-#: connected.c:95
+#: connected.c:98
 msgid "failed write to rev-list"
 msgstr "impossible d'écrire dans la rev-list"
 
-#: connected.c:102
+#: connected.c:105
 msgid "failed to close rev-list's stdin"
 msgstr "impossible de fermer l'entrée standard du rev-list"
 
-#: convert.c:205
+#: convert.c:206
+#, c-format
+msgid "CRLF would be replaced by LF in %s."
+msgstr "Les CRLF seraient remplacés par des LF dans %s."
+
+#: convert.c:208
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -1560,12 +1611,12 @@ msgstr ""
 "Le fichier conservera ses fins de ligne d'origine dans votre copie de "
 "travail."
 
-#: convert.c:209
+#: convert.c:216
 #, c-format
-msgid "CRLF would be replaced by LF in %s."
-msgstr "Les CRLF seraient remplacés par des LF dans %s."
+msgid "LF would be replaced by CRLF in %s"
+msgstr "Les LF seraient remplacés par des CRLF dans %s"
 
-#: convert.c:215
+#: convert.c:218
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -1575,10 +1626,50 @@ msgstr ""
 "Le fichier conservera ses fins de ligne d'origine dans votre copie de "
 "travail."
 
-#: convert.c:219
+#: convert.c:279
 #, c-format
-msgid "LF would be replaced by CRLF in %s"
-msgstr "Les LF seraient remplacés par des CRLF dans %s"
+msgid "BOM is prohibited in '%s' if encoded as %s"
+msgstr "Aucun BOM n'est permis dans '%s' s'il est encodé comme %s"
+
+#: convert.c:286
+#, c-format
+msgid ""
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
+"tree-encoding."
+msgstr ""
+"Le fichier '%s' contient un marqueur d'ordre d'octets (BOM). Veuillez "
+"utiliser UTF-%s comme encodage d'arbre de travail."
+
+#: convert.c:304
+#, c-format
+msgid "BOM is required in '%s' if encoded as %s"
+msgstr "Un BOM est obligatoire dans '%s' s'il est encodé comme %s"
+
+#: convert.c:306
+#, c-format
+msgid ""
+"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
+"%sLE (depending on the byte order) as working-tree-encoding."
+msgstr ""
+"Il manque un marqueur d'ordre d'octets (BOM) au fichier '%s'. Veuillez "
+"utiliser UTF-%sBE ou UTF-%sLE (selon l'ordre désiré) comme encodage d'arbre "
+"de travail."
+
+#: convert.c:424
+#, c-format
+msgid "failed to encode '%s' from %s to %s"
+msgstr "échec de l'encodage de '%s' de %s vers %s"
+
+#: convert.c:467
+#, c-format
+msgid "encoding '%s' from %s to %s and back is not the same"
+msgstr ""
+"encoder '%s' depuis %s vers %s puis inversement ne produit pas le même "
+"contenu"
+
+#: convert.c:1225
+msgid "true/false are no valid working-tree-encodings"
+msgstr "true/false ne sont pas des encodages d'arbre de travail valides"
 
 #: date.c:116
 msgid "in the future"
@@ -1653,33 +1744,41 @@ msgstr[1] "il y a %<PRIuMAX> ans"
 msgid "failed to read orderfile '%s'"
 msgstr "impossible de lire le fichier de commande '%s'"
 
-#: diffcore-rename.c:536
+#: diffcore-rename.c:535
 msgid "Performing inexact rename detection"
 msgstr "Détection de renommage inexact en cours"
 
-#: diff.c:63
+#: diff.c:74
 #, c-format
 msgid "option '%s' requires a value"
 msgstr "le commutateur '%s' a besoin d'une valeur"
 
-#: diff.c:125
+#: diff.c:152
 #, 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:130
+#: diff.c:157
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paramètre dirstat inconnu '%s'\n"
 
-#: diff.c:282
+#: diff.c:281
+msgid ""
+"color moved setting must be one of 'no', 'default', 'zebra', 'dimmed_zebra', "
+"'plain'"
+msgstr ""
+"le paramètre de couleur de déplacement doit être parmi 'no', 'default', "
+"'zebra', 'dimmed_zebra', 'plain'"
+
+#: diff.c:341
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valeur inconnue pour la variable de configuration 'diff.submodule' : '%s'"
 
-#: diff.c:342
+#: diff.c:401
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1688,20 +1787,24 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:3101
+#: diff.c:3823
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:3427
+#: diff.c:4153
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:3517
+#: diff.c:4156
+msgid "-G, -S and --find-object are mutually exclusive"
+msgstr "-G, -S et --find-object sont mutuellement exclusifs"
+
+#: diff.c:4244
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:3680
+#: diff.c:4410
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1710,24 +1813,24 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:3694
+#: diff.c:4424
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
 
-#: diff.c:4716
+#: diff.c:5500
 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:4719
+#: diff.c:5503
 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:4722
+#: diff.c:5506
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1735,216 +1838,244 @@ msgstr ""
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:1948
+#: dir.c:1867
+#, c-format
+msgid "could not open directory '%s'"
+msgstr "impossible d'ouvrir le répertoire '%s'"
+
+#: dir.c:2109
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:2067
+#: dir.c:2233
 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:2846 dir.c:2851
+#: dir.c:3075 dir.c:3080
 #, c-format
 msgid "could not create directories for %s"
 msgstr "impossible de créer les répertoires pour %s"
 
-#: dir.c:2876
+#: dir.c:3109
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
 
-#: entry.c:281
+#: editor.c:61
+#, 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:177
+msgid "Filtering content"
+msgstr "Filtrage du contenu"
+
+#: entry.c:435
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "impossible de stat le fichier '%s'"
 
-#: fetch-pack.c:251
+#: fetch-object.c:17
+msgid "Remote with no URL"
+msgstr "Dépôt distant sans URL"
+
+#: fetch-pack.c:254
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : list courte attendue"
 
-#: fetch-pack.c:263
-msgid "git fetch-pack: expected ACK/NAK, got EOF"
-msgstr "git fetch-pack : ACK/NACK attendu, EOF reçu"
+#: fetch-pack.c:266
+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:282 builtin/archive.c:63
+#: fetch-pack.c:285 builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "erreur distante : %s"
 
-#: fetch-pack.c:283
+#: fetch-pack.c:286
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
 
-#: fetch-pack.c:335
+#: fetch-pack.c:338
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite multi_ack_detailed"
 
-#: fetch-pack.c:421
+#: fetch-pack.c:429 fetch-pack.c:1310
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "ligne de superficiel invalide : %s"
 
-#: fetch-pack.c:427
+#: fetch-pack.c:435 fetch-pack.c:1316
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "ligne de fin de superficiel invalide : %s"
 
-#: fetch-pack.c:429
+#: fetch-pack.c:437 fetch-pack.c:1318
 #, c-format
 msgid "object not found: %s"
 msgstr "objet non trouvé : %s"
 
-#: fetch-pack.c:432
+#: fetch-pack.c:440 fetch-pack.c:1321
 #, c-format
 msgid "error in object: %s"
 msgstr "Erreur dans l'objet : %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:442 fetch-pack.c:1323
 #, c-format
 msgid "no shallow found: %s"
 msgstr "Pas de superficiel trouvé : %s"
 
-#: fetch-pack.c:437
+#: fetch-pack.c:445 fetch-pack.c:1326
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "superficiel/non superficiel attendu, %s trouvé"
 
-#: fetch-pack.c:476
+#: fetch-pack.c:486
 #, c-format
 msgid "got %s %d %s"
 msgstr "réponse %s %d %s"
 
-#: fetch-pack.c:490
+#: fetch-pack.c:500
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit invalide %s"
 
-#: fetch-pack.c:523
+#: fetch-pack.c:533
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:533 progress.c:237
+#: fetch-pack.c:543 progress.c:229
 msgid "done"
 msgstr "fait"
 
-#: fetch-pack.c:545
+#: fetch-pack.c:555
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s trouvé (%d) %s"
 
-#: fetch-pack.c:591
+#: fetch-pack.c:601
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marquage de %s comme terminé"
 
-#: fetch-pack.c:775
+#: fetch-pack.c:828
 #, c-format
 msgid "already have %s (%s)"
 msgstr "%s déjà possédé (%s)"
 
-#: fetch-pack.c:813
+#: fetch-pack.c:869
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
 
-#: fetch-pack.c:821
+#: fetch-pack.c:877
 msgid "protocol error: bad pack header"
 msgstr "erreur de protocole : mauvais entête de paquet"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:944
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack : impossible de dupliquer %s"
 
-#: fetch-pack.c:893
+#: fetch-pack.c:960
 #, c-format
 msgid "%s failed"
 msgstr "échec de %s"
 
-#: fetch-pack.c:895
+#: fetch-pack.c:962
 msgid "error in sideband demultiplexer"
 msgstr "erreur dans le démultiplexer latéral"
 
-#: fetch-pack.c:922
+#: fetch-pack.c:989
 msgid "Server does not support shallow clients"
 msgstr "Le serveur ne supporte les clients superficiels"
 
-#: fetch-pack.c:926
+#: fetch-pack.c:993
 msgid "Server supports multi_ack_detailed"
 msgstr "Le serveur supporte multi_ack_detailed"
 
-#: fetch-pack.c:929
+#: fetch-pack.c:996
 msgid "Server supports no-done"
 msgstr "Le serveur support no-done"
 
-#: fetch-pack.c:935
+#: fetch-pack.c:1002
 msgid "Server supports multi_ack"
 msgstr "Le serveur supporte multi_ack"
 
-#: fetch-pack.c:939
+#: fetch-pack.c:1006
 msgid "Server supports side-band-64k"
 msgstr "Le serveur supporte side-band-64k"
 
-#: fetch-pack.c:943
+#: fetch-pack.c:1010
 msgid "Server supports side-band"
 msgstr "Le serveru supporte side-band"
 
-#: fetch-pack.c:947
+#: fetch-pack.c:1014
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "Le serveur supporte allow-tip-sha1-in-want"
 
-#: fetch-pack.c:951
+#: fetch-pack.c:1018
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "Le serveur supporte allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:961
+#: fetch-pack.c:1028
 msgid "Server supports ofs-delta"
-msgstr "Le serveur support ofs-delta"
+msgstr "Le serveur supporte ofs-delta"
 
-#: fetch-pack.c:968
+#: fetch-pack.c:1034 fetch-pack.c:1204
+msgid "Server supports filter"
+msgstr "Le serveur supporte filter"
+
+#: fetch-pack.c:1042
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*s"
 
-#: fetch-pack.c:974
+#: fetch-pack.c:1048
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:978
+#: fetch-pack.c:1052
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:980
+#: fetch-pack.c:1054
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:991
+#: fetch-pack.c:1065
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:1003
+#: fetch-pack.c:1077 fetch-pack.c:1414
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1165
+#: fetch-pack.c:1199
+msgid "Server does not support shallow requests"
+msgstr "Le serveur ne supporte les requêtes superficielles"
+
+#: fetch-pack.c:1584
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: fetch-pack.c:1187
+#: fetch-pack.c:1610
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:1190
+#: fetch-pack.c:1613
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "Le serveur n'autorise pas de requête pour l'objet %s non annoncé"
 
-#: gpg-interface.c:181
+#: gpg-interface.c:185
 msgid "gpg failed to sign the data"
 msgstr "gpg n'a pas pu signer les données"
 
-#: gpg-interface.c:211
+#: gpg-interface.c:210
 msgid "could not create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
@@ -1958,35 +2089,98 @@ msgstr "impossible d'écrire la signature détachée dans '%s'"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "couleur invalide '%.*s' ignorée dans log.graphColors"
 
-#: grep.c:1981
+#: grep.c:2020
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:1998 builtin/clone.c:403 builtin/diff.c:81 builtin/rm.c:134
+#: grep.c:2037 setup.c:164 builtin/clone.c:409 builtin/diff.c:81
+#: builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:2009
+#: grep.c:2048
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
 
-#: help.c:179
+#: help.c:23
+msgid "start a working area (see also: git help tutorial)"
+msgstr "démarrer une zone de travail (voir aussi : git help tutorial)"
+
+#: help.c:24
+msgid "work on the current change (see also: git help everyday)"
+msgstr ""
+"travailler sur la modification actuelle (voir aussi : git help revisions)"
+
+#: help.c:25
+msgid "examine the history and state (see also: git help revisions)"
+msgstr "examiner l'historique et l'état (voir aussi : git help revisions)"
+
+#: help.c:26
+msgid "grow, mark and tweak your common history"
+msgstr "agrandir, marquer et modifier votre historique"
+
+#: help.c:27
+msgid "collaborate (see also: git help workflows)"
+msgstr "collaborer (voir aussi : git help workflows)"
+
+#: help.c:31
+msgid "Main Porcelain Commands"
+msgstr "Commandes Porcelaine Principales"
+
+#: help.c:32
+msgid "Ancillary Commands / Manipulators"
+msgstr "Commandes Auxiliaires / Manipulateurs"
+
+#: help.c:33
+msgid "Ancillary Commands / Interrogators"
+msgstr "Commandes Auxiliaires / Interrogateurs"
+
+#: help.c:34
+msgid "Interacting with Others"
+msgstr "Interaction avec d'autres développeurs"
+
+#: help.c:35
+msgid "Low-level Commands / Manipulators"
+msgstr "Commandes bas-niveau / Manipulateurs"
+
+#: help.c:36
+msgid "Low-level Commands / Interrogators"
+msgstr "Commandes bas niveau / Interrogateurs"
+
+#: help.c:37
+msgid "Low-level Commands / Synching Repositories"
+msgstr "Commandes bas niveau / Synchronisation de dépôts"
+
+#: help.c:38
+msgid "Low-level Commands / Internal Helpers"
+msgstr "Commandes bas niveau / Assistants internes"
+
+#: help.c:293
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "commandes git disponibles dans '%s'"
 
-#: help.c:186
+#: help.c:300
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 
-#: help.c:217
+#: help.c:309
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:281
+#: help.c:358 git.c:90
+#, c-format
+msgid "unsupported command listing type '%s'"
+msgstr "type de liste de commandes non supporté '%s'"
+
+#: help.c:405
+msgid "The common Git guides are:"
+msgstr "Les guides Git populaires sont :"
+
+#: help.c:467
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1995,33 +2189,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:336
+#: help.c:526
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:358
+#: help.c:548
 #, 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:363
+#: help.c:553
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
-msgstr "Continuons en supposant que vous avez voulu dire '%s'<"
+msgstr "Continuons en supposant que vous avez voulu dire '%s'."
 
-#: help.c:368
+#: help.c:558
 #, 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'<"
+"Continuons dans %0.1f secondes en supposant que vous avez voulu dire '%s'."
 
-#: help.c:376
+#: help.c:566
 #, 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:380
+#: help.c:570
 msgid ""
 "\n"
 "The most similar command is"
@@ -2035,16 +2229,16 @@ msgstr[1] ""
 "\n"
 "Les commandes les plus ressemblantes sont"
 
-#: help.c:395
+#: help.c:585
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: help.c:456
+#: help.c:652
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:460
+#: help.c:656
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2112,12 +2306,20 @@ msgstr "nom d'identifiant vide (pour <%s>) non permis"
 msgid "name consists only of disallowed characters: %s"
 msgstr "le nom n'est constitué que de caractères interdits : %s"
 
-#: ident.c:416 builtin/commit.c:612
+#: ident.c:416 builtin/commit.c:587
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %s"
 
-#: lockfile.c:152
+#: list-objects-filter-options.c:36
+msgid "multiple filter-specs cannot be combined"
+msgstr "impossible de combiner des spécificateurs multiples de filtre"
+
+#: list-objects-filter-options.c:126
+msgid "cannot change partial clone promisor remote"
+msgstr "impossible de modifier le prometteur distant de clone partiel"
+
+#: lockfile.c:151
 #, c-format
 msgid ""
 "Unable to create '%s.lock': %s.\n"
@@ -2136,87 +2338,168 @@ msgstr ""
 "un processus git peut avoir planté :\n"
 "supprimez le fichier manuellement pour poursuivre."
 
-#: lockfile.c:160
+#: lockfile.c:159
 #, c-format
 msgid "Unable to create '%s.lock': %s"
 msgstr "Impossible de créer '%s.lock' : %s"
 
-#: merge.c:41
+#: merge.c:71
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: merge.c:96 builtin/am.c:1980 builtin/am.c:2015 builtin/checkout.c:377
-#: builtin/checkout.c:591 builtin/clone.c:753
+#: merge.c:136 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:378
+#: builtin/checkout.c:606 builtin/clone.c:761
 msgid "unable to write new index file"
 msgstr "impossible d'écrire le nouveau fichier d'index"
 
-#: merge-recursive.c:210
+#: merge-recursive.c:298
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:232 merge-recursive.c:240
+#: merge-recursive.c:320
+#, 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:328
 #, c-format
-msgid "addinfo_cache failed for path '%s'"
-msgstr "échec de addinfo_cache pour le chemin '%s'"
+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:304
+#: merge-recursive.c:410
 msgid "error building trees"
 msgstr "erreur de construction des arbres"
 
-#: merge-recursive.c:728
+#: merge-recursive.c:881
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:739
+#: merge-recursive.c:892
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Suppression de %s pour faire de la place pour le sous-répertoire\n"
 
-#: merge-recursive.c:753 merge-recursive.c:772
+#: merge-recursive.c:906 merge-recursive.c:925
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:762
+#: merge-recursive.c:915
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:804 builtin/cat-file.c:36
+#: merge-recursive.c:957 builtin/cat-file.c:37
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:806
+#: merge-recursive.c:959
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:830
+#: merge-recursive.c:983
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:841
+#: merge-recursive.c:994
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:846
+#: merge-recursive.c:999
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:986
+#: merge-recursive.c:1186
+#, 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:1193
+#, 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:1200
+#, 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:1208 merge-recursive.c:1220
+#, c-format
+msgid "Fast-forwarding submodule %s to the following commit:"
+msgstr "Avance rapide du sous-module %s au commit suivant :"
+
+#: merge-recursive.c:1211 merge-recursive.c:1223
+#, c-format
+msgid "Fast-forwarding submodule %s"
+msgstr "Avance rapide du sous-module %s"
+
+#: merge-recursive.c:1245
+#, 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:1249
+#, 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:1250
+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:1253
+#, c-format
+msgid ""
+"If this is correct simply add it to the index for example\n"
+"by using:\n"
+"\n"
+"  git update-index --cacheinfo 160000 %s \"%s\"\n"
+"\n"
+"which will accept this suggestion.\n"
+msgstr ""
+"Si c'est correct, ajoutez le simplement à l'index\n"
+"en utilisant par exemple :\n"
+"\n"
+"  git update-index --cacheinfo 160000 %s \"%s\"\n"
+"\n"
+"qui acceptera cette suggestion.\n"
+
+#: merge-recursive.c:1262
+#, 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:1321
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:990
+#: merge-recursive.c:1326
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1093
+#: merge-recursive.c:1358
+#, c-format
+msgid "Auto-merging %s"
+msgstr "Fusion automatique de %s"
+
+#: merge-recursive.c:1423
+#, 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:1475
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2225,7 +2508,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:1098
+#: merge-recursive.c:1480
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -2234,7 +2517,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:1105
+#: merge-recursive.c:1487
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2243,7 +2526,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:1110
+#: merge-recursive.c:1492
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -2252,20 +2535,31 @@ 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:1144
+#: merge-recursive.c:1526
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1144
+#: merge-recursive.c:1526
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1201
+#: merge-recursive.c:1580 merge-recursive.c:1736 merge-recursive.c:2368
+#: merge-recursive.c:3086
+#, c-format
+msgid "Refusing to lose dirty file at %s"
+msgstr "Refus de perdre le fichier modifié %s"
+
+#: merge-recursive.c:1594
 #, 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:1226
+#: merge-recursive.c:1599
+#, 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:1625
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2274,141 +2568,193 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1231
+#: merge-recursive.c:1630
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1293
+#: merge-recursive.c:1694
 #, 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:1326
+#: merge-recursive.c:1733
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Renommage de %s en %s et de %s en %s à la place"
 
-#: merge-recursive.c:1529
+#: merge-recursive.c:1745
+#, 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:1951
+#, c-format
+msgid ""
+"CONFLICT (directory rename split): Unclear where to place %s because "
+"directory %s was renamed to multiple other directories, with no destination "
+"getting a majority of the files."
+msgstr ""
+"CONFLIT (renommage de répertoire coupé) : la place de %s n'est pas claire "
+"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:1983
+#, c-format
+msgid ""
+"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
+"implicit directory rename(s) putting the following path(s) there: %s."
+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:1993
+#, c-format
+msgid ""
+"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
+"implicit directory renames tried to put these paths there: %s"
+msgstr ""
+"CONFLIT (renommage implicite de répertoire) : impossible de transformer "
+"plusieurs chemins sur %s ; les chemins concernés sont : %s"
+
+#: merge-recursive.c:2085
+#, c-format
+msgid ""
+"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
+">%s in %s"
+msgstr ""
+"CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
+"Renommage de répertoire %s->%s dans %s"
+
+#: merge-recursive.c:2330
+#, c-format
+msgid ""
+"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
+"renamed."
+msgstr ""
+"AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
+"renommé."
+
+#: merge-recursive.c:2736
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1544
+#: merge-recursive.c:2751
 #, c-format
 msgid "Adding merged %s"
 msgstr "Ajout de %s fusionné"
 
-#: merge-recursive.c:1551 merge-recursive.c:1781
+#: merge-recursive.c:2758 merge-recursive.c:3089
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:1608
+#: merge-recursive.c:2914
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:1611
+#: merge-recursive.c:2917
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:1680
+#: merge-recursive.c:2986
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:1680
+#: merge-recursive.c:2986
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:1690
+#: merge-recursive.c:2997
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:1697
+#: merge-recursive.c:3004
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:1733
+#: merge-recursive.c:3046
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:1747
-#, c-format
-msgid "Auto-merging %s"
-msgstr "Fusion automatique de %s"
-
-#: merge-recursive.c:1751 git-submodule.sh:945
+#: merge-recursive.c:3055 git-submodule.sh:895
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:1752
+#: merge-recursive.c:3056
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:1846
+#: merge-recursive.c:3178
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:1872
+#: merge-recursive.c:3204
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:1878
+#: merge-recursive.c:3210
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:1884
+#: merge-recursive.c:3217
 #, 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:1893
+#: merge-recursive.c:3226
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:1930
-msgid "Already up-to-date!"
+#: merge-recursive.c:3267
+#, c-format
+msgid "Dirty index: cannot merge (dirty: %s)"
+msgstr "Index sale : fusion impossible (sales : %s)"
+
+#: merge-recursive.c:3271
+msgid "Already up to date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:1939
+#: merge-recursive.c:3280
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:2022
+#: merge-recursive.c:3379
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:2035
+#: merge-recursive.c:3392
 #, 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:2074
+#: merge-recursive.c:3431
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:2137
+#: merge-recursive.c:3495
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:2151 builtin/merge.c:646 builtin/merge.c:793
+#: merge-recursive.c:3511 builtin/merge.c:659 builtin/merge.c:816
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
-#: notes-merge.c:273
+#: notes-merge.c:272
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -2419,21 +2765,21 @@ msgstr ""
 "Veuillez utiliser 'git notes merge --commit' ou 'git notes merge --abort' "
 "pour valider/abandonner la fusion en cours avant d'en démarrer une nouvelle."
 
-#: notes-merge.c:280
+#: notes-merge.c:279
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "Vous n'avez pas terminé votre fusion de notes (%s existe)."
 
-#: notes-utils.c:42
+#: notes-utils.c:43
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr "Impossible de valider un arbre de notes non initialisé/référencé"
 
-#: notes-utils.c:101
+#: notes-utils.c:102
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr "Mauvaise valeur de notes.rewriteMode : '%s'"
 
-#: notes-utils.c:111
+#: notes-utils.c:112
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr "Refus de réécrire des notes dans %s (hors de refs/notes/)"
@@ -2442,21 +2788,36 @@ msgstr "Refus de réécrire des notes dans %s (hors de refs/notes/)"
 #. the environment variable, the second %s is
 #. its value.
 #.
-#: notes-utils.c:141
+#: notes-utils.c:142
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr "Mauvaise valeur de %s : '%s'"
 
-#: object.c:240
+#: object.c:242
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "impossible d'analyser l'objet : %s"
 
-#: parse-options.c:573
+#: packfile.c:563
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
+
+#: packfile.c:1742
+#, 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:1746
+#, 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:621
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:591
+#: parse-options.c:640
 #, c-format
 msgid "usage: %s"
 msgstr "usage : %s"
@@ -2464,26 +2825,31 @@ msgstr "usage : %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:597
+#: parse-options.c:646
 #, c-format
 msgid "   or: %s"
 msgstr "   ou : %s"
 
-#: parse-options.c:600
+#: parse-options.c:649
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:634
+#: parse-options.c:688
 msgid "-NUM"
 msgstr "-NUM"
 
-#: parse-options-cb.c:108
+#: parse-options-cb.c:44
+#, c-format
+msgid "malformed expiration date '%s'"
+msgstr "date d'expiration malformée : '%s'"
+
+#: parse-options-cb.c:112
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "nom d'objet malformé '%s'"
 
-#: path.c:890
+#: path.c:892
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
@@ -2562,25 +2928,16 @@ msgstr ""
 "%s : le spécificateur magique de chemin n'est pas supporté par cette "
 "commande : %s"
 
-#: pathspec.c:575
-msgid ""
-"empty strings as pathspecs will be made invalid in upcoming releases. please "
-"use . instead if you meant to match all paths"
-msgstr ""
-"les chaines de caractères vides comme spécificateurs de chemin seront "
-"invalides dans les prochaines versions. Veuillez utiliser . à la place pour "
-"correspondre à tous le chemins"
-
-#: pathspec.c:599
+#: pathspec.c:592
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
-#: pretty.c:963
+#: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: read-cache.c:1443
+#: read-cache.c:1500
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2589,7 +2946,7 @@ msgstr ""
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1453
+#: read-cache.c:1510
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2598,52 +2955,54 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:2308 builtin/merge.c:1019
+#: read-cache.c:2404 sequencer.c:4338 wrapper.c:658 builtin/merge.c:1048
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: read-cache.c:2383 sequencer.c:1353 sequencer.c:2054
+#: read-cache.c:2477 sequencer.c:2102 sequencer.c:3234
 #, c-format
 msgid "could not stat '%s'"
 msgstr "stat impossible de '%s'"
 
-#: read-cache.c:2396
+#: read-cache.c:2490
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "impossible d'ouvrir le répertoire git : %s"
 
-#: read-cache.c:2408
+#: read-cache.c:2502
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "échec lors de l'unlink : %s"
 
-#: refs.c:622
+#: refs.c:732 sequencer.c:4334 sequencer.c:4393 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:779
 #, c-format
-msgid "Could not open '%s' for writing"
-msgstr "Impossible d'ouvrir '%s' en écriture"
+msgid "could not open '%s' for writing"
+msgstr "impossible d'ouvrir '%s' en écriture"
 
-#: refs.c:1769
+#: refs.c:1880
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-#: refs/files-backend.c:1664
+#: refs/files-backend.c:1191
+#, c-format
+msgid "could not remove reference %s"
+msgstr "impossible de supprimer la référence %s"
+
+#: refs/files-backend.c:1205 refs/packed-backend.c:1531
+#: refs/packed-backend.c:1541
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "Impossible de supprimer la référence %s : %s"
 
-#: refs/files-backend.c:1667
+#: refs/files-backend.c:1208 refs/packed-backend.c:1544
 #, c-format
 msgid "could not delete references: %s"
 msgstr "impossible de supprimer les références : %s"
 
-#: refs/files-backend.c:1676
-#, c-format
-msgid "could not remove reference %s"
-msgstr "impossible de supprimer la référence %s"
-
 # à priori on parle d'une branche ici
-#: ref-filter.c:35 wt-status.c:1811
+#: ref-filter.c:35 wt-status.c:1850
 msgid "gone"
 msgstr "disparue"
 
@@ -2662,157 +3021,162 @@ msgstr "en retard de %d"
 msgid "ahead %d, behind %d"
 msgstr "en avance de %d, en retard de %d"
 
-#: ref-filter.c:105
+#: ref-filter.c:121
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:107
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:121
+#: ref-filter.c:145
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Valeur entière attendue refname:lstrip=%s"
 
-#: ref-filter.c:125
+#: ref-filter.c:149
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:127
+#: ref-filter.c:151
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "argument %%(%s) non reconnu : %s"
 
-#: ref-filter.c:167
+#: ref-filter.c:206
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:174
+#: ref-filter.c:215
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:181
+#: ref-filter.c:235
 #, c-format
-msgid "%%(trailers) does not take arguments"
-msgstr "%%(trailers) n'accepte pas d'argument"
+msgid "unknown %%(trailers) argument: %s"
+msgstr "argument %%(trailers) inconnu : %s"
 
-#: ref-filter.c:200
+#: ref-filter.c:264
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:202
+#: ref-filter.c:266
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:215
+#: ref-filter.c:281
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "valeur positive attendue objectname:short=%s"
 
-#: ref-filter.c:219
+#: ref-filter.c:285
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:246
+#: ref-filter.c:315
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:258
+#: ref-filter.c:327
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:262
+#: ref-filter.c:334
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:268
+#: ref-filter.c:343
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:272
+#: ref-filter.c:351
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:287
+#: ref-filter.c:369
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:378
+#: ref-filter.c:464
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:404
+#: ref-filter.c:491
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:508
+#: ref-filter.c:608
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:568
+#: ref-filter.c:671
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:570
+#: ref-filter.c:673
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:572
+#: ref-filter.c:675
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:598
+#: ref-filter.c:703
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:600
+#: ref-filter.c:705
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:602
+#: ref-filter.c:707
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:615
+#: ref-filter.c:722
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:670
+#: ref-filter.c:779
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1254
+#: ref-filter.c:1387
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(aucune branche, rebasage de %s)"
 
-#: ref-filter.c:1257
+#: ref-filter.c:1390
+#, c-format
+msgid "(no branch, rebasing detached HEAD %s)"
+msgstr "(aucune branche, rebasage de la HEAD détachée %s)"
+
+#: ref-filter.c:1393
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(aucune branche, bisect a démarré sur %s)"
@@ -2820,7 +3184,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:1265
+#: ref-filter.c:1401
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD détachée sur %s)"
@@ -2828,140 +3192,150 @@ msgstr "(HEAD détachée sur %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1272
+#: ref-filter.c:1408
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD détachée depuis %s)"
 
-#: ref-filter.c:1276
+#: ref-filter.c:1412
 msgid "(no branch)"
 msgstr "(aucune branche)"
 
-#: ref-filter.c:1426 ref-filter.c:1457
+#: ref-filter.c:1442
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1429 ref-filter.c:1460
+#: ref-filter.c:1445
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "echec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1760
+#: ref-filter.c:1902
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:1827
+#: ref-filter.c:1984
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:1832
+#: ref-filter.c:1989
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: ref-filter.c:2095
+#: ref-filter.c:2261
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2176
+#: ref-filter.c:2365
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: remote.c:747
+#: remote.c:605
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Impossible de récupérer à la fois %s et %s pour %s"
 
-#: remote.c:751
+#: remote.c:609
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s suit habituellement %s, pas %s"
 
-#: remote.c:755
+#: remote.c:613
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s suit à la fois %s et %s"
 
-#: remote.c:763
+#: remote.c:621
 msgid "Internal error"
 msgstr "Erreur interne"
 
-#: remote.c:1680 remote.c:1782
+#: remote.c:1534 remote.c:1635
 msgid "HEAD does not point to a branch"
 msgstr "HEAD ne pointe pas sur une branche"
 
-#: remote.c:1689
+#: remote.c:1543
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "pas de branche '%s'"
 
-#: remote.c:1692
+#: remote.c:1546
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "aucune branche amont configurée pour la branche '%s'"
 
-#: remote.c:1698
+#: remote.c:1552
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "la branche amont '%s' n'est pas stockée comme branche de suivi"
 
-#: remote.c:1713
+#: remote.c:1567
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "la destination de poussée '%s' sur le serveur distant '%s' n'a pas de "
 "branche locale de suivi"
 
-#: remote.c:1725
+#: remote.c:1579
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branche '%s' n'a aucune branche distante de poussée"
 
-#: remote.c:1736
+#: remote.c:1589
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "les références de spec pour '%s' n'incluent pas '%s'"
 
-#: remote.c:1749
+#: remote.c:1602
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "la poussée n'a pas de destination (push.default vaut 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1624
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 "impossible de résoudre une poussée 'simple' pour une destination unique"
 
-#: remote.c:2076
+#: remote.c:1939
 #, 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:2080
+#: remote.c:1943
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:2083
+#: remote.c:1946
 #, c-format
-msgid "Your branch is up-to-date with '%s'.\n"
+msgid "Your branch is up to date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:2087
+#: remote.c:1950
+#, 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:1953
+#, c-format
+msgid "  (use \"%s\" for details)\n"
+msgstr "  (utilisez \"%s\" pour plus de détails)\n"
+
+#: remote.c:1957
 #, 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:2093
+#: remote.c:1963
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\n"
 
-#: remote.c:2096
+#: remote.c:1966
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2973,11 +3347,11 @@ msgstr[1] ""
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:2104
+#: remote.c:1974
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:2107
+#: remote.c:1977
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2992,47 +3366,63 @@ msgstr[1] ""
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:2117
+#: remote.c:1987
 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"
 
-#: revision.c:2187
+#: revision.c:2289
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2190
+#: revision.c:2292
 #, 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:2384
+#: revision.c:2489
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: run-command.c:644
+#: run-command.c:728
 msgid "open /dev/null failed"
 msgstr "échec de l'ouverture de /dev/null"
 
-#: send-pack.c:151
+#: run-command.c:1271
+#, c-format
+msgid ""
+"The '%s' hook was ignored because it's not set as executable.\n"
+"You can disable this warning with `git config advice.ignoredHook false`."
+msgstr ""
+"Le crochet '%s' a été ignoré parce qu'il n'est pas marqué comme exécutable.\n"
+"Vous pouvez désactiver cet avertissement avec `git config advice.ignoredHook "
+"false`."
+
+#: send-pack.c:141
+msgid "unexpected flush packet while reading remote unpack status"
+msgstr ""
+"paquet de nettoyage inattendu pendant la lecture de l'état de dépaquetage "
+"distant"
+
+#: send-pack.c:143
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "impossible d'analyser l'état de dépaquetage distant : %s"
 
-#: send-pack.c:153
+#: send-pack.c:145
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "le dépaquetage a échoué : %s"
 
-#: send-pack.c:316
+#: send-pack.c:308
 msgid "failed to sign the push certificate"
 msgstr "impossible de signer le certificat de poussée"
 
-#: send-pack.c:429
+#: send-pack.c:421
 msgid "the receiving end does not support --signed push"
 msgstr "Le receveur ne gère pas les poussées avec --signed"
 
-#: send-pack.c:431
+#: send-pack.c:423
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -3040,32 +3430,42 @@ msgstr ""
 "pas d'envoi de certificat de poussée car le receveur ne gère pas les "
 "poussées avec --signed"
 
-#: send-pack.c:443
+#: send-pack.c:435
 msgid "the receiving end does not support --atomic push"
 msgstr "Le receveur ne gère pas les poussées avec --atomic"
 
-#: send-pack.c:448
+#: send-pack.c:440
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:216
+#: sequencer.c:175
+#, c-format
+msgid "invalid commit message cleanup mode '%s'"
+msgstr "mode de nettoyage invalide de message de validation '%s'"
+
+#: sequencer.c:275
+#, c-format
+msgid "could not delete '%s'"
+msgstr "Impossible de supprimer '%s'"
+
+#: sequencer.c:301
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:218
+#: sequencer.c:303
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:220
+#: sequencer.c:305
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:222
+#: sequencer.c:307
 #, c-format
 msgid "Unknown action: %d"
 msgstr "Action inconnue : %d"
 
-#: sequencer.c:279
+#: sequencer.c:364
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -3073,7 +3473,7 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:282
+#: sequencer.c:367
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -3083,42 +3483,45 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:295 sequencer.c:1685
+#: sequencer.c:380 sequencer.c:2468
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:298 sequencer.c:1563 sequencer.c:1690 sequencer.c:1704
+#: sequencer.c:382 sequencer.c:2346 sequencer.c:2472 sequencer.c:2486
+#: sequencer.c:2694 sequencer.c:4336 sequencer.c:4399 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: sequencer.c:302
+#: sequencer.c:387
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:306 sequencer.c:1568 sequencer.c:1692
+#: sequencer.c:392 sequencer.c:2351 sequencer.c:2474 sequencer.c:2488
+#: sequencer.c:2702
 #, c-format
-msgid "failed to finalize '%s'."
-msgstr "échec lors de la finalisation de '%s'."
+msgid "failed to finalize '%s'"
+msgstr "échec lors de la finalisation de '%s'"
 
-#: sequencer.c:330 sequencer.c:817 sequencer.c:1589 builtin/am.c:258
-#: builtin/commit.c:750 builtin/merge.c:1017
+#: sequencer.c:415 sequencer.c:804 sequencer.c:1493 sequencer.c:2371
+#: sequencer.c:2684 sequencer.c:2788 builtin/am.c:259 builtin/commit.c:727
+#: builtin/merge.c:1046
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: sequencer.c:356
+#: sequencer.c:441
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:360
+#: sequencer.c:445
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:389
+#: sequencer.c:474
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
@@ -3126,20 +3529,20 @@ msgstr "%s : avance rapide"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:472
+#: sequencer.c:563
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:491
-msgid "could not resolve HEAD commit\n"
-msgstr "impossible de résoudre le commit HEAD\n"
+#: sequencer.c:579
+msgid "unable to update cache tree"
+msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:511
-msgid "unable to update cache tree\n"
-msgstr "impossible de mettre à jour l'arbre de cache\n"
+#: sequencer.c:592
+msgid "could not resolve HEAD commit"
+msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:595
+#: sequencer.c:749
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -3168,264 +3571,378 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:697
-#, c-format
-msgid "could not parse commit %s\n"
-msgstr "impossible d'analyser le commit %s\n"
+#: sequencer.c:818
+msgid "writing root commit"
+msgstr "écriture du commit racine"
 
-#: sequencer.c:702
-#, c-format
-msgid "could not parse parent commit %s\n"
-msgstr "impossible d'analyser le commit parent %s\n"
+#: sequencer.c:1043
+msgid "'prepare-commit-msg' hook failed"
+msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:824
-#, c-format
+#: sequencer.c:1050
 msgid ""
-"unexpected 1st line of squash message:\n"
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly. Run the\n"
+"following command and follow the instructions in your editor to edit\n"
+"your configuration file:\n"
 "\n"
-"\t%.*s"
-msgstr ""
-"première ligne de message de compression inattendue :\n"
+"    git config --global --edit\n"
 "\n"
-"\t%.*s"
-
-#: sequencer.c:830
-#, c-format
-msgid ""
-"invalid 1st line of squash message:\n"
+"After doing this, you may fix the identity used for this commit with:\n"
 "\n"
-"\t%.*s"
+"    git commit --amend --reset-author\n"
 msgstr ""
-"première ligne de message de compression invalide :\n"
+"Votre nom et votre adresse courriel ont été configurés automatiquement en "
+"se\n"
+"fondant sur votre nom d'utilisateur et le nom de votre machine. Veuillez \n"
+"vérifier qu'ils sont corrects. Vous pouvez supprimer ce message en les \n"
+"paramétrant explicitement. Lancez les commandes suivantes et suivez les\n"
+"instruction dans votre éditeur pour éditer votre fichier de configuration :\n"
 "\n"
-"\t%.*s"
-
-#: sequencer.c:836 sequencer.c:861
-#, c-format
-msgid "This is a combination of %d commits."
+"    git config --global --edit\n"
+"\n"
+"Après ceci, vous pouvez corriger l'identité utilisée pour cette validation "
+"avec :\n"
+"\n"
+"    git commit --amend --reset-author\n"
+
+#: sequencer.c:1063
+msgid ""
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly:\n"
+"\n"
+"    git config --global user.name \"Your Name\"\n"
+"    git config --global user.email you@example.com\n"
+"\n"
+"After doing this, you may fix the identity used for this commit with:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+msgstr ""
+"Votre nom et votre adresse courriel ont été configurés automatiquement en se "
+"fondant\n"
+"sur votre nom d'utilisateur et le nom de votre machine. Veuillez vérifier "
+"qu'ils sont corrects.\n"
+"Vous pouvez supprimer ce message en les paramétrant explicitement :\n"
+"\n"
+"    git config --global user.name \"Votre Nom\"\n"
+"    git config --global user.email vous@exemple.com\n"
+"\n"
+"Après ceci, vous pouvez corriger l'identité utilisée pour ce commit avec :\n"
+"\n"
+"    git commit --amend --reset-author\n"
+
+#: sequencer.c:1103
+msgid "couldn't look up newly created commit"
+msgstr "impossible de retrouver le commit nouvellement créé"
+
+#: sequencer.c:1105
+msgid "could not parse newly created commit"
+msgstr "impossible d'analyser le commit nouvellement créé"
+
+#: sequencer.c:1151
+msgid "unable to resolve HEAD after creating commit"
+msgstr "impossible de résoudre HEAD après création du commit"
+
+#: sequencer.c:1153
+msgid "detached HEAD"
+msgstr "HEAD détachée"
+
+#: sequencer.c:1157
+msgid " (root-commit)"
+msgstr " (commit racine)"
+
+#: sequencer.c:1178
+msgid "could not parse HEAD"
+msgstr "impossible de lire HEAD"
+
+#: sequencer.c:1180
+#, c-format
+msgid "HEAD %s is not a commit!"
+msgstr "HEAD %s n'est pas un commit !"
+
+#: sequencer.c:1184 builtin/commit.c:1528
+msgid "could not parse HEAD commit"
+msgstr "impossible d'analyser le commit HEAD"
+
+#: sequencer.c:1235 sequencer.c:1832
+msgid "unable to parse commit author"
+msgstr "impossible d'analyser l'auteur du commit"
+
+#: sequencer.c:1245 builtin/am.c:1630 builtin/merge.c:645
+msgid "git write-tree failed to write a tree"
+msgstr "git write-tree a échoué à écrire un arbre"
+
+#: sequencer.c:1262 sequencer.c:1317
+#, c-format
+msgid "unable to read commit message from '%s'"
+msgstr "impossible de lire le message de validation de '%s'"
+
+#: sequencer.c:1284 builtin/am.c:1650 builtin/commit.c:1631 builtin/merge.c:825
+#: builtin/merge.c:850
+msgid "failed to write commit object"
+msgstr "échec de l'écriture de l'objet commit"
+
+#: sequencer.c:1344
+#, c-format
+msgid "could not parse commit %s"
+msgstr "impossible d'analyser le commit %s"
+
+#: sequencer.c:1349
+#, c-format
+msgid "could not parse parent commit %s"
+msgstr "impossible d'analyser le commit parent %s"
+
+#: sequencer.c:1500 sequencer.c:1525
+#, c-format
+msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:845
+#: sequencer.c:1510 sequencer.c:4355
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:847
+#: sequencer.c:1512 sequencer.c:2729
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:849
+#: sequencer.c:1514
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:855
+#: sequencer.c:1520
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:864 git-rebase--interactive.sh:445
+#: sequencer.c:1527 git-rebase--interactive.sh:457
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:872
+#: sequencer.c:1535
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:879
+#: sequencer.c:1542
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:884
+#: sequencer.c:1548
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:889
+#: sequencer.c:1553
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:955
+#: sequencer.c:1631
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:973
+#: sequencer.c:1638
+msgid "cannot fixup root commit"
+msgstr "impossible de réparer le commit racine"
+
+#: sequencer.c:1657
 #, 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:981
+#: sequencer.c:1665
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:985
+#: sequencer.c:1669
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "une branche principale a été spécifiée mais le commit %s n'est pas une "
 "fusion."
 
-#: sequencer.c:991
+#: sequencer.c:1675
 #, 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:1012
+#: sequencer.c:1694
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1075 sequencer.c:1830
+#: sequencer.c:1759
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1126
+#: sequencer.c:1813
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1127
+#: sequencer.c:1814
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:1169
+#: sequencer.c:1864
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:1179
+#: sequencer.c:1874
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:1186
+#: sequencer.c:1881
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:1306
+#: sequencer.c:1961
+#, c-format
+msgid "%s does not accept arguments: '%s'"
+msgstr "%s n'accepte pas d'argument : '%s'"
+
+#: sequencer.c:1970
+#, c-format
+msgid "missing arguments for %s"
+msgstr "argument manquant pour %s"
+
+#: sequencer.c:2029
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:1314
+#: sequencer.c:2037
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:1347
+#: sequencer.c:2085 sequencer.c:4138 sequencer.c:4173
 #, c-format
 msgid "could not read '%s'."
 msgstr "impossible de lire '%s'."
 
-#: sequencer.c:1359
+#: sequencer.c:2108
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:1361
+#: sequencer.c:2110
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:1366
+#: sequencer.c:2115
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:1377
+#: sequencer.c:2126
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:1379
+#: sequencer.c:2128
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:1442
+#: sequencer.c:2195
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: sequencer.c:1445
+#: sequencer.c:2198
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:1502
+#: sequencer.c:2269
+msgid "unusable squash-onto"
+msgstr "\"écrase-sur\" inutilisable"
+
+#: sequencer.c:2285
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:1540
+#: sequencer.c:2323
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un picorage ou un retour est déjà en cours"
 
-#: sequencer.c:1541
+#: sequencer.c:2324
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
 
-#: sequencer.c:1544
+#: sequencer.c:2327
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:1558
+#: sequencer.c:2341
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:1614 sequencer.c:2188
+#: sequencer.c:2396 sequencer.c:3403
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:1616
+#: sequencer.c:2398
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:1618 sequencer.c:1652
+#: sequencer.c:2400 sequencer.c:2435
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:1638 builtin/grep.c:929
+#: sequencer.c:2421 builtin/grep.c:720
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:1640
+#: sequencer.c:2423
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:1641
+#: sequencer.c:2424
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:1647
+#: sequencer.c:2430
 #, 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:1658
+#: sequencer.c:2441
 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:1795 sequencer.c:2086
+#: sequencer.c:2545 sequencer.c:3321
+#, c-format
+msgid "could not update %s"
+msgstr "impossible de mettre à jour %s"
+
+#: sequencer.c:2583 sequencer.c:3301
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1835 builtin/difftool.c:633
+#: sequencer.c:2618 sequencer.c:2622 builtin/difftool.c:639
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:1851
+#: sequencer.c:2641
 msgid "could not read index"
 msgstr "impossible de lire l'index"
 
-#: sequencer.c:1856
+#: sequencer.c:2646
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3440,11 +3957,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1862
+#: sequencer.c:2652
 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:1868
+#: sequencer.c:2658
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3461,17 +3978,62 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1925
+#: sequencer.c:2771
+msgid "writing fake root commit"
+msgstr "écriture d'un commit racine bidon"
+
+#: sequencer.c:2776
+msgid "writing squash-onto"
+msgstr "écriture de 'écraser-sur'"
+
+#: sequencer.c:2811
+#, c-format
+msgid "failed to find tree of %s"
+msgstr "impossible de trouver l'arbre de %s"
+
+#: sequencer.c:2829
+msgid "could not write index"
+msgstr "impossible d'écrire l'index"
+
+#: sequencer.c:2861
+msgid "cannot merge without a current revision"
+msgstr "impossible de fusionner avec une révision courante"
+
+#: sequencer.c:2884
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "impossible de résoudre '%s'"
+
+#: sequencer.c:2906
+#, c-format
+msgid "could not get commit message of '%s'"
+msgstr "impossible de lire le message de validation de '%s'"
+
+#: sequencer.c:2916 sequencer.c:2941
+#, c-format
+msgid "could not write '%s'"
+msgstr "impossible d'écrire '%s'"
+
+#: sequencer.c:3005
+#, c-format
+msgid "could not even attempt to merge '%.*s'"
+msgstr "impossible de seulement essayer de fusionner '%.*s'"
+
+#: sequencer.c:3021
+msgid "merge: Unable to write new index file"
+msgstr "fusion : Impossible d'écrire le nouveau fichier index"
+
+#: sequencer.c:3088
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:1937
+#: sequencer.c:3100
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:1940 git-rebase.sh:173
+#: sequencer.c:3103 git-rebase.sh:188
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3482,57 +4044,69 @@ 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:2022
+#: sequencer.c:3134
+#, c-format
+msgid ""
+"Could not execute the todo command\n"
+"\n"
+"    %.*s\n"
+"It has been rescheduled; To edit the command before continuing, please\n"
+"edit the todo list first:\n"
+"\n"
+"    git rebase --edit-todo\n"
+"    git rebase --continue\n"
+msgstr ""
+"Impossible d'exécuter la commande\n"
+"\n"
+"    %.*s\n"
+"Elle a été reprogrammée ; pour éditer la commande avant de poursuivre,\n"
+"veuillez éditer la liste de commandes en premier :\n"
+"\n"
+"    git rebase --edit-todo\n"
+"    git rebase --continue\n"
+
+#: sequencer.c:3202
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:2064
+#: sequencer.c:3264
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:2094
+#: sequencer.c:3309
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:2099
+#: sequencer.c:3314 sequencer.c:4352
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:2106
-#, c-format
-msgid "could not update %s"
-msgstr "impossible de mettre à jour %s"
-
-#: sequencer.c:2113
+#: sequencer.c:3328
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:2197
+#: sequencer.c:3414
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:2202
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr "impossible de supprimer CHERRY_PICK_HEAD"
-
-#: sequencer.c:2211
+#: sequencer.c:3423
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:2213
+#: sequencer.c:3425
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:2215
+#: sequencer.c:3427
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:2218
+#: sequencer.c:3430
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -3542,25 +4116,106 @@ 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:2228
+#: sequencer.c:3455 sequencer.c:3493
+#, c-format
+msgid "could not write file: '%s'"
+msgstr "impossible d'écrire le fichier : '%s'"
+
+#: sequencer.c:3508
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "impossible de supprimer CHERRY_PICK_HEAD"
+
+#: sequencer.c:3515
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:2308
+#: sequencer.c:3612
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:2312
+#: sequencer.c:3616
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:2345
+#: sequencer.c:3649
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: setup.c:171
+#: sequencer.c:4098
+msgid "make_script: unhandled options"
+msgstr "make_script : options non gérées"
+
+#: sequencer.c:4101
+msgid "make_script: error preparing revisions"
+msgstr "make_script : erreur lors de la préparation des révisions"
+
+#: sequencer.c:4142 sequencer.c:4177
+#, c-format
+msgid "unusable todo list: '%s'"
+msgstr "liste à faire inutilisable : '%s'"
+
+#: sequencer.c:4236
+#, 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:4302
+#, 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:4309
+#, 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:4321
+#, c-format
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'.\n"
+"Or you can abort the rebase with 'git rebase --abort'.\n"
+msgstr ""
+"Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
+"rebase --continue'.\n"
+"Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
+
+#: sequencer.c:4375
+#, c-format
+msgid "could not parse commit '%s'"
+msgstr "impossible d'analyser le commit '%s'"
+
+#: sequencer.c:4490
+msgid "the script was already rearranged."
+msgstr "le script a déjà été réarrangé."
+
+#: setup.c:123
+#, c-format
+msgid "'%s' is outside repository"
+msgstr "'%s' est hors du dépôt"
+
+#: setup.c:172
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -3570,7 +4225,7 @@ msgstr ""
 "Utilisez 'git <commande> -- <chemin>...' pour spécifier des chemins qui "
 "n'existent pas localement."
 
-#: setup.c:184
+#: setup.c:185
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -3581,7 +4236,14 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:252
+#: setup.c:234
+#, 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
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -3592,106 +4254,163 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:504
+#: setup.c:389
+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
+msgid "this operation must be run in a work tree"
+msgstr "Cette opération doit être effectuée dans un arbre de travail"
+
+#: setup.c:503
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:512
+#: setup.c:511
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:810
+#: setup.c:530
 #, 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"
+msgid "error opening '%s'"
+msgstr "erreur à l'ouverture de '%s'"
 
-#: setup.c:812 builtin/index-pack.c:1652
-msgid "Cannot come back to cwd"
-msgstr "Impossible de revenir au répertoire de travail courant"
+#: setup.c:532
+#, c-format
+msgid "too large to be a .git file: '%s'"
+msgstr "trop gros pour être une fichier .git : '%s'"
+
+#: setup.c:534
+#, c-format
+msgid "error reading %s"
+msgstr "erreur à la lecture de %s"
+
+#: setup.c:536
+#, c-format
+msgid "invalid gitfile format: %s"
+msgstr "format de fichier git invalide : %s"
+
+#: setup.c:538
+#, c-format
+msgid "no path in gitfile: %s"
+msgstr "aucun chemin dans le fichier git : %s"
+
+#: setup.c:540
+#, c-format
+msgid "not a git repository: %s"
+msgstr "ce n'est pas un dépôt git : %s"
+
+#: setup.c:639
+#, c-format
+msgid "'$%s' too big"
+msgstr "'$%s' trop gros"
 
-#: setup.c:1050
+#: setup.c:653
+#, c-format
+msgid "not a git repository: '%s'"
+msgstr "ce n'est pas un dépôt git : '%s'"
+
+#: setup.c:682 setup.c:684 setup.c:715
+#, c-format
+msgid "cannot chdir to '%s'"
+msgstr "impossible de se déplacer vers le répertoire (chdir) '%s'"
+
+#: setup.c:687 setup.c:743 setup.c:753 setup.c:792 setup.c:800 setup.c:815
+msgid "cannot come back to cwd"
+msgstr "impossible de revenir au répertoire de travail courant"
+
+#: setup.c:813
+#, c-format
+msgid "not a git repository (or any of the parent directories): %s"
+msgstr "ni ceci ni aucun de ses répertoires parents n'est un dépôt git : %s"
+
+#: setup.c:824
+#, c-format
+msgid "failed to stat '%*s%s%s'"
+msgstr "échec du stat de '%*s%s%s'"
+
+#: setup.c:1054
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:1062 setup.c:1068
+#: setup.c:1066 setup.c:1072
 #, c-format
-msgid "Cannot change to '%s'"
-msgstr "Impossible de modifié en '%s'"
+msgid "cannot change to '%s'"
+msgstr "impossible de modifier en '%s'"
 
-#: setup.c:1081
+#: setup.c:1085
 #, c-format
 msgid ""
-"Not a git repository (or any parent up to mount point %s)\n"
+"not a git repository (or any parent up to mount point %s)\n"
 "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
 msgstr ""
-"Ni ceci ni aucun de ses répertoires parents (jusqu'au point de montage %s) "
+"ni ceci ni aucun de ses répertoires parents (jusqu'au point de montage %s) "
 "n'est un dépôt git\n"
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
-"n'est pas activé)."
+"n'est pas défini)."
 
-#: setup.c:1173
+#: setup.c:1168
 #, c-format
 msgid ""
-"Problem with core.sharedRepository filemode value (0%.3o).\n"
+"problem with core.sharedRepository filemode value (0%.3o).\n"
 "The owner of files must always have read and write permissions."
 msgstr ""
-"Problème avec la valeur de core.sharedRepository (0%.3o).\n"
+"problème avec la valeur de core.sharedRepository (0%.3o).\n"
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: sha1_file.c:560
+#: setup.c:1211
+msgid "open /dev/null or dup failed"
+msgstr "échec de l'ouverture ou au dup de /dev/null"
+
+#: setup.c:1226
+msgid "fork failed"
+msgstr "échec de la bifurcation"
+
+#: setup.c:1231
+msgid "setsid failed"
+msgstr "échec du setsid"
+
+#: sha1-file.c:625
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1_file.c:586
+#: sha1-file.c:651
 #, 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:592
+#: sha1-file.c:657
 #, 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:598
+#: sha1-file.c:663
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1_file.c:606
+#: sha1-file.c:671
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1_file.c:1245
-msgid "offset before end of packfile (broken .idx?)"
-msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
-
-#: sha1_file.c:2729
-#, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr "offset avant le début de l'index de paquet pour %s (index corrompu ?)"
-
-#: sha1_file.c:2733
-#, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
-"offset au delà de la fin de l'index de paquet pour %s (index tronqué ?)"
-
-#: sha1_name.c:419
+#: sha1-name.c:442
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "le SHA1 court %s est ambigu"
 
-#: sha1_name.c:430
+#: sha1-name.c:453
 msgid "The candidates are:"
 msgstr "Les candidats sont :"
 
-#: sha1_name.c:589
+#: sha1-name.c:695
 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"
@@ -3716,67 +4435,72 @@ msgstr ""
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
-#: submodule.c:70 submodule.c:104
+#: submodule.c:97 submodule.c:131
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Modification impossible de .gitmodules non fusionné, résolvez les conflits "
 "d'abord"
 
-#: submodule.c:74 submodule.c:108
+#: submodule.c:101 submodule.c:135
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Impossible de trouver une section où path=%s dans .gitmodules"
 
-#: submodule.c:82
+#: submodule.c:109
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
 
 # ici %s est un chemin
-#: submodule.c:115
+#: submodule.c:142
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Impossible de supprimer l'élément de .gitmodules pour %s"
 
-#: submodule.c:126
+#: submodule.c:153
 msgid "staging updated .gitmodules failed"
 msgstr "échec de la mise en index du .gitmodules mis à jour"
 
-#: submodule.c:165
-msgid "negative values not allowed for submodule.fetchJobs"
-msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
-
-#: submodule.c:376
+#: submodule.c:315
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "dans le sous-module '%s' non populé"
 
-#: submodule.c:407
+#: submodule.c:346
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: submodule.c:1337
+#: submodule.c:837
+#, 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:1069 builtin/branch.c:651 builtin/submodule--helper.c:1743
+msgid "Failed to resolve HEAD as a valid ref."
+msgstr "Échec de résolution de HEAD comme référence valide."
+
+#: submodule.c:1375
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' n'est pas reconnu comme dépôt git"
 
-#: submodule.c:1475
+#: submodule.c:1513
 #, 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:1488
+#: submodule.c:1526
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1581
+#: submodule.c:1619
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "le sous-module '%s' a un index sale"
 
-#: submodule.c:1845
+#: submodule.c:1718
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -3784,18 +4508,18 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:1857 submodule.c:1913
+#: submodule.c:1730 submodule.c:1786
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:1861 builtin/submodule--helper.c:678
-#: builtin/submodule--helper.c:688
+#: submodule.c:1734 builtin/submodule--helper.c:1261
+#: builtin/submodule--helper.c:1271
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "impossible de créer le répertoire '%s'"
 
-#: submodule.c:1864
+#: submodule.c:1737
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -3806,94 +4530,103 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:1948
+#: submodule.c:1821
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: submodule.c:1992
+#: submodule.c:1865
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:2012
-msgid "BUG: returned path string doesn't match cwd?"
-msgstr "BUG : le chemin renvoyé ne correspond pas à cwd ?"
-
-#: submodule.c:2031
+#: submodule.c:1904
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
 
-#: submodule-config.c:420
+#: submodule-config.c:230
+#, c-format
+msgid "ignoring suspicious submodule name: %s"
+msgstr "nom de sous-module suspicieux %s ignoré"
+
+#: submodule-config.c:294
+msgid "negative values not allowed for submodule.fetchjobs"
+msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
+
+#: submodule-config.c:467
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
 
-#: trailer.c:241
+#: trailer.c:238
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "échec de la commande trailer '%s'"
 
-#: trailer.c:474 trailer.c:478 trailer.c:482 trailer.c:536 trailer.c:540
-#: trailer.c:544
+#: trailer.c:485 trailer.c:490 trailer.c:495 trailer.c:549 trailer.c:553
+#: trailer.c:557
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%s'"
 
-#: trailer.c:526 trailer.c:531 builtin/remote.c:290
+#: trailer.c:539 trailer.c:544 builtin/remote.c:293
 #, c-format
 msgid "more than one %s"
 msgstr "plus d'un %s"
 
-#: trailer.c:703
+#: trailer.c:730
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "symbole vide dans la ligne de fin '%.*s'"
 
-#: trailer.c:723
+#: trailer.c:750
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "impossible de lire le fichier d'entrée '%s'"
 
-#: trailer.c:726
+#: trailer.c:753
 msgid "could not read from stdin"
 msgstr "Impossible de lire depuis l'entrée standard"
 
-#: trailer.c:950 builtin/am.c:45
+#: trailer.c:1008 builtin/am.c:46
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
 
-#: trailer.c:952
+#: trailer.c:1010
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "%s n'est pas un fichier régulier"
 
-#: trailer.c:954
+#: trailer.c:1012
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
 
-#: trailer.c:966
+#: trailer.c:1024
 msgid "could not open temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: trailer.c:1002
+#: trailer.c:1064
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "impossible de renommer un fichier temporaire en %s"
 
-#: transport.c:63
+#: transport.c:116
 #, c-format
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
 
-#: transport.c:152
+#: transport.c:208
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:890
+#: transport.c:584
+msgid "could not parse transport.color.* config"
+msgstr "impossible d'analyser la configuration transport.color.*"
+
+#: transport.c:996
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3902,7 +4635,7 @@ msgstr ""
 "Les chemins suivant de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:894
+#: transport.c:1000
 #, c-format
 msgid ""
 "\n"
@@ -3929,11 +4662,11 @@ msgstr ""
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:902
+#: transport.c:1008
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport-helper.c:1071
+#: transport-helper.c:1087
 #, c-format
 msgid "Could not read ref %s"
 msgstr "impossible de lire la réf %s"
@@ -3954,7 +4687,7 @@ msgstr "nom de fichier vide dans une entrée de l'arbre"
 msgid "too-short tree file"
 msgstr "fichier arbre trop court"
 
-#: unpack-trees.c:105
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3965,7 +4698,7 @@ msgstr ""
 "%%sVeuillez valider ou remiser vos modifications avant de basculer de "
 "branche."
 
-#: unpack-trees.c:107
+#: unpack-trees.c:113
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3975,7 +4708,7 @@ msgstr ""
 "l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:110
+#: unpack-trees.c:116
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3985,7 +4718,7 @@ msgstr ""
 "fusion :\n"
 "%%sVeuillez valider ou remiser vos modifications avant la fusion."
 
-#: unpack-trees.c:112
+#: unpack-trees.c:118
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3995,7 +4728,7 @@ msgstr ""
 "fusion :\n"
 "%%s"
 
-#: unpack-trees.c:115
+#: unpack-trees.c:121
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4004,7 +4737,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%sVeuillez valider ou remiser vos modifications avant %s."
 
-#: unpack-trees.c:117
+#: unpack-trees.c:123
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4013,7 +4746,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%s"
 
-#: unpack-trees.c:122
+#: unpack-trees.c:128
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -4023,7 +4756,7 @@ msgstr ""
 "contenus :\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4033,7 +4766,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:128
+#: unpack-trees.c:134
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4042,7 +4775,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:131
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4052,7 +4785,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:133
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4061,7 +4794,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:136
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4071,7 +4804,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:138
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4080,7 +4813,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:143
+#: unpack-trees.c:150
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4091,7 +4824,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:145
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4101,7 +4834,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:148
+#: unpack-trees.c:155
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4111,7 +4844,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:150
+#: unpack-trees.c:157
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4120,7 +4853,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:153
+#: unpack-trees.c:160
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4130,7 +4863,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:155
+#: unpack-trees.c:162
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4139,22 +4872,22 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:162
+#: unpack-trees.c:170
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrée '%s' surcharge avec '%s'. Affectation impossible."
 
-#: unpack-trees.c:165
+#: unpack-trees.c:173
 #, c-format
 msgid ""
-"Cannot update sparse checkout: the following entries are not up-to-date:\n"
+"Cannot update sparse checkout: the following entries are not up to date:\n"
 "%s"
 msgstr ""
 "Mise à jour d'extraction creuse impossible : les entrées suivantes ne sont "
 "pas à jour :\n"
 "%s"
 
-#: unpack-trees.c:167
+#: unpack-trees.c:175
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -4165,7 +4898,7 @@ msgstr ""
 "jour par l'extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:169
+#: unpack-trees.c:177
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -4176,7 +4909,7 @@ msgstr ""
 "à jour par extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:171
+#: unpack-trees.c:179
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -4185,19 +4918,12 @@ msgstr ""
 "Mise à jour impossible pour le sous-module :\n"
 "%s"
 
-#: unpack-trees.c:248
+#: unpack-trees.c:262
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:277
-#, c-format
-msgid "submodule update strategy not supported for submodule '%s'"
-msgstr ""
-"stratégie de mise à jour de sous-module non supportée pour le sous-module "
-"'%s'"
-
-#: unpack-trees.c:346
+#: unpack-trees.c:344
 msgid "Checking out files"
 msgstr "Extraction des fichiers"
 
@@ -4230,23 +4956,46 @@ msgstr "numéro de port invalide"
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:245
+#: worktree.c:245 builtin/am.c:2147
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
 
+#: worktree.c:291
+#, c-format
+msgid "'%s' at main working tree is not the repository directory"
+msgstr ""
+"'%s' dans l'arbre de travail principal n'est pas le répertoire de dépôt"
+
+#: worktree.c:302
+#, c-format
+msgid "'%s' file does not contain absolute path to the working tree location"
+msgstr ""
+"le fichier '%s' ne contient pas de chemin absolu à l'emplacement de l'arbre "
+"de travail"
+
+#: worktree.c:314
+#, c-format
+msgid "'%s' does not exist"
+msgstr "'%s' n'existe pas"
+
+#: worktree.c:320
+#, c-format
+msgid "'%s' is not a .git file, error code %d"
+msgstr "'%s' n'est pas un fichier .git, code d'erreur %d"
+
+#: worktree.c:328
+#, c-format
+msgid "'%s' does not point back to '%s'"
+msgstr "'%s' ne pointe pas en retour sur '%s'"
+
 #: wrapper.c:223 wrapper.c:393
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "impossible d'ouvrir '%s' en lecture/écriture"
 
-#: wrapper.c:225 wrapper.c:395 builtin/am.c:766
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr "impossible d'ouvrir '%s' en écriture"
-
-#: wrapper.c:227 wrapper.c:397 builtin/am.c:319 builtin/am.c:757
-#: builtin/am.c:849 builtin/merge.c:1014
+#: wrapper.c:227 wrapper.c:397 builtin/am.c:320 builtin/am.c:770
+#: builtin/am.c:862 builtin/merge.c:1043
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
@@ -4260,137 +5009,127 @@ msgstr "impossible d'accéder à '%s'"
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
-#: wrapper.c:656
-#, c-format
-msgid "could not write to %s"
-msgstr "Impossible d'écrire dans %s"
-
-#: wrapper.c:658
-#, c-format
-msgid "could not close %s"
-msgstr "impossible de fermer %s"
-
-#: wt-status.c:152
+#: wt-status.c:154
 msgid "Unmerged paths:"
 msgstr "Chemins non fusionnés :"
 
-#: wt-status.c:179 wt-status.c:206
+#: wt-status.c:181 wt-status.c:208
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (utilisez \"git reset %s <fichier>...\" pour désindexer)"
 
-#: wt-status.c:181 wt-status.c:208
+#: wt-status.c:183 wt-status.c:210
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (utilisez \"git rm --cached <fichier>...\" pour désindexer)"
 
-#: wt-status.c:185
+#: wt-status.c:187
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git add <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:187 wt-status.c:191
+#: wt-status.c:189 wt-status.c:193
 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:189
+#: wt-status.c:191
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git rm <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:200 wt-status.c:981
+#: wt-status.c:202 wt-status.c:1015
 msgid "Changes to be committed:"
 msgstr "Modifications qui seront validées :"
 
-#: wt-status.c:218 wt-status.c:990
+#: wt-status.c:220 wt-status.c:1024
 msgid "Changes not staged for commit:"
 msgstr "Modifications qui ne seront pas validées :"
 
-#: wt-status.c:222
+#: wt-status.c:224
 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:224
+#: wt-status.c:226
 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:225
+#: wt-status.c:227
 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:227
+#: wt-status.c:229
 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:239
+#: wt-status.c:241
 #, 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:254
+#: wt-status.c:256
 msgid "both deleted:"
 msgstr "supprimé des deux côtés :"
 
-#: wt-status.c:256
+#: wt-status.c:258
 msgid "added by us:"
 msgstr "ajouté par nous :"
 
-#: wt-status.c:258
+#: wt-status.c:260
 msgid "deleted by them:"
 msgstr "supprimé par eux :"
 
-#: wt-status.c:260
+#: wt-status.c:262
 msgid "added by them:"
 msgstr "ajouté par eux :"
 
-#: wt-status.c:262
+#: wt-status.c:264
 msgid "deleted by us:"
 msgstr "supprimé par nous :"
 
-#: wt-status.c:264
+#: wt-status.c:266
 msgid "both added:"
 msgstr "ajouté de deux côtés :"
 
-#: wt-status.c:266
+#: wt-status.c:268
 msgid "both modified:"
 msgstr "modifié des deux côtés :"
 
-#: wt-status.c:276
+#: wt-status.c:278
 msgid "new file:"
 msgstr "nouveau fichier :"
 
-#: wt-status.c:278
+#: wt-status.c:280
 msgid "copied:"
 msgstr "copié :"
 
-#: wt-status.c:280
+#: wt-status.c:282
 msgid "deleted:"
 msgstr "supprimé :"
 
-#: wt-status.c:282
+#: wt-status.c:284
 msgid "modified:"
 msgstr "modifié :"
 
-#: wt-status.c:284
+#: wt-status.c:286
 msgid "renamed:"
 msgstr "renommé :"
 
-#: wt-status.c:286
+#: wt-status.c:288
 msgid "typechange:"
 msgstr "modif. type :"
 
-#: wt-status.c:288
+#: wt-status.c:290
 msgid "unknown:"
 msgstr "inconnu :"
 
-#: wt-status.c:290
+#: wt-status.c:292
 msgid "unmerged:"
 msgstr "non fusionné :"
 
@@ -4406,130 +5145,130 @@ msgstr "contenu modifié, "
 msgid "untracked content, "
 msgstr "contenu non suivi, "
 
-#: wt-status.c:821
+#: wt-status.c:853
 #, 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:853
+#: wt-status.c:885
 msgid "Submodules changed but not updated:"
 msgstr "Sous-modules modifiés mais non mis à jour :"
 
-#: wt-status.c:855
+#: wt-status.c:887
 msgid "Submodule changes to be committed:"
 msgstr "Changements du sous-module à valider :"
 
-#: wt-status.c:937
+#: wt-status.c:969
 msgid ""
-"Do not touch the line above.\n"
-"Everything below will be removed."
+"Do not modify or remove the line above.\n"
+"Everything below it will be ignored."
 msgstr ""
-"Ne touchez pas à la ligne ci-dessus\n"
+"Ne touchez pas à la ligne ci-dessus.\n"
 "Tout ce qui suit sera éliminé."
 
-#: wt-status.c:1049
+#: wt-status.c:1084
 msgid "You have unmerged paths."
 msgstr "Vous avez des chemins non fusionnés."
 
-#: wt-status.c:1052
+#: wt-status.c:1087
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (réglez les conflits puis lancez \"git commit\")"
 
-#: wt-status.c:1054
+#: wt-status.c:1089
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (utilisez \"git merge --abort\" pour annuler la fusion)"
 
-#: wt-status.c:1059
+#: wt-status.c:1094
 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:1062
+#: wt-status.c:1097
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (utilisez \"git commit\" pour terminer la fusion)"
 
-#: wt-status.c:1072
+#: wt-status.c:1107
 msgid "You are in the middle of an am session."
 msgstr "Vous êtes au milieu d'une session am."
 
-#: wt-status.c:1075
+#: wt-status.c:1110
 msgid "The current patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: wt-status.c:1079
+#: wt-status.c:1114
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git am --continue\")"
 
-#: wt-status.c:1081
+#: wt-status.c:1116
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1083
+#: wt-status.c:1118
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1214
+#: wt-status.c:1250
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo est manquant."
 
-#: wt-status.c:1216
+#: wt-status.c:1252
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1219
+#: wt-status.c:1255
 #, 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:1230
+#: wt-status.c:1266
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1235
+#: wt-status.c:1271
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1238
+#: wt-status.c:1274
 #, 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:1246
+#: wt-status.c:1282
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1259
+#: wt-status.c:1295
 #, 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:1264
+#: wt-status.c:1300
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1278
+#: wt-status.c:1314
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1280
+#: wt-status.c:1316
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1282
+#: wt-status.c:1318
 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:1288
+#: wt-status.c:1324
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1292
+#: wt-status.c:1328
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -4537,128 +5276,128 @@ msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1297
+#: wt-status.c:1333
 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:1300
+#: wt-status.c:1336
 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:1304
+#: wt-status.c:1340
 #, 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:1309
+#: wt-status.c:1345
 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:1312
+#: wt-status.c:1348
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1314
+#: wt-status.c:1350
 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:1324
+#: wt-status.c:1360
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1329
+#: wt-status.c:1365
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1332
+#: wt-status.c:1368
 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:1334
+#: wt-status.c:1370
 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:1343
+#: wt-status.c:1379
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1348
+#: wt-status.c:1384
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1351
+#: wt-status.c:1387
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1353
+#: wt-status.c:1389
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1364
+#: wt-status.c:1400
 #, 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:1368
+#: wt-status.c:1404
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1371
+#: wt-status.c:1407
 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:1568
+#: wt-status.c:1604
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1574
+#: wt-status.c:1610
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1576
+#: wt-status.c:1612
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1581
+#: wt-status.c:1617
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.c:1583
+#: wt-status.c:1619
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
-#: wt-status.c:1586
+#: wt-status.c:1622
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1606
+#: wt-status.c:1642
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1607
+#: wt-status.c:1643
 msgid "No commits yet"
 msgstr "Aucun commit"
 
-#: wt-status.c:1621
+#: wt-status.c:1657
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1623
+#: wt-status.c:1659
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1627
+#: wt-status.c:1663
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4670,32 +5409,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1633
+#: wt-status.c:1669
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1635
+#: wt-status.c:1671
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1641
+#: wt-status.c:1677
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1646
+#: wt-status.c:1682
 #, 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:1649
+#: wt-status.c:1685
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1652
+#: wt-status.c:1688
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -4704,67 +5443,71 @@ 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:1655
+#: wt-status.c:1691
 #, 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:1658
+#: wt-status.c:1694
 #, 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:1661 wt-status.c:1666
+#: wt-status.c:1697 wt-status.c:1702
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1664
+#: wt-status.c:1700
 #, 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:1668
+#: wt-status.c:1704
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1780
+#: wt-status.c:1817
 msgid "No commits yet on "
-msgstr "Encore aucun commit sur  "
+msgstr "Encore aucun commit sur "
 
-#: wt-status.c:1784
+#: wt-status.c:1821
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-#: wt-status.c:1813 wt-status.c:1821
+#: wt-status.c:1852
+msgid "different"
+msgstr "différent"
+
+#: wt-status.c:1854 wt-status.c:1862
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1816 wt-status.c:1819
+#: wt-status.c:1857 wt-status.c:1860
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2311
+#: wt-status.c:2366
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2317
+#: wt-status.c:2372
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2319
+#: wt-status.c:2374
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:436
+#: compat/precompose_utf8.c:58 builtin/clone.c:442
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "échec lors de l'unlink de '%s'"
@@ -4773,126 +5516,131 @@ msgstr "échec lors de l'unlink de '%s'"
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<options>] [--] <chemin>..."
 
-#: builtin/add.c:82
+#: builtin/add.c:83
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
 
-#: builtin/add.c:87 builtin/commit.c:292
+#: builtin/add.c:88 builtin/commit.c:266
 msgid "updating files failed"
 msgstr "échec de la mise à jour des fichiers"
 
-#: builtin/add.c:97
+#: builtin/add.c:98
 #, c-format
 msgid "remove '%s'\n"
 msgstr "suppression de '%s'\n"
 
-#: builtin/add.c:151
+#: builtin/add.c:173
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:211 builtin/rev-parse.c:873
+#: builtin/add.c:233 builtin/rev-parse.c:892
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/add.c:222
+#: builtin/add.c:244
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Impossible d'ouvrir '%s' en écriture."
 
-#: builtin/add.c:226
+#: builtin/add.c:248
 msgid "Could not write patch"
 msgstr "Impossible d'écrire le patch"
 
-#: builtin/add.c:229
+#: builtin/add.c:251
 msgid "editing patch failed"
 msgstr "échec de l'édition du patch"
 
-#: builtin/add.c:232
+#: builtin/add.c:254
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Stat de '%s' impossible"
 
-#: builtin/add.c:234
+#: builtin/add.c:256
 msgid "Empty patch. Aborted."
 msgstr "Patch vide. Abandon."
 
-#: builtin/add.c:239
+#: builtin/add.c:261
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Impossible d'appliquer '%s'"
 
-#: builtin/add.c:249
+#: builtin/add.c:269
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n"
 
-#: builtin/add.c:269 builtin/clean.c:907 builtin/fetch.c:110 builtin/mv.c:124
-#: builtin/prune-packed.c:55 builtin/pull.c:201 builtin/push.c:529
-#: builtin/remote.c:1332 builtin/rm.c:242 builtin/send-pack.c:164
+#: builtin/add.c:289 builtin/clean.c:911 builtin/fetch.c:145 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:212 builtin/push.c:557
+#: builtin/remote.c:1342 builtin/rm.c:240 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "simuler l'action"
 
-#: builtin/add.c:272
+#: builtin/add.c:292
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:273 builtin/checkout.c:1162 builtin/reset.c:299
+#: builtin/add.c:293 builtin/checkout.c:1135 builtin/reset.c:302
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
-#: builtin/add.c:274
+#: builtin/add.c:294
 msgid "edit current diff and apply"
 msgstr "édition du diff actuel et application"
 
-#: builtin/add.c:275
+#: builtin/add.c:295
 msgid "allow adding otherwise ignored files"
 msgstr "permettre l'ajout de fichiers ignorés"
 
-#: builtin/add.c:276
+#: builtin/add.c:296
 msgid "update tracked files"
 msgstr "mettre à jour les fichiers suivis"
 
-#: builtin/add.c:277
+#: builtin/add.c:297
+msgid "renormalize EOL of tracked files (implies -u)"
+msgstr ""
+"renormaliser les fins de lignes (EOL) des fichiers suivis (implique -u)"
+
+#: builtin/add.c:298
 msgid "record only the fact that the path will be added later"
 msgstr "enregistrer seulement le fait que le chemin sera ajouté plus tard"
 
-#: builtin/add.c:278
+#: builtin/add.c:299
 msgid "add changes from all tracked and untracked files"
 msgstr "ajouter les modifications de tous les fichiers suivis et non suivis"
 
-#: builtin/add.c:281
+#: builtin/add.c:302
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "ignorer les chemins effacés dans la copie de travail (identique à --no-all)"
 
-#: builtin/add.c:283
+#: builtin/add.c:304
 msgid "don't add, only refresh the index"
 msgstr "ne pas ajouter, juste rafraîchir l'index"
 
-#: builtin/add.c:284
+#: builtin/add.c:305
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 "sauter seulement les fichiers qui ne peuvent pas être ajoutés du fait "
 "d'erreurs"
 
-#: builtin/add.c:285
+#: builtin/add.c:306
 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:286 builtin/update-index.c:952
+#: builtin/add.c:307 builtin/update-index.c:974
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/add.c:286 builtin/update-index.c:953
+#: builtin/add.c:307 builtin/update-index.c:975
 msgid "override the executable bit of the listed files"
 msgstr "outrepasser le bit exécutable pour les fichiers listés"
 
-#: builtin/add.c:288
+#: builtin/add.c:309
 msgid "warn when adding an embedded repository"
 msgstr "avertir lors de l'ajout d'un dépôt embarqué"
 
-#: builtin/add.c:303
+#: builtin/add.c:324
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -4923,155 +5671,155 @@ msgstr ""
 "\n"
 "Référez-vous à \"git help submodule\" pour plus d'information."
 
-#: builtin/add.c:331
+#: builtin/add.c:352
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "dépôt git embarqué ajouté : %s"
 
-#: builtin/add.c:349
+#: builtin/add.c:370
 #, c-format
 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:357
+#: builtin/add.c:378
 msgid "adding files failed"
 msgstr "échec de l'ajout de fichiers"
 
-#: builtin/add.c:394
+#: builtin/add.c:416
 msgid "-A and -u are mutually incompatible"
 msgstr "-A et -u sont mutuellement incompatibles"
 
-#: builtin/add.c:401
+#: builtin/add.c:423
 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:405
+#: builtin/add.c:427
 #, 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:420
+#: builtin/add.c:442
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Rien de spécifié, rien n'a été ajouté.\n"
 
-#: builtin/add.c:421
+#: builtin/add.c:443
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Vous vouliez sûrement dire 'git add .' ?\n"
 
-#: builtin/add.c:426 builtin/check-ignore.c:176 builtin/checkout.c:282
-#: builtin/checkout.c:475 builtin/clean.c:954 builtin/commit.c:351
-#: builtin/mv.c:144 builtin/reset.c:238 builtin/rm.c:272
-#: builtin/submodule--helper.c:244
+#: builtin/add.c:448 builtin/check-ignore.c:177 builtin/checkout.c:280
+#: builtin/checkout.c:483 builtin/clean.c:958 builtin/commit.c:325
+#: builtin/diff-tree.c:114 builtin/mv.c:144 builtin/reset.c:241
+#: builtin/rm.c:270 builtin/submodule--helper.c:328
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
 
-#: builtin/am.c:413
+#: builtin/am.c:414
 msgid "could not parse author script"
 msgstr "impossible d'analyser le script author"
 
-#: builtin/am.c:489
+#: builtin/am.c:498
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' a été effacé par le crochet applypatch-msg"
 
-#: builtin/am.c:530
+#: builtin/am.c:539
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Ligne en entrée malformée : '%s'."
 
-#: builtin/am.c:567
+#: builtin/am.c:576
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Impossible de copier les notes de '%s' vers '%s'"
 
-#: builtin/am.c:593
+#: builtin/am.c:602
 msgid "fseek failed"
 msgstr "échec de fseek"
 
-#: builtin/am.c:777
+#: builtin/am.c:790
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "impossible d'analyser le patch '%s'"
 
-#: builtin/am.c:842
+#: builtin/am.c:855
 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:889
+#: builtin/am.c:903
 msgid "invalid timestamp"
 msgstr "horodatage invalide"
 
-#: builtin/am.c:892 builtin/am.c:900
+#: builtin/am.c:908 builtin/am.c:920
 msgid "invalid Date line"
 msgstr "ligne de Date invalide"
 
-#: builtin/am.c:897
+#: builtin/am.c:915
 msgid "invalid timezone offset"
 msgstr "décalage horaire invalide"
 
-#: builtin/am.c:986
+#: builtin/am.c:1008
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:991 builtin/clone.c:401
+#: builtin/am.c:1013 builtin/clone.c:407
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
 
-#: builtin/am.c:995
+#: builtin/am.c:1018
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1120 builtin/commit.c:377
+#: builtin/am.c:1148 builtin/commit.c:351
 msgid "unable to write index file"
 msgstr "impossible d'écrire le fichier d'index"
 
-#: builtin/am.c:1171
+#: builtin/am.c:1162
 #, 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:1172
+#: builtin/am.c:1163
 #, 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:1173
+#: builtin/am.c:1164
 #, 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:1304
+#: builtin/am.c:1271
 msgid "Patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: builtin/am.c:1370
+#: builtin/am.c:1337
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "ligne d'identification invalide : %.*s"
 
-#: builtin/am.c:1392
+#: builtin/am.c:1359
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: builtin/am.c:1586
+#: builtin/am.c:1554
 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:1588
+#: builtin/am.c:1556
 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:1607
+#: builtin/am.c:1575
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -5079,38 +5827,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:1613
+#: builtin/am.c:1581
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1638
+#: builtin/am.c:1606
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1662 builtin/merge.c:632
-msgid "git write-tree failed to write a tree"
-msgstr "git write-tree a échoué à écrire un arbre"
-
-#: builtin/am.c:1669
+#: builtin/am.c:1637
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1682 builtin/commit.c:1767 builtin/merge.c:803
-#: builtin/merge.c:828
-msgid "failed to write commit object"
-msgstr "échec de l'écriture de l'objet commit"
-
-#: builtin/am.c:1715 builtin/am.c:1719
+#: builtin/am.c:1683 builtin/am.c:1687
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1735
+#: builtin/am.c:1703
 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:1740
+#: builtin/am.c:1708
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -5118,35 +5857,35 @@ msgstr "Le corps de la validation est :"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1750
+#: builtin/am.c:1718
 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:1800
+#: builtin/am.c:1768
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1840 builtin/am.c:1912
+#: builtin/am.c:1808 builtin/am.c:1879
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1856
+#: builtin/am.c:1824
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1864
+#: builtin/am.c:1832
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "le patch a échoué à %s %.*s"
 
-#: builtin/am.c:1870
-#, c-format
-msgid "The copy of the patch that failed is found in: %s"
-msgstr "La copie du patch qui a échoué se trouve dans : %s"
+#: builtin/am.c:1838
+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:1915
+#: builtin/am.c:1882
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -5157,7 +5896,7 @@ msgstr ""
 "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
 "patch."
 
-#: builtin/am.c:1922
+#: builtin/am.c:1889
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -5170,17 +5909,17 @@ msgstr ""
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: builtin/am.c:2031 builtin/am.c:2035 builtin/am.c:2047 builtin/reset.c:323
-#: builtin/reset.c:331
+#: builtin/am.c:1996 builtin/am.c:2000 builtin/am.c:2012 builtin/reset.c:324
+#: builtin/reset.c:332
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:2083
+#: builtin/am.c:2048
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'index"
 
-#: builtin/am.c:2117
+#: builtin/am.c:2083
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -5188,136 +5927,144 @@ msgstr ""
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2180
+#: builtin/am.c:2174
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2213
+#: builtin/am.c:2210
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2214
+#: builtin/am.c:2211
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<options>] (--continue | --quit | --abort)"
 
-#: builtin/am.c:2220
+#: builtin/am.c:2217
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2219
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2221
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: builtin/am.c:2225 builtin/init-db.c:484 builtin/prune-packed.c:57
-#: builtin/repack.c:180
+#: builtin/am.c:2222 builtin/init-db.c:484 builtin/prune-packed.c:57
+#: builtin/repack.c:192
 msgid "be quiet"
 msgstr "être silencieux"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2224
 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:2230
+#: builtin/am.c:2227
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2229
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2234
+#: builtin/am.c:2231
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2236
+#: builtin/am.c:2233
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2235
 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:2241
+#: builtin/am.c:2238
 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:2244
+#: builtin/am.c:2241
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252 builtin/am.c:2255
-#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267
-#: builtin/am.c:2273
+#: builtin/am.c:2243 builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252
+#: builtin/am.c:2255 builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264
+#: builtin/am.c:2270
 msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2263 builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666
-#: builtin/grep.c:1064 builtin/merge.c:202 builtin/pull.c:142
-#: builtin/pull.c:197 builtin/repack.c:189 builtin/repack.c:193
-#: builtin/repack.c:195 builtin/show-branch.c:631 builtin/show-ref.c:169
-#: builtin/tag.c:399 parse-options.h:132 parse-options.h:134
-#: parse-options.h:245
+#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:665
+#: builtin/fmt-merge-msg.c:668 builtin/grep.c:853 builtin/merge.c:208
+#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:201
+#: builtin/repack.c:205 builtin/repack.c:207 builtin/show-branch.c:631
+#: builtin/show-ref.c:169 builtin/tag.c:383 parse-options.h:144
+#: parse-options.h:146 parse-options.h:258
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2269 builtin/branch.c:596 builtin/for-each-ref.c:38
-#: builtin/replace.c:444 builtin/tag.c:434 builtin/verify-tag.c:39
+#: builtin/am.c:2266 builtin/branch.c:632 builtin/for-each-ref.c:38
+#: builtin/replace.c:543 builtin/tag.c:419 builtin/verify-tag.c:39
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2267
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2273
 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:2278
+#: builtin/am.c:2275
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2278
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2281
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2287
+#: builtin/am.c:2284
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "restaurer la branche originale et abandonner les applications de patch."
 
-#: builtin/am.c:2291
+#: builtin/am.c:2287
+msgid "abort the patching operation but keep HEAD where it is."
+msgstr "abandonne l'opération de patch mais garde HEAD où il est."
+
+#: builtin/am.c:2290
+msgid "show the patch being applied."
+msgstr "afficher le patch en cours d'application."
+
+#: builtin/am.c:2294
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2293
+#: builtin/am.c:2296
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2295 builtin/commit.c:1605 builtin/merge.c:233
-#: builtin/pull.c:172 builtin/revert.c:112 builtin/tag.c:414
+#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:239
+#: builtin/pull.c:183 builtin/revert.c:112 builtin/tag.c:399
 msgid "key-id"
 msgstr "id-clé"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2299
 msgid "GPG-sign commits"
 msgstr "signer les commits avec GPG"
 
-#: builtin/am.c:2299
+#: builtin/am.c:2302
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2317
+#: builtin/am.c:2320
 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."
@@ -5325,17 +6072,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:2324
+#: builtin/am.c:2327
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2342
 #, 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:2363
+#: builtin/am.c:2366
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -5344,7 +6091,7 @@ msgstr ""
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2369
+#: builtin/am.c:2372
 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 "
@@ -5368,8 +6115,8 @@ msgid "git archive: Remote with no URL"
 msgstr "git archive : Dépôt distant sans URL"
 
 #: builtin/archive.c:58
-msgid "git archive: expected ACK/NAK, got EOF"
-msgstr "git archive : ACK/NACK attendu, EOF reçu"
+msgid "git archive: expected ACK/NAK, got a flush packet"
+msgstr "git archive : ACK/NACK attendu, paquet de nettoyage reçu"
 
 #: builtin/archive.c:61
 #, c-format
@@ -5384,133 +6131,211 @@ msgstr "git archive : erreur de protocole"
 msgid "git archive: expected a flush"
 msgstr "git archive : vidage attendu"
 
-#: builtin/bisect--helper.c:7
+#: builtin/bisect--helper.c:12
 msgid "git bisect--helper --next-all [--no-checkout]"
 msgstr "git bisect --helper --next-all [--no-checkout]"
 
-#: builtin/bisect--helper.c:17
+#: builtin/bisect--helper.c:13
+msgid "git bisect--helper --write-terms <bad_term> <good_term>"
+msgstr "git bisect--helper --write-terms <terme-pour-mauvais> <terme-pour-bon>"
+
+#: builtin/bisect--helper.c:14
+msgid "git bisect--helper --bisect-clean-state"
+msgstr "git bisect--helper --bisect-clean-state"
+
+#: builtin/bisect--helper.c:46
+#, c-format
+msgid "'%s' is not a valid term"
+msgstr "'%s' n'est pas un terme valide"
+
+#: builtin/bisect--helper.c:50
+#, c-format
+msgid "can't use the builtin command '%s' as a term"
+msgstr "impossible d'utiliser la commande incluse '%s' comme terme"
+
+#: builtin/bisect--helper.c:60
+#, c-format
+msgid "can't change the meaning of the term '%s'"
+msgstr "impossible de modifier la signification du terme '%s'"
+
+#: builtin/bisect--helper.c:71
+msgid "please use two different terms"
+msgstr "veuillez utiliser deux termes différents"
+
+#: builtin/bisect--helper.c:78
+msgid "could not open the file BISECT_TERMS"
+msgstr "impossible d'ouvrir le fichier BISECT_TERMS"
+
+#: builtin/bisect--helper.c:120
 msgid "perform 'git bisect next'"
 msgstr "effectuer 'git bisect next'"
 
-#: builtin/bisect--helper.c:19
+#: builtin/bisect--helper.c:122
+msgid "write the terms to .git/BISECT_TERMS"
+msgstr "écrire les termes dans .git/BISECT_TERMS"
+
+#: builtin/bisect--helper.c:124
+msgid "cleanup the bisection state"
+msgstr "vérifier l'état de la bissection"
+
+#: builtin/bisect--helper.c:126
+msgid "check for expected revs"
+msgstr "vérifier si des révisions sont attendues"
+
+#: builtin/bisect--helper.c:128
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel"
 
-#: builtin/blame.c:27
+#: builtin/bisect--helper.c:143
+msgid "--write-terms requires two arguments"
+msgstr "--write-terms exige deux arguments"
+
+#: builtin/bisect--helper.c:147
+msgid "--bisect-clean-state requires no arguments"
+msgstr "--bisect-clean-state ne supporte aucun argument"
+
+#: builtin/blame.c:29
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
-msgstr "git blame [<options>] [<options-de-révision>] [<rev>] [--] <fichier>"
+msgstr "git blame [<options>] [<rev-opts>] [<rev>] [--] <fichier>"
 
-#: builtin/blame.c:32
+#: builtin/blame.c:34
 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:668
+#: builtin/blame.c:404
+#, c-format
+msgid "expecting a color: %s"
+msgstr "couleur attendue : %s"
+
+#: builtin/blame.c:411
+msgid "must end with a color"
+msgstr "doit finir avec une couleur"
+
+#: builtin/blame.c:697
+#, c-format
+msgid "invalid color '%s' in color.blame.repeatedLines"
+msgstr "couleur invalide '%s' dans color.blame.repeatedlines"
+
+#: builtin/blame.c:715
+msgid "invalid value for blame.coloring"
+msgstr "valeur invalide pour blame.coloring"
+
+#: builtin/blame.c:786
 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:669
+#: builtin/blame.c:787
 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:670
+#: builtin/blame.c:788
 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:671
+#: builtin/blame.c:789
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:672
+#: builtin/blame.c:790
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:673
+#: builtin/blame.c:791
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:674
+#: builtin/blame.c:792
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:675
+#: builtin/blame.c:793
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:676
+#: builtin/blame.c:794
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:677
+#: builtin/blame.c:795
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:678
+#: builtin/blame.c:796
 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:679
+#: builtin/blame.c:797
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:680
+#: builtin/blame.c:798
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:681
+#: builtin/blame.c:799
 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:682
+#: builtin/blame.c:800
 msgid "Show author email instead of name (Default: off)"
-msgstr "Afficher l'courriel de l'auteur au lieu du nom (Défaut : désactivé)"
+msgstr "Afficher lcourriel de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:683
+#: builtin/blame.c:801
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:690
+#: builtin/blame.c:802
+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:803
+msgid "color lines by age"
+msgstr "colorier les lignes par âge"
+
+#: builtin/blame.c:810
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:692
+#: builtin/blame.c:812
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:693
+#: builtin/blame.c:813
 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:694
+#: builtin/blame.c:814
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:695 builtin/blame.c:696
+#: builtin/blame.c:815 builtin/blame.c:816
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:695
+#: builtin/blame.c:815
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:696
+#: builtin/blame.c:816
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:697
+#: builtin/blame.c:817
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:697
+#: builtin/blame.c:817
 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:744
+#: builtin/blame.c:866
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -5524,20 +6349,20 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:795
+#: builtin/blame.c:917
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:882
+#: builtin/blame.c:1003
 #, 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:928
+#: builtin/blame.c:1049
 msgid "Blaming lines"
-msgstr "Assignation de blâme au lignes"
+msgstr "Assignation de blâme aux lignes"
 
 #: builtin/branch.c:27
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
@@ -5557,14 +6382,19 @@ msgstr ""
 "git branch [<options>] (-m | -M) [<ancienne-branche>] <nouvelle-branche>"
 
 #: builtin/branch.c:31
+msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
+msgstr ""
+"git branch [<options>] (-c | -C) [<ancienne-branche>] <nouvelle-branche>"
+
+#: builtin/branch.c:32
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<options>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:32
+#: builtin/branch.c:33
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<options>] [-r | -a] [--format]"
 
-#: builtin/branch.c:145
+#: builtin/branch.c:146
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -5573,7 +6403,7 @@ msgstr ""
 "suppression de la branche '%s' qui a été fusionnée dans\n"
 "         '%s', mais pas dans HEAD."
 
-#: builtin/branch.c:149
+#: builtin/branch.c:150
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -5582,12 +6412,12 @@ msgstr ""
 "branche '%s' non supprimée car elle n'a pas été fusionnée dans\n"
 "         '%s', même si elle est fusionnée dans HEAD."
 
-#: builtin/branch.c:163
+#: builtin/branch.c:164
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "Impossible de rechercher l'objet commit pour '%s'"
 
-#: builtin/branch.c:167
+#: builtin/branch.c:168
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -5596,93 +6426,116 @@ msgstr ""
 "La branche '%s' n'est pas totalement fusionnée.\n"
 "Si vous souhaitez réellement la supprimer, lancez 'git branch -D %s'."
 
-#: builtin/branch.c:180
+#: builtin/branch.c:181
 msgid "Update of config-file failed"
 msgstr "Échec de la mise à jour du fichier de configuration"
 
-#: builtin/branch.c:211
+#: builtin/branch.c:212
 msgid "cannot use -a with -d"
 msgstr "impossible d'utiliser -a avec -d"
 
-#: builtin/branch.c:217
+#: builtin/branch.c:218
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Impossible de rechercher l'objet commit pour HEAD"
 
-#: builtin/branch.c:231
+#: builtin/branch.c:232
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "Impossible de supprimer la branche '%s' extraite dans '%s'"
 
-#: builtin/branch.c:246
+#: builtin/branch.c:247
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "branche de suivi '%s' non trouvée."
 
-#: builtin/branch.c:247
+#: builtin/branch.c:248
 #, c-format
 msgid "branch '%s' not found."
 msgstr "branche '%s' non trouvée."
 
-#: builtin/branch.c:262
+#: builtin/branch.c:263
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "Erreur lors de la suppression de la branche de suivi '%s'"
 
-#: builtin/branch.c:263
+#: builtin/branch.c:264
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Erreur lors de la suppression de la branche '%s'"
 
-#: builtin/branch.c:270
+#: builtin/branch.c:271
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "Branche de suivi %s supprimée (précédemment %s).\n"
 
-#: builtin/branch.c:271
+#: builtin/branch.c:272
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Branche %s supprimée (précédemment %s).\n"
 
-#: builtin/branch.c:445
+#: builtin/branch.c:416 builtin/tag.c:58
+msgid "unable to parse format string"
+msgstr "impossible d'analyser la chaîne de format"
+
+#: builtin/branch.c:453
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:449
+#: builtin/branch.c:457
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:464
+#: builtin/branch.c:474
+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:476
 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:474
+#: builtin/branch.c:487
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:491
+#: builtin/branch.c:514
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:494
+#: builtin/branch.c:516
+msgid "Branch copy failed"
+msgstr "Échec de copie de la branche"
+
+#: builtin/branch.c:520
+#, 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:523
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
-msgstr "Renommage d'un branche mal nommée '%s'"
+msgstr "Renommage d'une branche mal nommée '%s'"
 
-#: builtin/branch.c:497
+#: builtin/branch.c:529
 #, 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:506
+#: builtin/branch.c:538
 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:522
+#: builtin/branch.c:540
+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:556
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5693,176 +6546,186 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:555
+#: builtin/branch.c:589
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:557
+#: builtin/branch.c:591
 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:558
+#: builtin/branch.c:592
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:559
+#: builtin/branch.c:593
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:561
-msgid "change upstream info"
-msgstr "modifier l'information amont"
+#: builtin/branch.c:595
+msgid "do not use"
+msgstr "ne pas utiliser"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:597
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:597
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:564
+#: builtin/branch.c:598
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:565
+#: builtin/branch.c:599
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:566
+#: builtin/branch.c:600
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:568 builtin/branch.c:570
+#: builtin/branch.c:602 builtin/branch.c:604
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:569 builtin/branch.c:571
+#: builtin/branch.c:603 builtin/branch.c:605
 msgid "print only branches that don't contain the commit"
 msgstr "afficher seulement les branches qui ne contiennent pas le commit"
 
-#: builtin/branch.c:574
+#: builtin/branch.c:608
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:575
+#: builtin/branch.c:609
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:577
+#: builtin/branch.c:611
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:578
+#: builtin/branch.c:612
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:579
+#: builtin/branch.c:613
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:580
+#: builtin/branch.c:614
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:581
+#: builtin/branch.c:615
+msgid "copy a branch and its reflog"
+msgstr "copier une branche et son reflog"
+
+#: builtin/branch.c:616
+msgid "copy a branch, even if target exists"
+msgstr "copier une branche, même si la cible existe"
+
+#: builtin/branch.c:617
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:582
+#: builtin/branch.c:618
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:584
+#: builtin/branch.c:620
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:585
+#: builtin/branch.c:621
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:586
+#: builtin/branch.c:622
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:587
+#: builtin/branch.c:623
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:624
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:589 builtin/for-each-ref.c:39 builtin/tag.c:427
+#: builtin/branch.c:625 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
+#: builtin/tag.c:412
 msgid "key"
 msgstr "clé"
 
-#: builtin/branch.c:590 builtin/for-each-ref.c:40 builtin/tag.c:428
+#: builtin/branch.c:626 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
+#: builtin/tag.c:413
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
-#: builtin/branch.c:592 builtin/for-each-ref.c:42 builtin/notes.c:407
-#: builtin/notes.c:410 builtin/notes.c:570 builtin/notes.c:573
-#: builtin/tag.c:430
+#: builtin/branch.c:628 builtin/for-each-ref.c:43 builtin/notes.c:408
+#: builtin/notes.c:411 builtin/notes.c:571 builtin/notes.c:574
+#: builtin/tag.c:415
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:593
+#: builtin/branch.c:629
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:595 builtin/for-each-ref.c:48 builtin/tag.c:435
+#: builtin/branch.c:631 builtin/for-each-ref.c:49 builtin/tag.c:422
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:596 builtin/for-each-ref.c:38 builtin/tag.c:434
+#: builtin/branch.c:632 builtin/for-each-ref.c:38 builtin/tag.c:420
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: builtin/branch.c:615
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr "Échec de résolution de HEAD comme référence valide."
-
-#: builtin/branch.c:619 builtin/clone.c:728
+#: builtin/branch.c:655 builtin/clone.c:737
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:678
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:653 builtin/branch.c:705
+#: builtin/branch.c:693 builtin/branch.c:745 builtin/branch.c:754
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:721
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:686
+#: builtin/branch.c:726
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:693
+#: builtin/branch.c:733
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:696
+#: builtin/branch.c:736
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:711
-msgid "too many branches for a rename operation"
-msgstr "trop de branches pour une opération de renommage"
+#: builtin/branch.c:751
+msgid "too many branches for a copy operation"
+msgstr "trop de branches pour une opération de copie"
 
-#: builtin/branch.c:716
-msgid "too many branches to set new upstream"
-msgstr "trop de branches pour spécifier une branche amont"
+#: builtin/branch.c:760
+msgid "too many arguments for a rename operation"
+msgstr "trop d'arguments pour une opération de renommage"
 
-#: builtin/branch.c:720
+#: builtin/branch.c:765
+msgid "too many arguments to set new upstream"
+msgstr "trop d'arguments pour spécifier une branche amont"
+
+#: builtin/branch.c:769
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5870,59 +6733,43 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:723 builtin/branch.c:745 builtin/branch.c:766
+#: builtin/branch.c:772 builtin/branch.c:794 builtin/branch.c:810
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:727
+#: builtin/branch.c:776
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:739
-msgid "too many branches to unset upstream"
-msgstr "trop de branches pour désactiver un amont"
+#: builtin/branch.c:788
+msgid "too many arguments to unset upstream"
+msgstr "trop d'arguments pour désactiver un amont"
 
-#: builtin/branch.c:743
+#: builtin/branch.c:792
 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:749
+#: builtin/branch.c:798
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:763
-msgid "it does not make sense to create 'HEAD' manually"
-msgstr "créer manuellement 'HEAD' n'a pas de sens"
-
-#: builtin/branch.c:769
+#: builtin/branch.c:813
 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:772
-#, c-format
-msgid ""
-"The --set-upstream flag is deprecated and will be removed. Consider using --"
-"track or --set-upstream-to\n"
-msgstr ""
-"l'option --set-upstream est obsolète et va disparaître. Utilisez plutôt --"
-"track ou --set-upstream-to\n"
-
-#: builtin/branch.c:789
-#, c-format
+#: builtin/branch.c:816
 msgid ""
-"\n"
-"If you wanted to make '%s' track '%s', do this:\n"
-"\n"
+"the '--set-upstream' option is no longer supported. Please use '--track' or "
+"'--set-upstream-to' instead."
 msgstr ""
-"\n"
-"Si vous vouliez que '%s' suive '%s', faites ceci :\n"
-"\n"
+"l'option '--set-upstream' est obsolète. Utilisez '--track' ou '--set-"
+"upstream-to' à la place."
 
 #: builtin/bundle.c:45
 #, c-format
@@ -5937,7 +6784,7 @@ msgstr "La création d'un colis requiert un dépôt."
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
-#: builtin/cat-file.c:519
+#: builtin/cat-file.c:525
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -5945,7 +6792,7 @@ msgstr ""
 "git cat-file (-t [--allow-unknow-type] | -s [--allow-unknow-type] | -e | -p "
 "| <type> | --textconv | --filters) [--path=<chemin>] <objet>"
 
-#: builtin/cat-file.c:520
+#: builtin/cat-file.c:526
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -5953,66 +6800,66 @@ msgstr ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:557
+#: builtin/cat-file.c:563
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<type> peut être : blob, tree, commit ou tag"
 
-#: builtin/cat-file.c:558
+#: builtin/cat-file.c:564
 msgid "show object type"
 msgstr "afficher le type de l'objet"
 
-#: builtin/cat-file.c:559
+#: builtin/cat-file.c:565
 msgid "show object size"
 msgstr "afficher la taille de l'objet"
 
-#: builtin/cat-file.c:561
+#: builtin/cat-file.c:567
 msgid "exit with zero when there's no error"
 msgstr "sortir avec un code d'erreur nul quand il n'y a aucune erreur"
 
-#: builtin/cat-file.c:562
+#: builtin/cat-file.c:568
 msgid "pretty-print object's content"
 msgstr "afficher avec mise en forme le contenu de l'objet"
 
-#: builtin/cat-file.c:564
+#: builtin/cat-file.c:570
 msgid "for blob objects, run textconv on object's content"
 msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 
-#: builtin/cat-file.c:566
+#: builtin/cat-file.c:572
 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:567 git-submodule.sh:944
+#: builtin/cat-file.c:573 git-submodule.sh:894
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:568
+#: builtin/cat-file.c:574
 msgid "use a specific path for --textconv/--filters"
 msgstr "utiliser un chemin spécifique pour --textconv/--filters"
 
-#: builtin/cat-file.c:570
+#: builtin/cat-file.c:576
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "autoriser -s et -t à travailler sur des objets cassés/corrompus"
 
-#: builtin/cat-file.c:571
+#: builtin/cat-file.c:577
 msgid "buffer --batch output"
 msgstr "bufferiser la sortie de --batch"
 
-#: builtin/cat-file.c:573
+#: builtin/cat-file.c:579
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "afficher l'information et le contenu des objets passés en entrée standard"
 
-#: builtin/cat-file.c:576
+#: builtin/cat-file.c:582
 msgid "show info about objects fed from the standard input"
 msgstr "afficher l'information des objets passés en entrée standard"
 
-#: builtin/cat-file.c:579
+#: builtin/cat-file.c:585
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 "suivre les liens symbolique internes à la copie de travail (utilisé avec --"
 "batch ou --batch-check)"
 
-#: builtin/cat-file.c:581
+#: builtin/cat-file.c:587
 msgid "show all objects with --batch or --batch-check"
 msgstr "montrer tous les objets avec --batch ou --batch-check"
 
@@ -6032,7 +6879,7 @@ msgstr "afficher tous les attributs associés au fichier"
 msgid "use .gitattributes only from the index"
 msgstr "utiliser .gitattributes seulement depuis l'index"
 
-#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:99
+#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:100
 msgid "read file names from stdin"
 msgstr "lire les noms de fichier depuis l'entrée standard"
 
@@ -6041,7 +6888,7 @@ msgid "terminate input and output records by a NUL character"
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:20 builtin/checkout.c:1143 builtin/gc.c:357
+#: builtin/check-ignore.c:20 builtin/checkout.c:1113 builtin/gc.c:500
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -6053,27 +6900,27 @@ msgstr "afficher les chemins en entrée qui ne correspondent pas"
 msgid "ignore index when checking"
 msgstr "ignorer l'index pendant la vérification"
 
-#: builtin/check-ignore.c:158
+#: builtin/check-ignore.c:159
 msgid "cannot specify pathnames with --stdin"
 msgstr "impossible de spécifier les chemins avec --stdin"
 
-#: builtin/check-ignore.c:161
+#: builtin/check-ignore.c:162
 msgid "-z only makes sense with --stdin"
 msgstr "-z n'a de sens qu'avec l'option --stdin"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:164
 msgid "no path specified"
 msgstr "aucun chemin spécifié"
 
-#: builtin/check-ignore.c:167
+#: builtin/check-ignore.c:168
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet n'est valide qu'avec un seul chemin"
 
-#: builtin/check-ignore.c:169
+#: builtin/check-ignore.c:170
 msgid "cannot have both --quiet and --verbose"
 msgstr "impossible d'avoir --quiet et --verbose"
 
-#: builtin/check-ignore.c:172
+#: builtin/check-ignore.c:173
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching n'est valide qu'avec --verbose"
 
@@ -6098,84 +6945,84 @@ msgstr "aucun contact spécifié"
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<options>] [--] [<fichier>...]"
 
-#: builtin/checkout-index.c:145
+#: builtin/checkout-index.c:143
 msgid "stage should be between 1 and 3 or all"
 msgstr "stage doit valoir entre 1 et 3, ou all"
 
-#: builtin/checkout-index.c:161
+#: builtin/checkout-index.c:159
 msgid "check out all files in the index"
 msgstr "extraire tous les fichiers présents dans l'index"
 
-#: builtin/checkout-index.c:162
+#: builtin/checkout-index.c:160
 msgid "force overwrite of existing files"
 msgstr "forcer l'écrasement des fichiers existants"
 
-#: builtin/checkout-index.c:164
+#: builtin/checkout-index.c:162
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "pas d'avertissement pour les fichiers existants et les fichiers absents de "
 "l'index"
 
-#: builtin/checkout-index.c:166
+#: builtin/checkout-index.c:164
 msgid "don't checkout new files"
 msgstr "ne pas extraire les nouveaux fichiers"
 
-#: builtin/checkout-index.c:168
+#: builtin/checkout-index.c:166
 msgid "update stat information in the index file"
 msgstr "mettre à jour l'information de stat dans le fichier d'index"
 
-#: builtin/checkout-index.c:172
+#: builtin/checkout-index.c:170
 msgid "read list of paths from the standard input"
 msgstr "lire la liste des chemins depuis l'entrée standard"
 
-#: builtin/checkout-index.c:174
+#: builtin/checkout-index.c:172
 msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
-#: builtin/checkout-index.c:175 builtin/column.c:31
-#: builtin/submodule--helper.c:635 builtin/submodule--helper.c:638
-#: builtin/submodule--helper.c:644 builtin/submodule--helper.c:980
-#: builtin/worktree.c:478
+#: builtin/checkout-index.c:173 builtin/column.c:31
+#: builtin/submodule--helper.c:1216 builtin/submodule--helper.c:1219
+#: builtin/submodule--helper.c:1227 builtin/submodule--helper.c:1591
+#: builtin/worktree.c:610
 msgid "string"
 msgstr "chaîne"
 
-#: builtin/checkout-index.c:176
+#: builtin/checkout-index.c:174
 msgid "when creating files, prepend <string>"
 msgstr "lors de la création de fichiers, préfixer par <chaîne>"
 
-#: builtin/checkout-index.c:178
+#: builtin/checkout-index.c:176
 msgid "copy out the files from named stage"
 msgstr "copier les fichiers depuis l'index nommé"
 
-#: builtin/checkout.c:26
+#: builtin/checkout.c:27
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<options>] <branche>"
 
-#: builtin/checkout.c:27
+#: builtin/checkout.c:28
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
 
-#: builtin/checkout.c:135 builtin/checkout.c:168
+#: builtin/checkout.c:136 builtin/checkout.c:169
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
 
-#: builtin/checkout.c:137 builtin/checkout.c:170
+#: builtin/checkout.c:138 builtin/checkout.c:171
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:153
+#: builtin/checkout.c:154
 #, 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:197
+#: builtin/checkout.c:198
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:214
+#: builtin/checkout.c:215
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
@@ -6203,59 +7050,59 @@ msgstr ""
 "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en "
 "même temps."
 
-#: builtin/checkout.c:342 builtin/checkout.c:349
+#: builtin/checkout.c:340 builtin/checkout.c:347
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:497
+#: builtin/checkout.c:506
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:628
+#: builtin/checkout.c:643
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:669
+#: builtin/checkout.c:684
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:673 builtin/clone.c:682
+#: builtin/checkout.c:688 builtin/clone.c:691
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:677
+#: builtin/checkout.c:692
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:680
+#: builtin/checkout.c:695
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:684
+#: builtin/checkout.c:699
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:686 builtin/checkout.c:1075
+#: builtin/checkout.c:701 builtin/checkout.c:1046
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:688
+#: builtin/checkout.c:703
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:754
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:745
+#: builtin/checkout.c:760
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -6278,7 +7125,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:764
+#: builtin/checkout.c:779
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -6307,162 +7154,162 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:800
+#: builtin/checkout.c:811
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:804
+#: builtin/checkout.c:815
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:832 builtin/checkout.c:1070
+#: builtin/checkout.c:843 builtin/checkout.c:1041
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:976
+#: builtin/checkout.c:947
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1016 builtin/worktree.c:215
+#: builtin/checkout.c:987 builtin/worktree.c:240 builtin/worktree.c:389
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1045
+#: builtin/checkout.c:1016
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1084
+#: builtin/checkout.c:1055
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1087 builtin/checkout.c:1091
+#: builtin/checkout.c:1058 builtin/checkout.c:1062
 #, 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:1095 builtin/checkout.c:1098 builtin/checkout.c:1103
-#: builtin/checkout.c:1106
+#: builtin/checkout.c:1066 builtin/checkout.c:1069 builtin/checkout.c:1074
+#: builtin/checkout.c:1077
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1111
+#: builtin/checkout.c:1082
 #, 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:1144 builtin/checkout.c:1146 builtin/clone.c:113
-#: builtin/remote.c:166 builtin/remote.c:168 builtin/worktree.c:328
-#: builtin/worktree.c:330
+#: builtin/checkout.c:1114 builtin/checkout.c:1116 builtin/clone.c:118
+#: builtin/remote.c:167 builtin/remote.c:169 builtin/worktree.c:433
+#: builtin/worktree.c:435
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1115
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1117
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1118
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1149 builtin/worktree.c:332
+#: builtin/checkout.c:1119 builtin/worktree.c:437
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1120
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1122
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1122
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1153
+#: builtin/checkout.c:1123
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1125
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1127
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1129
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1159 builtin/merge.c:235
+#: builtin/checkout.c:1131 builtin/merge.c:241
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1160 builtin/log.c:1483 parse-options.h:251
+#: builtin/checkout.c:1133 builtin/log.c:1499 parse-options.h:264
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1161
+#: builtin/checkout.c:1134
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1164
+#: builtin/checkout.c:1137
 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:1166
+#: builtin/checkout.c:1139
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "réessayer d'interpréter 'git checkout <branche-inexistante>'"
 
-#: builtin/checkout.c:1168
+#: builtin/checkout.c:1141
 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:1172 builtin/clone.c:80 builtin/fetch.c:114
-#: builtin/merge.c:232 builtin/pull.c:120 builtin/push.c:544
-#: builtin/send-pack.c:173
+#: builtin/checkout.c:1145 builtin/clone.c:85 builtin/fetch.c:149
+#: builtin/merge.c:238 builtin/pull.c:128 builtin/push.c:572
+#: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1203
+#: builtin/checkout.c:1175
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1220
+#: builtin/checkout.c:1192
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1225
+#: builtin/checkout.c:1197
 msgid "Missing branch name; try -b"
 msgstr "Nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1233
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1240
 #, 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 être créée depuis."
+"'%s' n'est pas un commit et une branche '%s' ne peut pas en être créée depuis"
 
-#: builtin/checkout.c:1272
+#: builtin/checkout.c:1244
 #, 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:1276
+#: builtin/checkout.c:1248
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -6501,7 +7348,7 @@ msgstr "Ignorerait le dépôt %s\n"
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:298 git-add--interactive.perl:572
+#: builtin/clean.c:302 git-add--interactive.perl:579
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6514,7 +7361,7 @@ msgstr ""
 "foo         - sélectionner un élément par un préfixe unique\n"
 "            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:302 git-add--interactive.perl:581
+#: builtin/clean.c:306 git-add--interactive.perl:588
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6535,38 +7382,38 @@ msgstr ""
 "*          - choisir tous les éléments\n"
 "           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:518 git-add--interactive.perl:547
-#: git-add--interactive.perl:552
+#: builtin/clean.c:522 git-add--interactive.perl:554
+#: git-add--interactive.perl:559
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hein (%s) ?\n"
 
-#: builtin/clean.c:660
+#: builtin/clean.c:664
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Entrez les motifs à ignorer>> "
 
-#: builtin/clean.c:697
+#: builtin/clean.c:701
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s"
 
-#: builtin/clean.c:718
+#: builtin/clean.c:722
 msgid "Select items to delete"
 msgstr "Sélectionner les éléments à supprimer"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:759
+#: builtin/clean.c:763
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:784 git-add--interactive.perl:1616
+#: builtin/clean.c:788 git-add--interactive.perl:1717
 #, c-format
 msgid "Bye.\n"
 msgstr "Au revoir.\n"
 
-#: builtin/clean.c:792
+#: builtin/clean.c:796
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -6584,63 +7431,64 @@ msgstr ""
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:819 git-add--interactive.perl:1692
+#: builtin/clean.c:823 git-add--interactive.perl:1793
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: builtin/clean.c:820 git-add--interactive.perl:1689
+#: builtin/clean.c:824 git-add--interactive.perl:1790
 msgid "What now"
 msgstr "Et maintenant ?"
 
-#: builtin/clean.c:828
+#: builtin/clean.c:832
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Supprimerait l'élément suivant :"
 msgstr[1] "Supprimerait les éléments suivants :"
 
-#: builtin/clean.c:844
+#: builtin/clean.c:848
 msgid "No more files to clean, exiting."
 msgstr "Plus de fichier à nettoyer, sortie."
 
-#: builtin/clean.c:906
+#: builtin/clean.c:910
 msgid "do not print names of files removed"
 msgstr "ne pas afficher les noms des fichiers supprimés"
 
-#: builtin/clean.c:908
+#: builtin/clean.c:912
 msgid "force"
 msgstr "forcer"
 
-#: builtin/clean.c:909
+#: builtin/clean.c:913
 msgid "interactive cleaning"
 msgstr "nettoyage interactif"
 
-#: builtin/clean.c:911
+#: builtin/clean.c:915
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:912 builtin/describe.c:452 builtin/describe.c:454
-#: builtin/grep.c:1082 builtin/ls-files.c:546 builtin/name-rev.c:397
-#: builtin/name-rev.c:399 builtin/show-ref.c:176
+#: builtin/clean.c:916 builtin/describe.c:533 builtin/describe.c:535
+#: builtin/grep.c:871 builtin/log.c:157 builtin/log.c:159
+#: builtin/ls-files.c:548 builtin/name-rev.c:397 builtin/name-rev.c:399
+#: builtin/show-ref.c:176
 msgid "pattern"
 msgstr "motif"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:917
 msgid "add <pattern> to ignore rules"
 msgstr "ajouter <motif> aux règles ignore"
 
-#: builtin/clean.c:914
+#: builtin/clean.c:918
 msgid "remove ignored files, too"
 msgstr "supprimer les fichiers ignorés, aussi"
 
-#: builtin/clean.c:916
+#: builtin/clean.c:920
 msgid "remove only ignored files"
 msgstr "supprimer seulement les fichiers ignorés"
 
-#: builtin/clean.c:934
+#: builtin/clean.c:938
 msgid "-x and -X cannot be used together"
 msgstr "-x et -X ne peuvent pas être utilisés ensemble"
 
-#: builtin/clean.c:938
+#: builtin/clean.c:942
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -6648,7 +7496,7 @@ msgstr ""
 "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clean.c:941
+#: builtin/clean.c:945
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -6656,145 +7504,149 @@ msgstr ""
 "clean.requireForce à true par défaut et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clone.c:38
+#: builtin/clone.c:42
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 
-#: builtin/clone.c:82
+#: builtin/clone.c:87
 msgid "don't create a checkout"
 msgstr "ne pas créer d'extraction"
 
-#: builtin/clone.c:83 builtin/clone.c:85 builtin/init-db.c:479
+#: builtin/clone.c:88 builtin/clone.c:90 builtin/init-db.c:479
 msgid "create a bare repository"
 msgstr "créer un dépôt nu"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:92
 msgid "create a mirror repository (implies bare)"
 msgstr "créer un dépôt miroir (implique dépôt nu)"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:94
 msgid "to clone from a local repository"
 msgstr "pour cloner depuis un dépôt local"
 
-#: builtin/clone.c:91
+#: builtin/clone.c:96
 msgid "don't use local hardlinks, always copy"
 msgstr "ne pas utiliser de liens durs locaux, toujours copier"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:98
 msgid "setup as shared repository"
 msgstr "régler comme dépôt partagé"
 
-#: builtin/clone.c:95 builtin/clone.c:99
+#: builtin/clone.c:100 builtin/clone.c:104
 msgid "pathspec"
 msgstr "spécificateur de chemin"
 
-#: builtin/clone.c:95 builtin/clone.c:99
+#: builtin/clone.c:100 builtin/clone.c:104
 msgid "initialize submodules in the clone"
 msgstr "initialiser les sous-modules dans le clone"
 
-#: builtin/clone.c:102
+#: builtin/clone.c:107
 msgid "number of submodules cloned in parallel"
 msgstr "nombre de sous-modules clonés en parallèle"
 
-#: builtin/clone.c:103 builtin/init-db.c:476
+#: builtin/clone.c:108 builtin/init-db.c:476
 msgid "template-directory"
 msgstr "répertoire-modèle"
 
-#: builtin/clone.c:104 builtin/init-db.c:477
+#: builtin/clone.c:109 builtin/init-db.c:477
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:106 builtin/clone.c:108 builtin/submodule--helper.c:642
-#: builtin/submodule--helper.c:983
+#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1223
+#: builtin/submodule--helper.c:1594
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:110
+#: builtin/clone.c:115 builtin/submodule--helper.c:1225
+#: builtin/submodule--helper.c:1596
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
-#: builtin/clone.c:111 builtin/column.c:27 builtin/merge-file.c:44
+#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:44
+#: builtin/pack-objects.c:3166 builtin/repack.c:213
 msgid "name"
 msgstr "nom"
 
-#: builtin/clone.c:112
+#: 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:114
+#: 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:116
+#: 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:117 builtin/fetch.c:115 builtin/grep.c:1025
-#: builtin/pull.c:205
+#: builtin/clone.c:122 builtin/fetch.c:150 builtin/grep.c:813
+#: builtin/pull.c:216
 msgid "depth"
 msgstr "profondeur"
 
-#: builtin/clone.c:118
+#: builtin/clone.c:123
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:119 builtin/fetch.c:117 builtin/pack-objects.c:2932
-#: parse-options.h:142
+#: builtin/clone.c:124 builtin/fetch.c:152 builtin/pack-objects.c:3157
+#: parse-options.h:154
 msgid "time"
 msgstr "heure"
 
-#: builtin/clone.c:120
+#: 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:121 builtin/fetch.c:119
+#: builtin/clone.c:126 builtin/fetch.c:154
 msgid "revision"
 msgstr "révision"
 
-#: builtin/clone.c:122 builtin/fetch.c:120
+#: builtin/clone.c:127 builtin/fetch.c:155
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
-#: builtin/clone.c:124
+#: builtin/clone.c:129
 msgid "clone only one branch, HEAD or --branch"
 msgstr "cloner seulement une branche, HEAD ou --branch"
 
-#: builtin/clone.c:126
+#: 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 au récupérations futures de ne pas le "
+"ne pas cloner les tags et indiquer aux récupérations futures de ne pas le "
 "faire"
 
-#: builtin/clone.c:128
+#: builtin/clone.c:133
 msgid "any cloned submodules will be shallow"
 msgstr "tous les sous-modules clonés seront superficiels"
 
-#: builtin/clone.c:129 builtin/init-db.c:485
+#: builtin/clone.c:134 builtin/init-db.c:485
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:130 builtin/init-db.c:486
+#: builtin/clone.c:135 builtin/init-db.c:486
 msgid "separate git dir from working tree"
 msgstr "séparer le répertoire git de la copie de travail"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:136
 msgid "key=value"
 msgstr "clé=valeur"
 
-#: builtin/clone.c:132
+#: 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:133 builtin/fetch.c:137 builtin/push.c:555
+#: builtin/clone.c:138 builtin/fetch.c:173 builtin/pull.c:229
+#: builtin/push.c:583
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:135 builtin/fetch.c:139 builtin/push.c:557
+#: builtin/clone.c:140 builtin/fetch.c:175 builtin/pull.c:232
+#: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
-#: builtin/clone.c:272
+#: builtin/clone.c:278
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -6802,42 +7654,42 @@ msgstr ""
 "Aucun nom de répertoire n'a pu être deviné\n"
 "Veuillez spécifier un répertoire dans la ligne de commande"
 
-#: builtin/clone.c:325
+#: builtin/clone.c:331
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info : impossible d'ajouter une alternative pour '%s' : %s\n"
 
-#: builtin/clone.c:397
+#: builtin/clone.c:403
 #, c-format
 msgid "failed to open '%s'"
 msgstr "échec à l'ouverture de '%s'"
 
-#: builtin/clone.c:405
+#: builtin/clone.c:411
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe et n'est pas un répertoire"
 
-#: builtin/clone.c:419
+#: builtin/clone.c:425
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "échec du stat de %s\n"
 
-#: builtin/clone.c:441
+#: builtin/clone.c:447
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "échec de la création du lien '%s'"
 
-#: builtin/clone.c:445
+#: builtin/clone.c:451
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "échec de la copie vers '%s'"
 
-#: builtin/clone.c:470
+#: builtin/clone.c:477
 #, c-format
 msgid "done.\n"
 msgstr "fait.\n"
 
-#: builtin/clone.c:482
+#: builtin/clone.c:491
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -6847,102 +7699,102 @@ msgstr ""
 "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n"
 "et réessayer l'extraction avec 'git checkout -f HEAD'\n"
 
-#: builtin/clone.c:559
+#: builtin/clone.c:568
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:654
+#: builtin/clone.c:663
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: builtin/clone.c:670
+#: builtin/clone.c:679
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:719
+#: builtin/clone.c:728
 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:750
+#: builtin/clone.c:758
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:792
+#: builtin/clone.c:803
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:855
+#: builtin/clone.c:866
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:857
+#: builtin/clone.c:868
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de unlinker le fichier temporaire alternates"
 
-#: builtin/clone.c:890 builtin/receive-pack.c:1945
+#: builtin/clone.c:907 builtin/receive-pack.c:1947
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:894
+#: builtin/clone.c:911
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:907
+#: builtin/clone.c:924
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:910
+#: builtin/clone.c:927
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:923
+#: builtin/clone.c:940
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:929 builtin/fetch.c:1337
+#: builtin/clone.c:946 builtin/fetch.c:1460
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:939
+#: builtin/clone.c:956
 #, 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:949
+#: builtin/clone.c:966
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:964 builtin/clone.c:975 builtin/difftool.c:260
-#: builtin/worktree.c:222 builtin/worktree.c:252
+#: builtin/clone.c:981 builtin/clone.c:1002 builtin/difftool.c:270
+#: builtin/worktree.c:246 builtin/worktree.c:276
 #, 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:967
+#: builtin/clone.c:986
 #, 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:979
+#: builtin/clone.c:1006
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:981
+#: builtin/clone.c:1008
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1005
+#: builtin/clone.c:1032
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -6950,42 +7802,41 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1067
+#: builtin/clone.c:1093
 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:1069
+#: builtin/clone.c:1095
 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:1071
+#: builtin/clone.c:1097
 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:1074
+#: builtin/clone.c:1099
+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:1102
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1079
+#: builtin/clone.c:1107
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1083
-#, c-format
-msgid "Don't know how to clone %s"
-msgstr "Je ne sais pas cloner %s"
-
-#: builtin/clone.c:1138 builtin/clone.c:1146
+#: builtin/clone.c:1169 builtin/clone.c:1177
 #, 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:1149
+#: builtin/clone.c:1180
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -7017,73 +7868,19 @@ msgstr "Remplissage d'espace sur le côté droit"
 msgid "Padding space between columns"
 msgstr "Remplissage d'espace entre les colonnes"
 
-#: builtin/column.c:52
+#: builtin/column.c:51
 msgid "--command must be the first argument"
 msgstr "--command doit être le premier argument"
 
-#: builtin/commit.c:39
+#: builtin/commit.c:37
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<options>] [--] <spécification-de-chemin>..."
 
-#: builtin/commit.c:44
+#: builtin/commit.c:42
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<options>] [--] <spécification-de-chemin>..."
 
-#: builtin/commit.c:49
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly. Run the\n"
-"following command and follow the instructions in your editor to edit\n"
-"your configuration file:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-"Votre nom et votre adresse courriel ont été configurés automatiquement en "
-"se\n"
-"fondant sur votre nom d'utilisateur et le nom de votre machine. Veuillez \n"
-"vérifier qu'ils sont corrects. Vous pouvez supprimer ce message en les \n"
-"paramétrant explicitement. Lancez les commandes suivantes et suivez les\n"
-"instruction dans votre éditeur pour éditer votre fichier de configuration :\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"Après ceci, vous pouvez corriger l'identité utilisée pour cette validation "
-"avec :\n"
-"\n"
-"    git commit --amend --reset-author\n"
-
-#: builtin/commit.c:62
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly:\n"
-"\n"
-"    git config --global user.name \"Your Name\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-"Votre nom et votre adresse courriel ont été configurés automatiquement en se "
-"fondant\n"
-"sur votre nom d'utilisateur et le nom de votre machine. Veuillez vérifier "
-"qu'ils sont corrects.\n"
-"Vous pouvez supprimer ce message en les paramétrant explicitement :\n"
-"\n"
-"    git config --global user.name \"Votre Nom\"\n"
-"    git config --global user.email vous@exemple.com\n"
-"\n"
-"Après ceci, vous pouvez corriger l'identité utilisée pour ce commit avec :\n"
-"\n"
-"    git commit --amend --reset-author\n"
-
-#: builtin/commit.c:74
+#: builtin/commit.c:47
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -7094,7 +7891,7 @@ msgstr ""
 "vide. Vous pouvez répéter votre commande avec --allow-empty, ou vous pouvez\n"
 "supprimer complètement le commit avec \"git reset HEAD^\".\n"
 
-#: builtin/commit.c:79
+#: builtin/commit.c:52
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -7109,11 +7906,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:86
+#: builtin/commit.c:59
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "Sinon, veuillez utiliser 'git reset'\n"
 
-#: builtin/commit.c:89
+#: builtin/commit.c:62
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -7129,61 +7926,61 @@ msgstr ""
 "Puis \"git cherry-pick --continue\" continuera le picorage \n"
 "des commits restants.\n"
 
-#: builtin/commit.c:319
+#: builtin/commit.c:293
 msgid "failed to unpack HEAD tree object"
 msgstr "échec du dépaquetage de l'objet arbre HEAD"
 
-#: builtin/commit.c:360
+#: builtin/commit.c:334
 msgid "unable to create temporary index"
 msgstr "impossible de créer l'index temporaire"
 
-#: builtin/commit.c:366
+#: builtin/commit.c:340
 msgid "interactive add failed"
 msgstr "échec de l'ajout interactif"
 
-#: builtin/commit.c:379
+#: builtin/commit.c:353
 msgid "unable to update temporary index"
 msgstr "impossible de mettre à jour l'index temporaire"
 
-#: builtin/commit.c:381
+#: builtin/commit.c:355
 msgid "Failed to update main cache tree"
 msgstr "Impossible de mettre à jour l'arbre de cache principal"
 
-#: builtin/commit.c:405 builtin/commit.c:428 builtin/commit.c:477
+#: builtin/commit.c:380 builtin/commit.c:403 builtin/commit.c:449
 msgid "unable to write new_index file"
 msgstr "impossible d'écrire le fichier new_index"
 
-#: builtin/commit.c:459
+#: builtin/commit.c:432
 msgid "cannot do a partial commit during a merge."
 msgstr "impossible de faire une validation partielle pendant une fusion."
 
-#: builtin/commit.c:461
+#: builtin/commit.c:434
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "impossible de faire une validation partielle pendant un picorage."
 
-#: builtin/commit.c:470
+#: builtin/commit.c:442
 msgid "cannot read the index"
 msgstr "impossible de lire l'index"
 
-#: builtin/commit.c:489
+#: builtin/commit.c:461
 msgid "unable to write temporary index file"
 msgstr "impossible d'écrire le fichier d'index temporaire"
 
-#: builtin/commit.c:583
+#: builtin/commit.c:558
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "entête d'auteur manquant dans le commit '%s'"
 
-#: builtin/commit.c:585
+#: builtin/commit.c:560
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "le commit '%s' a une ligne d'auteur malformée"
 
-#: builtin/commit.c:604
+#: builtin/commit.c:579
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:656
+#: builtin/commit.c:631
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -7191,38 +7988,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:693 builtin/commit.c:726 builtin/commit.c:1093
+#: builtin/commit.c:668 builtin/commit.c:701 builtin/commit.c:1029
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:705 builtin/shortlog.c:295
+#: builtin/commit.c:680 builtin/shortlog.c:316
 #, 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:707
+#: builtin/commit.c:682
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:711
+#: builtin/commit.c:686
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:738 builtin/commit.c:746
+#: builtin/commit.c:715 builtin/commit.c:723
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:743
+#: builtin/commit.c:720
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:797
+#: builtin/commit.c:774
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:815
+#: builtin/commit.c:792
 #, c-format
 msgid ""
 "\n"
@@ -7237,7 +8034,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:820
+#: builtin/commit.c:797
 #, c-format
 msgid ""
 "\n"
@@ -7252,7 +8049,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:833
+#: builtin/commit.c:810
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -7262,7 +8059,7 @@ msgstr ""
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:840
+#: builtin/commit.c:818
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -7273,150 +8070,163 @@ 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:857
+#: builtin/commit.c:835
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:865
+#: builtin/commit.c:843
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:872
+#: builtin/commit.c:850
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:889
+#: builtin/commit.c:867
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:951
+#: builtin/commit.c:933
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:965 builtin/tag.c:274
+#: builtin/commit.c:947 builtin/tag.c:257
 #, 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:1068
+#: builtin/commit.c:991
 #, 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:1083 builtin/commit.c:1328
+#: builtin/commit.c:1005
+#, c-format
+msgid "Invalid ignored mode '%s'"
+msgstr "Mode de fichier ignoré invalide '%s'"
+
+#: builtin/commit.c:1019 builtin/commit.c:1269
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1121
+#: builtin/commit.c:1057
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1151
+#: builtin/commit.c:1090
 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:1160
+#: builtin/commit.c:1099
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1102
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1165
+#: builtin/commit.c:1104
 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:1168
+#: builtin/commit.c:1107
 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:1178
+#: builtin/commit.c:1117
 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:1180
-msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
-msgstr "L'option -m ne peut pas être combinée avec -c/-C/-F/--fixup."
+#: builtin/commit.c:1119
+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:1188
+#: builtin/commit.c:1127
 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:1205
+#: builtin/commit.c:1144
 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:1207
+#: builtin/commit.c:1146
 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:1219 builtin/tag.c:552
+#: builtin/commit.c:1160 builtin/tag.c:543
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
 
-#: builtin/commit.c:1224
+#: builtin/commit.c:1165
 msgid "Paths with -a does not make sense."
 msgstr "Spécifier des chemins avec l'option -a n'a pas de sens."
 
-#: builtin/commit.c:1342 builtin/commit.c:1617
+#: builtin/commit.c:1303 builtin/commit.c:1480
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1344 builtin/commit.c:1619
+#: builtin/commit.c:1305 builtin/commit.c:1482
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1346
+#: builtin/commit.c:1307
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1309 builtin/commit.c:1484
+msgid "compute full ahead/behind values"
+msgstr "calcule les valeurs complètes en avance/en retard"
+
+#: builtin/commit.c:1311
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1348 builtin/commit.c:1621 builtin/push.c:530
-#: builtin/worktree.c:449
+#: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
+#: builtin/worktree.c:581
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1351 builtin/commit.c:1623
+#: builtin/commit.c:1314 builtin/commit.c:1488
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1354 builtin/commit.c:1626
+#: builtin/commit.c:1317 builtin/commit.c:1491
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1356 builtin/commit.c:1629 builtin/fast-export.c:983
-#: builtin/fast-export.c:986 builtin/tag.c:412
+#: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
+#: builtin/fast-export.c:1001 builtin/fast-export.c:1004 builtin/tag.c:397
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1357 builtin/commit.c:1629
+#: builtin/commit.c:1320 builtin/commit.c:1494
 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:1360
-msgid "show ignored files"
-msgstr "afficher les fichiers ignorés"
+#: builtin/commit.c:1324
+msgid ""
+"show ignored files, optional modes: traditional, matching, no. (Default: "
+"traditional)"
+msgstr ""
+"afficher les fichiers ignorés, \"mode\" facultatif : traditional "
+"(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1361 parse-options.h:155
+#: builtin/commit.c:1326 parse-options.h:167
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1362
+#: builtin/commit.c:1327
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -7424,201 +8234,197 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1364
+#: builtin/commit.c:1329
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1440
-msgid "couldn't look up newly created commit"
-msgstr "impossible de retrouver le commit nouvellement créé"
-
-#: builtin/commit.c:1442
-msgid "could not parse newly created commit"
-msgstr "impossible d'analyser le commit nouvellement créé"
+#: builtin/commit.c:1330
+msgid "do not detect renames"
+msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1487
-msgid "detached HEAD"
-msgstr "HEAD détachée"
+#: builtin/commit.c:1332
+msgid "detect renames, optionally set similarity index"
+msgstr ""
+"détecter les renommages, en spécifiant optionnellement le facteur de "
+"similarité"
 
-#: builtin/commit.c:1490
-msgid " (root-commit)"
-msgstr " (commit racine)"
+#: builtin/commit.c:1352
+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:1587
+#: builtin/commit.c:1450
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1451
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1453
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1591 builtin/tag.c:410
+#: builtin/commit.c:1454 builtin/tag.c:394
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1455
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1455
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1593 builtin/gc.c:358
+#: builtin/commit.c:1456 builtin/gc.c:501
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1456
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1594 builtin/merge.c:222 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/tag.c:408
+#: builtin/commit.c:1457 builtin/merge.c:228 builtin/notes.c:402
+#: builtin/notes.c:565 builtin/tag.c:392
 msgid "message"
 msgstr "message"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1457
 msgid "commit message"
 msgstr "message de validation"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:77
+#: builtin/commit.c:1458 builtin/commit.c:1459 builtin/commit.c:1460
+#: builtin/commit.c:1461 parse-options.h:270 ref-filter.h:92
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1458
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1459
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1460
 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:1598
+#: builtin/commit.c:1461
 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:1599
+#: builtin/commit.c:1462
 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:1600 builtin/log.c:1430 builtin/revert.c:105
+#: builtin/commit.c:1463 builtin/log.c:1446 builtin/merge.c:242
+#: builtin/pull.c:154 builtin/revert.c:105
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1464
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1465
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1466
 msgid "default"
 msgstr "défaut"
 
-#: builtin/commit.c:1603 builtin/tag.c:413
+#: builtin/commit.c:1466 builtin/tag.c:398
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1467
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1606 builtin/merge.c:234 builtin/pull.c:173
+#: builtin/commit.c:1469 builtin/merge.c:240 builtin/pull.c:184
 #: builtin/revert.c:113
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1472
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1473
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1474
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1475
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1476
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1477
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1478
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1479
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1492
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1493
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1498
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1500
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1665
-msgid "could not parse HEAD commit"
-msgstr "impossible d'analyser le commit HEAD"
-
-#: builtin/commit.c:1710
+#: builtin/commit.c:1573
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1717
+#: builtin/commit.c:1580
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1736
+#: builtin/commit.c:1599
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1747
-#, c-format
-msgid "Aborting commit; you did not edit the message.\n"
-msgstr "Abandon de la validation ; vous n'avez pas édité le message\n"
-
-#: builtin/commit.c:1752
+#: builtin/commit.c:1610
 #, 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:1800
+#: builtin/commit.c:1615
+#, c-format
+msgid "Aborting commit; you did not edit the message.\n"
+msgstr "Abandon de la validation ; vous n'avez pas édité le message\n"
+
+#: builtin/commit.c:1650
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7628,146 +8434,215 @@ msgstr ""
 "new_index. Vérifiez que le disque n'est pas plein ou que le quota\n"
 "n'a pas été dépassé, puis lancez \"git reset HEAD\" pour réparer."
 
+#: builtin/commit-graph.c:9
+msgid "git commit-graph [--object-dir <objdir>]"
+msgstr "git commit-graph [--object-dir <objdir>]"
+
+#: builtin/commit-graph.c:10 builtin/commit-graph.c:16
+msgid "git commit-graph read [--object-dir <objdir>]"
+msgstr "git commit-graph read [--object-dir <objdir>]"
+
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:21
+msgid ""
+"git commit-graph write [--object-dir <objdir>] [--append] [--stdin-packs|--"
+"stdin-commits]"
+msgstr ""
+"git commit-graph write [--object-dir <objdir>] [--append] [--stdin-packs|--"
+"stdin-commits]"
+
+#: builtin/commit-graph.c:39 builtin/commit-graph.c:92
+#: builtin/commit-graph.c:147 builtin/fetch.c:161 builtin/log.c:1466
+msgid "dir"
+msgstr "répertoire"
+
+#: builtin/commit-graph.c:40 builtin/commit-graph.c:93
+#: builtin/commit-graph.c:148
+msgid "The object directory to store the graph"
+msgstr "Le répertoire d'objet où stocker le graphe"
+
+#: builtin/commit-graph.c:95
+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:97
+msgid "start walk at commits listed by stdin"
+msgstr "commencer le parcours aux commits listés sur stdin"
+
+#: builtin/commit-graph.c:99
+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:108
+msgid "cannot use both --stdin-commits and --stdin-packs"
+msgstr "impossible d'utiliser à la fois --stdin-commits et --stdin-packs"
+
 #: builtin/config.c:10
 msgid "git config [<options>]"
 msgstr "git config [<options>]"
 
-#: builtin/config.c:57
+#: builtin/config.c:101
+#, c-format
+msgid "unrecognized --type argument, %s"
+msgstr "argument --type non reconnu, %s"
+
+#: builtin/config.c:123
 msgid "Config file location"
 msgstr "Emplacement du fichier de configuration"
 
-#: builtin/config.c:58
+#: builtin/config.c:124
 msgid "use global config file"
 msgstr "utiliser les fichier de configuration global"
 
-#: builtin/config.c:59
+#: builtin/config.c:125
 msgid "use system config file"
 msgstr "utiliser le fichier de configuration du système"
 
-#: builtin/config.c:60
+#: builtin/config.c:126
 msgid "use repository config file"
 msgstr "utiliser le fichier de configuration du dépôt"
 
-#: builtin/config.c:61
+#: builtin/config.c:127
 msgid "use given config file"
 msgstr "utiliser le fichier de configuration spécifié"
 
-#: builtin/config.c:62
+#: builtin/config.c:128
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:62
+#: builtin/config.c:128
 msgid "read config from given blob object"
 msgstr "lire la configuration depuis l'objet blob fourni"
 
-#: builtin/config.c:63
+#: builtin/config.c:129
 msgid "Action"
 msgstr "Action"
 
-#: builtin/config.c:64
+#: builtin/config.c:130
 msgid "get value: name [value-regex]"
 msgstr "obtenir la valeur : nom [regex-de-valeur]"
 
-#: builtin/config.c:65
+#: builtin/config.c:131
 msgid "get all values: key [value-regex]"
 msgstr "obtenir toutes les valeurs : clé [regex-de-valeur]"
 
-#: builtin/config.c:66
+#: builtin/config.c:132
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "obtenir les valeur pour la regexp : regex-de-nom [regex-de-valeur]"
 
-#: builtin/config.c:67
+#: builtin/config.c:133
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "obtenir la valeur spécifique pour l'URL : section[.var] URL"
 
-#: builtin/config.c:68
+#: builtin/config.c:134
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 "remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]"
 
-#: builtin/config.c:69
+#: builtin/config.c:135
 msgid "add a new variable: name value"
 msgstr "ajouter une nouvelle variable : nom valeur"
 
-#: builtin/config.c:70
+#: builtin/config.c:136
 msgid "remove a variable: name [value-regex]"
 msgstr "supprimer une variable : nom [regex-de-valeur]"
 
-#: builtin/config.c:71
+#: builtin/config.c:137
 msgid "remove all matches: name [value-regex]"
 msgstr "supprimer toutes les correspondances nom [regex-de-valeur]"
 
-#: builtin/config.c:72
+#: builtin/config.c:138
 msgid "rename section: old-name new-name"
 msgstr "renommer une section : ancien-nom nouveau-nom"
 
-#: builtin/config.c:73
+#: builtin/config.c:139
 msgid "remove a section: name"
 msgstr "supprimer une section : nom"
 
-#: builtin/config.c:74
+#: builtin/config.c:140
 msgid "list all"
 msgstr "afficher tout"
 
-#: builtin/config.c:75
+#: builtin/config.c:141
 msgid "open an editor"
 msgstr "ouvrir un éditeur"
 
-#: builtin/config.c:76
+#: builtin/config.c:142
 msgid "find the color configured: slot [default]"
 msgstr "trouver la couleur configurée : slot [par défaut]"
 
-#: builtin/config.c:77
+#: builtin/config.c:143
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "trouver le réglage de la couleur : slot [stdout-est-tty]"
 
-#: builtin/config.c:78
+#: builtin/config.c:144
 msgid "Type"
 msgstr "Type"
 
-#: builtin/config.c:79
+#: builtin/config.c:145
+msgid "value is given this type"
+msgstr "ce type est assigné à la valeur"
+
+#: builtin/config.c:146
 msgid "value is \"true\" or \"false\""
 msgstr "la valeur est \"true\" (vrai) ou \"false\" (faux)"
 
-#: builtin/config.c:80
+#: builtin/config.c:147
 msgid "value is decimal number"
 msgstr "la valeur est un nombre décimal"
 
-#: builtin/config.c:81
+#: builtin/config.c:148
 msgid "value is --bool or --int"
 msgstr "la valeur est --bool ou --int"
 
-#: builtin/config.c:82
+#: builtin/config.c:149
 msgid "value is a path (file or directory name)"
 msgstr "la valeur est un chemin (vers un fichier ou un répertoire)"
 
-#: builtin/config.c:83
+#: builtin/config.c:150
+msgid "value is an expiry date"
+msgstr "la valeur est une date d'expiration"
+
+#: builtin/config.c:151
 msgid "Other"
 msgstr "Autre"
 
-#: builtin/config.c:84
+#: builtin/config.c:152
 msgid "terminate values with NUL byte"
 msgstr "terminer les valeurs avec un caractère NUL"
 
-#: builtin/config.c:85
+#: builtin/config.c:153
 msgid "show variable names only"
 msgstr "n'afficher que les noms de variable"
 
-#: builtin/config.c:86
+#: builtin/config.c:154
 msgid "respect include directives on lookup"
 msgstr "respecter les directives d'inclusion lors de la recherche"
 
-#: builtin/config.c:87
+#: builtin/config.c:155
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "afficher l'origine de la configuration (fichier, entrée standard, blob, "
 "ligne de commande)"
 
-#: builtin/config.c:327
+#: builtin/config.c:156
+msgid "value"
+msgstr "valeur"
+
+#: builtin/config.c:156
+msgid "with --get, use default value when missing entry"
+msgstr "avec --get, utiliser le valeur par défaut quand l'entrée n'existe pas"
+
+#: builtin/config.c:332
+#, c-format
+msgid "failed to format default config value: %s"
+msgstr "échec du formatage de la valeur de config par défaut : %s"
+
+#: builtin/config.c:431
 msgid "unable to parse default color value"
 msgstr "impossible de lire la valeur de couleur par défaut"
 
-#: builtin/config.c:471
+#: builtin/config.c:575
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -7782,16 +8657,20 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:499
+#: builtin/config.c:603
 msgid "--local can only be used inside a git repository"
 msgstr "--local ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:621
+#: builtin/config.c:606
+msgid "--blob can only be used inside a git repository"
+msgstr "--blob ne peut être utilisé qu'à l'intérieur d'un dépôt git"
+
+#: builtin/config.c:735
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "création impossible du fichier de configuration '%s'"
 
-#: builtin/config.c:633
+#: builtin/config.c:748
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -7800,75 +8679,67 @@ msgstr ""
 "impossible de surcharger des valeurs multiples avec une seule valeur\n"
 "       Utilisez une regexp, --add ou --replace-all pour modifier %s."
 
-#: builtin/count-objects.c:87
+#: builtin/count-objects.c:90
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:97
+#: builtin/count-objects.c:100
 msgid "print sizes in human readable format"
 msgstr "affiche les tailles dans un format humainement lisible"
 
-#: builtin/describe.c:19
+#: builtin/describe.c:22
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<options>] <commit ou apparenté>*"
 
-#: builtin/describe.c:20
+#: builtin/describe.c:23
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<options>] --dirty"
 
-#: builtin/describe.c:54
+#: builtin/describe.c:57
 msgid "head"
 msgstr "tête"
 
-#: builtin/describe.c:54
+#: builtin/describe.c:57
 msgid "lightweight"
 msgstr "léger"
 
-#: builtin/describe.c:54
+#: builtin/describe.c:57
 msgid "annotated"
 msgstr "annoté"
 
-#: builtin/describe.c:253
+#: builtin/describe.c:267
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "l'étiquette annotée %s n'est pas disponible"
 
-#: builtin/describe.c:257
+#: builtin/describe.c:271
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "l'étiquette annotée %s n'a pas de nom embarqué"
 
-#: builtin/describe.c:259
+#: builtin/describe.c:273
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "l'étiquette '%s' est en fait '%s'"
 
-#: builtin/describe.c:286 builtin/log.c:489
-#, c-format
-msgid "Not a valid object name %s"
-msgstr "%s n'est pas un nom d'objet valide"
-
-#: builtin/describe.c:289
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr "%s n'est pas un objet '%s' valide"
-
-#: builtin/describe.c:306
+#: builtin/describe.c:317
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "aucune étiquette ne correspond parfaitement à '%s'"
 
-#: builtin/describe.c:308
+#: builtin/describe.c:319
 #, c-format
-msgid "searching to describe %s\n"
-msgstr "recherche de la description de %s\n"
+msgid "No exact match on refs or tags, searching to describe\n"
+msgstr ""
+"Pas de correspondance exacte sur des réfs ou des étiquettes, recherche par "
+"describe\n"
 
-#: builtin/describe.c:355
+#: builtin/describe.c:366
 #, c-format
 msgid "finished search at %s\n"
 msgstr "recherche terminée à %s\n"
 
-#: builtin/describe.c:382
+#: builtin/describe.c:392
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -7877,7 +8748,7 @@ msgstr ""
 "Aucune étiquette annotée ne peut décrire '%s'.\n"
 "Cependant, il existe des étiquettes non-annotées : essayez avec --tags."
 
-#: builtin/describe.c:386
+#: builtin/describe.c:396
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -7886,12 +8757,12 @@ msgstr ""
 "Aucune étiquette ne peut décrire '%s'.\n"
 "Essayez --always, ou créez des étiquettes."
 
-#: builtin/describe.c:416
+#: builtin/describe.c:426
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "%lu commits parcourus\n"
 
-#: builtin/describe.c:419
+#: builtin/describe.c:429
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -7901,77 +8772,92 @@ msgstr ""
 "affichées\n"
 "abandon de la recherche à %s\n"
 
-#: builtin/describe.c:441
+#: builtin/describe.c:497
+#, c-format
+msgid "describe %s\n"
+msgstr "décrire %s\n"
+
+#: builtin/describe.c:500 builtin/log.c:502
+#, c-format
+msgid "Not a valid object name %s"
+msgstr "%s n'est pas un nom d'objet valide"
+
+#: builtin/describe.c:508
+#, c-format
+msgid "%s is neither a commit nor blob"
+msgstr "%s n'est ni un commit ni un blob"
+
+#: builtin/describe.c:522
 msgid "find the tag that comes after the commit"
 msgstr "rechercher l'étiquette qui suit le commit"
 
-#: builtin/describe.c:442
+#: builtin/describe.c:523
 msgid "debug search strategy on stderr"
 msgstr "déboguer la stratégie de recherche sur stderr"
 
-#: builtin/describe.c:443
+#: builtin/describe.c:524
 msgid "use any ref"
 msgstr "utiliser n'importe quelle référence"
 
-#: builtin/describe.c:444
+#: builtin/describe.c:525
 msgid "use any tag, even unannotated"
 msgstr "utiliser n'importe quelle étiquette, même non-annotée"
 
-#: builtin/describe.c:445
+#: builtin/describe.c:526
 msgid "always use long format"
 msgstr "toujours utiliser le format long"
 
-#: builtin/describe.c:446
+#: builtin/describe.c:527
 msgid "only follow first parent"
 msgstr "ne suivre que le premier parent"
 
-#: builtin/describe.c:449
+#: builtin/describe.c:530
 msgid "only output exact matches"
 msgstr "n'afficher que les correspondances exactes"
 
-#: builtin/describe.c:451
+#: builtin/describe.c:532
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 "considérer uniquement les <n> étiquettes le plus récentes (défaut : 10)"
 
-#: builtin/describe.c:453
+#: builtin/describe.c:534
 msgid "only consider tags matching <pattern>"
 msgstr "ne considérer que les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:455
+#: builtin/describe.c:536
 msgid "do not consider tags matching <pattern>"
 msgstr "ne pas considérer les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:457 builtin/name-rev.c:406
+#: builtin/describe.c:538 builtin/name-rev.c:406
 msgid "show abbreviated commit object as fallback"
 msgstr "afficher les objets commits abrégés en dernier recours"
 
-#: builtin/describe.c:458 builtin/describe.c:461
+#: builtin/describe.c:539 builtin/describe.c:542
 msgid "mark"
 msgstr "marque"
 
-#: builtin/describe.c:459
+#: builtin/describe.c:540
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "ajouter <marque> si la copie de travail est sale (défaut : \"-dirty\")"
 
-#: builtin/describe.c:462
+#: builtin/describe.c:543
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr ""
 "ajouter <marque> si la copie de travail est cassée (défaut : \"-broken\")"
 
-#: builtin/describe.c:480
+#: builtin/describe.c:561
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long et --abbrev=0 sont incompatibles"
 
-#: builtin/describe.c:509
+#: builtin/describe.c:590
 msgid "No names found, cannot describe anything."
 msgstr "aucun nom trouvé, impossible de décrire quoi que ce soit."
 
-#: builtin/describe.c:552
+#: builtin/describe.c:640
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty est incompatible avec la spécification de commits ou assimilés"
 
-#: builtin/describe.c:554
+#: builtin/describe.c:642
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken est incompatible avec les commits ou assimilés"
 
@@ -7980,26 +8866,26 @@ msgstr "--broken est incompatible avec les commits ou assimilés"
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s' : n'est pas un fichier régulier ni un lien symbolique"
 
-#: builtin/diff.c:235
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "option invalide : %s"
 
-#: builtin/diff.c:359
+#: builtin/diff.c:356
 msgid "Not a git repository"
 msgstr "Ce n'est pas un dépôt git !"
 
-#: builtin/diff.c:402
+#: builtin/diff.c:399
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objet spécifié '%s' invalide."
 
-#: builtin/diff.c:411
+#: builtin/diff.c:408
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "plus de deux blobs spécifiés : '%s'"
 
-#: builtin/diff.c:416
+#: builtin/diff.c:413
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "objet non géré '%s' spécifié."
@@ -8008,27 +8894,27 @@ msgstr "objet non géré '%s' spécifié."
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
 
-#: builtin/difftool.c:249
+#: builtin/difftool.c:259
 #, c-format
 msgid "failed: %d"
 msgstr "échec : %d"
 
-#: builtin/difftool.c:291
+#: builtin/difftool.c:301
 #, c-format
 msgid "could not read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: builtin/difftool.c:293
+#: builtin/difftool.c:303
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "impossible de lire le fichier symlink %s"
 
-#: builtin/difftool.c:301
+#: builtin/difftool.c:311
 #, 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:403
+#: builtin/difftool.c:412
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -8036,53 +8922,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:626
+#: builtin/difftool.c:632
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:634
 msgid "working tree file has been left."
 msgstr "le fichier dans l'arbre de travail a été laissé."
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:645
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "des fichiers temporaires existent dans '%s'."
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:646
 msgid "you may want to cleanup or recover these."
 msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:695
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
 
-#: builtin/difftool.c:691
+#: builtin/difftool.c:697
 msgid "perform a full-directory diff"
 msgstr "réalise un diff de répertoire complet"
 
-#: builtin/difftool.c:693
+#: builtin/difftool.c:699
 msgid "do not prompt before launching a diff tool"
 msgstr "ne pas confirmer avant de lancer l'outil de diff"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:704
 msgid "use symlinks in dir-diff mode"
 msgstr "utiliser les liens symboliques en mode de diff de répertoire"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:705
 msgid "<tool>"
 msgstr "<outil>"
 
-#: builtin/difftool.c:701
+#: builtin/difftool.c:706
 msgid "use the specified diff tool"
 msgstr "utiliser l'outil de diff spécifié"
 
-#: builtin/difftool.c:703
+#: builtin/difftool.c:708
 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:706
+#: builtin/difftool.c:711
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -8090,166 +8976,168 @@ msgstr ""
 "provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
 "non-nul"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:713
 msgid "<command>"
 msgstr "<commande>"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:714
 msgid "specify a custom command for viewing diffs"
 msgstr "spécifier une commande personnalisée pour visualiser les différences"
 
-#: builtin/difftool.c:733
+#: builtin/difftool.c:738
 msgid "no <tool> given for --tool=<tool>"
 msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 
-#: builtin/difftool.c:740
+#: builtin/difftool.c:745
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
-#: builtin/fast-export.c:26
+#: builtin/fast-export.c:27
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
 
-#: builtin/fast-export.c:982
+#: builtin/fast-export.c:1000
 msgid "show progress after <n> objects"
 msgstr "afficher la progression après <n> objets"
 
-#: builtin/fast-export.c:984
+#: builtin/fast-export.c:1002
 msgid "select handling of signed tags"
 msgstr "sélectionner la gestion des étiquettes signées"
 
-#: builtin/fast-export.c:987
+#: builtin/fast-export.c:1005
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 "sélectionner la gestion des étiquettes qui pointent sur des objets filtrés"
 
-#: builtin/fast-export.c:990
+#: builtin/fast-export.c:1008
 msgid "Dump marks to this file"
 msgstr "Enregistrer les marques dans ce fichier"
 
-#: builtin/fast-export.c:992
+#: builtin/fast-export.c:1010
 msgid "Import marks from this file"
 msgstr "importer les marques depuis ce fichier"
 
-#: builtin/fast-export.c:994
+#: builtin/fast-export.c:1012
 msgid "Fake a tagger when tags lack one"
 msgstr "falsifier un auteur d'étiquette si l'étiquette n'en présente pas"
 
-#: builtin/fast-export.c:996
+#: builtin/fast-export.c:1014
 msgid "Output full tree for each commit"
 msgstr "Afficher l'arbre complet pour chaque commit"
 
-#: builtin/fast-export.c:998
+#: builtin/fast-export.c:1016
 msgid "Use the done feature to terminate the stream"
 msgstr "Utiliser la fonction \"done\" pour terminer le flux"
 
-#: builtin/fast-export.c:999
+#: builtin/fast-export.c:1017
 msgid "Skip output of blob data"
 msgstr "Sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1000
+#: builtin/fast-export.c:1018
 msgid "refspec"
 msgstr "spécificateur de référence"
 
-#: builtin/fast-export.c:1001
+#: builtin/fast-export.c:1019
 msgid "Apply refspec to exported refs"
 msgstr "Appliquer le spécificateur de référence aux références exportées"
 
-#: builtin/fast-export.c:1002
+#: builtin/fast-export.c:1020
 msgid "anonymize output"
 msgstr "anonymise la sortie"
 
-#: builtin/fetch.c:22
+#: builtin/fetch.c:26
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/fetch.c:23
+#: builtin/fetch.c:27
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<options>] <groupe>"
 
-#: builtin/fetch.c:24
+#: builtin/fetch.c:28
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]"
 
-#: builtin/fetch.c:25
+#: builtin/fetch.c:29
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<options>]"
 
-#: builtin/fetch.c:90 builtin/pull.c:182
+#: builtin/fetch.c:123 builtin/pull.c:193
 msgid "fetch from all remotes"
 msgstr "récupérer depuis tous les dépôts distants"
 
-#: builtin/fetch.c:92 builtin/pull.c:185
+#: builtin/fetch.c:125 builtin/pull.c:196
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser"
 
-#: builtin/fetch.c:94 builtin/pull.c:188
+#: builtin/fetch.c:127 builtin/pull.c:199
 msgid "path to upload pack on remote end"
 msgstr "chemin vers lequel télécharger le paquet sur le poste distant"
 
-#: builtin/fetch.c:95 builtin/pull.c:190
+#: builtin/fetch.c:128 builtin/pull.c:201
 msgid "force overwrite of local branch"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/fetch.c:97
+#: builtin/fetch.c:130
 msgid "fetch from multiple remotes"
 msgstr "récupérer depuis plusieurs dépôts distants"
 
-#: builtin/fetch.c:99 builtin/pull.c:192
+#: builtin/fetch.c:132 builtin/pull.c:203
 msgid "fetch all tags and associated objects"
 msgstr "récupérer toutes les étiquettes et leurs objets associés"
 
-#: builtin/fetch.c:101
+#: builtin/fetch.c:134
 msgid "do not fetch all tags (--no-tags)"
 msgstr "ne pas récupérer toutes les étiquettes (--no-tags)"
 
-#: builtin/fetch.c:103
+#: builtin/fetch.c:136
 msgid "number of submodules fetched in parallel"
 msgstr "nombre de sous-modules récupérés en parallèle"
 
-#: builtin/fetch.c:105 builtin/pull.c:195
+#: builtin/fetch.c:138 builtin/pull.c:206
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "éliminer les branches de suivi distant si la branche n'existe plus dans le "
 "dépôt distant"
 
-#: builtin/fetch.c:106 builtin/fetch.c:129 builtin/pull.c:123
+#: builtin/fetch.c:140
+msgid "prune local tags no longer on remote and clobber changed tags"
+msgstr ""
+"éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
+"encombrent les étiquettes modifiées"
+
+#: builtin/fetch.c:141 builtin/fetch.c:164 builtin/pull.c:131
 msgid "on-demand"
 msgstr "à la demande"
 
-#: builtin/fetch.c:107
+#: builtin/fetch.c:142
 msgid "control recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/fetch.c:111 builtin/pull.c:203
+#: builtin/fetch.c:146 builtin/pull.c:214
 msgid "keep downloaded pack"
 msgstr "conserver le paquet téléchargé"
 
-#: builtin/fetch.c:113
+#: builtin/fetch.c:148
 msgid "allow updating of HEAD ref"
 msgstr "permettre la mise à jour de la référence HEAD"
 
-#: builtin/fetch.c:116 builtin/fetch.c:122 builtin/pull.c:206
+#: builtin/fetch.c:151 builtin/fetch.c:157 builtin/pull.c:217
 msgid "deepen history of shallow clone"
 msgstr "approfondir l'historique d'un clone superficiel"
 
-#: builtin/fetch.c:118
+#: builtin/fetch.c:153
 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:124 builtin/pull.c:209
+#: builtin/fetch.c:159 builtin/pull.c:220
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
-#: builtin/fetch.c:126 builtin/log.c:1450
-msgid "dir"
-msgstr "répertoire"
-
-#: builtin/fetch.c:127
+#: builtin/fetch.c:162
 msgid "prepend this to submodule path output"
 msgstr "préfixer ceci à la sortie du chemin du sous-module"
 
-#: builtin/fetch.c:130
+#: builtin/fetch.c:165
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -8257,91 +9145,101 @@ 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:134 builtin/pull.c:212
+#: builtin/fetch.c:169 builtin/pull.c:223
 msgid "accept refs that update .git/shallow"
 msgstr "accepter les références qui mettent à jour .git/shallow"
 
-#: builtin/fetch.c:135 builtin/pull.c:214
+#: builtin/fetch.c:170 builtin/pull.c:225
 msgid "refmap"
 msgstr "correspondance de référence"
 
-#: builtin/fetch.c:136 builtin/pull.c:215
+#: builtin/fetch.c:171 builtin/pull.c:226
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:394
+#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/send-pack.c:172
+msgid "server-specific"
+msgstr "spécifique au serveur"
+
+#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/send-pack.c:173
+msgid "option to transmit"
+msgstr "option à transmettre"
+
+#: builtin/fetch.c:442
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:512
+#: builtin/fetch.c:560
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 "le paramètre de configuration fetch.output contient une valeur invalide %s"
 
-#: builtin/fetch.c:605
+#: builtin/fetch.c:653
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:609
+#: builtin/fetch.c:657
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:622 builtin/fetch.c:702
+#: builtin/fetch.c:670 builtin/fetch.c:750
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:623
+#: builtin/fetch.c:671
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:632
+#: builtin/fetch.c:680
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:633 builtin/fetch.c:666 builtin/fetch.c:682
-#: builtin/fetch.c:697
+#: builtin/fetch.c:681 builtin/fetch.c:714 builtin/fetch.c:730
+#: builtin/fetch.c:745
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:652
+#: builtin/fetch.c:700
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:655
+#: builtin/fetch.c:703
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:658
+#: builtin/fetch.c:706
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:697
+#: builtin/fetch.c:745
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:702
+#: builtin/fetch.c:750
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:747
+#: builtin/fetch.c:795
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s n'a pas envoyé tous les objets nécessaires\n"
 
-#: builtin/fetch.c:767
+#: builtin/fetch.c:815
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s rejeté parce que les racines superficielles ne sont pas mises à jour"
 
-#: builtin/fetch.c:855 builtin/fetch.c:951
+#: builtin/fetch.c:903 builtin/fetch.c:999
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:866
+#: builtin/fetch.c:914
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -8350,55 +9248,57 @@ msgstr ""
 "des références locales n'ont pas pu être mises à jour ; essayez de lancer\n"
 " 'git remote prune %s' pour supprimer des branches anciennes en conflit"
 
-#: builtin/fetch.c:921
+#: builtin/fetch.c:969
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:970
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:954
+#: builtin/fetch.c:1002
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:955 builtin/remote.c:1023
+#: builtin/fetch.c:1003 builtin/remote.c:1033
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:978
+#: builtin/fetch.c:1026
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Refus de récupérer dans la branche courant %s d'un dépôt non nu"
 
-#: builtin/fetch.c:997
+#: builtin/fetch.c:1045
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s"
 
-#: builtin/fetch.c:1000
+#: builtin/fetch.c:1048
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1076
-#, c-format
-msgid "Don't know how to fetch from %s"
-msgstr "Je ne sais pas récupérer depuis %s"
-
-#: builtin/fetch.c:1236
+#: builtin/fetch.c:1287
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1238 builtin/remote.c:97
+#: builtin/fetch.c:1289 builtin/remote.c:98
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1256
+#: builtin/fetch.c:1335 builtin/fetch.c:1503
+msgid ""
+"--filter can only be used with the remote configured in core.partialClone"
+msgstr ""
+"--filter ne peut être utilisé qu'avec le dépôt distant configuré dans core."
+"partialClone"
+
+#: builtin/fetch.c:1358
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -8406,40 +9306,40 @@ msgstr ""
 "Aucun dépôt distant spécifié. Veuillez spécifier une URL ou un nom\n"
 "distant depuis lesquels les nouvelles révisions devraient être récupérées."
 
-#: builtin/fetch.c:1279
+#: builtin/fetch.c:1395
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1321
+#: builtin/fetch.c:1444
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1323
+#: builtin/fetch.c:1446
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1328
+#: builtin/fetch.c:1451
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1330
+#: builtin/fetch.c:1453
 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:1349
+#: builtin/fetch.c:1469
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1351
+#: builtin/fetch.c:1471
 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:1362
+#: builtin/fetch.c:1480
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1370
+#: builtin/fetch.c:1487
 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 "
@@ -8451,23 +9351,23 @@ msgid ""
 msgstr ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <fichier>]"
 
-#: builtin/fmt-merge-msg.c:664
+#: builtin/fmt-merge-msg.c:666
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "peupler le journal avec au plus <n> éléments depuis le journal court"
 
-#: builtin/fmt-merge-msg.c:667
+#: builtin/fmt-merge-msg.c:669
 msgid "alias for --log (deprecated)"
 msgstr "alias pour --log (obsolète)"
 
-#: builtin/fmt-merge-msg.c:670
+#: builtin/fmt-merge-msg.c:672
 msgid "text"
 msgstr "texte"
 
-#: builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:673
 msgid "use <text> as start of message"
 msgstr "utiliser <texte> comme début de message"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:674
 msgid "file to read from"
 msgstr "fichier d'où lire"
 
@@ -8507,102 +9407,106 @@ 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:42
+#: builtin/for-each-ref.c:39 builtin/tag.c:421
+msgid "respect format colors"
+msgstr "respecter les couleurs de formatage"
+
+#: builtin/for-each-ref.c:43
 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:44
+#: builtin/for-each-ref.c:45
 msgid "print only refs that are merged"
 msgstr "afficher seulement les références qui sont fusionnées"
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:46
 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:46
+#: builtin/for-each-ref.c:47
 msgid "print only refs which contain the commit"
 msgstr "afficher seulement les références qui contiennent le commit"
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:48
 msgid "print only refs which don't contain the commit"
 msgstr "afficher seulement les références qui ne contiennent pas le commit"
 
-#: builtin/fsck.c:554
+#: builtin/fsck.c:569
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:646
+#: builtin/fsck.c:661
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:652
+#: builtin/fsck.c:667
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:653
+#: builtin/fsck.c:668
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:654
+#: builtin/fsck.c:669
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:655
+#: builtin/fsck.c:670
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:656
+#: builtin/fsck.c:671
 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:657
+#: builtin/fsck.c:672
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:658
+#: builtin/fsck.c:673
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:659
+#: builtin/fsck.c:674
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:660
+#: builtin/fsck.c:675
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:662
+#: builtin/fsck.c:677
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:663 builtin/prune.c:107
+#: builtin/fsck.c:678 builtin/prune.c:109
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:664
+#: builtin/fsck.c:679
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:745
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
-#: builtin/gc.c:26
+#: builtin/gc.c:33
 msgid "git gc [<options>]"
 msgstr "git gc [<options>]"
 
-#: builtin/gc.c:79
+#: builtin/gc.c:88
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "Échec du stat de %s : %s"
 
-#: builtin/gc.c:311
+#: builtin/gc.c:452
 #, c-format
 msgid "Can't stat %s"
 msgstr "impossible de faire un stat de %s"
 
-#: builtin/gc.c:320
+#: builtin/gc.c:461
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -8618,47 +9522,56 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:359
+#: builtin/gc.c:502
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:361
+#: builtin/gc.c:504
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:362
+#: builtin/gc.c:505
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:363
+#: builtin/gc.c:508
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "forcer le lancement du ramasse-miettes même si un autre ramasse-miettes "
 "tourne déjà"
 
-#: builtin/gc.c:380
+#: builtin/gc.c:511
+msgid "repack all other packs except the largest pack"
+msgstr "recompacter tous les autres paquets excepté le plus gros paquet"
+
+#: builtin/gc.c:528
+#, c-format
+msgid "failed to parse gc.logexpiry value %s"
+msgstr "impossible d'analyser gc.logexpiry %s"
+
+#: builtin/gc.c:539
 #, c-format
-msgid "Failed to parse gc.logexpiry value %s"
-msgstr "impossible de lire la valeur de gc.logexpiry %s"
+msgid "failed to parse prune expiry value %s"
+msgstr "impossible d'analyser la valeur d'expiration d'élagage %s"
 
-#: builtin/gc.c:408
+#: builtin/gc.c:559
 #, 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:410
+#: builtin/gc.c:561
 #, 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:411
+#: builtin/gc.c:562
 #, 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:436
+#: builtin/gc.c:598
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -8666,23 +9579,23 @@ 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:480
+#: builtin/gc.c:645
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Il y a trop d'objets seuls inaccessibles ; lancez 'git prune' pour les "
 "supprimer."
 
-#: builtin/grep.c:27
+#: builtin/grep.c:28
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
-#: builtin/grep.c:235
+#: builtin/grep.c:226
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep : échec de création du fil: %s"
 
-#: builtin/grep.c:293
+#: builtin/grep.c:284
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "nombre de fils spécifié invalide (%d) pour %s"
@@ -8691,262 +9604,254 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:302 builtin/index-pack.c:1494 builtin/index-pack.c:1692
+#: builtin/grep.c:293 builtin/index-pack.c:1535 builtin/index-pack.c:1727
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/grep.c:788 builtin/grep.c:829
+#: builtin/grep.c:461 builtin/grep.c:582 builtin/grep.c:623
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:848
+#: builtin/grep.c:638
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "impossible de faire un grep sur un objet de type %s"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:703
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend un valeur numérique"
 
-#: builtin/grep.c:999
+#: builtin/grep.c:790
 msgid "search in index instead of in the work tree"
 msgstr "rechercher dans l'index plutôt que dans la copie de travail"
 
-#: builtin/grep.c:1001
+#: builtin/grep.c:792
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:1003
+#: builtin/grep.c:794
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:1005
+#: builtin/grep.c:796
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:1007
+#: builtin/grep.c:798
 msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:1009
-msgid "basename"
-msgstr "nom de base"
-
-#: builtin/grep.c:1010
-msgid "prepend parent project's basename to output"
-msgstr "préfixer le nom de base du projet parent à la sortie"
-
-#: builtin/grep.c:1013
+#: builtin/grep.c:801
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:1015
+#: builtin/grep.c:803
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:1017
+#: builtin/grep.c:805
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:1019
+#: builtin/grep.c:807
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:1021
+#: builtin/grep.c:809
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:812
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:1026
+#: builtin/grep.c:814
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:1030
+#: builtin/grep.c:818
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:1033
+#: builtin/grep.c:821
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:1036
+#: builtin/grep.c:824
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:1039
+#: builtin/grep.c:827
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:1042
+#: builtin/grep.c:830
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:1043
+#: builtin/grep.c:831
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:1044
+#: builtin/grep.c:832
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:1046
+#: builtin/grep.c:834
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:1048
+#: builtin/grep.c:836
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:1050
+#: builtin/grep.c:838
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:1053
+#: builtin/grep.c:841
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:1055
+#: builtin/grep.c:843
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:1057
+#: builtin/grep.c:846
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:1058
+#: builtin/grep.c:847
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:1060
+#: builtin/grep.c:849
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:1062
+#: builtin/grep.c:851
 msgid "show filename only once above matches from same file"
 msgstr ""
 "afficher le nom de fichier une fois au dessus des correspondances du même "
 "fichier"
 
-#: builtin/grep.c:1065
+#: builtin/grep.c:854
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:1068
+#: builtin/grep.c:857
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:1070
+#: builtin/grep.c:859
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:1072
+#: builtin/grep.c:861
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:1073
+#: builtin/grep.c:862
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:1076
+#: builtin/grep.c:865
 msgid "show a line with the function name before matches"
 msgstr ""
 "afficher une ligne avec le nom de la fonction avant les correspondances"
 
-#: builtin/grep.c:1078
+#: builtin/grep.c:867
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:1081
+#: builtin/grep.c:870
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:1083
+#: builtin/grep.c:872
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:1085
+#: builtin/grep.c:874
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:1097
+#: builtin/grep.c:886
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:1099
+#: builtin/grep.c:888
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "n'afficher que les correspondances de fichiers qui correspondent à tous les "
 "motifs"
 
-#: builtin/grep.c:1101
+#: builtin/grep.c:890
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:1105
+#: builtin/grep.c:894
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:1105
+#: builtin/grep.c:894
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:1108
+#: builtin/grep.c:898
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:1172
+#: builtin/grep.c:962
 msgid "no pattern given."
 msgstr "aucun motif fourni."
 
-#: builtin/grep.c:1204
+#: builtin/grep.c:994
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr ""
 "--no-index ou --untracked ne peuvent pas être utilisés avec des révisions"
 
-#: builtin/grep.c:1211
+#: builtin/grep.c:1001
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "impossible de résoudre la révision : %s"
 
-#: builtin/grep.c:1245 builtin/index-pack.c:1490
+#: builtin/grep.c:1036 builtin/index-pack.c:1531
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1250
+#: builtin/grep.c:1041
 msgid "no threads support, ignoring --threads"
 msgstr "pas de support des fils, ignore --threads"
 
-#: builtin/grep.c:1281
+#: builtin/grep.c:1065
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail"
 
-#: builtin/grep.c:1304
+#: builtin/grep.c:1088
 msgid "option not supported with --recurse-submodules."
 msgstr "option non supportée avec --recurse-submodules."
 
-#: builtin/grep.c:1310
+#: builtin/grep.c:1094
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached ou --untracked ne peuvent pas être utilisés avec --no-index."
 
-#: builtin/grep.c:1316
+#: builtin/grep.c:1100
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 "--[no-]exclude-standard ne peut pas être utilisé avec du contenu suivi."
 
-#: builtin/grep.c:1324
+#: builtin/grep.c:1108
 msgid "both --cached and trees are given."
 msgstr "--cached et des arbres sont fournis en même temps."
 
-#: builtin/hash-object.c:82
+#: builtin/hash-object.c:83
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -8954,93 +9859,97 @@ msgstr ""
 "git hash-object [-t <type>] [-w] [--path=<fichier> | --no-filters] [--stdin] "
 "[--] <fichier>..."
 
-#: builtin/hash-object.c:83
+#: builtin/hash-object.c:84
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
 msgid "type"
 msgstr "type"
 
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
 msgid "object type"
 msgstr "type d'objet"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "write the object into the object database"
 msgstr "écrire l'objet dans la base de donnée d'objets"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
 msgid "read the object from stdin"
 msgstr "lire l'objet depuis l'entrée standard"
 
-#: builtin/hash-object.c:100
+#: builtin/hash-object.c:101
 msgid "store file as is without filters"
 msgstr "stocker le fichier tel quel sans filtrage"
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:102
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr ""
 "juste hasher n'importe quel contenu pour créer des objets corrompus pour "
 "debugger Git"
 
-#: builtin/hash-object.c:102
+#: builtin/hash-object.c:103
 msgid "process file as it were from this path"
 msgstr "traiter le fichier comme s'il venait de ce chemin"
 
-#: builtin/help.c:43
+#: builtin/help.c:45
 msgid "print all available commands"
 msgstr "afficher toutes les commandes disponibles"
 
-#: builtin/help.c:44
+#: builtin/help.c:46
 msgid "exclude guides"
 msgstr "exclure les guides"
 
-#: builtin/help.c:45
+#: builtin/help.c:47
 msgid "print list of useful guides"
 msgstr "afficher une liste de guides utiles"
 
-#: builtin/help.c:46
+#: builtin/help.c:48
 msgid "show man page"
 msgstr "afficher la page de manuel"
 
-#: builtin/help.c:47
+#: builtin/help.c:49
 msgid "show manual in web browser"
 msgstr "afficher le manuel dans un navigateur web"
 
-#: builtin/help.c:49
+#: builtin/help.c:51
 msgid "show info page"
 msgstr "afficher la page info"
 
-#: builtin/help.c:55
+#: builtin/help.c:53
+msgid "print command description"
+msgstr "afficher la description de la commande"
+
+#: builtin/help.c:58
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<commande>]"
 
-#: builtin/help.c:67
+#: builtin/help.c:70
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "format d'aide non reconnu '%s'"
 
-#: builtin/help.c:94
+#: builtin/help.c:97
 msgid "Failed to start emacsclient."
 msgstr "échec de démarrage d'emacsclient."
 
-#: builtin/help.c:107
+#: builtin/help.c:110
 msgid "Failed to parse emacsclient version."
 msgstr "échec d'analyse de la version d'emacsclient."
 
-#: builtin/help.c:115
+#: builtin/help.c:118
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "la version d'emacsclient '%d' est trop ancienne (<22)."
 
-#: builtin/help.c:133 builtin/help.c:154 builtin/help.c:163 builtin/help.c:171
+#: builtin/help.c:136 builtin/help.c:158 builtin/help.c:168 builtin/help.c:176
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "échec de l'exécution de '%s'"
 
-#: builtin/help.c:208
+#: builtin/help.c:214
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -9049,7 +9958,7 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel non supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:220
+#: builtin/help.c:226
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -9058,356 +9967,327 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:337
+#: builtin/help.c:343
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s' : visualiseur de manuel inconnu."
 
-#: builtin/help.c:354
+#: builtin/help.c:360
 msgid "no man viewer handled the request"
 msgstr "aucun visualiseur de manuel n'a pris en charge la demande"
 
-#: builtin/help.c:362
+#: builtin/help.c:368
 msgid "no info viewer handled the request"
 msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
 
-#: builtin/help.c:404
-msgid "Defining attributes per path"
-msgstr "Définition des attributs par chemin"
-
-#: builtin/help.c:405
-msgid "Everyday Git With 20 Commands Or So"
-msgstr "Git de tous les jours avec à peu près 20 commandes"
-
-#: builtin/help.c:406
-msgid "A Git glossary"
-msgstr "Un glossaire Git"
-
-#: builtin/help.c:407
-msgid "Specifies intentionally untracked files to ignore"
-msgstr "Spécifie les fichiers non-suivis à ignorer intentionnellement"
-
-#: builtin/help.c:408
-msgid "Defining submodule properties"
-msgstr "Définition des propriétés de sous-module"
-
-#: builtin/help.c:409
-msgid "Specifying revisions and ranges for Git"
-msgstr "Spécification des révisions et portées pour Git"
-
-#: builtin/help.c:410
-msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
-msgstr ""
-"Une introduction pratique à Git (pour les versions 1.5.1 et supérieures)"
-
-#: builtin/help.c:411
-msgid "An overview of recommended workflows with Git"
-msgstr "Un aperçu des flux de travail recommandés avec Git"
-
-#: builtin/help.c:423
-msgid "The common Git guides are:\n"
-msgstr "Les guides Git populaires sont : \n"
-
-#: builtin/help.c:441
+#: builtin/help.c:415
 #, c-format
-msgid "`git %s' is aliased to `%s'"
-msgstr "`git %s\" est un alias de `%s'"
+msgid "'%s' is aliased to '%s'"
+msgstr "'%s' est un alias de '%s'"
 
-#: builtin/help.c:463 builtin/help.c:480
+#: builtin/help.c:442 builtin/help.c:459
 #, c-format
 msgid "usage: %s%s"
 msgstr "usage : %s%s"
 
-#: builtin/index-pack.c:155
+#: builtin/index-pack.c:158
 #, c-format
 msgid "unable to open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: builtin/index-pack.c:205
+#: builtin/index-pack.c:208
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "type d'objet non correspondant à %s"
 
-#: builtin/index-pack.c:225
+#: builtin/index-pack.c:228
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "objet attendu non reçu %s"
 
-#: builtin/index-pack.c:228
+#: builtin/index-pack.c:231
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "objet %s : type attendu %s, reçu %s"
 
-#: builtin/index-pack.c:270
+#: builtin/index-pack.c:273
 #, 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:280
+#: builtin/index-pack.c:283
 msgid "early EOF"
 msgstr "fin de fichier prématurée"
 
-#: builtin/index-pack.c:281
+#: builtin/index-pack.c:284
 msgid "read error on input"
 msgstr "erreur de lecture sur l'entrée"
 
-#: builtin/index-pack.c:293
+#: builtin/index-pack.c:296
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: builtin/index-pack.c:300
+#: builtin/index-pack.c:303
 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:303 builtin/unpack-objects.c:93
+#: builtin/index-pack.c:306 builtin/unpack-objects.c:93
 msgid "pack exceeds maximum allowed size"
 msgstr "le paquet dépasse la taille maximale permise"
 
-#: builtin/index-pack.c:318
+#: builtin/index-pack.c:321
 #, c-format
 msgid "unable to create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: builtin/index-pack.c:324
+#: builtin/index-pack.c:327
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "impossible d'ouvrir le fichier paquet '%s'"
 
-#: builtin/index-pack.c:338
+#: builtin/index-pack.c:341
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:340
+#: builtin/index-pack.c:343
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:358
+#: builtin/index-pack.c:361
 #, 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:479
+#: builtin/index-pack.c:482
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:528
+#: builtin/index-pack.c:531
 msgid "offset value overflow for delta base object"
 msgstr "dépassement de la valeur d'offset pour l'objet delta de base"
 
-#: builtin/index-pack.c:536
+#: builtin/index-pack.c:539
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:544
+#: builtin/index-pack.c:547
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:575
+#: builtin/index-pack.c:578
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:577
+#: builtin/index-pack.c:580
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "fin prématurée du fichier paquet, %<PRIuMAX> octet lu"
 msgstr[1] "fin prématurée du fichier paquet, %<PRIuMAX> octets lus"
 
-#: builtin/index-pack.c:603
+#: builtin/index-pack.c:606
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:816 builtin/index-pack.c:825
+#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:780
+#: builtin/index-pack.c:819 builtin/index-pack.c:828
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:167
-#: builtin/pack-objects.c:261
+#: builtin/index-pack.c:754 builtin/pack-objects.c:198
+#: builtin/pack-objects.c:292
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:814
+#: builtin/index-pack.c:817
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:822
+#: builtin/index-pack.c:825
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:836
+#: builtin/index-pack.c:839
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:851
+#: builtin/index-pack.c:842 builtin/index-pack.c:860
+msgid "fsck error in packed object"
+msgstr "erreur de fsck dans l'objet empaqueté"
+
+#: builtin/index-pack.c:857
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/index-pack.c:854
-msgid "Error in object"
-msgstr "Erreur dans l'objet"
-
-#: builtin/index-pack.c:856
+#: builtin/index-pack.c:862
 #, 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:928 builtin/index-pack.c:959
+#: builtin/index-pack.c:934 builtin/index-pack.c:965
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1130
+#: builtin/index-pack.c:1135
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1130
+#: builtin/index-pack.c:1135
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1164
+#: builtin/index-pack.c:1169
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1169
+#: builtin/index-pack.c:1174
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1172
+#: builtin/index-pack.c:1177
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1184
+#: builtin/index-pack.c:1189
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1207
+#: builtin/index-pack.c:1212
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1218
+#: builtin/index-pack.c:1223
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1260
+#: builtin/index-pack.c:1265
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1266
+#: builtin/index-pack.c:1271
 #, 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:1278
+#: builtin/index-pack.c:1283
 #, 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:1282
+#: builtin/index-pack.c:1287
 #, 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:1306
+#: builtin/index-pack.c:1311
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1382
+#: builtin/index-pack.c:1388
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1408
-msgid "error while closing pack file"
-msgstr "erreur en fermeture du fichier paquet"
+#: builtin/index-pack.c:1402
+#, c-format
+msgid "packfile name '%s' does not end with '.pack'"
+msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'"
 
-#: builtin/index-pack.c:1420
+#: builtin/index-pack.c:1427
 #, c-format
-msgid "cannot write keep file '%s'"
-msgstr "impossible d'écrire le fichier \"keep\" '%s'"
+msgid "cannot write %s file '%s'"
+msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1428
+#: builtin/index-pack.c:1435
 #, c-format
-msgid "cannot close written keep file '%s'"
-msgstr "impossible de fermer le fichier \"keep\" '%s'"
+msgid "cannot close written %s file '%s'"
+msgstr "impossible de fermer le fichier %s écrit '%s'"
+
+#: builtin/index-pack.c:1459
+msgid "error while closing pack file"
+msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1438
+#: builtin/index-pack.c:1473
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1446
+#: builtin/index-pack.c:1481
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1484
+#: builtin/index-pack.c:1525
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1552
+#: builtin/index-pack.c:1594
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1554
+#: builtin/index-pack.c:1596
 #, 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:1602
+#: builtin/index-pack.c:1644
 #, 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:1609
+#: builtin/index-pack.c:1651
 #, 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:1622
-#, 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:1688
+msgid "Cannot come back to cwd"
+msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: builtin/index-pack.c:1704 builtin/index-pack.c:1707
-#: builtin/index-pack.c:1723 builtin/index-pack.c:1727
+#: builtin/index-pack.c:1739 builtin/index-pack.c:1742
+#: builtin/index-pack.c:1758 builtin/index-pack.c:1762
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1743
+#: builtin/index-pack.c:1778
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1745
+#: builtin/index-pack.c:1780
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1753
+#: builtin/index-pack.c:1786
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
+#: builtin/index-pack.c:1836 builtin/unpack-objects.c:578
+msgid "fsck error in pack objects"
+msgstr "erreur de fsck dans les objets paquets"
+
 #: builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
@@ -9445,8 +10325,8 @@ msgstr "modèle %s ignoré"
 
 #: builtin/init-db.c:120
 #, c-format
-msgid "templates not found %s"
-msgstr "modèles non trouvés %s"
+msgid "templates not found in %s"
+msgstr "modèles non trouvés dans %s"
 
 #: builtin/init-db.c:135
 #, c-format
@@ -9504,11 +10384,6 @@ msgstr "permissions"
 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:516 builtin/init-db.c:521
-#, c-format
-msgid "cannot mkdir %s"
-msgstr "impossible de créer le répertoire (mkdir) %s"
-
 #: builtin/init-db.c:525
 #, c-format
 msgid "cannot chdir to %s"
@@ -9536,134 +10411,174 @@ msgstr ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<symbole>[(=|:)<valeur>])...] [<fichier>...]"
 
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:92
 msgid "edit files in place"
 msgstr "éditer les fichiers sur place"
 
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:93
 msgid "trim empty trailers"
 msgstr "éliminer les lignes de fin vides"
 
-#: builtin/interpret-trailers.c:28
+#: builtin/interpret-trailers.c:96
+msgid "where to place the new trailer"
+msgstr "où placer les nouvelles lignes terminales"
+
+#: builtin/interpret-trailers.c:98
+msgid "action if trailer already exists"
+msgstr "action si les lignes terminales existent déjà"
+
+#: builtin/interpret-trailers.c:100
+msgid "action if trailer is missing"
+msgstr "action si les lignes terminales manquent"
+
+#: builtin/interpret-trailers.c:102
+msgid "output only the trailers"
+msgstr "éliminer les lignes terminales vides"
+
+#: builtin/interpret-trailers.c:103
+msgid "do not apply config rules"
+msgstr "ne pas appliquer les règles de la configuration"
+
+#: builtin/interpret-trailers.c:104
+msgid "join whitespace-continued values"
+msgstr "joindre les valeurs continuées avec des caractères blancs"
+
+#: builtin/interpret-trailers.c:105
+msgid "set parsing options"
+msgstr "paramètres d'analyse"
+
+#: builtin/interpret-trailers.c:107
 msgid "trailer"
 msgstr "ligne de fin"
 
-#: builtin/interpret-trailers.c:29
+#: builtin/interpret-trailers.c:108
 msgid "trailer(s) to add"
 msgstr "ligne(s) de fin à ajouter"
 
-#: builtin/interpret-trailers.c:42
+#: builtin/interpret-trailers.c:117
+msgid "--trailer with --only-input does not make sense"
+msgstr "--trailer n'a aucune signification avec --only-input"
+
+#: builtin/interpret-trailers.c:127
 msgid "no input file given for in-place editing"
 msgstr "aucun fichier en entrée pour l'éditon sur place"
 
-#: builtin/log.c:45
+#: builtin/log.c:48
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 
-#: builtin/log.c:46
+#: builtin/log.c:49
 msgid "git show [<options>] <object>..."
 msgstr "git show [<options>] <objet>..."
 
-#: builtin/log.c:90
+#: builtin/log.c:93
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "option --decorate invalide : %s"
 
-#: builtin/log.c:147
+#: builtin/log.c:153
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: builtin/log.c:148
+#: builtin/log.c:154
 msgid "show source"
 msgstr "afficher la source"
 
-#: builtin/log.c:149
+#: builtin/log.c:155
 msgid "Use mail map file"
 msgstr "Utiliser le fichier de correspondance de mail"
 
-#: builtin/log.c:150
+#: builtin/log.c:157
+msgid "only decorate refs that match <pattern>"
+msgstr "décorer seulement les références correspondant à <motif>"
+
+#: builtin/log.c:159
+msgid "do not decorate refs that match <pattern>"
+msgstr "ne pas décorer les références correspondant à <motif>"
+
+#: builtin/log.c:160
 msgid "decorate options"
 msgstr "décorer les options"
 
-#: builtin/log.c:153
+#: builtin/log.c:163
 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:249
+#: builtin/log.c:259
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Sortie finale : %d %s\n"
 
-#: builtin/log.c:497
+#: builtin/log.c:510
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s : fichier incorrect"
 
-#: builtin/log.c:512 builtin/log.c:606
+#: builtin/log.c:525 builtin/log.c:619
 #, c-format
 msgid "Could not read object %s"
 msgstr "Impossible de lire l'objet %s"
 
-#: builtin/log.c:630
+#: builtin/log.c:643
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Type inconnu : %d"
 
-#: builtin/log.c:751
+#: builtin/log.c:764
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
-#: builtin/log.c:852
+#: builtin/log.c:865
 msgid "name of output directory is too long"
 msgstr "le nom du répertoire de sortie est trop long"
 
-#: builtin/log.c:868
+#: builtin/log.c:881
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Impossible d'ouvrir le fichier correctif %s"
 
-#: builtin/log.c:885
+#: builtin/log.c:898
 msgid "Need exactly one range."
 msgstr "Exactement une plage nécessaire."
 
-#: builtin/log.c:895
+#: builtin/log.c:908
 msgid "Not a range."
 msgstr "Ceci n'est pas une plage."
 
-#: builtin/log.c:1001
+#: builtin/log.c:1014
 msgid "Cover letter needs email format"
 msgstr "La lettre de motivation doit être au format courriel"
 
-#: builtin/log.c:1081
+#: builtin/log.c:1095
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
 
-#: builtin/log.c:1108
+#: builtin/log.c:1122
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]"
 
-#: builtin/log.c:1158
+#: builtin/log.c:1172
 msgid "Two output directories?"
 msgstr "Deux répertoires de sortie ?"
 
-#: builtin/log.c:1265 builtin/log.c:1908 builtin/log.c:1910 builtin/log.c:1922
+#: builtin/log.c:1279 builtin/log.c:1932 builtin/log.c:1934 builtin/log.c:1946
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Commit inconnu %s"
 
-#: builtin/log.c:1275 builtin/notes.c:886 builtin/tag.c:533
+#: builtin/log.c:1289 builtin/notes.c:887 builtin/tag.c:523
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
 
-#: builtin/log.c:1280
+#: builtin/log.c:1294
 msgid "Could not find exact merge base."
 msgstr "Impossible de trouver la base de fusion exacte."
 
-#: builtin/log.c:1284
+#: builtin/log.c:1298
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -9676,221 +10591,230 @@ msgstr ""
 "ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
 "manuellement."
 
-#: builtin/log.c:1304
+#: builtin/log.c:1318
 msgid "Failed to find exact merge base"
 msgstr "Impossible de trouver la base de fusion exacte"
 
-#: builtin/log.c:1315
+#: builtin/log.c:1329
 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:1319
+#: builtin/log.c:1333
 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:1368
+#: builtin/log.c:1382
 msgid "cannot get patch id"
 msgstr "impossible d'obtenir l'id du patch"
 
-#: builtin/log.c:1425
+#: builtin/log.c:1441
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "utiliser [PATCH n/m] même avec un patch unique"
 
-#: builtin/log.c:1428
+#: builtin/log.c:1444
 msgid "use [PATCH] even with multiple patches"
 msgstr "utiliser [PATCH] même avec des patchs multiples"
 
-#: builtin/log.c:1432
+#: builtin/log.c:1448
 msgid "print patches to standard out"
 msgstr "afficher les patchs sur la sortie standard"
 
-#: builtin/log.c:1434
+#: builtin/log.c:1450
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
-#: builtin/log.c:1436
+#: builtin/log.c:1452
 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:1437
+#: builtin/log.c:1453
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1438
+#: builtin/log.c:1454
 msgid "use <sfx> instead of '.patch'"
 msgstr "utiliser <sfx> au lieu de '.patch'"
 
-#: builtin/log.c:1440
+#: builtin/log.c:1456
 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:1442
+#: builtin/log.c:1458
 msgid "mark the series as Nth re-roll"
 msgstr "marquer la série comme une Nième réédition"
 
-#: builtin/log.c:1444
+#: builtin/log.c:1460
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
 
-#: builtin/log.c:1447
+#: builtin/log.c:1463
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "utiliser [<préfixe>] au lieu de [PATCH]"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1466
 msgid "store resulting files in <dir>"
 msgstr "stocker les fichiers résultats dans <répertoire>"
 
-#: builtin/log.c:1453
+#: builtin/log.c:1469
 msgid "don't strip/add [PATCH]"
 msgstr "ne pas retirer/ajouter [PATCH]"
 
-#: builtin/log.c:1456
+#: builtin/log.c:1472
 msgid "don't output binary diffs"
 msgstr "ne pas imprimer les diffs binaires"
 
-#: builtin/log.c:1458
+#: builtin/log.c:1474
 msgid "output all-zero hash in From header"
 msgstr "écrire une empreinte à zéro dans l'entête From"
 
-#: builtin/log.c:1460
+#: builtin/log.c:1476
 msgid "don't include a patch matching a commit upstream"
 msgstr "ne pas inclure un patch correspondant à un commit amont"
 
-#: builtin/log.c:1462
+#: builtin/log.c:1478
 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:1464
+#: builtin/log.c:1480
 msgid "Messaging"
 msgstr "Communication"
 
-#: builtin/log.c:1465
+#: builtin/log.c:1481
 msgid "header"
 msgstr "en-tête"
 
-#: builtin/log.c:1466
+#: builtin/log.c:1482
 msgid "add email header"
-msgstr "ajouter l'en-tête d'courriel"
+msgstr "ajouter l'en-tête dcourriel"
 
-#: builtin/log.c:1467 builtin/log.c:1469
+#: builtin/log.c:1483 builtin/log.c:1485
 msgid "email"
 msgstr "courriel"
 
-#: builtin/log.c:1467
+#: builtin/log.c:1483
 msgid "add To: header"
 msgstr "ajouter l'en-tête \"To:\""
 
-#: builtin/log.c:1469
+#: builtin/log.c:1485
 msgid "add Cc: header"
 msgstr "ajouter l'en-tête \"Cc:\""
 
-#: builtin/log.c:1471
+#: builtin/log.c:1487
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1488
 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:1474
+#: builtin/log.c:1490
 msgid "message-id"
 msgstr "id-message"
 
-#: builtin/log.c:1475
+#: builtin/log.c:1491
 msgid "make first mail a reply to <message-id>"
 msgstr "répondre dans le premier message à <id-message>"
 
-#: builtin/log.c:1476 builtin/log.c:1479
+#: builtin/log.c:1492 builtin/log.c:1495
 msgid "boundary"
 msgstr "limite"
 
-#: builtin/log.c:1477
+#: builtin/log.c:1493
 msgid "attach the patch"
 msgstr "attacher le patch"
 
-#: builtin/log.c:1480
+#: builtin/log.c:1496
 msgid "inline the patch"
 msgstr "patch à l'intérieur"
 
-#: builtin/log.c:1484
+#: builtin/log.c:1500
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
 
-#: builtin/log.c:1486
+#: builtin/log.c:1502
 msgid "signature"
 msgstr "signature"
 
-#: builtin/log.c:1487
+#: builtin/log.c:1503
 msgid "add a signature"
 msgstr "ajouter une signature"
 
-#: builtin/log.c:1488
+#: builtin/log.c:1504
 msgid "base-commit"
 msgstr "commit-de-base"
 
-#: builtin/log.c:1489
+#: builtin/log.c:1505
 msgid "add prerequisite tree info to the patch series"
 msgstr "Ajouter un arbre prérequis à la série de patchs"
 
-#: builtin/log.c:1491
+#: builtin/log.c:1507
 msgid "add a signature from a file"
 msgstr "ajouter une signature depuis un fichier"
 
-#: builtin/log.c:1492
+#: builtin/log.c:1508
 msgid "don't print the patch filenames"
 msgstr "ne pas afficher les noms de fichiers des patchs"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1510
+msgid "show progress while generating patches"
+msgstr ""
+"afficher la barre de progression durant la phase de génération des patchs"
+
+#: builtin/log.c:1585
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "ligne d'identification invalide : %s"
 
-#: builtin/log.c:1582
+#: builtin/log.c:1600
 msgid "-n and -k are mutually exclusive."
 msgstr "-n et -k sont mutuellement exclusifs."
 
-#: builtin/log.c:1584
+#: builtin/log.c:1602
 msgid "--subject-prefix/--rfc and -k are mutually exclusive."
 msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs."
 
-#: builtin/log.c:1592
+#: builtin/log.c:1610
 msgid "--name-only does not make sense"
 msgstr "--name-only n'a pas de sens"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1612
 msgid "--name-status does not make sense"
 msgstr "--name-status n'a pas de sens"
 
-#: builtin/log.c:1596
+#: builtin/log.c:1614
 msgid "--check does not make sense"
 msgstr "--check n'a pas de sens"
 
-#: builtin/log.c:1626
+#: builtin/log.c:1646
 msgid "standard output, or directory, which one?"
 msgstr "sortie standard, ou répertoire, lequel ?"
 
-#: builtin/log.c:1628
+#: builtin/log.c:1648
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Impossible de créer le répertoire '%s'"
 
-#: builtin/log.c:1722
+#: builtin/log.c:1741
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "lecture du fichier de signature '%s' impossible"
 
-#: builtin/log.c:1794
+#: builtin/log.c:1773
+msgid "Generating patches"
+msgstr "Génération des patchs"
+
+#: builtin/log.c:1817
 msgid "Failed to create output files"
 msgstr "Échec de création des fichiers en sortie"
 
-#: builtin/log.c:1843
+#: builtin/log.c:1867
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
 
-#: builtin/log.c:1897
+#: builtin/log.c:1921
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -9908,100 +10832,104 @@ msgstr "identifier l'état de fichier avec les étiquettes"
 
 #: builtin/ls-files.c:519
 msgid "use lowercase letters for 'assume unchanged' files"
-msgstr "utiliser des minuscules pour les fichier 'assumés inchangés'"
+msgstr "utiliser des minuscules pour les fichiers 'assumés inchangés'"
 
 #: builtin/ls-files.c:521
+msgid "use lowercase letters for 'fsmonitor clean' files"
+msgstr "utiliser des minuscules pour les fichiers 'fsmonitor clean'"
+
+#: builtin/ls-files.c:523
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:523
+#: builtin/ls-files.c:525
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:525
+#: builtin/ls-files.c:527
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:527
+#: builtin/ls-files.c:529
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:529
+#: builtin/ls-files.c:531
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:534
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:536
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 "afficher les fichiers du système de fichiers qui ont besoin d'être supprimés"
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:538
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:538
+#: builtin/ls-files.c:540
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:549
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:552
 msgid "exclude patterns are read from <file>"
 msgstr "les motifs d'exclusion sont lus depuis <fichier>"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "lire des motifs d'exclusion additionnels par répertoire dans <fichier>"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:558
+#: builtin/ls-files.c:560
 msgid "make the output relative to the project top directory"
 msgstr "afficher en relatif par rapport au répertoire racine du projet"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:563
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:565
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur"
 
-#: builtin/ls-files.c:564
+#: builtin/ls-files.c:566
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:567
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "considérer que les chemins supprimés depuis <arbre ou apparenté> sont "
 "toujours présents"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:569
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
-#: builtin/ls-remote.c:7
+#: builtin/ls-remote.c:9
 msgid ""
 "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
@@ -10011,41 +10939,41 @@ msgstr ""
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
 "                     [--symref] [<dépôt> [<références>...]]"
 
-#: builtin/ls-remote.c:52
+#: builtin/ls-remote.c:59
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: builtin/ls-remote.c:53 builtin/ls-remote.c:55
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62
 msgid "exec"
 msgstr "exécutable"
 
-#: builtin/ls-remote.c:54 builtin/ls-remote.c:56
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63
 msgid "path of git-upload-pack on the remote host"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/ls-remote.c:58
+#: builtin/ls-remote.c:65
 msgid "limit to tags"
 msgstr "limiter aux étiquettes"
 
-#: builtin/ls-remote.c:59
+#: builtin/ls-remote.c:66
 msgid "limit to heads"
 msgstr "limiter aux heads"
 
-#: builtin/ls-remote.c:60
+#: builtin/ls-remote.c:67
 msgid "do not show peeled tags"
 msgstr "ne pas afficher les étiquettes pelées"
 
-#: builtin/ls-remote.c:62
+#: builtin/ls-remote.c:69
 msgid "take url.<base>.insteadOf into account"
 msgstr "prendre en compte url.<base>.insteadOf"
 
-#: builtin/ls-remote.c:64
+#: builtin/ls-remote.c:73
 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:66
+#: builtin/ls-remote.c:76
 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"
 
@@ -10092,181 +11020,185 @@ msgstr ""
 msgid "empty mbox: '%s'"
 msgstr "mbox vide : '%s'"
 
-#: builtin/merge.c:47
+#: builtin/merge.c:51
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<options>] [<commit>...]"
 
-#: builtin/merge.c:48
+#: builtin/merge.c:52
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:49
+#: builtin/merge.c:53
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:104
+#: builtin/merge.c:110
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:147
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:142
+#: builtin/merge.c:148
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:147
+#: builtin/merge.c:153
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:197 builtin/pull.c:134
+#: builtin/merge.c:203 builtin/pull.c:142
 msgid "do not show a diffstat at the end of the merge"
 msgstr "ne pas afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:200 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:145
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:201 builtin/pull.c:140
+#: builtin/merge.c:207 builtin/pull.c:148
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:203 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:151
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "ajouter (au plus <n>) éléments du journal court au message de validation de "
 "la fusion"
 
-#: builtin/merge.c:206 builtin/pull.c:146
+#: builtin/merge.c:212 builtin/pull.c:157
 msgid "create a single commit instead of doing a merge"
 msgstr "créer une validation unique au lieu de faire une fusion"
 
-#: builtin/merge.c:208 builtin/pull.c:149
+#: builtin/merge.c:214 builtin/pull.c:160
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:210 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:163
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:211
+#: builtin/merge.c:217
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:213 builtin/pull.c:158
+#: builtin/merge.c:219 builtin/pull.c:169
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:217 builtin/pull.c:161
+#: builtin/merge.c:223 builtin/pull.c:172
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "vérifier que le commit nommé a une signature GPG valide"
 
-#: builtin/merge.c:218 builtin/notes.c:776 builtin/pull.c:165
+#: builtin/merge.c:224 builtin/notes.c:777 builtin/pull.c:176
 #: builtin/revert.c:109
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:219 builtin/pull.c:166
+#: builtin/merge.c:225 builtin/pull.c:177
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:220 builtin/pull.c:169
+#: builtin/merge.c:226 builtin/pull.c:180
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:221 builtin/pull.c:170
+#: builtin/merge.c:227 builtin/pull.c:181
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:223
+#: builtin/merge.c:229
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "message de validation de la fusion (pour une fusion sans avance rapide)"
 
-#: builtin/merge.c:227
+#: builtin/merge.c:233
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:229
+#: builtin/merge.c:235
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:231 builtin/pull.c:177
+#: builtin/merge.c:237 builtin/pull.c:188
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:243
+msgid "verify commit-msg hook"
+msgstr "vérifier le crochet commit-msg"
+
+#: builtin/merge.c:268
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:264
+#: builtin/merge.c:273
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:269
+#: builtin/merge.c:278
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:288 builtin/merge.c:305
+#: builtin/merge.c:300 builtin/merge.c:317
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:335
+#: builtin/merge.c:347
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:346
+#: builtin/merge.c:358
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:396
+#: builtin/merge.c:408
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:458
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:537
+#: builtin/merge.c:548
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:657
+#: builtin/merge.c:669
 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:671
+#: builtin/merge.c:683
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Options inconnue pour merge-recursive : -X%s"
 
-#: builtin/merge.c:686
+#: builtin/merge.c:698
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:738
+#: builtin/merge.c:749
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:747
+#: builtin/merge.c:758
 #, 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:753
+#: builtin/merge.c:764
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -10283,70 +11215,70 @@ msgstr ""
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:777
+#: builtin/merge.c:800
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:797
+#: builtin/merge.c:819
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:850
+#: builtin/merge.c:872
 #, 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:889
+#: builtin/merge.c:911
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:891
+#: builtin/merge.c:913
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:893
+#: builtin/merge.c:915
 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:898
+#: builtin/merge.c:920
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:945
+#: builtin/merge.c:973
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1046
+#: builtin/merge.c:1075
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1080
+#: builtin/merge.c:1109
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1145
+#: builtin/merge.c:1211
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1149
+#: builtin/merge.c:1215
 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:1161
+#: builtin/merge.c:1227
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1165
+#: builtin/merge.c:1231
 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:1181
+#: builtin/merge.c:1247
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -10354,7 +11286,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1254
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -10362,114 +11294,114 @@ msgstr ""
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1191
+#: builtin/merge.c:1257
 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:1200
+#: builtin/merge.c:1266
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1208
+#: builtin/merge.c:1274
 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:1225
+#: builtin/merge.c:1291
 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:1227
+#: builtin/merge.c:1293
 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:1232
+#: builtin/merge.c:1298
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1234
+#: builtin/merge.c:1300
 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:1268
+#: builtin/merge.c:1334
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
 
-#: builtin/merge.c:1271
+#: builtin/merge.c:1337
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
 
-#: builtin/merge.c:1274
+#: builtin/merge.c:1340
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: builtin/merge.c:1277
+#: builtin/merge.c:1343
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "La validation %s a une signature GPG correcte par %s\n"
 
-#: builtin/merge.c:1339
+#: builtin/merge.c:1402
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1348
-msgid "Already up-to-date."
+#: builtin/merge.c:1411
+msgid "Already up to date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1421
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1399
+#: builtin/merge.c:1462
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1406
+#: builtin/merge.c:1469
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1431
-msgid "Already up-to-date. Yeeah!"
+#: builtin/merge.c:1494
+msgid "Already up to date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1437
+#: builtin/merge.c:1500
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1460 builtin/merge.c:1539
+#: builtin/merge.c:1523 builtin/merge.c:1602
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1464
+#: builtin/merge.c:1527
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1530
+#: builtin/merge.c:1593
 #, 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:1532
+#: builtin/merge.c:1595
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1541
+#: builtin/merge.c:1604
 #, 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:1553
+#: builtin/merge.c:1616
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -10495,23 +11427,23 @@ msgstr "git merge-base --is-ancestor <validation> <validation>"
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <référence> [<validation>]"
 
-#: builtin/merge-base.c:218
+#: builtin/merge-base.c:220
 msgid "output all common ancestors"
 msgstr "afficher tous les ancêtres communs"
 
-#: builtin/merge-base.c:220
+#: builtin/merge-base.c:222
 msgid "find ancestors for a single n-way merge"
 msgstr "trouver les ancêtres pour une fusion simple à n points"
 
-#: builtin/merge-base.c:222
+#: builtin/merge-base.c:224
 msgid "list revs not reachable from others"
 msgstr "afficher les révisions inaccessibles depuis les autres"
 
-#: builtin/merge-base.c:224
+#: builtin/merge-base.c:226
 msgid "is the first one ancestor of the other?"
 msgstr "est le premier ancêtre de l'autre ?"
 
-#: builtin/merge-base.c:226
+#: builtin/merge-base.c:228
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "trouver où <validation> a divergé du reflog de <référence>"
 
@@ -10606,23 +11538,23 @@ msgstr "autoriser la création de plus d'un arbre"
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<options>] <source>... <destination>"
 
-#: builtin/mv.c:83
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "Le répertoire %s est dans l'index et pourtant aucun sous-module ?"
 
-#: builtin/mv.c:85 builtin/rm.c:290
+#: builtin/mv.c:84 builtin/rm.c:288
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Veuillez indexer vos modifications de .gitmodules ou les remiser pour "
 "continuer"
 
-#: builtin/mv.c:103
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s est dans l'index"
 
-#: builtin/mv.c:125
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "forcer le déplacement/renommage même si la cible existe"
 
@@ -10691,7 +11623,7 @@ msgstr "%s, source=%s, destination=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:276 builtin/remote.c:711 builtin/repack.c:390
+#: builtin/mv.c:276 builtin/remote.c:715 builtin/repack.c:409
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
@@ -10794,8 +11726,8 @@ msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <références-notes>] remove [<objet>...]"
 
 #: builtin/notes.c:36
-msgid "git notes [--ref <notes-ref>] prune [-n | -v]"
-msgstr "git notes [--ref <références-notes>] prune [-n | -v]"
+msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
+msgstr "git notes [--ref <référence-notes>] prune [-n] [-v]"
 
 #: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] get-ref"
@@ -10884,19 +11816,19 @@ msgstr "impossible d'écrire l'objet note"
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:234 builtin/tag.c:517
+#: builtin/notes.c:234 builtin/tag.c:507
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: builtin/notes.c:236 builtin/tag.c:520
+#: builtin/notes.c:236 builtin/tag.c:510
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
 
 #: builtin/notes.c:255 builtin/notes.c:306 builtin/notes.c:308
-#: builtin/notes.c:375 builtin/notes.c:430 builtin/notes.c:516
-#: builtin/notes.c:521 builtin/notes.c:599 builtin/notes.c:661
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:517
+#: builtin/notes.c:522 builtin/notes.c:600 builtin/notes.c:662
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr "impossible de résoudre '%s' comme une référence valide."
@@ -10924,47 +11856,47 @@ msgstr "impossible de copier les notes de '%s' vers '%s'"
 #. TRANSLATORS: the first %s will be replaced by a git
 #. notes command: 'add', 'merge', 'remove', etc.
 #.
-#: builtin/notes.c:348
+#: builtin/notes.c:349
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "Refus de faire %s sur des notes dans %s (hors de refs/notes/)"
 
-#: builtin/notes.c:368 builtin/notes.c:423 builtin/notes.c:499
-#: builtin/notes.c:511 builtin/notes.c:587 builtin/notes.c:654
-#: builtin/notes.c:804 builtin/notes.c:951 builtin/notes.c:972
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:500
+#: builtin/notes.c:512 builtin/notes.c:588 builtin/notes.c:655
+#: builtin/notes.c:805 builtin/notes.c:952 builtin/notes.c:973
 msgid "too many parameters"
 msgstr "trop de paramètres"
 
-#: builtin/notes.c:381 builtin/notes.c:667
+#: builtin/notes.c:382 builtin/notes.c:668
 #, c-format
 msgid "no note found for object %s."
 msgstr "pas de note trouvée pour l'objet %s."
 
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:403 builtin/notes.c:566
 msgid "note contents as a string"
 msgstr "contenu de la note sous forme de chaîne"
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:406 builtin/notes.c:569
 msgid "note contents in a file"
 msgstr "contenu de la note dans un fichier"
 
-#: builtin/notes.c:408 builtin/notes.c:571
+#: builtin/notes.c:409 builtin/notes.c:572
 msgid "reuse and edit specified note object"
 msgstr "réutiliser et éditer l'objet de note spécifié"
 
-#: builtin/notes.c:411 builtin/notes.c:574
+#: builtin/notes.c:412 builtin/notes.c:575
 msgid "reuse specified note object"
 msgstr "réutiliser l'objet de note spécifié"
 
-#: builtin/notes.c:414 builtin/notes.c:577
+#: builtin/notes.c:415 builtin/notes.c:578
 msgid "allow storing empty note"
 msgstr "permettre de stocker une note vide"
 
-#: builtin/notes.c:415 builtin/notes.c:486
+#: builtin/notes.c:416 builtin/notes.c:487
 msgid "replace existing notes"
 msgstr "remplacer les notes existantes"
 
-#: builtin/notes.c:440
+#: builtin/notes.c:441
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -10973,30 +11905,30 @@ msgstr ""
 "Impossible d'ajouter des notes. Des notes ont été trouvées pour l'objet %s. "
 "Utilisez '-f' pour écraser les notes existantes"
 
-#: builtin/notes.c:455 builtin/notes.c:534
+#: builtin/notes.c:456 builtin/notes.c:535
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Écrasement des notes existantes pour l'objet %s\n"
 
-#: builtin/notes.c:466 builtin/notes.c:626 builtin/notes.c:891
+#: builtin/notes.c:467 builtin/notes.c:627 builtin/notes.c:892
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Suppression de la note pour l'objet %s\n"
 
-#: builtin/notes.c:487
+#: builtin/notes.c:488
 msgid "read objects from stdin"
 msgstr "lire les objets depuis l'entrée standard"
 
-#: builtin/notes.c:489
+#: builtin/notes.c:490
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr ""
 "charger la configuration de réécriture pour <commande> (implique --stdin)"
 
-#: builtin/notes.c:507
+#: builtin/notes.c:508
 msgid "too few parameters"
 msgstr "pas assez de paramètres"
 
-#: builtin/notes.c:528
+#: builtin/notes.c:529
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -11005,12 +11937,12 @@ msgstr ""
 "Impossible de copier des notes. Des notes ont été trouvées pour l'objet %s. "
 "Utilisez '-f' pour écraser les notes existantes"
 
-#: builtin/notes.c:540
+#: builtin/notes.c:541
 #, c-format
 msgid "missing notes on source object %s. Cannot copy."
 msgstr "notes manquantes sur l'objet source %s. Impossible de copier."
 
-#: builtin/notes.c:592
+#: builtin/notes.c:593
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -11019,52 +11951,52 @@ msgstr ""
 "Les options -m/-F/-c/-C sont obsolètes pour la sous-commande 'edit'.\n"
 "Veuillez utiliser 'git notes add -f -m/-F/-c/-C' à la place.\n"
 
-#: builtin/notes.c:687
+#: builtin/notes.c:688
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la suppression de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:689
+#: builtin/notes.c:690
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "échec de la suppression de la référence NOTES_MERGE_REF"
 
-#: builtin/notes.c:691
+#: builtin/notes.c:692
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "échec de la suppression de la copie de travail 'git notes merge'"
 
-#: builtin/notes.c:711
+#: builtin/notes.c:712
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "échec de la lecture de la référence NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:713
+#: builtin/notes.c:714
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible de trouver le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:715
+#: builtin/notes.c:716
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "impossible d'analyser le commit de NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:728
+#: builtin/notes.c:729
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "échec de la résolution de NOTES_MERGE_REF"
 
-#: builtin/notes.c:731
+#: builtin/notes.c:732
 msgid "failed to finalize notes merge"
 msgstr "impossible de finaliser la fusion de notes"
 
-#: builtin/notes.c:757
+#: builtin/notes.c:758
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "stratégie de fusion de notes inconnue %s"
 
-#: builtin/notes.c:773
+#: builtin/notes.c:774
 msgid "General options"
 msgstr "Options générales"
 
-#: builtin/notes.c:775
+#: builtin/notes.c:776
 msgid "Merge options"
 msgstr "Options de fusion"
 
-#: builtin/notes.c:777
+#: builtin/notes.c:778
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -11072,47 +12004,47 @@ msgstr ""
 "résoudre les conflits de notes en utilisant la stratégie donnée (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:779
+#: builtin/notes.c:780
 msgid "Committing unmerged notes"
 msgstr "Validation des notes non fusionnées"
 
-#: builtin/notes.c:781
+#: builtin/notes.c:782
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "finaliser la fusion de notes en validant les notes non fusionnées"
 
-#: builtin/notes.c:783
+#: builtin/notes.c:784
 msgid "Aborting notes merge resolution"
 msgstr "Abandon de la résolution de fusion des notes"
 
-#: builtin/notes.c:785
+#: builtin/notes.c:786
 msgid "abort notes merge"
 msgstr "abandonner la fusion de notes"
 
-#: builtin/notes.c:796
+#: builtin/notes.c:797
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "--commit, --abort et -s/--strategy sont mutuellement incompatibles"
 
-#: builtin/notes.c:801
+#: builtin/notes.c:802
 msgid "must specify a notes ref to merge"
 msgstr "vous devez spécifier une référence de notes à fusionner"
 
-#: builtin/notes.c:825
+#: builtin/notes.c:826
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "-s/--strategy inconnu : %s"
 
-#: builtin/notes.c:862
+#: builtin/notes.c:863
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "une fusion de notes dans %s est déjà en cours avec %s"
 
-#: builtin/notes.c:865
+#: builtin/notes.c:866
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr ""
 "impossible de stocker le lien vers la référence actuelle aux notes (%s)"
 
-#: builtin/notes.c:867
+#: builtin/notes.c:868
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -11123,317 +12055,361 @@ msgstr ""
 "valide le résultat avec 'git notes merges --commit', ou abandonnez la fusion "
 "avec 'git notes merge --abort'.\n"
 
-#: builtin/notes.c:889
+#: builtin/notes.c:890
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "L'objet %s n'a pas de note\n"
 
-#: builtin/notes.c:901
+#: builtin/notes.c:902
 msgid "attempt to remove non-existent note is not an error"
 msgstr ""
 "la tentative de suppression d'une note non existante n'est pas une erreur"
 
-#: builtin/notes.c:904
+#: builtin/notes.c:905
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: builtin/notes.c:942 builtin/prune.c:105 builtin/worktree.c:128
+#: builtin/notes.c:943 builtin/prune.c:107 builtin/worktree.c:151
 msgid "do not remove, show only"
 msgstr "ne pas supprimer, afficher seulement"
 
-#: builtin/notes.c:943
+#: builtin/notes.c:944
 msgid "report pruned notes"
 msgstr "afficher les notes éliminées"
 
-#: builtin/notes.c:985
+#: builtin/notes.c:986
 msgid "notes-ref"
 msgstr "références-notes"
 
-#: builtin/notes.c:986
+#: builtin/notes.c:987
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1021
+#: builtin/notes.c:1022
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
 
-#: builtin/pack-objects.c:30
+#: builtin/pack-objects.c:48
 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:31
+#: builtin/pack-objects.c:49
 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:180 builtin/pack-objects.c:183
+#: builtin/pack-objects.c:211 builtin/pack-objects.c:214
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
 
-#: builtin/pack-objects.c:776
+#: builtin/pack-objects.c:810
 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:789
+#: builtin/pack-objects.c:823
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:1069
+#: builtin/pack-objects.c:1106
 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:2434
+#: builtin/pack-objects.c:1765
+msgid "Counting objects"
+msgstr "Décompte des objets"
+
+#: builtin/pack-objects.c:1895
+#, c-format
+msgid "unable to get size of %s"
+msgstr "impossible de récupérer la taille de %s"
+
+#: builtin/pack-objects.c:1910
+#, 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:2564
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2735
+msgid "invalid value for --missing"
+msgstr "valeur invalide pour --missing"
+
+#: builtin/pack-objects.c:3067
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:3071
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:2877
+#: builtin/pack-objects.c:3102
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/pack-objects.c:2879
+#: builtin/pack-objects.c:3104
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/pack-objects.c:2881
+#: builtin/pack-objects.c:3106
 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:2884
+#: builtin/pack-objects.c:3109
 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:2885
+#: builtin/pack-objects.c:3110
 msgid "version[,offset]"
 msgstr "version[,offset]"
 
-#: builtin/pack-objects.c:2886
+#: builtin/pack-objects.c:3111
 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:2889
+#: builtin/pack-objects.c:3114
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:2891
+#: builtin/pack-objects.c:3116
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:2893
+#: builtin/pack-objects.c:3118
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:2895
+#: builtin/pack-objects.c:3120
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:2897
+#: builtin/pack-objects.c:3122
 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:2899
+#: builtin/pack-objects.c:3124
 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:2901
+#: builtin/pack-objects.c:3126
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:2903
+#: builtin/pack-objects.c:3128
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:2905
+#: builtin/pack-objects.c:3130
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:2907
+#: builtin/pack-objects.c:3132
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleurs correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:2909
+#: builtin/pack-objects.c:3134
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:2911
+#: builtin/pack-objects.c:3136
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:2913
+#: builtin/pack-objects.c:3138
 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:2916
+#: builtin/pack-objects.c:3141
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:2919
+#: builtin/pack-objects.c:3144
 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:2922
+#: builtin/pack-objects.c:3147
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:2925
+#: builtin/pack-objects.c:3150
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:2927
+#: builtin/pack-objects.c:3152
 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:2929
+#: builtin/pack-objects.c:3154
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:2931
+#: builtin/pack-objects.c:3156
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:2933
+#: builtin/pack-objects.c:3158
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:2936
+#: builtin/pack-objects.c:3161
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:2938
+#: builtin/pack-objects.c:3163
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:2940
+#: builtin/pack-objects.c:3165
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:2942
+#: builtin/pack-objects.c:3167
+msgid "ignore this pack"
+msgstr "ignorer ce paquet"
+
+#: builtin/pack-objects.c:3169
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:2944
+#: builtin/pack-objects.c:3171
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:2946
+#: builtin/pack-objects.c:3173
 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:2948
+#: builtin/pack-objects.c:3175
 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:3075
-msgid "Counting objects"
-msgstr "Décompte des objets"
+#: builtin/pack-objects.c:3178
+msgid "handling for missing objects"
+msgstr "gestion des objets manquants"
+
+#: builtin/pack-objects.c:3181
+msgid "do not pack objects in promisor packfiles"
+msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
 
-#: builtin/pack-refs.c:6
+#: builtin/pack-objects.c:3205
+#, 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:3210
+#, c-format
+msgid "pack.deltaCacheLimit is too high, forcing %d"
+msgstr "pack.deltaCacheLimit est trop grand, forcé à %d"
+
+#: builtin/pack-objects.c:3338
+msgid "Enumerating objects"
+msgstr "Énumération des objets"
+
+#: builtin/pack-refs.c:7
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<options>]"
 
-#: builtin/pack-refs.c:14
+#: builtin/pack-refs.c:15
 msgid "pack everything"
 msgstr "empaqueter tout"
 
-#: builtin/pack-refs.c:15
+#: builtin/pack-refs.c:16
 msgid "prune loose refs (default)"
 msgstr "éliminer les références perdues (défaut)"
 
-#: builtin/prune-packed.c:7
+#: builtin/prune-packed.c:8
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
 
-#: builtin/prune-packed.c:40
+#: builtin/prune-packed.c:41
 msgid "Removing duplicate objects"
 msgstr "Suppression des objets dupliqués"
 
 #: builtin/prune.c:11
-msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
-msgstr "git prune [-n] [-v] [--expire <heure>] [--] [<head>...]"
+msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
+msgstr "git prune [-n] [-v] [--progress] [--expire <heure>] [--] [<head>…]"
 
-#: builtin/prune.c:106
+#: builtin/prune.c:108
 msgid "report pruned objects"
 msgstr "afficher les objets éliminés"
 
-#: builtin/prune.c:109
+#: builtin/prune.c:111
 msgid "expire objects older than <time>"
 msgstr "faire expirer les objets plus vieux que <heure>"
 
-#: builtin/prune.c:123
+#: builtin/prune.c:113
+msgid "limit traversal to objects outside promisor packfiles"
+msgstr "limiter la traversée aux objets hors des fichiers paquets prometteurs"
+
+#: builtin/prune.c:127
 msgid "cannot prune in a precious-objects repo"
 msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
 
-#: builtin/pull.c:54 builtin/pull.c:56
+#: builtin/pull.c:59 builtin/pull.c:61
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Valeur invalide pour %s : %s"
 
-#: builtin/pull.c:76
+#: builtin/pull.c:81
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/pull.c:124
+#: builtin/pull.c:132
 msgid "control for recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/pull.c:128
+#: builtin/pull.c:136
 msgid "Options related to merging"
 msgstr "Options relatives à la fusion"
 
-#: builtin/pull.c:131
+#: builtin/pull.c:139
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: builtin/pull.c:155 builtin/rebase--helper.c:19 builtin/revert.c:121
+#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:121
 msgid "allow fast-forward"
 msgstr "autoriser l'avance rapide"
 
-#: builtin/pull.c:164
+#: builtin/pull.c:175
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "remiser avant et réappliquer après le rebasage automatiquement"
 
-#: builtin/pull.c:180
+#: builtin/pull.c:191
 msgid "Options related to fetching"
 msgstr "Options relatives au rapatriement"
 
-#: builtin/pull.c:198
+#: builtin/pull.c:209
 msgid "number of submodules pulled in parallel"
 msgstr "nombre de sous-modules tirés en parallèle"
 
-#: builtin/pull.c:287
+#: builtin/pull.c:304
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Valeur invalide pour pull.ff : %s"
 
-#: builtin/pull.c:399
+#: builtin/pull.c:420
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -11441,14 +12417,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:401
+#: builtin/pull.c:422
 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:402
+#: builtin/pull.c:423
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -11456,7 +12432,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:405
+#: builtin/pull.c:426
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -11468,44 +12444,44 @@ msgstr ""
 "configuration\n"
 "pour la branche actuelle, vous devez spécifier la branche avec la commande."
 
-#: builtin/pull.c:410 git-parse-remote.sh:73
+#: builtin/pull.c:431 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Vous n'êtes actuellement sur aucune branche."
 
-#: builtin/pull.c:412 builtin/pull.c:427 git-parse-remote.sh:79
+#: builtin/pull.c:433 builtin/pull.c:448 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:414 builtin/pull.c:429 git-parse-remote.sh:82
+#: builtin/pull.c:435 builtin/pull.c:450 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:415 builtin/pull.c:430
+#: builtin/pull.c:436 builtin/pull.c:451
 msgid "See git-pull(1) for details."
 msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 
-#: builtin/pull.c:417 builtin/pull.c:423 builtin/pull.c:432
+#: builtin/pull.c:438 builtin/pull.c:444 builtin/pull.c:453
 #: git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<distant>"
 
-#: builtin/pull.c:417 builtin/pull.c:432 builtin/pull.c:437 git-rebase.sh:456
+#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:523
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branche>"
 
-#: builtin/pull.c:425 git-parse-remote.sh:75
+#: builtin/pull.c:446 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:434 git-parse-remote.sh:95
+#: builtin/pull.c:455 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:439
+#: builtin/pull.c:460
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -11515,29 +12491,29 @@ msgstr ""
 "'%s'\n"
 "du serveur distant, mais cette référence n'a pas été récupérée."
 
-#: builtin/pull.c:792
+#: builtin/pull.c:826
 msgid "ignoring --verify-signatures for rebase"
 msgstr "--verify-signatures est ignoré pour un rebasage"
 
-#: builtin/pull.c:840
+#: builtin/pull.c:874
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "l'option --[no-]autostash n'est valide qu'avec --rebase."
 
-#: builtin/pull.c:848
+#: builtin/pull.c:882
 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:851
+#: builtin/pull.c:885
 msgid "pull with rebase"
 msgstr "tirer avec un rebasage"
 
-#: builtin/pull.c:852
+#: builtin/pull.c:886
 msgid "please commit or stash them."
 msgstr "veuillez les valider ou les remiser."
 
-#: builtin/pull.c:877
+#: builtin/pull.c:911
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -11548,7 +12524,7 @@ msgstr ""
 "avance rapide de votre copie de travail\n"
 "depuis le commit %s."
 
-#: builtin/pull.c:882
+#: builtin/pull.c:916
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -11565,33 +12541,33 @@ msgstr ""
 "$ git reset --hard\n"
 "pour régénérer."
 
-#: builtin/pull.c:897
+#: builtin/pull.c:931
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Impossible de fusionner de multiples branches sur une tête vide."
 
-#: builtin/pull.c:901
+#: builtin/pull.c:935
 msgid "Cannot rebase onto multiple branches."
 msgstr "Impossible de rebaser sur de multiples branches."
 
-#: builtin/pull.c:908
+#: builtin/pull.c:942
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "impossible de rebaser avec des modifications de sous-modules enregistrées "
 "localement"
 
-#: builtin/push.c:17
+#: builtin/push.c:19
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/push.c:90
+#: builtin/push.c:111
 msgid "tag shorthand without <tag>"
 msgstr "raccourci d'étiquette sans <étiquette>"
 
-#: builtin/push.c:100
+#: builtin/push.c:121
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete accepte seulement des noms entiers de références cibles"
 
-#: builtin/push.c:144
+#: builtin/push.c:165
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -11600,7 +12576,7 @@ msgstr ""
 "Pour choisir l'option de manière permanente, voir push.default dans 'git "
 "help config'."
 
-#: builtin/push.c:147
+#: builtin/push.c:168
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -11625,7 +12601,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:162
+#: builtin/push.c:183
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -11640,7 +12616,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<nom-de-la-branche-amont>\n"
 
-#: builtin/push.c:176
+#: builtin/push.c:197
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -11654,13 +12630,13 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:184
+#: builtin/push.c:205
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr ""
 "La branche courante %s a de multiples branches amont, impossible de pousser."
 
-#: builtin/push.c:187
+#: builtin/push.c:208
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -11671,14 +12647,14 @@ msgstr ""
 "pas une branche amont de votre branche courante '%s', sans me dire\n"
 "quoi pousser pour mettre à jour quelle branche amont."
 
-#: builtin/push.c:246
+#: builtin/push.c:267
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Vous n'avez pas spécifié de spécifications de référence à pousser, et push."
 "default est \"nothing\"."
 
-#: builtin/push.c:253
+#: builtin/push.c:274
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -11693,7 +12669,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:259
+#: builtin/push.c:280
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -11708,7 +12684,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:265
+#: builtin/push.c:286
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -11726,13 +12702,13 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:272
+#: builtin/push.c:293
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 "Les mises à jour ont été rejetées car l'étiquette existe déjà dans la "
 "branche distante."
 
-#: builtin/push.c:275
+#: builtin/push.c:296
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -11744,22 +12720,22 @@ msgstr ""
 "pointer\n"
 "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:357
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Poussée vers %s\n"
 
-#: builtin/push.c:339
+#: builtin/push.c:361
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "impossible de pousser des références vers '%s'"
 
-#: builtin/push.c:370
+#: builtin/push.c:395
 #, c-format
 msgid "bad repository '%s'"
 msgstr "mauvais dépôt '%s'"
 
-#: builtin/push.c:371
+#: builtin/push.c:396
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -11781,113 +12757,105 @@ msgstr ""
 "\n"
 "    git push <nom>\n"
 
-#: builtin/push.c:389
-msgid "--all and --tags are incompatible"
-msgstr "--all et --tags sont incompatibles"
-
-#: builtin/push.c:390
-msgid "--all can't be combined with refspecs"
-msgstr "--all ne peut pas être combiné avec des spécifications de référence"
-
-#: builtin/push.c:395
-msgid "--mirror and --tags are incompatible"
-msgstr "--mirror et --tags sont incompatibles"
-
-#: builtin/push.c:396
-msgid "--mirror can't be combined with refspecs"
-msgstr "--mirror ne peut pas être combiné avec des spécifications de référence"
-
-#: builtin/push.c:401
-msgid "--all and --mirror are incompatible"
-msgstr "--all et --mirror sont incompatibles"
-
-#: builtin/push.c:523
+#: builtin/push.c:551
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:524 builtin/send-pack.c:163
+#: builtin/push.c:552 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:525 builtin/send-pack.c:165
+#: builtin/push.c:553 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
-#: builtin/push.c:527
+#: builtin/push.c:555
 msgid "delete refs"
 msgstr "supprimer les références"
 
-#: builtin/push.c:528
+#: builtin/push.c:556
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "pousser les étiquettes (ne peut pas être utilisé avec --all ou --mirror)"
 
-#: builtin/push.c:531 builtin/send-pack.c:166
+#: builtin/push.c:559 builtin/send-pack.c:167
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:533 builtin/send-pack.c:180
+#: builtin/push.c:561 builtin/send-pack.c:181
 msgid "refname>:<expect"
 msgstr "nom de référence>:<attendu"
 
-#: builtin/push.c:534 builtin/send-pack.c:181
+#: builtin/push.c:562 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 msgstr "exiger que l'ancienne valeur de la référence soit à cette valeur"
 
-#: builtin/push.c:537
+#: builtin/push.c:565
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:539 builtin/send-pack.c:174
+#: builtin/push.c:567 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: builtin/push.c:540 builtin/push.c:541 builtin/send-pack.c:160
-#: builtin/send-pack.c:161
+#: builtin/push.c:568 builtin/push.c:569 builtin/send-pack.c:161
+#: builtin/send-pack.c:162
 msgid "receive pack program"
 msgstr "recevoir le programme d'empaquetage"
 
-#: builtin/push.c:542
+#: builtin/push.c:570
 msgid "set upstream for git pull/status"
 msgstr "définir la branche amont pour git pull/status"
 
-#: builtin/push.c:545
+#: builtin/push.c:573
 msgid "prune locally removed refs"
 msgstr "éliminer les références locales supprimées"
 
-#: builtin/push.c:547
+#: builtin/push.c:575
 msgid "bypass pre-push hook"
 msgstr "éviter d'utiliser le crochet pre-push"
 
-#: builtin/push.c:548
+#: builtin/push.c:576
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:551 builtin/send-pack.c:168
+#: builtin/push.c:579 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr "signer la poussée avec GPG"
 
-#: builtin/push.c:553 builtin/send-pack.c:175
+#: builtin/push.c:581 builtin/send-pack.c:176
 msgid "request atomic transaction on remote side"
 msgstr "demande une transaction atomique sur le serveur distant"
 
-#: builtin/push.c:554 builtin/send-pack.c:171
-msgid "server-specific"
-msgstr "spécifique au serveur"
-
-#: builtin/push.c:554 builtin/send-pack.c:172
-msgid "option to transmit"
-msgstr "option à transmettre"
-
-#: builtin/push.c:568
+#: builtin/push.c:599
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete est incompatible avec --all, --mirror et --tags"
 
-#: builtin/push.c:570
+#: builtin/push.c:601
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete n'a pas de sens sans aucune référence"
 
-#: builtin/push.c:589
+#: builtin/push.c:604
+msgid "--all and --tags are incompatible"
+msgstr "--all et --tags sont incompatibles"
+
+#: builtin/push.c:606
+msgid "--all can't be combined with refspecs"
+msgstr "--all ne peut pas être combiné avec des spécifications de référence"
+
+#: builtin/push.c:610
+msgid "--mirror and --tags are incompatible"
+msgstr "--mirror et --tags sont incompatibles"
+
+#: builtin/push.c:612
+msgid "--mirror can't be combined with refspecs"
+msgstr "--mirror ne peut pas être combiné avec des spécifications de référence"
+
+#: builtin/push.c:615
+msgid "--all and --mirror are incompatible"
+msgstr "--all et --mirror sont incompatibles"
+
+#: builtin/push.c:634
 msgid "push options must not have new line characters"
 msgstr ""
 "les options de poussée ne peuvent pas contenir de caractères de nouvelle "
@@ -11904,67 +12872,67 @@ msgstr ""
 "sparse-checkout] [--index-output=<fichier>] (--empty | <arbre ou apparenté "
 "1> [<arbre ou apparenté 2> [<arbre ou apparenté 3>]])"
 
-#: builtin/read-tree.c:121
+#: builtin/read-tree.c:120
 msgid "write resulting index to <file>"
 msgstr "écrire l'index résultant dans <fichier>"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:123
 msgid "only empty the index"
 msgstr "juste vider l'index"
 
-#: builtin/read-tree.c:126
+#: builtin/read-tree.c:125
 msgid "Merging"
 msgstr "Fusion"
 
-#: builtin/read-tree.c:128
+#: builtin/read-tree.c:127
 msgid "perform a merge in addition to a read"
 msgstr "effectuer une fusion en plus d'une lecture"
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:129
 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:132
+#: builtin/read-tree.c:131
 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:134
+#: builtin/read-tree.c:133
 msgid "same as -m, but discard unmerged entries"
 msgstr "comme -m, mais annule les éléments non fusionnés"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:134
 msgid "<subdirectory>/"
 msgstr "<sous-répertoire>/"
 
-#: builtin/read-tree.c:136
+#: builtin/read-tree.c:135
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "lire l'arbre dans l'index dans <sous-répertoire>/"
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:138
 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:141
+#: builtin/read-tree.c:140
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:142
+#: builtin/read-tree.c:141
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "autoriser explicitement les fichiers ignorés à être écrasés"
 
-#: builtin/read-tree.c:145
+#: builtin/read-tree.c:144
 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:146
+#: builtin/read-tree.c:145
 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:148
+#: builtin/read-tree.c:147
 msgid "skip applying sparse checkout filter"
 msgstr "sauter l'application du filtre d'extraction creuse"
 
-#: builtin/read-tree.c:150
+#: builtin/read-tree.c:149
 msgid "debug unpack-trees"
 msgstr "déboguer unpack-trees"
 
@@ -11972,19 +12940,67 @@ msgstr "déboguer unpack-trees"
 msgid "git rebase--helper [<options>]"
 msgstr "git rebase-helper [<options>]"
 
-#: builtin/rebase--helper.c:20
+#: builtin/rebase--helper.c:24
+msgid "keep empty commits"
+msgstr "garder les validations vides"
+
+#: builtin/rebase--helper.c:26 builtin/revert.c:123
+msgid "allow commits with empty messages"
+msgstr "autoriser les validations avec des messages vides"
+
+#: builtin/rebase--helper.c:27
+msgid "rebase merge commits"
+msgstr "rebaser les commits de fusion"
+
+#: builtin/rebase--helper.c:29
+msgid "keep original branch points of cousins"
+msgstr "conserver les points de branchement de cousins originaux"
+
+#: builtin/rebase--helper.c:30
 msgid "continue rebase"
 msgstr "continuer le rebasage"
 
-#: builtin/rebase--helper.c:22
+#: builtin/rebase--helper.c:32
 msgid "abort rebase"
 msgstr "abandonner le rebasage"
 
-#: builtin/receive-pack.c:28
+#: builtin/rebase--helper.c:35
+msgid "make rebase script"
+msgstr "créer les script de rebasage"
+
+#: builtin/rebase--helper.c:37
+msgid "shorten commit ids in the todo list"
+msgstr "raccourcir les identifiants de commits dans la liste à-faire"
+
+#: builtin/rebase--helper.c:39
+msgid "expand commit ids in the todo list"
+msgstr "étendre les identifiants de commit dans la liste à-faire"
+
+#: builtin/rebase--helper.c:41
+msgid "check the todo list"
+msgstr "vérifier la liste à-faire"
+
+#: builtin/rebase--helper.c:43
+msgid "skip unnecessary picks"
+msgstr "éviter les commandes de picorage non nécessaires"
+
+#: builtin/rebase--helper.c:45
+msgid "rearrange fixup/squash lines"
+msgstr "réarranger les lignes fixup/squash"
+
+#: builtin/rebase--helper.c:47
+msgid "insert exec commands in todo list"
+msgstr "insérer les commandes exec dans la liste à-faire"
+
+#: builtin/rebase--helper.c:68
+msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
+msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
+
+#: builtin/receive-pack.c:31
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
-#: builtin/receive-pack.c:838
+#: builtin/receive-pack.c:842
 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"
@@ -12014,7 +13030,7 @@ msgstr ""
 "Pour éliminer ce message et conserver le comportement par défaut,\n"
 "réglez « receive.denyCurrentBranch » à 'refuse'."
 
-#: builtin/receive-pack.c:858
+#: builtin/receive-pack.c:862
 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"
@@ -12034,29 +13050,24 @@ msgstr ""
 "\n"
 "Pour éliminer ce message, réglez-le à 'refuse'."
 
-#: builtin/receive-pack.c:1933
+#: builtin/receive-pack.c:1935
 msgid "quiet"
 msgstr "quiet"
 
-#: builtin/receive-pack.c:1947
+#: builtin/receive-pack.c:1949
 msgid "You must specify a directory."
 msgstr "Vous devez spécifier un répertoire."
 
-#: builtin/reflog.c:424
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr "'%s' pour '%s' n'est pas un horodatage valide"
-
-#: builtin/reflog.c:541 builtin/reflog.c:546
+#: builtin/reflog.c:532 builtin/reflog.c:537
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' n'est pas un horodatage valide"
 
-#: builtin/remote.c:13
+#: builtin/remote.c:14
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:14
+#: builtin/remote.c:15
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -12064,83 +13075,83 @@ msgstr ""
 "git remote add [-t <branche>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <nom> <url>"
 
-#: builtin/remote.c:15 builtin/remote.c:35
+#: builtin/remote.c:16 builtin/remote.c:36
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <ancienne> <nouvelle>"
 
-#: builtin/remote.c:16 builtin/remote.c:40
+#: builtin/remote.c:17 builtin/remote.c:41
 msgid "git remote remove <name>"
 msgstr "git remote remove <nom>"
 
-#: builtin/remote.c:17 builtin/remote.c:45
+#: builtin/remote.c:18 builtin/remote.c:46
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <nom> (-a | --auto | -d | --delete | <branche>)"
 
-#: builtin/remote.c:18
+#: builtin/remote.c:19
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <nom>"
 
-#: builtin/remote.c:19
+#: builtin/remote.c:20
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <nom>"
 
-#: builtin/remote.c:20
+#: builtin/remote.c:21
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 "git remote [-v | --verbose] update [-p | --prune] [(<groupe> | "
 "<distante>)...]"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <nom> <branche>..."
 
-#: builtin/remote.c:22 builtin/remote.c:71
+#: builtin/remote.c:23 builtin/remote.c:72
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <nom>"
 
-#: builtin/remote.c:23 builtin/remote.c:76
+#: builtin/remote.c:24 builtin/remote.c:77
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <nom> <nouvelle-URL> [<ancienne-URL>]"
 
-#: builtin/remote.c:24 builtin/remote.c:77
+#: builtin/remote.c:25 builtin/remote.c:78
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <nom> <nouvelle-URL>"
 
-#: builtin/remote.c:25 builtin/remote.c:78
+#: builtin/remote.c:26 builtin/remote.c:79
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <nom> <URL>"
 
-#: builtin/remote.c:30
+#: builtin/remote.c:31
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<options>] <nom> <URL>"
 
-#: builtin/remote.c:50
+#: builtin/remote.c:51
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <nom> <branche>..."
 
-#: builtin/remote.c:51
+#: builtin/remote.c:52
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <nom> <branche>..."
 
-#: builtin/remote.c:56
+#: builtin/remote.c:57
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<options>] <nom>"
 
-#: builtin/remote.c:61
+#: builtin/remote.c:62
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<options>] <nom>"
 
-#: builtin/remote.c:66
+#: builtin/remote.c:67
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<options>] [<groupe> | <distante>]..."
 
-#: builtin/remote.c:95
+#: builtin/remote.c:96
 #, c-format
 msgid "Updating %s"
 msgstr "Mise à jour de %s"
 
-#: builtin/remote.c:127
+#: builtin/remote.c:128
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -12148,92 +13159,92 @@ msgstr ""
 "--mirror est dangereux et obsolète ; merci\n"
 "\t d'utiliser --mirror=fetch ou --mirror=push à la place"
 
-#: builtin/remote.c:144
+#: builtin/remote.c:145
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "argument miroir inconnu : %s"
 
-#: builtin/remote.c:160
+#: builtin/remote.c:161
 msgid "fetch the remote branches"
 msgstr "rapatrier les branches distantes"
 
-#: builtin/remote.c:162
+#: builtin/remote.c:163
 msgid "import all tags and associated objects when fetching"
 msgstr ""
 "importer toutes les étiquettes et les objets associés lors du rapatriement"
 
-#: builtin/remote.c:165
+#: builtin/remote.c:166
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "ou ne rapatrier aucune étiquette (--no-tags)"
 
-#: builtin/remote.c:167
+#: builtin/remote.c:168
 msgid "branch(es) to track"
 msgstr "branche(s) à suivre"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "master branch"
 msgstr "branche maîtresse"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "push|fetch"
 msgstr "push|fetch"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr ""
 "paramétrer la distante comme miroir pour pousser ou pour rapatrier depuis"
 
-#: builtin/remote.c:182
+#: builtin/remote.c:183
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "spécifier une branche maîtresse n'a pas de sens avec --mirror"
 
-#: builtin/remote.c:184
+#: builtin/remote.c:185
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr ""
 "spécifier les branches à suivre n'a de sens qu'avec des miroirs de "
 "rapatriement"
 
-#: builtin/remote.c:191 builtin/remote.c:630
+#: builtin/remote.c:192 builtin/remote.c:634
 #, c-format
 msgid "remote %s already exists."
 msgstr "la distante %s existe déjà."
 
-#: builtin/remote.c:195 builtin/remote.c:634
+#: builtin/remote.c:196 builtin/remote.c:638
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' n'est pas un nom valide de distante"
 
-#: builtin/remote.c:235
+#: builtin/remote.c:236
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Impossible de paramétrer la maîtresse '%s'"
 
-#: builtin/remote.c:337
+#: builtin/remote.c:342
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
 "Impossible d'obtenir une correspondance distante pour la spécification de "
 "référence %s"
 
-#: builtin/remote.c:438 builtin/remote.c:446
+#: builtin/remote.c:441 builtin/remote.c:449
 msgid "(matching)"
 msgstr "(correspond)"
 
-#: builtin/remote.c:450
+#: builtin/remote.c:453
 msgid "(delete)"
 msgstr "(supprimer)"
 
-#: builtin/remote.c:623 builtin/remote.c:758 builtin/remote.c:857
+#: builtin/remote.c:627 builtin/remote.c:762 builtin/remote.c:861
 #, c-format
 msgid "No such remote: %s"
 msgstr "Distante inconnue : %s"
 
-#: builtin/remote.c:640
+#: builtin/remote.c:644
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Impossible de renommer la section de configuration '%s' en '%s'"
 
-#: builtin/remote.c:660
+#: builtin/remote.c:664
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -12244,17 +13255,17 @@ msgstr ""
 "\t%s\n"
 "\tVeuillez mettre à jour la configuration manuellement si nécessaire."
 
-#: builtin/remote.c:696
+#: builtin/remote.c:700
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "échec de suppression de '%s'"
 
-#: builtin/remote.c:730
+#: builtin/remote.c:734
 #, c-format
 msgid "creating '%s' failed"
 msgstr "échec de création de '%s'"
 
-#: builtin/remote.c:795
+#: builtin/remote.c:799
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -12269,113 +13280,118 @@ msgstr[1] ""
 "supprimées ;\n"
 "pour les supprimer, utilisez :"
 
-#: builtin/remote.c:809
+#: builtin/remote.c:813
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Impossible de supprimer la section de configuration '%s'"
 
-#: builtin/remote.c:910
+#: builtin/remote.c:914
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
 
-#: builtin/remote.c:913
+#: builtin/remote.c:917
 msgid " tracked"
 msgstr " suivi"
 
-#: builtin/remote.c:915
+#: builtin/remote.c:919
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " dépassé (utilisez 'git remote prune' pour supprimer)"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:921
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:958
+#: builtin/remote.c:962
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge invalide ; ne peut pas rebaser sur plus d'une branche"
 
-#: builtin/remote.c:966
+#: builtin/remote.c:971
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "rebase de manière interactive sur la distante %s"
 
-#: builtin/remote.c:967
+#: builtin/remote.c:973
+#, c-format
+msgid "rebases interactively (with merges) onto remote %s"
+msgstr "rebase de manière interactive (avec fusions) sur la distante %s"
+
+#: builtin/remote.c:976
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "rebase sur la distante %s"
 
-#: builtin/remote.c:970
+#: builtin/remote.c:980
 #, c-format
 msgid " merges with remote %s"
 msgstr " fusionne avec la distante %s"
 
-#: builtin/remote.c:973
+#: builtin/remote.c:983
 #, c-format
 msgid "merges with remote %s"
 msgstr "fusionne avec la distante %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:986
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    et avec la distante %s\n"
 
-#: builtin/remote.c:1019
+#: builtin/remote.c:1029
 msgid "create"
 msgstr "créer"
 
-#: builtin/remote.c:1022
+#: builtin/remote.c:1032
 msgid "delete"
 msgstr "supprimer"
 
-#: builtin/remote.c:1026
+#: builtin/remote.c:1036
 msgid "up to date"
 msgstr "à jour"
 
-#: builtin/remote.c:1029
+#: builtin/remote.c:1039
 msgid "fast-forwardable"
 msgstr "peut être mis à jour en avance rapide"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1042
 msgid "local out of date"
 msgstr "le local n'est pas à jour"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1049
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s force vers %-*s (%s)"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1052
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s pousse vers %-*s (%s)"
 
-#: builtin/remote.c:1046
+#: builtin/remote.c:1056
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s force vers %s"
 
-#: builtin/remote.c:1049
+#: builtin/remote.c:1059
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s pousse vers %s"
 
-#: builtin/remote.c:1117
+#: builtin/remote.c:1127
 msgid "do not query remotes"
 msgstr "ne pas interroger les distantes"
 
-#: builtin/remote.c:1144
+#: builtin/remote.c:1154
 #, c-format
 msgid "* remote %s"
 msgstr "* distante %s"
 
-#: builtin/remote.c:1145
+#: builtin/remote.c:1155
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL de rapatriement : %s"
 
-#: builtin/remote.c:1146 builtin/remote.c:1162 builtin/remote.c:1301
+#: builtin/remote.c:1156 builtin/remote.c:1172 builtin/remote.c:1311
 msgid "(no URL)"
 msgstr "(pas d'URL)"
 
@@ -12383,25 +13399,25 @@ msgstr "(pas d'URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1160 builtin/remote.c:1162
+#: builtin/remote.c:1170 builtin/remote.c:1172
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL push : %s"
 
-#: builtin/remote.c:1164 builtin/remote.c:1166 builtin/remote.c:1168
+#: builtin/remote.c:1174 builtin/remote.c:1176 builtin/remote.c:1178
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Branche HEAD : %s"
 
-#: builtin/remote.c:1164
+#: builtin/remote.c:1174
 msgid "(not queried)"
 msgstr "(non demandé)"
 
-#: builtin/remote.c:1166
+#: builtin/remote.c:1176
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: builtin/remote.c:1170
+#: builtin/remote.c:1180
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -12409,162 +13425,162 @@ msgstr ""
 "  Branche HEAD (la HEAD distante est ambiguë, peut être l'une des "
 "suivantes) :\n"
 
-#: builtin/remote.c:1182
+#: builtin/remote.c:1192
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branche distante :%s"
 msgstr[1] "  Branches distantes :%s"
 
-#: builtin/remote.c:1185 builtin/remote.c:1211
+#: builtin/remote.c:1195 builtin/remote.c:1221
 msgid " (status not queried)"
 msgstr " (état non demandé)"
 
-#: builtin/remote.c:1194
+#: builtin/remote.c:1204
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Branche locale configurée pour 'git pull' :"
 msgstr[1] "  Branches locales configurées pour 'git pull' :"
 
-#: builtin/remote.c:1202
+#: builtin/remote.c:1212
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Les références locales seront reflétées par 'git push'"
 
-#: builtin/remote.c:1208
+#: builtin/remote.c:1218
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Référence locale configurée pour 'git push'%s :"
 msgstr[1] "  Références locales configurées pour 'git push'%s :"
 
-#: builtin/remote.c:1229
+#: builtin/remote.c:1239
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
 
-#: builtin/remote.c:1231
+#: builtin/remote.c:1241
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "supprimer refs/remotes/<nom>/HEAD"
 
-#: builtin/remote.c:1246
+#: builtin/remote.c:1256
 msgid "Cannot determine remote HEAD"
 msgstr "Impossible de déterminer la HEAD distante"
 
-#: builtin/remote.c:1248
+#: builtin/remote.c:1258
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Il y a de multiples branches HEAD distantes. Veuillez en choisir une "
 "explicitement avec :"
 
-#: builtin/remote.c:1258
+#: builtin/remote.c:1268
 #, c-format
 msgid "Could not delete %s"
 msgstr "Impossible de supprimer %s"
 
-#: builtin/remote.c:1266
+#: builtin/remote.c:1276
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Référence non valide : %s"
 
-#: builtin/remote.c:1268
+#: builtin/remote.c:1278
 #, c-format
 msgid "Could not setup %s"
 msgstr "Impossible de paramétrer %s"
 
-#: builtin/remote.c:1286
+#: builtin/remote.c:1296
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s se retrouvera en suspens !"
 
-#: builtin/remote.c:1287
+#: builtin/remote.c:1297
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s se retrouve en suspens !"
 
-#: builtin/remote.c:1297
+#: builtin/remote.c:1307
 #, c-format
 msgid "Pruning %s"
 msgstr "Élimination de %s"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1308
 #, c-format
 msgid "URL: %s"
 msgstr "URL : %s"
 
-#: builtin/remote.c:1314
+#: builtin/remote.c:1324
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [serait éliminé] %s"
 
-#: builtin/remote.c:1317
+#: builtin/remote.c:1327
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [éliminé] %s"
 
-#: builtin/remote.c:1362
+#: builtin/remote.c:1372
 msgid "prune remotes after fetching"
 msgstr "éliminer les distants après le rapatriement"
 
-#: builtin/remote.c:1425 builtin/remote.c:1479 builtin/remote.c:1547
+#: builtin/remote.c:1435 builtin/remote.c:1489 builtin/remote.c:1557
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Pas de serveur remote '%s'"
 
-#: builtin/remote.c:1441
+#: builtin/remote.c:1451
 msgid "add branch"
 msgstr "ajouter une branche"
 
-#: builtin/remote.c:1448
+#: builtin/remote.c:1458
 msgid "no remote specified"
 msgstr "pas de serveur distant spécifié"
 
-#: builtin/remote.c:1465
+#: builtin/remote.c:1475
 msgid "query push URLs rather than fetch URLs"
 msgstr "interroger les URLs de poussée plutôt que les URLs de récupération"
 
-#: builtin/remote.c:1467
+#: builtin/remote.c:1477
 msgid "return all URLs"
 msgstr "retourner toutes les URLs"
 
-#: builtin/remote.c:1495
+#: builtin/remote.c:1505
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "aucune URL configurée pour le dépôt distant '%s'"
 
-#: builtin/remote.c:1521
+#: builtin/remote.c:1531
 msgid "manipulate push URLs"
 msgstr "manipuler les URLs push"
 
-#: builtin/remote.c:1523
+#: builtin/remote.c:1533
 msgid "add URL"
 msgstr "ajouter une URL"
 
-#: builtin/remote.c:1525
+#: builtin/remote.c:1535
 msgid "delete URLs"
 msgstr "supprimer des URLs"
 
-#: builtin/remote.c:1532
+#: builtin/remote.c:1542
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete n'a aucun sens"
 
-#: builtin/remote.c:1573
+#: builtin/remote.c:1581
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Motif d'URL ancien invalide : %s"
 
-#: builtin/remote.c:1581
+#: builtin/remote.c:1589
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Pas d'URL trouvée : %s"
 
-#: builtin/remote.c:1583
+#: builtin/remote.c:1591
 msgid "Will not delete all non-push URLs"
 msgstr "Pas de suppression de toutes les URLs non-push"
 
-#: builtin/remote.c:1597
+#: builtin/remote.c:1607
 msgid "be verbose; must be placed before a subcommand"
 msgstr "être verbeux : doit être placé avant une sous-commande"
 
-#: builtin/remote.c:1628
+#: builtin/remote.c:1638
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Sous-commande inconnue : %s"
@@ -12582,128 +13598,136 @@ msgstr ""
 "Utilisez\n"
 "--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
 
-#: builtin/repack.c:168
+#: builtin/repack.c:180
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:170
+#: builtin/repack.c:182
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:173
+#: builtin/repack.c:185
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:175
+#: builtin/repack.c:187
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:189
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:179
+#: builtin/repack.c:191
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git update-server-info"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:194
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:196
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:185
+#: builtin/repack.c:197
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:198
 msgid "with -A, do not loosen objects older than this"
 msgstr "avec -A, ne pas suspendre les objets plus vieux que celui-ci"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:200
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:202
 msgid "size of the window used for delta compression"
 msgstr "taille de la fenêtre utilisée pour la compression des deltas"
 
-#: builtin/repack.c:191 builtin/repack.c:197
+#: builtin/repack.c:203 builtin/repack.c:209
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:192
+#: builtin/repack.c:204
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "idem ci-dessus, mais limiter la taille mémoire au lieu du nombre d'éléments"
 
-#: builtin/repack.c:194
+#: builtin/repack.c:206
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:196
+#: builtin/repack.c:208
 msgid "limits the maximum number of threads"
 msgstr "limite le nombre maximal de fils"
 
-#: builtin/repack.c:198
+#: builtin/repack.c:210
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:212
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:210
+#: builtin/repack.c:214
+msgid "do not repack this pack"
+msgstr "ne pas rempaqueter ce paquet"
+
+#: builtin/repack.c:224
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux"
 
-#: builtin/repack.c:214
+#: builtin/repack.c:228
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:406 builtin/worktree.c:116
+#: builtin/repack.c:425 builtin/worktree.c:139
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
 
-#: builtin/replace.c:20
+#: builtin/replace.c:22
 msgid "git replace [-f] <object> <replacement>"
 msgstr "git replace [-f] <objet> <remplacement>"
 
-#: builtin/replace.c:21
+#: builtin/replace.c:23
 msgid "git replace [-f] --edit <object>"
 msgstr "git replace [-f] --edit <objet>"
 
-#: builtin/replace.c:22
+#: builtin/replace.c:24
 msgid "git replace [-f] --graft <commit> [<parent>...]"
 msgstr "git replace [-f] --graft <commit> [<parent>...]"
 
-#: builtin/replace.c:23
+#: builtin/replace.c:25
+msgid "git replace [-f] --convert-graft-file"
+msgstr "git replace [-f] --convert-graft-file"
+
+#: builtin/replace.c:26
 msgid "git replace -d <object>..."
 msgstr "git replace -d <objet>..."
 
-#: builtin/replace.c:24
+#: builtin/replace.c:27
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<format>] [-l [<motif>]]"
 
-#: builtin/replace.c:331 builtin/replace.c:369 builtin/replace.c:397
+#: builtin/replace.c:371 builtin/replace.c:415 builtin/replace.c:445
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr "Nom d'objet invalide : '%s'"
 
-#: builtin/replace.c:361
+#: builtin/replace.c:407
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "mauvaise étiquette de fusion dans le commit '%s'"
 
-#: builtin/replace.c:363
+#: builtin/replace.c:409
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "étiquette de fusion malformée dans le commit '%s'"
 
-#: builtin/replace.c:374
+#: builtin/replace.c:421
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -12712,45 +13736,58 @@ msgstr ""
 "le commit original '%s' contient l'étiquette de fusion '%s' qui a disparu ; "
 "utilisez --edit au lieu de --graft"
 
-#: builtin/replace.c:407
+#: builtin/replace.c:460
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr "le commit original '%s' contient une signature GPG."
 
-#: builtin/replace.c:408
+#: builtin/replace.c:461
 msgid "the signature will be removed in the replacement commit!"
 msgstr "la signature sera éliminée dans la validation de remplacement !"
 
-#: builtin/replace.c:414
+#: builtin/replace.c:471
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "Impossible d'écrire le commit de remplacement pour '%s'"
 
-#: builtin/replace.c:438
+#: builtin/replace.c:514
+#, c-format
+msgid ""
+"could not convert the following graft(s):\n"
+"%s"
+msgstr ""
+"impossible de convertir la(les) greffe(s) suivante(s) :\n"
+"%s"
+
+#: builtin/replace.c:535
 msgid "list replace refs"
 msgstr "afficher les références de remplacement"
 
-#: builtin/replace.c:439
+#: builtin/replace.c:536
 msgid "delete replace refs"
 msgstr "supprimer les références de remplacement"
 
-#: builtin/replace.c:440
+#: builtin/replace.c:537
 msgid "edit existing object"
 msgstr "éditer l'objet existant"
 
-#: builtin/replace.c:441
+#: builtin/replace.c:538
 msgid "change a commit's parents"
 msgstr "Modifier les parents d'un commit"
 
-#: builtin/replace.c:442
+#: builtin/replace.c:539
+msgid "convert existing graft file"
+msgstr "convertir le fichier de greffe existant"
+
+#: builtin/replace.c:540
 msgid "replace the ref if it exists"
 msgstr "remplacer la référence si elle existe"
 
-#: builtin/replace.c:443
+#: builtin/replace.c:542
 msgid "do not pretty-print contents for --edit"
 msgstr "afficher sans mise en forme pour --edit"
 
-#: builtin/replace.c:444
+#: builtin/replace.c:543
 msgid "use this format"
 msgstr "utiliser ce format"
 
@@ -12797,123 +13834,140 @@ msgstr "merge"
 msgid "keep"
 msgstr "keep"
 
-#: builtin/reset.c:77
+#: builtin/reset.c:78
 msgid "You do not have a valid HEAD."
 msgstr "Vous n'avez pas une HEAD valide."
 
-#: builtin/reset.c:79
+#: builtin/reset.c:80
 msgid "Failed to find tree of HEAD."
 msgstr "Impossible de trouver l'arbre pour HEAD."
 
-#: builtin/reset.c:85
+#: builtin/reset.c:86
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Impossible de trouver l'arbre pour %s."
 
-#: builtin/reset.c:103
+#: builtin/reset.c:111
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD est maintenant à %s"
 
-#: builtin/reset.c:186
+#: builtin/reset.c:189
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Impossible de faire un \"reset %s\" au milieu d'une fusion."
 
-#: builtin/reset.c:286
+#: builtin/reset.c:289
 msgid "be quiet, only report errors"
 msgstr "être silencieux, afficher seulement les erreurs"
 
-#: builtin/reset.c:288
+#: builtin/reset.c:291
 msgid "reset HEAD and index"
 msgstr "réinitialiser HEAD et l'index"
 
-#: builtin/reset.c:289
+#: builtin/reset.c:292
 msgid "reset only HEAD"
 msgstr "réinitialiser seulement HEAD"
 
-#: builtin/reset.c:291 builtin/reset.c:293
+#: builtin/reset.c:294 builtin/reset.c:296
 msgid "reset HEAD, index and working tree"
 msgstr "réinitialiser HEAD, l'index et la copie de travail"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:298
 msgid "reset HEAD but keep local changes"
 msgstr "réinitialiser HEAD mais garder les changements locaux"
 
-#: builtin/reset.c:301
+#: builtin/reset.c:304
 msgid "record only the fact that removed paths will be added later"
 msgstr ""
 "enregistrer seulement le fait que les chemins effacés seront ajoutés plus "
 "tard"
 
-#: builtin/reset.c:320
+#: builtin/reset.c:321
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Échec de résolution de '%s' comme une révision valide."
 
-#: builtin/reset.c:328
+#: builtin/reset.c:329
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Échec de résolution de '%s' comme un arbre valide."
 
-#: builtin/reset.c:337
+#: builtin/reset.c:338
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch est incompatible avec --{hard,mixed,soft}"
 
-#: builtin/reset.c:346
+#: builtin/reset.c:347
 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:348
+#: builtin/reset.c:349
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Impossible de faire un \"%s reset\" avec des chemins."
 
-#: builtin/reset.c:358
+#: builtin/reset.c:359
 #, 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:362
+#: builtin/reset.c:363
 msgid "-N can only be used with --mixed"
 msgstr "-N ne peut être utilisé qu'avec --mixed"
 
-#: builtin/reset.c:379
+#: builtin/reset.c:380
 msgid "Unstaged changes after reset:"
 msgstr "Modifications non indexées après reset :"
 
-#: builtin/reset.c:385
+#: builtin/reset.c:386
 #, 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:389
+#: builtin/reset.c:390
 msgid "Could not write new index file."
 msgstr "Impossible d'écrire le nouveau fichier d'index."
 
-#: builtin/rev-list.c:358
+#: builtin/rev-list.c:397
+msgid "cannot combine --exclude-promisor-objects and --missing"
+msgstr "impossible de combiner --exclude-promisor-objects et --missing"
+
+#: builtin/rev-list.c:455
+msgid "object filtering requires --objects"
+msgstr "le filtrage d'objet exige --objects"
+
+#: builtin/rev-list.c:458
+#, c-format
+msgid "invalid sparse value '%s'"
+msgstr "valeur invalide de 'sparse' '%s'"
+
+#: builtin/rev-list.c:499
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-parse.c:394
+#: builtin/rev-list.c:502
+msgid "cannot combine --use-bitmap-index with object filtering"
+msgstr "impossible de combiner --use-bitmap-index avec le filtrage d'objet"
+
+#: builtin/rev-parse.c:406
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<arguments>...]"
 
-#: builtin/rev-parse.c:399
+#: builtin/rev-parse.c:411
 msgid "keep the `--` passed as an arg"
 msgstr "garder le `--` passé en argument"
 
-#: builtin/rev-parse.c:401
+#: builtin/rev-parse.c:413
 msgid "stop parsing after the first non-option argument"
 msgstr "arrêt de l'analyse après le premier argument qui n'est pas une option"
 
-#: builtin/rev-parse.c:404
+#: builtin/rev-parse.c:416
 msgid "output in stuck long form"
 msgstr "sortie en forme longue fixée"
 
-#: builtin/rev-parse.c:535
+#: builtin/rev-parse.c:549
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -12997,19 +14051,15 @@ msgstr "ajouter le nom de validation"
 msgid "preserve initially empty commits"
 msgstr "préserver les validations vides initialement"
 
-#: builtin/revert.c:123
-msgid "allow commits with empty messages"
-msgstr "autoriser les validations avec des messages vides"
-
 #: builtin/revert.c:124
 msgid "keep redundant, empty commits"
 msgstr "garder les validations redondantes, vides"
 
-#: builtin/revert.c:212
+#: builtin/revert.c:214
 msgid "revert failed"
 msgstr "revert a échoué"
 
-#: builtin/revert.c:225
+#: builtin/revert.c:227
 msgid "cherry-pick failed"
 msgstr "le picorage a échoué"
 
@@ -13059,42 +14109,42 @@ msgid_plural "the following files have local modifications:"
 msgstr[0] "le fichier suivant a des modifications locales :"
 msgstr[1] "les fichiers suivants ont des modifications locales :"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:241
 msgid "do not list removed files"
 msgstr "ne pas afficher les fichiers supprimés"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:242
 msgid "only remove from the index"
 msgstr "supprimer seulement de l'index"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:243
 msgid "override the up-to-date check"
 msgstr "outrepasser la vérification des fichiers à jour"
 
-#: builtin/rm.c:246
+#: builtin/rm.c:244
 msgid "allow recursive removal"
 msgstr "autoriser la suppression récursive"
 
-#: builtin/rm.c:248
+#: builtin/rm.c:246
 msgid "exit with a zero status even if nothing matched"
 msgstr "sortir avec un état zéro même si rien ne correspondait"
 
-#: builtin/rm.c:308
+#: builtin/rm.c:306
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "pas de suppression récursive de '%s' sans -r"
 
-#: builtin/rm.c:347
+#: builtin/rm.c:345
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
 
-#: builtin/rm.c:370
+#: builtin/rm.c:368
 #, c-format
 msgid "could not remove '%s'"
 msgstr "impossible de supprimer '%s'"
 
-#: builtin/send-pack.c:19
+#: builtin/send-pack.c:20
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
 "receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
@@ -13107,52 +14157,72 @@ msgstr ""
 "  --all et la spécification explicite de <référence> sont mutuellement "
 "exclusifs."
 
-#: builtin/send-pack.c:162
+#: builtin/send-pack.c:163
 msgid "remote name"
 msgstr "nom distant"
 
-#: builtin/send-pack.c:176
+#: builtin/send-pack.c:177
 msgid "use stateless RPC protocol"
 msgstr "utiliser un protocole RPC sans état"
 
-#: builtin/send-pack.c:177
+#: builtin/send-pack.c:178
 msgid "read refs from stdin"
 msgstr "lire les références depuis l'entrée standard"
 
-#: builtin/send-pack.c:178
+#: builtin/send-pack.c:179
 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>...]]"
+msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
+msgstr "git shortlog [<options>] [<intervalle-révisions>] [[--] <chemin>...]"
 
-#: builtin/shortlog.c:249
+#: builtin/shortlog.c:15
+msgid "git log --pretty=short | git shortlog [<options>]"
+msgstr "git log --pretty=short | git shortlog [<options>]"
+
+#: builtin/shortlog.c:264
 msgid "Group by committer rather than author"
 msgstr "Grouper par validateur plutôt que par auteur"
 
-#: builtin/shortlog.c:251
+#: builtin/shortlog.c:266
 msgid "sort output according to the number of commits per author"
 msgstr "trier la sortie sur le nombre de validations par auteur"
 
-#: builtin/shortlog.c:253
+#: builtin/shortlog.c:268
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Supprimer les descriptions de validation, fournit seulement le nombre de "
 "validations"
 
-#: builtin/shortlog.c:255
+#: builtin/shortlog.c:270
 msgid "Show the email address of each author"
 msgstr "Afficher l'adresse courriel de chaque auteur"
 
-#: builtin/shortlog.c:256
+#: builtin/shortlog.c:271
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:257
+#: builtin/shortlog.c:272
 msgid "Linewrap output"
 msgstr "Couper les lignes"
 
+#: builtin/shortlog.c:298
+msgid "too many arguments given outside repository"
+msgstr "trop d'arguments fournis hors d'un dépôt"
+
 #: builtin/show-branch.c:12
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
@@ -13358,35 +14428,39 @@ 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:25 builtin/submodule--helper.c:1075
+#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1688
 #, c-format
 msgid "No such ref: %s"
 msgstr "Référence inexistante : %s"
 
-#: builtin/submodule--helper.c:32 builtin/submodule--helper.c:1084
+#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1697
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
 
-#: builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:61
+msgid "submodule--helper print-default-remote takes no arguments"
+msgstr "submodule--helper  print-default-remote n'accepte aucun argument"
+
+#: builtin/submodule--helper.c:98
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:305 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:406 builtin/submodule--helper.c:1211
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
-#: builtin/submodule--helper.c:310
+#: builtin/submodule--helper.c:411
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:356 builtin/submodule--helper.c:380
+#: builtin/submodule--helper.c:462 builtin/submodule--helper.c:485
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules"
 
-#: builtin/submodule--helper.c:395
+#: builtin/submodule--helper.c:500
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
@@ -13395,86 +14469,209 @@ msgstr ""
 "impossible de trouver la configuration '%s'. Ce dépôt est considéré comme "
 "son propre amont d'autorité."
 
-#: builtin/submodule--helper.c:406
+#: builtin/submodule--helper.c:511
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:410
+#: builtin/submodule--helper.c:515
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:420
+#: builtin/submodule--helper.c:525
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "attention : nous vous suggérons de spécifier une commande de mode de mise à "
 "jour pour le sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:427
+#: builtin/submodule--helper.c:532
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Échec d'enregistrement du mode de mise à jour pour le chemin de sous-module "
 "'%s'"
 
-#: builtin/submodule--helper.c:443
+#: builtin/submodule--helper.c:554
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:448
+#: builtin/submodule--helper.c:559
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<chemin>]"
 
-#: builtin/submodule--helper.c:476
-msgid "git submodule--helper name <path>"
-msgstr "git submodule--helper <nom> <chemin>"
-
-#: builtin/submodule--helper.c:482
+#: builtin/submodule--helper.c:631 builtin/submodule--helper.c:757
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "Pas de mise en correspondance du sous-module trouvé dans .gitmodules pour le "
 "chemin '%s'"
 
-#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:568
+#: builtin/submodule--helper.c:670
 #, c-format
-msgid "submodule '%s' cannot add alternate: %s"
-msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s"
+msgid "could not resolve HEAD ref inside the submodule '%s'"
+msgstr "impossible de résoudre HEAD dans le sous-module '%s'"
 
-#: builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:697 builtin/submodule--helper.c:866
 #, c-format
-msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
+msgid "failed to recurse into submodule '%s'"
+msgstr "récursion impossible dans le sous-module '%s'"
+
+#: builtin/submodule--helper.c:721 builtin/submodule--helper.c:1031
+msgid "Suppress submodule status output"
+msgstr "supprimer la sortie d'état du sous-module"
+
+#: builtin/submodule--helper.c:722
+msgid ""
+"Use commit stored in the index instead of the one stored in the submodule "
+"HEAD"
 msgstr ""
-"La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue"
+"Utiliser le commit stocké dans l'index au lieu de celui stocké dans la HEAD "
+"du sous-module"
 
-#: builtin/submodule--helper.c:611
+#: builtin/submodule--helper.c:723
+msgid "recurse into nested submodules"
+msgstr "parcourir récursivement les sous-modules"
+
+#: builtin/submodule--helper.c:728
+msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
+msgstr "git submodule status [--quiet] [--cached] [--recursive] [<chemin>...]"
+
+#: builtin/submodule--helper.c:752
+msgid "git submodule--helper name <path>"
+msgstr "git submodule--helper <nom> <chemin>"
+
+#: builtin/submodule--helper.c:816
 #, c-format
-msgid "Value '%s' for submodule.alternateLocation is not recognized"
-msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
+msgid "Synchronizing submodule url for '%s'\n"
+msgstr "Synchronisation de l'URL sous-module pour '%s'\n"
 
-#: builtin/submodule--helper.c:633
-msgid "where the new submodule will be cloned to"
-msgstr "emplacement où le sous-module sera cloné"
+#: builtin/submodule--helper.c:822
+#, c-format
+msgid "failed to register url for submodule path '%s'"
+msgstr "échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:636
-msgid "name of the new submodule"
-msgstr "nom du nouveau sous-module"
+#: builtin/submodule--helper.c:836
+#, c-format
+msgid "failed to get the default remote for submodule '%s'"
+msgstr "échec d'obtention du dépôt distant par défaut pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:639
-msgid "url where to clone the submodule from"
-msgstr "URL depuis laquelle cloner le sous-module"
+#: builtin/submodule--helper.c:847
+#, c-format
+msgid "failed to update remote for submodule '%s'"
+msgstr "échec de mise à jour du dépôt distant pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:645
-msgid "depth for shallow clones"
-msgstr "profondeur de l'historique des clones superficiels"
+#: builtin/submodule--helper.c:895
+msgid "Suppress output of synchronizing submodule url"
+msgstr ""
+"Supprimer la sortie lors de la synchronisation de l'URL d'un sous-module"
 
-#: builtin/submodule--helper.c:648 builtin/submodule--helper.c:993
-msgid "force cloning progress"
-msgstr "forcer l'affichage de la progression du clonage"
+#: builtin/submodule--helper.c:897
+msgid "Recurse into nested submodules"
+msgstr "Parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:653
+#: builtin/submodule--helper.c:902
+msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
+msgstr "git submodule--helper sync [--quiet] [--recursive] [<chemin>]"
+
+#: builtin/submodule--helper.c:956
+#, c-format
+msgid ""
+"Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
+"really want to remove it including all of its history)"
+msgstr ""
+"L'arbre de travail du sous-module '%s' contient un répertoire .git (utilisez "
+"'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
+"historique)"
+
+#: builtin/submodule--helper.c:968
+#, c-format
+msgid ""
+"Submodule work tree '%s' contains local modifications; use '-f' to discard "
+"them"
+msgstr ""
+"L'arbre de travail du sous-module '%s' contient des modifications locales ; "
+"utilisez '-f' pour les annuler"
+
+#: builtin/submodule--helper.c:976
+#, c-format
+msgid "Cleared directory '%s'\n"
+msgstr "Répertoire '%s' nettoyé\n"
+
+#: builtin/submodule--helper.c:978
+#, c-format
+msgid "Could not remove submodule work tree '%s'\n"
+msgstr "Impossible de supprimer l'arbre de travail du sous-module '%s'\n"
+
+#: builtin/submodule--helper.c:987
+#, c-format
+msgid "could not create empty submodule directory %s"
+msgstr "impossible de créer le répertoire vide du sous-module %s"
+
+#: builtin/submodule--helper.c:1003
+#, c-format
+msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
+msgstr "Sous-module '%s' (%s) non enregistré pour le chemin '%s'\n"
+
+#: builtin/submodule--helper.c:1032
+msgid "Remove submodule working trees even if they contain local changes"
+msgstr ""
+"Éliminer les arbres de travail des sous-modules même s'ils contiennent des "
+"modifications locales"
+
+#: builtin/submodule--helper.c:1033
+msgid "Unregister all submodules"
+msgstr "Désenregistrer tous les sous-modules"
+
+#: builtin/submodule--helper.c:1038
+msgid ""
+"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
+msgstr ""
+"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<chemin>...]]"
+
+#: builtin/submodule--helper.c:1052
+msgid "Use '--all' if you really want to deinitialize all submodules"
+msgstr ""
+"Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
+
+#: builtin/submodule--helper.c:1145 builtin/submodule--helper.c:1148
+#, c-format
+msgid "submodule '%s' cannot add alternate: %s"
+msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s"
+
+#: builtin/submodule--helper.c:1184
+#, c-format
+msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
+msgstr ""
+"La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue"
+
+#: builtin/submodule--helper.c:1191
+#, c-format
+msgid "Value '%s' for submodule.alternateLocation is not recognized"
+msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
+
+#: builtin/submodule--helper.c:1214
+msgid "where the new submodule will be cloned to"
+msgstr "emplacement où le sous-module sera cloné"
+
+#: builtin/submodule--helper.c:1217
+msgid "name of the new submodule"
+msgstr "nom du nouveau sous-module"
+
+#: builtin/submodule--helper.c:1220
+msgid "url where to clone the submodule from"
+msgstr "URL depuis laquelle cloner le sous-module"
+
+#: builtin/submodule--helper.c:1228
+msgid "depth for shallow clones"
+msgstr "profondeur de l'historique des clones superficiels"
+
+#: builtin/submodule--helper.c:1231 builtin/submodule--helper.c:1606
+msgid "force cloning progress"
+msgstr "forcer l'affichage de la progression du clonage"
+
+#: builtin/submodule--helper.c:1236
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -13482,83 +14679,83 @@ msgstr ""
 "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference "
 "<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
 
-#: builtin/submodule--helper.c:684
+#: builtin/submodule--helper.c:1267
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Le clonage de '%s' dans le chemin de sous-module '%s' a échoué"
 
-#: builtin/submodule--helper.c:699
+#: builtin/submodule--helper.c:1281
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "impossible de créer le répertoire de sous-module pour '%s'"
 
-#: builtin/submodule--helper.c:764
+#: builtin/submodule--helper.c:1347
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:768
+#: builtin/submodule--helper.c:1351
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:793
+#: builtin/submodule--helper.c:1380
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:814
+#: builtin/submodule--helper.c:1409
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:942
+#: builtin/submodule--helper.c:1544
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:1555
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Impossible de cloner '%s' pour la seconde fois, abandon"
 
-#: builtin/submodule--helper.c:974 builtin/submodule--helper.c:1162
+#: builtin/submodule--helper.c:1585 builtin/submodule--helper.c:1808
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:1588
 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:981
+#: builtin/submodule--helper.c:1592
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:985
+#: builtin/submodule--helper.c:1598
 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:988
+#: builtin/submodule--helper.c:1601
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:990
+#: builtin/submodule--helper.c:1603
 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:991
+#: builtin/submodule--helper.c:1604
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:998
+#: builtin/submodule--helper.c:1611
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:1008
+#: builtin/submodule--helper.c:1624
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1079
+#: builtin/submodule--helper.c:1692
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -13567,20 +14764,20 @@ 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:1163
+#: builtin/submodule--helper.c:1809
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:1169
+#: builtin/submodule--helper.c:1815
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<chemin>...]"
 
-#: builtin/submodule--helper.c:1232
+#: builtin/submodule--helper.c:1901
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s ne gère pas --super-prefix"
 
-#: builtin/submodule--helper.c:1238
+#: builtin/submodule--helper.c:1907
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -13593,24 +14790,24 @@ msgstr "git symbolic-ref [<options>] nom [<référence>]"
 msgid "git symbolic-ref -d [-q] <name>"
 msgstr "git symbolic-ref -d [-q] <nom>"
 
-#: builtin/symbolic-ref.c:41
+#: builtin/symbolic-ref.c:40
 msgid "suppress error message for non-symbolic (detached) refs"
 msgstr ""
 "supprimer le message d'erreur pour une référence non symbolique (détachée)"
 
-#: builtin/symbolic-ref.c:42
+#: builtin/symbolic-ref.c:41
 msgid "delete symbolic ref"
 msgstr "supprimer la référence symbolique"
 
-#: builtin/symbolic-ref.c:43
+#: builtin/symbolic-ref.c:42
 msgid "shorten ref output"
 msgstr "raccourcir l'affichage de la référence"
 
-#: builtin/symbolic-ref.c:44 builtin/update-ref.c:363
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason"
 msgstr "raison"
 
-#: builtin/symbolic-ref.c:44 builtin/update-ref.c:363
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason of the update"
 msgstr "raison de la mise à jour"
 
@@ -13640,17 +14837,17 @@ msgstr ""
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<format>] <nométiquette>..."
 
-#: builtin/tag.c:84
+#: builtin/tag.c:86
 #, c-format
 msgid "tag '%s' not found."
 msgstr "étiquette '%s' non trouvée."
 
-#: builtin/tag.c:100
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' supprimée (elle était sur %s)\n"
 
-#: builtin/tag.c:129
+#: builtin/tag.c:132
 #, c-format
 msgid ""
 "\n"
@@ -13663,7 +14860,7 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/tag.c:133
+#: builtin/tag.c:136
 #, c-format
 msgid ""
 "\n"
@@ -13678,343 +14875,364 @@ 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:211
+#: builtin/tag.c:190
 msgid "unable to sign the tag"
 msgstr "impossible de signer l'étiquette"
 
-#: builtin/tag.c:213
+#: builtin/tag.c:192
 msgid "unable to write tag file"
 msgstr "impossible d'écrire le fichier d'étiquettes"
 
-#: builtin/tag.c:237
+#: builtin/tag.c:217
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:283
+#: builtin/tag.c:266
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:290
+#: builtin/tag.c:273
 #, 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:398
+#: builtin/tag.c:382
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:400
+#: builtin/tag.c:384
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:402
+#: builtin/tag.c:386
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:403
+#: builtin/tag.c:387
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:389
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:391
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:409
+#: builtin/tag.c:393
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:411
+#: builtin/tag.c:395
+msgid "force edit of tag message"
+msgstr "forcer l'édition du message d'étiquetage"
+
+#: builtin/tag.c:396
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:415
+#: builtin/tag.c:400
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:416
+#: builtin/tag.c:401
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:417 builtin/update-ref.c:369
+#: builtin/tag.c:402 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:404
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:420
+#: builtin/tag.c:405
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:421 builtin/tag.c:423
+#: builtin/tag.c:406 builtin/tag.c:408
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:422 builtin/tag.c:424
+#: builtin/tag.c:407 builtin/tag.c:409
 msgid "print only tags that don't contain the commit"
 msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation"
 
-#: builtin/tag.c:425
+#: builtin/tag.c:410
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:426
+#: builtin/tag.c:411
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:431
+#: builtin/tag.c:416
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:470
+#: builtin/tag.c:460
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:492
+#: builtin/tag.c:482
 msgid "-n option is only allowed in list mode"
 msgstr "l'option -n est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:494
+#: builtin/tag.c:484
 msgid "--contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:496
+#: builtin/tag.c:486
 msgid "--no-contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode liste"
 
-#: builtin/tag.c:498
+#: builtin/tag.c:488
 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:500
+#: builtin/tag.c:490
 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:511
+#: builtin/tag.c:501
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:530
+#: builtin/tag.c:520
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:536
+#: builtin/tag.c:526
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:541
+#: builtin/tag.c:531
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:571
+#: builtin/tag.c:562
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
 
-#: builtin/unpack-objects.c:494
+#: builtin/unpack-objects.c:498
 msgid "Unpacking objects"
 msgstr "Dépaquetage des objets"
 
-#: builtin/update-index.c:80
+#: builtin/update-index.c:82
 #, c-format
 msgid "failed to create directory %s"
 msgstr "échec de la création du répertoire %s"
 
-#: builtin/update-index.c:86
+#: builtin/update-index.c:88
 #, c-format
 msgid "failed to stat %s"
 msgstr "échec du stat de %s"
 
-#: builtin/update-index.c:96
+#: builtin/update-index.c:98
 #, c-format
 msgid "failed to create file %s"
 msgstr "échec de la création du fichier %s"
 
-#: builtin/update-index.c:104
+#: builtin/update-index.c:106
 #, c-format
 msgid "failed to delete file %s"
 msgstr "échec de la suppression du fichier %s"
 
-#: builtin/update-index.c:111 builtin/update-index.c:217
+#: builtin/update-index.c:113 builtin/update-index.c:219
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "échec de la suppression du répertoire %s"
 
-#: builtin/update-index.c:136
+#: builtin/update-index.c:138
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Test du mtime dans '%s' "
 
-#: builtin/update-index.c:150
+#: builtin/update-index.c:152
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un fichier"
 
-#: builtin/update-index.c:163
+#: builtin/update-index.c:165
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un répertoire"
 
-#: builtin/update-index.c:176
+#: builtin/update-index.c:178
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "l'information de stat du répertoire change après mise à jour d'un fichier"
 
-#: builtin/update-index.c:187
+#: builtin/update-index.c:189
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "l'information de stat du répertoire change après l'ajout d'un fichier dans "
 "un sous-répertoire"
 
-#: builtin/update-index.c:198
+#: builtin/update-index.c:200
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "fichier<"
 
-#: builtin/update-index.c:211
+#: builtin/update-index.c:213
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "répertoire"
 
-#: builtin/update-index.c:218
+#: builtin/update-index.c:220
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:569
+#: builtin/update-index.c:589
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:924
+#: builtin/update-index.c:946
 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:927
+#: builtin/update-index.c:949
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:930
+#: builtin/update-index.c:952
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:932
+#: builtin/update-index.c:954
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:934
+#: builtin/update-index.c:956
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:936
+#: builtin/update-index.c:958
 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:939
+#: builtin/update-index.c:961
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:943
+#: builtin/update-index.c:965
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:947
+#: builtin/update-index.c:969
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:948
+#: builtin/update-index.c:970
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:957
+#: builtin/update-index.c:979
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:960
+#: builtin/update-index.c:982
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:963
+#: builtin/update-index.c:985
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:966
+#: builtin/update-index.c:988
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:991
 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:971
+#: builtin/update-index.c:993
 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:973
+#: builtin/update-index.c:995
 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:975
+#: builtin/update-index.c:997
 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:979
+#: builtin/update-index.c:1001
 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:983
+#: builtin/update-index.c:1005
 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:987
+#: builtin/update-index.c:1009
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:1013
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1016
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1018
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1022
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:1002
+#: builtin/update-index.c:1024
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:1004
+#: builtin/update-index.c:1026
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:1028
 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:1008
+#: builtin/update-index.c:1030
 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:1108
+#: builtin/update-index.c:1032
+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:1034
+msgid "enable or disable file system monitor"
+msgstr ""
+"activer ou désactiver la surveillance du système de fichier (fsmonitor)"
+
+#: builtin/update-index.c:1036
+msgid "mark files as fsmonitor valid"
+msgstr "marquer les fichiers comme valides pour fsmonitor"
+
+#: builtin/update-index.c:1039
+msgid "clear fsmonitor valid bit"
+msgstr "effacer le bit de validité fsmonitor"
+
+#: builtin/update-index.c:1138
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -14022,7 +15240,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:1117
+#: builtin/update-index.c:1147
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -14030,7 +15248,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:1128
+#: builtin/update-index.c:1158
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -14038,11 +15256,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:1132
+#: builtin/update-index.c:1162
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1140
+#: builtin/update-index.c:1170
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -14050,11 +15268,32 @@ 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:1144
+#: builtin/update-index.c:1174
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
 
+#: builtin/update-index.c:1182
+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:1186
+msgid "fsmonitor enabled"
+msgstr "fsmonitor activé"
+
+#: builtin/update-index.c:1189
+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:1193
+msgid "fsmonitor disabled"
+msgstr "fsmonitor désactivé"
+
 #: builtin/update-ref.c:10
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr "git update-ref [<options>] -d <nom-référence> [<ancienne-valeur>]"
@@ -14069,19 +15308,19 @@ msgstr ""
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<options>] --stdin [-z]"
 
-#: builtin/update-ref.c:364
+#: builtin/update-ref.c:363
 msgid "delete the reference"
 msgstr "supprimer la référence"
 
-#: builtin/update-ref.c:366
+#: builtin/update-ref.c:365
 msgid "update <refname> not the one it points to"
 msgstr "mettre à jour <nomréférence> et non la référence pointée par lui"
 
-#: builtin/update-ref.c:367
+#: builtin/update-ref.c:366
 msgid "stdin has NUL-terminated arguments"
 msgstr "l'entrée standard a des arguments qui se terminent par NUL"
 
-#: builtin/update-ref.c:368
+#: builtin/update-ref.c:367
 msgid "read updates from stdin"
 msgstr "lire les mises à jour depuis l'entrée standard"
 
@@ -14093,6 +15332,24 @@ msgstr "git update-server-info [--force]"
 msgid "update the info files from scratch"
 msgstr "mettre à jour les fichiers d'information à partir de zéro"
 
+#: builtin/upload-pack.c:11
+msgid "git upload-pack [<options>] <dir>"
+msgstr "git upload-pack [<options>] <répertoire>"
+
+#: builtin/upload-pack.c:25
+msgid "exit immediately after initial ref advertisement"
+msgstr "Sortir immédiatement après l'annonce initiale des références"
+
+#: builtin/upload-pack.c:27
+msgid "do not try <directory>/.git/ if <directory> is no Git directory"
+msgstr ""
+"nes pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire "
+"Git"
+
+#: builtin/upload-pack.c:29
+msgid "interrupt transfer after <n> seconds of inactivity"
+msgstr "interrompre le transfert après <n> secondes d'inactivité"
+
 #: builtin/verify-commit.c:18
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <commit>..."
@@ -14125,132 +15382,263 @@ msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
 msgid "print tag contents"
 msgstr "afficher le contenu de l'étiquette"
 
-#: builtin/worktree.c:16
-msgid "git worktree add [<options>] <path> [<branch>]"
-msgstr "git worktree add [<options>] <chemin> [<branche>]"
-
 #: builtin/worktree.c:17
-msgid "git worktree list [<options>]"
-msgstr "git worktree prune [<options>]"
+msgid "git worktree add [<options>] <path> [<commit-ish>]"
+msgstr "git worktree add [<options>] <chemin> [<commit>]"
 
 #: builtin/worktree.c:18
+msgid "git worktree list [<options>]"
+msgstr "git worktree list [<options>]"
+
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<options>] <chemin>"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:20
+msgid "git worktree move <worktree> <new-path>"
+msgstr "git worktree move <arbre-de-travail> <nouveau-chemin>"
+
+#: builtin/worktree.c:21
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<options>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:22
+msgid "git worktree remove [<options>] <worktree>"
+msgstr "git worktree remove [<options>] <arbre-de-travail>"
+
+#: builtin/worktree.c:23
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <chemin>"
 
-#: builtin/worktree.c:44
+#: builtin/worktree.c:58
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "Suppression de worktrees/%s : répertoire invalide"
 
-#: builtin/worktree.c:50
+#: builtin/worktree.c:64
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "Suppression de worktrees/%s : le fichier gitdir n'existe pas"
 
-#: builtin/worktree.c:55
+#: builtin/worktree.c:69 builtin/worktree.c:78
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr ""
 "Suppression de worktrees/%s : echec de la lecture du fichier gitdir (%s)"
 
-#: builtin/worktree.c:66
+#: builtin/worktree.c:88
+#, c-format
+msgid ""
+"Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
+"%<PRIuMAX>)"
+msgstr ""
+"Suppression de worktrees/%s: lecture trop courte ( %<PRIuMAX> octets "
+"attendus, %<PRIuMAX> octets lus)"
+
+#: builtin/worktree.c:96
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "Suppression de worktrees/%s : fichier gitdir invalide"
 
-#: builtin/worktree.c:82
+#: builtin/worktree.c:105
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 "Suppression de worktrees/%s : le fichier gitdir point sur un endroit "
 "inexistant"
 
-#: builtin/worktree.c:129
+#: builtin/worktree.c:152
 msgid "report pruned working trees"
 msgstr "afficher les arbres de travail éliminés"
 
-#: builtin/worktree.c:131
+#: builtin/worktree.c:154
 msgid "expire working trees older than <time>"
 msgstr "faire expirer les arbres de travail plus vieux que <temps>"
 
-#: builtin/worktree.c:205
+#: builtin/worktree.c:229
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' existe déjà"
 
-#: builtin/worktree.c:236
+#: builtin/worktree.c:260
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "impossible de créer le répertoire de '%s'"
 
-#: builtin/worktree.c:275
+#: builtin/worktree.c:373 builtin/worktree.c:379
+#, c-format
+msgid "Preparing worktree (new branch '%s')"
+msgstr "Préparation de l'arbre de travail (nouvelle branche '%s')"
+
+#: builtin/worktree.c:375
+#, 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:384
+#, c-format
+msgid "Preparing worktree (checking out '%s')"
+msgstr "Préparation de l'arbre de travail (extraction de '%s')"
+
+#: builtin/worktree.c:390
 #, c-format
-msgid "Preparing %s (identifier %s)"
-msgstr "Préparation de %s (identifiant %s)"
+msgid "Preparing worktree (detached HEAD %s)"
+msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#: builtin/worktree.c:327
+#: builtin/worktree.c:431
 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:329
+#: builtin/worktree.c:434
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:331
+#: builtin/worktree.c:436
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:333
+#: builtin/worktree.c:438
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:334
+#: builtin/worktree.c:439
 msgid "keep the new working tree locked"
 msgstr "conserver le verrou sur le nouvel arbre de travail"
 
-#: builtin/worktree.c:342
+#: builtin/worktree.c:441
+msgid "set up tracking mode (see git-branch(1))"
+msgstr "régler le mode de suivi (voir git-branch(1))"
+
+#: builtin/worktree.c:444
+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:452
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:479
+#: builtin/worktree.c:511
+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:611
 msgid "reason for locking"
 msgstr "raison du verrouillage"
 
-#: builtin/worktree.c:491 builtin/worktree.c:524
+#: builtin/worktree.c:623 builtin/worktree.c:656 builtin/worktree.c:710
+#: builtin/worktree.c:850
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:493 builtin/worktree.c:526
+#: builtin/worktree.c:625 builtin/worktree.c:658
 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:498
+#: builtin/worktree.c:630
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:500
+#: builtin/worktree.c:632
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:528
+#: builtin/worktree.c:660
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
 
+#: builtin/worktree.c:685
+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:712 builtin/worktree.c:852
+#, c-format
+msgid "'%s' is a main working tree"
+msgstr "'%s' est un arbre de travail principal"
+
+#: builtin/worktree.c:717
+#, 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:723
+#, c-format
+msgid "target '%s' already exists"
+msgstr "la cible '%s' existe déjà"
+
+#: builtin/worktree.c:730
+#, c-format
+msgid "cannot move a locked working tree, lock reason: %s"
+msgstr ""
+"impossible de déplacer un arbre de travail verrouillé, raison du "
+"verrouillage : %s"
+
+#: builtin/worktree.c:732
+msgid "cannot move a locked working tree"
+msgstr "impossible de déplacer un arbre de travail verrouillé"
+
+#: builtin/worktree.c:735
+#, 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:740
+#, c-format
+msgid "failed to move '%s' to '%s'"
+msgstr "échec au déplacement de '%s' vers '%s'"
+
+#: builtin/worktree.c:788
+#, c-format
+msgid "failed to run 'git status' on '%s'"
+msgstr "échec du lancement de 'git status' sur '%s'"
+
+#: builtin/worktree.c:792
+#, c-format
+msgid "'%s' is dirty, use --force to delete it"
+msgstr "'%s' est sale, utilisez --force pour le supprimer"
+
+#: builtin/worktree.c:797
+#, 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:808 builtin/worktree.c:822
+#, c-format
+msgid "failed to delete '%s'"
+msgstr "échec de la suppression de '%s'"
+
+#: builtin/worktree.c:834
+msgid "force removing even if the worktree is dirty"
+msgstr "forcer la suppression même si l'arbre de travail est sale"
+
+#: builtin/worktree.c:856
+#, c-format
+msgid "cannot remove a locked working tree, lock reason: %s"
+msgstr ""
+"impossible de supprimer un arbre de travail verrouillé, raison du "
+"verrouillage : %s"
+
+#: builtin/worktree.c:858
+msgid "cannot remove a locked working tree"
+msgstr "impossible de supprimer un arbre de travail verrouillé"
+
+#: builtin/worktree.c:861
+#, c-format
+msgid "validation failed, cannot remove working tree: %s"
+msgstr ""
+"la validation a échoué, impossible de supprimer l'arbre de travail : %s"
+
 #: builtin/write-tree.c:14
 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
 msgstr "git write-tree [--missing-ok] [--prefix=<préfixe>/]"
@@ -14267,29 +15655,7 @@ msgstr "écrire l'objet arbre pour un sous-répertoire <préfixe>"
 msgid "only useful for debugging"
 msgstr "seulement utile pour le débogage"
 
-#: upload-pack.c:23
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<options>] <répertoire>"
-
-#: upload-pack.c:1041
-msgid "quit after a single request/response exchange"
-msgstr "quitter après un unique échange requête/réponse"
-
-#: upload-pack.c:1043
-msgid "exit immediately after initial ref advertisement"
-msgstr "Sortir immédiatement après l'annonce initiale des références"
-
-#: upload-pack.c:1045
-msgid "do not try <directory>/.git/ if <directory> is no Git directory"
-msgstr ""
-"nes pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire "
-"Git"
-
-#: upload-pack.c:1047
-msgid "interrupt transfer after <n> seconds of inactivity"
-msgstr "interrompre le transfert après <n> secondes d'inactivité"
-
-#: credential-cache--daemon.c:224
+#: credential-cache--daemon.c:222
 #, c-format
 msgid ""
 "The permissions on your socket directory are too loose; other\n"
@@ -14302,11 +15668,28 @@ msgstr ""
 "\n"
 "    chmod 0700 %s"
 
-#: credential-cache--daemon.c:272
+#: credential-cache--daemon.c:271
 msgid "print debugging messages to stderr"
 msgstr "afficher les messages de debug sur stderr"
 
-#: git.c:15
+#: git.c:27
+msgid ""
+"git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
+"           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
+"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
+"bare]\n"
+"           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
+"           <command> [<args>]"
+msgstr ""
+"git [--version] [--help] [-C <chemin>] [-c <nom>=<valeur>]\n"
+"           [--exec-path[=<chemin>]] [--html-path] [--man-path] [--info-"
+"path]\n"
+"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
+"bare]\n"
+"           [--git-dir=<chemin>] [--work-tree=<chemin>] [--namespace=<nom>]\n"
+"           <commande> [<args>]"
+
+#: git.c:34
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
@@ -14316,21 +15699,67 @@ msgstr ""
 "quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n"
 "pour en lire plus à propos d'une commande spécifique ou d'un concept."
 
-#: http.c:337
+#: git.c:173
+#, c-format
+msgid "no directory given for --git-dir\n"
+msgstr "aucun répertoire fourni pour --git-dir\n"
+
+#: git.c:187
+#, c-format
+msgid "no namespace given for --namespace\n"
+msgstr "aucun espace de nom fournit pour --namespace\n"
+
+#: git.c:201
+#, c-format
+msgid "no directory given for --work-tree\n"
+msgstr "aucun répertoire fourni pour --work-tree\n"
+
+#: git.c:215
+#, c-format
+msgid "no prefix given for --super-prefix\n"
+msgstr "aucun préfixe fourni pour --super-prefix\n"
+
+#: git.c:237
+#, c-format
+msgid "-c expects a configuration string\n"
+msgstr "-c requiert une chaîne de configuration\n"
+
+#: git.c:275
+#, c-format
+msgid "no directory given for -C\n"
+msgstr "aucun répertoire fourni pour -C\n"
+
+#: git.c:300
+#, c-format
+msgid "unknown option: %s\n"
+msgstr "option inconnue : %s\n"
+
+#: git.c:765
+#, 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:777
+#, c-format
+msgid "failed to run command '%s': %s\n"
+msgstr "échec au lancement de la commande '%s' : %s\n"
+
+#: http.c:348
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr ""
 "valeur négative pour http.postbuffer ; utilisation de la valeur par défaut %d"
 
-#: http.c:358
+#: http.c:369
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "La délégation de commande n'est pas supporté avec cuRL < 7.22.0"
 
-#: http.c:367
+#: http.c:378
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.44.0"
 
-#: http.c:1764
+#: http.c:1854
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -14341,138 +15770,691 @@ msgstr ""
 "      demandé : %s\n"
 "  redirection : %s"
 
-#: remote-curl.c:324
+#: remote-curl.c:401
 #, c-format
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
 
-#: common-cmds.h:9
-msgid "start a working area (see also: git help tutorial)"
-msgstr "démarrer une zone de travail (voir aussi : git help tutorial)"
+#: list-objects-filter-options.h:59
+msgid "args"
+msgstr "args"
 
-#: common-cmds.h:10
-msgid "work on the current change (see also: git help everyday)"
-msgstr ""
-"travailler sur la modification actuelle (voir aussi : git help revisions)"
+#: list-objects-filter-options.h:60
+msgid "object filtering"
+msgstr "filtrage d'objet"
 
-#: common-cmds.h:11
-msgid "examine the history and state (see also: git help revisions)"
-msgstr "examiner l'historique et l'état (voir aussi : git help revisions)"
+#: parse-options.h:157
+msgid "expiry-date"
+msgstr "date-d'expiration"
 
-#: common-cmds.h:12
-msgid "grow, mark and tweak your common history"
-msgstr "agrandir, marquer et modifier votre historique"
+#: parse-options.h:172
+msgid "no-op (backward compatibility)"
+msgstr "sans action (rétrocompatibilité)"
 
-#: common-cmds.h:13
-msgid "collaborate (see also: git help workflows)"
-msgstr "collaborer (voir aussi : git help workflows)"
+#: parse-options.h:251
+msgid "be more verbose"
+msgstr "être plus verbeux"
+
+#: parse-options.h:253
+msgid "be more quiet"
+msgstr "être plus silencieux"
+
+#: parse-options.h:259
+msgid "use <n> digits to display SHA-1s"
+msgstr "utiliser <n> chiffres pour afficher les SHA-1s"
 
-#: common-cmds.h:17
+#: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "Ajouter le contenu de fichiers dans l'index"
 
-#: common-cmds.h:18
+#: command-list.h:51
+msgid "Apply a series of patches from a mailbox"
+msgstr "Appliquer une série de patchs depuis une boîte mail"
+
+#: command-list.h:52
+msgid "Annotate file lines with commit information"
+msgstr "Annoter les lignes du fichier avec l'information de commit"
+
+#: command-list.h:53
+msgid "Apply a patch to files and/or to the index"
+msgstr "Appliquer une patch à des fichiers ou à l'index"
+
+#: command-list.h:54
+msgid "Import an Arch repository into Git"
+msgstr "Importer dans Git un dépôt Arch"
+
+#: command-list.h:55
+msgid "Create an archive of files from a named tree"
+msgstr "Créer une archive des fichiers depuis un arbre nommé"
+
+#: command-list.h:56
 msgid "Use binary search to find the commit that introduced a bug"
 msgstr "Trouver par recherche binaire la modification qui a introduit un bogue"
 
-#: common-cmds.h:19
+#: command-list.h:57
+msgid "Show what revision and author last modified each line of a file"
+msgstr ""
+"Montrer la révision et l'auteur qui ont modifié en dernier chaque ligne d'un "
+"fichier"
+
+#: command-list.h:58
 msgid "List, create, or delete branches"
 msgstr "Lister, créer ou supprimer des branches"
 
-#: common-cmds.h:20
+#: command-list.h:59
+msgid "Move objects and refs by archive"
+msgstr "Déplacer les objets et références par archive"
+
+#: command-list.h:60
+msgid "Provide content or type and size information for repository objects"
+msgstr ""
+"Fournir les contenu ou l'information de type et taille pour les objets du "
+"dépôt"
+
+#: command-list.h:61
+msgid "Display gitattributes information"
+msgstr "Afficher les informations gitattributes"
+
+#: command-list.h:62
+msgid "Debug gitignore / exclude files"
+msgstr "Déboguer gitignore / les fichiers d'exclusion"
+
+#: command-list.h:63
+msgid "Show canonical names and email addresses of contacts"
+msgstr "Afficher les noms canoniques et les adresses courriel des contacts"
+
+#: command-list.h:64
 msgid "Switch branches or restore working tree files"
 msgstr "Basculer de branche ou restaurer la copie de travail"
 
-#: common-cmds.h:21
+#: command-list.h:65
+msgid "Copy files from the index to the working tree"
+msgstr "Copier les fichiers depuis l'index dans la copie de travail"
+
+#: command-list.h:66
+msgid "Ensures that a reference name is well formed"
+msgstr "Assure qu'un nom de référence est bien formé"
+
+#: command-list.h:67
+msgid "Find commits yet to be applied to upstream"
+msgstr "Trouver les commits à appliquer en amont"
+
+#: command-list.h:68
+msgid "Apply the changes introduced by some existing commits"
+msgstr "Appliquer les modifications introduites par des commits existants"
+
+#: command-list.h:69
+msgid "Graphical alternative to git-commit"
+msgstr "Alternative graphique à git-commit"
+
+#: command-list.h:70
+msgid "Remove untracked files from the working tree"
+msgstr "Supprimer les fichiers non-suivis de l'arbre de travail"
+
+#: command-list.h:71
 msgid "Clone a repository into a new directory"
 msgstr "Cloner un dépôt dans un nouveau répertoire"
 
-#: common-cmds.h:22
+#: command-list.h:72
+msgid "Display data in columns"
+msgstr "Afficher les données en colonnes"
+
+#: command-list.h:73
 msgid "Record changes to the repository"
 msgstr "Enregistrer les modifications dans le dépôt"
 
-#: common-cmds.h:23
+#: command-list.h:74
+msgid "Write and verify Git commit graph files"
+msgstr "Écrire et vérifier les fichiers de graphe de commit Git"
+
+#: command-list.h:75
+msgid "Create a new commit object"
+msgstr "Créer un nouvel objet commit"
+
+#: command-list.h:76
+msgid "Get and set repository or global options"
+msgstr "voir et régler les options globales ou de dépôt"
+
+#: command-list.h:77
+msgid "Count unpacked number of objects and their disk consumption"
+msgstr ""
+"Compter le nombre d'objets non-empaquetés et leur consommation d'espace "
+"disque"
+
+#: command-list.h:78
+msgid "Retrieve and store user credentials"
+msgstr "Récupérer et sauvegarder les certificats d'utilisateur"
+
+#: command-list.h:79
+msgid "Helper to temporarily store passwords in memory"
+msgstr "Assistant pour maintenir temporairement en mémoire les mots de passe"
+
+#: command-list.h:80
+msgid "Helper to store credentials on disk"
+msgstr "Assistant pour sauvegarder les certificats sur disque"
+
+#: command-list.h:81
+msgid "Export a single commit to a CVS checkout"
+msgstr "Exporter un commit unique en extraction CVS"
+
+#: command-list.h:82
+msgid "Salvage your data out of another SCM people love to hate"
+msgstr "Sauver vos données depuis un autre SCM qu'on aime à haïr"
+
+#: command-list.h:83
+msgid "A CVS server emulator for Git"
+msgstr "Un émulateur de serveur CVS pour Git"
+
+#: command-list.h:84
+msgid "A really simple server for Git repositories"
+msgstr "Un serveur vraiment simple pour les dépôts Git"
+
+#: command-list.h:85
+msgid "Give an object a human readable name based on an available ref"
+msgstr ""
+"Baptiser un objet avec un nom lisible à partir d'une référence disponible"
+
+#: command-list.h:86
 msgid "Show changes between commits, commit and working tree, etc"
 msgstr ""
 "Afficher les changements entre les validations, entre validation et copie de "
 "travail, etc"
 
-#: common-cmds.h:24
+#: command-list.h:87
+msgid "Compares files in the working tree and the index"
+msgstr "Compare des fichiers de l'arbre de travail et de l'index"
+
+#: command-list.h:88
+msgid "Compare a tree to the working tree or index"
+msgstr "Comparer un arbre avec l'arbre de travail ou l'index"
+
+#: command-list.h:89
+msgid "Compares the content and mode of blobs found via two tree objects"
+msgstr "Compare le contenu et la mode des blobs trouvés via deux objets arbre"
+
+#: command-list.h:90
+msgid "Show changes using common diff tools"
+msgstr "Afficher les modifications en utilisant les outils habituel de diff"
+
+#: command-list.h:91
+msgid "Git data exporter"
+msgstr "Exporteur de données Git"
+
+#: command-list.h:92
+msgid "Backend for fast Git data importers"
+msgstr "Moteur pour les importateurs rapides de données Git"
+
+#: command-list.h:93
 msgid "Download objects and refs from another repository"
 msgstr "Télécharger les objets et références depuis un autre dépôt"
 
-#: common-cmds.h:25
+#: command-list.h:94
+msgid "Receive missing objects from another repository"
+msgstr "Télécharger les objets manquants depuis un autre dépôt"
+
+#: command-list.h:95
+msgid "Rewrite branches"
+msgstr "Réécrire les branches"
+
+#: command-list.h:96
+msgid "Produce a merge commit message"
+msgstr "Produire un message de validation de fusion"
+
+#: command-list.h:97
+msgid "Output information on each ref"
+msgstr "Afficher l'information de chaque référence"
+
+#: command-list.h:98
+msgid "Prepare patches for e-mail submission"
+msgstr "Préparer les patchs pour soumission par courriel"
+
+#: command-list.h:99
+msgid "Verifies the connectivity and validity of the objects in the database"
+msgstr ""
+"Vérifier la connectivité et la validité des objets dans la base de données"
+
+#: command-list.h:100
+msgid "Cleanup unnecessary files and optimize the local repository"
+msgstr "Effacer les fichiers non-nécessaires et optimiser le dépôt local"
+
+#: command-list.h:101
+msgid "Extract commit ID from an archive created using git-archive"
+msgstr "Extraire l'ID du commit depuis une archive créée par git-archive"
+
+#: command-list.h:102
 msgid "Print lines matching a pattern"
 msgstr "Afficher les lignes correspondant à un motif"
 
-#: common-cmds.h:26
-msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr "Créer un dépôt Git vide ou réinitialiser un existant"
+#: command-list.h:103
+msgid "A portable graphical interface to Git"
+msgstr "Une interface graphique portable pour Git"
+
+#: command-list.h:104
+msgid "Compute object ID and optionally creates a blob from a file"
+msgstr ""
+"Calculer l'ID d'objet et créer optionnellement un blob depuis un fichier"
+
+#: command-list.h:105
+msgid "Display help information about Git"
+msgstr "Afficher l'information d'aide à propos de Git"
+
+#: command-list.h:106
+msgid "Server side implementation of Git over HTTP"
+msgstr "Implantation côté serveur de Git sur HTTP"
+
+#: command-list.h:107
+msgid "Download from a remote Git repository via HTTP"
+msgstr "Télécharger depuis un dépôt Git distant via HTTP"
+
+#: command-list.h:108
+msgid "Push objects over HTTP/DAV to another repository"
+msgstr "Pousser les objets sur un autre dépôt via HTTP/DAV"
+
+#: command-list.h:109
+msgid "Send a collection of patches from stdin to an IMAP folder"
+msgstr "Envoyer un ensemble de patchs depuis stdin vers un répertoire IMAP"
+
+#: command-list.h:110
+msgid "Build pack index file for an existing packed archive"
+msgstr ""
+"Construire un fichier d'index pack depuis une archive compactée existante"
+
+#: command-list.h:111
+msgid "Create an empty Git repository or reinitialize an existing one"
+msgstr "Créer un dépôt Git vide ou réinitialiser un existant"
+
+#: command-list.h:112
+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"
+msgstr ""
+"ajouter ou analyser l'information structurée dans les messages de validation"
+
+#: command-list.h:114
+msgid "The Git repository browser"
+msgstr "Le navigateur de dépôt Git"
+
+#: command-list.h:115
+msgid "Show commit logs"
+msgstr "Afficher l'historique des validations"
+
+#: command-list.h:116
+msgid "Show information about files in the index and the working tree"
+msgstr ""
+"Afficher l'information à propos des fichiers dans l'index ou l'arbre de "
+"travail"
+
+#: command-list.h:117
+msgid "List references in a remote repository"
+msgstr "Lister les références dans un dépôt distant"
+
+#: command-list.h:118
+msgid "List the contents of a tree object"
+msgstr "Afficher le contenu d'un objet arbre"
+
+#: command-list.h:119
+msgid "Extracts patch and authorship from a single e-mail message"
+msgstr ""
+"Extraire le patch et l'information de d'auteur depuis un simple message de "
+"courriel"
+
+#: command-list.h:120
+msgid "Simple UNIX mbox splitter program"
+msgstr "Programme simple de découpage de mbox UNIX"
+
+#: command-list.h:121
+msgid "Join two or more development histories together"
+msgstr "Fusionner deux ou plusieurs historiques de développement ensemble"
+
+#: command-list.h:122
+msgid "Find as good common ancestors as possible for a merge"
+msgstr "Trouver un ancêtre aussi bon que possible pour une fusion"
+
+#: command-list.h:123
+msgid "Run a three-way file merge"
+msgstr "Lancer une fusion à 3 points"
+
+#: command-list.h:124
+msgid "Run a merge for files needing merging"
+msgstr "Lancer une fusion à 3 points pour les fichiers à fusionner"
+
+#: command-list.h:125
+msgid "The standard helper program to use with git-merge-index"
+msgstr "Le programme assistant standard à utiliser avec git-merge-index"
+
+#: command-list.h:126
+msgid "Run merge conflict resolution tools to resolve merge conflicts"
+msgstr ""
+"Lancer les outils de résolution de conflit de fusion pour résoudre les "
+"conflits de fusion"
+
+#: command-list.h:127
+msgid "Show three-way merge without touching index"
+msgstr "Afficher la fusion à trois points sans modifier l'index"
+
+#: command-list.h:128
+msgid "Creates a tag object"
+msgstr "Créer un objet étiquette"
+
+#: command-list.h:129
+msgid "Build a tree-object from ls-tree formatted text"
+msgstr "Construire un objet arbre depuis une texte formaté comme ls-tree"
+
+#: command-list.h:130
+msgid "Move or rename a file, a directory, or a symlink"
+msgstr "Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique"
+
+#: command-list.h:131
+msgid "Find symbolic names for given revs"
+msgstr "Trouver les noms symboliques pour des révisions données"
+
+#: command-list.h:132
+msgid "Add or inspect object notes"
+msgstr "Ajouter ou inspecter les notes d'un objets"
+
+#: command-list.h:133
+msgid "Import from and submit to Perforce repositories"
+msgstr "Importer et soumettre à des dépôt Perforce"
+
+#: command-list.h:134
+msgid "Create a packed archive of objects"
+msgstr "Créer une archive compactée d'objets"
+
+#: command-list.h:135
+msgid "Find redundant pack files"
+msgstr "Trouver les fichiers pack redondants"
+
+#: command-list.h:136
+msgid "Pack heads and tags for efficient repository access"
+msgstr "Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt"
+
+#: command-list.h:137
+msgid "Routines to help parsing remote repository access parameters"
+msgstr ""
+"Routines pour aider à analyser les paramètres d'accès aux dépôts distants"
+
+#: command-list.h:138
+msgid "Compute unique ID for a patch"
+msgstr "Calculer l'ID unique d'un patch"
+
+#: command-list.h:139
+msgid "Prune all unreachable objects from the object database"
+msgstr ""
+"Éliminer les objets inatteignables depuis la base de données des objets"
+
+#: command-list.h:140
+msgid "Remove extra objects that are already in pack files"
+msgstr "Éliminer les objets qui sont déjà présents dans les fichiers pack"
+
+#: command-list.h:141
+msgid "Fetch from and integrate with another repository or a local branch"
+msgstr "Rapatrier et intégrer un autre dépôt ou une branche locale"
+
+#: command-list.h:142
+msgid "Update remote refs along with associated objects"
+msgstr "Mettre à jour les références distantes ainsi que les objets associés"
+
+#: command-list.h:143
+msgid "Applies a quilt patchset onto the current branch"
+msgstr "Appliquer un patchset quilt sur la branche courante"
+
+#: command-list.h:144
+msgid "Reads tree information into the index"
+msgstr "Lire l'information d'arbre dans l'index"
+
+#: command-list.h:145
+msgid "Reapply commits on top of another base tip"
+msgstr "Réapplication des commits sur le sommet de l'autre base"
+
+#: command-list.h:146
+msgid "Receive what is pushed into the repository"
+msgstr "Recevoir ce qui est poussé dans le dépôt"
+
+#: command-list.h:147
+msgid "Manage reflog information"
+msgstr "Gérer l'information de reflog"
+
+#: command-list.h:148
+msgid "Manage set of tracked repositories"
+msgstr "Gérer un ensemble de dépôts suivis"
+
+#: command-list.h:149
+msgid "Pack unpacked objects in a repository"
+msgstr "Empaqueter les objets non-empaquetés d'un dépôt"
+
+#: command-list.h:150
+msgid "Create, list, delete refs to replace objects"
+msgstr "Créer, lister, supprimer des référence pour remplacer des objets"
+
+#: command-list.h:151
+msgid "Generates a summary of pending changes"
+msgstr "Générer une résumé des modifications en attentes"
+
+#: command-list.h:152
+msgid "Reuse recorded resolution of conflicted merges"
+msgstr "Réutiliser une résolution enregistrée de fusions conflictuelles"
+
+#: command-list.h:153
+msgid "Reset current HEAD to the specified state"
+msgstr "Réinitialiser la HEAD courante à l'état spécifié"
+
+#: command-list.h:154
+msgid "Revert some existing commits"
+msgstr "Inverser des commits existants"
+
+#: command-list.h:155
+msgid "Lists commit objects in reverse chronological order"
+msgstr "Afficher les objets commit dans l'ordre chronologique inverse"
+
+#: command-list.h:156
+msgid "Pick out and massage parameters"
+msgstr "Analyser et préparer les paramètres"
+
+#: command-list.h:157
+msgid "Remove files from the working tree and from the index"
+msgstr "Supprimer des fichiers de la copie de travail et de l'index"
+
+#: command-list.h:158
+msgid "Send a collection of patches as emails"
+msgstr "Envoyer un ensemble de patchs comme courriels"
+
+#: command-list.h:159
+msgid "Push objects over Git protocol to another repository"
+msgstr "Pousser les objets sur un autre dépôt via le protocole Git"
+
+#: command-list.h:160
+msgid "Restricted login shell for Git-only SSH access"
+msgstr "shell de login restreint pour un accès SSH vers Git seulement"
+
+#: command-list.h:161
+msgid "Summarize 'git log' output"
+msgstr "Résumer la sortie de 'git log'"
+
+#: command-list.h:162
+msgid "Show various types of objects"
+msgstr "Afficher différents types d'objets"
+
+#: command-list.h:163
+msgid "Show branches and their commits"
+msgstr "Afficher les branches et leurs commits"
+
+#: command-list.h:164
+msgid "Show packed archive index"
+msgstr "Afficher l'index de l'archive empaquetée"
+
+#: command-list.h:165
+msgid "List references in a local repository"
+msgstr "Lister les références du dépôt local"
+
+#: command-list.h:166
+msgid "Git's i18n setup code for shell scripts"
+msgstr "Le code d'initialisation i18n pour les scripts shell"
+
+#: command-list.h:167
+msgid "Common Git shell script setup code"
+msgstr "Le code d'initialisation commun aux scripts shell Git"
+
+#: command-list.h:168
+msgid "Stash the changes in a dirty working directory away"
+msgstr "Remiser les modifications d'un répertoire de travail sale"
+
+#: command-list.h:169
+msgid "Add file contents to the staging area"
+msgstr "Ajouter le contenu de fichiers à l'index"
+
+#: command-list.h:170
+msgid "Show the working tree status"
+msgstr "Afficher l'état de la copie de travail"
+
+#: command-list.h:171
+msgid "Remove unnecessary whitespace"
+msgstr "Retirer les espaces inutiles"
+
+#: command-list.h:172
+msgid "Initialize, update or inspect submodules"
+msgstr "Initialiser, mettre à jour et inspecter les sous-modules"
+
+#: command-list.h:173
+msgid "Bidirectional operation between a Subversion repository and Git"
+msgstr "Opération Bidirectionnelles entre un dépôt Subversion et Git"
+
+#: command-list.h:174
+msgid "Read, modify and delete symbolic refs"
+msgstr "Lire, modifier et supprimer les références symboliques"
+
+#: command-list.h:175
+msgid "Create, list, delete or verify a tag object signed with GPG"
+msgstr ""
+"Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG"
+
+#: command-list.h:176
+msgid "Creates a temporary file with a blob's contents"
+msgstr "Créer un fichier temporaire avec le contenu d'un blob"
+
+#: command-list.h:177
+msgid "Unpack objects from a packed archive"
+msgstr "Dépaqueter les objets depuis une archive empaquetée"
+
+#: command-list.h:178
+msgid "Register file contents in the working tree to the index"
+msgstr "Enregistrer le contenu d'un fichier de l'arbre de travail dans l'index"
+
+#: command-list.h:179
+msgid "Update the object name stored in a ref safely"
+msgstr ""
+"Mettre à jour le nom d'objet stocké dans une référence en toute sécurité"
+
+#: command-list.h:180
+msgid "Update auxiliary info file to help dumb servers"
+msgstr ""
+"Mettre à jour le fichier d'informations auxiliaires pour aider les serveurs "
+"idiots"
+
+#: command-list.h:181
+msgid "Send archive back to git-archive"
+msgstr "Renvoyer une archive dans git-archive"
+
+#: command-list.h:182
+msgid "Send objects packed back to git-fetch-pack"
+msgstr "Renvoyer des objets empaquetés dans git-fetch-pack"
+
+#: command-list.h:183
+msgid "Show a Git logical variable"
+msgstr "Afficher un variable logique de Git"
+
+#: command-list.h:184
+msgid "Check the GPG signature of commits"
+msgstr "Vérifier la signature GPG de commits"
+
+#: command-list.h:185
+msgid "Validate packed Git archive files"
+msgstr "Valider des fichiers d'archive Git empaquetés"
+
+#: command-list.h:186
+msgid "Check the GPG signature of tags"
+msgstr "Vérifier la signature GPG d'étiquettes"
+
+#: command-list.h:187
+msgid "Git web interface (web frontend to Git repositories)"
+msgstr "Interface web de Git"
+
+#: command-list.h:188
+msgid "Show logs with difference each commit introduces"
+msgstr "Afficher les journaux avec la différence que chaque commit introduit"
+
+#: command-list.h:189
+msgid "Manage multiple working trees"
+msgstr "Gère de arbres de travail multiples"
+
+#: command-list.h:190
+msgid "Create a tree object from the current index"
+msgstr "Créer un objet arbre depuis l'index courant"
 
-#: common-cmds.h:27
-msgid "Show commit logs"
-msgstr "Afficher l'historique des validations"
+#: command-list.h:191
+msgid "Defining attributes per path"
+msgstr "Définition des attributs par chemin"
 
-#: common-cmds.h:28
-msgid "Join two or more development histories together"
-msgstr "Fusionner deux ou plusieurs historiques de développement ensemble"
+#: command-list.h:192
+msgid "Git command-line interface and conventions"
+msgstr "interface en ligne de commande et conventions de Git"
 
-#: common-cmds.h:29
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr "Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique"
+#: command-list.h:193
+msgid "A Git core tutorial for developers"
+msgstr "Tutoriel du cœur de Git pour les développeurs"
 
-#: common-cmds.h:30
-msgid "Fetch from and integrate with another repository or a local branch"
-msgstr "Rapatrier et intégrer un autre dépôt ou une branche locale"
+#: command-list.h:194
+msgid "Git for CVS users"
+msgstr "Git pour les utilisateurs de CVS"
 
-#: common-cmds.h:31
-msgid "Update remote refs along with associated objects"
-msgstr "Mettre à jour les références distantes ainsi que les objets associés"
+#: command-list.h:195
+msgid "Tweaking diff output"
+msgstr "Bidouillage de la sortie diff"
 
-#: common-cmds.h:32
-msgid "Reapply commits on top of another base tip"
-msgstr "Réapplication des commits sur le sommet de l'autre base"
+#: command-list.h:196
+msgid "A useful minimum set of commands for Everyday Git"
+msgstr "Un ensemble minimal utile des commandes de Git pour tous les jours"
 
-#: common-cmds.h:33
-msgid "Reset current HEAD to the specified state"
-msgstr "Réinitialiser la HEAD courante à l'état spécifié"
+#: command-list.h:197
+msgid "A Git Glossary"
+msgstr "Un glossaire Git"
 
-#: common-cmds.h:34
-msgid "Remove files from the working tree and from the index"
-msgstr "Supprimer des fichiers de la copie de travail et de l'index"
+#: command-list.h:198
+msgid "Hooks used by Git"
+msgstr "Crochets utilisés par Git"
 
-#: common-cmds.h:35
-msgid "Show various types of objects"
-msgstr "Afficher différents types d'objets"
+#: command-list.h:199
+msgid "Specifies intentionally untracked files to ignore"
+msgstr "Spécifie les fichiers non-suivis à ignorer intentionnellement"
 
-#: common-cmds.h:36
-msgid "Show the working tree status"
-msgstr "Afficher l'état de la copie de travail"
+#: command-list.h:200
+msgid "Defining submodule properties"
+msgstr "Définition des propriétés de sous-module"
 
-#: common-cmds.h:37
-msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr ""
-"Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG"
+#: command-list.h:201
+msgid "Git namespaces"
+msgstr "Espaces de nom de Git"
 
-#: parse-options.h:145
-msgid "expiry-date"
-msgstr "date-d'expiration"
+#: command-list.h:202
+msgid "Git Repository Layout"
+msgstr "Disposition d'un dépôt Git"
 
-#: parse-options.h:160
-msgid "no-op (backward compatibility)"
-msgstr "sans action (rétrocompatibilité)"
+#: command-list.h:203
+msgid "Specifying revisions and ranges for Git"
+msgstr "Spécification des révisions et portées pour Git"
 
-#: parse-options.h:238
-msgid "be more verbose"
-msgstr "être plus verbeux"
+#: command-list.h:204
+msgid "A tutorial introduction to Git: part two"
+msgstr "Une introduction pratique à Git : deuxième partie"
 
-#: parse-options.h:240
-msgid "be more quiet"
-msgstr "être plus silencieux"
+#: command-list.h:205
+msgid "A tutorial introduction to Git"
+msgstr "Une introduction pratique à Git"
 
-#: parse-options.h:246
-msgid "use <n> digits to display SHA-1s"
-msgstr "utiliser <n> chiffres pour afficher les SHA-1s"
+#: command-list.h:206
+msgid "An overview of recommended workflows with Git"
+msgstr "Un aperçu des flux de travail recommandés avec Git"
 
 #: rerere.h:40
 msgid "update the index with reused conflict resolution if possible"
@@ -14525,27 +16507,27 @@ msgstr "Mauvaise HEAD - référence symbolique douteuse"
 msgid "Bad bisect_write argument: $state"
 msgstr "Mauvais argument pour bisect_write : $state"
 
-#: git-bisect.sh:262
+#: git-bisect.sh:246
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr "Mauvaise révision en entrée : $arg"
 
-#: git-bisect.sh:281
+#: git-bisect.sh:265
 #, sh-format
 msgid "Bad rev input: $bisected_head"
 msgstr "Mauvaise révision en entrée : $bisected_head"
 
-#: git-bisect.sh:290
+#: git-bisect.sh:274
 #, sh-format
 msgid "Bad rev input: $rev"
 msgstr "Mauvaise révision en entrée : $rev"
 
-#: git-bisect.sh:299
+#: git-bisect.sh:283
 #, sh-format
 msgid "'git bisect $TERM_BAD' can take only one argument."
 msgstr "'git bisect $TERM_BAD' n'accepte qu'un seul argument."
 
-#: git-bisect.sh:322
+#: git-bisect.sh:306
 #, sh-format
 msgid "Warning: bisecting only with a $TERM_BAD commit."
 msgstr "Attention : bissection avec seulement une validation $TERM_BAD."
@@ -14553,11 +16535,11 @@ msgstr "Attention : bissection avec seulement une validation $TERM_BAD."
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:328
+#: git-bisect.sh:312
 msgid "Are you sure [Y/n]? "
 msgstr "Confirmez-vous [Y/n] ? "
 
-#: git-bisect.sh:340
+#: git-bisect.sh:324
 #, sh-format
 msgid ""
 "You need to give me at least one $bad_syn and one $good_syn revision.\n"
@@ -14568,7 +16550,7 @@ msgstr ""
 "(Vous pouvez utiliser \"git bisect $bad_syn\" et \"git bisect $good_syn\" "
 "pour cela.)"
 
-#: git-bisect.sh:343
+#: git-bisect.sh:327
 #, sh-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -14581,16 +16563,16 @@ msgstr ""
 "(Vous pouvez utiliser \"git bisect $bad_syn\" et \"git bisect $good_syn\" "
 "pour cela.)"
 
-#: git-bisect.sh:414 git-bisect.sh:546
+#: git-bisect.sh:398 git-bisect.sh:512
 msgid "We are not bisecting."
 msgstr "Pas de bissection en cours."
 
-#: git-bisect.sh:421
+#: git-bisect.sh:405
 #, sh-format
 msgid "'$invalid' is not a valid commit"
 msgstr "'$invalid' n'est pas une validation valide"
 
-#: git-bisect.sh:430
+#: git-bisect.sh:414
 #, sh-format
 msgid ""
 "Could not check out original HEAD '$branch'.\n"
@@ -14599,25 +16581,29 @@ msgstr ""
 "Échec d'extraction de la HEAD d'origine '$branch'.\n"
 "Essayez 'git bisect reset <commit>'."
 
-#: git-bisect.sh:458
+#: git-bisect.sh:422
 msgid "No logfile given"
 msgstr "Pas de fichier de log donné"
 
-#: git-bisect.sh:459
+#: git-bisect.sh:423
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr "impossible de lire $file pour rejouer"
 
-#: git-bisect.sh:480
+#: git-bisect.sh:444
 msgid "?? what are you talking about?"
 msgstr "?? de quoi parlez-vous ?"
 
-#: git-bisect.sh:492
+#: git-bisect.sh:453
+msgid "bisect run failed: no command provided."
+msgstr "la bissection a échoué : aucune commande fournie."
+
+#: git-bisect.sh:458
 #, sh-format
 msgid "running $command"
 msgstr "lancement de $command"
 
-#: git-bisect.sh:499
+#: git-bisect.sh:465
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -14626,11 +16612,11 @@ msgstr ""
 "la bissection a échoué :\n"
 "le code retour $res de '$command' est < 0 ou >= 128"
 
-#: git-bisect.sh:525
+#: git-bisect.sh:491
 msgid "bisect run cannot continue any more"
 msgstr "la bissection ne peut plus continuer"
 
-#: git-bisect.sh:531
+#: git-bisect.sh:497
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -14639,41 +16625,22 @@ msgstr ""
 "la bissection a échoué :\n"
 "'bisect_state $state' a retourné le code erreur $res"
 
-#: git-bisect.sh:538
+#: git-bisect.sh:504
 msgid "bisect run success"
 msgstr "succès de la bissection"
 
-#: git-bisect.sh:565
-msgid "please use two different terms"
-msgstr "veuillez utiliser deux termes différents"
-
-#: git-bisect.sh:575
-#, sh-format
-msgid "'$term' is not a valid term"
-msgstr "'$term' n'est pas un terme valide"
-
-#: git-bisect.sh:578
-#, sh-format
-msgid "can't use the builtin command '$term' as a term"
-msgstr "impossible d'utiliser la commande incluse '$term' comme terme"
-
-#: git-bisect.sh:587 git-bisect.sh:593
-#, sh-format
-msgid "can't change the meaning of term '$term'"
-msgstr "impossible de modifier la signification du terme '$term'"
-
-#: git-bisect.sh:606
+#: git-bisect.sh:533
 #, sh-format
 msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
 msgstr ""
 "Commande invalide : vous êtes actuellement dans une bissection $TERM_BAD/"
 "$TERM_GOOD."
 
-#: git-bisect.sh:636
+#: git-bisect.sh:567
 msgid "no terms defined"
 msgstr "aucun terme défini"
 
-#: git-bisect.sh:653
+#: git-bisect.sh:584
 #, sh-format
 msgid ""
 "invalid argument $arg for 'git bisect terms'.\n"
@@ -14706,7 +16673,7 @@ msgstr "Impossible de trouver un commit commun avec $pretty_name"
 
 #: git-merge-octopus.sh:77
 #, sh-format
-msgid "Already up-to-date with $pretty_name"
+msgid "Already up to date with $pretty_name"
 msgstr "Déjà à jour avec $pretty_name"
 
 #: git-merge-octopus.sh:89
@@ -14723,55 +16690,57 @@ 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-rebase.sh:58
+#: git-rebase.sh:61
 msgid ""
-"When you have resolved this problem, run \"git rebase --continue\".\n"
-"If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
-"To check out the original branch and stop rebasing, run \"git rebase --abort"
-"\"."
+"Resolve all conflicts manually, mark them as resolved with\n"
+"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
+"You can instead skip this commit: run \"git rebase --skip\".\n"
+"To abort and get back to the state before \"git rebase\", run \"git rebase --"
+"abort\"."
 msgstr ""
-"Lorsque vous aurez résolu ce problème, lancez \"git rebase --continue\".\n"
-"Si vous préférez sauter ce patch, lancez \"git rebase --skip\" à la place.\n"
-"Pour extraire la branche d'origine et stopper le rebasage, lancez \"git "
-"rebase --abort\"."
+"Résolvez tous les conflits manuellement, marquez-les comme résolus avec\n"
+"\"git add/rm <fichier en conflit>\", puis lancez \"git rebase --continue\".\n"
+"Si vous préférez sauter ce commit, lancez \"git rebase --skip\". Pour "
+"arrêter\n"
+"et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
 
-#: git-rebase.sh:158 git-rebase.sh:397
+#: git-rebase.sh:173 git-rebase.sh:442
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Impossible de revenir à $head_name"
 
-#: git-rebase.sh:169
+#: git-rebase.sh:184
 msgid "Applied autostash."
 msgstr "Autoremisage appliqué."
 
-#: git-rebase.sh:172
+#: git-rebase.sh:187
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Impossible de stocker $stash_sha1"
 
-#: git-rebase.sh:212
+#: git-rebase.sh:229
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: git-rebase.sh:217
-msgid "It looks like git-am is in progress. Cannot rebase."
-msgstr "Il semble que git-am soit en cours. Impossible de rebaser."
+#: git-rebase.sh:234
+msgid "It looks like 'git am' is in progress. Cannot rebase."
+msgstr "Il semble que 'git-am' soit en cours. Impossible de rebaser."
 
-#: git-rebase.sh:358
+#: git-rebase.sh:403
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: git-rebase.sh:369
+#: git-rebase.sh:414
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "L'action --edit-todo peut seulement être utilisée lors d'un rebasage "
 "interactif."
 
-#: git-rebase.sh:376
+#: git-rebase.sh:421
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: git-rebase.sh:379
+#: git-rebase.sh:424
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -14779,7 +16748,7 @@ msgstr ""
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: git-rebase.sh:419
+#: git-rebase.sh:468
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -14801,254 +16770,255 @@ msgstr ""
 "chose\n"
 "d'important ici."
 
-#: git-rebase.sh:470
+#: git-rebase.sh:509
+msgid "error: cannot combine '--signoff' with '--preserve-merges'"
+msgstr "erreur : '--signoff' et '--preserve-merges' sont incompatibles"
+
+#: git-rebase.sh:537
 #, sh-format
-msgid "invalid upstream $upstream_name"
-msgstr "invalide $upstream_name en amont"
+msgid "invalid upstream '$upstream_name'"
+msgstr "invalide '$upstream_name' en amont"
 
-#: git-rebase.sh:494
+#: git-rebase.sh:561
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name : il y a plus d'une base de fusion"
 
-#: git-rebase.sh:497 git-rebase.sh:501
+#: git-rebase.sh:564 git-rebase.sh:568
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name : il n'y a pas de base de fusion"
 
-#: git-rebase.sh:506
+#: git-rebase.sh:573
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Ne pointe pas sur une validation valide : $onto_name"
 
-#: git-rebase.sh:529
+#: git-rebase.sh:599
 #, sh-format
-msgid "fatal: no such branch: $branch_name"
-msgstr "fatal : pas de branche : $branch_name"
+msgid "fatal: no such branch/commit '$branch_name'"
+msgstr "fatal : pas de branche ou commit '$branch_name'"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:632
 msgid "Cannot autostash"
 msgstr "Autoremisage impossible"
 
-#: git-rebase.sh:567
+#: git-rebase.sh:637
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Autoremisage créé : $stash_abbrev"
 
-#: git-rebase.sh:571
+#: git-rebase.sh:641
 msgid "Please commit or stash them."
 msgstr "Veuillez les valider ou les remiser."
 
-#: git-rebase.sh:591
+#: git-rebase.sh:664
+#, sh-format
+msgid "HEAD is up to date."
+msgstr "HEAD est à jour."
+
+#: git-rebase.sh:666
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "La branche courante $branch_name est à jour."
 
-#: git-rebase.sh:595
+#: git-rebase.sh:674
+#, sh-format
+msgid "HEAD is up to date, rebase forced."
+msgstr "HEAD est à jour, rebasage forcé."
+
+#: git-rebase.sh:676
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "La branche courante $branch_name est à jour, rebasage forcé."
 
-#: git-rebase.sh:606
+#: git-rebase.sh:688
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Changements de $mb sur $onto :"
 
-#: git-rebase.sh:615
+#: git-rebase.sh:697
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
-"Premièrement, rembobinons head pour rejouer votre travail par-dessus..."
+"Rembobinage préalable de head pour pouvoir rejouer votre travail par-"
+"dessus..."
 
-#: git-rebase.sh:625
+#: git-rebase.sh:707
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name mise à jour en avance rapide sur $onto_name."
 
-#: git-stash.sh:54
+#: git-stash.sh:61
 msgid "git stash clear with parameters is unimplemented"
 msgstr "git stash clear avec des paramètres n'est pas implémenté"
 
-#: git-stash.sh:95
+#: git-stash.sh:108
 msgid "You do not have the initial commit yet"
 msgstr "Vous n'avez pas encore la validation initiale"
 
-#: git-stash.sh:110
+#: git-stash.sh:123
 msgid "Cannot save the current index state"
 msgstr "Impossible de sauver l'état courant de l'index"
 
-#: git-stash.sh:125
+#: git-stash.sh:138
 msgid "Cannot save the untracked files"
 msgstr "Impossible de sauver les fichiers non-suivis"
 
-#: git-stash.sh:145 git-stash.sh:158
+#: git-stash.sh:158 git-stash.sh:171
 msgid "Cannot save the current worktree state"
 msgstr "Impossible de sauver l'état courant de la copie de travail"
 
-#: git-stash.sh:162
+#: git-stash.sh:175
 msgid "No changes selected"
 msgstr "Aucun changement sélectionné"
 
-#: git-stash.sh:165
+#: git-stash.sh:178
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Impossible de supprimer l'index temporaire (ne peut pas se produire)"
 
-#: git-stash.sh:178
+#: git-stash.sh:191
 msgid "Cannot record working tree state"
 msgstr "Impossible d'enregistrer l'état de la copie de travail"
 
-#: git-stash.sh:210
+#: git-stash.sh:229
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Impossible de mettre à jour $ref_stash avec $w_commit"
 
-#. TRANSLATORS: $option is an invalid option, like
-#. `--blah-blah'. The 7 spaces at the beginning of the
-#. second line correspond to "error: ". So you should line
-#. up the second line with however many characters the
-#. translation of "error: " takes in your language. E.g. in
-#. English this is:
-#.
-#. $ git stash save --blah-blah 2>&1 | head -n 2
-#. error: unknown option for 'stash save': --blah-blah
-#. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:266
+#: git-stash.sh:281
 #, sh-format
-msgid ""
-"error: unknown option for 'stash save': $option\n"
-"       To provide a message, use git stash save -- '$option'"
-msgstr ""
-"erreur: option inconnue pour 'stash save': $option\n"
-"        Pour fournir un message, utilisez git stash save -- '$option'"
+msgid "error: unknown option for 'stash push': $option"
+msgstr "erreur : option inconnue pour 'stash push' : $option"
 
-#: git-stash.sh:281
+#: git-stash.sh:295
 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:289
+#: git-stash.sh:303
 msgid "No local changes to save"
 msgstr "Pas de modifications locales à sauver"
 
-#: git-stash.sh:294
+#: git-stash.sh:308
 msgid "Cannot initialize stash"
 msgstr "Impossible d'initialiser le remisage"
 
-#: git-stash.sh:298
+#: git-stash.sh:312
 msgid "Cannot save the current status"
 msgstr "Impossible de sauver l'état courant"
 
-#: git-stash.sh:299
+#: git-stash.sh:313
 #, 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:326
+#: git-stash.sh:342
 msgid "Cannot remove worktree changes"
 msgstr "Impossible de supprimer les changements de la copie de travail"
 
-#: git-stash.sh:474
+#: git-stash.sh:490
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "option inconnue : $opt"
 
-#: git-stash.sh:487
+#: git-stash.sh:503
 msgid "No stash entries found."
 msgstr "Aucune entrée de remisage trouvée."
 
-#: git-stash.sh:494
+#: git-stash.sh:510
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Trop de révisions spécifiées : $REV"
 
-#: git-stash.sh:509
+#: git-stash.sh:525
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference n'est pas une référence valide"
 
-#: git-stash.sh:537
+#: git-stash.sh:553
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' n'est pas une validation de type remisage"
 
-#: git-stash.sh:548
+#: git-stash.sh:564
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' n'est pas une référence de remisage"
 
-#: git-stash.sh:556
+#: git-stash.sh:572
 msgid "unable to refresh index"
 msgstr "impossible de rafraîchir l'index"
 
-#: git-stash.sh:560
+#: git-stash.sh:576
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Impossible d'appliquer un remisage en cours de fusion"
 
-#: git-stash.sh:568
+#: git-stash.sh:584
 msgid "Conflicts in index. Try without --index."
 msgstr "Conflits dans l'index. Essayez sans --index."
 
-#: git-stash.sh:570
+#: git-stash.sh:586
 msgid "Could not save index tree"
 msgstr "Impossible de sauvegarder l'arbre d'index"
 
-#: git-stash.sh:579
+#: git-stash.sh:595
 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:604
+#: git-stash.sh:620
 msgid "Cannot unstage modified files"
 msgstr "Impossible de désindexer les fichiers modifiés"
 
-#: git-stash.sh:619
+#: git-stash.sh:635
 msgid "Index was not unstashed."
 msgstr "L'index n'a pas été sorti de remise."
 
-#: git-stash.sh:633
+#: git-stash.sh:649
 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:642
+#: git-stash.sh:658
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "${REV} supprimé ($s)"
 
-#: git-stash.sh:643
+#: git-stash.sh:659
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Impossible de supprimer l'élément de stash"
 
-#: git-stash.sh:651
+#: git-stash.sh:667
 msgid "No branch name specified"
 msgstr "Aucune branche spécifiée"
 
-#: git-stash.sh:730
+#: git-stash.sh:746
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
-#: git-submodule.sh:181
+#: git-submodule.sh:188
 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:191
+#: git-submodule.sh:198
 #, 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:210
+#: git-submodule.sh:217
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: git-submodule.sh:213
+#: git-submodule.sh:220
 #, 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:219
+#: git-submodule.sh:226
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -15059,24 +17029,24 @@ msgstr ""
 "$sm_path\n"
 "Utilisez -f si vous voulez vraiment l'ajouter."
 
-#: git-submodule.sh:237
+#: git-submodule.sh:249
 #, 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:239
+#: git-submodule.sh:251
 #, 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:247
+#: git-submodule.sh:259
 #, 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:249
+#: git-submodule.sh:261
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -15093,103 +17063,49 @@ msgstr ""
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:255
+#: git-submodule.sh:267
 #, 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:267
+#: git-submodule.sh:279
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:272
+#: git-submodule.sh:284
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:281
+#: git-submodule.sh:293
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:342
+#: git-submodule.sh:354
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Entrée dans '$displaypath'"
 
-#: git-submodule.sh:362
+#: git-submodule.sh:374
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Arrêt sur '$displaypath' ; le script a retourné un état non nul."
 
-#: git-submodule.sh:433
-#, sh-format
-msgid "pathspec and --all are incompatible"
-msgstr "un spécificateur de chemin et --all sont incompatibles"
-
-#: git-submodule.sh:438
-#, sh-format
-msgid "Use '--all' if you really want to deinitialize all submodules"
-msgstr ""
-"Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
-
-#: git-submodule.sh:458
-#, sh-format
-msgid ""
-"Submodule work tree '$displaypath' contains a .git directory\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"La copie de travail du sous-module '$displaypath' contient un répertoire ."
-"git\n"
-"(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
-"historique)"
-
-#: git-submodule.sh:466
-#, sh-format
-msgid ""
-"Submodule work tree '$displaypath' contains local modifications; use '-f' to "
-"discard them"
-msgstr ""
-"La copie de travail du sous-module '$displaypath' contient des modifications "
-"locales ; utilisez '-f' pour les annuler"
-
-#: git-submodule.sh:469
-#, sh-format
-msgid "Cleared directory '$displaypath'"
-msgstr "Répertoire '$displaypath' nettoyé"
-
-#: git-submodule.sh:470
-#, sh-format
-msgid "Could not remove submodule work tree '$displaypath'"
-msgstr ""
-"Impossible de supprimer la copie de travail du sous-module '$displaypath'"
-
-#: git-submodule.sh:473
-#, sh-format
-msgid "Could not create empty submodule directory '$displaypath'"
-msgstr "Impossible de créer le répertoire vide du sous-module '$displaypath'"
-
-#: git-submodule.sh:482
-#, sh-format
-msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
-msgstr ""
-"Le sous-module '$name' ($url) n'est pas enregistré pour le chemin "
-"'$displaypath'"
-
-#: git-submodule.sh:638
+#: git-submodule.sh:600
 #, 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:648
+#: git-submodule.sh:610
 #, 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:653
+#: git-submodule.sh:615
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -15198,12 +17114,12 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:671
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:677
+#: git-submodule.sh:639
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -15212,129 +17128,132 @@ 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:684
+#: git-submodule.sh:646
 #, 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:685
+#: git-submodule.sh:647
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:689
+#: git-submodule.sh:651
 #, 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:690
+#: git-submodule.sh:652
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:695
+#: git-submodule.sh:657
 #, 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:696
+#: git-submodule.sh:658
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:701
+#: git-submodule.sh:663
 #, 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:702
+#: git-submodule.sh:664
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:733
+#: git-submodule.sh:695
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:841
+#: git-submodule.sh:791
 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:893
+#: git-submodule.sh:843
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:913
+#: git-submodule.sh:863
 #, 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:916
+#: git-submodule.sh:866
 #, 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:919
+#: git-submodule.sh:869
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Attention : $display_name ne contient pas les validations $sha1_src et "
 "$sha1_dst"
 
-#: git-submodule.sh:1065
-#, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr "Échec de parcours dans le chemin du sous-module '$sm_path'"
-
-#: git-submodule.sh:1137
-#, sh-format
-msgid "Synchronizing submodule url for '$displaypath'"
-msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
-
 #: git-parse-remote.sh:89
 #, sh-format
 msgid "See git-${cmd}(1) for details."
 msgstr "Référez-vous à git-${cmd}(1) pour de plus amples détails."
 
-#: git-rebase--interactive.sh:140
+#: git-rebase--interactive.sh:142
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Rebasage ($new_count/$total)"
 
-#: git-rebase--interactive.sh:156
+#: git-rebase--interactive.sh:158
 msgid ""
 "\n"
 "Commands:\n"
-" p, pick = use commit\n"
-" r, reword = use commit, but edit the commit message\n"
-" e, edit = use commit, but stop for amending\n"
-" s, squash = use commit, but meld into previous commit\n"
-" f, fixup = like \"squash\", but discard this commit's log message\n"
-" x, exec = run command (the rest of the line) using shell\n"
-" d, drop = remove commit\n"
+"p, pick <commit> = use commit\n"
+"r, reword <commit> = use commit, but edit the commit message\n"
+"e, edit <commit> = use commit, but stop for amending\n"
+"s, squash <commit> = use commit, but meld into previous commit\n"
+"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"x, exec <command> = run command (the rest of the line) using shell\n"
+"d, drop <commit> = remove commit\n"
+"l, label <label> = label current HEAD with a name\n"
+"t, reset <label> = reset HEAD to a label\n"
+"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+".       create a merge commit using the original merge commit's\n"
+".       message (or the oneline, if no original merge commit was\n"
+".       specified). Use -c <commit> to reword the commit message.\n"
 "\n"
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
 "\n"
 "Commandes :\n"
-" p, pick = picorer le commit\n"
-" r, reword = picorer le commit, mais reformuler son message\n"
-" e, edit = picorer le commit, mais s'arrêter pour le modifier\n"
-" s, squash = prendre le commit, mais le fusionner avec le précédent\n"
-" f, fixup = comme \"squash\", mais en éliminant son message\n"
-" x, exec = lancer la commande (reste de la ligne) dans un shell\n"
-" d, drop = supprimer le commit\n"
+" p, pick <commit> = utiliser le commit\n"
+" r, reword <commit> = utiliser le commit, mais reformuler son message\n"
+" e, edit <commit> = utiliser le commit, mais s'arrêter pour le modifier\n"
+" s, squash <commit> = utiliser le commit, mais le fusionner avec le "
+"précédent\n"
+" f, fixup <commit> = comme \"squash\", mais en éliminant son message\n"
+" x, exec <commit> = lancer la commande (reste de la ligne) dans un shell\n"
+" d, drop <commit> = supprimer le commit\n"
+" l, label <label> = étiqueter la HEAD courante avec un nom\n"
+" t, reset <label> = réinitialiser HEAD à label\n"
+" m, merge [-C <commit> | -c <commit>] <label> [# <uniligne>]\n"
+"         créer un commit de fusion utilisant le message de fusion original\n"
+"         (ou l'uniligne, si aucun commit de fusion n'a été spécifié).\n"
+"         Utilisez -c <commit> pour reformuler le message de validation.\n"
 "\n"
 "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
 
-#: git-rebase--interactive.sh:171
+#: git-rebase--interactive.sh:179
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -15343,7 +17262,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: git-rebase--interactive.sh:175
+#: git-rebase--interactive.sh:183
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -15351,7 +17270,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: git-rebase--interactive.sh:211
+#: git-rebase--interactive.sh:221
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -15370,83 +17289,83 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:236
+#: git-rebase--interactive.sh:246
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1 n'est pas un commit qui peut être picorer"
 
-#: git-rebase--interactive.sh:275
+#: git-rebase--interactive.sh:285
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Nom de commit invalide : $sha1"
 
-#: git-rebase--interactive.sh:317
+#: git-rebase--interactive.sh:325
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Impossible de sauver le sha1 du remplaçant du commit en cours"
 
-#: git-rebase--interactive.sh:369
+#: git-rebase--interactive.sh:376
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Avance rapide sur $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:378
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Avance rapide impossible sur $sha1"
 
-#: git-rebase--interactive.sh:380
+#: git-rebase--interactive.sh:387
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Impossible de déplacer HEAD sur $first_parent"
 
-#: git-rebase--interactive.sh:385
+#: git-rebase--interactive.sh:392
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Refus d'écraser un commit de fusion: $sha1"
 
-#: git-rebase--interactive.sh:399
+#: git-rebase--interactive.sh:410
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Erreur lors de la réapplication de la fusion $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:419
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Impossible de picorer $sha1"
 
-#: git-rebase--interactive.sh:416
+#: git-rebase--interactive.sh:428
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Ceci est le ${n}ième message de validation :"
 
-#: git-rebase--interactive.sh:421
+#: git-rebase--interactive.sh:433
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Le message de validation ${n} sera ignoré :"
 
-#: git-rebase--interactive.sh:432
+#: git-rebase--interactive.sh:444
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Ceci est la combinaison de $count commit."
 msgstr[1] "Ceci est la combinaison de $count commits."
 
-#: git-rebase--interactive.sh:441
+#: git-rebase--interactive.sh:453
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Impossible d'écrire $fixup_msg"
 
-#: git-rebase--interactive.sh:444
+#: git-rebase--interactive.sh:456
 msgid "This is a combination of 2 commits."
 msgstr "Ceci est la combinaison de 2 commits."
 
-#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
-#: git-rebase--interactive.sh:531
+#: git-rebase--interactive.sh:497 git-rebase--interactive.sh:540
+#: git-rebase--interactive.sh:543
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Impossible d'appliquer $sha1... $rest"
 
-#: git-rebase--interactive.sh:559
+#: git-rebase--interactive.sh:572
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -15463,31 +17382,31 @@ msgstr ""
 "le\n"
 "problème avant de pouvoir reformuler le message du commit."
 
-#: git-rebase--interactive.sh:574
+#: git-rebase--interactive.sh:587
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Arrêté à $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:589
+#: git-rebase--interactive.sh:602
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "'$squash_style' impossible avec le commit précédent"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:644
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Exécution : $rest"
 
-#: git-rebase--interactive.sh:639
+#: git-rebase--interactive.sh:652
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "L'exécution a échoué : $rest"
 
-#: git-rebase--interactive.sh:641
+#: git-rebase--interactive.sh:654
 msgid "and made changes to the index and/or the working tree"
 msgstr "et a mis à jour l'index ou la copie de travail"
 
-#: git-rebase--interactive.sh:643
+#: git-rebase--interactive.sh:656
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -15498,7 +17417,7 @@ msgstr ""
 "git rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:656
+#: git-rebase--interactive.sh:669
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -15513,95 +17432,29 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:667
+#: git-rebase--interactive.sh:680
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Commande inconnue : $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:668
+#: git-rebase--interactive.sh:681
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: git-rebase--interactive.sh:703
+#: git-rebase--interactive.sh:716
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Rebasage et mise à jour de $head_name avec succès."
 
-#: git-rebase--interactive.sh:750
-msgid "Could not skip unnecessary pick commands"
-msgstr "Impossible d'éviter les commandes de picorage non nécessaires"
-
-#: git-rebase--interactive.sh:908
-#, sh-format
-msgid ""
-"Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
-" - $line"
-msgstr ""
-"Attention : le SHA-1 manque ou n'est pas un commit dans la ligne suivante :\n"
-" - $line"
-
-#: git-rebase--interactive.sh:941
-#, sh-format
-msgid ""
-"Warning: the command isn't recognized in the following line:\n"
-" - $line"
-msgstr ""
-"Attention : la commande n'est pas reconnue dans le ligne suivante :\n"
-" - $line"
-
-#: git-rebase--interactive.sh:980
+#: git-rebase--interactive.sh:740
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: git-rebase--interactive.sh:1018
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):"
-msgstr ""
-"Attention : certains commits ont pu être accidentellement supprimés.\n"
-"Commits supprimés (du plus jeune au plus vieux) :"
-
-#: git-rebase--interactive.sh:1026
-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."
-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."
-
-#: git-rebase--interactive.sh:1037
-#, sh-format
-msgid ""
-"Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
-"Ignoring."
-msgstr ""
-"Paramètre non reconnu $check_level pour l'option rebase.missingCommitsCheck. "
-"Ignoré."
-
-#: git-rebase--interactive.sh:1054
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'."
-msgstr ""
-"Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
-"rebase --continue'."
-
-#: git-rebase--interactive.sh:1055
-msgid "Or you can abort the rebase with 'git rebase --abort'."
-msgstr "Ou bien vous pouvez abandonner le rebasage avec 'git rebase --abort'."
-
-#: git-rebase--interactive.sh:1083
+#: git-rebase--interactive.sh:778
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1088
+#: git-rebase--interactive.sh:783
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -15632,12 +17485,12 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:800
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 "Erreur lors de la recherche de l'identité de l'auteur pour corriger le commit"
 
-#: git-rebase--interactive.sh:1110
+#: git-rebase--interactive.sh:805
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -15645,11 +17498,11 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: git-rebase--interactive.sh:1115 git-rebase--interactive.sh:1119
+#: git-rebase--interactive.sh:810 git-rebase--interactive.sh:814
 msgid "Could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: git-rebase--interactive.sh:1147
+#: git-rebase--interactive.sh:843
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -15664,53 +17517,59 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1155 git-rebase--interactive.sh:1313
+#: git-rebase--interactive.sh:851 git-rebase--interactive.sh:937
 msgid "Could not execute editor"
 msgstr "Impossible de lancer l'éditeur"
 
-#: git-rebase--interactive.sh:1168
+#: git-rebase--interactive.sh:872
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Impossible d'extraire $switch_to"
 
-#: git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:879
 msgid "No HEAD?"
 msgstr "Pas de HEAD ?"
 
-#: git-rebase--interactive.sh:1174
+#: git-rebase--interactive.sh:880
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Impossible de créer un répertoire temporaire $state_dir"
 
-#: git-rebase--interactive.sh:1176
+#: git-rebase--interactive.sh:883
 msgid "Could not mark as interactive"
 msgstr "Impossible de marquer comme interactif"
 
-#: git-rebase--interactive.sh:1186 git-rebase--interactive.sh:1191
-msgid "Could not init rewritten commits"
-msgstr "Impossible d'initialiser les commits réécrits"
-
-#: git-rebase--interactive.sh:1291
+#: git-rebase--interactive.sh:915
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
 msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
 
-#: git-rebase--interactive.sh:1296
+#: git-rebase--interactive.sh:920
 msgid ""
 "\n"
-"However, if you remove everything, the rebase will be aborted.\n"
+"\tHowever, if you remove everything, the rebase will be aborted.\n"
 "\n"
+"\t"
 msgstr ""
 "\n"
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
+"\t"
 
-#: git-rebase--interactive.sh:1303
+#: git-rebase--interactive.sh:927
 msgid "Note that empty commits are commented out"
 msgstr "Veuillez noter que les commits vides sont en commentaire"
 
+#: git-rebase--interactive.sh:980
+msgid "Could not generate todo list"
+msgstr "Impossible de générer la liste à-faire"
+
+#: git-rebase--interactive.sh:1001 git-rebase--interactive.sh:1006
+msgid "Could not init rewritten commits"
+msgstr "Impossible d'initialiser les commits réécrits"
+
 #: git-sh-setup.sh:89 git-sh-setup.sh:94
 #, sh-format
 msgid "usage: $dashless $USAGE"
@@ -15792,68 +17651,68 @@ msgstr "indexé"
 msgid "unstaged"
 msgstr "non-indexé"
 
-#: git-add--interactive.perl:246 git-add--interactive.perl:271
+#: git-add--interactive.perl:253 git-add--interactive.perl:278
 msgid "binary"
 msgstr "binaire"
 
-#: git-add--interactive.perl:255 git-add--interactive.perl:309
+#: git-add--interactive.perl:262 git-add--interactive.perl:316
 msgid "nothing"
 msgstr "rien"
 
-#: git-add--interactive.perl:291 git-add--interactive.perl:306
+#: git-add--interactive.perl:298 git-add--interactive.perl:313
 msgid "unchanged"
 msgstr "inchangé"
 
-#: git-add--interactive.perl:602
+#: git-add--interactive.perl:609
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "%d chemin ajouté\n"
 msgstr[1] "%d chemins ajoutés\n"
 
-#: git-add--interactive.perl:605
+#: git-add--interactive.perl:612
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "%d chemin mis à jour\n"
 msgstr[1] "%d chemins mis à jour\n"
 
-#: git-add--interactive.perl:608
+#: git-add--interactive.perl:615
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "%d chemin inversé\n"
 msgstr[1] "%d chemins inversés\n"
 
-#: git-add--interactive.perl:611
+#: git-add--interactive.perl:618
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "%d chemin touché\n"
 msgstr[1] "%d chemins touchés\n"
 
-#: git-add--interactive.perl:620
+#: git-add--interactive.perl:627
 msgid "Update"
 msgstr "Mise à jour"
 
-#: git-add--interactive.perl:632
+#: git-add--interactive.perl:639
 msgid "Revert"
 msgstr "Inverser"
 
-#: git-add--interactive.perl:655
+#: git-add--interactive.perl:662
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "note : %s n'est plus suivi à présent.\n"
 
-#: git-add--interactive.perl:666
+#: git-add--interactive.perl:673
 msgid "Add untracked"
 msgstr "Ajouter un fichier non-suivi"
 
-#: git-add--interactive.perl:672
+#: git-add--interactive.perl:679
 msgid "No untracked files.\n"
 msgstr "Aucun Fichier non suivi.\n"
 
-#: git-add--interactive.perl:985
+#: git-add--interactive.perl:1033
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
@@ -15861,7 +17720,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme indexée."
 
-#: git-add--interactive.perl:988
+#: git-add--interactive.perl:1036
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
@@ -15869,7 +17728,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme remisée."
 
-#: git-add--interactive.perl:991
+#: git-add--interactive.perl:1039
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
@@ -15877,7 +17736,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme desindexée."
 
-#: git-add--interactive.perl:994 git-add--interactive.perl:1003
+#: git-add--interactive.perl:1042 git-add--interactive.perl:1051
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
@@ -15885,7 +17744,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme appliquée."
 
-#: git-add--interactive.perl:997 git-add--interactive.perl:1000
+#: git-add--interactive.perl:1045 git-add--interactive.perl:1048
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
@@ -15893,17 +17752,17 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme éliminée."
 
-#: git-add--interactive.perl:1013
+#: git-add--interactive.perl:1085
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "impossible d'ouvrir le fichier d'édition de section en écriture : %s"
 
-#: git-add--interactive.perl:1014
+#: git-add--interactive.perl:1086
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr ""
 "Mode d'édition manuelle de section -- voir ci-dessous pour un guide rapide.\n"
 
-#: git-add--interactive.perl:1020
+#: git-add--interactive.perl:1092
 #, perl-format
 msgid ""
 "---\n"
@@ -15917,7 +17776,7 @@ msgstr ""
 "Les lignes commençant par %s seront éliminées.\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1028
+#: git-add--interactive.perl:1100
 msgid ""
 "If it does not apply cleanly, you will be given an opportunity to\n"
 "edit again.  If all lines of the hunk are removed, then the edit is\n"
@@ -15927,7 +17786,7 @@ msgstr ""
 "l'éditer à nouveau. Si toutes les lignes de la section sont supprimées,\n"
 "alors l'édition sera abandonnée et la section conservée.\n"
 
-#: git-add--interactive.perl:1042
+#: git-add--interactive.perl:1114
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s"
@@ -15938,14 +17797,14 @@ msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: git-add--interactive.perl:1134
+#: git-add--interactive.perl:1213
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 "Votre section éditée ne s'applique pas. L'éditer à nouveau (\"no\" "
 "l'élimine !) [y|n] ? "
 
-#: git-add--interactive.perl:1143
+#: git-add--interactive.perl:1222
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -15959,7 +17818,7 @@ msgstr ""
 "a - indexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas indexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1149
+#: git-add--interactive.perl:1228
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -15973,7 +17832,7 @@ msgstr ""
 "a - remiser cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas remiser cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1155
+#: git-add--interactive.perl:1234
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -15987,7 +17846,7 @@ msgstr ""
 "a - désindexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas désindexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1161
+#: git-add--interactive.perl:1240
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -16001,7 +17860,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1167
+#: git-add--interactive.perl:1246
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -16015,7 +17874,7 @@ msgstr ""
 "a - supprimer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas supprimer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1173
+#: git-add--interactive.perl:1252
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -16029,7 +17888,7 @@ msgstr ""
 "a - éliminer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas éliminer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1179
+#: git-add--interactive.perl:1258
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -16043,7 +17902,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1188
+#: git-add--interactive.perl:1273
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -16065,203 +17924,218 @@ msgstr ""
 "e - éditer manuellement la section actuelle\n"
 "? - afficher l'aide\n"
 
-#: git-add--interactive.perl:1219
+#: git-add--interactive.perl:1304
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "Les sections sélectionnées ne s'applique pas à l'index !\n"
 
-#: git-add--interactive.perl:1220
+#: git-add--interactive.perl:1305
 msgid "Apply them to the worktree anyway? "
 msgstr "Les appliquer quand même à l'arbre de travail ? "
 
-#: git-add--interactive.perl:1223
+#: git-add--interactive.perl:1308
 msgid "Nothing was applied.\n"
 msgstr "Rien n'a été appliqué.\n"
 
-#: git-add--interactive.perl:1234
+#: git-add--interactive.perl:1319
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "fichier non-fusionné ignoré : %s\n"
 
-#: git-add--interactive.perl:1243
+#: git-add--interactive.perl:1328
 msgid "Only binary files changed.\n"
 msgstr "Seuls des fichiers binaires ont changé.\n"
 
-#: git-add--interactive.perl:1245
+#: git-add--interactive.perl:1330
 msgid "No changes.\n"
 msgstr "Aucune modification.\n"
 
-#: git-add--interactive.perl:1253
+#: git-add--interactive.perl:1338
 msgid "Patch update"
 msgstr "Mise à jour par patch"
 
-#: git-add--interactive.perl:1305
+#: git-add--interactive.perl:1390
 #, perl-format
-msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
-msgstr "Indexer le changement de mode [y,n,q,a,d,/%s,?] ? "
+msgid "Stage mode change [y,n,q,a,d%s,?]? "
+msgstr "Indexer le changement de mode [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1306
+#: git-add--interactive.perl:1391
 #, perl-format
-msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
-msgstr "Indexer la suppression [y,n,q,a,d,/%s,?] ? "
+msgid "Stage deletion [y,n,q,a,d%s,?]? "
+msgstr "Indexer la suppression [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1307
+#: git-add--interactive.perl:1392
 #, perl-format
-msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
-msgstr "Indexer cette section [y,n,q,a,d,/%s,?] ? "
+msgid "Stage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Indexer cette section [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1310
+#: git-add--interactive.perl:1395
 #, perl-format
-msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
-msgstr "Remiser le changement de mode [y,n,q,a,d,/%s,?] ? "
+msgid "Stash mode change [y,n,q,a,d%s,?]? "
+msgstr "Remiser le changement de mode [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1311
+#: git-add--interactive.perl:1396
 #, perl-format
-msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
-msgstr "Remiser la suppression [y,n,q,a,d,/%s,?] ? "
+msgid "Stash deletion [y,n,q,a,d%s,?]? "
+msgstr "Remiser la suppression [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1312
+#: git-add--interactive.perl:1397
 #, perl-format
-msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
-msgstr "Remiser cette section [y,n,q,a,d,/%s,?] ? "
+msgid "Stash this hunk [y,n,q,a,d%s,?]? "
+msgstr "Remiser cette section [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1315
+#: git-add--interactive.perl:1400
 #, perl-format
-msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
-msgstr "Désindexer le changement de mode [y,n,q,a,d,/%s,?] ? "
+msgid "Unstage mode change [y,n,q,a,d%s,?]? "
+msgstr "Désindexer le changement de mode [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1316
+#: git-add--interactive.perl:1401
 #, perl-format
-msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
-msgstr "Désindexer la suppression [y,n,q,a,d,/%s,?] ? "
+msgid "Unstage deletion [y,n,q,a,d%s,?]? "
+msgstr "Désindexer la suppression [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1317
+#: git-add--interactive.perl:1402
 #, perl-format
-msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
-msgstr "Désindexer cette section [y,n,q,a,d,/%s,?] ? "
+msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Désindexer cette section [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1320
+#: git-add--interactive.perl:1405
 #, perl-format
-msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
-msgstr "Appliquer le changement de mode à l'index [y,n,q,a,d,/%s,?] ? "
+msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
+msgstr "Appliquer le changement de mode à l'index [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1321
+#: git-add--interactive.perl:1406
 #, perl-format
-msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
-msgstr "Appliquer la suppression à l'index [y,n,q,a,d,/%s,?] ? "
+msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
+msgstr "Appliquer la suppression à l'index [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1322
+#: git-add--interactive.perl:1407
 #, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
-msgstr "Appliquer cette section à l'index [y,n,q,a,d,/%s,?] ? "
+msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
+msgstr "Appliquer cette section à l'index [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1325
+#: git-add--interactive.perl:1410
 #, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
-msgstr "Abandonner le changement de mode dans l'arbre [y,n,q,a,d,/%s,?] ? "
+msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
+msgstr "Abandonner le changement de mode dans l'arbre [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1326
+#: git-add--interactive.perl:1411
 #, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
-msgstr "Abandonner la suppression dans l'arbre [y,n,q,a,d,/%s,?] ? "
+msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
+msgstr "Abandonner la suppression dans l'arbre [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1327
+#: git-add--interactive.perl:1412
 #, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
-msgstr "Abandonner cette section dans l'arbre [y,n,q,a,d,/%s,?] ? "
+msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
+msgstr "Abandonner cette section dans l'arbre [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1330
+#: git-add--interactive.perl:1415
 #, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
-"Abandonner le changement de mode dans l'index et l'arbre [y,n,q,a,d,/%s,?] ? "
+"Abandonner le changement de mode dans l'index et l'arbre [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1331
+#: git-add--interactive.perl:1416
 #, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
-msgstr ""
-"Abandonner la suppression de l'index et de l'arbre [y,n,q,a,d,/%s,?] ? "
+msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Abandonner la suppression de l'index et de l'arbre [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1332
+#: git-add--interactive.perl:1417
 #, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
-"Supprimer la section dans l'index et l'arbre de travail [y,n,q,a,d,/%s,?] ? "
+"Supprimer la section dans l'index et l'arbre de travail [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1335
+#: git-add--interactive.perl:1420
 #, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer le changement de mode dans l'index et l'arbre de travail [y,n,q,a,"
-"d,/%s,?] ? "
+"Appliquer le changement de mode dans l'index et l'arbre de travail [y,n,q,a,d"
+"%s,?] ? "
 
-#: git-add--interactive.perl:1336
+#: git-add--interactive.perl:1421
 #, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer la suppression dans l'index et l'arbre de travail [y,n,q,a,d,/"
+"Appliquer la suppression dans l'index et l'arbre de travail [y,n,q,a,d"
 "%s,?] ? "
 
-#: git-add--interactive.perl:1337
+#: git-add--interactive.perl:1422
 #, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer la section à l'index et l'arbre de travail [y,n,q,a,d,/%s,?] ? "
+"Appliquer la section à l'index et l'arbre de travail [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1440
+#: git-add--interactive.perl:1522
+msgid "No other hunks to goto\n"
+msgstr "Aucune autre section à atteindre\n"
+
+#: git-add--interactive.perl:1529
 msgid "go to which hunk (<ret> to see more)? "
 msgstr "aller à quelle section (<ret> pour voir plus) ? "
 
-#: git-add--interactive.perl:1442
+#: git-add--interactive.perl:1531
 msgid "go to which hunk? "
 msgstr "aller à quelle section ? "
 
-#: git-add--interactive.perl:1451
+#: git-add--interactive.perl:1540
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Nombre invalide : '%s'\n"
 
-#: git-add--interactive.perl:1456
+#: git-add--interactive.perl:1545
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "Désolé, %d seule section disponible.\n"
 msgstr[1] "Désolé, Seulement %d sections disponibles.\n"
 
-#: git-add--interactive.perl:1482
+#: git-add--interactive.perl:1571
+msgid "No other hunks to search\n"
+msgstr "aucune autre section à rechercher\n"
+
+#: git-add--interactive.perl:1575
 msgid "search for regex? "
 msgstr "rechercher la regex ? "
 
-#: git-add--interactive.perl:1495
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Regex de recherche malformée %s : %s\n"
 
-#: git-add--interactive.perl:1505
+#: git-add--interactive.perl:1598
 msgid "No hunk matches the given pattern\n"
 msgstr "Aucune section ne correspond au motif donné\n"
 
-#: git-add--interactive.perl:1517 git-add--interactive.perl:1539
+#: git-add--interactive.perl:1610 git-add--interactive.perl:1632
 msgid "No previous hunk\n"
 msgstr "Pas de section précédente\n"
 
-#: git-add--interactive.perl:1526 git-add--interactive.perl:1545
+#: git-add--interactive.perl:1619 git-add--interactive.perl:1638
 msgid "No next hunk\n"
 msgstr "Pas de section suivante\n"
 
-#: git-add--interactive.perl:1553
+#: git-add--interactive.perl:1644
+msgid "Sorry, cannot split this hunk\n"
+msgstr "Désolé, impossible de découper cette section\n"
+
+#: git-add--interactive.perl:1650
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "Découpée en %d section.\n"
 msgstr[1] "Découpée en %d sections.\n"
 
-#: git-add--interactive.perl:1605
+#: git-add--interactive.perl:1660
+msgid "Sorry, cannot edit this hunk\n"
+msgstr "Désolé, impossible d'éditer cette section\n"
+
+#: git-add--interactive.perl:1706
 msgid "Review diff"
 msgstr "Réviser la différence"
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1624
+#: git-add--interactive.perl:1725
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -16279,88 +18153,96 @@ msgstr ""
 "diff          - visualiser les diff entre HEAD et l'index\n"
 "add untracked - ajouter les fichiers non-suivis aux modifications à indexer\n"
 
-#: git-add--interactive.perl:1641 git-add--interactive.perl:1646
-#: git-add--interactive.perl:1649 git-add--interactive.perl:1656
-#: git-add--interactive.perl:1660 git-add--interactive.perl:1666
+#: git-add--interactive.perl:1742 git-add--interactive.perl:1747
+#: git-add--interactive.perl:1750 git-add--interactive.perl:1757
+#: git-add--interactive.perl:1761 git-add--interactive.perl:1767
 msgid "missing --"
 msgstr "-- manquant"
 
-#: git-add--interactive.perl:1662
+#: git-add--interactive.perl:1763
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "mode de --patch inconnu : %s"
 
-#: git-add--interactive.perl:1668 git-add--interactive.perl:1674
+#: git-add--interactive.perl:1769 git-add--interactive.perl:1775
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "argument invalide %s, -- attendu"
 
-#: git-send-email.perl:126
+#: git-send-email.perl:130
 msgid "local zone differs from GMT by a non-minute interval\n"
 msgstr ""
 "la zone locale diffère du GMT par un intervalle supérieur à une minute\n"
 
-#: git-send-email.perl:133 git-send-email.perl:139
+#: git-send-email.perl:137 git-send-email.perl:143
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "le décalage de temps local est plus grand ou égal à 24 heures\n"
 
-#: git-send-email.perl:208 git-send-email.perl:214
+#: git-send-email.perl:211 git-send-email.perl:217
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "l'éditeur est sorti en erreur, abandon total"
 
-#: git-send-email.perl:291
+#: git-send-email.perl:294
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr ""
 "'%s' contient une version intermédiaire du courriel que vous composiez.\n"
 
-#: git-send-email.perl:296
+#: git-send-email.perl:299
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' contient le courriel composé.\n"
 
-#: git-send-email.perl:314
+#: git-send-email.perl:317
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases est incompatible avec d'autres options\n"
 
-#: git-send-email.perl:379 git-send-email.perl:634
+#: git-send-email.perl:383 git-send-email.perl:638
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "Lancement de git format-patch impossible à l'extérieur d'un dépôt\n"
 
-#: git-send-email.perl:448
+#: git-send-email.perl:386
+msgid ""
+"`batch-size` and `relogin` must be specified together (via command-line or "
+"configuration option)\n"
+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:456
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Champ de --suppress-cc inconnu : '%s'\n"
 
-#: git-send-email.perl:477
+#: git-send-email.perl:485
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Paramètre de --confirm inconnu : '%s'\n"
 
-#: git-send-email.perl:509
+#: git-send-email.perl:513
 #, 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:511
+#: git-send-email.perl:515
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "attention : `:include:` n'est pas supporté : %s\n"
 
-#: git-send-email.perl:513
+#: git-send-email.perl:517
 #, 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:518
+#: git-send-email.perl:522
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "attention : ligne sendmail non reconnue : %s\n"
 
-#: git-send-email.perl:600
+#: git-send-email.perl:604
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -16375,12 +18257,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:621
+#: git-send-email.perl:625
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Échec à l'ouverture du répertoire %s : %s"
 
-#: git-send-email.perl:645
+#: git-send-email.perl:649
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -16389,7 +18271,7 @@ msgstr ""
 "fatal : %s : %s\n"
 "attention : aucun patch envoyé\n"
 
-#: git-send-email.perl:656
+#: git-send-email.perl:660
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -16399,17 +18281,17 @@ msgstr ""
 "Aucun fichier patch spécifié !\n"
 "\n"
 
-#: git-send-email.perl:669
+#: git-send-email.perl:673
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Ligne de sujet non trouvée dans %s ?"
 
-#: git-send-email.perl:679
+#: git-send-email.perl:683
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Impossible d'ouvrir %s en écriture : %s"
 
-#: git-send-email.perl:689
+#: git-send-email.perl:694
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -16423,32 +18305,27 @@ msgstr ""
 "\n"
 "Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
 
-#: git-send-email.perl:712
-#, perl-format
-msgid "Failed to open %s.final: %s"
-msgstr "Échec à l'ouverture de %s.final : %s"
-
-#: git-send-email.perl:715
+#: git-send-email.perl:718
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Échec à l'ouverture de %s : %s"
 
-#: git-send-email.perl:750
-msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
-msgstr ""
-"Les champs To/CC/Bcc ne sont pas encore interprétés, ils ont été ignorés\n"
+#: git-send-email.perl:735
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Échec à l'ouverture de %s.final : %s"
 
-#: git-send-email.perl:759
+#: git-send-email.perl:778
 msgid "Summary email is empty, skipping it\n"
 msgstr "Le courriel de résumé etant vide, il a été ignoré\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:791
+#: git-send-email.perl:813
 #, 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:820
+#: git-send-email.perl:868
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -16456,11 +18333,11 @@ msgstr ""
 "Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
 "Transfer-Encoding.\n"
 
-#: git-send-email.perl:825
+#: git-send-email.perl:873
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
 
-#: git-send-email.perl:833
+#: git-send-email.perl:881
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -16473,22 +18350,22 @@ msgstr ""
 "a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
 "vraiment envoyer.\n"
 
-#: git-send-email.perl:852
+#: git-send-email.perl:900
 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:870
+#: git-send-email.perl:918
 #, 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:882
+#: git-send-email.perl:930
 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:932 git-send-email.perl:940
+#: git-send-email.perl:988 git-send-email.perl:996
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
@@ -16496,16 +18373,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:944
+#: git-send-email.perl:1000
 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:1245
+#: git-send-email.perl:1317
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "le chemin vers la CA \"%s\" n'existe pas"
 
-#: git-send-email.perl:1320
+#: git-send-email.perl:1400
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -16529,137 +18406,287 @@ msgstr ""
 "   lancez 'git config --global sendemail.confirm auto'.\n"
 "\n"
 
-#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. 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:1335
-msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
-msgstr "Envoyer ce courriel ? ([y]es|[n]o|[q]uit|[a]ll) : "
+#: git-send-email.perl:1415
+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:1338
+#: git-send-email.perl:1418
 msgid "Send this email reply required"
 msgstr "Une réponse est nécessaire"
 
-#: git-send-email.perl:1364
+#: git-send-email.perl:1446
 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:1411
+#: git-send-email.perl:1493
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Le serveur ne supporte pas STARTTLS ! %s"
 
-#: git-send-email.perl:1416 git-send-email.perl:1420
+#: git-send-email.perl:1498 git-send-email.perl:1502
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "echec de STARTTLS ! %s"
 
-#: git-send-email.perl:1430
+#: git-send-email.perl:1512
 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:1448
+#: git-send-email.perl:1530
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "échec de l'envoi de %s\n"
 
-#: git-send-email.perl:1451
+#: git-send-email.perl:1533
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Envoi simulé de %s\n"
 
-#: git-send-email.perl:1451
+#: git-send-email.perl:1533
 #, perl-format
 msgid "Sent %s\n"
 msgstr "%s envoyé\n"
 
-#: git-send-email.perl:1453
+#: git-send-email.perl:1535
 msgid "Dry-OK. Log says:\n"
 msgstr "Simulation OK. Le journal indique :\n"
 
-#: git-send-email.perl:1453
+#: git-send-email.perl:1535
 msgid "OK. Log says:\n"
 msgstr "OK. Le journal indique :\n"
 
-#: git-send-email.perl:1465
+#: git-send-email.perl:1547
 msgid "Result: "
 msgstr "Résultat : "
 
-#: git-send-email.perl:1468
+#: git-send-email.perl:1550
 msgid "Result: OK\n"
 msgstr "Résultat : OK\n"
 
-#: git-send-email.perl:1481
+#: git-send-email.perl:1568
 #, perl-format
 msgid "can't open file %s"
 msgstr "impossible d'ouvrir le fichier %s"
 
-#: git-send-email.perl:1528 git-send-email.perl:1548
+#: git-send-email.perl:1615 git-send-email.perl:1635
 #, 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:1534
+#: git-send-email.perl:1621
 #, 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:1582
+#: git-send-email.perl:1674
 #, 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:1605
+#: git-send-email.perl:1699
 #, 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:1711
+#: git-send-email.perl:1817
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Impossible d'exécuter '%s'"
 
-#: git-send-email.perl:1718
+#: git-send-email.perl:1824
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
 
-#: git-send-email.perl:1722
+#: git-send-email.perl:1828
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) échec de la fermeture du pipe vers '%s'"
 
-#: git-send-email.perl:1749
+#: git-send-email.perl:1855
 msgid "cannot send message as 7bit"
 msgstr "impossible d'envoyer un message comme 7bit"
 
-#: git-send-email.perl:1757
+#: git-send-email.perl:1863
 msgid "invalid transfer encoding"
 msgstr "codage de transfert invalide"
 
-#: git-send-email.perl:1795 git-send-email.perl:1846 git-send-email.perl:1856
+#: git-send-email.perl:1901 git-send-email.perl:1952 git-send-email.perl:1962
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "impossible d'ouvrir %s :%s\n"
 
-#: git-send-email.perl:1798
+#: git-send-email.perl:1904
 #, 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:1814
+#: git-send-email.perl:1920
 #, 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:1818
+#: git-send-email.perl:1924
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 
+#~ msgid "Everyday Git With 20 Commands Or So"
+#~ msgstr "Git de tous les jours avec à peu près 20 commandes"
+
+#~ msgid "Could not open '%s' for writing"
+#~ msgstr "Impossible d'ouvrir '%s' en écriture"
+
+#~ msgid ""
+#~ "unexpected 1st line of squash message:\n"
+#~ "\n"
+#~ "\t%.*s"
+#~ msgstr ""
+#~ "première ligne de message de compression inattendue :\n"
+#~ "\n"
+#~ "\t%.*s"
+
+#~ msgid ""
+#~ "invalid 1st line of squash message:\n"
+#~ "\n"
+#~ "\t%.*s"
+#~ msgstr ""
+#~ "première ligne de message de compression invalide :\n"
+#~ "\n"
+#~ "\t%.*s"
+
+#~ msgid "BUG: returned path string doesn't match cwd?"
+#~ msgstr "BUG : le chemin renvoyé ne correspond pas à cwd ?"
+
+#~ msgid "Error in object"
+#~ msgstr "Erreur dans l'objet"
+
+#~ msgid "git fetch-pack: expected ACK/NAK, got EOF"
+#~ msgstr "git fetch-pack : ACK/NACK attendu, EOF reçu"
+
+#~ msgid "invalid filter-spec expression '%s'"
+#~ msgstr "expression de filtre invalide : '%s'"
+
+#~ msgid "The copy of the patch that failed is found in: %s"
+#~ msgstr "La copie du patch qui a échoué se trouve dans : %s"
+
+#~ msgid "pathspec and --all are incompatible"
+#~ msgstr "un spécificateur de chemin et --all sont incompatibles"
+
+#~ msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
+#~ msgstr ""
+#~ "Le sous-module '$name' ($url) n'est pas enregistré pour le chemin "
+#~ "'$displaypath'"
+
+#~ msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+#~ msgstr ""
+#~ "Les champs To/CC/Bcc ne sont pas encore interprétés, ils ont été ignorés\n"
+
+#~ msgid ""
+#~ "empty strings as pathspecs will be made invalid in upcoming releases. "
+#~ "please use . instead if you meant to match all paths"
+#~ msgstr ""
+#~ "les chaines de caractères vides comme spécificateurs de chemin seront "
+#~ "invalides dans les prochaines versions. Veuillez utiliser . à la place "
+#~ "pour correspondre à tous le chemins"
+
+#~ msgid "unable to open '%s' for writing"
+#~ msgstr "impossible d'ouvrir '%s' en écriture"
+
+#~ msgid "could not truncate '%s'"
+#~ msgstr "impossible de tronquer '%s'"
+
+#~ msgid "could not finish '%s'"
+#~ msgstr "impossible de finir '%s'"
+
+#~ msgid "could not write to %s"
+#~ msgstr "Impossible d'écrire dans %s"
+
+#~ msgid "could not close %s"
+#~ msgstr "impossible de fermer %s"
+
+#~ msgid "Copied a misnamed branch '%s' away"
+#~ msgstr "Copie d'une branche mal nommée '%s'"
+
+#~ msgid "it does not make sense to create 'HEAD' manually"
+#~ msgstr "créer manuellement 'HEAD' n'a pas de sens"
+
+#~ msgid "Don't know how to clone %s"
+#~ msgstr "Je ne sais pas cloner %s"
+
+#~ msgid "show ignored files"
+#~ msgstr "afficher les fichiers ignorés"
+
+#~ msgid "%s is not a valid '%s' object"
+#~ msgstr "%s n'est pas un objet '%s' valide"
+
+#~ msgid "Don't know how to fetch from %s"
+#~ msgstr "Je ne sais pas récupérer depuis %s"
+
+#~ msgid "'$term' is not a valid term"
+#~ msgstr "'$term' n'est pas un terme valide"
+
+#~ msgid ""
+#~ "error: unknown option for 'stash save': $option\n"
+#~ "       To provide a message, use git stash save -- '$option'"
+#~ msgstr ""
+#~ "erreur: option inconnue pour 'stash save': $option\n"
+#~ "        Pour fournir un message, utilisez git stash save -- '$option'"
+
+#~ msgid "Failed to recurse into submodule path '$sm_path'"
+#~ msgstr "Échec de parcours dans le chemin du sous-module '$sm_path'"
+
+#~ msgid "%%(trailers) does not take arguments"
+#~ msgstr "%%(trailers) n'accepte pas d'argument"
+
+#~ msgid "submodule update strategy not supported for submodule '%s'"
+#~ msgstr ""
+#~ "stratégie de mise à jour de sous-module non supportée pour le sous-module "
+#~ "'%s'"
+
+#~ msgid "change upstream info"
+#~ msgstr "modifier l'information amont"
+
+#~ msgid ""
+#~ "\n"
+#~ "If you wanted to make '%s' track '%s', do this:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Si vous vouliez que '%s' suive '%s', faites ceci :\n"
+#~ "\n"
+
+#~ msgid "basename"
+#~ msgstr "nom de base"
+
+#~ msgid "prepend parent project's basename to output"
+#~ msgstr "préfixer le nom de base du projet parent à la sortie"
+
+#~ msgid ""
+#~ "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
+#~ " - $line"
+#~ msgstr ""
+#~ "Attention : le SHA-1 manque ou n'est pas un commit dans la ligne "
+#~ "suivante :\n"
+#~ " - $line"
+
+#~ msgid ""
+#~ "Warning: the command isn't recognized in the following line:\n"
+#~ " - $line"
+#~ msgstr ""
+#~ "Attention : la commande n'est pas reconnue dans le ligne suivante :\n"
+#~ " - $line"
+
+#~ msgid "Or you can abort the rebase with 'git rebase --abort'."
+#~ msgstr ""
+#~ "Ou bien vous pouvez abandonner le rebasage avec 'git rebase --abort'."
+
 #~ msgid "Could not open file '%s'"
 #~ msgstr "impossible d'ouvrir le fichier '%s'"
 
@@ -16719,9 +18746,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ msgid "blob object"
 #~ msgstr "objet blob"
 
-#~ msgid "other tag object"
-#~ msgstr "objet étiquette autre"
-
 #~ msgid ""
 #~ "There is nothing to exclude from by :(exclude) patterns.\n"
 #~ "Perhaps you forgot to add either ':/' or '.' ?"
@@ -16766,9 +18790,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ msgid "git merge [<options>] <msg> HEAD <commit>"
 #~ msgstr "git merge [<options>] <message> HEAD <commit>"
 
-#~ msgid "'%s' is not a commit"
-#~ msgstr "'%s' n'est pas une validation"
-
 #~ msgid "cannot open file '%s'"
 #~ msgstr "impossible d'ouvrir le fichier '%s'"
 
@@ -16818,9 +18839,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ "(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout "
 #~ "son historique)"
 
-#~ msgid "Could not write to %s"
-#~ msgstr "Impossible d'écrire dans %s"
-
 #~ msgid "Error wrapping up %s."
 #~ msgstr "Erreur lors de l'emballage de %s."
 
@@ -16950,9 +18968,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ msgid "Unprocessed path??? %s"
 #~ msgstr "Chemin non traité ??? %s"
 
-#~ msgid "Error wrapping up %s"
-#~ msgstr "Erreur à l'emballage de %s"
-
 #~ msgid "Cannot %s during a %s"
 #~ msgstr "Impossible de %s pendant un %s"
 
@@ -17066,9 +19081,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ "Veuillez indexer vos modifications de .gitmodules ou remisez-les pour "
 #~ "continuer"
 
-#~ msgid "could not verify the tag '%s'"
-#~ msgstr "impossible de vérifier l'étiquette '%s'"
-
 #~ msgid "failed to remove: %s"
 #~ msgstr "échec de la suppression de %s"
 
@@ -17087,9 +19099,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ "Reporter les validations locales sur le sommet mis à jour d'une branche "
 #~ "amont"
 
-#~ msgid "unable to parse format"
-#~ msgstr "impossible d'analyser le format"
-
 #~ msgid "improper format entered align:%s"
 #~ msgstr "format non convenable align:%s"
 
@@ -17285,9 +19294,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ msgid "no branch specified"
 #~ msgstr "aucune branche spécifiée"
 
-#~ msgid "check a branch out in a separate working directory"
-#~ msgstr "extraire une branche dans un répertoire de travail séparé"
-
 #~ msgid "prune .git/worktrees"
 #~ msgstr "éliminer .git/worktrees"
 
@@ -17318,9 +19324,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
 #~ msgid "no files added"
 #~ msgstr "aucun fichier ajouté"
 
-#~ msgid "force creation (when already exists)"
-#~ msgstr "forcer la création (même si la cible existe)"
-
 #~ msgid "slot"
 #~ msgstr "emplacement"