checkout: check return value of resolve_refdup before using hash
[gitweb.git] / po / fr.po
index c06fb40f8280a5036f15d0f06337159a1f552a18..af7c32718645a60924eb8aba88cb2d9ff8679329 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -73,8 +73,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:55+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-18 00:09+0100\n"
 "Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -125,7 +125,7 @@ msgstr ""
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
@@ -315,34 +315,34 @@ msgstr "patch binaire non reconnu à la ligne %d"
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, 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:3062
+#: apply.c:3053
 #, 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:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -351,455 +351,456 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3098
+#: apply.c:3089
 #, 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:3144
+#: apply.c:3135
 #, 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:3154
+#: apply.c:3145
 #, 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:3162
+#: apply.c:3153
 #, 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:3180
+#: apply.c:3171
 #, 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:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3199
+#: apply.c:3190
 #, 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:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3554
+#: apply.c:3545
 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:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Echec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3940
+#: apply.c:3931
 #, 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:3945
+#: apply.c:3936
 #, 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:3965
+#: apply.c:3956
 #, 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:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, 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:4082
+#: apply.c:4073
 #, 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:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "échec de make_cache_entry pour le chemin '%s'"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4291
+#: apply.c:4282
 #, 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:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4521
+#: apply.c:4512
 #, 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:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, 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:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, 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:4872
+#: apply.c:4863
 #, 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:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "chemin"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "num"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrée"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "afficher le nombre de lignes ajoutées et supprimées en notation décimale"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "au lieu d'appliquer le patch, afficher un résumer de l'entrée"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "au lieu d'appliquer le patch, voir si le patch est applicable"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "s'assurer que le patch est applicable sur l'index actuel"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec ---stat/--summary/--check)"
 
-#: apply.c:4949
+#: apply.c:4940
 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:4951
+#: apply.c:4942
 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:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "action"
 
-#: apply.c:4958
+#: apply.c:4949
 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:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:4976
+#: apply.c:4967
 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:4979
+#: apply.c:4970
 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:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "racine"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -822,7 +823,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
@@ -843,11 +844,11 @@ msgstr "préfixe"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "fichier"
 
@@ -880,7 +881,7 @@ msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "dépôt"
 
@@ -976,13 +977,13 @@ msgstr ""
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 "Certaines révision %s ne sont pas ancêtres de la révision %s.\n"
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
-"Peut-être avez-vous inversé les révisions %s et %s ?\n"
+"Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
 #: bisect.c:763
 #, c-format
@@ -1006,7 +1007,7 @@ msgstr "Bissection : une base de fusion doit être testée\n"
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
@@ -1205,7 +1206,7 @@ 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:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
@@ -1214,10 +1215,10 @@ msgstr "impossible d'ouvrir '%s'"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Le dépôt ne dispose pas des commits prérequis suivants :"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
@@ -1256,7 +1257,7 @@ msgstr "rev-list a disparu"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
@@ -1274,13 +1275,13 @@ msgstr "impossible de créer '%s'"
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "impossible d'analyser %s"
@@ -1306,136 +1307,146 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:528
+#: config.c:530
 #, 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:532
+#: config.c:534
 #, 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:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:666
+#: config.c:668
 #, 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:669
+#: config.c:671
 #, 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:672
+#: config.c:674
 #, 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:675
+#: config.c:677
 #, 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:678
+#: config.c:680
 #, 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:681
+#: config.c:683
 #, 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:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "niveau de compression du paquet %d"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:1716
+#: config.c:1743
 #, 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:1718
+#: config.c:1745
 #, 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:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "échec de fstat sur %s"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
@@ -1451,12 +1462,12 @@ msgid ""
 "Please make sure you have the correct access rights\n"
 "and the repository exists."
 msgstr ""
-"Impossilble de lire le dépôt distant.\n"
+"Impossible de lire le dépôt distant.\n"
 "\n"
 "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:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
@@ -1595,13 +1606,13 @@ msgstr ""
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paramètre dirstat inconnu '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valeur inconnue pour la variable de configuration 'diff.submodule' : '%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1610,20 +1621,20 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1632,24 +1643,24 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 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:4703
+#: diff.c:4699
 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:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1657,14 +1668,19 @@ msgstr ""
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:1985
+#: dir.c:1981
 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:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : list courte attendue"
@@ -1845,35 +1861,40 @@ msgstr "impossible de créer un fichier temporaire"
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "couleur invalide '%.*s' ignorée dans log.graphColors"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "commandes git disponibles dans '%s'"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1882,11 +1903,11 @@ 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:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1896,17 +1917,17 @@ msgstr ""
 "pas.\n"
 "Continuons en supposant que vous avez voulu dire '%s'"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "dans %0.1f secondes automatiquement..."
 
-#: help.c:395
+#: help.c:410
 #, 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:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1920,7 +1941,7 @@ msgstr[1] ""
 "\n"
 "Vouliez-vous dire un de ceux-là ?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -1988,69 +2009,69 @@ msgstr "impossible d'écrire le nouveau fichier d'index"
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "échec de addinfo_cache pour le chemin '%s'"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "erreur de construction des arbres"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, 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:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2059,7 +2080,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:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2068,20 +2089,20 @@ 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:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, 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:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2090,137 +2111,137 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, 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:1325
+#: merge-recursive.c:1332
 #, 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:1531
+#: merge-recursive.c:1535
 #, 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:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "Ajout de %s fusionné"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, 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:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, 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:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
@@ -2261,7 +2282,7 @@ msgstr "Refus de réécrire des notes dans %s (hors de refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Mauvaise valeur de %s : '%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "impossible d'analyser l'objet : %s"
@@ -2301,13 +2322,13 @@ msgstr "nom d'objet malformé '%s'"
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "les réglages de spécificateurs de chemin généraux 'glob' et 'noglob' sont "
 "incompatibles"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2315,48 +2336,53 @@ msgstr ""
 "le réglage global de spécificateur de chemin 'literal' est incompatible avec "
 "tous les autres réglages globaux de spécificateur de chemin"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "')' manquante à la fin du spécificateur magique de chemin dans '%s'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Spécificateur magique '%c' non implémenté dans '%s'"
 
-#: pathspec.c:230
+#: pathspec.c:293 pathspec.c:315
+#, c-format
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
+
+#: pathspec.c:350
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s : 'literal' et 'glob' sont incompatibles"
 
-#: pathspec.c:241
+#: pathspec.c:363
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s : '%s' est hors du dépôt"
 
-#: pathspec.c:291
+#: pathspec.c:451
 #, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s' (mnémonique : '%c')"
 
-#: pathspec.c:353
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s : le spécificateur magique de chemin n'est pas supporté par cette "
 "commande : %s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2365,12 +2391,12 @@ msgstr ""
 "invalides dans les prochaines versions. Veuillez utiliser . à la place pour "
 "correspondre à tous le chemins"
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2378,11 +2404,11 @@ msgstr ""
 "Il n'y a rien dont il faut exclure par des motifs :(exclure).\n"
 "Peut-être avez-vous oublié d'ajouter ':/' ou '.' ?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2391,7 +2417,7 @@ msgstr ""
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2400,7 +2426,7 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Impossible d'ouvrir '%s' en écriture"
@@ -2420,230 +2446,235 @@ msgstr "impossible de supprimer les références : %s"
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "format non reconnu %%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) n'accepte pas d'argument"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= requiert un argument entier positif"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "la réf '%s' n'a pas %ld composants à :strip"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "format de %.*s inconnu %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "echec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: remote.c:746
+#: remote.c:754
 #, 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:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s suit habituellement %s, pas %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s suit à la fois %s et %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "Erreur interne"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD ne pointe pas sur une branche"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "pas de branche '%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "aucune branche amont configurée pour la branche '%s'"
 
-#: remote.c:1695
+#: remote.c:1703
 #, 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:1710
+#: remote.c:1718
 #, 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:1730
 #, 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:1741
 #, 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:1754
 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:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 "impossible de résoudre une poussée 'simple' pour une destination unique"
 
-#: remote.c:2073
+#: remote.c:2081
 #, 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:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, 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:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2655,11 +2686,11 @@ msgstr[1] ""
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2674,7 +2705,7 @@ msgstr[1] ""
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:2114
+#: remote.c:2122
 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"
@@ -2692,11 +2723,11 @@ msgstr "votre branche actuelle '%s' ne contient encore aucun commit"
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "échec de l'ouverture de /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "échec de dup2(%d,%d)"
@@ -2725,15 +2756,24 @@ msgstr "Le receveur ne gère pas les poussées avec --atomic"
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "Action inconnue : %d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2741,7 +2781,7 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2751,60 +2791,63 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "impossible d'écrire dans '%s'"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "échec lors de la finalisation de '%s'."
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "impossible de résoudre le commit HEAD\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
 msgstr "impossible de mettre à jour l'arbre de cache\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2833,174 +2876,395 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "impossible d'analyser le commit %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "impossible d'analyser le commit parent %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"première ligne de message de compression inattendue :\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"première ligne de message de compression invalide :\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Ceci est la combinaison de %d commits."
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "une HEAD est nécessaire à la correction"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "Impossible de lire HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "impossible de lire le message de validation de HEAD"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "impossible d'écrire '%s'"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "Ceci est le premier message de validation :"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "impossible de lire le message de validation de %s"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Ceci est le message de validation numéro %d :"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "Le message de validation %d sera ignoré :"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "commande inconnue : %d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, 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:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, 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:982
+#, 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:700
+#: sequencer.c:1001
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:705
+#: sequencer.c:1063 sequencer.c:1812
 #, c-format
-msgid "cannot get commit message for %s"
-msgstr "impossible d'obtenir un message de validation pour %s"
+msgid "could not rename '%s' to '%s'"
+msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:797
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "aucun commit analysé."
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "impossible de lire '%s'."
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:983
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "aucun commit analysé."
+
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "un picorage ou un retour est déjà en cours"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, 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:1354
+#: sequencer.c:1640
+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:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "impossible de lire HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "impossible de copier '%s' vers '%s'"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "impossible de lire l'index"
+
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"échec d'exécution : %s\n"
+"%sVous pouvez corriger le problème, puis lancer\n"
+"\n"
+"git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+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:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"L'exécution a réussi : %s\n"
+"mais a laissé des modifications dans l'index ou la copie de travail\n"
+"Validez ou remisez vos modification, puis lancez\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "Autoremisage appliqué."
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "impossible de stocker %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"L'application de l'autoremisage a provoqué des conflits\n"
+"Vos  modifications sont à l'abri dans la remise.\n"
+"Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "arrêt à %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "commande inconnue %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "impossible de lire orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "impossible de lire 'onto'"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "impossible de mettre à jour %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "impossible de mettre à jour HEAD sur %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "impossible de rebaser : vous avez des modifications non indexées."
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "impossible de supprimer CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "impossible de corriger un commit non-existant"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "fichier invalide : '%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "contenu invalide : '%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"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:2190
+msgid "could not commit staged changes."
+msgstr "impossible de valider les modifications indexées."
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
@@ -3036,29 +3300,29 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:762
+#: setup.c:768
 #, 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:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3069,12 +3333,12 @@ msgstr ""
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas activé)."
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "Impossible de se déplacer vers le répertoire '%s/..'"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3084,43 +3348,43 @@ msgstr ""
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, 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:505
+#: sha1_file.c:522
 #, 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:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, 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:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -3160,91 +3424,136 @@ msgstr ""
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Modification impossible de .gitmodules non fusionné, résolvez les conflits "
 "d'abord"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, 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:76
+#: submodule.c:77
 #, 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:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Impossible de supprimer l'élément de .gitmodules pour %s"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "échec de la mise en index du .gitmodules mis à jour"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, 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:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr ""
+"relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
+"n'est pas supporté"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "impossible de trouve le nom pour le sous-module '%s'"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "impossible de créer le répertoire '%s'"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"Migration du répertoire git de '%s%s' depuis\n"
+"'%s' sur\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "récursion impossible dans le sous-module '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "échec de la commande trailer '%s'"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "plus d'un %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "symbole vide dans la ligne de fin '%.*s'"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "impossible de lire le fichier d'entrée '%s'"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "Impossible de lire depuis l'entrée standard"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "%s n'est pas un fichier régulier"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "impossible de renommer un fichier temporaire en %s"
@@ -3259,7 +3568,7 @@ msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3268,7 +3577,7 @@ msgstr ""
 "Les chemins suivant de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3295,11 +3604,11 @@ msgstr ""
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "impossible de lire la réf %s"
@@ -3320,7 +3629,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:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3331,7 +3640,7 @@ msgstr ""
 "%%sVeuillez valider ou remiser vos modifications avant de basculer de "
 "branche."
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3341,7 +3650,7 @@ msgstr ""
 "l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3351,7 +3660,7 @@ msgstr ""
 "fusion :\n"
 "%%sVeuillez valider ou remiser vos modifications avant la fusion."
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3361,7 +3670,7 @@ msgstr ""
 "fusion :\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3370,7 +3679,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:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3379,17 +3688,17 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "La mise à jour des répertoires suivants effacerait les fichiers non suivis "
 "contenus :\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3399,7 +3708,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3408,7 +3717,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3418,7 +3727,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3427,7 +3736,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3437,7 +3746,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3446,7 +3755,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3457,7 +3766,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3467,7 +3776,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3477,7 +3786,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3486,7 +3795,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3496,7 +3805,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3505,12 +3814,12 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrée '%s' surcharge avec '%s'. Affectation impossible."
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3520,7 +3829,7 @@ msgstr ""
 "pas à jour :\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3531,7 +3840,7 @@ msgstr ""
 "jour par l'extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3542,12 +3851,12 @@ msgstr ""
 "à jour par extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "Extraction des fichiers"
 
@@ -3596,7 +3905,7 @@ msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3813,63 +4122,67 @@ msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo est manquant."
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, 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:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, 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:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, 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:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1238
+#: wt-status.c:1244
 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:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -3877,124 +4190,124 @@ msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 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:1256
+#: wt-status.c:1262
 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:1260
+#: wt-status.c:1266
 #, 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:1265
+#: wt-status.c:1271
 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:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
-"  (utilisez \"git rebase --continue\" quand vous êtes satisfait de vos "
+"  (utilisez \"git rebase --continue\" quand vous avez effectué toutes vos "
 "modifications)"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1288
+#: wt-status.c:1294
 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:1290
+#: wt-status.c:1296
 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:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, 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:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1327
+#: wt-status.c:1333
 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:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4006,32 +4319,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, 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:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -4040,67 +4353,67 @@ 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:1608
+#: wt-status.c:1614
 #, 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:1611
+#: wt-status.c:1617
 #, 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:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, 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:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "Validation initiale sur "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
 # à priori on parle d'une branche ici
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "disparue"
 
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
@@ -4132,7 +4445,7 @@ msgstr "suppression de '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
@@ -4168,9 +4481,9 @@ 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:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "simuler l'action"
 
@@ -4178,7 +4491,7 @@ msgstr "simuler l'action"
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
@@ -4264,7 +4577,7 @@ msgstr "Vous vouliez sûrement dire 'git add .' ?\n"
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
@@ -4388,7 +4701,7 @@ msgstr "Retour à un patch de la base et fusion à 3 points..."
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
@@ -4396,8 +4709,8 @@ msgstr "git write-tree a échoué à écrire un arbre"
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
@@ -4510,7 +4823,7 @@ msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "être silencieux"
 
@@ -4554,15 +4867,15 @@ msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
@@ -4599,8 +4912,8 @@ msgstr "mentir sur la date de validation"
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "id-clé"
 
@@ -4704,125 +5017,117 @@ msgstr "git blame [<options>] [<options-de-révision>] [<rev>] [--] <fichier>"
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<options-de-révision> sont documentés dans git-rev-list(1)"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "Assignation de blâme au lignes"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 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:2578
+#: builtin/blame.c:2583
 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:2579
+#: builtin/blame.c:2584
 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:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 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:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 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:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "Afficher l'e-mail de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr ""
-"Utiliser une heuristique expérimentale reposant sur l'indentation pour "
-"améliorer les diffs"
-
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr ""
-"Utiliser une heuristique expérimentale reposant sur les lignes vides pour "
-"améliorer le diffs"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
 
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 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:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 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:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -4834,42 +5139,42 @@ msgstr ""
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 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"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 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"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4927,7 +5232,7 @@ msgid ""
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr ""
 "La branche '%s' n'est pas totalement fusionnée.\n"
-"Si vous êtes sur que vous voulez la supprimer, lancez 'git branch -D %s'."
+"Si vous souhaitez réellement la supprimer, lancez 'git branch -D %s'."
 
 #: builtin/branch.c:178
 msgid "Update of config-file failed"
@@ -5049,46 +5354,46 @@ msgstr "(HEAD détachée depuis %s)"
 msgid "(no branch)"
 msgstr "(aucune branche)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "La branche %s est en cours de rebasage sur %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "La branche %s est en cours de bissection sur %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 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:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nom de branche invalide : '%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "Échec de renommage de la branche"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Renommage d'un branche mal nommée '%s'"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, 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:604
+#: builtin/branch.c:595
 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:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5099,163 +5404,167 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "Options génériques"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 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:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "supprimer les messages d'information"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "régler le mode de suivi (voir git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "amont"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "Désactiver l'information amont"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "utiliser la coloration dans la sortie"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "agir sur les branches de suivi distantes"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "afficher seulement les branches qui contiennent le commit"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "Actions spécifiques à git-branch :"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "afficher à la fois les branches de suivi et les branches locales"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "supprimer une branche totalement fusionnée"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "supprimer une branche (même non fusionnée)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "déplacer/renommer une branche et son reflog"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "déplacer/renommer une branche, même si la cible existe"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "afficher les noms des branches"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "créer le reflog de la branche"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "éditer la description de la branche"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "forcer la création, le déplacement/renommage, ou la suppression"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "afficher seulement les branches qui sont fusionnées"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "clé"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "le tri et le filtrage sont non-sensibles à la casse"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "trop de branches pour une opération de renommage"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "trop de branches pour spécifier une branche amont"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5263,41 +5572,41 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "trop de branches pour désactiver un amont"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "impossible de désactiver une branche amont de HEAD quand elle ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "créer manuellement 'HEAD' n'a pas de sens"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 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:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5306,7 +5615,7 @@ msgstr ""
 "l'option --set-upstream est obsolète et va disparaître. Utilisez plutôt --"
 "track ou --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5314,7 +5623,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Si vous vouliez que '%s' suive '%s', faîtes ceci :\n"
+"Si vous vouliez que '%s' suive '%s', faites ceci :\n"
 "\n"
 
 #: builtin/bundle.c:51
@@ -5374,7 +5683,7 @@ msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 msgid "for blob objects, run filters on object's content"
 msgstr "pour les objets blob, lancer les filtres sur le contenu de l'objet"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "blob"
 
@@ -5434,7 +5743,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:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -5526,9 +5835,9 @@ msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "chaîne"
 
@@ -5605,50 +5914,50 @@ msgstr "le chemin '%s' n'est pas fusionné"
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5671,7 +5980,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5700,151 +6009,151 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "une seule référence attendue, %d fournies."
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, 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:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, 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:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 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:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "réessayer d'interpréter 'git checkout <branche-inexistante>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 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:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "Nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5854,12 +6163,12 @@ msgstr ""
 "en même temps.\n"
 "Souhaitiez-vous extraire '%s' qui ne peut être résolu comme commit ?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, 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:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5898,19 +6207,21 @@ msgstr "Ignorerait le dépôt %s\n"
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "Aide en ligne :\n"
 "1           - sélectionner un élément numéroté\n"
 "foo         - sélectionner un élément par un préfixe unique\n"
-"            - (vide) ne rien sélectionner"
+"            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5919,7 +6230,7 @@ msgid ""
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "Aide en ligne :\n"
 "1          - sélectionner un seul élément\n"
@@ -5928,12 +6239,13 @@ msgstr ""
 "foo        - sélectionner un élément par un préfixe unique\n"
 "-...       - désélectionner les éléments spécifiés\n"
 "*          - choisir tous les éléments\n"
-"           - (vide) terminer la sélection"
+"           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "Hein (%s) ?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "Hein (%s) ?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5955,9 +6267,10 @@ msgstr "Sélectionner les éléments à supprimer"
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "Au revoir."
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "Au revoir.\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5977,11 +6290,11 @@ msgstr ""
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** Commandes ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "Et maintenant ?"
 
@@ -6011,8 +6324,8 @@ msgstr "nettoyage interactif"
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "motif"
 
@@ -6092,8 +6405,8 @@ msgstr "répertoire-modèle"
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "dépôt de référence"
 
@@ -6117,8 +6430,7 @@ msgstr "extraire <branche> au lieu de la HEAD du répertoire distant"
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
-#: builtin/pull.c:202
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
 msgid "depth"
 msgstr "profondeur"
 
@@ -6126,7 +6438,7 @@ msgstr "profondeur"
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "heure"
@@ -6140,7 +6452,7 @@ msgid "revision"
 msgstr "révision"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
+msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
@@ -6168,11 +6480,11 @@ msgstr "clé=valeur"
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
@@ -6287,7 +6599,7 @@ msgstr "--bare et --separate-git-dir sont incompatibles."
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
@@ -6303,8 +6615,9 @@ msgstr ""
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "impossible de créer les répertoires de premier niveau dans '%s'"
@@ -6582,7 +6895,7 @@ msgstr ""
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
@@ -6682,7 +6995,7 @@ msgstr "Impossible de lire l'index"
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, 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"
@@ -6694,7 +7007,7 @@ msgstr ""
 "--author '%s' n'est pas de la forme 'Nom <email>' ni ne correspond à aucun "
 "auteur existant"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
@@ -6746,67 +7059,63 @@ 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:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "Malin... correction du dernier avec un index sale."
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "Chemins explicites spécifiés sans -i ni -o ; --only supposé..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 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:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "afficher le statut avec concision"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "afficher le statut en format long (par défaut)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 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:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "afficher les fichiers ignorés"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -6814,201 +7123,201 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 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:1585
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "message"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 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:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 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:1591
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 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:1593
 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:1594
 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:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "défaut"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 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:1599
 msgid "include status in commit message template"
 msgstr "inclure le statut dans le modèle de message de validation"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 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:1607
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 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:1611
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, 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:1754
-#, fuzzy, c-format
+#: builtin/commit.c:1749
+#, c-format
 msgid "Aborting commit due to empty commit message.\n"
-msgstr "Abandon de la validation dû à un message de validation vide\n"
+msgstr "Abandon de la validation dû à un message de validation vide.\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7336,35 +7645,122 @@ msgstr "aucun nom trouvé, impossible de décrire quoi que ce soit."
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty est incompatible avec la spécification de commits ou assimilés"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s' : n'est pas un fichier régulier ni un lien symbolique"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "option invalide : %s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Ce n'est pas un dépôt git !"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objet spécifié '%s' invalide."
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "plus de deux blobs spécifiés : '%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "objet non géré '%s' spécifié."
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "échec : %d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr ""
+"les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
+"dans le mode de diff de répertoire ('-d' et '--dir-diff')."
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "le fichier dans l'arbre de travail a été laissé."
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "des fichiers temporaires existent dans '%s'."
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "réalise un diff de répertoire complet"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "ne pas confirmer avant de lancer l'outil de diff"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "utiliser les liens symboliques en mode de diff de répertoire"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<outil>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "utiliser l'outil de diff spécifié"
+
+#: builtin/difftool.c:640
+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:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr ""
+"provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
+"non-nul"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<commande>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "spécifier une commande personnalisée pour visualiser les différences"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "pas d'<outil> spécifié pour --tool=<outil>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
@@ -7524,79 +7920,79 @@ msgstr "correspondance de référence"
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, 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:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, 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:769
+#: builtin/fetch.c:766
 #, 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:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7605,55 +8001,55 @@ 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:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, 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:998
+#: builtin/fetch.c:995
 #, 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:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Je ne sais pas récupérer depuis %s"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7661,40 +8057,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:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 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:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 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:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 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 "
@@ -7762,7 +8158,7 @@ msgstr "échapper les champs réservés pour compatibilité avec Tcl"
 msgid "show only <n> matched refs"
 msgstr "n'afficher que <n> références correspondant"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
@@ -7782,64 +8178,64 @@ msgstr "afficher seulement les références qui ne sont pas fusionnées"
 msgid "print only refs which contain the commit"
 msgstr "afficher seulement les références qui contiennent le commit"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 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:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
@@ -7857,7 +8253,7 @@ msgstr "%s invalide : '%s'"
 msgid "insanely long object directory %.*s"
 msgstr "objet répertoire démentiellement long %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7873,42 +8269,42 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 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:373
+#: builtin/gc.c:380
 #, 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:375
+#: builtin/gc.c:382
 #, 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:376
+#: builtin/gc.c:383
 #, 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:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -7916,249 +8312,265 @@ 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:441
+#: builtin/gc.c:448
 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:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep : échec de création du fil: %s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "nombre de fils spécifié invalide (%d) pour %s"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, 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:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend un valeur numérique"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 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:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "rechercher récursivement dans chaque sous-module"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "nom de base"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "préfixer le nom de base du projet parent à la sortie"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 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:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 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:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 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:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "aucun motif fourni."
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 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:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "option non supportée avec --recurse-submodules."
+
+#: builtin/grep.c:1244
 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:907
+#: builtin/grep.c:1249
 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:910
+#: builtin/grep.c:1252
 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:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "--cached et des arbres sont fournis en même temps."
 
@@ -8439,184 +8851,188 @@ 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:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "Erreur dans l'objet"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, 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:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, 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:1268
+#: builtin/index-pack.c:1270
 #, 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:1272
+#: builtin/index-pack.c:1274
 #, 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:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "impossible d'écrire le fichier \"keep\" '%s'"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "impossible de fermer le fichier \"keep\" '%s'"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, 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:1591
+#: builtin/index-pack.c:1593
 #, 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:1598
+#: builtin/index-pack.c:1600
 #, 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:1611
+#: builtin/index-pack.c:1613
 #, 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:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin requiert un dépôt git"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
@@ -8866,7 +9282,7 @@ msgstr "Deux répertoires de sortie ?"
 msgid "Unknown commit %s"
 msgstr "Commit inconnu %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
@@ -9105,106 +9521,106 @@ msgstr ""
 "Impossible de trouver une branche distante suivie, merci de spécifier "
 "<branche_amont> manuellement.\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<options>] [<fichier>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "identifier le statut de fichier avec les étiquettes"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "utiliser des minuscules pour les fichier 'assumés inchangés'"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 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:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "les motifs d'exclusion sont lus depuis <fichier>"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 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:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 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:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 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:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 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:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
@@ -9260,35 +9676,35 @@ msgstr "afficher la réf sous-jacente en plus de l'objet pointé par elle"
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<options>] <arbre ou apparenté> [<chemin>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "afficher seulement les arbres"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "parcourir les sous-arbres"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "afficher les arbres en les parcourant"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "terminer les éléments avec un octet NUL"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "inclure la taille d'objet"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "afficher seulement les noms de fichiers"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "utiliser les noms de chemins complets"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 "afficher l'arbre entier ; pas seulement le répertoire courant (implique --"
@@ -9306,165 +9722,173 @@ msgstr "git merge [<options>] <message> HEAD <commit>"
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 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:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 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:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 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:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 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:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 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:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "continuer la fusion en cours"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, 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:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 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:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Options inconnue pour merge-recursive : -X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, 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:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9481,68 +9905,80 @@ msgstr ""
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, 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:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' n'est pas une validation"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 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:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort n'accepte pas d'argument"
+
+#: builtin/merge.c:1171
 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:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue ne supporte aucun argument"
+
+#: builtin/merge.c:1187
+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:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9550,7 +9986,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9558,114 +9994,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:1188
+#: builtin/merge.c:1213
 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:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 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:1222
+#: builtin/merge.c:1247
 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:1224
+#: builtin/merge.c:1249
 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:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 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:1287
+#: builtin/merge.c:1312
 #, 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:1290
+#: builtin/merge.c:1315
 #, 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:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, 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:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, 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:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, 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:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9798,96 +10234,96 @@ msgstr "autoriser les objets manquants"
 msgid "allow creation of more than one tree"
 msgstr "autoriser la création de plus d'un arbre"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<options>] <source>... <destination>"
 
-#: builtin/mv.c:70
+#: 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:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 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:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s est dans l'index"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "forcer le déplacement/renommage même si la cible existe"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "sauter les erreurs de déplacement/renommage"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "la destination '%s' n'est pas un répertoire"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Vérification du renommage de '%s' en '%s'\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "mauvaise source"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "impossible de déplacer un répertoire dans lui-même"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "impossible de déplacer un répertoire sur un fichier"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "le répertoire source est vide"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "pas sous le contrôle de version"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "la destination existe"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "écrasement de '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "Impossible d'écraser"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "multiples sources pour la même destination"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "le répertoire de destination n'existe pas"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, source=%s, destination=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
@@ -10076,12 +10512,12 @@ 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:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
@@ -10363,186 +10799,186 @@ msgstr ""
 "git pack-objects [options...] base-name [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "erreur de compression (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 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:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 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:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "ne pas afficher la barre de progression"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "afficher la barre de progression"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 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:2800
+#: builtin/pack-objects.c:2788
 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:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "version[,offset]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 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:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 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:2815
+#: builtin/pack-objects.c:2803
 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:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 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:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 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:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 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:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 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:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 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:2864
+#: builtin/pack-objects.c:2852
 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:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
@@ -10570,11 +11006,11 @@ msgstr "Suppression des objets dupliqués"
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <heure>] [--] [<head>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "afficher les objets éliminés"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "faire expirer les objets plus vieux que <heure>"
 
@@ -10676,7 +11112,7 @@ msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 msgid "<remote>"
 msgstr "<distant>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branche>"
@@ -10746,8 +11182,7 @@ msgid ""
 "to recover."
 msgstr ""
 "Avance rapide de votre arbre de travail impossible.\n"
-"Après vous être assuré que toute modification précieuse a été sauvegardée "
-"avec\n"
+"Après avoir vérifié que toute modification précieuse a été sauvegardée avec\n"
 "$ git diff %s\n"
 "lancez\n"
 "$ git reset --hard\n"
@@ -10853,14 +11288,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:242
+#: builtin/push.c:245
 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:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10875,7 +11310,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 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"
@@ -10890,7 +11325,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 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"
@@ -10908,13 +11343,13 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 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:271
+#: builtin/push.c:274
 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"
@@ -10926,22 +11361,22 @@ msgstr ""
 "pointer\n"
 "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Poussée vers %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "impossible de pousser des références vers '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "mauvais dépôt '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10963,113 +11398,113 @@ msgstr ""
 "\n"
 "    git push <nom>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all et --tags sont incompatibles"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 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:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror et --tags sont incompatibles"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 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:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all et --mirror sont incompatibles"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "supprimer les références"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 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:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "nom de référence>:<attendu"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 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:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "recevoir le programme d'empaquetage"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "définir la branche amont pour git pull/status"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "éliminer les références locales supprimées"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "éviter d'utiliser le crochet pre-push"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "signer la poussée avec GPG"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "demande une transaction atomique sur le serveur distant"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "option à transmettre"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete est incompatible avec --all, --mirror et --tags"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete n'a pas de sens sans aucune référence"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr ""
 "les options de poussée ne peuvent pas contenir de caractères de nouvelle "
@@ -11161,8 +11596,8 @@ msgid ""
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -11741,84 +12176,93 @@ msgstr "Sous-commande inconnue : %s"
 msgid "git repack [<options>]"
 msgstr "git repack [<options>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"Les repaquetages incrémentaux sont incompatibles avec les index bitmap. "
+"Utilisez\n"
+"--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 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:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 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:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 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:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 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:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -12052,23 +12496,23 @@ msgstr "Impossible d'écrire le nouveau fichier d'index."
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<arguments>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "garder le `--` passé en argument"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 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:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "sortie en forme longue fixée"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -12168,30 +12612,7 @@ msgstr "le picorage a échoué"
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<options>] [--] <fichier>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] ""
-"le sous-module suivant (ou un de ses sous-modules imbriqués)\n"
-"utilise un répertoire .git :"
-msgstr[1] ""
-"les sous-modules suivants (ou un de leurs sous-modules imbriqués)\n"
-"utilisent un répertoire .git :"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
-"historique)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -12205,7 +12626,7 @@ msgstr[1] ""
 "les fichiers suivants ont du contenu indexé différent\n"
 "du fichier et de HEAD :"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -12213,13 +12634,13 @@ msgstr ""
 "\n"
 "(utilisez -f pour forcer la suppression)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "le fichier suivant a des changements indexés :"
 msgstr[1] "les fichiers suivants ont des changements indexés :"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -12227,42 +12648,47 @@ msgstr ""
 "\n"
 "(utilisez --cached pour garder le fichier, ou -f pour forcer la suppression)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 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:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "ne pas afficher les fichiers supprimés"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "supprimer seulement de l'index"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "outrepasser la vérification des fichiers à jour"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "autoriser la suppression récursive"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "sortir avec un statut zéro même si rien ne correspondait"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "pas de suppression récursive de '%s' sans -r"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "impossible de supprimer '%s'"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -12296,25 +12722,29 @@ msgstr "afficher les messages du greffon de protocole distant"
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<options>] [<intervalle-révisions>] [[--] [<chemin>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "Grouper par validateur plutôt que par auteur"
+
+#: builtin/shortlog.c:251
 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:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Supprimer les descriptions de validation, fournit seulement le nombre de "
 "validations"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "Afficher l'adresse e-mail de chaque auteur"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "Couper les lignes"
 
@@ -12468,38 +12898,38 @@ msgstr ""
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<motif>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "afficher seulement les étiquettes (peut être combiné avec heads)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "afficher seulement les têtes (peut être combiné avec tags)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 "vérification de référence plus stricte, nécessite un chemin de référence "
 "exact"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "afficher la référence HEAD, même si elle serait filtrée"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "déréférencer les étiquettes en IDs d'objet"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "afficher seulement le hachage SHA1 en utilisant <n> chiffres"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "ne pas afficher les résultats sur la sortie standard (pratique avec --verify)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "afficher les références de l'entrée standard qui ne sont pas dans le dépôt "
@@ -12523,12 +12953,12 @@ 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:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "Référence inexistante : %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
@@ -12538,8 +12968,7 @@ msgstr "Nom de référence complet attendu, %s obtenu"
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
@@ -12547,91 +12976,91 @@ msgstr "ancre alternative pour les chemins relatifs"
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, 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:369
+#: builtin/submodule--helper.c:373
 #, 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:373
+#: builtin/submodule--helper.c:377
 #, 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:383
+#: builtin/submodule--helper.c:387
 #, 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:390
+#: builtin/submodule--helper.c:394
 #, 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:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<chemin>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, 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:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, 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:563
+#: builtin/submodule--helper.c:564
 #, 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:570
+#: builtin/submodule--helper.c:571
 #, 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:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12639,98 +13068,93 @@ msgstr ""
 "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference "
 "<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "impossible de créer le répertoire '%s'"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, 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:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "impossible d'ouvrir le fichier '%s'"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "impossible de fermer le fichier %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, 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:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, 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:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 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:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 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:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 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:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12739,12 +13163,25 @@ 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:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "parcourir récursivement les sous-modules"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<chemin>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr ""
 "la sous-commande submodule--helper doit être appelée avec une sous-commande"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s ne gère pas --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -12799,25 +13236,25 @@ msgstr ""
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<motif>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <nométiquette>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<format>] <nométiquette>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "nom d'étiquette trop long : %.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "étiquette '%s' non trouvée."
 
-#: builtin/tag.c:101
+#: 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:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12830,7 +13267,7 @@ msgstr ""
 "  %s\n"
 "Les lignes commençant par '%c' seront ignorées.\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12845,138 +13282,138 @@ 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:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "impossible de signer l'étiquette"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "impossible d'écrire le fichier d'étiquettes"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "en-tête d'étiquette trop gros."
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, 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:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "l'option -n est autorisée seulement avec -l."
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "l'option --contains est autorisée seulement avec -l."
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "l'option --points-at est autorisée seulement avec -l."
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "les options --merged et --no-merged ne sont autorisées qu'avec -l"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
@@ -13176,7 +13613,7 @@ msgstr "tester si le système de fichier supporte le cache de non-suivis"
 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:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13184,11 +13621,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:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13196,7 +13633,7 @@ 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:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
@@ -13247,7 +13684,7 @@ msgstr "git verify-commit [-v | --verbose] <commit>..."
 msgid "print commit contents"
 msgstr "afficher le contenu du commit"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "afficher les messages bruts de gpg"
 
@@ -13263,11 +13700,11 @@ msgstr "verbeux"
 msgid "show statistics only"
 msgstr "afficher seulement les statistiques"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <étiquette>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "afficher le contenu de l'étiquette"
 
@@ -13319,6 +13756,14 @@ msgstr ""
 "Suppression de worktrees/%s : le fichier gitdir point sur un endroit "
 "inexistant"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "afficher les arbres de travail éliminés"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "faire expirer les arbres de travail plus vieux que <temps>"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -13356,31 +13801,31 @@ msgstr "remplissage de la nouvelle copie de travail"
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "raison du vérouillage"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 "La copie de travail principale ne peut pas être vérouillée ou dévérouillée"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
@@ -13405,21 +13850,21 @@ msgstr "seulement utile pour le débogage"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<options>] <répertoire>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "quitter après un unique échange requête/réponse"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "Sortir immédiatement après l'annonce initiale des références"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 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:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "interrompre le transfer après <n> secondes d'inactivité"
 
@@ -13450,14 +13895,30 @@ 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:342
+#: http.c:344
 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:351
+#: http.c:353
 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:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"impossible de mettre à jour la base de l'url depuis la redirection :\n"
+"      demandé : %s\n"
+"  redirection : %s"
+
+#: remote-curl.c:319
+#, 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)"
@@ -13667,7 +14128,7 @@ msgstr "Attention : bissection avec seulement une validation $TERM_BAD."
 #. at this point.
 #: git-bisect.sh:328
 msgid "Are you sure [Y/n]? "
-msgstr "Êtes-vous sûr [Y/n] ? "
+msgstr "Confirmez-vous [Y/n] ? "
 
 #: git-bisect.sh:340
 #, sh-format
@@ -13835,7 +14296,7 @@ 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:56
+#: git-rebase.sh:57
 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"
@@ -13847,53 +14308,39 @@ msgstr ""
 "Pour extraire la branche d'origine et stopper le rebasage, lancez \"git "
 "rebase --abort\"."
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Impossible de revenir à $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "Autoremisage appliqué."
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Impossible de stocker $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"L'application de l'autoremisage a provoqué des conflits\n"
-"Vos  modifications sont à l'abri dans la remise.\n"
-"Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 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:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 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:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13901,7 +14348,7 @@ msgstr ""
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13923,65 +14370,65 @@ msgstr ""
 "chose\n"
 "d'important ici."
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "invalide $upstream_name en amont"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, 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:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, 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:501
+#: git-rebase.sh:505
 #, 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:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "fatal : pas de branche : $branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "Autoremisage impossible"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Autoremisage créé : $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "Veuillez les valider ou les remiser."
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "La branche courante $branch_name est à jour."
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, 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:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Changements de $mb sur $onto :"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Premièrement, rembobinons head pour rejouer votre travail par-dessus..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "$branch_name mise à jour en avance rapide sur $onto_name."
@@ -14147,23 +14594,28 @@ msgstr "Aucune branche spécifiée"
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 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:194
+#: git-submodule.sh:191
 #, 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:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' existe déjà dans l'index et n'est pas un sous-module"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -14174,24 +14626,24 @@ msgstr ""
 "$sm_path\n"
 "Utilisez -f si vous voulez vraiment l'ajouter."
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, 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:235
+#: git-submodule.sh:238
 #, 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:243
+#: git-submodule.sh:246
 #, 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:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -14208,48 +14660,48 @@ msgstr ""
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, 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:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Entrée dans '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Arrêt sur '$displaypath' ; le script a retourné un statut non nul."
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "un spécificateur de chemin et --all sont incompatibles"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, 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:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14260,7 +14712,7 @@ msgstr ""
 "(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14269,42 +14721,42 @@ msgstr ""
 "La copie de travail du sous-module '$displaypath' contient des modifications "
 "locales ; utilisez '-f' pour les annuler"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Répertoire '$displaypath' nettoyé"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, 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:455
+#: git-submodule.sh:458
 #, 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:464
+#: git-submodule.sh:467
 #, 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:617
+#: git-submodule.sh:623
 #, 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:627
+#: git-submodule.sh:633
 #, 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:632
+#: git-submodule.sh:638
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14313,12 +14765,12 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14327,88 +14779,88 @@ 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:663
+#: git-submodule.sh:669
 #, 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:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, 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:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, 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:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, 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:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 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:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, 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:895
+#: git-submodule.sh:901
 #, 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:898
+#: git-submodule.sh:904
 #, 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:1045
+#: git-submodule.sh:1051
 #, 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:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
@@ -14418,12 +14870,12 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
 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:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Rebasage ($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14449,7 +14901,7 @@ msgstr ""
 "\n"
 "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14458,7 +14910,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14466,7 +14918,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14485,87 +14937,83 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, 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:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Nom de commit invalide : $sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 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:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Avance rapide sur $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Avance rapide impossible sur $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Impossible de déplacer HEAD sur $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Refus d'écraser un commit de fusion: $sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Erreur lors de la réapplication de la fusion $sha1"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Impossible de picorer $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Ceci est le ${n}ième message de validation :"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Le message de validation ${n} sera ignoré :"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, 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:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Impossible d'écrire $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "Ceci est la combinaison de 2 commits."
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "Ceci est le premier message de validation :"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Impossible d'appliquer $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14582,31 +15030,31 @@ msgstr ""
 "le\n"
 "problème avant de pouvoir reformuler le message du commit."
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Arrêté à $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "'$squash_style' impossible avec le commit précédent"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Exécution : $rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "L'exécution a échoué : $rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 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:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14617,7 +15065,7 @@ msgstr ""
 "git rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14632,25 +15080,25 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Commande inconnue : $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Rebasage et mise à jour de $head_name avec succès."
 
-#: git-rebase--interactive.sh:740
+#: 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:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14659,7 +15107,7 @@ msgstr ""
 "Attention : le SHA-1 manque ou n'est pas un commit dans la ligne suivante :\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14668,11 +15116,11 @@ msgstr ""
 "Attention : la commande n'est pas reconnue dans le ligne suivante :\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
@@ -14680,7 +15128,7 @@ msgstr ""
 "Attention : certains commits ont pu être accidentellement supprimés.\n"
 "Commits supprimés (du plus jeune au plus vieux) :"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14695,7 +15143,7 @@ msgstr ""
 "d'avertissements.\n"
 "Les comportements disponibles sont : ignore, warn, error."
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
@@ -14704,7 +15152,7 @@ msgstr ""
 "Paramètre non reconnu $check_level pour l'option rebase.missingCommitsCheck. "
 "Ignoré."
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
@@ -14712,15 +15160,15 @@ msgstr ""
 "Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
 "rebase --continue'."
 
-#: git-rebase--interactive.sh:1045
+#: 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:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14751,12 +15199,12 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 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:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14764,11 +15212,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:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14783,40 +15231,40 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "Impossible de lancer l'éditeur"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Impossible d'extraire $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "Pas de HEAD ?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Impossible de créer un répertoire temporaire $state_dir"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "Impossible de marquer comme interactif"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "Impossible d'initialiser les commits réécrits"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, 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:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14826,7 +15274,7 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "Veuillez noter que les commits vides sont en commentaire"
 
@@ -14897,6 +15345,920 @@ msgstr ""
 msgid "Unable to determine absolute path of git directory"
 msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %s12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "indexé"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "non-indexé"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "binaire"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "rien"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "inchangé"
+
+#: git-add--interactive.perl:653
+#, 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:656
+#, 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:659
+#, 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:662
+#, 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:671
+msgid "Update"
+msgstr "Mise à jour"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "Inverser"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "note : %s n'est plus suivi à présent.\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "Ajouter un fichier non-suivi"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "Aucun Fichier non suivi.\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immédiatement marquée comme indexée."
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immédiatement marquée comme remisée."
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immédiatement marquée comme desindexée."
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immediatement marquée comme appliquée."
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immediatement marquée comme éliminée"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera\n"
+"immediatement marquée comme éliminée."
+
+#: git-add--interactive.perl:1067
+#, 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:1068
+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:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"Pour éliminer les lignes '%s', rendez-les ' ' (contexte).\n"
+"Pour éliminer les lignes '%s', effacez-les.\n"
+"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:1082
+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"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Si ça ne s'applique pas proprement, vous aurez la possibilité de\n"
+"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:1096
+#, 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"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. 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:1187
+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:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - indexer cette section\n"
+"n - ne pas indexer cette section\n"
+"q - quitter ; ne pas indexer cette section ni les autres restantes\n"
+"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:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - remiser cette section\n"
+"n - ne pas remiser cette section\n"
+"q - quitter ; ne pas remiser cette section ni les autres restantes\n"
+"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:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - désindexer cette section\n"
+"n - ne pas désindexer cette section\n"
+"q - quitter ; ne pas désindexer cette section ni les autres restantes\n"
+"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:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - appliquer cette section\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"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:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - supprimer cette section\n"
+"n - ne pas supprimer cette section\n"
+"q - quitter ; ne pas supprimer cette section ni les autres restantes\n"
+"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:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - éliminer cette section de l'index et de l'arbre de travail\n"
+"n - ne pas éliminer cette section\n"
+"q - quitter ; ne pas éliminer cette section ni les autres restantes\n"
+"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:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - appliquer cette section à l'index et à l'arbre de travail\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"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:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - selectionner une section et s'y rendre\n"
+"/ - rechercher une section correspondant à une regex donnée\n"
+"j - laisser cette section non décidée et aller à la suivante non-décidée\n"
+"J - laisser cette section non décidée et aller à la suivante\n"
+"k - laisser cette section non décidée et aller à la précédente non-décidée\n"
+"K - laisser cette section non décidée et aller à la précédente\n"
+"s - découper la section en sections plus petites\n"
+"e - éditer manuellement la section actuelle\n"
+"? - afficher l'aide\n"
+
+#: git-add--interactive.perl:1272
+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:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "Les appliquer quand même à l'arbre de travail ? "
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "Rien n'a été appliqué.\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "fichier non-fusionné ignoré : %s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "Seuls des fichiers binaires ont changé.\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "Aucune modification.\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "Mise à jour par patch"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+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:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Indexer la suppression [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Indexer cette section [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+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:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Remiser la suppression [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "Remiser cette section [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1368
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "Désindexer la suppression [y,n,q,a,d,/%s,?] ? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+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:1373
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1374
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1375
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1378
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1379
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1380
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+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,?] ? "
+
+#: git-add--interactive.perl:1384
+#, 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,?] ? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+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,?] ? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+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,?] ? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+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,/"
+"%s,?] ? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+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,?] ? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "aller à quelle section (<ret> pour voir plus) ? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "aller à quelle section ? "
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "Nombre invalide : '%s'\n"
+
+#: git-add--interactive.perl:1509
+#, 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:1535
+msgid "search for regex? "
+msgstr "rechercher la regex ? "
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "Regex de recherche malformée %s : %s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "Aucune section ne correspond au motif donné\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "Pas de section précédente\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "Pas de section suivante\n"
+
+#: git-add--interactive.perl:1606
+#, 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:1658
+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:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - montrer les chemins modifiés\n"
+"update        - ajouter l'état de l'arbre de travail aux modifications à "
+"indexer\n"
+"revert        - faire revenir les modifications à indexer à la version HEAD\n"
+"patch         - sélectionner les sections et mettre à jour sélectivement\n"
+"diff\t      - visualiser les diff entre HEAD et l'index\n"
+"add untracked - Ajouter les fichiers non-suivis aux modifications à indexer\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "-- manquant"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "mode de --patch inconnu : %s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "argument invalide %s, -- attendu"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "la zone locale diffère du GMT par un interval supérieur à une minute\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+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:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "l'éditeur est sorti en erreur, abandon total"
+
+#: git-send-email.perl:282
+#, 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:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' contient le courriel composé.\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases est incompatible avec d'autres options\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+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:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "Champ de --suppress-cc inconnu : '%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "Paramètre de --confirm inconnu : '%s'\n"
+
+#: git-send-email.perl:498
+#, 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:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "attention : `:include:` n'est pas supporté : %s\n"
+
+#: git-send-email.perl:502
+#, 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:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "attention : ligne sendmail non reconnue : %s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"Le fichier '%s' existe mais ce pourrait aussi être la plage de commmits\n"
+"pour lequel les patches sont à produire. Veuillez préciser...\n"
+"\n"
+"    * 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:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "Échec à l'ouverture du répertoire %s : %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"fatal : %s : %s\n"
+"attention : aucun patch envoyé\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr ""
+"\n"
+"Aucun fichier patch spécifié !\n"
+"\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "Ligne de sujet non trouvée dans %s ?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "Impossible d'ouvrir %s en écriture : %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"Les lignes commençant par \"GIT:\" seront supprimées.\n"
+"Envisagez d'inclure un diffstat global ou une table des matières\n"
+"pour le patch que vous êtes en train d'écrire.\n"
+"\n"
+"Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "Échec à l'ouverture de %s.final : %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "Échec à l'ouverture de %s : %s"
+
+#: git-send-email.perl:739
+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:748
+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:780
+#, 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:809
+msgid ""
+"The following files are 8bit, but do not declare a Content-Transfer-"
+"Encoding.\n"
+msgstr ""
+"Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
+"Transfer-Encoding.\n"
+
+#: git-send-email.perl:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"Envoi refusé parce que le patch\n"
+"\t%s\n"
+"a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
+"vraiment envoyer.\n"
+
+#: git-send-email.perl:841
+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:859
+#, 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:871
+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:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+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:933
+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:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "le chemin vers la CA \"%s\" n'existe pas"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"   La liste CC ci-dessus a été étendue avec des adresses\n"
+"   supplémentaires trouvées dans le message de validation.\n"
+"   Par défaut dans ce cas, send-email demande confirmation avant envoi.\n"
+"   Ce comportement est géré par le paramètre de configuration\n"
+"   sendemail.confirm.\n"
+"\n"
+"   Pour tout information complémentaire, lancez 'git send-email --help'.\n"
+"   Pour conserver le comportement actuel, mais éliminer ce message,\n"
+"   lancez 'git config --global sendemail.confirm auto'.\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+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:1327
+msgid "Send this email reply required"
+msgstr "Une réponse est nécessaire"
+
+#: git-send-email.perl:1353
+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:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "Le serveur ne supporte pas STARTTLS ! %s"
+
+#: git-send-email.perl:1403
+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:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "échec de l'envoi de %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "Envoi simulé de %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "%s envoyé\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "Simulation OK. Le journal indique :\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK. Le journal indique :\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "Résultat : "
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "Résultat : OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "impossible d'ouvrir le fichier %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, 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:1507
+#, 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:1555
+#, 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:1578
+#, 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:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) Impossible d'exécuter '%s'"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) échec de la fermeture du pipe vers '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "impossible d'envoyer un message comme 7bit"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "codage de transfert invalide"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "impossible d'ouvrir %s :%s\n"
+
+#: git-send-email.perl:1744
+#, 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:1760
+#, 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:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr ""
+#~ "Utiliser une heuristique expérimentale reposant sur les lignes vides pour "
+#~ "améliorer le diffs"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "Malin... correction du dernier avec un index sale."
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] ""
+#~ "le sous-module suivant (ou un de ses sous-modules imbriqués)\n"
+#~ "utilise un répertoire .git :"
+#~ msgstr[1] ""
+#~ "les sous-modules suivants (ou un de leurs sous-modules imbriqués)\n"
+#~ "utilisent un répertoire .git :"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\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"
 
@@ -15047,9 +16409,6 @@ msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 #~ msgid "bug: unhandled diff status %c"
 #~ msgstr "bogue : état de diff non géré %c"
 
-#~ msgid "read of %s failed"
-#~ msgstr "échec de la lecture de %s"
-
 #~ msgid "could not write branch description template"
 #~ msgstr "impossible d'écrire le modèle de description de branche"
 
@@ -15113,8 +16472,8 @@ msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 #~ "or you are unsure what this means choose another name with the '--name' "
 #~ "option."
 #~ msgstr ""
-#~ "ou vous ne savez pas ce que cela signifie de choisir un autre nom avec "
-#~ "l'option '--name'."
+#~ "ou si vous ne savez pas ce que cela signifie, choisissez un autre nom "
+#~ "avec l'option '--name'."
 
 #~ msgid "Submodule work tree '$displaypath' contains a .git directory"
 #~ msgstr ""
@@ -15134,12 +16493,6 @@ msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 #~ msgid "unable to access '%s': %s"
 #~ msgstr "impossible d'accéder à '%s' : %s"
 
-#~ msgid "could not open '%s' for reading: %s"
-#~ msgstr "impossible d'ouvrir '%s' en lecture : %s"
-
-#~ msgid "could not open '%s' for writing: %s"
-#~ msgstr "impossible d'ouvrir '%s' en écriture : %s"
-
 #~ msgid "    git branch -d %s\n"
 #~ msgstr "    git branch -d %s\n"