about summary refs log tree commit diff
path: root/third_party/git/po/fr.po
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-11-21T18·20+0100
committerVincent Ambo <mail@tazj.in>2020-11-21T18·45+0100
commitf4609b896fac842433bd495c166d5987852a6a73 (patch)
tree95511c465c54c4f5d27e5d39ce187e2a1dd82bd3 /third_party/git/po/fr.po
parent082c006c04343a78d87b6c6ab3608c25d6213c3f (diff)
merge(3p/git): Merge git subtree at v2.29.2 r/1890
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because
there is some breakage in the git build related to the netrc
credentials helper which someone has taken care of in nixpkgs.

The stable channel is not used for anything other than git, so this
should be fine.

Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
Diffstat (limited to 'third_party/git/po/fr.po')
-rw-r--r--third_party/git/po/fr.po12759
1 files changed, 7343 insertions, 5416 deletions
diff --git a/third_party/git/po/fr.po b/third_party/git/po/fr.po
index 55c7db6aa6d0..f510f0bc6fc0 100644
--- a/third_party/git/po/fr.po
+++ b/third_party/git/po/fr.po
@@ -57,6 +57,7 @@
 #   revision         |  révision
 #   shallow          |  superficiel
 #   shell            |  interpréteur de commandes
+#   sparse           |  clairsemé
 #   stash            |  remisage
 #   to stash         |  remiser
 #   tag              |  étiquette
@@ -69,14 +70,14 @@
 #   upstream         |  amont
 #   viewer           |  visualiseur
 #   worktree /       |
-#   work(ing) tree   |  copie de travail
+#   work(ing) tree   |  arbre de travail
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-08-10 20:12+0800\n"
-"PO-Revision-Date: 2019-08-10 18:17+0200\n"
+"POT-Creation-Date: 2020-10-10 09:32+0800\n"
+"PO-Revision-Date: 2020-10-10 13:10+0200\n"
 "Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -86,37 +87,776 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 "X-Generator: Poedit 2.2.3\n"
 
-#: advice.c:109
+#: add-interactive.c:368
+#, c-format
+msgid "Huh (%s)?"
+msgstr "Hein (%s) ?"
+
+#: add-interactive.c:521 add-interactive.c:822 reset.c:65 sequencer.c:3250
+#: sequencer.c:3698 sequencer.c:3840 builtin/rebase.c:1526
+#: builtin/rebase.c:1944
+msgid "could not read index"
+msgstr "impossible de lire l'index"
+
+#: add-interactive.c:576 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr "binaire"
+
+#: add-interactive.c:634 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr "rien"
+
+#: add-interactive.c:635 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr "inchangé"
+
+#: add-interactive.c:672 git-add--interactive.perl:643
+msgid "Update"
+msgstr "Mise à jour"
+
+#: add-interactive.c:689 add-interactive.c:877
+#, c-format
+msgid "could not stage '%s'"
+msgstr "impossible d'indexer '%s'"
+
+#: add-interactive.c:695 add-interactive.c:884 reset.c:89 sequencer.c:3444
+msgid "could not write index"
+msgstr "impossible d'écrire l'index"
+
+#: add-interactive.c:698 git-add--interactive.perl:628
+#, c-format, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "%d chemin mis à jour\n"
+msgstr[1] "%d chemins mis à jour\n"
+
+#: add-interactive.c:716 git-add--interactive.perl:678
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "note : %s n'est plus suivi à présent.\n"
+
+#: add-interactive.c:721 apply.c:4127 builtin/checkout.c:295
+#: builtin/reset.c:145
+#, c-format
+msgid "make_cache_entry failed for path '%s'"
+msgstr "échec de make_cache_entry pour le chemin '%s'"
+
+#: add-interactive.c:751 git-add--interactive.perl:655
+msgid "Revert"
+msgstr "Inverser"
+
+#: add-interactive.c:767
+msgid "Could not parse HEAD^{tree}"
+msgstr "impossible d'analyser HEAD^{tree}"
+
+#: add-interactive.c:805 git-add--interactive.perl:631
+#, c-format, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "%d chemin inversé\n"
+msgstr[1] "%d chemins inversés\n"
+
+#: add-interactive.c:856 git-add--interactive.perl:695
+#, c-format
+msgid "No untracked files.\n"
+msgstr "Aucun Fichier non suivi.\n"
+
+#: add-interactive.c:860 git-add--interactive.perl:689
+msgid "Add untracked"
+msgstr "Ajouter un fichier non-suivi"
+
+#: add-interactive.c:887 git-add--interactive.perl:625
+#, c-format, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "%d chemin ajouté\n"
+msgstr[1] "%d chemins ajoutés\n"
+
+#: add-interactive.c:917
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr "fichier non-fusionné ignoré : %s"
+
+#: add-interactive.c:929 add-patch.c:1738 git-add--interactive.perl:1371
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr "Seuls des fichiers binaires ont changé.\n"
+
+#: add-interactive.c:931 add-patch.c:1736 git-add--interactive.perl:1373
+#, c-format
+msgid "No changes.\n"
+msgstr "Aucune modification.\n"
+
+#: add-interactive.c:935 git-add--interactive.perl:1381
+msgid "Patch update"
+msgstr "Mise à jour par patch"
+
+#: add-interactive.c:974 git-add--interactive.perl:1794
+msgid "Review diff"
+msgstr "Réviser la différence"
+
+#: add-interactive.c:1002
+msgid "show paths with changes"
+msgstr "afficher les chemins comprenant des modifications"
+
+#: add-interactive.c:1004
+msgid "add working tree state to the staged set of changes"
+msgstr ""
+"ajouter l'état de l'arbre de travail à l'ensemble des modifications indexées"
+
+#: add-interactive.c:1006
+msgid "revert staged set of changes back to the HEAD version"
+msgstr "retourner l'ensemble de modifications indexées à la version HEAD"
+
+#: add-interactive.c:1008
+msgid "pick hunks and update selectively"
+msgstr "sélection et mise à jour individuelle des sections"
+
+#: add-interactive.c:1010
+msgid "view diff between HEAD and index"
+msgstr "visualiser les diffs entre HEAD et l'index"
+
+#: add-interactive.c:1012
+msgid "add contents of untracked files to the staged set of changes"
+msgstr ""
+"ajouter le contenu des fichiers non-suivis à l'ensemble des modifications "
+"indexées"
+
+#: add-interactive.c:1020 add-interactive.c:1069
+msgid "Prompt help:"
+msgstr "Aide :"
+
+#: add-interactive.c:1022
+msgid "select a single item"
+msgstr "sélectionner un seul élément"
+
+#: add-interactive.c:1024
+msgid "select a range of items"
+msgstr "sélectionner une plage d'éléments"
+
+#: add-interactive.c:1026
+msgid "select multiple ranges"
+msgstr "sélectionner plusieurs plages"
+
+#: add-interactive.c:1028 add-interactive.c:1073
+msgid "select item based on unique prefix"
+msgstr "sélectionner un élément basé sur une préfixe unique"
+
+#: add-interactive.c:1030
+msgid "unselect specified items"
+msgstr "désélectionner les éléments spécifiés"
+
+#: add-interactive.c:1032
+msgid "choose all items"
+msgstr "choisir tous les éléments"
+
+#: add-interactive.c:1034
+msgid "(empty) finish selecting"
+msgstr "(vide) arrêter de sélectionner"
+
+#: add-interactive.c:1071
+msgid "select a numbered item"
+msgstr "sélectionner un élément par son numéro"
+
+#: add-interactive.c:1075
+msgid "(empty) select nothing"
+msgstr "(vide) ne rien sélectionner"
+
+#: add-interactive.c:1083 builtin/clean.c:816 git-add--interactive.perl:1891
+msgid "*** Commands ***"
+msgstr "*** Commandes ***"
+
+#: add-interactive.c:1084 builtin/clean.c:817 git-add--interactive.perl:1888
+msgid "What now"
+msgstr "Et maintenant ?"
+
+#: add-interactive.c:1136 git-add--interactive.perl:213
+msgid "staged"
+msgstr "indexé"
+
+#: add-interactive.c:1136 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr "non-indexé"
+
+#: add-interactive.c:1136 apply.c:4984 apply.c:4987 builtin/am.c:2270
+#: builtin/am.c:2273 builtin/bugreport.c:133 builtin/clone.c:123
+#: builtin/fetch.c:147 builtin/merge.c:275 builtin/pull.c:190
+#: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1818
+#: builtin/submodule--helper.c:1821 builtin/submodule--helper.c:2326
+#: builtin/submodule--helper.c:2329 builtin/submodule--helper.c:2572
+#: git-add--interactive.perl:213
+msgid "path"
+msgstr "chemin"
+
+#: add-interactive.c:1143
+msgid "could not refresh index"
+msgstr "impossible de rafraîchir l'index"
+
+#: add-interactive.c:1157 builtin/clean.c:781 git-add--interactive.perl:1805
+#, c-format
+msgid "Bye.\n"
+msgstr "Au revoir.\n"
+
+#: add-patch.c:34 git-add--interactive.perl:1433
+#, c-format, perl-format
+msgid "Stage mode change [y,n,q,a,d%s,?]? "
+msgstr "Indexer le changement de mode [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:35 git-add--interactive.perl:1434
+#, c-format, perl-format
+msgid "Stage deletion [y,n,q,a,d%s,?]? "
+msgstr "Indexer la suppression [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:36 git-add--interactive.perl:1435
+#, c-format, perl-format
+msgid "Stage addition [y,n,q,a,d%s,?]? "
+msgstr "Indexer l'ajout [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:37 git-add--interactive.perl:1436
+#, c-format, perl-format
+msgid "Stage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Indexer cette section [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:39
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for "
+"staging."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme indexée."
+
+#: add-patch.c:42
+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\n"
+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\n"
+
+#: add-patch.c:56 git-add--interactive.perl:1439
+#, c-format, perl-format
+msgid "Stash mode change [y,n,q,a,d%s,?]? "
+msgstr "Remiser le changement de mode [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:57 git-add--interactive.perl:1440
+#, c-format, perl-format
+msgid "Stash deletion [y,n,q,a,d%s,?]? "
+msgstr "Remiser la suppression [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:58 git-add--interactive.perl:1441
+#, c-format, perl-format
+msgid "Stash addition [y,n,q,a,d%s,?]? "
+msgstr "Remiser l'ajout [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:59 git-add--interactive.perl:1442
+#, c-format, perl-format
+msgid "Stash this hunk [y,n,q,a,d%s,?]? "
+msgstr "Remiser cette section [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:61
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for "
+"stashing."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme remisée."
+
+#: add-patch.c:64
+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\n"
+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\n"
+
+#: add-patch.c:80 git-add--interactive.perl:1445
+#, c-format, 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,?] ? "
+
+#: add-patch.c:81 git-add--interactive.perl:1446
+#, c-format, perl-format
+msgid "Unstage deletion [y,n,q,a,d%s,?]? "
+msgstr "Désindexer la suppression [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:82 git-add--interactive.perl:1447
+#, c-format, perl-format
+msgid "Unstage addition [y,n,q,a,d%s,?]? "
+msgstr "Désindexer l'ajout [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:83 git-add--interactive.perl:1448
+#, c-format, perl-format
+msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Désindexer cette section [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:85
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for "
+"unstaging."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme desindexée."
+
+#: add-patch.c:88
+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\n"
+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\n"
+
+#: add-patch.c:103 git-add--interactive.perl:1451
+#, c-format, 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,?] ? "
+
+#: add-patch.c:104 git-add--interactive.perl:1452
+#, c-format, 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,?] ? "
+
+#: add-patch.c:105 git-add--interactive.perl:1453
+#, c-format, perl-format
+msgid "Apply addition to index [y,n,q,a,d%s,?]? "
+msgstr "Appliquer l'ajout à l'index [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:106 git-add--interactive.perl:1454
+#, c-format, 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,?] ? "
+
+#: add-patch.c:108 add-patch.c:176 add-patch.c:221
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for "
+"applying."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme appliquée."
+
+#: add-patch.c:111
+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\n"
+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\n"
+
+#: add-patch.c:126 git-add--interactive.perl:1457
+#: git-add--interactive.perl:1475
+#, c-format, 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,?] ? "
+
+#: add-patch.c:127 git-add--interactive.perl:1458
+#: git-add--interactive.perl:1476
+#, c-format, 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,?] ? "
+
+#: add-patch.c:128 git-add--interactive.perl:1459
+#: git-add--interactive.perl:1477
+#, c-format, perl-format
+msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
+msgstr "Abandonner l'ajout dans l'arbre [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:129 git-add--interactive.perl:1460
+#: git-add--interactive.perl:1478
+#, c-format, 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,?] ? "
+
+#: add-patch.c:131 add-patch.c:154 add-patch.c:199
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for "
+"discarding."
+msgstr ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme éliminée."
+
+#: add-patch.c:134 add-patch.c:202
+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\n"
+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\n"
+
+#: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1463
+#, c-format, 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,?] ? "
+
+#: add-patch.c:150 add-patch.c:195 git-add--interactive.perl:1464
+#, c-format, 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,?] ? "
+
+#: add-patch.c:151 add-patch.c:196 git-add--interactive.perl:1465
+#, c-format, perl-format
+msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Abandonner l'ajout de l'index et de l'arbre [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:152 add-patch.c:197 git-add--interactive.perl:1466
+#, c-format, 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,?] ? "
+
+#: add-patch.c:157
+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\n"
+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\n"
+
+#: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1469
+#, c-format, 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,?] ? "
+
+#: add-patch.c:172 add-patch.c:217 git-add--interactive.perl:1470
+#, c-format, 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,?] ? "
+
+#: add-patch.c:173 add-patch.c:218 git-add--interactive.perl:1471
+#, c-format, perl-format
+msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+"Appliquer l'ajout dans l'index et l'arbre de travail [y,n,q,a,d%s,?] ? "
+
+#: add-patch.c:174 add-patch.c:219 git-add--interactive.perl:1472
+#, c-format, 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,?] ? "
+
+#: add-patch.c:179
+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\n"
+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\n"
+
+#: add-patch.c:224
+msgid ""
+"y - apply this hunk to worktree\n"
+"n - do not apply this hunk to 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\n"
+msgstr ""
+"y - appliquer cette section à 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\n"
+
+#: add-patch.c:342
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr "impossible d'analyser l'entête de section '%.*s'"
+
+#: add-patch.c:361 add-patch.c:365
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr "impossible d'analyser l'entête coloré de section '%.*s'"
+
+#: add-patch.c:419
+msgid "could not parse diff"
+msgstr "impossible d'analyser la diff"
+
+#: add-patch.c:438
+msgid "could not parse colored diff"
+msgstr "impossible d'analyser la diff colorée"
+
+#: add-patch.c:452
+#, c-format
+msgid "failed to run '%s'"
+msgstr "échec pour lancer '%s'"
+
+#: add-patch.c:611
+msgid "mismatched output from interactive.diffFilter"
+msgstr "sortie sans correspondance depuis interactive.diffFilter"
+
+#: add-patch.c:612
+msgid ""
+"Your filter must maintain a one-to-one correspondence\n"
+"between its input and output lines."
+msgstr ""
+"Votre filtre doit maintenir une correspondance un-pour-un\n"
+"entre les lignes en entrée et en sortie."
+
+#: add-patch.c:785
+#, c-format
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr ""
+"ligne de contexte attendue #%d dans\n"
+"%.*s"
+
+#: add-patch.c:800
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr ""
+"les sections ne se recouvrent pas :\n"
+"%.*s\n"
+"\tne se termine pas par :\n"
+"%.*s"
+
+#: add-patch.c:1076 git-add--interactive.perl:1117
+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"
+
+#: add-patch.c:1080
+#, c-format
+msgid ""
+"---\n"
+"To remove '%c' lines, make them ' ' lines (context).\n"
+"To remove '%c' lines, delete them.\n"
+"Lines starting with %c will be removed.\n"
+msgstr ""
+"---\n"
+"Pour éliminer les lignes '%c', rendez-les ' ' (contexte).\n"
+"Pour éliminer les lignes '%c', effacez-les.\n"
+"Les lignes commençant par %c seront éliminées.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: add-patch.c:1094 git-add--interactive.perl:1131
+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"
+
+#: add-patch.c:1127
+msgid "could not parse hunk header"
+msgstr "impossible d'analyser l'entête de section"
+
+#: add-patch.c:1172
+msgid "'git apply --cached' failed"
+msgstr "'git apply --cached' a échoué"
+
+#. 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.
+#.
+#. 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.
+#: add-patch.c:1241 git-add--interactive.perl:1244
+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] ? "
+
+#: add-patch.c:1284
+msgid "The selected hunks do not apply to the index!"
+msgstr "Les sections sélectionnées ne s'applique pas à l'index !"
+
+#: add-patch.c:1285 git-add--interactive.perl:1348
+msgid "Apply them to the worktree anyway? "
+msgstr "Les appliquer quand même à l'arbre de travail ? "
+
+#: add-patch.c:1292 git-add--interactive.perl:1351
+msgid "Nothing was applied.\n"
+msgstr "Rien n'a été appliqué.\n"
+
+#: add-patch.c:1349
+msgid ""
+"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"
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"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"
+"g - sélectionner une section et s'y rendre\n"
+"/ - rechercher une section correspondant à une regex donnée\n"
+"s - découper la section en sections plus petites\n"
+"e - éditer manuellement la section actuelle\n"
+"? - afficher l'aide\n"
+
+#: add-patch.c:1511 add-patch.c:1521
+msgid "No previous hunk"
+msgstr "Pas de section précédente"
+
+#: add-patch.c:1516 add-patch.c:1526
+msgid "No next hunk"
+msgstr "Pas de section suivante"
+
+#: add-patch.c:1532
+msgid "No other hunks to goto"
+msgstr "Aucune autre section à atteindre"
+
+#: add-patch.c:1543 git-add--interactive.perl:1608
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "aller à quelle section (<ret> pour voir plus) ? "
+
+#: add-patch.c:1544 git-add--interactive.perl:1610
+msgid "go to which hunk? "
+msgstr "aller à quelle section ? "
+
+#: add-patch.c:1555
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr "Numéro invalide : '%s'"
+
+#: add-patch.c:1560
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] "Désolé, %d seule section disponible."
+msgstr[1] "Désolé, Seulement %d sections disponibles."
+
+#: add-patch.c:1569
+msgid "No other hunks to search"
+msgstr "aucune autre section à rechercher"
+
+#: add-patch.c:1575 git-add--interactive.perl:1663
+msgid "search for regex? "
+msgstr "rechercher la regex ? "
+
+#: add-patch.c:1590
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr "Regex de recherche malformée %s : %s"
+
+#: add-patch.c:1607
+msgid "No hunk matches the given pattern"
+msgstr "Aucune section ne correspond au motif donné"
+
+#: add-patch.c:1614
+msgid "Sorry, cannot split this hunk"
+msgstr "Désolé, impossible de découper cette section"
+
+#: add-patch.c:1618
+#, c-format
+msgid "Split into %d hunks."
+msgstr "Découpée en %d sections."
+
+#: add-patch.c:1622
+msgid "Sorry, cannot edit this hunk"
+msgstr "Désolé, impossible d'éditer cette section"
+
+#: add-patch.c:1674
+msgid "'git apply' failed"
+msgstr "'git apply' a échoué"
+
+#: advice.c:140
+#, c-format
+msgid ""
+"\n"
+"Disable this message with \"git config advice.%s false\""
+msgstr ""
+"\n"
+"Désactivez ce message avec \"git config advice.%s false\""
+
+#: advice.c:156
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:162
+#: advice.c:247
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "Impossible de picorer car vous avez des fichiers non fusionnés."
 
-#: advice.c:164
+#: advice.c:249
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:166
+#: advice.c:251
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:168
+#: advice.c:253
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:170
+#: advice.c:255
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:172
+#: advice.c:257
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "%s n'est pas possible car vous avez des fichiers non fusionnés."
 
-#: advice.c:180
+#: advice.c:265
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -124,23 +864,23 @@ msgstr ""
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:188
+#: advice.c:273
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: advice.c:193 builtin/merge.c:1327
+#: advice.c:278 builtin/merge.c:1349
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:195
+#: advice.c:280
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:196
+#: advice.c:281
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:202
+#: advice.c:287
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -275,17 +1015,7 @@ msgstr "mode invalide dans la ligne %d : %s"
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
-#: apply.c:1460
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "recomptage : ligne inattendue : %.*s"
-
-#: apply.c:1529
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
-
-#: apply.c:1551
+#: apply.c:1372
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -300,83 +1030,93 @@ msgstr[1] ""
 "information de nom de fichier manquante dans l'en-tête de git diff lors de "
 "la suppression de %d composants de préfixe de chemin (ligne %d)"
 
-#: apply.c:1564
+#: apply.c:1385
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 "information de nom de fichier manquante dans l'en-tête de git diff (ligne %d)"
 
-#: apply.c:1752
+#: apply.c:1481
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "recomptage : ligne inattendue : %.*s"
+
+#: apply.c:1550
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
+
+#: apply.c:1753
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
 
-#: apply.c:1754
+#: apply.c:1755
 msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
-#: apply.c:1788
+#: apply.c:1789
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "patch corrompu à la ligne %d"
 
-#: apply.c:1825
+#: apply.c:1826
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "le nouveau fichier %s dépend de contenus anciens"
 
-#: apply.c:1827
+#: apply.c:1828
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "le fichier supprimé %s a encore du contenu"
 
-#: apply.c:1830
+#: apply.c:1831
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
 
-#: apply.c:1977
+#: apply.c:1978
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2014
+#: apply.c:2015
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2176
+#: apply.c:2177
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2262
+#: apply.c:2263
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2266
+#: apply.c:2267
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2925
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3046
+#: apply.c:3057
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "La section n°%d a réussi à la ligne %d (offset %d ligne)."
 msgstr[1] "La section n°%d a réussi à la ligne %d (offset %d lignes)."
 
-#: apply.c:3058
+#: apply.c:3069
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Contexte réduit à (%ld/%ld) pour appliquer le fragment à la ligne %d"
 
-#: apply.c:3064
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -385,466 +1125,496 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3086
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3094
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "impossible d'appliquer l'inverse d'un patch binaire à '%s' sans la section "
 "inverse"
 
-#: apply.c:3141
+#: apply.c:3152
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "impossible d'appliquer un patch binaire à '%s' sans la ligne complète d'index"
 
-#: apply.c:3151
+#: apply.c:3163
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "le patch s'applique à '%s' (%s), ce qui ne correspond pas au contenu actuel."
 
-#: apply.c:3159
+#: apply.c:3171
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "le patch s'applique à un '%s' vide mais ce n'est pas vide"
 
-#: apply.c:3177
+#: apply.c:3189
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "l'image postérieure nécessaire %s pour '%s' ne peut pas être lue"
 
-#: apply.c:3190
+#: apply.c:3202
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3196
+#: apply.c:3209
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "le patch binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s "
 "trouvé)"
 
-#: apply.c:3217
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3340
+#: apply.c:3353
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279
+#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:72 setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "échec de la lecture de %s"
 
-#: apply.c:3400
+#: apply.c:3413
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3429 apply.c:3672
+#: apply.c:3442 apply.c:3685
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3515 apply.c:3687
+#: apply.c:3528 apply.c:3700
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3524 apply.c:3695
+#: apply.c:3537 apply.c:3708 apply.c:3953
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3559
+#: apply.c:3572
 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:3562
+#: apply.c:3575
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3578 apply.c:3582
+#: apply.c:3591 apply.c:3595
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3594
+#: apply.c:3607
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Échec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3608
+#: apply.c:3621
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3613
+#: apply.c:3626
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3639
+#: apply.c:3652
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3712
+#: apply.c:3725
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3714
+#: apply.c:3727
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856
-#: read-cache.c:1309
+#: apply.c:3892 apply.c:3894 read-cache.c:832 read-cache.c:858
+#: read-cache.c:1313
 #, c-format
 msgid "invalid path '%s'"
 msgstr "chemin invalide '%s'"
 
-#: apply.c:3923
+#: apply.c:3950
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3926
+#: apply.c:3956
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3946
+#: apply.c:3976
 #, 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:3951
+#: apply.c:3981
 #, 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:3971
+#: apply.c:4001
 #, 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:3975
+#: apply.c:4005
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:3990
+#: apply.c:4020
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4082
+#: apply.c:4112
 #, 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:4089
+#: apply.c:4119
 #, 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:4092
+#: apply.c:4122
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "échec de make_cache_entry pour le chemin '%s'"
-
-#: apply.c:4101
+#: apply.c:4131
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4111
+#: apply.c:4141
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4249
+#: apply.c:4279
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4283
+#: apply.c:4313
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4289
+#: apply.c:4319
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4297
+#: apply.c:4327
 #, 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:4303 apply.c:4448
+#: apply.c:4333 apply.c:4478
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4346
+#: apply.c:4376 builtin/bisect--helper.c:537
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4350
+#: apply.c:4380
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4420
+#: apply.c:4450
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4518
+#: apply.c:4548
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4526
+#: apply.c:4556
 msgid "internal error"
 msgstr "erreur interne"
 
-#: apply.c:4529
+#: apply.c:4559
 #, 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:4540
+#: apply.c:4570
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*s.rej"
 
-#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168
+#: apply.c:4578 builtin/fetch.c:927 builtin/fetch.c:1228
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: apply.c:4562
+#: apply.c:4592
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4566
+#: apply.c:4596
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4676
+#: apply.c:4715
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4684
+#: apply.c:4723
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4704
+#: apply.c:4743
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4859
+#: apply.c:4900
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4886
+#: apply.c:4927
 #, 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:4892 apply.c:4907
+#: apply.c:4933 apply.c:4948
 #, 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:4900
+#: apply.c:4941
 #, 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:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4957 builtin/add.c:618 builtin/mv.c:304 builtin/rm.c:406
 msgid "Unable to write new index file"
 msgstr "Impossible d'écrire le nouveau fichier d'index"
 
-#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211
-#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273
-#: builtin/pull.c:208 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211
-msgid "path"
-msgstr "chemin"
-
-#: apply.c:4944
+#: apply.c:4985
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4947
+#: apply.c:4988
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4949 builtin/am.c:2217
+#: apply.c:4990 builtin/am.c:2279
 msgid "num"
 msgstr "num"
 
-#: apply.c:4950
+#: apply.c:4991
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4953
+#: apply.c:4994
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4955
+#: apply.c:4996
 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:4959
+#: apply.c:5000
 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:4961
+#: apply.c:5002
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "au lieu d'appliquer le patch, afficher un résumé de l'entrée"
 
-#: apply.c:4963
+#: apply.c:5004
 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:4965
+#: apply.c:5006
 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:4967
+#: apply.c:5008
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
 
-#: apply.c:4969
+#: apply.c:5010
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4971
+#: apply.c:5012
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4974
+#: apply.c:5015
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)"
 
-#: apply.c:4976
+#: apply.c:5017
 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:4978
+#: apply.c:5019
 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:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5022 builtin/checkout-index.c:173 builtin/ls-files.c:525
 msgid "paths are separated with NUL character"
 msgstr "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4983
+#: apply.c:5024
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98
+#: apply.c:5025 builtin/am.c:2258 builtin/interpret-trailers.c:98
 #: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3330 builtin/rebase.c:1421
+#: builtin/pack-objects.c:3562 builtin/rebase.c:1340
 msgid "action"
 msgstr "action"
 
-#: apply.c:4985
+#: apply.c:5026
 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:4988 apply.c:4991
+#: apply.c:5029 apply.c:5032
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4994
+#: apply.c:5035
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4996
+#: apply.c:5037
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4998
+#: apply.c:5039
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:5000
+#: apply.c:5041
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5042 builtin/add.c:329 builtin/check-ignore.c:22
+#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:775
+#: builtin/log.c:2270 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "mode verbeux"
 
-#: apply.c:5003
+#: apply.c:5044
 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:5006
+#: apply.c:5047
 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:5008 builtin/am.c:2205
+#: apply.c:5049 builtin/am.c:2267
 msgid "root"
 msgstr "racine"
 
-#: apply.c:5009
+#: apply.c:5050
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
+#: archive-tar.c:125 archive-zip.c:345
+#, c-format
+msgid "cannot stream blob %s"
+msgstr "impossible de transmettre le blob %s en flux"
+
+#: archive-tar.c:265 archive-zip.c:358
+#, c-format
+msgid "unsupported file mode: 0%o (SHA1: %s)"
+msgstr "mode de fichier non supporté :0%o (SHA1: %s)"
+
+#: archive-tar.c:449
+#, c-format
+msgid "unable to start '%s' filter"
+msgstr "impossible de démarrer le filtre '%s'"
+
+#: archive-tar.c:452
+msgid "unable to redirect descriptor"
+msgstr "impossible de rediriger un descripteur"
+
+#: archive-tar.c:459
+#, c-format
+msgid "'%s' filter reported error"
+msgstr "le filtre '%s' a retourné une erreur"
+
+#: archive-zip.c:318
+#, c-format
+msgid "path is not valid UTF-8: %s"
+msgstr "le chemin n'est pas codé en UTF-8 valide : %s"
+
+#: archive-zip.c:322
+#, c-format
+msgid "path too long (%d chars, SHA1: %s): %s"
+msgstr "le chemin est trop long (%d caractères, SHA1 : %s) : %s"
+
+#: archive-zip.c:469 builtin/pack-objects.c:244 builtin/pack-objects.c:247
+#, c-format
+msgid "deflate error (%d)"
+msgstr "erreur de compression (%d)"
+
+#: archive-zip.c:603
+#, c-format
+msgid "timestamp too large for this system: %<PRIuMAX>"
+msgstr "l'horodatage est trop grand pour ce système : %<PRIuMAX>"
+
 #: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<options>] <arbre ou apparenté> [<chemin>...]"
@@ -864,182 +1634,165 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --list"
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
+#: archive.c:192
+#, c-format
+msgid "cannot read %s"
+msgstr "impossible de lire %s"
+
+#: archive.c:345 sequencer.c:445 sequencer.c:1706 sequencer.c:2852
+#: sequencer.c:3293 sequencer.c:3402 builtin/am.c:263 builtin/commit.c:786
+#: builtin/merge.c:1124
+#, c-format
+msgid "could not read '%s'"
+msgstr "impossible de lire '%s'"
+
+#: archive.c:430 builtin/add.c:181 builtin/add.c:594 builtin/rm.c:315
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "le chemin '%s' ne correspond à aucun fichier"
 
-#: archive.c:396
+#: archive.c:454
 #, c-format
 msgid "no such ref: %.*s"
 msgstr "référence inexistante : %.*s"
 
-#: archive.c:401
+#: archive.c:460
 #, c-format
 msgid "not a valid object name: %s"
 msgstr "nom d'objet invalide : %s"
 
-#: archive.c:414
+#: archive.c:473
 #, c-format
 msgid "not a tree object: %s"
 msgstr "objet arbre invalide : %s"
 
-#: archive.c:426
+#: archive.c:485
 msgid "current working directory is untracked"
 msgstr "l'arbre de travail actuel est non-suivi"
 
-#: archive.c:457
+#: archive.c:526
+#, c-format
+msgid "File not found: %s"
+msgstr "Fichier non trouvé : %s"
+
+#: archive.c:528
+#, c-format
+msgid "Not a regular file: %s"
+msgstr "'%s' n'est pas un fichier normal"
+
+#: archive.c:553
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:457
+#: archive.c:553
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:458 builtin/log.c:1580
+#: archive.c:554 builtin/log.c:1760
 msgid "prefix"
 msgstr "préfixe"
 
-#: archive.c:459
+#: archive.c:555
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875
-#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134
-#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105
-#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
+#: archive.c:556 archive.c:559 builtin/blame.c:884 builtin/blame.c:888
+#: builtin/blame.c:889 builtin/commit-tree.c:117 builtin/config.c:133
+#: builtin/fast-export.c:1208 builtin/fast-export.c:1210
+#: builtin/fast-export.c:1214 builtin/grep.c:908 builtin/hash-object.c:105
+#: builtin/ls-files.c:561 builtin/ls-files.c:564 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:190
 msgid "file"
 msgstr "fichier"
 
-#: archive.c:461 builtin/archive.c:90
+#: archive.c:557
+msgid "add untracked file to archive"
+msgstr "ajouter les fichiers non suivis à l'archive"
+
+#: archive.c:560 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr "écrire l'archive dans ce fichier"
 
-#: archive.c:463
+#: archive.c:562
 msgid "read .gitattributes in working directory"
 msgstr "lire .gitattributes dans le répertoire de travail"
 
-#: archive.c:464
+#: archive.c:563
 msgid "report archived files on stderr"
 msgstr "afficher les fichiers archivés sur stderr"
 
-#: archive.c:465
+#: archive.c:564
 msgid "store only"
 msgstr "stockage seulement"
 
-#: archive.c:466
+#: archive.c:565
 msgid "compress faster"
 msgstr "compression rapide"
 
-#: archive.c:474
+#: archive.c:573
 msgid "compress better"
 msgstr "compression efficace"
 
-#: archive.c:477
+#: archive.c:576
 msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
-#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
-#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859
+#: archive.c:578 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1830 builtin/submodule--helper.c:2335
 msgid "repo"
 msgstr "dépôt"
 
-#: archive.c:480 builtin/archive.c:92
+#: archive.c:579 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "récupérer l'archive depuis le dépôt distant <dépôt>"
 
-#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707
+#: archive.c:580 builtin/archive.c:93 builtin/difftool.c:715
 #: builtin/notes.c:498
 msgid "command"
 msgstr "commande"
 
-#: archive.c:482 builtin/archive.c:94
+#: archive.c:581 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr "chemin vers la commande distante git-upload-archive"
 
-#: archive.c:489
+#: archive.c:588
 msgid "Unexpected option --remote"
 msgstr "Option --remote inattendue"
 
-#: archive.c:491
+#: archive.c:590
 msgid "Option --exec can only be used together with --remote"
 msgstr "L'option --exec ne peut être utilisée qu'en complément de --remote"
 
-#: archive.c:493
+#: archive.c:592
 msgid "Unexpected option --output"
 msgstr "Option --output inattendue"
 
-#: archive.c:515
+#: archive.c:594
+msgid "Options --add-file and --remote cannot be used together"
+msgstr ""
+"Les options --add-file et --remote ne peuvent pas être utilisées ensemble"
+
+#: archive.c:616
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Format d'archive inconnu '%s'"
 
-#: archive.c:522
+#: archive.c:623
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
 
-#: archive-tar.c:125 archive-zip.c:345
-#, c-format
-msgid "cannot stream blob %s"
-msgstr "impossible de transmettre le blob %s en flux"
-
-#: archive-tar.c:260 archive-zip.c:363
-#, c-format
-msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr "mode de fichier non supporté :0%o (SHA1: %s)"
-
-#: archive-tar.c:287 archive-zip.c:353
-#, c-format
-msgid "cannot read %s"
-msgstr "impossible de lire %s"
-
-#: archive-tar.c:459
-#, c-format
-msgid "unable to start '%s' filter"
-msgstr "impossible de démarrer le filtre '%s'"
-
-#: archive-tar.c:462
-msgid "unable to redirect descriptor"
-msgstr "impossible de rediriger un descripteur"
-
-#: archive-tar.c:469
-#, c-format
-msgid "'%s' filter reported error"
-msgstr "le filtre '%s' a retourné une erreur"
-
-#: archive-zip.c:314
-#, c-format
-msgid "path is not valid UTF-8: %s"
-msgstr "le chemin n'est pas codé en UTF-8 valide : %s"
-
-#: archive-zip.c:318
-#, c-format
-msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr "le chemin est trop long (%d caractères, SHA1 : %s) : %s"
-
-#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233
-#, c-format
-msgid "deflate error (%d)"
-msgstr "erreur de compression (%d)"
-
-#: archive-zip.c:609
-#, c-format
-msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr "l'horodatage est trop grand pour ce système : %<PRIuMAX>"
-
-#: attr.c:211
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s n'est pas un nom valide d'attribut"
 
-#: attr.c:368
+#: attr.c:369
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s non permis : %s : %d"
 
-#: attr.c:408
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1047,22 +1800,22 @@ msgstr ""
 "Les motifs de négation sont ignorés dans les attributs git\n"
 "Utilisez '\\!' pour un point d'exclamation littéral."
 
-#: bisect.c:468
+#: bisect.c:476
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "Contenu mal cité dans le fichier '%s' : %s"
 
-#: bisect.c:678
+#: bisect.c:686
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Impossible de pousser la bissection plus loin !\n"
 
-#: bisect.c:733
+#: bisect.c:753
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s n'est pas un nom de commit valide"
 
-#: bisect.c:758
+#: bisect.c:778
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1071,7 +1824,7 @@ msgstr ""
 "La base de fusion %s est mauvaise.\n"
 "Cela signifie que le bogue été corrigé entre %s et [%s].\n"
 
-#: bisect.c:763
+#: bisect.c:783
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1080,7 +1833,7 @@ msgstr ""
 "La base de fusion %s est nouvelle.\n"
 "La propriété a changé entre %s et [%s].\n"
 
-#: bisect.c:768
+#: bisect.c:788
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1089,7 +1842,7 @@ msgstr ""
 "La base de fusion %s est %s.\n"
 "Ceci signifie que le premier commit '%s' est entre %s et [%s].\n"
 
-#: bisect.c:776
+#: bisect.c:796
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1100,7 +1853,7 @@ msgstr ""
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
 "Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
-#: bisect.c:789
+#: bisect.c:809
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1112,36 +1865,36 @@ msgstr ""
 "et %s.\n"
 "On continue tout de même."
 
-#: bisect.c:822
+#: bisect.c:848
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bissection : une base de fusion doit être testée\n"
 
-#: bisect.c:865
+#: bisect.c:898
 #, c-format
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254
+#: bisect.c:928 builtin/notes.c:177 builtin/tag.c:255
 #, c-format
 msgid "could not create file '%s'"
 msgstr "impossible de créer le fichier '%s'"
 
-#: bisect.c:928 builtin/merge.c:148
+#: bisect.c:974 builtin/merge.c:150
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:958
+#: bisect.c:1014
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:977
+#: bisect.c:1044
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:985
+#: bisect.c:1053
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1150,7 +1903,7 @@ msgstr ""
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais paramètre de chemin ?\n"
 
-#: bisect.c:1004
+#: bisect.c:1082
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1160,48 +1913,48 @@ msgstr[1] "(à peu près %d étapes)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1010
+#: bisect.c:1088
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "Bissection : %d révision à tester après ceci %s\n"
 msgstr[1] "Bissection : %d révisions à tester après ceci %s\n"
 
-#: blame.c:2697
+#: blame.c:2778
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: blame.c:2711
+#: blame.c:2792
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: blame.c:2732
+#: blame.c:2813
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse et --first-parent ensemble nécessitent la spécification d'un "
 "dernier commit"
 
-#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033
-#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963
-#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411
-#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163
-#: builtin/shortlog.c:192
+#: blame.c:2822 bundle.c:213 ref-filter.c:2264 remote.c:2020 sequencer.c:2105
+#: sequencer.c:4606 submodule.c:855 builtin/commit.c:1045 builtin/log.c:404
+#: builtin/log.c:1020 builtin/log.c:1622 builtin/log.c:2029 builtin/log.c:2319
+#: builtin/merge.c:414 builtin/pack-objects.c:3380 builtin/pack-objects.c:3395
+#: builtin/shortlog.c:320
 msgid "revision walk setup failed"
 msgstr "échec de la préparation du parcours des révisions"
 
-#: blame.c:2759
+#: blame.c:2840
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent ensemble nécessitent une portée avec la chaîne de "
 "premier parent"
 
-#: blame.c:2770
+#: blame.c:2851
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: blame.c:2781
+#: blame.c:2862
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
@@ -1344,404 +2097,374 @@ msgstr "Nom d'objet ambigu : '%s'."
 msgid "Not a valid branch point: '%s'."
 msgstr "Point d'embranchement invalide : '%s'."
 
-#: branch.c:364
+#: branch.c:365
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' est déjà extrait dans '%s'"
 
-#: branch.c:387
+#: branch.c:388
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "la HEAD de la copie de travail %s n'est pas mise à jour"
 
-#: bundle.c:36
+#: bundle.c:41
+#, c-format
+msgid "unrecognized bundle hash algorithm: %s"
+msgstr "algorithme d'empreinte du colis inconnu : %s"
+
+#: bundle.c:45
+#, c-format
+msgid "unknown capability '%s'"
+msgstr "capacité inconnue '%s'"
+
+#: bundle.c:71
 #, c-format
-msgid "'%s' does not look like a v2 bundle file"
-msgstr "'%s' ne semble pas être un fichier bundle v2"
+msgid "'%s' does not look like a v2 or v3 bundle file"
+msgstr "'%s' ne semble pas être un fichier colis v2 our v3"
 
-#: bundle.c:64
+#: bundle.c:110
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024
-#: builtin/commit.c:791
+#: bundle.c:136 rerere.c:480 rerere.c:690 sequencer.c:2357 sequencer.c:3142
+#: builtin/commit.c:814
 #, c-format
 msgid "could not open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: bundle.c:143
+#: bundle.c:189
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Le dépôt ne dispose pas des commits prérequis suivants :"
 
-#: bundle.c:146
+#: bundle.c:192
 msgid "need a repository to verify a bundle"
 msgstr "la vérification d'un colis requiert un dépôt"
 
-#: bundle.c:197
+#: bundle.c:243
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "Le colis contient cette référence :"
 msgstr[1] "Le colis contient ces %d références :"
 
-#: bundle.c:204
+#: bundle.c:250
 msgid "The bundle records a complete history."
 msgstr "Le colis enregistre l'historique complet."
 
-#: bundle.c:206
+#: bundle.c:252
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Le colis exige cette référence :"
 msgstr[1] "Le colis exige ces %d références :"
 
-#: bundle.c:272
+#: bundle.c:319
 msgid "unable to dup bundle descriptor"
 msgstr "impossible de dupliquer le descripteur de liasse"
 
-#: bundle.c:279
+#: bundle.c:326
 msgid "Could not spawn pack-objects"
 msgstr "Impossible de créer des objets groupés"
 
-#: bundle.c:290
+#: bundle.c:337
 msgid "pack-objects died"
 msgstr "les objets groupés ont disparu"
 
-#: bundle.c:332
+#: bundle.c:379
 msgid "rev-list died"
 msgstr "rev-list a disparu"
 
-#: bundle.c:381
+#: bundle.c:428
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306
+#: bundle.c:498
+#, c-format
+msgid "unsupported bundle version %d"
+msgstr "version de colis non supportée %d"
+
+#: bundle.c:500
+#, c-format
+msgid "cannot write bundle version %d with algorithm %s"
+msgstr "impossible d'écrire une version de colis %d avec l'algorithme %s"
+
+#: bundle.c:522 builtin/log.c:207 builtin/log.c:1918 builtin/shortlog.c:461
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
 
-#: bundle.c:468
+#: bundle.c:530
 msgid "Refusing to create empty bundle."
 msgstr "Refus de créer un colis vide."
 
-#: bundle.c:478
+#: bundle.c:540
 #, c-format
 msgid "cannot create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: bundle.c:503
+#: bundle.c:565
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
-#: color.c:296
+#: color.c:329
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*s"
 
-#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455
-#, c-format
-msgid "could not parse %s"
-msgstr "impossible d'analyser %s"
-
-#: commit.c:52
-#, c-format
-msgid "%s %s is not a commit!"
-msgstr "%s %s n'est pas un commit !"
-
-#: commit.c:192
-msgid ""
-"Support for <GIT_DIR>/info/grafts is deprecated\n"
-"and will be removed in a future Git version.\n"
-"\n"
-"Please use \"git replace --convert-graft-file\"\n"
-"to convert the grafts into replace refs.\n"
-"\n"
-"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
-msgstr ""
-"Le support de <GIT_DIR>/info/grafts est déconseillé\n"
-"et sera supprimé dans une version future de Git.\n"
-"\n"
-"Veuillez utiliser \"git replace --convert-graft-file\"\n"
-"pour convertir les grafts en référence de remplacement.\n"
-"\n"
-"Supprimez ce message en lançant\n"
-"\"git config advice.graftFileDeprecated false\""
-
-#: commit.c:1127
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
+#: commit-graph.c:188 midx.c:46
+msgid "invalid hash version"
+msgstr "version d'empreinte invalide"
 
-#: commit.c:1130
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
-
-#: commit.c:1133
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr "La validation %s n'a pas de signature GPG."
-
-#: commit.c:1136
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr "La validation %s a une signature GPG correcte par %s\n"
-
-#: commit.c:1390
-msgid ""
-"Warning: commit message did not conform to UTF-8.\n"
-"You may want to amend it after fixing the message, or set the config\n"
-"variable i18n.commitencoding to the encoding your project uses.\n"
-msgstr ""
-"Avertissement : le message de validation ne se conforme pas à UTF-8.\n"
-"Vous souhaitez peut-être le modifier après correction du message ou régler "
-"la\n"
-"variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
-"projet.\n"
-
-#: commit-graph.c:127
+#: commit-graph.c:246
 msgid "commit-graph file is too small"
 msgstr "le graphe de commit est trop petit"
 
-#: commit-graph.c:192
+#: commit-graph.c:311
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr ""
 "la signature du graphe de commit %X ne correspond pas à la signature %X"
 
-#: commit-graph.c:199
+#: commit-graph.c:318
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "la version %X du graphe de commit ne correspond pas à la version %X"
 
-#: commit-graph.c:206
+#: commit-graph.c:325
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr ""
 "l'empreinte de la version %X du graphe de commit ne correspond pas à la "
 "version %X"
 
-#: commit-graph.c:229
-msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
-msgstr ""
-"entrée de table de consultation de morceaux de graphe de commite manquante ; "
-"le fichier est peut être incomplet"
+#: commit-graph.c:342
+#, c-format
+msgid "commit-graph file is too small to hold %u chunks"
+msgstr "le graphe de commit est trop petit pour contenir %u sections"
 
-#: commit-graph.c:240
+#: commit-graph.c:361
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "décalage de bloc %08x%08x du graphe de commit inadéquat"
 
-#: commit-graph.c:283
+#: commit-graph.c:433
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "l'id de bloc de graphe de commit %08x apparaît des multiples fois"
 
-#: commit-graph.c:347
+#: commit-graph.c:499
 msgid "commit-graph has no base graphs chunk"
 msgstr "le graphe de commit n'a pas de section de graphes de base"
 
-#: commit-graph.c:357
+#: commit-graph.c:509
 msgid "commit-graph chain does not match"
 msgstr "la chaîne de graphe de commit ne correspond pas"
 
-#: commit-graph.c:404
+#: commit-graph.c:557
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr ""
 "chaîne de graphe de commit invalide : la ligne '%s' n'est pas une empreinte"
 
-#: commit-graph.c:430
+#: commit-graph.c:581
 msgid "unable to find all commit-graph files"
 msgstr "impossible de trouver tous les fichiers du graphe de commit"
 
-#: commit-graph.c:554 commit-graph.c:614
+#: commit-graph.c:721 commit-graph.c:785
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr ""
 "position de commit invalide. Le graphe de commit est vraisemblablement "
 "corrompu"
 
-#: commit-graph.c:575
+#: commit-graph.c:742
 #, c-format
 msgid "could not find commit %s"
 msgstr "impossible de trouver le commit %s"
 
-#: commit-graph.c:1002 builtin/pack-objects.c:2657
+#: commit-graph.c:1042 builtin/am.c:1306
+#, c-format
+msgid "unable to parse commit %s"
+msgstr "impossible d'analyser le commit %s"
+
+#: commit-graph.c:1265 builtin/pack-objects.c:2864
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "impossible d'obtenir le type de l'objet %s"
 
-#: commit-graph.c:1034
+#: commit-graph.c:1301
 msgid "Loading known commits in commit graph"
 msgstr "Lecture des commits connus dans un graphe de commit"
 
-#: commit-graph.c:1051
+#: commit-graph.c:1318
 msgid "Expanding reachable commits in commit graph"
 msgstr "Expansion des commits joignables dans un graphe de commit"
 
-#: commit-graph.c:1070
+#: commit-graph.c:1338
 msgid "Clearing commit marks in commit graph"
 msgstr "Suppression les marques de commit dans le graphe de commits"
 
-#: commit-graph.c:1089
+#: commit-graph.c:1357
 msgid "Computing commit graph generation numbers"
 msgstr "Calcul des chiffres de génération du graphe de commits"
 
-#: commit-graph.c:1163
+#: commit-graph.c:1424
+msgid "Computing commit changed paths Bloom filters"
+msgstr "Calcul des filtres Bloom des chemins modifiés du commit"
+
+#: commit-graph.c:1501
+msgid "Collecting referenced commits"
+msgstr "Collecte des commits référencés"
+
+#: commit-graph.c:1526
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "Recherche de commits pour un graphe de commits dans %d paquet"
 msgstr[1] "Recherche de commits pour un graphe de commits dans %d paquets"
 
-#: commit-graph.c:1176
+#: commit-graph.c:1539
 #, c-format
 msgid "error adding pack %s"
 msgstr "erreur à l'ajout du packet %s"
 
-#: commit-graph.c:1180
+#: commit-graph.c:1543
 #, c-format
 msgid "error opening index for %s"
 msgstr "erreur à l'ouverture de l'index pour %s"
 
-#: commit-graph.c:1204
-#, c-format
-msgid "Finding commits for commit graph from %d ref"
-msgid_plural "Finding commits for commit graph from %d refs"
-msgstr[0] "Recherche de commits pour un graphe de commits depuis %d réf"
-msgstr[1] "Recherche de commits pour un graphe de commits depuis %d réfs"
-
-#: commit-graph.c:1238
+#: commit-graph.c:1582
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Recherche de commits pour un graphe de commits parmi les objets empaquetés"
 
-#: commit-graph.c:1253
+#: commit-graph.c:1597
 msgid "Counting distinct commits in commit graph"
 msgstr "Comptage des commits distincts dans un graphe de commit"
 
-#: commit-graph.c:1284
+#: commit-graph.c:1629
 msgid "Finding extra edges in commit graph"
 msgstr "Recherche d'arêtes supplémentaires dans un graphe de commits"
 
-#: commit-graph.c:1332
+#: commit-graph.c:1678
 msgid "failed to write correct number of base graph ids"
 msgstr "échec à l'écriture le nombre correct d'id de base de fusion"
 
-#: commit-graph.c:1365 midx.c:811
+#: commit-graph.c:1720 midx.c:826
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "impossible de créer les répertoires de premier niveau de %s"
 
-#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240
+#: commit-graph.c:1733
+msgid "unable to create temporary graph layer"
+msgstr "impossible de créer une couche de graphe temporaire"
+
+#: commit-graph.c:1738
 #, c-format
-msgid "unable to create '%s'"
-msgstr "impossible de créer '%s'"
+msgid "unable to adjust shared permissions for '%s'"
+msgstr "impossible de régler les droits partagés pour '%s'"
 
-#: commit-graph.c:1437
+#: commit-graph.c:1808
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Écriture le graphe de commits en %d passe"
 msgstr[1] "Écriture le graphe de commits en %d passes"
 
-#: commit-graph.c:1478
+#: commit-graph.c:1853
 msgid "unable to open commit-graph chain file"
 msgstr "impossible d'ouvrir le fichier de graphe de commit"
 
-#: commit-graph.c:1490
+#: commit-graph.c:1869
 msgid "failed to rename base commit-graph file"
 msgstr "échec du renommage du fichier de graphe de commits"
 
-#: commit-graph.c:1510
+#: commit-graph.c:1889
 msgid "failed to rename temporary commit-graph file"
 msgstr "impossible de renommer le fichier temporaire de graphe de commits"
 
-#: commit-graph.c:1621
+#: commit-graph.c:2015
 msgid "Scanning merged commits"
 msgstr "Analyse des commits de fusion"
 
-#: commit-graph.c:1632
+#: commit-graph.c:2026
 #, c-format
 msgid "unexpected duplicate commit id %s"
 msgstr "id de commit %s dupliqué inattendu"
 
-#: commit-graph.c:1657
+#: commit-graph.c:2049
 msgid "Merging commit-graph"
 msgstr "fusion du graphe de commits"
 
-#: commit-graph.c:1844
+#: commit-graph.c:2259
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 msgstr "le graphe de commits ne peut pas écrire %d commits"
 
-#: commit-graph.c:1855
+#: commit-graph.c:2270
 msgid "too many commits to write graph"
 msgstr "trop de commits pour écrire un graphe"
 
-#: commit-graph.c:1945
+#: commit-graph.c:2363
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "le graphe de commit a une somme de contrôle incorrecte et est "
 "vraisemblablement corrompu"
 
-#: commit-graph.c:1955
+#: commit-graph.c:2373
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "le graphe de commit a un ordre d'OID incorrect : %s puis %s"
 
-#: commit-graph.c:1965 commit-graph.c:1980
+#: commit-graph.c:2383 commit-graph.c:2398
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
 "le graphe de commit a une valeur de dispersion incorrecte : dispersion[%d] = "
 "%u != %u"
 
-#: commit-graph.c:1972
+#: commit-graph.c:2390
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "échec de l'analyse le commit %s depuis le graphe de commits"
 
-#: commit-graph.c:1989
+#: commit-graph.c:2408
 msgid "Verifying commits in commit graph"
 msgstr "Verification des commits dans le graphe de commits"
 
-#: commit-graph.c:2002
+#: commit-graph.c:2423
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "échec de l'analyse du commit %s depuis la base de données d'objets pour le "
 "graphe de commit"
 
-#: commit-graph.c:2009
+#: commit-graph.c:2430
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "l'OID de l'arbre racine pour le commit %s dans le graphe de commit est %s != "
 "%s"
 
-#: commit-graph.c:2019
+#: commit-graph.c:2440
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 "la liste des parents du graphe de commit pour le commit %s est trop longue"
 
-#: commit-graph.c:2028
+#: commit-graph.c:2449
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "le parent du graphe de commit pour %s est %s != %s"
 
-#: commit-graph.c:2041
+#: commit-graph.c:2463
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 "la liste de parents du graphe de commit pour le commit %s se termine trop tôt"
 
-#: commit-graph.c:2046
+#: commit-graph.c:2468
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -1749,7 +2472,7 @@ msgstr ""
 "le graphe de commit a un numéro de génération nul pour le commit %s, mais "
 "non-nul ailleurs"
 
-#: commit-graph.c:2050
+#: commit-graph.c:2472
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -1757,23 +2480,86 @@ msgstr ""
 "le graphe de commit a un numéro de génération non-nul pour le commit %s, "
 "mais nul ailleurs"
 
-#: commit-graph.c:2065
+#: commit-graph.c:2488
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
 msgstr "la génération du graphe de commit pour le commit %s est %u != %u"
 
-#: commit-graph.c:2071
+#: commit-graph.c:2494
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
 "la date de validation pour le commit %s dans le graphe de commit est "
 "%<PRIuMAX> != %<PRIuMAX>"
 
+#: commit.c:52 sequencer.c:2845 builtin/am.c:373 builtin/am.c:417
+#: builtin/am.c:1385 builtin/am.c:2031 builtin/replace.c:457
+#, c-format
+msgid "could not parse %s"
+msgstr "impossible d'analyser %s"
+
+#: commit.c:54
+#, c-format
+msgid "%s %s is not a commit!"
+msgstr "%s %s n'est pas un commit !"
+
+#: commit.c:194
+msgid ""
+"Support for <GIT_DIR>/info/grafts is deprecated\n"
+"and will be removed in a future Git version.\n"
+"\n"
+"Please use \"git replace --convert-graft-file\"\n"
+"to convert the grafts into replace refs.\n"
+"\n"
+"Turn this message off by running\n"
+"\"git config advice.graftFileDeprecated false\""
+msgstr ""
+"Le support de <GIT_DIR>/info/grafts est déconseillé\n"
+"et sera supprimé dans une version future de Git.\n"
+"\n"
+"Veuillez utiliser \"git replace --convert-graft-file\"\n"
+"pour convertir les grafts en référence de remplacement.\n"
+"\n"
+"Supprimez ce message en lançant\n"
+"\"git config advice.graftFileDeprecated false\""
+
+#: commit.c:1172
+#, c-format
+msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
+msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
+
+#: commit.c:1176
+#, c-format
+msgid "Commit %s has a bad GPG signature allegedly by %s."
+msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
+
+#: commit.c:1179
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "La validation %s n'a pas de signature GPG."
+
+#: commit.c:1182
+#, c-format
+msgid "Commit %s has a good GPG signature by %s\n"
+msgstr "La validation %s a une signature GPG correcte par %s\n"
+
+#: commit.c:1436
+msgid ""
+"Warning: commit message did not conform to UTF-8.\n"
+"You may want to amend it after fixing the message, or set the config\n"
+"variable i18n.commitencoding to the encoding your project uses.\n"
+msgstr ""
+"Avertissement : le message de validation ne se conforme pas à UTF-8.\n"
+"Vous souhaitez peut-être le modifier après correction du message ou régler "
+"la\n"
+"variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
+"projet.\n"
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "plus de mémoire"
 
-#: config.c:124
+#: config.c:125
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -1788,313 +2574,306 @@ msgstr ""
 "\t%s\n"
 "possibilité d'inclusions multiples."
 
-#: config.c:140
+#: config.c:141
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "expansion impossible du chemin d'inclusion '%s'"
 
-#: config.c:151
+#: config.c:152
 msgid "relative config includes must come from files"
 msgstr "les inclusions de configuration relatives doivent venir de fichiers"
 
-#: config.c:197
+#: config.c:198
 msgid "relative config include conditionals must come from files"
 msgstr ""
 "les conditions d'inclusion de configuration relative doivent venir de "
 "fichiers"
 
-#: config.c:376
+#: config.c:378
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "la clé ne contient pas de section: %s"
 
-#: config.c:382
+#: config.c:384
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr "la clé ne contient pas de nom de variable : %s"
 
-#: config.c:406 sequencer.c:2463
+#: config.c:408 sequencer.c:2547
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
 
-#: config.c:412
+#: config.c:414
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "clé invalide (retour chariot) : %s"
 
-#: config.c:448 config.c:460
+#: config.c:450 config.c:462
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "paramètre de configuration mal formé: %s"
 
-#: config.c:495
+#: config.c:497
 #, c-format
 msgid "bogus format in %s"
 msgstr "formatage mal formé dans %s"
 
-#: config.c:821
+#: config.c:836
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ligne %d de config incorrecte dans le blob %s"
 
-#: config.c:825
+#: config.c:840
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ligne %d de config incorrecte dans le fichier %s"
 
-#: config.c:829
+#: config.c:844
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ligne %d de config incorrecte dans l'entrée standard"
 
-#: config.c:833
+#: config.c:848
 #, 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:837
+#: config.c:852
 #, 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:841
+#: config.c:856
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ligne %d de config incorrecte dans %s"
 
-#: config.c:978
+#: config.c:993
 msgid "out of range"
 msgstr "hors plage"
 
-#: config.c:978
+#: config.c:993
 msgid "invalid unit"
 msgstr "unité invalide"
 
-#: config.c:979
+#: config.c:994
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s"
 
-#: config.c:998
+#: config.c:1013
 #, 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:1001
+#: config.c:1016
 #, 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:1004
+#: config.c:1019
 #, 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:1007
+#: config.c:1022
 #, 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:1010
+#: config.c:1025
 #, 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:1013
+#: config.c:1028
 #, 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:1108
+#: config.c:1123
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
 
-#: config.c:1117
+#: config.c:1132
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%s' pour '%s' n'est pas un horodatage valide"
 
-#: config.c:1208
+#: config.c:1223
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "longueur d'abbrev hors plage : %d"
 
-#: config.c:1222 config.c:1233
+#: config.c:1237 config.c:1248
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "niveau de compression zlib incorrect %d"
 
-#: config.c:1325
+#: config.c:1340
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar ne devrait être qu'un unique caractère"
 
-#: config.c:1358
+#: config.c:1373
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "mode invalide pour la création d'objet : %s"
 
-#: config.c:1430
+#: config.c:1445
 #, c-format
 msgid "malformed value for %s"
 msgstr "valeur mal formée pour %s"
 
-#: config.c:1456
+#: config.c:1471
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "valeur mal formée pour %s : %s"
 
-#: config.c:1457
+#: config.c:1472
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "doit être parmi nothing, matching, simple, upstream ou current"
 
-#: config.c:1518 builtin/pack-objects.c:3410
+#: config.c:1533 builtin/pack-objects.c:3649
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "niveau de compression du paquet %d"
 
-#: config.c:1639
+#: config.c:1655
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "impossible de charger l'objet blob de config '%s'"
 
-#: config.c:1642
+#: config.c:1658
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "la référence '%s' ne pointe pas sur un blob"
 
-#: config.c:1659
+#: config.c:1675
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "impossible de résoudre le blob de config '%s'"
 
-#: config.c:1689
+#: config.c:1705
 #, c-format
 msgid "failed to parse %s"
 msgstr "échec de l'analyse de %s"
 
-#: config.c:1745
+#: config.c:1759
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:2094
+#: config.c:2122
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2264
+#: config.c:2296
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2307
-#, c-format
-msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
-"valeur '%s' de core.untrackedCache inconnue ; utilisation de 'keep' par "
-"défaut"
-
-#: config.c:2333
+#: config.c:2341
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr ""
 "la valeur '%d' de splitIndex.maxPercentChange devrait se situer entre 0 et "
 "100"
 
-#: config.c:2379
+#: config.c:2387
 #, 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:2381
+#: config.c:2389
 #, 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:2462
+#: config.c:2470
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nom de section invalide '%s'"
 
-#: config.c:2494
+#: config.c:2502
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2523
+#: config.c:2531
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2775 config.c:3099
+#: config.c:2783 config.c:3107
 #, c-format
 msgid "could not lock config file %s"
 msgstr "impossible de verrouiller le fichier de configuration %s"
 
-#: config.c:2786
+#: config.c:2794
 #, c-format
 msgid "opening %s"
 msgstr "ouverture de %s"
 
-#: config.c:2821 builtin/config.c:328
+#: config.c:2829 builtin/config.c:354
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "motif invalide : %s"
 
-#: config.c:2846
+#: config.c:2854
 #, c-format
 msgid "invalid config file %s"
 msgstr "fichier de configuration invalide %s"
 
-#: config.c:2859 config.c:3112
+#: config.c:2867 config.c:3120
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2870
+#: config.c:2878
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "impossible de réaliser un map de '%s'"
 
-#: config.c:2879 config.c:3117
+#: config.c:2887 config.c:3125
 #, c-format
 msgid "chmod on %s failed"
 msgstr "échec de chmod sur %s"
 
-#: config.c:2964 config.c:3214
+#: config.c:2972 config.c:3222
 #, c-format
 msgid "could not write config file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2998
+#: config.c:3006
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:3000 builtin/remote.c:782
+#: config.c:3008 builtin/remote.c:656 builtin/remote.c:850 builtin/remote.c:858
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: config.c:3090
+#: config.c:3098
 #, c-format
 msgid "invalid section name: %s"
 msgstr "nom de section invalide : %s"
 
-#: config.c:3257
+#: config.c:3265
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valeur manquante pour '%s'"
@@ -2120,72 +2899,81 @@ msgstr ""
 msgid "server doesn't support '%s'"
 msgstr "Le serveur ne supporte pas '%s'"
 
-#: connect.c:103
+#: connect.c:118
 #, c-format
 msgid "server doesn't support feature '%s'"
 msgstr "Le serveur ne supporte pas la fonctionnalité '%s'"
 
-#: connect.c:114
+#: connect.c:129
 msgid "expected flush after capabilities"
 msgstr "vidage attendu après les capacités"
 
-#: connect.c:233
+#: connect.c:263
 #, c-format
 msgid "ignoring capabilities after first line '%s'"
 msgstr "capacités ignorées après la première ligne '%s'"
 
-#: connect.c:252
+#: connect.c:284
 msgid "protocol error: unexpected capabilities^{}"
 msgstr "erreur de protocole : capabilities^{} inattendu"
 
-#: connect.c:273
+#: connect.c:306
 #, c-format
 msgid "protocol error: expected shallow sha-1, got '%s'"
 msgstr "erreur de protocole : shallow sha-1 attendu, '%s' trouvé"
 
-#: connect.c:275
+#: connect.c:308
 msgid "repository on the other end cannot be shallow"
 msgstr "le dépôt distant ne peut pas être superficiel"
 
-#: connect.c:313
+#: connect.c:347
 msgid "invalid packet"
 msgstr "paquet invalide"
 
-#: connect.c:333
+#: connect.c:367
 #, c-format
 msgid "protocol error: unexpected '%s'"
 msgstr "erreur de protocole : '%s' attendu"
 
-#: connect.c:441
+#: connect.c:473
+#, c-format
+msgid "unknown object format '%s' specified by server"
+msgstr "format d'objet spécifié par le serveur inconnu '%s'"
+
+#: connect.c:500
 #, c-format
 msgid "invalid ls-refs response: %s"
 msgstr "réponse à ls-ref invalide : %s"
 
-#: connect.c:445
+#: connect.c:504
 msgid "expected flush after ref listing"
 msgstr "vidage attendu après le listage de références"
 
-#: connect.c:544
+#: connect.c:507
+msgid "expected response end packet after ref listing"
+msgstr "paquet de fin de réponse attendu après le listage de références"
+
+#: connect.c:640
 #, c-format
 msgid "protocol '%s' is not supported"
 msgstr "le protocole '%s' n'est pas supporté"
 
-#: connect.c:595
+#: connect.c:691
 msgid "unable to set SO_KEEPALIVE on socket"
 msgstr "impossible de positionner SO_KEEPALIVE sur la socket"
 
-#: connect.c:635 connect.c:698
+#: connect.c:731 connect.c:794
 #, c-format
 msgid "Looking up %s ... "
 msgstr "Recherche de %s… "
 
-#: connect.c:639
+#: connect.c:735
 #, c-format
 msgid "unable to look up %s (port %s) (%s)"
 msgstr "impossible de rechercher %s (port %s) (%s)"
 
 #. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:643 connect.c:714
+#: connect.c:739 connect.c:810
 #, c-format
 msgid ""
 "done.\n"
@@ -2194,7 +2982,7 @@ msgstr ""
 "fait.\n"
 "Connexion à %s (port %s)… "
 
-#: connect.c:665 connect.c:742
+#: connect.c:761 connect.c:838
 #, c-format
 msgid ""
 "unable to connect to %s:\n"
@@ -2204,89 +2992,89 @@ msgstr ""
 "%s"
 
 #. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:671 connect.c:748
+#: connect.c:767 connect.c:844
 msgid "done."
 msgstr "fait."
 
-#: connect.c:702
+#: connect.c:798
 #, c-format
 msgid "unable to look up %s (%s)"
 msgstr "impossible de rechercher %s (%s)"
 
-#: connect.c:708
+#: connect.c:804
 #, c-format
 msgid "unknown port %s"
 msgstr "port inconnu %s"
 
-#: connect.c:845 connect.c:1171
+#: connect.c:941 connect.c:1271
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr "nom d'hôte étrange '%s' bloqué"
 
-#: connect.c:847
+#: connect.c:943
 #, c-format
 msgid "strange port '%s' blocked"
 msgstr "port étrange '%s' bloqué"
 
-#: connect.c:857
+#: connect.c:953
 #, c-format
 msgid "cannot start proxy %s"
 msgstr "impossible de démarrer un proxy %s"
 
-#: connect.c:924
+#: connect.c:1024
 msgid "no path specified; see 'git help pull' for valid url syntax"
 msgstr ""
 "aucun chemin spécifié ; référez-vous à 'git help pull' pour une syntaxe "
 "d'URL valide"
 
-#: connect.c:1119
+#: connect.c:1219
 msgid "ssh variant 'simple' does not support -4"
 msgstr "la variante ssh 'simple' ne supporte pas -4"
 
-#: connect.c:1131
+#: connect.c:1231
 msgid "ssh variant 'simple' does not support -6"
 msgstr "la variante ssh 'simple' ne supporte pas -6"
 
-#: connect.c:1148
+#: connect.c:1248
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "la variante ssh 'simple' ne supporte pas de spécifier le port"
 
-#: connect.c:1260
+#: connect.c:1360
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "chemin étrange '%s' bloqué"
 
-#: connect.c:1307
+#: connect.c:1408
 msgid "unable to fork"
 msgstr "fork impossible"
 
-#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:108 builtin/fsck.c:209 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "Vérification de la connectivité"
 
-#: connected.c:98
+#: connected.c:120
 msgid "Could not run 'git rev-list'"
 msgstr "Impossible de lancer 'git rev-list'"
 
-#: connected.c:118
+#: connected.c:144
 msgid "failed write to rev-list"
 msgstr "impossible d'écrire dans la rev-list"
 
-#: connected.c:125
+#: connected.c:149
 msgid "failed to close rev-list's stdin"
 msgstr "impossible de fermer l'entrée standard du rev-list"
 
-#: convert.c:193
+#: convert.c:194
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr "crlf_action illégal %d"
 
-#: convert.c:206
+#: convert.c:207
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr "Les CRLF seraient remplacés par des LF dans %s"
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -2295,12 +3083,12 @@ msgstr ""
 "Les CRLF seront remplacés par des LF dans %s.\n"
 "Le fichier conservera ses fins de ligne d'origine dans votre copie de travail"
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "Les LF seraient remplacés par des CRLF dans %s"
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -2309,19 +3097,19 @@ msgstr ""
 "Les LF seront remplacés par des CRLF dans %s.\n"
 "Le fichier conservera ses fins de ligne d'origine dans votre copie de travail"
 
-#: convert.c:279
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "Aucun BOM n'est permis dans '%s' s'il est encodé comme %s"
 
-#: convert.c:286
+#: convert.c:291
 #, c-format
 msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
-"tree-encoding."
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
+"working-tree-encoding."
 msgstr ""
 "Le fichier '%s' contient un marqueur d'ordre d'octets (BOM). Veuillez "
-"utiliser UTF-%s comme encodage d'arbre de travail."
+"utiliser UTF-%.*s comme encodage d'arbre de travail."
 
 #: convert.c:304
 #, c-format
@@ -2338,52 +3126,52 @@ msgstr ""
 "utiliser UTF-%sBE ou UTF-%sLE (selon l'ordre désiré) comme encodage d'arbre "
 "de travail."
 
-#: convert.c:424 convert.c:495
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "échec de l'encodage de '%s' de %s vers %s"
 
-#: convert.c:467
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr ""
 "encoder '%s' depuis %s vers %s puis inversement ne produit pas le même "
 "contenu"
 
-#: convert.c:673
+#: convert.c:665
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "impossible de forker pour lancer le filtre externe '%s'"
 
-#: convert.c:693
+#: convert.c:685
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "impossible de fournir l'entrée au filtre externe '%s'"
 
-#: convert.c:700
+#: convert.c:692
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "le filtre externe '%s' a échoué %d"
 
-#: convert.c:735 convert.c:738
+#: convert.c:727 convert.c:730
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "la lecture depuis le filtre externe '%s' a échoué"
 
-#: convert.c:741 convert.c:796
+#: convert.c:733 convert.c:788
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "le filtre externe '%s' a échoué"
 
-#: convert.c:844
+#: convert.c:837
 msgid "unexpected filter type"
 msgstr "type de filtre inattendu"
 
-#: convert.c:855
+#: convert.c:848
 msgid "path name too long for external filter"
 msgstr "nom de chemin trop long pour un filtre externe"
 
-#: convert.c:929
+#: convert.c:940
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
@@ -2392,67 +3180,98 @@ msgstr ""
 "le filtre externe '%s' n'est plus disponible bien que tous les chemins "
 "n'aient pas été filtrés"
 
-#: convert.c:1228
+#: convert.c:1240
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false ne sont pas des encodages d'arbre de travail valides"
 
-#: convert.c:1398 convert.c:1432
+#: convert.c:1428 convert.c:1462
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s : le filtre clean '%s' a échoué"
 
-#: convert.c:1476
+#: convert.c:1508
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s : le filtre smudge '%s' a échoué"
 
-#: date.c:137
+#: credential.c:96
+#, c-format
+msgid "skipping credential lookup for key: credential.%s"
+msgstr ""
+"vérification des informations d'identification sautée pour la clé : "
+"credential.%s"
+
+#: credential.c:112
+msgid "refusing to work with credential missing host field"
+msgstr "refus de travailler avec un champ host manquant dans l'identification"
+
+#: credential.c:114
+msgid "refusing to work with credential missing protocol field"
+msgstr ""
+"refus de travailler avec un champ protocol manquant dans l'identification"
+
+#: credential.c:394
+#, c-format
+msgid "url contains a newline in its %s component: %s"
+msgstr "L'url contient un retour chariot dans composant %s : %s"
+
+#: credential.c:438
+#, c-format
+msgid "url has no scheme: %s"
+msgstr "l'url n'a pas de schéma : %s"
+
+#: credential.c:511
+#, c-format
+msgid "credential url cannot be parsed: %s"
+msgstr "impossible d'analyser l'url d'identification : %s"
+
+#: date.c:138
 msgid "in the future"
 msgstr "dans le futur"
 
-#: date.c:143
+#: date.c:144
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] "il y a %<PRIuMAX> seconde"
 msgstr[1] "il y a %<PRIuMAX> secondes"
 
-#: date.c:150
+#: date.c:151
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] "il y a %<PRIuMAX> minute"
 msgstr[1] "il y a %<PRIuMAX> minutes"
 
-#: date.c:157
+#: date.c:158
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] "il y a %<PRIuMAX> heure"
 msgstr[1] "il y a %<PRIuMAX> heures"
 
-#: date.c:164
+#: date.c:165
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] "il y a %<PRIuMAX> jour"
 msgstr[1] "il y a %<PRIuMAX> jours"
 
-#: date.c:170
+#: date.c:171
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] "il y a %<PRIuMAX> semaine"
 msgstr[1] "il y a %<PRIuMAX> semaines"
 
-#: date.c:177
+#: date.c:178
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] "il y a %<PRIuMAX> mois"
 msgstr[1] "il y a %<PRIuMAX> mois"
 
-#: date.c:188
+#: date.c:189
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
@@ -2460,14 +3279,14 @@ msgstr[0] "%<PRIuMAX> an"
 msgstr[1] "%<PRIuMAX> ans"
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:191
+#: date.c:192
 #, c-format
 msgid "%s, %<PRIuMAX> month ago"
 msgid_plural "%s, %<PRIuMAX> months ago"
 msgstr[0] "il y a %s et %<PRIuMAX> mois"
 msgstr[1] "il y a %s et %<PRIuMAX> mois"
 
-#: date.c:196 date.c:201
+#: date.c:197 date.c:202
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -2500,15 +3319,6 @@ msgstr ""
 msgid "Marked %d islands, done.\n"
 msgstr "Marquage de %d îlots, fait.\n"
 
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr "impossible de lire le fichier de commande '%s'"
-
-#: diffcore-rename.c:544
-msgid "Performing inexact rename detection"
-msgstr "Détection de renommage inexact en cours"
-
 #: diff-no-index.c:238
 msgid "git diff --no-index [<options>] <path> <path>"
 msgstr "git diff --no-index [<options>] <chemin> <chemin>"
@@ -2521,18 +3331,18 @@ msgstr ""
 "Pas un dépôt git. Utilisez --no-index pour comparer deux chemins hors d'un "
 "arbre de travail"
 
-#: diff.c:155
+#: diff.c:156
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr ""
 "  Impossible d'analyser le pourcentage de modification de dirstat '%s'\n"
 
-#: diff.c:160
+#: diff.c:161
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Paramètre dirstat inconnu '%s'\n"
 
-#: diff.c:296
+#: diff.c:297
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -2540,7 +3350,7 @@ msgstr ""
 "le paramètre de couleur de déplacement doit être parmi 'no', 'default', "
 "'blocks', 'zebra', 'dimmed_zebra' ou 'plain'"
 
-#: diff.c:324
+#: diff.c:325
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -2550,7 +3360,7 @@ msgstr ""
 "space-change', 'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-"
 "change'"
 
-#: diff.c:332
+#: diff.c:333
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
@@ -2558,13 +3368,13 @@ msgstr ""
 "color-moved-ws : allow-indentation-change ne peut pas être combiné avec "
 "d'autres modes d'espace"
 
-#: diff.c:405
+#: diff.c:410
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 "Valeur inconnue pour la variable de configuration 'diff.submodule' : '%s'"
 
-#: diff.c:465
+#: diff.c:470
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -2573,35 +3383,35 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:4215
+#: diff.c:4269
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:4560
+#: diff.c:4618
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:4563
+#: diff.c:4621
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S et --find-object sont mutuellement exclusifs"
 
-#: diff.c:4641
+#: diff.c:4699
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:4689
+#: diff.c:4747
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "valeur invalide de --stat : %s"
 
-#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222
-#: parse-options.c:199 parse-options.c:203
+#: diff.c:4752 diff.c:4757 diff.c:4762 diff.c:4767 diff.c:5279
+#: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s attend une valeur numérique"
 
-#: diff.c:4726
+#: diff.c:4784
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2610,42 +3420,42 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:4811
+#: diff.c:4869
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "classe de modification inconnue '%c' dans --diff-fileter=%s"
 
-#: diff.c:4835
+#: diff.c:4893
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "valeur inconnue après ws-error-highlight=%.*s"
 
-#: diff.c:4849
+#: diff.c:4907
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: diff.c:4899 diff.c:4905
+#: diff.c:4957 diff.c:4963
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "forme <n>/<m> attendue par %s"
 
-#: diff.c:4917
+#: diff.c:4975
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "caractère attendu par %s, '%s' trouvé"
 
-#: diff.c:4938
+#: diff.c:4996
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "mauvais argument --color-moved : %s"
 
-#: diff.c:4957
+#: diff.c:5015
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "mode invalide '%s' dans --color-moved-ws"
 
-#: diff.c:4997
+#: diff.c:5055
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -2653,155 +3463,155 @@ msgstr ""
 "l'option diff-algorithm accept \"myers\", \"minimal\", \"patience\" et "
 "\"histogram\""
 
-#: diff.c:5033 diff.c:5053
+#: diff.c:5091 diff.c:5111
 #, c-format
 msgid "invalid argument to %s"
 msgstr "argument invalide pour %s"
 
-#: diff.c:5191
+#: diff.c:5248
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "échec de l'analyse du paramètre de l'option --submodule : '%s'"
 
-#: diff.c:5247
+#: diff.c:5304
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "mauvais argument pour --word-diff : %s"
 
-#: diff.c:5270
+#: diff.c:5327
 msgid "Diff output format options"
 msgstr "Options de format de sortie de diff"
 
-#: diff.c:5272 diff.c:5278
+#: diff.c:5329 diff.c:5335
 msgid "generate patch"
 msgstr "générer la rustine"
 
-#: diff.c:5275 builtin/log.c:172
+#: diff.c:5332 builtin/log.c:176
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: diff.c:5280 diff.c:5394 diff.c:5401
+#: diff.c:5337 diff.c:5451 diff.c:5458
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5281 diff.c:5284
+#: diff.c:5338 diff.c:5341
 msgid "generate diffs with <n> lines context"
 msgstr "générer les diffs avec <n> lignes de contexte"
 
-#: diff.c:5286
+#: diff.c:5343
 msgid "generate the diff in raw format"
 msgstr "générer le diff en format brut"
 
-#: diff.c:5289
+#: diff.c:5346
 msgid "synonym for '-p --raw'"
 msgstr "synonyme de '-p --raw'"
 
-#: diff.c:5293
+#: diff.c:5350
 msgid "synonym for '-p --stat'"
 msgstr "synonyme de '-p --stat'"
 
-#: diff.c:5297
+#: diff.c:5354
 msgid "machine friendly --stat"
 msgstr "--stat pour traitement automatique"
 
-#: diff.c:5300
+#: diff.c:5357
 msgid "output only the last line of --stat"
 msgstr "afficher seulement la dernière ligne de --stat"
 
-#: diff.c:5302 diff.c:5310
+#: diff.c:5359 diff.c:5367
 msgid "<param1,param2>..."
 msgstr "<param1,param2>..."
 
-#: diff.c:5303
+#: diff.c:5360
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 "afficher la distribution des quantités de modifications relatives pour "
 "chaque sous-répertoire"
 
-#: diff.c:5307
+#: diff.c:5364
 msgid "synonym for --dirstat=cumulative"
 msgstr "synonyme pour --dirstat=cumulative"
 
-#: diff.c:5311
+#: diff.c:5368
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "synonyme pour --dirstat=files,param1,param2..."
 
-#: diff.c:5315
+#: diff.c:5372
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "avertir si les modifications introduisent des marqueurs de conflit ou des "
 "erreurs d'espace"
 
-#: diff.c:5318
+#: diff.c:5375
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 "résumé succinct tel que les créations, les renommages et les modifications "
 "de mode"
 
-#: diff.c:5321
+#: diff.c:5378
 msgid "show only names of changed files"
 msgstr "n'afficher que les noms de fichiers modifiés"
 
-#: diff.c:5324
+#: diff.c:5381
 msgid "show only names and status of changed files"
 msgstr "n'afficher que les noms et les status des fichiers modifiés"
 
-#: diff.c:5326
+#: diff.c:5383
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<largeur>[,<largeur-de-nom>[,<compte>]]"
 
-#: diff.c:5327
+#: diff.c:5384
 msgid "generate diffstat"
 msgstr "générer un diffstat"
 
-#: diff.c:5329 diff.c:5332 diff.c:5335
+#: diff.c:5386 diff.c:5389 diff.c:5392
 msgid "<width>"
 msgstr "<largeur>"
 
-#: diff.c:5330
+#: diff.c:5387
 msgid "generate diffstat with a given width"
 msgstr "générer un diffstat avec la largeur indiquée"
 
-#: diff.c:5333
+#: diff.c:5390
 msgid "generate diffstat with a given name width"
 msgstr "génerer un diffstat avec la largeur de nom indiquée"
 
-#: diff.c:5336
+#: diff.c:5393
 msgid "generate diffstat with a given graph width"
 msgstr "génerer un diffstat avec la largeur de graphe indiquée"
 
-#: diff.c:5338
+#: diff.c:5395
 msgid "<count>"
 msgstr "<compte>"
 
-#: diff.c:5339
+#: diff.c:5396
 msgid "generate diffstat with limited lines"
 msgstr "générer un diffstat avec des lignes limitées"
 
-#: diff.c:5342
+#: diff.c:5399
 msgid "generate compact summary in diffstat"
 msgstr "générer une résumé compact dans le diffstat"
 
-#: diff.c:5345
+#: diff.c:5402
 msgid "output a binary diff that can be applied"
 msgstr "produire un diff binaire qui peut être appliqué"
 
-#: diff.c:5348
+#: diff.c:5405
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "afficher les noms complets des objets pre- et post-image sur les lignes "
 "\"index\""
 
-#: diff.c:5350
+#: diff.c:5407
 msgid "show colored diff"
 msgstr "afficher un diff coloré"
 
-#: diff.c:5351
+#: diff.c:5408
 msgid "<kind>"
 msgstr "<sorte>"
 
-#: diff.c:5352
+#: diff.c:5409
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -2809,7 +3619,7 @@ msgstr ""
 "surligner les erreurs d'espace dans les lignes 'contexte', 'ancien', "
 "'nouveau' dans le diff"
 
-#: diff.c:5355
+#: diff.c:5412
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2817,93 +3627,93 @@ msgstr ""
 "ne pas compresser les chemins et utiliser des NULs comme terminateurs de "
 "champs dans --raw ou --numstat"
 
-#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470
+#: diff.c:5415 diff.c:5418 diff.c:5421 diff.c:5527
 msgid "<prefix>"
 msgstr "<préfixe>"
 
-#: diff.c:5359
+#: diff.c:5416
 msgid "show the given source prefix instead of \"a/\""
 msgstr "afficher le préfixe de source indiqué au lieu de \"a/\""
 
-#: diff.c:5362
+#: diff.c:5419
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "afficher le préfixe de destination indiqué au lieu de \"b/\""
 
-#: diff.c:5365
+#: diff.c:5422
 msgid "prepend an additional prefix to every line of output"
 msgstr "préfixer toutes les lignes en sortie avec la chaîne indiquée"
 
-#: diff.c:5368
+#: diff.c:5425
 msgid "do not show any source or destination prefix"
 msgstr "n'afficher aucun préfixe, ni de source, ni de destination"
 
-#: diff.c:5371
+#: diff.c:5428
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "afficher le contexte entre les sections à concurrence du nombre de ligne "
 "indiqué"
 
-#: diff.c:5375 diff.c:5380 diff.c:5385
+#: diff.c:5432 diff.c:5437 diff.c:5442
 msgid "<char>"
 msgstr "<caractère>"
 
-#: diff.c:5376
+#: diff.c:5433
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "spécifier le caractère pour indiquer une nouvelle ligne au lieu de '+'"
 
-#: diff.c:5381
+#: diff.c:5438
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "spécifier le caractère pour indiquer une ancienne ligne au lieu de '-'"
 
-#: diff.c:5386
+#: diff.c:5443
 msgid "specify the character to indicate a context instead of ' '"
 msgstr ""
 "spécifier le caractère pour indiquer une ligne de contexte au lieu de ' '"
 
-#: diff.c:5389
+#: diff.c:5446
 msgid "Diff rename options"
 msgstr "Options de renommage de diff"
 
-#: diff.c:5390
+#: diff.c:5447
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5391
+#: diff.c:5448
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr ""
 "casser les modifications d'une réécrire complète en paires de suppression et "
 "création"
 
-#: diff.c:5395
+#: diff.c:5452
 msgid "detect renames"
 msgstr "détecter les renommages"
 
-#: diff.c:5399
+#: diff.c:5456
 msgid "omit the preimage for deletes"
 msgstr "supprimer la pré-image pour les suppressions"
 
-#: diff.c:5402
+#: diff.c:5459
 msgid "detect copies"
 msgstr "détecter les copies"
 
-#: diff.c:5406
+#: diff.c:5463
 msgid "use unmodified files as source to find copies"
 msgstr ""
 "utiliser les fichiers non-modifiés comme sources pour trouver des copies"
 
-#: diff.c:5408
+#: diff.c:5465
 msgid "disable rename detection"
 msgstr "désactiver la détection de renommage"
 
-#: diff.c:5411
+#: diff.c:5468
 msgid "use empty blobs as rename source"
 msgstr "utiliser des blobs vides comme source de renommage"
 
-#: diff.c:5413
+#: diff.c:5470
 msgid "continue listing the history of a file beyond renames"
 msgstr "continuer à afficher l'historique d'un fichier au delà des renommages"
 
-#: diff.c:5416
+#: diff.c:5473
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -2911,161 +3721,161 @@ msgstr ""
 "empêcher la détection de renommage/copie si le nombre de cibles de renommage/"
 "copie excède la limite indiquée"
 
-#: diff.c:5418
+#: diff.c:5475
 msgid "Diff algorithm options"
 msgstr "Options de l'algorithme de diff"
 
-#: diff.c:5420
+#: diff.c:5477
 msgid "produce the smallest possible diff"
 msgstr "produire le diff le plus petit possible"
 
-#: diff.c:5423
+#: diff.c:5480
 msgid "ignore whitespace when comparing lines"
 msgstr "ignorer les espaces lors de la comparaison de ligne"
 
-#: diff.c:5426
+#: diff.c:5483
 msgid "ignore changes in amount of whitespace"
 msgstr "ignorer des modifications du nombre d'espaces"
 
-#: diff.c:5429
+#: diff.c:5486
 msgid "ignore changes in whitespace at EOL"
 msgstr "ignorer des modifications d'espace en fin de ligne"
 
-#: diff.c:5432
+#: diff.c:5489
 msgid "ignore carrier-return at the end of line"
 msgstr "ignore le retour chariot en fin de ligne"
 
-#: diff.c:5435
+#: diff.c:5492
 msgid "ignore changes whose lines are all blank"
 msgstr "ignorer les modifications dont les lignes sont vides"
 
-#: diff.c:5438
+#: diff.c:5495
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 "heuristique qui déplace les limites de sections de diff pour faciliter la "
 "lecture"
 
-#: diff.c:5441
+#: diff.c:5498
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"patience\""
 
-#: diff.c:5445
+#: diff.c:5502
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr ""
 "générer un diff en utilisant l'algorithme de différence \"histogramme\""
 
-#: diff.c:5447
+#: diff.c:5504
 msgid "<algorithm>"
 msgstr "<algorithme>"
 
-#: diff.c:5448
+#: diff.c:5505
 msgid "choose a diff algorithm"
 msgstr "choisir un algorithme de différence"
 
-#: diff.c:5450
+#: diff.c:5507
 msgid "<text>"
 msgstr "<texte>"
 
-#: diff.c:5451
+#: diff.c:5508
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"ancré\""
 
-#: diff.c:5453 diff.c:5462 diff.c:5465
+#: diff.c:5510 diff.c:5519 diff.c:5522
 msgid "<mode>"
 msgstr "<mode>"
 
-#: diff.c:5454
+#: diff.c:5511
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "afficher des différences par mot, en utilisant <mode> pour délimiter les "
 "mots modifiés"
 
-#: diff.c:5456 diff.c:5459 diff.c:5504
+#: diff.c:5513 diff.c:5516 diff.c:5561
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5457
+#: diff.c:5514
 msgid "use <regex> to decide what a word is"
 msgstr "utiliser <regex> pour décider ce qu'est un mot"
 
-#: diff.c:5460
+#: diff.c:5517
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "équivalent à --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5463
+#: diff.c:5520
 msgid "moved lines of code are colored differently"
 msgstr "les lignes déplacées sont colorées différemment"
 
-#: diff.c:5466
+#: diff.c:5523
 msgid "how white spaces are ignored in --color-moved"
 msgstr "comment les espaces sont ignorés dans --color-moved"
 
-#: diff.c:5469
+#: diff.c:5526
 msgid "Other diff options"
 msgstr "Autres options diff"
 
-#: diff.c:5471
+#: diff.c:5528
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "lancé depuis un sous-répertoire, exclure les modifications en dehors et "
 "afficher les chemins relatifs"
 
-#: diff.c:5475
+#: diff.c:5532
 msgid "treat all files as text"
 msgstr "traiter les fichiers comme texte"
 
-#: diff.c:5477
+#: diff.c:5534
 msgid "swap two inputs, reverse the diff"
 msgstr "échanger les entrées, inverser le diff"
 
-#: diff.c:5479
+#: diff.c:5536
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "sortir un code d'erreur 1 s'il y avait de différences, 0 sinon"
 
-#: diff.c:5481
+#: diff.c:5538
 msgid "disable all output of the program"
 msgstr "désactiver tous les affichages du programme"
 
-#: diff.c:5483
+#: diff.c:5540
 msgid "allow an external diff helper to be executed"
 msgstr "autoriser l'exécution d'un assistant externe de diff"
 
-#: diff.c:5485
+#: diff.c:5542
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "lancer les filtres externes de conversion en texte lors de la comparaison de "
 "fichiers binaires"
 
-#: diff.c:5487
+#: diff.c:5544
 msgid "<when>"
 msgstr "<quand>"
 
-#: diff.c:5488
+#: diff.c:5545
 msgid "ignore changes to submodules in the diff generation"
 msgstr ""
 "ignorer les modifications dans les sous-modules lors de la génération de diff"
 
-#: diff.c:5491
+#: diff.c:5548
 msgid "<format>"
 msgstr "<format>"
 
-#: diff.c:5492
+#: diff.c:5549
 msgid "specify how differences in submodules are shown"
 msgstr "spécifier comment les différences dans les sous-modules sont affichées"
 
-#: diff.c:5496
+#: diff.c:5553
 msgid "hide 'git add -N' entries from the index"
 msgstr "masquer les entrées 'git add -N' de l'index"
 
-#: diff.c:5499
+#: diff.c:5556
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "traiter les entrées 'git add -N' comme réelles dans l'index"
 
-#: diff.c:5501
+#: diff.c:5558
 msgid "<string>"
 msgstr "<chaîne>"
 
-#: diff.c:5502
+#: diff.c:5559
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -3073,7 +3883,7 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la "
 "chaîne spécifiée"
 
-#: diff.c:5505
+#: diff.c:5562
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3081,26 +3891,26 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la regex "
 "spécifiée"
 
-#: diff.c:5508
+#: diff.c:5565
 msgid "show all changes in the changeset with -S or -G"
 msgstr ""
 "afficher toutes les modifications dans l'ensemble de modifications avec -S "
 "ou -G"
 
-#: diff.c:5511
+#: diff.c:5568
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 "traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue"
 
-#: diff.c:5514
+#: diff.c:5571
 msgid "control the order in which files appear in the output"
 msgstr "contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie"
 
-#: diff.c:5515
+#: diff.c:5572
 msgid "<object-id>"
 msgstr "<id-objet>"
 
-#: diff.c:5516
+#: diff.c:5573
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3108,35 +3918,35 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de l'objet "
 "indiqué"
 
-#: diff.c:5518
+#: diff.c:5575
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5519
+#: diff.c:5576
 msgid "select files by diff type"
 msgstr "sélectionner les fichiers par types de diff"
 
-#: diff.c:5521
+#: diff.c:5578
 msgid "<file>"
 msgstr "<fichier>"
 
-#: diff.c:5522
+#: diff.c:5579
 msgid "Output to a specific file"
 msgstr "Sortie vers un fichier spécifié"
 
-#: diff.c:6177
+#: diff.c:6236
 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:6180
+#: diff.c:6239
 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:6183
+#: diff.c:6242
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3144,57 +3954,87 @@ msgstr ""
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:537
+#: diffcore-order.c:24
+#, c-format
+msgid "failed to read orderfile '%s'"
+msgstr "impossible de lire le fichier de commande '%s'"
+
+#: diffcore-rename.c:592
+msgid "Performing inexact rename detection"
+msgstr "Détection de renommage inexact en cours"
+
+#: dir.c:578
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr ""
 "le spécificateur de chemin '%s' ne correspond à aucun fichier connu de git"
 
-#: dir.c:926
+#: dir.c:718 dir.c:747 dir.c:760
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr "motif non reconnu : '%s'"
+
+#: dir.c:777 dir.c:791
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr "motif négatif non reconnu : '%s'"
+
+#: dir.c:809
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr ""
+"votre fichier d'extraction partielle pourrait présenter des problèmes : le "
+"motif '%s' est répété"
+
+#: dir.c:819
+msgid "disabling cone pattern matching"
+msgstr "désactivation de la correspondance de motif de cone"
+
+#: dir.c:1198
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "impossible d'utiliser %s comme fichier d'exclusion"
 
-#: dir.c:1843
+#: dir.c:2305
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "impossible d'ouvrir le répertoire '%s'"
 
-#: dir.c:2085
+#: dir.c:2605
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:2209
+#: dir.c:2729
 msgid "untracked cache is disabled on this system or location"
 msgstr "Le cache non suivi est désactivé sur ce système ou sur cet endroit"
 
-#: dir.c:3013
+#: dir.c:3520
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "fichier d'index corrompu dans le dépôt %s"
 
-#: dir.c:3058 dir.c:3063
+#: dir.c:3565 dir.c:3570
 #, c-format
 msgid "could not create directories for %s"
 msgstr "impossible de créer les répertoires pour %s"
 
-#: dir.c:3092
+#: dir.c:3599
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
 
-#: editor.c:73
+#: editor.c:74
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr ""
 "suggestion : en attente de la fermeture du fichier par votre éditeur de "
 "texte…%c"
 
-#: entry.c:178
+#: entry.c:177
 msgid "Filtering content"
 msgstr "Filtrage du contenu"
 
-#: entry.c:476
+#: entry.c:478
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "impossible de stat le fichier '%s'"
@@ -3204,7 +4044,7 @@ msgstr "impossible de stat le fichier '%s'"
 msgid "bad git namespace path \"%s\""
 msgstr "Espaces de nom de Git \"%s\""
 
-#: environment.c:332
+#: environment.c:337
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr "impossible de régler GIT_DIR à '%s'"
@@ -3214,266 +4054,288 @@ msgstr "impossible de régler GIT_DIR à '%s'"
 msgid "too many args to run %s"
 msgstr "trop d'arguments pour lancer %s"
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
-msgstr "Dépôt distant sans URL"
-
-#: fetch-pack.c:151
+#: fetch-pack.c:176
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : liste superficielle attendue"
 
-#: fetch-pack.c:154
+#: fetch-pack.c:179
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr ""
 "git fetch-pack : paquet de vidage attendu après une liste superficielle"
 
-#: fetch-pack.c:165
+#: fetch-pack.c:190
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack : ACK/NACK attendu, paquet de nettoyage reçu"
 
-#: fetch-pack.c:185
+#: fetch-pack.c:210
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
 
-#: fetch-pack.c:196
+#: fetch-pack.c:221
 msgid "unable to write to remote"
 msgstr "impossible d'écrire sur un distant"
 
-#: fetch-pack.c:258
+#: fetch-pack.c:282
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite multi_ack_detailed"
 
-#: fetch-pack.c:360 fetch-pack.c:1284
+#: fetch-pack.c:375 fetch-pack.c:1397
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "ligne de superficiel invalide : %s"
 
-#: fetch-pack.c:366 fetch-pack.c:1290
+#: fetch-pack.c:381 fetch-pack.c:1403
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "ligne de fin de superficiel invalide : %s"
 
-#: fetch-pack.c:368 fetch-pack.c:1292
+#: fetch-pack.c:383 fetch-pack.c:1405
 #, c-format
 msgid "object not found: %s"
 msgstr "objet non trouvé : %s"
 
-#: fetch-pack.c:371 fetch-pack.c:1295
+#: fetch-pack.c:386 fetch-pack.c:1408
 #, c-format
 msgid "error in object: %s"
 msgstr "Erreur dans l'objet : %s"
 
-#: fetch-pack.c:373 fetch-pack.c:1297
+#: fetch-pack.c:388 fetch-pack.c:1410
 #, c-format
 msgid "no shallow found: %s"
 msgstr "Pas de superficiel trouvé : %s"
 
-#: fetch-pack.c:376 fetch-pack.c:1301
+#: fetch-pack.c:391 fetch-pack.c:1414
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "superficiel/non superficiel attendu, %s trouvé"
 
-#: fetch-pack.c:417
+#: fetch-pack.c:431
 #, c-format
 msgid "got %s %d %s"
 msgstr "réponse %s %d %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:448
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit invalide %s"
 
-#: fetch-pack.c:465
+#: fetch-pack.c:479
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:477 progress.c:277
+#: fetch-pack.c:492 progress.c:339
 msgid "done"
 msgstr "fait"
 
-#: fetch-pack.c:489
+#: fetch-pack.c:504
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s trouvé (%d) %s"
 
-#: fetch-pack.c:535
+#: fetch-pack.c:540
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marquage de %s comme terminé"
 
-#: fetch-pack.c:744
+#: fetch-pack.c:755
 #, c-format
 msgid "already have %s (%s)"
 msgstr "%s déjà possédé (%s)"
 
-#: fetch-pack.c:783
+#: fetch-pack.c:824
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
 
-#: fetch-pack.c:791
+#: fetch-pack.c:832
 msgid "protocol error: bad pack header"
 msgstr "erreur de protocole : mauvais entête de paquet"
 
-#: fetch-pack.c:859
+#: fetch-pack.c:916
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack : impossible de dupliquer %s"
 
-#: fetch-pack.c:875
+#: fetch-pack.c:933
 #, c-format
 msgid "%s failed"
 msgstr "échec de %s"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:935
 msgid "error in sideband demultiplexer"
 msgstr "erreur dans le démultiplexer latéral"
 
-#: fetch-pack.c:908
+#: fetch-pack.c:978
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*s"
 
-#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928
-#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944
-#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960
-#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982
+#: fetch-pack.c:983 fetch-pack.c:989 fetch-pack.c:992 fetch-pack.c:998
+#: fetch-pack.c:1002 fetch-pack.c:1006 fetch-pack.c:1010 fetch-pack.c:1014
+#: fetch-pack.c:1018 fetch-pack.c:1022 fetch-pack.c:1026 fetch-pack.c:1030
+#: fetch-pack.c:1036 fetch-pack.c:1042 fetch-pack.c:1047 fetch-pack.c:1052
 #, c-format
 msgid "Server supports %s"
 msgstr "Le serveur supporte %s"
 
-#: fetch-pack.c:915
+#: fetch-pack.c:985
 msgid "Server does not support shallow clients"
 msgstr "Le serveur ne supporte les clients superficiels"
 
-#: fetch-pack.c:975
+#: fetch-pack.c:1045
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:980
+#: fetch-pack.c:1050
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:984
+#: fetch-pack.c:1054
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:1001
+#: fetch-pack.c:1056
+msgid "Server does not support this repository's object format"
+msgstr "Le serveur ne supporte pas ce format d'objets de ce dépôt"
+
+#: fetch-pack.c:1069
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: fetch-pack.c:1013 fetch-pack.c:1462
+#: fetch-pack.c:1081 fetch-pack.c:1619
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack : échec de le récupération."
 
-#: fetch-pack.c:1151
+#: fetch-pack.c:1205
+#, c-format
+msgid "mismatched algorithms: client %s; server %s"
+msgstr "non-correspondance des algorithmes : client %s ; serveur %s"
+
+#: fetch-pack.c:1209
+#, c-format
+msgid "the server does not support algorithm '%s'"
+msgstr "Le serveur ne supporte pas l'algorithme '%s'"
+
+#: fetch-pack.c:1229
 msgid "Server does not support shallow requests"
-msgstr "Le serveur ne supporte les requêtes superficielles"
+msgstr "Le serveur ne supporte pas les requêtes superficielles"
 
-#: fetch-pack.c:1157
+#: fetch-pack.c:1236
 msgid "Server supports filter"
 msgstr "Le serveur supporte filter"
 
-#: fetch-pack.c:1184
+#: fetch-pack.c:1275
 msgid "unable to write request to remote"
 msgstr "impossible d'écrire la requête sur le distant"
 
-#: fetch-pack.c:1202
+#: fetch-pack.c:1293
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "erreur à la lecture de l'entête de section '%s'"
 
-#: fetch-pack.c:1208
+#: fetch-pack.c:1299
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' attendu, '%s' reçu"
 
-#: fetch-pack.c:1247
+#: fetch-pack.c:1360
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "ligne d'acquittement inattendue : '%s'"
 
-#: fetch-pack.c:1252
+#: fetch-pack.c:1365
 #, c-format
 msgid "error processing acks: %d"
 msgstr "erreur lors du traitement des acquittements : %d"
 
-#: fetch-pack.c:1262
+#: fetch-pack.c:1375
 msgid "expected packfile to be sent after 'ready'"
 msgstr "fichier paquet attendu à envoyer après 'ready'"
 
-#: fetch-pack.c:1264
+#: fetch-pack.c:1377
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "aucune autre section attendue à envoyer après absence de 'ready'"
 
-#: fetch-pack.c:1306
+#: fetch-pack.c:1419
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "erreur lors du traitement de l'information de superficialité : %d"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1466
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref attendu, '%s' trouvé"
 
-#: fetch-pack.c:1358
+#: fetch-pack.c:1471
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inattendu : '%s'"
 
-#: fetch-pack.c:1363
+#: fetch-pack.c:1476
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "erreur lors du traitement des références voulues : %d"
 
-#: fetch-pack.c:1689
+#: fetch-pack.c:1506
+msgid "git fetch-pack: expected response end packet"
+msgstr "git fetch-pack : paquet de fin de réponse attendu"
+
+#: fetch-pack.c:1887
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: fetch-pack.c:1712 builtin/clone.c:686
+#: fetch-pack.c:1910 builtin/clone.c:692
 msgid "remote did not send all necessary objects"
 msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: fetch-pack.c:1739
+#: fetch-pack.c:1937
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:1742
+#: fetch-pack.c:1940
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "Le serveur n'autorise pas de requête pour l'objet %s non annoncé"
 
-#: gpg-interface.c:321
-msgid "gpg failed to sign the data"
-msgstr "gpg n'a pas pu signer les données"
-
-#: gpg-interface.c:347
+#: gpg-interface.c:272
 msgid "could not create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: gpg-interface.c:350
+#: gpg-interface.c:275
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
 
-#: graph.c:97
+#: gpg-interface.c:457
+msgid "gpg failed to sign the data"
+msgstr "gpg n'a pas pu signer les données"
+
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "couleur invalide '%.*s' ignorée dans log.graphColors"
 
-#: grep.c:2117
+#: grep.c:668
+msgid ""
+"given pattern contains NULL byte (via -f <file>). This is only supported "
+"with -P under PCRE v2"
+msgstr ""
+"le motif fourni contient des octets NUL (via -f <fichier>). Ce n'est "
+"supporté qu'avec -P avec PCRE v2"
+
+#: grep.c:2128
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82
+#: grep.c:2145 setup.c:176 builtin/clone.c:411 builtin/diff.c:89
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "échec du stat de '%s'"
 
-#: grep.c:2145
+#: grep.c:2156
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
@@ -3524,50 +4386,50 @@ msgid "Low-level Commands / Interrogators"
 msgstr "Commandes bas niveau / Interrogateurs"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "Commandes bas niveau / Synchronisation de dépôts"
 
 #: help.c:38
 msgid "Low-level Commands / Internal Helpers"
 msgstr "Commandes bas niveau / Assistants internes"
 
-#: help.c:298
+#: help.c:300
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "commandes git disponibles dans '%s'"
 
-#: help.c:305
+#: help.c:307
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
 
-#: help.c:314
+#: help.c:316
 msgid "These are common Git commands used in various situations:"
 msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :"
 
-#: help.c:363 git.c:98
+#: help.c:365 git.c:99
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "type de liste de commandes non supporté '%s'"
 
-#: help.c:403
-msgid "The common Git guides are:"
-msgstr "Les guides Git populaires sont :"
+#: help.c:405
+msgid "The Git concept guides are:"
+msgstr "Les guides des concepts de Git sont :"
 
-#: help.c:512
+#: help.c:429
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr ""
 "Référez-vous à 'git help <commande>' pour des informations sur une sous-"
 "commande spécifique"
 
-#: help.c:517
+#: help.c:434
 msgid "External commands"
 msgstr "Commandes externes"
 
-#: help.c:532
+#: help.c:449
 msgid "Command aliases"
 msgstr "Alias de commande"
 
-#: help.c:596
+#: help.c:513
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -3576,33 +4438,33 @@ msgstr ""
 "'%s' semble être une commande git, mais elle n'a pas pu\n"
 "être exécutée. Peut-être git-%s est-elle cassée ?"
 
-#: help.c:655
+#: help.c:572
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ahem. Votre système n'indique aucune commande Git."
 
-#: help.c:677
+#: help.c:594
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr ""
 "ATTENTION : vous avez invoqué une commande Git nommée '%s' qui n'existe pas."
 
-#: help.c:682
+#: help.c:599
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Continuons en supposant que vous avez voulu dire '%s'."
 
-#: help.c:687
+#: help.c:604
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr ""
 "Continuons dans %0.1f secondes en supposant que vous avez voulu dire '%s'."
 
-#: help.c:695
+#: help.c:612
 #, 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:699
+#: help.c:616
 msgid ""
 "\n"
 "The most similar command is"
@@ -3616,16 +4478,16 @@ msgstr[1] ""
 "\n"
 "Les commandes les plus ressemblantes sont"
 
-#: help.c:714
+#: help.c:656
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: help.c:782
+#: help.c:711
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:786
+#: help.c:715
 msgid ""
 "\n"
 "Did you mean this?"
@@ -3639,7 +4501,15 @@ msgstr[1] ""
 "\n"
 "Vouliez-vous dire un de ceux-là ?"
 
-#: ident.c:349
+#: ident.c:353
+msgid "Author identity unknown\n"
+msgstr "Identité d'auteur inconnue\n"
+
+#: ident.c:356
+msgid "Committer identity unknown\n"
+msgstr "Indentité de validateur inconnue\n"
+
+#: ident.c:362
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -3665,78 +4535,100 @@ msgstr ""
 "Éliminez --global pour ne faire les réglages que dans ce dépôt.\n"
 "\n"
 
-#: ident.c:379
+#: ident.c:397
 msgid "no email was given and auto-detection is disabled"
 msgstr "aucun courriel fourni et l'auto-détection est désactivée"
 
-#: ident.c:384
+#: ident.c:402
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "impossible de détecter automatiquement l'adresse ('%s' trouvé)"
 
-#: ident.c:401
+#: ident.c:419
 msgid "no name was given and auto-detection is disabled"
 msgstr "aucun nom fourni et l'auto-détection est désactivée"
 
-#: ident.c:407
+#: ident.c:425
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "impossible de détecter automatiquement le nom ('%s' trouvé)"
 
-#: ident.c:415
+#: ident.c:433
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "nom d'identifiant vide (pour <%s>) non permis"
 
-#: ident.c:421
+#: ident.c:439
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "le nom n'est constitué que de caractères interdits : %s"
 
-#: ident.c:436 builtin/commit.c:611
+#: ident.c:454 builtin/commit.c:634
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %s"
 
-#: list-objects.c:129
+#: list-objects-filter-options.c:81
+msgid "expected 'tree:<depth>'"
+msgstr "attendu : 'tree:<profondeur>'"
+
+#: list-objects-filter-options.c:96
+msgid "sparse:path filters support has been dropped"
+msgstr "sparse : le support des filtres de chemin a été abandonné"
+
+#: list-objects-filter-options.c:109
 #, c-format
-msgid "entry '%s' in tree %s has tree mode, but is not a tree"
-msgstr ""
-"l'entrée '%s' dans l'arbre %s a un mode d'arbre, mais n'est pas un arbre"
+msgid "invalid filter-spec '%s'"
+msgstr "spécificateur de filtre invalide '%s'"
 
-#: list-objects.c:142
+#: list-objects-filter-options.c:125
 #, c-format
-msgid "entry '%s' in tree %s has blob mode, but is not a blob"
+msgid "must escape char in sub-filter-spec: '%c'"
 msgstr ""
-"l'entrée '%s' dans l'arbre %s a un mode de blob, mais n'est pas un blob"
+"le caractère doit être échappé dans le spécificateur de sous-filtre : '%c'"
 
-#: list-objects.c:378
-#, c-format
-msgid "unable to load root tree for commit %s"
-msgstr "impossible de charger l'arbre racine pour le commit %s"
+#: list-objects-filter-options.c:167
+msgid "expected something after combine:"
+msgstr "quelque chose attendu après combine :"
 
-#: list-objects-filter-options.c:36
+#: list-objects-filter-options.c:249
 msgid "multiple filter-specs cannot be combined"
 msgstr "impossible de combiner des spécificateurs multiples de filtre"
 
-#: list-objects-filter-options.c:58
-msgid "expected 'tree:<depth>'"
-msgstr "attendu : 'tree:<profondeur>'"
+#: list-objects-filter-options.c:361
+msgid "unable to upgrade repository format to support partial clone"
+msgstr ""
+"impossible de mettre à jour le format de dépôt pour supporter les clones "
+"partiels"
 
-#: list-objects-filter-options.c:84
-msgid "sparse:path filters support has been dropped"
-msgstr "sparse : le support des filtres de chemin a été abandonné"
+#: list-objects-filter.c:492
+#, c-format
+msgid "unable to access sparse blob in '%s'"
+msgstr "impossible d'accéder au blob clairsemé dans '%s'"
 
-#: list-objects-filter-options.c:94
+#: list-objects-filter.c:495
 #, c-format
-msgid "invalid filter-spec '%s'"
-msgstr "spécificateur de filtre invalide '%s'"
+msgid "unable to parse sparse filter data in %s"
+msgstr "impossible d'analyser la donnée de filtre clairsemé dans %s"
 
-#: list-objects-filter-options.c:158
-msgid "cannot change partial clone promisor remote"
-msgstr "impossible de modifier le prometteur distant de clone partiel"
+#: list-objects.c:127
+#, c-format
+msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+msgstr ""
+"l'entrée '%s' dans l'arbre %s a un mode d'arbre, mais n'est pas un arbre"
 
-#: lockfile.c:151
+#: list-objects.c:140
+#, c-format
+msgid "entry '%s' in tree %s has blob mode, but is not a blob"
+msgstr ""
+"l'entrée '%s' dans l'arbre %s a un mode de blob, mais n'est pas un blob"
+
+#: list-objects.c:375
+#, c-format
+msgid "unable to load root tree for commit %s"
+msgstr "impossible de charger l'arbre racine pour le commit %s"
+
+#: lockfile.c:152
 #, c-format
 msgid ""
 "Unable to create '%s.lock': %s.\n"
@@ -3755,126 +4647,116 @@ msgstr ""
 "un processus git peut avoir planté :\n"
 "supprimez le fichier manuellement pour poursuivre."
 
-#: lockfile.c:159
+#: lockfile.c:160
 #, c-format
 msgid "Unable to create '%s.lock': %s"
 msgstr "Impossible de créer '%s.lock' : %s"
 
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr "impossible de lire le cache"
-
-#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919
-#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786
-#: builtin/stash.c:264
-msgid "unable to write new index file"
-msgstr "impossible d'écrire le nouveau fichier d'index"
+#: ls-refs.c:109
+msgid "expected flush after ls-refs arguments"
+msgstr "vidage attendu après les arguments ls-refs"
 
-#: merge-recursive.c:322
+#: merge-recursive.c:356
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:345
+#: merge-recursive.c:379
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:354
+#: merge-recursive.c:388
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:437
-msgid "error building trees"
-msgstr "erreur de construction des arbres"
-
-#: merge-recursive.c:863
+#: merge-recursive.c:874
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:874
+#: merge-recursive.c:885
 #, 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:888 merge-recursive.c:907
+#: merge-recursive.c:899 merge-recursive.c:918
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:897
+#: merge-recursive.c:908
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:938 builtin/cat-file.c:40
+#: merge-recursive.c:949 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:941
+#: merge-recursive.c:954
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:965
+#: merge-recursive.c:979
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:976
+#: merge-recursive.c:990
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:981
+#: merge-recursive.c:995
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:1177
+#: merge-recursive.c:1191
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Échec de la fusion du sous-module %s (non extrait)"
 
-#: merge-recursive.c:1184
+#: merge-recursive.c:1198
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Échec de fusion du sous-module %s (commits non présents)"
 
-#: merge-recursive.c:1191
+#: merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 "Échec de la fusion du sous-module %s (les commits ne descendent pas de la "
 "base de fusion)"
 
-#: merge-recursive.c:1199 merge-recursive.c:1211
+#: merge-recursive.c:1213 merge-recursive.c:1225
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Avance rapide du sous-module %s au commit suivant :"
 
-#: merge-recursive.c:1202 merge-recursive.c:1214
+#: merge-recursive.c:1216 merge-recursive.c:1228
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rapide du sous-module %s"
 
-#: merge-recursive.c:1237
+#: merge-recursive.c:1251
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Échec de fusion du sous-module %s (fusion suivant les commits non trouvée)"
 
-#: merge-recursive.c:1241
+#: merge-recursive.c:1255
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Échec de fusion du sous-module %s (pas en avance rapide)"
 
-#: merge-recursive.c:1242
+#: merge-recursive.c:1256
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Résolution possible de fusion trouvée pour le sous-module :\n"
 
-#: merge-recursive.c:1245
+#: merge-recursive.c:1259
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3891,33 +4773,33 @@ msgstr ""
 "\n"
 "qui acceptera cette suggestion.\n"
 
-#: merge-recursive.c:1254
+#: merge-recursive.c:1268
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Échec de fusion du sous-module %s (plusieurs fusions trouvées)"
 
-#: merge-recursive.c:1327
+#: merge-recursive.c:1341
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:1332
+#: merge-recursive.c:1346
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1364
+#: merge-recursive.c:1378
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %s"
 
-#: merge-recursive.c:1387
+#: merge-recursive.c:1402
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 "Erreur : refus de perdre le fichier non suivi %s ; écriture dans %s à la "
 "place."
 
-#: merge-recursive.c:1459
+#: merge-recursive.c:1474
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3926,7 +4808,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:1464
+#: merge-recursive.c:1479
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3935,7 +4817,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre."
 
-#: merge-recursive.c:1471
+#: merge-recursive.c:1486
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3944,7 +4826,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1476
+#: merge-recursive.c:1491
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3953,41 +4835,41 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1526
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1526
 msgid "renamed"
 msgstr "renommé"
 
-#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094
+#: merge-recursive.c:1577 merge-recursive.c:2484 merge-recursive.c:3129
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Refus de perdre le fichier modifié %s"
 
-#: merge-recursive.c:1601
+#: merge-recursive.c:1587
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "Refus de perdre le fichier non suivi %s, même s'il gêne."
 
-#: merge-recursive.c:1659
+#: merge-recursive.c:1645
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1690
+#: merge-recursive.c:1676
 #, 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:1695
+#: merge-recursive.c:1681
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "Refus de perdre le fichier non suivi %s ; ajout comme %s à la place"
 
-#: merge-recursive.c:1714
+#: merge-recursive.c:1708
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3996,18 +4878,18 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1719
+#: merge-recursive.c:1713
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: merge-recursive.c:1828
+#: merge-recursive.c:1805
 #, 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:2035
+#: merge-recursive.c:2068
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -4018,7 +4900,7 @@ msgstr ""
 "parce que le répertoire %s a été renommé en plusieurs autres répertoires, "
 "sans aucune destination récupérant la majorité des fichiers."
 
-#: merge-recursive.c:2067
+#: merge-recursive.c:2100
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4027,7 +4909,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : le répertoire/fichier %s gêne "
 "des renommages implicites de répertoire déplaçant les chemins suivants : %s."
 
-#: merge-recursive.c:2077
+#: merge-recursive.c:2110
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4036,7 +4918,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : impossible de transformer "
 "plusieurs chemins sur %s ; les chemins concernés sont : %s"
 
-#: merge-recursive.c:2169
+#: merge-recursive.c:2202
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -4045,7 +4927,7 @@ msgstr ""
 "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
 "Renommage de répertoire %s->%s dans %s"
 
-#: merge-recursive.c:2413
+#: merge-recursive.c:2447
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -4054,52 +4936,52 @@ msgstr ""
 "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
 "renommé."
 
-#: merge-recursive.c:2938
+#: merge-recursive.c:2973
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:2941
+#: merge-recursive.c:2976
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:3005
+#: merge-recursive.c:3040
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:3005
+#: merge-recursive.c:3040
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:3017
+#: merge-recursive.c:3052
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:3021
+#: merge-recursive.c:3056
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:3044
+#: merge-recursive.c:3079
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:3066 git-submodule.sh:937
+#: merge-recursive.c:3101
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:3067
+#: merge-recursive.c:3102
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3097
+#: merge-recursive.c:3132
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:3179
+#: merge-recursive.c:3215
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4108,7 +4990,7 @@ msgstr ""
 "Chemin mis à jour : %s ajouté dans %s dans un répertoire qui a été renommé "
 "en %s ; déplacé dans %s."
 
-#: merge-recursive.c:3182
+#: merge-recursive.c:3218
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4118,7 +5000,7 @@ msgstr ""
 "a été renommé dans %s, ce qui suggère qu'il devrait peut-être être déplacé "
 "vers %s."
 
-#: merge-recursive.c:3186
+#: merge-recursive.c:3222
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4127,7 +5009,7 @@ msgstr ""
 "Chemin mis à jour : %s renommé en %s dans %s, dans un répertoire qui a été "
 "renommé en %s ; déplacé dans %s."
 
-#: merge-recursive.c:3189
+#: merge-recursive.c:3225
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4137,176 +5019,204 @@ msgstr ""
 "répertoire qui a été renommé dans %s, ce qui suggère qu'il devrait peut-être "
 "être déplacé vers %s."
 
-#: merge-recursive.c:3303
+#: merge-recursive.c:3339
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:3326
+#: merge-recursive.c:3362
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:3331
+#: merge-recursive.c:3367
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: merge-recursive.c:3338
+#: merge-recursive.c:3374
 #, 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:3347
+#: merge-recursive.c:3383
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:3356
+#: merge-recursive.c:3392
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "CONFLIT (ajout/ajout) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3394
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-"Vos modifications locales aux fichiers suivants seraient écrasées par la "
-"fusion :\n"
-"  %s"
-
-#: merge-recursive.c:3405
+#: merge-recursive.c:3436
 msgid "Already up to date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:3414
+#: merge-recursive.c:3445
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:3513
+#: merge-recursive.c:3550
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:3526
+#: merge-recursive.c:3563
 #, 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:3565
+#: merge-recursive.c:3613
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: merge-recursive.c:3631
+#: merge-recursive.c:3672
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"  %s"
+msgstr ""
+"Vos modifications locales aux fichiers suivants seraient écrasées par la "
+"fusion :\n"
+"  %s"
+
+#: merge-recursive.c:3769
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869
+#: merge-recursive.c:3787 builtin/merge.c:702 builtin/merge.c:881
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
-#: midx.c:69
+#: merge.c:41
+msgid "failed to read the cache"
+msgstr "impossible de lire le cache"
+
+#: merge.c:109 rerere.c:720 builtin/am.c:1896 builtin/am.c:1930
+#: builtin/checkout.c:560 builtin/checkout.c:816 builtin/clone.c:816
+#: builtin/stash.c:265
+msgid "unable to write new index file"
+msgstr "impossible d'écrire le nouveau fichier d'index"
+
+#: midx.c:79
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "le fichier d'index multi-paquet %s est trop petit"
 
-#: midx.c:85
+#: midx.c:95
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 "la signature de l'index multi-paquet 0x%08x ne correspond pas à la signature "
 "0x%08x"
 
-#: midx.c:90
+#: midx.c:100
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "la version d'index multi-paquet %d n'est pas reconnue"
 
-#: midx.c:95
+#: midx.c:105
 #, c-format
-msgid "hash version %u does not match"
-msgstr "la version %u du condensé ne correspond pas"
+msgid "multi-pack-index hash version %u does not match version %u"
+msgstr ""
+"la version d'empreinte d'index multi-paquet %u ne correspond pas à la "
+"version %u"
 
-#: midx.c:109
+#: midx.c:122
 msgid "invalid chunk offset (too large)"
 msgstr "décalage de section invalide (trop grand)"
 
-#: midx.c:133
+#: midx.c:146
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr ""
 "identifiant de terminaison de tronçon d'index multi-paquet terminant "
 "apparaît plus tôt qu'attendu"
 
-#: midx.c:146
+#: midx.c:159
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "index multi-paquet manque de tronçon de nom de paquet"
 
-#: midx.c:148
+#: midx.c:161
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "index multi-paquet manque de tronçon de d'étalement OID requis"
 
-#: midx.c:150
+#: midx.c:163
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "index multi-paquet manque de tronçon de recherche OID"
 
-#: midx.c:152
+#: midx.c:165
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "index multi-paquet manque de tronçon de décalage d'objet"
 
-#: midx.c:166
+#: midx.c:179
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr ""
 "index multi-paquet les noms de paquets sont en désordre : '%s' avant '%s'"
 
-#: midx.c:211
+#: midx.c:222
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "mauvais pack-int-id : %u (%u paquets au total)"
 
-#: midx.c:261
+#: midx.c:272
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
-"multi-pack-index stock un décalage en 64-bit, mais off_t est trop petit"
+"l'index multi-paquet stock un décalage en 64-bit, mais off_t est trop petit"
 
-#: midx.c:289
+#: midx.c:300
 msgid "error preparing packfile from multi-pack-index"
 msgstr "erreur à la préparation du fichier paquet depuis un index multi-paquet"
 
-#: midx.c:470
+#: midx.c:485
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "échec de l'ajout du fichier paquet '%s'"
 
-#: midx.c:476
+#: midx.c:491
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "échec à l'ouverture du fichier paquet '%s'"
 
-#: midx.c:536
+#: midx.c:551
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "échec de localisation de l'objet %d dans le fichier paquet"
 
-#: midx.c:865
+#: midx.c:853
+msgid "Adding packfiles to multi-pack-index"
+msgstr "Ajout de fichiers paquet à un index multi-paquet"
+
+#: midx.c:886
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "fichier paquet à éliminer %s non trouvé"
 
-#: midx.c:1036
+#: midx.c:938
+msgid "no pack files to index."
+msgstr "Aucun fichier paquet à l'index."
+
+#: midx.c:990
+msgid "Writing chunks to multi-pack-index"
+msgstr "Écriture des sections dans l'index multi-paquet"
+
+#: midx.c:1068
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "échec du nettoyage de l'index de multi-paquet à %s"
 
-#: midx.c:1091
+#: midx.c:1124
+msgid "multi-pack-index file exists, but failed to parse"
+msgstr "le fichier d'index multi-paquet existe mais n'a pu être analysé"
+
+#: midx.c:1132
 msgid "Looking for referenced packfiles"
 msgstr "Recherche de fichiers paquets référencés"
 
-#: midx.c:1106
+#: midx.c:1147
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
@@ -4314,57 +5224,69 @@ msgstr ""
 "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = "
 "étalement[%d]"
 
-#: midx.c:1110
-msgid "Verifying OID order in MIDX"
-msgstr "Vérification de l'ordre des OID dans MIDX"
+#: midx.c:1152
+msgid "the midx contains no oid"
+msgstr "le midx ne contient aucun oid"
 
-#: midx.c:1119
+#: midx.c:1161
+msgid "Verifying OID order in multi-pack-index"
+msgstr "Vérification de l'ordre des OID dans l'index multi-paquet"
+
+#: midx.c:1170
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "recherche d'oid en désordre : oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1138
+#: midx.c:1190
 msgid "Sorting objects by packfile"
 msgstr "Classement des objets par fichier paquet"
 
-#: midx.c:1144
+#: midx.c:1197
 msgid "Verifying object offsets"
 msgstr "Vérification des décalages des objets"
 
-#: midx.c:1160
+#: midx.c:1213
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "échec de la lecture de l'élément de cache pour oid[%d] = %s"
 
-#: midx.c:1166
+#: midx.c:1219
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "impossible de lire le fichier paquet %s"
 
-#: midx.c:1175
+#: midx.c:1228
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "décalage d'objet incorrect pour oid[%d] = %s : %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1350
+#: midx.c:1253
+msgid "Counting referenced objects"
+msgstr "Comptage des objets référencés"
+
+#: midx.c:1263
+msgid "Finding and deleting unreferenced packfiles"
+msgstr "Recherche et effacement des fichiers paquets non-référencés"
+
+#: midx.c:1454
 msgid "could not start pack-objects"
 msgstr "Impossible de démarrer le groupement d'objets"
 
-#: midx.c:1369
+#: midx.c:1474
 msgid "could not finish pack-objects"
 msgstr "Impossible de finir le groupement d'objets"
 
-#: name-hash.c:532
+#: name-hash.c:537
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "impossible de créer le fil lazy_dir : %s"
 
-#: name-hash.c:554
+#: name-hash.c:559
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "impossible de créer le fil lazy_name : %s"
 
-#: name-hash.c:560
+#: name-hash.c:565
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "impossible de joindre le fil lazy_name : %s"
@@ -4408,46 +5330,71 @@ 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:54
+#: object.c:53
 #, c-format
 msgid "invalid object type \"%s\""
 msgstr "type d'objet invalide \"%s\""
 
-#: object.c:174
+#: object.c:173
 #, c-format
 msgid "object %s is a %s, not a %s"
 msgstr "l'objet %s est de type %s, pas de type %s"
 
-#: object.c:234
+#: object.c:233
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "l'objet %s a un id de type inconnu %d"
 
-#: object.c:247
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "impossible d'analyser l'objet : %s"
 
-#: object.c:267 object.c:278
+#: object.c:266 object.c:278
 #, c-format
 msgid "hash mismatch %s"
 msgstr "incohérence de hachage %s"
 
-#: packfile.c:648
+#: pack-bitmap.c:815 pack-bitmap.c:821 builtin/pack-objects.c:2216
+#, c-format
+msgid "unable to get size of %s"
+msgstr "impossible de récupérer la taille de %s"
+
+#: packfile.c:630
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
-#: packfile.c:1899
+#: packfile.c:1922
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "offset avant le début de l'index de paquet pour %s (index corrompu ?)"
 
-#: packfile.c:1903
+#: packfile.c:1926
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "offset au delà de la fin de l'index de paquet pour %s (index tronqué ?)"
 
+#: parse-options-cb.c:20 parse-options-cb.c:24
+#, c-format
+msgid "option `%s' expects a numerical value"
+msgstr "l'option '%s' attend une valeur numérique"
+
+#: parse-options-cb.c:41
+#, c-format
+msgid "malformed expiration date '%s'"
+msgstr "date d'expiration malformée : '%s'"
+
+#: parse-options-cb.c:54
+#, c-format
+msgid "option `%s' expects \"always\", \"auto\", or \"never\""
+msgstr "l'option '%s' attend \"always\", \"auto\" ou \"never\""
+
+#: parse-options-cb.c:132 parse-options-cb.c:149
+#, c-format
+msgid "malformed object name '%s'"
+msgstr "nom d'objet malformé '%s'"
+
 #: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
@@ -4463,7 +5410,7 @@ msgstr "%s est incompatible avec %s"
 msgid "%s : incompatible with something else"
 msgstr "%s est incompatible avec toute autre option"
 
-#: parse-options.c:92 parse-options.c:96 parse-options.c:319
+#: parse-options.c:92 parse-options.c:96 parse-options.c:317
 #, c-format
 msgid "%s takes no value"
 msgstr "%s n'accepte aucune valeur"
@@ -4473,41 +5420,46 @@ msgstr "%s n'accepte aucune valeur"
 msgid "%s isn't available"
 msgstr "%s n'est pas disponible"
 
-#: parse-options.c:219
+#: parse-options.c:217
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr "%s attend une valeur entière non négative avec une suffixe k/m/g"
 
-#: parse-options.c:389
+#: parse-options.c:386
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "option ambigüe : %s (devrait être --%s%s ou --%s%s)"
 
-#: parse-options.c:423 parse-options.c:431
+#: parse-options.c:420 parse-options.c:428
 #, c-format
-msgid "did you mean `--%s` (with two dashes ?)"
+msgid "did you mean `--%s` (with two dashes)?"
 msgstr "vouliez-vous dire `--%s` (avec deux signes moins)?"
 
-#: parse-options.c:859
+#: parse-options.c:666 parse-options.c:971
+#, c-format
+msgid "alias of --%s"
+msgstr "alias pour --%s"
+
+#: parse-options.c:862
 #, c-format
 msgid "unknown option `%s'"
 msgstr "option inconnue « %s »"
 
-#: parse-options.c:861
+#: parse-options.c:864
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "bascule inconnue « %c »"
 
-#: parse-options.c:863
+#: parse-options.c:866
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "option non-ascii inconnue dans la chaîne : '%s'"
 
-#: parse-options.c:887
+#: parse-options.c:890
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:906
+#: parse-options.c:909
 #, c-format
 msgid "usage: %s"
 msgstr "usage : %s"
@@ -4515,76 +5467,51 @@ msgstr "usage : %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:912
+#: parse-options.c:915
 #, c-format
 msgid "   or: %s"
 msgstr "   ou : %s"
 
-#: parse-options.c:915
+#: parse-options.c:918
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:954
+#: parse-options.c:957
 msgid "-NUM"
 msgstr "-NUM"
 
-#: parse-options.c:968
-#, c-format
-msgid "alias of --%s"
-msgstr "alias pour --%s"
-
-#: parse-options-cb.c:20 parse-options-cb.c:24
-#, c-format
-msgid "option `%s' expects a numerical value"
-msgstr "l'option '%s' attend une valeur numérique"
-
-#: parse-options-cb.c:41
-#, c-format
-msgid "malformed expiration date '%s'"
-msgstr "date d'expiration malformée : '%s'"
-
-#: parse-options-cb.c:54
-#, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr "l'option '%s' attend \"always\", \"auto\" ou \"never\""
-
-#: parse-options-cb.c:130 parse-options-cb.c:147
-#, c-format
-msgid "malformed object name '%s'"
-msgstr "nom d'objet malformé '%s'"
-
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 "Le caractère d'échappement '\\\\' interdit comme dernier caractère dans une "
 "valeur d'attribut"
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Une seule spécification 'attr:' est autorisée."
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr "un spécificateur d'attribut ne peut pas être vide"
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "nom d'attribut invalide %s"
 
-#: pathspec.c:257
+#: pathspec.c:259
 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:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -4592,52 +5519,57 @@ 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:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'"
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'"
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, 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:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Spécificateur magique '%c' non implémenté dans '%s'"
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s : 'literal' et 'glob' sont incompatibles"
 
-#: pathspec.c:440
+#: pathspec.c:445
 #, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s : '%s' est hors du dépôt"
+msgid "%s: '%s' is outside repository at '%s'"
+msgstr "%s : '%s' est hors du dépôt à '%s'"
 
-#: pathspec.c:514
+#: pathspec.c:521
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s' (mnémonique : '%c')"
 
-#: pathspec.c:524
+#: pathspec.c:531
 #, 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:591
+#: pathspec.c:598
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
+#: pathspec.c:643
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr "la ligne est mal citée : %s"
+
 #: pkt-line.c:92
 msgid "unable to write flush packet"
 msgstr "impossible d'écrire le paquet de vidage"
@@ -4647,46 +5579,50 @@ msgid "unable to write delim packet"
 msgstr "impossible d'écrire le paquet de délimitation"
 
 #: pkt-line.c:106
+msgid "unable to write stateless separator packet"
+msgstr "impossible d'écrire le paquet de séparateur sans état"
+
+#: pkt-line.c:113
 msgid "flush packet write failed"
 msgstr "échec de l'écriture du vidage de paquet"
 
-#: pkt-line.c:146 pkt-line.c:232
+#: pkt-line.c:153 pkt-line.c:239
 msgid "protocol error: impossibly long line"
 msgstr "erreur de protocole : ligne impossiblement trop longue"
 
-#: pkt-line.c:162 pkt-line.c:164
+#: pkt-line.c:169 pkt-line.c:171
 msgid "packet write with format failed"
 msgstr "échec de l'écriture d'un paquet avec format"
 
-#: pkt-line.c:196
+#: pkt-line.c:203
 msgid "packet write failed - data exceeds max packet size"
 msgstr ""
 "échec de l'écriture d'un paquet ‑ les données dépassent la taille maximale "
 "d'un paquet"
 
-#: pkt-line.c:203 pkt-line.c:210
+#: pkt-line.c:210 pkt-line.c:217
 msgid "packet write failed"
 msgstr "échec de l'écriture d'un paquet"
 
-#: pkt-line.c:295
+#: pkt-line.c:302
 msgid "read error"
 msgstr "erreur de lecture"
 
-#: pkt-line.c:303
+#: pkt-line.c:310
 msgid "the remote end hung up unexpectedly"
 msgstr "L'hôte distant a fermé la connexion de manière inattendue"
 
-#: pkt-line.c:331
+#: pkt-line.c:338
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "erreur de protocole : mauvais caractère de longueur de ligne : %.4s"
 
-#: pkt-line.c:341 pkt-line.c:346
+#: pkt-line.c:352 pkt-line.c:357
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "erreur de protocole : mauvaise longueur de ligne %d"
 
-#: pkt-line.c:362
+#: pkt-line.c:373 sideband.c:150
 #, c-format
 msgid "remote error: %s"
 msgstr "erreur distante : %s"
@@ -4700,83 +5636,117 @@ msgstr "Rafraîchissement de l'index"
 msgid "unable to create threaded lstat: %s"
 msgstr "impossible de créer le lstat en fil : %s"
 
-#: pretty.c:966
+#: pretty.c:983
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: range-diff.c:70
+#: promisor-remote.c:30
+msgid "promisor-remote: unable to fork off fetch subprocess"
+msgstr ""
+"promisor-remote : impossible de créer un sous-processus de récupération"
+
+#: promisor-remote.c:35 promisor-remote.c:37
+msgid "promisor-remote: could not write to fetch subprocess"
+msgstr ""
+"promisor-remote : impossible d'écrire vers un sous-processus de récupération"
+
+#: promisor-remote.c:41
+msgid "promisor-remote: could not close stdin to fetch subprocess"
+msgstr ""
+"promisor-remote : impossible de fermer l'entrée standard du sous-processus "
+"de récupération"
+
+#: promisor-remote.c:53
+#, c-format
+msgid "promisor remote name cannot begin with '/': %s"
+msgstr "un nom de prometteur distant ne peut pas commencer par '/' : %s"
+
+#: prune-packed.c:35
+msgid "Removing duplicate objects"
+msgstr "Suppression des objets dupliqués"
+
+#: range-diff.c:77
 msgid "could not start `log`"
 msgstr "impossible de démarrer `log`"
 
-#: range-diff.c:72
+#: range-diff.c:79
 msgid "could not read `log` output"
 msgstr "impossible de lire la sortie de `log`"
 
-#: range-diff.c:91 sequencer.c:5021
+#: range-diff.c:98 sequencer.c:5283
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "impossible d'analyser le commit '%s'"
 
-#: range-diff.c:117
+#: range-diff.c:112
+#, c-format
+msgid ""
+"could not parse first line of `log` output: did not start with 'commit ': "
+"'%s'"
+msgstr ""
+"impossible d'analyser la première ligne de la sortie de `log` : ne commence "
+"pas par 'commit' : '%s'"
+
+#: range-diff.c:137
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "impossible d'analyser l'entête git '%.*s'"
 
-#: range-diff.c:274
+#: range-diff.c:301
 msgid "failed to generate diff"
 msgstr "échec de la génération de diff"
 
-#: range-diff.c:506 range-diff.c:508
+#: range-diff.c:534 range-diff.c:536
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "impossible d'analyser le journal pour '%s'"
 
-#: read-cache.c:680
+#: read-cache.c:682
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "pas d'ajout d'alias de fichier '%s'(« %s » existe déjà dans l'index)"
 
-#: read-cache.c:696
+#: read-cache.c:698
 msgid "cannot create an empty blob in the object database"
 msgstr "impossible de créer un blob vide dans la base de donnée d'objets"
 
-#: read-cache.c:718
+#: read-cache.c:720
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 "%s : ne peut ajouter que des fichiers normaux, des liens symboliques ou des "
 "répertoires git"
 
-#: read-cache.c:723
+#: read-cache.c:725
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "'%s' n'a pas de commit extrait"
 
-#: read-cache.c:775
+#: read-cache.c:777
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "indexation du fichier '%s' impossible"
 
-#: read-cache.c:794
+#: read-cache.c:796
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "impossible d'ajouter '%s' à l'index"
 
-#: read-cache.c:805
+#: read-cache.c:807
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "fstat de '%s' impossible"
 
-#: read-cache.c:1314
+#: read-cache.c:1318
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' existe à la fois comme un fichier et un répertoire"
 
-#: read-cache.c:1499
+#: read-cache.c:1524
 msgid "Refresh index"
 msgstr "Rafraîchir l'index"
 
-#: read-cache.c:1613
+#: read-cache.c:1639
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -4785,7 +5755,7 @@ msgstr ""
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1623
+#: read-cache.c:1649
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -4794,150 +5764,161 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1679
+#: read-cache.c:1705
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "signature incorrecte 0x%08x"
 
-#: read-cache.c:1682
+#: read-cache.c:1708
 #, c-format
 msgid "bad index version %d"
 msgstr "mauvaise version d'index %d"
 
-#: read-cache.c:1691
+#: read-cache.c:1717
 msgid "bad index file sha1 signature"
 msgstr "mauvaise signature sha1 d'index"
 
-#: read-cache.c:1721
+#: read-cache.c:1747
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "l'index utilise l'extension %.4s qui n'est pas comprise"
 
-#: read-cache.c:1723
+#: read-cache.c:1749
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "extension %.4s ignorée"
 
-#: read-cache.c:1760
+#: read-cache.c:1786
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "format d'entrée d'index inconnu 0x%08x"
 
-#: read-cache.c:1776
+#: read-cache.c:1802
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "champ de nom malformé dans l'index, près du chemin '%s'"
 
-#: read-cache.c:1833
+#: read-cache.c:1859
 msgid "unordered stage entries in index"
 msgstr "entrées de préparation non ordonnées dans l'index"
 
-#: read-cache.c:1836
+#: read-cache.c:1862
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "entrées multiples de préparation pour le fichier fusionné '%s'"
 
-#: read-cache.c:1839
+#: read-cache.c:1865
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "entrées de préparation non ordonnées pour '%s'"
 
-#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467
-#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347
-#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
-#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330
+#: read-cache.c:1971 read-cache.c:2262 rerere.c:565 rerere.c:599 rerere.c:1111
+#: submodule.c:1628 builtin/add.c:538 builtin/check-ignore.c:181
+#: builtin/checkout.c:489 builtin/checkout.c:675 builtin/clean.c:991
+#: builtin/commit.c:364 builtin/diff-tree.c:121 builtin/grep.c:507
+#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
+#: builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "fichier d'index corrompu"
 
-#: read-cache.c:2087
+#: read-cache.c:2115
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "impossible de créer le fil load_cache_entries : %s"
 
-#: read-cache.c:2100
+#: read-cache.c:2128
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "impossible de joindre le fil load_cach_entries : %s"
 
-#: read-cache.c:2133
+#: read-cache.c:2161
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s : l'ouverture du fichier d'index a échoué"
 
-#: read-cache.c:2137
+#: read-cache.c:2165
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s : impossible de faire un stat sur l'index ouvert"
 
-#: read-cache.c:2141
+#: read-cache.c:2169
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s : fichier d'index plus petit qu'attendu"
 
-#: read-cache.c:2145
+#: read-cache.c:2173
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s : impossible de mapper le fichier d'index"
 
-#: read-cache.c:2187
+#: read-cache.c:2215
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "impossible de créer le fil load_index_extensions : %s"
 
-#: read-cache.c:2214
+#: read-cache.c:2242
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "impossible de joindre le fil load_index_extensions : %s"
 
-#: read-cache.c:2246
+#: read-cache.c:2274
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "impossible de rafraîchir l'index partagé '%s'"
 
-#: read-cache.c:2293
+#: read-cache.c:2321
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "index cassé, %s attendu dans %s, %s obtenu"
 
-#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114
+#: read-cache.c:3017 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1126
 #, c-format
 msgid "could not close '%s'"
 msgstr "impossible de fermer '%s'"
 
-#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928
+#: read-cache.c:3120 sequencer.c:2446 sequencer.c:4185
 #, c-format
 msgid "could not stat '%s'"
 msgstr "stat impossible de '%s'"
 
-#: read-cache.c:3105
+#: read-cache.c:3133
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "impossible d'ouvrir le répertoire git : %s"
 
-#: read-cache.c:3117
+#: read-cache.c:3145
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "échec lors de l'unlink : %s"
 
-#: read-cache.c:3142
+#: read-cache.c:3170
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "impossible de régler les bits de droit de '%s'"
 
-#: read-cache.c:3291
+#: read-cache.c:3319
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s : impossible de revenir à l'étape 0"
 
-#: rebase-interactive.c:26
+#: rebase-interactive.c:11
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'.\n"
+"Or you can abort the rebase with 'git rebase --abort'.\n"
+msgstr ""
+"Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
+"rebase --continue'.\n"
+"Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
+
+#: rebase-interactive.c:33
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr ""
 "paramètre non reconnu %s pour l'option rebase.missingCommitsCheck. Ignoré."
 
-#: rebase-interactive.c:35
+#: rebase-interactive.c:42
 msgid ""
 "\n"
 "Commands:\n"
@@ -4979,14 +5960,14 @@ msgstr ""
 "\n"
 "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
 
-#: rebase-interactive.c:56
+#: rebase-interactive.c:63
 #, c-format
 msgid "Rebase %s onto %s (%d command)"
 msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] "Rebasage de %s sur %s (%d commande)"
 msgstr[1] "Rebasage de %s sur %s (%d commandes)"
 
-#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228
+#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -4995,7 +5976,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\n"
 
-#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232
+#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -5003,7 +5984,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n"
 
-#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871
+#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -5018,7 +5999,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948
+#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -5028,22 +6009,19 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
-msgid "Note that empty commits are commented out"
-msgstr "Veuillez noter que les commits vides sont en commentaire"
-
-#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447
-#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:110 rerere.c:485 rerere.c:692 sequencer.c:3571
+#: sequencer.c:3597 sequencer.c:5389 builtin/fsck.c:347 builtin/rebase.c:264
 #, c-format
 msgid "could not write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: rebase-interactive.c:108
+#: rebase-interactive.c:116 builtin/rebase.c:196 builtin/rebase.c:222
+#: builtin/rebase.c:246
 #, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr "impossible de copier '%s' vers '%s'."
+msgid "could not write '%s'."
+msgstr "impossible d'écrire '%s'."
 
-#: rebase-interactive.c:173
+#: rebase-interactive.c:193
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -5052,7 +6030,7 @@ msgstr ""
 "Attention : certains commits ont pu être accidentellement supprimés.\n"
 "Commits supprimés (du plus jeune au plus vieux) :\n"
 
-#: rebase-interactive.c:180
+#: rebase-interactive.c:200
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -5070,125 +6048,15 @@ msgstr ""
 "Les comportements disponibles sont : ignore, warn, error.\n"
 "\n"
 
-#: refs.c:262
-#, c-format
-msgid "%s does not point to a valid object!"
-msgstr "%s ne pointe pas sur un objet valide!"
-
-#: refs.c:667
-#, c-format
-msgid "ignoring dangling symref %s"
-msgstr "symref pendant %s ignoré"
-
-#: refs.c:669 ref-filter.c:2092
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr "réf cassé %s ignoré"
-
-#: refs.c:804
-#, c-format
-msgid "could not open '%s' for writing: %s"
-msgstr "impossible d'ouvrir '%s' en écriture : %s"
-
-#: refs.c:814 refs.c:865
-#, c-format
-msgid "could not read ref '%s'"
-msgstr "impossible de lire la réf '%s'"
-
-#: refs.c:820
-#, c-format
-msgid "ref '%s' already exists"
-msgstr "la référence '%s' existe déjà"
-
-#: refs.c:825
-#, c-format
-msgid "unexpected object ID when writing '%s'"
-msgstr "id d'objet inattendu pendant l'écriture de '%s'"
-
-#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913
-#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656
-#, c-format
-msgid "could not write to '%s'"
-msgstr "impossible d'écrire dans '%s'"
-
-#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715
-#: builtin/rebase.c:1003
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr "impossible d'ouvrir '%s' en écriture"
-
-#: refs.c:867
-#, c-format
-msgid "unexpected object ID when deleting '%s'"
-msgstr "id d'objet inattendu pendant la suppression de '%s'"
-
-#: refs.c:998
-#, c-format
-msgid "log for ref %s has gap after %s"
-msgstr "le journal pour la réf %s contient un trou après %s"
-
-#: refs.c:1004
-#, c-format
-msgid "log for ref %s unexpectedly ended on %s"
-msgstr "le journal pour la réf %s s'arrête de manière inattendue sur %s"
-
-#: refs.c:1063
-#, c-format
-msgid "log for %s is empty"
-msgstr "le journal pour la réf %s est vide"
-
-#: refs.c:1155
-#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "refus de mettre à jour une réf avec un nom cassé '%s'"
-
-#: refs.c:1231
-#, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr "échec de update_ref pour la réf '%s' : %s"
-
-#: refs.c:2012
-#, c-format
-msgid "multiple updates for ref '%s' not allowed"
-msgstr "mises à jour multiples pour la réf '%s' non permises"
-
-#: refs.c:2044
-msgid "ref updates forbidden inside quarantine environment"
-msgstr "mises à jour des références interdites en environnement de quarantaine"
-
-#: refs.c:2140 refs.c:2170
-#, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr "'%s' existe ; impossible de créer '%s'"
-
-#: refs.c:2146 refs.c:2181
+#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2361
+#: builtin/rebase.c:182 builtin/rebase.c:207 builtin/rebase.c:233
+#: builtin/rebase.c:258
 #, c-format
-msgid "cannot process '%s' and '%s' at the same time"
-msgstr "impossible de traiter '%s' et '%s' en même temps"
-
-#: refs/files-backend.c:1234
-#, c-format
-msgid "could not remove reference %s"
-msgstr "impossible de supprimer la référence %s"
-
-#: refs/files-backend.c:1248 refs/packed-backend.c:1532
-#: refs/packed-backend.c:1542
-#, c-format
-msgid "could not delete reference %s: %s"
-msgstr "Impossible de supprimer la référence %s : %s"
-
-#: refs/files-backend.c:1251 refs/packed-backend.c:1545
-#, c-format
-msgid "could not delete references: %s"
-msgstr "impossible de supprimer les références : %s"
-
-#: refspec.c:137
-#, c-format
-msgid "invalid refspec '%s'"
-msgstr "spécificateur de réference invalide : '%s'"
+msgid "could not read '%s'."
+msgstr "impossible de lire '%s'."
 
 # à priori on parle d'une branche ici
-#: ref-filter.c:42 wt-status.c:1934
+#: ref-filter.c:42 wt-status.c:1973
 msgid "gone"
 msgstr "disparue"
 
@@ -5207,283 +6075,372 @@ msgstr "en retard de %d"
 msgid "ahead %d, behind %d"
 msgstr "en avance de %d, en retard de %d"
 
-#: ref-filter.c:162
+#: ref-filter.c:169
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:164
+#: ref-filter.c:171
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:186
+#: ref-filter.c:193
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Valeur entière attendue refname:lstrip=%s"
 
-#: ref-filter.c:190
+#: ref-filter.c:197
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:192
+#: ref-filter.c:199
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "argument %%(%s) non reconnu : %s"
 
-#: ref-filter.c:247
+#: ref-filter.c:254
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) n'accepte pas d'argument"
 
-#: ref-filter.c:269
+#: ref-filter.c:276
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr "argument %%(objectsize) non reconnu : %s"
 
-#: ref-filter.c:277
+#: ref-filter.c:284
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr "%%(deltabase) n'accepte pas d'argument"
 
-#: ref-filter.c:289
+#: ref-filter.c:296
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:298
+#: ref-filter.c:309
 #, c-format
-msgid "%%(subject) does not take arguments"
-msgstr "%%(subject) n'accepte pas d'argument"
+msgid "unrecognized %%(subject) argument: %s"
+msgstr "argument %%(subject) non reconnu : %s"
 
-#: ref-filter.c:320
+#: ref-filter.c:330
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "argument %%(trailers) inconnu : %s"
 
-#: ref-filter.c:349
+#: ref-filter.c:363
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:351
+#: ref-filter.c:365
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:366
+#: ref-filter.c:380
 #, c-format
-msgid "positive value expected objectname:short=%s"
-msgstr "valeur positive attendue objectname:short=%s"
+msgid "positive value expected '%s' in %%(%s)"
+msgstr "valeur positive attendue '%s' dans %%(%s)"
 
-#: ref-filter.c:370
+#: ref-filter.c:384
 #, c-format
-msgid "unrecognized %%(objectname) argument: %s"
-msgstr "argument %%(objectname) non reconnu : %s"
+msgid "unrecognized argument '%s' in %%(%s)"
+msgstr "argument '%s' non reconnu dans %%(%s)"
 
-#: ref-filter.c:400
+#: ref-filter.c:398
+#, c-format
+msgid "unrecognized email option: %s"
+msgstr "option de courriel non reconnue : %s"
+
+#: ref-filter.c:428
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:412
+#: ref-filter.c:440
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:419
+#: ref-filter.c:447
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:428
+#: ref-filter.c:456
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:436
+#: ref-filter.c:464
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:454
+#: ref-filter.c:482
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:556
+#: ref-filter.c:584
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:583
+#: ref-filter.c:611
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*s"
 
-#: ref-filter.c:587
+#: ref-filter.c:615
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr ""
 "pas un dépôt git, mais le champ '%.*s' nécessite l'accès aux données d'objet"
 
-#: ref-filter.c:711
+#: ref-filter.c:739
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:774
+#: ref-filter.c:802
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:776
+#: ref-filter.c:804
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:778
+#: ref-filter.c:806
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:806
+#: ref-filter.c:834
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:808
+#: ref-filter.c:836
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:810
+#: ref-filter.c:838
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:825
+#: ref-filter.c:853
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:882
+#: ref-filter.c:910
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1485
+#: ref-filter.c:1541
 #, c-format
 msgid "no branch, rebasing %s"
 msgstr "aucune branche, rebasage de %s"
 
-#: ref-filter.c:1488
+#: ref-filter.c:1544
 #, c-format
 msgid "no branch, rebasing detached HEAD %s"
 msgstr "aucune branche, rebasage de la HEAD détachée %s"
 
-#: ref-filter.c:1491
+#: ref-filter.c:1547
 #, c-format
 msgid "no branch, bisect started on %s"
 msgstr "aucune branche, bisect a démarré sur %s"
 
-#: ref-filter.c:1501
+#: ref-filter.c:1557
 msgid "no branch"
 msgstr "aucune branche"
 
-#: ref-filter.c:1537 ref-filter.c:1743
+#: ref-filter.c:1591 ref-filter.c:1800
 #, c-format
 msgid "missing object %s for %s"
 msgstr "objet manquant %s pour %s"
 
-#: ref-filter.c:1547
+#: ref-filter.c:1601
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "échec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1998
+#: ref-filter.c:2054
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:2087
+#: ref-filter.c:2143
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:2382
+#: ref-filter.c:2148 refs.c:657
 #, c-format
-msgid "format: %%(end) atom missing"
-msgstr "format: atome %%(end) manquant"
-
-#: ref-filter.c:2482
-#, c-format
-msgid "option `%s' is incompatible with --merged"
-msgstr "l'option « %s » est incompatible avec --merged"
+msgid "ignoring broken ref %s"
+msgstr "réf cassé %s ignoré"
 
-#: ref-filter.c:2485
+#: ref-filter.c:2464
 #, c-format
-msgid "option `%s' is incompatible with --no-merged"
-msgstr "l'option « %s » est incompatible avec --no-merged"
+msgid "format: %%(end) atom missing"
+msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2495
+#: ref-filter.c:2563
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: ref-filter.c:2500
+#: ref-filter.c:2568
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "l'option '%s' doit pointer sur un commit"
 
-#: remote.c:363
+#: refs.c:264
+#, c-format
+msgid "%s does not point to a valid object!"
+msgstr "%s ne pointe pas sur un objet valide!"
+
+#: refs.c:572
+#, c-format
+msgid "could not retrieve `%s`"
+msgstr "impossible de récupérer `%s`"
+
+#: refs.c:579
+#, c-format
+msgid "invalid branch name: %s = %s"
+msgstr "Nom de branche invalide : %s = %s"
+
+#: refs.c:655
+#, c-format
+msgid "ignoring dangling symref %s"
+msgstr "symref pendant %s ignoré"
+
+#: refs.c:892
+#, c-format
+msgid "log for ref %s has gap after %s"
+msgstr "le journal pour la réf %s contient un trou après %s"
+
+#: refs.c:898
+#, c-format
+msgid "log for ref %s unexpectedly ended on %s"
+msgstr "le journal pour la réf %s s'arrête de manière inattendue sur %s"
+
+#: refs.c:957
+#, c-format
+msgid "log for %s is empty"
+msgstr "le journal pour la réf %s est vide"
+
+#: refs.c:1049
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "refus de mettre à jour une réf avec un nom cassé '%s'"
+
+#: refs.c:1120
+#, c-format
+msgid "update_ref failed for ref '%s': %s"
+msgstr "échec de update_ref pour la réf '%s' : %s"
+
+#: refs.c:1944
+#, c-format
+msgid "multiple updates for ref '%s' not allowed"
+msgstr "mises à jour multiples pour la réf '%s' non permises"
+
+#: refs.c:2024
+msgid "ref updates forbidden inside quarantine environment"
+msgstr "mises à jour des références interdites en environnement de quarantaine"
+
+#: refs.c:2035
+msgid "ref updates aborted by hook"
+msgstr "mises à jour des références annulées par le crochet"
+
+#: refs.c:2135 refs.c:2165
+#, c-format
+msgid "'%s' exists; cannot create '%s'"
+msgstr "'%s' existe ; impossible de créer '%s'"
+
+#: refs.c:2141 refs.c:2176
+#, c-format
+msgid "cannot process '%s' and '%s' at the same time"
+msgstr "impossible de traiter '%s' et '%s' en même temps"
+
+#: refs/files-backend.c:1228
+#, c-format
+msgid "could not remove reference %s"
+msgstr "impossible de supprimer la référence %s"
+
+#: refs/files-backend.c:1242 refs/packed-backend.c:1542
+#: refs/packed-backend.c:1552
+#, c-format
+msgid "could not delete reference %s: %s"
+msgstr "Impossible de supprimer la référence %s : %s"
+
+#: refs/files-backend.c:1245 refs/packed-backend.c:1555
+#, c-format
+msgid "could not delete references: %s"
+msgstr "impossible de supprimer les références : %s"
+
+#: refspec.c:167
+#, c-format
+msgid "invalid refspec '%s'"
+msgstr "spécificateur de réference invalide : '%s'"
+
+#: remote.c:351
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
 msgstr ""
 "un raccourci de configuration de distant ne peut pas commencer par '/' : %s"
 
-#: remote.c:410
+#: remote.c:399
 msgid "more than one receivepack given, using the first"
 msgstr "plus d'un receivepack fournis, utilisation du premier"
 
-#: remote.c:418
+#: remote.c:407
 msgid "more than one uploadpack given, using the first"
 msgstr "plus d'un uploadpack fournis, utilisation du premier"
 
-#: remote.c:608
+#: remote.c:590
 #, 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:612
+#: remote.c:594
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s suit habituellement %s, pas %s"
 
-#: remote.c:616
+#: remote.c:598
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s suit à la fois %s et %s"
 
-#: remote.c:684
+#: remote.c:666
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr "la clé '%s' du modèle n'a pas de '*'"
 
-#: remote.c:694
+#: remote.c:676
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr "la valeur '%s' du modèle n'a pas de '*'"
 
-#: remote.c:1000
+#: remote.c:1073
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr ""
 "le spécificateur de référence source %s ne correspond à aucune référence"
 
-#: remote.c:1005
+#: remote.c:1078
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr ""
@@ -5493,7 +6450,7 @@ msgstr ""
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
 #. the <src>.
 #.
-#: remote.c:1020
+#: remote.c:1093
 #, c-format
 msgid ""
 "The destination you provided is not a full refname (i.e.,\n"
@@ -5517,7 +6474,7 @@ msgstr ""
 "Aucune n'a fonctionné, donc abandon. Veuillez spécifier une référence "
 "totalement qualifiée."
 
-#: remote.c:1040
+#: remote.c:1113
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -5528,7 +6485,7 @@ msgstr ""
 "Souhaitiez-vous créer une nouvelle branche en poussant sur\n"
 "'%s:refs/heads/%s' ?"
 
-#: remote.c:1045
+#: remote.c:1118
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -5539,7 +6496,7 @@ msgstr ""
 "Souhaitiez-vous créer une nouvelle étiquette en poussant sur\n"
 "'%s:refs/tags/%s' ?"
 
-#: remote.c:1050
+#: remote.c:1123
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -5550,7 +6507,7 @@ msgstr ""
 "Souhaitiez-vous créer un nouvel arbre en poussant sur\n"
 "'%s:refs/tags/%s' ?"
 
-#: remote.c:1055
+#: remote.c:1128
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -5561,119 +6518,119 @@ msgstr ""
 "Souhaitiez-vous créer un nouveau blob en poussant sur\n"
 "'%s:refs/tags/%s' ?"
 
-#: remote.c:1091
+#: remote.c:1164
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr "'%s' ne peut pas être résolue comme une branche"
 
-#: remote.c:1102
+#: remote.c:1175
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
-msgstr "suppression d '%s' impossible : la référence distante n'existe pas"
+msgstr "suppression de '%s' impossible : la référence distante n'existe pas"
 
-#: remote.c:1114
+#: remote.c:1187
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr ""
 "le spécificateur de référence dst %s correspond à plus d'un spécificateur de "
 "références"
 
-#: remote.c:1121
+#: remote.c:1194
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr "le spécificateur de référence dst %s reçoit depuis plus d'une source"
 
-#: remote.c:1624 remote.c:1725
+#: remote.c:1703 remote.c:1804
 msgid "HEAD does not point to a branch"
 msgstr "HEAD ne pointe pas sur une branche"
 
-#: remote.c:1633
+#: remote.c:1712
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "pas de branche '%s'"
 
-#: remote.c:1636
+#: remote.c:1715
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "aucune branche amont configurée pour la branche '%s'"
 
-#: remote.c:1642
+#: remote.c:1721
 #, 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:1657
+#: remote.c:1736
 #, 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:1669
+#: remote.c:1748
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branche '%s' n'a aucune branche distante de poussée"
 
-#: remote.c:1679
+#: remote.c:1758
 #, 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:1692
+#: remote.c:1771
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "la poussée n'a pas de destination (push.default vaut 'nothing')"
 
-#: remote.c:1714
+#: remote.c:1793
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 "impossible de résoudre une poussée 'simple' pour une destination unique"
 
-#: remote.c:1840
+#: remote.c:1922
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr "impossible de trouver la référence distante %s"
 
-#: remote.c:1853
+#: remote.c:1935
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Référence bizarre '%s' ignorée localement"
 
-#: remote.c:2016
+#: remote.c:2098
 #, 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:2020
+#: remote.c:2102
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:2023
+#: remote.c:2105
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:2027
+#: remote.c:2109
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Votre branche et '%s' font référence à des commits différents.\n"
 
-#: remote.c:2030
+#: remote.c:2112
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (utilisez \"%s\" pour plus de détails)\n"
 
-#: remote.c:2034
+#: remote.c:2116
 #, 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:2040
+#: remote.c:2122
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\n"
 
-#: remote.c:2043
+#: remote.c:2125
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -5685,11 +6642,11 @@ msgstr[1] ""
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:2051
+#: remote.c:2133
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:2054
+#: remote.c:2136
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -5704,12 +6661,12 @@ msgstr[1] ""
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:2064
+#: remote.c:2146
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (utilisez \"git pull\" pour fusionner la branche distante dans la vôtre)\n"
 
-#: remote.c:2247
+#: remote.c:2337
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "impossible d'analyser le nom attendu d'objet '%s'"
@@ -5724,7 +6681,7 @@ msgstr "mauvaise références de remplacement : %s"
 msgid "duplicate replace ref: %s"
 msgstr "référence de remplacement dupliquée : %s"
 
-#: replace-object.c:73
+#: replace-object.c:82
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr "profondeur de remplacement trop grande pour l'objet %s"
@@ -5787,8 +6744,8 @@ msgstr "impossible de délier '%s' qui est errant"
 msgid "Recorded preimage for '%s'"
 msgstr "Pré-image enregistrée pour '%s'"
 
-#: rerere.c:881 submodule.c:2023 builtin/log.c:1773
-#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428
+#: rerere.c:881 submodule.c:2082 builtin/log.c:1975
+#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "impossible de créer le répertoire '%s'"
@@ -5822,20 +6779,34 @@ msgstr "Résolution  pour '%s' oubliée\n"
 msgid "unable to open rr-cache directory"
 msgstr "impossible d'ouvrir le répertoire rr-cache"
 
-#: revision.c:2507
+#: reset.c:42
+msgid "could not determine HEAD revision"
+msgstr "impossible de déterminer la révision HEAD"
+
+#: reset.c:70 reset.c:76 sequencer.c:3426
+#, c-format
+msgid "failed to find tree of %s"
+msgstr "impossible de trouver l'arbre de %s"
+
+#: revision.c:2344
+msgid "--unpacked=<packfile> no longer supported"
+msgstr "--unpacked=<fichier-paquet> n'est plus géré"
+
+#: revision.c:2364
+#, c-format
+msgid "unknown value for --diff-merges: %s"
+msgstr "valeur inconnue pour --diff-merges : %s"
+
+#: revision.c:2702
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2510
+#: revision.c:2705
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "votre branche actuelle '%s' ne contient encore aucun commit"
 
-#: revision.c:2710
-msgid "--first-parent is incompatible with --bisect"
-msgstr "--first-parent est incompatible avec --bisect"
-
-#: revision.c:2714
+#: revision.c:2915
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L ne supporte pas encore les formats de diff autres que -p et -s"
 
@@ -5843,12 +6814,12 @@ msgstr "-L ne supporte pas encore les formats de diff autres que -p et -s"
 msgid "open /dev/null failed"
 msgstr "échec de l'ouverture de /dev/null"
 
-#: run-command.c:1269
+#: run-command.c:1270
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "impossible de créer un fil asynchrone : %s"
 
-#: run-command.c:1333
+#: run-command.c:1334
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -5858,31 +6829,35 @@ msgstr ""
 "Vous pouvez désactiver cet avertissement avec `git config advice.ignoredHook "
 "false`."
 
-#: send-pack.c:141
+#: send-pack.c:145
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 "paquet de nettoyage inattendu pendant la lecture de l'état de dépaquetage "
 "distant"
 
-#: send-pack.c:143
+#: send-pack.c:147
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "impossible d'analyser l'état de dépaquetage distant : %s"
 
-#: send-pack.c:145
+#: send-pack.c:149
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "le dépaquetage a échoué : %s"
 
-#: send-pack.c:306
+#: send-pack.c:372
 msgid "failed to sign the push certificate"
 msgstr "impossible de signer le certificat de poussée"
 
-#: send-pack.c:420
+#: send-pack.c:460
+msgid "the receiving end does not support this repository's hash algorithm"
+msgstr "Le receveur ne gère pas l'algorithme d'empreinte de ce dépôt"
+
+#: send-pack.c:469
 msgid "the receiving end does not support --signed push"
 msgstr "Le receveur ne gère pas les poussées avec --signed"
 
-#: send-pack.c:422
+#: send-pack.c:471
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -5890,47 +6865,47 @@ msgstr ""
 "pas d'envoi de certificat de poussée car le receveur ne gère pas les "
 "poussées avec --signed"
 
-#: send-pack.c:434
+#: send-pack.c:483
 msgid "the receiving end does not support --atomic push"
 msgstr "Le receveur ne gère pas les poussées avec --atomic"
 
-#: send-pack.c:439
+#: send-pack.c:488
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:187
+#: sequencer.c:194
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "mode de nettoyage invalide de message de validation '%s'"
 
-#: sequencer.c:292
+#: sequencer.c:308
 #, c-format
 msgid "could not delete '%s'"
 msgstr "Impossible de supprimer '%s'"
 
-#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369
+#: sequencer.c:329 builtin/rebase.c:749 builtin/rebase.c:1590 builtin/rm.c:385
 #, c-format
 msgid "could not remove '%s'"
 msgstr "impossible de supprimer '%s'"
 
-#: sequencer.c:321
+#: sequencer.c:339
 msgid "revert"
 msgstr "revert"
 
-#: sequencer.c:323
+#: sequencer.c:341
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:325
-msgid "rebase -i"
-msgstr "rebase -i"
+#: sequencer.c:343
+msgid "rebase"
+msgstr "rebase"
 
-#: sequencer.c:327
+#: sequencer.c:345
 #, c-format
 msgid "unknown action: %d"
 msgstr "action inconnue : %d"
 
-#: sequencer.c:385
+#: sequencer.c:404
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -5938,7 +6913,7 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: sequencer.c:388
+#: sequencer.c:407
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -5948,115 +6923,109 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:401 sequencer.c:2909
+#: sequencer.c:420 sequencer.c:3028
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:408
+#: sequencer.c:422 sequencer.c:2827 sequencer.c:3032 sequencer.c:3046
+#: sequencer.c:3303 sequencer.c:5299 strbuf.c:1168 wrapper.c:631
+#, c-format
+msgid "could not write to '%s'"
+msgstr "impossible d'écrire dans '%s'"
+
+#: sequencer.c:427
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929
-#: sequencer.c:3192
+#: sequencer.c:432 sequencer.c:2832 sequencer.c:3034 sequencer.c:3048
+#: sequencer.c:3311
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "échec lors de la finalisation de '%s'"
 
-#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734
-#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763
-#: builtin/merge.c:1112 builtin/rebase.c:567
-#, c-format
-msgid "could not read '%s'"
-msgstr "impossible de lire '%s'"
-
-#: sequencer.c:462
+#: sequencer.c:471
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:466
+#: sequencer.c:475
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:498
+#: sequencer.c:507
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
-#: sequencer.c:537 builtin/tag.c:565
+#: sequencer.c:546 builtin/tag.c:566
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %s"
 
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase -i".
+#. "rebase".
 #.
-#: sequencer.c:632
+#: sequencer.c:640
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:649
+#: sequencer.c:657
 msgid "unable to update cache tree"
 msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:663
+#: sequencer.c:671
 msgid "could not resolve HEAD commit"
 msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:743
+#: sequencer.c:751
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "aucune clé présente dans '%.*s'"
 
-#: sequencer.c:754
+#: sequencer.c:762
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "Impossible de décoter la valeur de '%s'"
 
-#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706
-#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045
+#: sequencer.c:799 wrapper.c:201 wrapper.c:371 builtin/am.c:724
+#: builtin/am.c:816 builtin/merge.c:1121 builtin/rebase.c:902
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
 
-#: sequencer.c:801
+#: sequencer.c:809
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' déjà fourni"
 
-#: sequencer.c:806
+#: sequencer.c:814
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' déjà fourni"
 
-#: sequencer.c:811
+#: sequencer.c:819
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' déjà fourni"
 
-#: sequencer.c:815
+#: sequencer.c:823
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "variable inconnue '%s'"
 
-#: sequencer.c:820
+#: sequencer.c:828
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "'GIT_AUTHOR_NAME' manquant"
 
-#: sequencer.c:822
+#: sequencer.c:830
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "'GIT_AUTHOR_EMAIL' manquant"
 
-#: sequencer.c:824
+#: sequencer.c:832
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "'GIT_AUTHOR_DATE' manquant"
 
-#: sequencer.c:884
-#, c-format
-msgid "invalid date format '%s' in '%s'"
-msgstr "format de date invalide '%s' dans '%s'"
-
-#: sequencer.c:901
+#: sequencer.c:897
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -6085,15 +7054,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:995
-msgid "writing root commit"
-msgstr "écriture du commit racine"
-
-#: sequencer.c:1216
+#: sequencer.c:1178
 msgid "'prepare-commit-msg' hook failed"
 msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:1223
+#: sequencer.c:1184
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6122,7 +7087,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1236
+#: sequencer.c:1197
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6148,326 +7113,339 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1278
+#: sequencer.c:1239
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: sequencer.c:1280
+#: sequencer.c:1241
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: sequencer.c:1326
+#: sequencer.c:1287
 msgid "unable to resolve HEAD after creating commit"
 msgstr "impossible de résoudre HEAD après création du commit"
 
-#: sequencer.c:1328
+#: sequencer.c:1289
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: sequencer.c:1332
+#: sequencer.c:1293
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: sequencer.c:1353
+#: sequencer.c:1314
 msgid "could not parse HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1355
+#: sequencer.c:1316
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s n'est pas un commit !"
 
-#: sequencer.c:1359 builtin/commit.c:1571
+#: sequencer.c:1320 sequencer.c:1395 builtin/commit.c:1577
 msgid "could not parse HEAD commit"
 msgstr "impossible d'analyser le commit HEAD"
 
-#: sequencer.c:1411 sequencer.c:2004
+#: sequencer.c:1373 sequencer.c:2067
 msgid "unable to parse commit author"
 msgstr "impossible d'analyser l'auteur du commit"
 
-#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684
+#: sequencer.c:1384 builtin/am.c:1580 builtin/merge.c:692
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree a échoué à écrire un arbre"
 
-#: sequencer.c:1438 sequencer.c:1499
+#: sequencer.c:1417 sequencer.c:1535
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878
-#: builtin/merge.c:903
+#: sequencer.c:1446 sequencer.c:1478
+#, c-format
+msgid "invalid author identity '%s'"
+msgstr "identité d'auteur invalide '%s'"
+
+#: sequencer.c:1452
+msgid "corrupt author: missing date information"
+msgstr "auteur corrompu : information de date manquante"
+
+#: sequencer.c:1491 builtin/am.c:1606 builtin/commit.c:1678 builtin/merge.c:890
+#: builtin/merge.c:915
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
-#: sequencer.c:1526
+#: sequencer.c:1518 sequencer.c:4237
+#, c-format
+msgid "could not update %s"
+msgstr "impossible de mettre à jour %s"
+
+#: sequencer.c:1567
 #, c-format
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: sequencer.c:1531
+#: sequencer.c:1572
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1605 sequencer.c:1715
+#: sequencer.c:1655 sequencer.c:1766
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:1662 sequencer.c:1687
+#: sequencer.c:1713 sequencer.c:1738
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:1672
+#: sequencer.c:1723
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:1674 sequencer.c:3219
+#: sequencer.c:1725 sequencer.c:3338
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:1676
+#: sequencer.c:1727
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:1682
+#: sequencer.c:1733
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:1689 git-rebase--preserve-merges.sh:496
+#: sequencer.c:1740 git-rebase--preserve-merges.sh:486
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:1697
+#: sequencer.c:1748
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:1704
+#: sequencer.c:1755
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:1710
+#: sequencer.c:1761
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:1798
+#: sequencer.c:1849
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:1805
+#: sequencer.c:1856
 msgid "cannot fixup root commit"
 msgstr "impossible de réparer le commit racine"
 
-#: sequencer.c:1824
+#: sequencer.c:1875
 #, 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:1832 sequencer.c:1840
+#: sequencer.c:1883 sequencer.c:1891
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:1846
+#: sequencer.c:1897
 #, 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:1865
+#: sequencer.c:1916
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1930
+#: sequencer.c:1981
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1985
+#: sequencer.c:2038
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1986
+#: sequencer.c:2039
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:2045
+#: sequencer.c:2059
+#, c-format
+msgid "dropping %s %s -- patch contents already upstream\n"
+msgstr "abandon de %s %s -- le contenu de la rustine déjà en amont\n"
+
+#: sequencer.c:2117
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:2052
+#: sequencer.c:2124
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:2128
+#: sequencer.c:2201
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s n'accepte pas d'argument : '%s'"
 
-#: sequencer.c:2137
+#: sequencer.c:2210
 #, c-format
 msgid "missing arguments for %s"
 msgstr "argument manquant pour %s"
 
-#: sequencer.c:2174
+#: sequencer.c:2241
 #, c-format
-msgid "could not parse '%.*s'"
-msgstr "impossible d'analyser '%.*s'"
+msgid "could not parse '%s'"
+msgstr "impossible d'analyser '%s'"
 
-#: sequencer.c:2228
+#: sequencer.c:2302
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:2239
+#: sequencer.c:2313
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178
-#: builtin/rebase.c:204 builtin/rebase.c:229
-#, c-format
-msgid "could not read '%s'."
-msgstr "impossible de lire '%s'."
-
-#: sequencer.c:2323
+#: sequencer.c:2399
 msgid "cancelling a cherry picking in progress"
 msgstr "annulation d'un picorage en cours"
 
-#: sequencer.c:2330
+#: sequencer.c:2408
 msgid "cancelling a revert in progress"
 msgstr "annulation d'un retour en cours"
 
-#: sequencer.c:2364
+#: sequencer.c:2452
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:2366
+#: sequencer.c:2454
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:2371
+#: sequencer.c:2459
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:2382
+#: sequencer.c:2470
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:2384
+#: sequencer.c:2472
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:2466
+#: sequencer.c:2550
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:2553
+#: sequencer.c:2657
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
-#: sequencer.c:2569
+#: sequencer.c:2677
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:2652 sequencer.c:4351
+#: sequencer.c:2769 sequencer.c:4609
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:2668
+#: sequencer.c:2786
 msgid "revert is already in progress"
 msgstr "un retour est déjà en cours"
 
-#: sequencer.c:2670
+#: sequencer.c:2788
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "essayez \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2673
+#: sequencer.c:2791
 msgid "cherry-pick is already in progress"
 msgstr "un picorage est déjà en cours"
 
-#: sequencer.c:2675
+#: sequencer.c:2793
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "essayez \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2689
+#: sequencer.c:2807
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:2704
+#: sequencer.c:2822
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:2764 sequencer.c:4103
+#: sequencer.c:2882 sequencer.c:4325
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:2766 sequencer.c:2777
+#: sequencer.c:2884 sequencer.c:2895
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:2768 sequencer.c:2812
+#: sequencer.c:2886 sequencer.c:2930
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:2798 builtin/grep.c:734
+#: sequencer.c:2916 builtin/grep.c:745
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:2800
+#: sequencer.c:2918
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:2801
+#: sequencer.c:2919
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:2807
+#: sequencer.c:2925
 #, 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:2818
+#: sequencer.c:2936
 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:2859
+#: sequencer.c:2977
 msgid "no revert in progress"
 msgstr "Pas de retour en cours ?"
 
-#: sequencer.c:2867
+#: sequencer.c:2986
 msgid "no cherry-pick in progress"
 msgstr "aucun picorage en cours"
 
-#: sequencer.c:2877
+#: sequencer.c:2996
 msgid "failed to skip the commit"
 msgstr "échec du saut de commit"
 
-#: sequencer.c:2884
+#: sequencer.c:3003
 msgid "there is nothing to skip"
 msgstr "il n'y a rien à sauter"
 
-#: sequencer.c:2887
+#: sequencer.c:3006
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -6476,21 +7454,16 @@ msgstr ""
 "Avez-vous déjà validé ?\n"
 "essayez \"git %s -continue\""
 
-#: sequencer.c:3011 sequencer.c:4015
-#, c-format
-msgid "could not update %s"
-msgstr "impossible de mettre à jour %s"
-
-#: sequencer.c:3049 sequencer.c:3995
+#: sequencer.c:3168 sequencer.c:4217
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:3066
+#: sequencer.c:3185
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3074
+#: sequencer.c:3193
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6509,27 +7482,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3084
+#: sequencer.c:3203
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "impossible d'appliquer %s... %.*s"
 
-#: sequencer.c:3091
+#: sequencer.c:3210
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Impossible de fusionner %.*s"
 
-#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633
+#: sequencer.c:3224 sequencer.c:3228 builtin/difftool.c:641
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582
-#: builtin/rebase.c:1953 builtin/rebase.c:2008
-msgid "could not read index"
-msgstr "impossible de lire l'index"
+#: sequencer.c:3240
+#, c-format
+msgid "Executing: %s\n"
+msgstr "Exécution : %s\n"
 
-#: sequencer.c:3136
+#: sequencer.c:3255
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6544,11 +7517,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3142
+#: sequencer.c:3261
 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:3148
+#: sequencer.c:3267
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6565,112 +7538,130 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3209
+#: sequencer.c:3328
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nom de label illégal '%.*s'"
 
-#: sequencer.c:3263
+#: sequencer.c:3382
 msgid "writing fake root commit"
 msgstr "écriture d'un commit racine bidon"
 
-#: sequencer.c:3268
+#: sequencer.c:3387
 msgid "writing squash-onto"
 msgstr "écriture de 'écraser-sur'"
 
-#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860
-#, c-format
-msgid "failed to find tree of %s"
-msgstr "impossible de trouver l'arbre de %s"
-
-#: sequencer.c:3324 builtin/rebase.c:873
-msgid "could not write index"
-msgstr "impossible d'écrire l'index"
-
-#: sequencer.c:3351
+#: sequencer.c:3471
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: sequencer.c:3379
+#: sequencer.c:3502
 msgid "cannot merge without a current revision"
 msgstr "impossible de fusionner avec une révision courante"
 
-#: sequencer.c:3401
+#: sequencer.c:3524
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:3410
+#: sequencer.c:3533
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "rien à fusionner : '%.*s'"
 
-#: sequencer.c:3422
+#: sequencer.c:3545
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 "une fusion octopus ne peut pas être exécutée par dessus une nouvelle racine"
 
-#: sequencer.c:3437
+#: sequencer.c:3561
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:3590
+#: sequencer.c:3730
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "impossible de seulement essayer de fusionner '%.*s'"
 
-#: sequencer.c:3606
+#: sequencer.c:3746
 msgid "merge: Unable to write new index file"
 msgstr "fusion : Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:3675 builtin/rebase.c:711
+#: sequencer.c:3820
+msgid "Cannot autostash"
+msgstr "Autoremisage impossible"
+
+#: sequencer.c:3823
+#, c-format
+msgid "Unexpected stash response: '%s'"
+msgstr "réponse de remisage inattendue : '%s'"
+
+#: sequencer.c:3829
+#, c-format
+msgid "Could not create directory for '%s'"
+msgstr "Impossible de créer le répertoire pour '%s'"
+
+#: sequencer.c:3832
+#, c-format
+msgid "Created autostash: %s\n"
+msgstr "Autoremisage créé : %s\n"
+
+#: sequencer.c:3836
+msgid "could not reset --hard"
+msgstr "impossible de réinitialiser --hard"
+
+#: sequencer.c:3861
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:3687
+#: sequencer.c:3873
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113
+#: sequencer.c:3876
 #, c-format
 msgid ""
-"Applying autostash resulted in conflicts.\n"
+"%s\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"
+"%s\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:3751
-#, c-format
-msgid "could not checkout %s"
-msgstr "extraction de %s impossible"
+#: sequencer.c:3881
+msgid "Applying autostash resulted in conflicts."
+msgstr "L'application du remisage automatique a créé des conflits."
 
-#: sequencer.c:3765
+#: sequencer.c:3882
+msgid "Autostash exists; creating a new stash entry."
+msgstr ""
+"Un remisage automatique existe ; création d'une nouvelle entrée de remisage."
+
+#: sequencer.c:3974
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s n'est pas un OID valide"
 
-#: sequencer.c:3770 git-rebase--preserve-merges.sh:779
+#: sequencer.c:3979 git-rebase--preserve-merges.sh:769
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: sequencer.c:3785
+#: sequencer.c:3994
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "arrêt à HEAD\n"
 
-#: sequencer.c:3787
+#: sequencer.c:3996
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Arrêté à %s\n"
 
-#: sequencer.c:3795
+#: sequencer.c:4004
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6691,48 +7682,58 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3877
+#: sequencer.c:4050
+#, c-format
+msgid "Rebasing (%d/%d)%s"
+msgstr "Rebasage (%d/%d)%s"
+
+#: sequencer.c:4095
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:3958
+#: sequencer.c:4166
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:4003
+#: sequencer.c:4225
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:4008
+#: sequencer.c:4230
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:4022
+#: sequencer.c:4244
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:4115
+#: sequencer.c:4304
+#, c-format
+msgid "Successfully rebased and updated %s.\n"
+msgstr "Rebasage et mise à jour de %s avec succès.\n"
+
+#: sequencer.c:4337
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:4124
+#: sequencer.c:4346
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:4126
+#: sequencer.c:4348
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:4128
+#: sequencer.c:4350
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:4131
+#: sequencer.c:4353
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6742,69 +7743,64 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: sequencer.c:4167 sequencer.c:4205
+#: sequencer.c:4389 sequencer.c:4428
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "impossible d'écrire le fichier : '%s'"
 
-#: sequencer.c:4220
+#: sequencer.c:4444
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:4227
+#: sequencer.c:4451
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:4328
+#: sequencer.c:4477
+#, c-format
+msgid "invalid committer '%s'"
+msgstr "validateur invalide '%s'"
+
+#: sequencer.c:4586
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:4332
+#: sequencer.c:4590
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:4367
+#: sequencer.c:4625
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: sequencer.c:4810
+#: sequencer.c:5102
 msgid "make_script: unhandled options"
 msgstr "make_script : options non gérées"
 
-#: sequencer.c:4813
+#: sequencer.c:5105
 msgid "make_script: error preparing revisions"
 msgstr "make_script : erreur lors de la préparation des révisions"
 
-#: sequencer.c:4971
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr ""
-"Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
-"rebase --continue'.\n"
-"Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
-
-#: sequencer.c:5083 sequencer.c:5100
+#: sequencer.c:5347 sequencer.c:5364
 msgid "nothing to do"
 msgstr "rien à faire"
 
-#: sequencer.c:5114
+#: sequencer.c:5383
 msgid "could not skip unnecessary pick commands"
 msgstr "impossible d'éviter les commandes de picorage non nécessaires"
 
-#: sequencer.c:5197
+#: sequencer.c:5480
 msgid "the script was already rearranged."
 msgstr "le script a déjà été réarrangé."
 
-#: setup.c:123
+#: setup.c:133
 #, c-format
-msgid "'%s' is outside repository"
-msgstr "'%s' est hors du dépôt"
+msgid "'%s' is outside repository at '%s'"
+msgstr "'%s' est hors du dépôt à '%s'"
 
-#: setup.c:173
+#: setup.c:185
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -6814,7 +7810,7 @@ msgstr ""
 "Utilisez 'git <commande> -- <chemin>...' pour spécifier des chemins qui "
 "n'existent pas localement."
 
-#: setup.c:186
+#: setup.c:198
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -6825,14 +7821,14 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:235
+#: setup.c:264
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 "l'option '%s' doit être présente avant les arguments qui ne sont pas des "
 "options"
 
-#: setup.c:254
+#: setup.c:283
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -6843,94 +7839,99 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:390
+#: setup.c:419
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 "impossible de mettre en place le répertoire de travail en utilisant une "
 "configuration invalide"
 
-#: setup.c:394
+#: setup.c:423
 msgid "this operation must be run in a work tree"
 msgstr "Cette opération doit être effectuée dans un arbre de travail"
 
-#: setup.c:540
+#: setup.c:661
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:548
+#: setup.c:669
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:567
+#: setup.c:681
+msgid "repo version is 0, but v1-only extensions found:"
+msgstr ""
+"la version du dépôt est 0, mais des extensions uniquement v1 trouvées :"
+
+#: setup.c:700
 #, c-format
 msgid "error opening '%s'"
 msgstr "erreur à l'ouverture de '%s'"
 
-#: setup.c:569
+#: setup.c:702
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "trop gros pour être une fichier .git : '%s'"
 
-#: setup.c:571
+#: setup.c:704
 #, c-format
 msgid "error reading %s"
 msgstr "erreur à la lecture de %s"
 
-#: setup.c:573
+#: setup.c:706
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "format de fichier git invalide : %s"
 
-#: setup.c:575
+#: setup.c:708
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "aucun chemin dans le fichier git : %s"
 
-#: setup.c:577
+#: setup.c:710
 #, c-format
 msgid "not a git repository: %s"
 msgstr "ce n'est pas un dépôt git : %s"
 
-#: setup.c:676
+#: setup.c:812
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' trop gros"
 
-#: setup.c:690
+#: setup.c:826
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "ce n'est pas un dépôt git : '%s'"
 
-#: setup.c:719 setup.c:721 setup.c:752
+#: setup.c:855 setup.c:857 setup.c:888
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "impossible de se déplacer vers le répertoire (chdir) '%s'"
 
-#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
+#: setup.c:860 setup.c:916 setup.c:926 setup.c:965 setup.c:973
 msgid "cannot come back to cwd"
 msgstr "impossible de revenir au répertoire de travail courant"
 
-#: setup.c:851
+#: setup.c:987
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "échec du stat de '%*s%s%s'"
 
-#: setup.c:1083
+#: setup.c:1225
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:1092 setup.c:1098
+#: setup.c:1234 setup.c:1240
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "impossible de modifier en '%s'"
 
-#: setup.c:1103
+#: setup.c:1245
 #, 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:1109
+#: setup.c:1251
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -6941,7 +7942,7 @@ msgstr ""
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas défini)."
 
-#: setup.c:1220
+#: setup.c:1362
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -6951,286 +7952,286 @@ msgstr ""
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: setup.c:1264
+#: setup.c:1409
 msgid "open /dev/null or dup failed"
 msgstr "échec de l'ouverture ou au dup de /dev/null"
 
-#: setup.c:1279
+#: setup.c:1424
 msgid "fork failed"
 msgstr "échec de la bifurcation"
 
-#: setup.c:1284
+#: setup.c:1429
 msgid "setsid failed"
 msgstr "échec du setsid"
 
-#: sha1-file.c:453
+#: sha1-file.c:470
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "le répertoire objet %s n'existe pas ; vérifiez .git/objects/info/alternates"
 
-#: sha1-file.c:504
+#: sha1-file.c:521
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "impossible de normaliser le chemin d'objet alternatif : %s"
 
-#: sha1-file.c:576
+#: sha1-file.c:593
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s : magasins d'objets alternatifs ignorés, récursion trop profonde"
 
-#: sha1-file.c:583
+#: sha1-file.c:600
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "impossible de normaliser le répertoire d'objet : %s"
 
-#: sha1-file.c:626
+#: sha1-file.c:643
 msgid "unable to fdopen alternates lockfile"
 msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
 
-#: sha1-file.c:644
+#: sha1-file.c:661
 msgid "unable to read alternates file"
 msgstr "lecture du fichier d'alternatives impossible"
 
-#: sha1-file.c:651
+#: sha1-file.c:668
 msgid "unable to move new alternates file into place"
 msgstr "impossible de déplacer le nouveau fichier d'alternative"
 
-#: sha1-file.c:686
+#: sha1-file.c:703
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1-file.c:712
+#: sha1-file.c:724
 #, 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:718
+#: sha1-file.c:730
 #, 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:724
+#: sha1-file.c:736
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1-file.c:732
+#: sha1-file.c:744
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1-file.c:792
+#: sha1-file.c:804
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
 
-#: sha1-file.c:944
+#: sha1-file.c:954
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "essai de mmap %<PRIuMAX> au delà de la limite %<PRIuMAX>"
 
-#: sha1-file.c:969
+#: sha1-file.c:975
 msgid "mmap failed"
 msgstr "échec de mmap"
 
-#: sha1-file.c:1133
+#: sha1-file.c:1139
 #, c-format
 msgid "object file %s is empty"
 msgstr "le fichier objet %s est vide"
 
-#: sha1-file.c:1257 sha1-file.c:2396
+#: sha1-file.c:1274 sha1-file.c:2467
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objet libre corrompu '%s'"
 
-#: sha1-file.c:1259 sha1-file.c:2400
+#: sha1-file.c:1276 sha1-file.c:2471
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "données incorrectes à la fin de l'objet libre '%s'"
 
-#: sha1-file.c:1301
+#: sha1-file.c:1318
 msgid "invalid object type"
 msgstr "type d'objet invalide"
 
-#: sha1-file.c:1385
+#: sha1-file.c:1402
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "impossible de dépaqueter l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1388
+#: sha1-file.c:1405
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "impossible de dépaqueter l'entête %s"
 
-#: sha1-file.c:1394
+#: sha1-file.c:1411
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "impossible d'analyser l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1397
+#: sha1-file.c:1414
 #, c-format
 msgid "unable to parse %s header"
 msgstr "impossible d'analyser l'entête %s"
 
-#: sha1-file.c:1588
+#: sha1-file.c:1641
 #, c-format
 msgid "failed to read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: sha1-file.c:1592
+#: sha1-file.c:1645
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "remplacement %s non trouvé pour %s"
 
-#: sha1-file.c:1596
+#: sha1-file.c:1649
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "l'objet libre %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1600
+#: sha1-file.c:1653
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "l'objet empaqueté %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1703
+#: sha1-file.c:1758
 #, c-format
 msgid "unable to write file %s"
 msgstr "impossible d'écrire le fichier %s"
 
-#: sha1-file.c:1710
+#: sha1-file.c:1765
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "impossible de régler les droits de '%s'"
 
-#: sha1-file.c:1717
+#: sha1-file.c:1772
 msgid "file write error"
 msgstr "erreur d'écriture d'un fichier"
 
-#: sha1-file.c:1736
+#: sha1-file.c:1792
 msgid "error when closing loose object file"
 msgstr "erreur en fermeture du fichier d'objet esseulé"
 
-#: sha1-file.c:1801
+#: sha1-file.c:1857
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "droits insuffisants pour ajouter un objet à la base de données %s du dépôt"
 
-#: sha1-file.c:1803
+#: sha1-file.c:1859
 msgid "unable to create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: sha1-file.c:1827
+#: sha1-file.c:1883
 msgid "unable to write loose object file"
 msgstr "impossible d'écrire le fichier d'objet esseulé"
 
-#: sha1-file.c:1833
+#: sha1-file.c:1889
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "impossible de compresser le nouvel objet %s (%d)"
 
-#: sha1-file.c:1837
+#: sha1-file.c:1893
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "échec de deflateEnd sur l'objet %s (%d)"
 
-#: sha1-file.c:1841
+#: sha1-file.c:1897
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "données de source d'objet instable pour %s"
 
-#: sha1-file.c:1851 builtin/pack-objects.c:925
+#: sha1-file.c:1907 builtin/pack-objects.c:1086
 #, c-format
 msgid "failed utime() on %s"
 msgstr "échec de utime() sur %s"
 
-#: sha1-file.c:1926
+#: sha1-file.c:1984
 #, c-format
 msgid "cannot read object for %s"
 msgstr "impossible de lire l'objet pour %s"
 
-#: sha1-file.c:1966
+#: sha1-file.c:2035
 msgid "corrupt commit"
 msgstr "commit corrompu"
 
-#: sha1-file.c:1974
+#: sha1-file.c:2043
 msgid "corrupt tag"
 msgstr "étiquette corrompue"
 
-#: sha1-file.c:2073
+#: sha1-file.c:2143
 #, c-format
 msgid "read error while indexing %s"
 msgstr "erreur de lecture à l'indexation de %s"
 
-#: sha1-file.c:2076
+#: sha1-file.c:2146
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lecture tronquée pendant l'indexation de %s"
 
-#: sha1-file.c:2149 sha1-file.c:2158
+#: sha1-file.c:2219 sha1-file.c:2229
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s : échec de l'insertion dans la base de données"
 
-#: sha1-file.c:2164
+#: sha1-file.c:2235
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s : type de fichier non supporté"
 
-#: sha1-file.c:2188
+#: sha1-file.c:2259
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s n'est pas un objet valide"
 
-#: sha1-file.c:2190
+#: sha1-file.c:2261
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: sha1-file.c:2217 builtin/index-pack.c:155
+#: sha1-file.c:2288 builtin/index-pack.c:192
 #, c-format
 msgid "unable to open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: sha1-file.c:2407 sha1-file.c:2459
+#: sha1-file.c:2478 sha1-file.c:2531
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "incohérence de hachage pour %s (%s attendu)"
 
-#: sha1-file.c:2431
+#: sha1-file.c:2502
 #, c-format
 msgid "unable to mmap %s"
 msgstr "impossible de mmap %s"
 
-#: sha1-file.c:2436
+#: sha1-file.c:2507
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "impossible de dépaqueter l'entête de %s"
 
-#: sha1-file.c:2442
+#: sha1-file.c:2513
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "impossible d'analyser l'entête de %s"
 
-#: sha1-file.c:2453
+#: sha1-file.c:2524
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "impossible de dépaqueter le contenu de %s"
 
-#: sha1-name.c:490
+#: sha1-name.c:486
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "le SHA1 court %s est ambigu"
 
-#: sha1-name.c:501
+#: sha1-name.c:497
 msgid "The candidates are:"
 msgstr "Les candidats sont :"
 
-#: sha1-name.c:800
+#: sha1-name.c:796
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -7254,44 +8255,112 @@ msgstr ""
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
+#: sha1-name.c:916
+#, c-format
+msgid "log for '%.*s' only goes back to %s"
+msgstr "le journal de '%.*s' ne remonte qu'à %s"
+
+#: sha1-name.c:924
+#, c-format
+msgid "log for '%.*s' only has %d entries"
+msgstr "le journal de '%.*s' n'a que %d entrées"
+
+#: sha1-name.c:1702
+#, c-format
+msgid "path '%s' exists on disk, but not in '%.*s'"
+msgstr "le chemin '%s' existe sur le disque, mais pas dans '%.*s'"
+
+#: sha1-name.c:1708
+#, c-format
+msgid ""
+"path '%s' exists, but not '%s'\n"
+"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
+msgstr ""
+"le chemin '%s' existe, mais pas '%s'\n"
+"conseil : peut-être vouliez-vous dire '%.*s:%s', soit '%.*s:./%s'"
+
+#: sha1-name.c:1717
+#, c-format
+msgid "path '%s' does not exist in '%.*s'"
+msgstr "le chemin '%s' n'existe pas dnas '%.*s'"
+
+#: sha1-name.c:1745
+#, c-format
+msgid ""
+"path '%s' is in the index, but not at stage %d\n"
+"hint: Did you mean ':%d:%s'?"
+msgstr ""
+"le chemin '%s' est dans l'index, mais pas à l'étape %d\n"
+"conseil : vous vouliez peut-être dire ':%d:%s' ?"
+
+#: sha1-name.c:1761
+#, c-format
+msgid ""
+"path '%s' is in the index, but not '%s'\n"
+"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
+msgstr ""
+"le chemin '%s' est dans l'index, mais pas '%s'\n"
+"conseil : peut-être vouliez-vous dire ':%d:%s', soit '%d:./%s'"
+
+#: sha1-name.c:1769
+#, c-format
+msgid "path '%s' exists on disk, but not in the index"
+msgstr "le chemin '%s' existe sur le disque, mais pas dans l'index"
+
+#: sha1-name.c:1771
+#, c-format
+msgid "path '%s' does not exist (neither on disk nor in the index)"
+msgstr "le chemin '%s' n'existe pas (ni sur le disque, ni dans l'index)"
+
+#: sha1-name.c:1784
+msgid "relative path syntax can't be used outside working tree"
+msgstr ""
+"la syntaxe de chemin relatif ne peut pas être utilisée hors de l'arbre de "
+"travail"
+
+#: sha1-name.c:1922
+#, c-format
+msgid "invalid object name '%.*s'."
+msgstr "nom d'objet invalide : '%.*s'."
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:821
+#: strbuf.c:848
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u Gio"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:823
+#: strbuf.c:850
 #, c-format
 msgid "%u.%2.2u GiB/s"
 msgstr "%u.%2.2u Gio/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:831
+#: strbuf.c:858
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u Mio"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:833
+#: strbuf.c:860
 #, c-format
 msgid "%u.%2.2u MiB/s"
 msgstr "%u.%2.2u Mio/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:840
+#: strbuf.c:867
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u Kio"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:842
+#: strbuf.c:869
 #, c-format
 msgid "%u.%2.2u KiB/s"
 msgstr "%u.%2.2u Kio/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:848
+#: strbuf.c:875
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
@@ -7299,13 +8368,50 @@ msgstr[0] "%u octet"
 msgstr[1] "%u octets"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:850
+#: strbuf.c:877
 #, c-format
 msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u octet/s"
 msgstr[1] "%u octets/s"
 
+#: strbuf.c:1166 wrapper.c:199 wrapper.c:369 builtin/am.c:733
+#: builtin/rebase.c:858
+#, c-format
+msgid "could not open '%s' for writing"
+msgstr "impossible d'ouvrir '%s' en écriture"
+
+#: strbuf.c:1175
+#, c-format
+msgid "could not edit '%s'"
+msgstr "impossible d'éditer '%s'"
+
+#: submodule-config.c:237
+#, c-format
+msgid "ignoring suspicious submodule name: %s"
+msgstr "nom de sous-module suspicieux %s ignoré"
+
+#: submodule-config.c:304
+msgid "negative values not allowed for submodule.fetchjobs"
+msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
+
+#: submodule-config.c:402
+#, c-format
+msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
+msgstr ""
+"'%s' ignoré et qui peut être interprété comme une option de ligne de "
+"commande : %s"
+
+#: submodule-config.c:499
+#, c-format
+msgid "invalid value for %s"
+msgstr "Valeur invalide pour %s"
+
+#: submodule-config.c:766
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -7337,51 +8443,129 @@ msgstr "dans le sous-module '%s' non populé"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
-#: submodule.c:910
+#: submodule.c:434
+#, c-format
+msgid "bad --ignore-submodules argument: %s"
+msgstr "mauvais argument --ignore-submodules : %s"
+
+#: submodule.c:816
+#, c-format
+msgid ""
+"Submodule in commit %s at path: '%s' collides with a submodule named the "
+"same. Skipping it."
+msgstr ""
+"Le sous-module dans le commit %s au chemin : '%s' entre en collision avec un "
+"sous-module du même nom. Ignoré."
+
+#: submodule.c:919
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "l'entrée de sous-module '%s' (%s) est un %s, pas un commit"
 
-#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
+#: submodule.c:1004
+#, c-format
+msgid ""
+"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
+"submodule %s"
+msgstr ""
+"Impossible de lancer la commande 'git rev-list <commits> --not --remotes -n "
+"1' dans le sous-module %s"
+
+#: submodule.c:1127
+#, c-format
+msgid "process for submodule '%s' failed"
+msgstr "le processus pour le sous-module '%s' a échoué"
+
+#: submodule.c:1156 builtin/branch.c:678 builtin/submodule--helper.c:2469
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: submodule.c:1481
+#: submodule.c:1167
+#, c-format
+msgid "Pushing submodule '%s'\n"
+msgstr "Poussée du sous-module '%s'\n"
+
+#: submodule.c:1170
+#, c-format
+msgid "Unable to push submodule '%s'\n"
+msgstr "Impossible de pousser le sous-module '%s'\n"
+
+#: submodule.c:1462
 #, c-format
-msgid "Could not access submodule '%s'"
-msgstr "Impossible d'accéder au sous-module '%s'"
+msgid "Fetching submodule %s%s\n"
+msgstr "Récupération du sous-module %s%s\n"
 
-#: submodule.c:1651
+#: submodule.c:1492
+#, c-format
+msgid "Could not access submodule '%s'\n"
+msgstr "Impossible d'accéder au sous-module '%s'\n"
+
+#: submodule.c:1646
+#, c-format
+msgid ""
+"Errors during submodule fetch:\n"
+"%s"
+msgstr ""
+"Erreurs pendant la récupération du sous-module :\n"
+"%s"
+
+#: submodule.c:1671
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' n'est pas reconnu comme dépôt git"
 
-#: submodule.c:1789
+#: submodule.c:1688
+#, c-format
+msgid "Could not run 'git status --porcelain=2' in submodule %s"
+msgstr "impossible de lancer 'git status --porcelain=2' dans le sous-module %s"
+
+#: submodule.c:1729
+#, c-format
+msgid "'git status --porcelain=2' failed in submodule %s"
+msgstr "'git status --porcelain=2' a échoué dans le sous-module %s"
+
+#: submodule.c:1804
 #, 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:1802
+#: submodule.c:1817
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1817
+#: submodule.c:1832
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "Impossible de désactiver core.worktree dans le sous-module '%s'"
 
-#: submodule.c:1907
+#: submodule.c:1859 submodule.c:2169
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "récursion impossible dans le sous-module '%s'"
+
+#: submodule.c:1880
+msgid "could not reset submodule index"
+msgstr "impossible de réinitialiser l'index du sous-module"
+
+#: submodule.c:1922
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "le sous-module '%s' a un index sale"
 
-#: submodule.c:1959
+#: submodule.c:1974
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "le sous-module '%s' n'a pas pu être mis à jour."
 
-#: submodule.c:2007
+#: submodule.c:2042
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr ""
+"le répertoire git du sous-module '%s' est à l'intérieur du répertoire git "
+"'%.*s'"
+
+#: submodule.c:2063
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -7389,12 +8573,17 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:2019 submodule.c:2074
+#: submodule.c:2075 submodule.c:2134
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:2026
+#: submodule.c:2079
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr "refus de déplacer '%s' dans une répertoire git existant"
+
+#: submodule.c:2086
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7405,208 +8594,84 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:2109
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr "récursion impossible dans le sous-module '%s'"
-
-#: submodule.c:2153
+#: submodule.c:2214
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:2192
+#: submodule.c:2254
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
 
-#: submodule-config.c:232
-#, c-format
-msgid "ignoring suspicious submodule name: %s"
-msgstr "nom de sous-module suspicieux %s ignoré"
-
-#: submodule-config.c:299
-msgid "negative values not allowed for submodule.fetchjobs"
-msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
-
-#: submodule-config.c:397
-#, c-format
-msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr ""
-"'%s' ignoré et qui peut être interprété comme une option de ligne de "
-"commande : %s"
-
-#: submodule-config.c:486
-#, c-format
-msgid "invalid value for %s"
-msgstr "Valeur invalide pour %s"
-
-#: submodule-config.c:755
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
-
-#: trailer.c:238
+#: trailer.c:236
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "échec de la commande trailer '%s'"
 
-#: trailer.c:485 trailer.c:490 trailer.c:495 trailer.c:549 trailer.c:553
-#: trailer.c:557
+#: trailer.c:483 trailer.c:488 trailer.c:493 trailer.c:547 trailer.c:551
+#: trailer.c:555
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%s'"
 
-#: trailer.c:539 trailer.c:544 builtin/remote.c:295
+#: trailer.c:537 trailer.c:542 builtin/remote.c:298 builtin/remote.c:323
 #, c-format
 msgid "more than one %s"
 msgstr "plus d'un %s"
 
-#: trailer.c:730
+#: trailer.c:728
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "symbole vide dans la ligne de fin '%.*s'"
 
-#: trailer.c:750
+#: trailer.c:748
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "impossible de lire le fichier d'entrée '%s'"
 
-#: trailer.c:753
+#: trailer.c:751
 msgid "could not read from stdin"
 msgstr "Impossible de lire depuis l'entrée standard"
 
-#: trailer.c:1011 wrapper.c:701
+#: trailer.c:1009 wrapper.c:676
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
 
-#: trailer.c:1013
+#: trailer.c:1011
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "%s n'est pas un fichier régulier"
 
-#: trailer.c:1015
+#: trailer.c:1013
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
 
-#: trailer.c:1027
+#: trailer.c:1025
 msgid "could not open temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: trailer.c:1067
+#: trailer.c:1065
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "impossible de renommer un fichier temporaire en %s"
 
-#: transport.c:116
-#, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
-
-#: transport.c:142
-#, c-format
-msgid "could not read bundle '%s'"
-msgstr "impossible de lire la liasse '%s'"
-
-#: transport.c:208
-#, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr "transport : option de profondeur invalide '%s'"
-
-#: transport.c:259
-msgid "see protocol.version in 'git help config' for more details"
-msgstr "voir protocol.version dans 'git help config' pour plus d'information"
-
-#: transport.c:260
-msgid "server options require protocol version 2 or later"
-msgstr "les options de serveur exigent une version 2 ou supérieure"
-
-#: transport.c:625
-msgid "could not parse transport.color.* config"
-msgstr "impossible d'analyser la configuration transport.color.*"
-
-#: transport.c:698
-msgid "support for protocol v2 not implemented yet"
-msgstr "le support du protocole v2 n'est pas encore implanté"
-
-#: transport.c:825
-#, c-format
-msgid "unknown value for config '%s': %s"
-msgstr "valeur inconnue pour la config '%s' : %s"
-
-#: transport.c:891
-#, c-format
-msgid "transport '%s' not allowed"
-msgstr "transport '%s' non permis"
-
-#: transport.c:945
-msgid "git-over-rsync is no longer supported"
-msgstr "git-over-rsync n'est plus supporté"
-
-#: transport.c:1040
-#, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr ""
-"Les chemins suivants de sous-module contiennent des modifications\n"
-"qui ne peuvent être trouvées sur aucun distant :\n"
-
-#: transport.c:1044
-#, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr ""
-"\n"
-"Veuillez essayer\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"ou bien changez de répertoire et utilisez\n"
-"\n"
-"\tgit push\n"
-"\n"
-"pour les pousser vers un serveur distant.\n"
-"\n"
-
-#: transport.c:1052
-msgid "Aborting."
-msgstr "Abandon."
-
-#: transport.c:1193
-msgid "failed to push all needed submodules"
-msgstr "échec de la poussée de tous les sous-modules nécessaires"
-
-#: transport.c:1340 transport-helper.c:645
-msgid "operation not supported by protocol"
-msgstr "option non supportée par le protocole"
-
-#: transport-helper.c:51 transport-helper.c:80
+#: transport-helper.c:62 transport-helper.c:91
 msgid "full write to remote helper failed"
 msgstr "échec de l'écriture totale sur l'assistant distant"
 
-#: transport-helper.c:134
+#: transport-helper.c:145
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "Impossible de trouver un assistant distant pour '%s'"
 
-#: transport-helper.c:150 transport-helper.c:559
+#: transport-helper.c:161 transport-helper.c:575
 msgid "can't dup helper output fd"
 msgstr ""
 "impossible de dupliquer le descripteur de flux de sortie de l'assistant"
 
-#: transport-helper.c:201
+#: transport-helper.c:214
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
@@ -7615,172 +8680,279 @@ msgstr ""
 "capacité obligatoire inconnue %s ; cet assistant distant requiert "
 "probablement une une nouvelle version de Git"
 
-#: transport-helper.c:207
+#: transport-helper.c:220
 msgid "this remote helper should implement refspec capability"
 msgstr "cet assistant distant devrait supporter la capacité refspec"
 
-#: transport-helper.c:274 transport-helper.c:414
+#: transport-helper.c:287 transport-helper.c:429
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "%s a dit de manière inattendue : '%s'"
 
-#: transport-helper.c:403
+#: transport-helper.c:417
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s a aussi verrouillé %s"
 
-#: transport-helper.c:481
+#: transport-helper.c:497
 msgid "couldn't run fast-import"
 msgstr "impossible de lancer fast-import"
 
-#: transport-helper.c:504
+#: transport-helper.c:520
 msgid "error while running fast-import"
 msgstr "erreur au lancement de fast-import"
 
-#: transport-helper.c:533 transport-helper.c:1105
+#: transport-helper.c:549 transport-helper.c:1226
 #, c-format
 msgid "could not read ref %s"
 msgstr "impossible de lire la réf %s"
 
-#: transport-helper.c:578
+#: transport-helper.c:594
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "réponse inconnue à connect : %s"
 
-#: transport-helper.c:600
+#: transport-helper.c:616
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 "la spécification du chemin de service distant n'est pas supportée par le "
 "protocole"
 
-#: transport-helper.c:602
+#: transport-helper.c:618
 msgid "invalid remote service path"
 msgstr "chemin de service distant invalide"
 
-#: transport-helper.c:648
+#: transport-helper.c:661 transport.c:1428
+msgid "operation not supported by protocol"
+msgstr "option non supportée par le protocole"
+
+#: transport-helper.c:664
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "impossible de se connecter au sous-service %s"
 
-#: transport-helper.c:720
+#: transport-helper.c:745
+msgid "'option' without a matching 'ok/error' directive"
+msgstr "'option' sans directive 'ok/error' correspondante"
+
+#: transport-helper.c:788
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "ok/error attendu, l'assistant a dit '%s'"
 
-#: transport-helper.c:773
+#: transport-helper.c:841
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "l'assistant a renvoyé un statut de retour inattendu %s"
 
-#: transport-helper.c:834
+#: transport-helper.c:924
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "l'assistant %s ne gère pas dry-run"
 
-#: transport-helper.c:837
+#: transport-helper.c:927
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "l'assistant %s ne gère pas --signed"
 
-#: transport-helper.c:840
+#: transport-helper.c:930
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "l'assistant %s ne gère pas --signed=if-asked"
 
-#: transport-helper.c:847
+#: transport-helper.c:935
+#, c-format
+msgid "helper %s does not support --atomic"
+msgstr "l'assistant %s ne gère pas --atomic"
+
+#: transport-helper.c:941
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "l'assistant %s ne gère pas 'push-option'"
 
-#: transport-helper.c:945
+#: transport-helper.c:1040
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 "l'assistant %s ne gère pas push ; un spécificateur de référence est "
 "nécessaire"
 
-#: transport-helper.c:950
+#: transport-helper.c:1045
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "l'assistant %s ne gère pas 'force'"
 
-#: transport-helper.c:997
+#: transport-helper.c:1092
 msgid "couldn't run fast-export"
 msgstr "impossible de lancer fast-export"
 
-#: transport-helper.c:1002
+#: transport-helper.c:1097
 msgid "error while running fast-export"
 msgstr "erreur au lancement de fast-export"
 
-#: transport-helper.c:1027
+#: transport-helper.c:1122
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
-"Perhaps you should specify a branch such as 'master'.\n"
+"Perhaps you should specify a branch.\n"
 msgstr ""
 "Aucune référence en commun et aucune spécfiée ; rien à faire.\n"
-"Vous devriez peut-être spécifier une branche telle que 'master'.\n"
+"Vous devriez peut-être spécifier une branche.\n"
+
+#: transport-helper.c:1203
+#, c-format
+msgid "unsupported object format '%s'"
+msgstr "format d'objet non géré '%s'"
 
-#: transport-helper.c:1091
+#: transport-helper.c:1212
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "réponse malformée dans le liste de réfs : %s"
 
-#: transport-helper.c:1244
+#: transport-helper.c:1364
 #, c-format
 msgid "read(%s) failed"
 msgstr "échec de read(%s)"
 
-#: transport-helper.c:1271
+#: transport-helper.c:1391
 #, c-format
 msgid "write(%s) failed"
 msgstr "échec de write(%s)"
 
-#: transport-helper.c:1320
+#: transport-helper.c:1440
 #, c-format
 msgid "%s thread failed"
 msgstr "échec du fil d'exécution %s"
 
-#: transport-helper.c:1324
+#: transport-helper.c:1444
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "échec de jonction du fil d'exécution %s : %s"
 
-#: transport-helper.c:1343 transport-helper.c:1347
+#: transport-helper.c:1463 transport-helper.c:1467
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données : %s"
 
-#: transport-helper.c:1384
+#: transport-helper.c:1504
 #, c-format
 msgid "%s process failed to wait"
 msgstr "échec du processus %s pour l'attente"
 
-#: transport-helper.c:1388
+#: transport-helper.c:1508
 #, c-format
 msgid "%s process failed"
 msgstr "échec du processus %s"
 
-#: transport-helper.c:1406 transport-helper.c:1415
+#: transport-helper.c:1526 transport-helper.c:1535
 msgid "can't start thread for copying data"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données"
 
-#: tree-walk.c:33
+#: transport.c:116
+#, c-format
+msgid "Would set upstream of '%s' to '%s' of '%s'\n"
+msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
+
+#: transport.c:145
+#, c-format
+msgid "could not read bundle '%s'"
+msgstr "impossible de lire la liasse '%s'"
+
+#: transport.c:220
+#, c-format
+msgid "transport: invalid depth option '%s'"
+msgstr "transport : option de profondeur invalide '%s'"
+
+#: transport.c:269
+msgid "see protocol.version in 'git help config' for more details"
+msgstr "voir protocol.version dans 'git help config' pour plus d'information"
+
+#: transport.c:270
+msgid "server options require protocol version 2 or later"
+msgstr "les options de serveur exigent une version 2 ou supérieure"
+
+#: transport.c:712
+msgid "could not parse transport.color.* config"
+msgstr "impossible d'analyser la configuration transport.color.*"
+
+#: transport.c:785
+msgid "support for protocol v2 not implemented yet"
+msgstr "le support du protocole v2 n'est pas encore implanté"
+
+#: transport.c:919
+#, c-format
+msgid "unknown value for config '%s': %s"
+msgstr "valeur inconnue pour la config '%s' : %s"
+
+#: transport.c:985
+#, c-format
+msgid "transport '%s' not allowed"
+msgstr "transport '%s' non permis"
+
+#: transport.c:1038
+msgid "git-over-rsync is no longer supported"
+msgstr "git-over-rsync n'est plus supporté"
+
+#: transport.c:1140
+#, c-format
+msgid ""
+"The following submodule paths contain changes that can\n"
+"not be found on any remote:\n"
+msgstr ""
+"Les chemins suivants de sous-module contiennent des modifications\n"
+"qui ne peuvent être trouvées sur aucun distant :\n"
+
+#: transport.c:1144
+#, c-format
+msgid ""
+"\n"
+"Please try\n"
+"\n"
+"\tgit push --recurse-submodules=on-demand\n"
+"\n"
+"or cd to the path and use\n"
+"\n"
+"\tgit push\n"
+"\n"
+"to push them to a remote.\n"
+"\n"
+msgstr ""
+"\n"
+"Veuillez essayer\n"
+"\n"
+"\tgit push --recurse-submodules=on-demand\n"
+"\n"
+"ou bien changez de répertoire et utilisez\n"
+"\n"
+"\tgit push\n"
+"\n"
+"pour les pousser vers un serveur distant.\n"
+"\n"
+
+#: transport.c:1152
+msgid "Aborting."
+msgstr "Abandon."
+
+#: transport.c:1297
+msgid "failed to push all needed submodules"
+msgstr "échec de la poussée de tous les sous-modules nécessaires"
+
+#: tree-walk.c:32
 msgid "too-short tree object"
 msgstr "objet arbre trop court"
 
-#: tree-walk.c:39
+#: tree-walk.c:38
 msgid "malformed mode in tree entry"
 msgstr "mode invalide dans l'entrée d'arbre"
 
-#: tree-walk.c:43
+#: tree-walk.c:42
 msgid "empty filename in tree entry"
 msgstr "nom de fichier vide dans une entrée de l'arbre"
 
-#: tree-walk.c:118
+#: tree-walk.c:117
 msgid "too-short tree file"
 msgstr "fichier arbre trop court"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:113
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -7791,7 +8963,7 @@ msgstr ""
 "%%sVeuillez valider ou remiser vos modifications avant de basculer de "
 "branche."
 
-#: unpack-trees.c:113
+#: unpack-trees.c:115
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -7801,7 +8973,7 @@ msgstr ""
 "l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:118
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -7811,7 +8983,7 @@ msgstr ""
 "fusion :\n"
 "%%sVeuillez valider ou remiser vos modifications avant la fusion."
 
-#: unpack-trees.c:118
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -7821,7 +8993,7 @@ msgstr ""
 "fusion :\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:123
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -7830,7 +9002,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:123
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -7839,7 +9011,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -7849,7 +9021,7 @@ msgstr ""
 "contenus :\n"
 "%s"
 
-#: unpack-trees.c:132
+#: unpack-trees.c:134
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -7859,7 +9031,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:134
+#: unpack-trees.c:136
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -7868,7 +9040,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -7878,7 +9050,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:141
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -7887,7 +9059,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:142
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -7897,7 +9069,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:146
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -7906,7 +9078,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:150
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7917,7 +9089,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:152
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7927,7 +9099,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par l'extraction :\n"
 "%%s"
 
-#: unpack-trees.c:155
+#: unpack-trees.c:157
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -7937,7 +9109,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:157
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -7946,7 +9118,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par la fusion :\n"
 "%%s"
 
-#: unpack-trees.c:160
+#: unpack-trees.c:162
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -7956,7 +9128,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:162
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -7965,62 +9137,71 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:172
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrée '%s' surcharge avec '%s'. Affectation impossible."
 
-#: unpack-trees.c:173
+#: unpack-trees.c:175
 #, c-format
 msgid ""
-"Cannot update sparse checkout: the following entries are not up to date:\n"
+"Cannot update submodule:\n"
 "%s"
 msgstr ""
-"Mise à jour d'extraction creuse impossible : les entrées suivantes ne sont "
-"pas à jour :\n"
+"Mise à jour impossible pour le sous-module :\n"
 "%s"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:178
 #, c-format
 msgid ""
-"The following working tree files would be overwritten by sparse checkout "
-"update:\n"
+"The following paths are not up to date and were left despite sparse "
+"patterns:\n"
 "%s"
 msgstr ""
-"Les fichiers suivants de la copie de travail seraient écrasés par la mise à "
-"jour par l'extraction creuse :\n"
+"Les chemins suivants ne sont pas à jour et ont été laissés malgré les motifs "
+"clairsemés :\n"
 "%s"
 
-#: unpack-trees.c:177
+#: unpack-trees.c:180
 #, c-format
 msgid ""
-"The following working tree files would be removed by sparse checkout "
-"update:\n"
+"The following paths are unmerged and were left despite sparse patterns:\n"
 "%s"
 msgstr ""
-"Les fichiers suivants de la copie de travail seraient supprimés par la mise "
-"à jour par extraction creuse :\n"
+"Les chemins suivants ne sont pas fusionnés et ont été laissés malgré les "
+"motifs clairsemés :\n"
 "%s"
 
-#: unpack-trees.c:179
+#: unpack-trees.c:182
 #, c-format
 msgid ""
-"Cannot update submodule:\n"
+"The following paths were already present and thus not updated despite sparse "
+"patterns:\n"
 "%s"
 msgstr ""
-"Mise à jour impossible pour le sous-module :\n"
+"Les chemins suivants étaient déjà présents et ont été laissés malgré les "
+"motifs clairsemés :\n"
 "%s"
 
-#: unpack-trees.c:256
+#: unpack-trees.c:262
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:318
+#: unpack-trees.c:289
+#, c-format
+msgid ""
+"After fixing the above paths, you may want to run `git sparse-checkout "
+"reapply`.\n"
+msgstr ""
+"Après correction des chemins ci-dessus, vous voulez peut-être lancer `git "
+"sparse-checkout reapply`.\n"
+
+#: unpack-trees.c:350
 msgid "Updating files"
 msgstr "Mise à jour des fichiers"
 
-#: unpack-trees.c:350
+#: unpack-trees.c:382
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -8030,6 +9211,14 @@ msgstr ""
 "sensibles à la casse dans une système de fichier insensible) et un\n"
 "seul du groupe en collision est dans l'arbre de travail :\n"
 
+#: unpack-trees.c:1498
+msgid "Updating index flags"
+msgstr "Mise à jour des drapeaux de l'index"
+
+#: upload-pack.c:1516
+msgid "expected flush after fetch arguments"
+msgstr "vidage attendu après les arguments de récupération"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "nom de schéma d'URL invalide ou suffixe '://' manquant"
@@ -8059,50 +9248,90 @@ msgstr "numéro de port invalide"
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:258 builtin/am.c:2095
+#: walker.c:170
+msgid "Fetching objects"
+msgstr "Récupération des objets"
+
+#: worktree.c:236 builtin/am.c:2116
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
 
-#: worktree.c:304
+#: worktree.c:283
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 "'%s' dans l'arbre de travail principal n'est pas le répertoire de dépôt"
 
-#: worktree.c:315
+#: worktree.c:294
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "le fichier '%s' ne contient pas de chemin absolu à l'emplacement de l'arbre "
 "de travail"
 
-#: worktree.c:327
+#: worktree.c:306
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' n'existe pas"
 
-#: worktree.c:333
+#: worktree.c:312
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' n'est pas un fichier .git, code d'erreur %d"
 
-#: worktree.c:341
+#: worktree.c:321
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' ne pointe pas en retour sur '%s'"
 
-#: wrapper.c:223 wrapper.c:393
+#: worktree.c:587
+msgid "not a directory"
+msgstr "pas un répertoire"
+
+#: worktree.c:596
+msgid ".git is not a file"
+msgstr ".git n'est pas un fichier"
+
+#: worktree.c:598
+msgid ".git file broken"
+msgstr "fichier .git cassé"
+
+#: worktree.c:600
+msgid ".git file incorrect"
+msgstr "fichier .git incorrect"
+
+#: worktree.c:670
+msgid "not a valid path"
+msgstr "pas un chemin valide"
+
+#: worktree.c:676
+msgid "unable to locate repository; .git is not a file"
+msgstr "impossible de localiser le dépôt ; .git n'est pas un fichier"
+
+#: worktree.c:679
+msgid "unable to locate repository; .git file broken"
+msgstr "impossible de localiser le dépôt ; fichier .git cassé"
+
+#: worktree.c:685
+msgid "gitdir unreadable"
+msgstr "gitdir non lisible"
+
+#: worktree.c:689
+msgid "gitdir incorrect"
+msgstr "gitdir incorrect"
+
+#: wrapper.c:197 wrapper.c:367
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "impossible d'ouvrir '%s' en lecture/écriture"
 
-#: wrapper.c:424 wrapper.c:624
+#: wrapper.c:398 wrapper.c:599
 #, c-format
 msgid "unable to access '%s'"
 msgstr "impossible d'accéder à '%s'"
 
-#: wrapper.c:632
+#: wrapper.c:607
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
@@ -8139,11 +9368,11 @@ msgstr ""
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (utilisez \"git rm <fichier>...\" pour marquer comme résolu)"
 
-#: wt-status.c:211 wt-status.c:1074
+#: wt-status.c:211 wt-status.c:1070
 msgid "Changes to be committed:"
 msgstr "Modifications qui seront validées :"
 
-#: wt-status.c:234 wt-status.c:1083
+#: wt-status.c:234 wt-status.c:1079
 msgid "Changes not staged for commit:"
 msgstr "Modifications qui ne seront pas validées :"
 
@@ -8176,94 +9405,94 @@ msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (utilisez \"git %s <fichier>...\" pour inclure dans ce qui sera validé)"
 
-#: wt-status.c:268
+#: wt-status.c:266
 msgid "both deleted:"
 msgstr "supprimé des deux côtés :"
 
-#: wt-status.c:270
+#: wt-status.c:268
 msgid "added by us:"
 msgstr "ajouté par nous :"
 
-#: wt-status.c:272
+#: wt-status.c:270
 msgid "deleted by them:"
 msgstr "supprimé par eux :"
 
-#: wt-status.c:274
+#: wt-status.c:272
 msgid "added by them:"
 msgstr "ajouté par eux :"
 
-#: wt-status.c:276
+#: wt-status.c:274
 msgid "deleted by us:"
 msgstr "supprimé par nous :"
 
-#: wt-status.c:278
+#: wt-status.c:276
 msgid "both added:"
 msgstr "ajouté de deux côtés :"
 
-#: wt-status.c:280
+#: wt-status.c:278
 msgid "both modified:"
 msgstr "modifié des deux côtés :"
 
-#: wt-status.c:290
+#: wt-status.c:288
 msgid "new file:"
 msgstr "nouveau fichier :"
 
-#: wt-status.c:292
+#: wt-status.c:290
 msgid "copied:"
 msgstr "copié :"
 
-#: wt-status.c:294
+#: wt-status.c:292
 msgid "deleted:"
 msgstr "supprimé :"
 
-#: wt-status.c:296
+#: wt-status.c:294
 msgid "modified:"
 msgstr "modifié :"
 
-#: wt-status.c:298
+#: wt-status.c:296
 msgid "renamed:"
 msgstr "renommé :"
 
-#: wt-status.c:300
+#: wt-status.c:298
 msgid "typechange:"
 msgstr "modif. type :"
 
-#: wt-status.c:302
+#: wt-status.c:300
 msgid "unknown:"
 msgstr "inconnu :"
 
-#: wt-status.c:304
+#: wt-status.c:302
 msgid "unmerged:"
 msgstr "non fusionné :"
 
-#: wt-status.c:384
+#: wt-status.c:382
 msgid "new commits, "
 msgstr "nouveaux commits, "
 
-#: wt-status.c:386
+#: wt-status.c:384
 msgid "modified content, "
 msgstr "contenu modifié, "
 
-#: wt-status.c:388
+#: wt-status.c:386
 msgid "untracked content, "
 msgstr "contenu non suivi, "
 
-#: wt-status.c:906
+#: wt-status.c:903
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Votre remisage contient actuellement %d entrée"
 msgstr[1] "Votre remisage contient actuellement %d entrées"
 
-#: wt-status.c:938
+#: wt-status.c:934
 msgid "Submodules changed but not updated:"
 msgstr "Sous-modules modifiés mais non mis à jour :"
 
-#: wt-status.c:940
+#: wt-status.c:936
 msgid "Submodule changes to be committed:"
 msgstr "Changements du sous-module à valider :"
 
-#: wt-status.c:1022
+#: wt-status.c:1018
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -8271,7 +9500,7 @@ msgstr ""
 "Ne touchez pas à la ligne ci-dessus.\n"
 "Tout ce qui suit sera éliminé."
 
-#: wt-status.c:1114
+#: wt-status.c:1110
 #, c-format
 msgid ""
 "\n"
@@ -8283,107 +9512,107 @@ msgstr ""
 "de la branche.\n"
 "Vous pouvez utiliser '--no-ahead-behind' pour éviter ceci.\n"
 
-#: wt-status.c:1144
+#: wt-status.c:1140
 msgid "You have unmerged paths."
 msgstr "Vous avez des chemins non fusionnés."
 
-#: wt-status.c:1147
+#: wt-status.c:1143
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (réglez les conflits puis lancez \"git commit\")"
 
-#: wt-status.c:1149
+#: wt-status.c:1145
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (utilisez \"git merge --abort\" pour annuler la fusion)"
 
-#: wt-status.c:1153
+#: wt-status.c:1149
 msgid "All conflicts fixed but you are still merging."
 msgstr "Tous les conflits sont réglés mais la fusion n'est pas terminée."
 
-#: wt-status.c:1156
+#: wt-status.c:1152
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (utilisez \"git commit\" pour terminer la fusion)"
 
-#: wt-status.c:1165
+#: wt-status.c:1161
 msgid "You are in the middle of an am session."
 msgstr "Vous êtes au milieu d'une session am."
 
-#: wt-status.c:1168
+#: wt-status.c:1164
 msgid "The current patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: wt-status.c:1172
+#: wt-status.c:1168
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git am --continue\")"
 
-#: wt-status.c:1174
+#: wt-status.c:1170
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (utilisez \"git am --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1176
+#: wt-status.c:1172
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (utilisez \"git am --abort\" pour restaurer la branche d'origine)"
 
-#: wt-status.c:1309
+#: wt-status.c:1305
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo est manquant."
 
-#: wt-status.c:1311
+#: wt-status.c:1307
 msgid "No commands done."
 msgstr "Aucune commande réalisée."
 
-#: wt-status.c:1314
+#: wt-status.c:1310
 #, 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:1325
+#: wt-status.c:1321
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (voir plus dans le fichier %s)"
 
-#: wt-status.c:1330
+#: wt-status.c:1326
 msgid "No commands remaining."
 msgstr "Aucune commande restante."
 
-#: wt-status.c:1333
+#: wt-status.c:1329
 #, 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:1341
+#: wt-status.c:1337
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (utilisez \"git rebase --edit-todo\" pour voir et éditer)"
 
-#: wt-status.c:1353
+#: wt-status.c:1349
 #, 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:1358
+#: wt-status.c:1354
 msgid "You are currently rebasing."
 msgstr "Vous êtes en train de rebaser."
 
-#: wt-status.c:1371
+#: wt-status.c:1367
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git rebase --continue\")"
 
-#: wt-status.c:1373
+#: wt-status.c:1369
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (utilisez \"git rebase --skip\" pour sauter ce patch)"
 
-#: wt-status.c:1375
+#: wt-status.c:1371
 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:1382
+#: wt-status.c:1378
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git rebase --continue\")"
 
-#: wt-status.c:1386
+#: wt-status.c:1382
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -8391,86 +9620,94 @@ msgstr ""
 "Vous êtes actuellement en train de fractionner un commit pendant un rebasage "
 "de la branche '%s' sur '%s'."
 
-#: wt-status.c:1391
+#: wt-status.c:1387
 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:1394
+#: wt-status.c:1390
 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:1398
+#: wt-status.c:1394
 #, 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:1403
+#: wt-status.c:1399
 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:1406
+#: wt-status.c:1402
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (utilisez \"git commit --amend\" pour corriger le commit actuel)"
 
-#: wt-status.c:1408
+#: wt-status.c:1404
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (utilisez \"git rebase --continue\" quand vous avez effectué toutes vos "
 "modifications)"
 
-#: wt-status.c:1419
+#: wt-status.c:1415
 msgid "Cherry-pick currently in progress."
 msgstr "Picorage en cours."
 
-#: wt-status.c:1422
+#: wt-status.c:1418
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Vous êtes actuellement en train de picorer le commit %s."
 
-#: wt-status.c:1429
+#: wt-status.c:1425
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git cherry-pick --continue\")"
 
-#: wt-status.c:1432
+#: wt-status.c:1428
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (lancez \"git cherry-pick --continue\" pour continuer)"
 
-#: wt-status.c:1435
+#: wt-status.c:1431
 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:1437
+#: wt-status.c:1433
+msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
+msgstr "  (utilisez \"git cherry-pick --skip\" pour sauter ce patch)"
+
+#: wt-status.c:1435
 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:1447
+#: wt-status.c:1445
 msgid "Revert currently in progress."
 msgstr "Rétablissement en cours."
 
-#: wt-status.c:1450
+#: wt-status.c:1448
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1456
+#: wt-status.c:1454
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1459
+#: wt-status.c:1457
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (lancez \"git revert --continue\" pour continuer)"
 
-#: wt-status.c:1462
+#: wt-status.c:1460
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
+#: wt-status.c:1462
+msgid "  (use \"git revert --skip\" to skip this patch)"
+msgstr "  (utilisez \"git revert --skip\" pour sauter ce patch)"
+
 #: wt-status.c:1464
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
@@ -8488,39 +9725,46 @@ msgstr "Vous êtes en cours de bissection."
 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:1690
+#: wt-status.c:1492
+#, c-format
+msgid "You are in a sparse checkout with %d%% of tracked files present."
+msgstr ""
+"Vous êtes dans une extraction partielle avec %d %% de fichiers suivis "
+"présents."
+
+#: wt-status.c:1731
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1697
+#: wt-status.c:1738
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1699
+#: wt-status.c:1740
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1709
+#: wt-status.c:1750
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1726
+#: wt-status.c:1767
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1727
+#: wt-status.c:1768
 msgid "No commits yet"
 msgstr "Aucun commit"
 
-#: wt-status.c:1741
+#: wt-status.c:1782
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1743
+#: wt-status.c:1784
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1747
+#: wt-status.c:1788
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -8532,32 +9776,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1753
+#: wt-status.c:1794
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1755
+#: wt-status.c:1796
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1761
+#: wt-status.c:1802
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: wt-status.c:1766
+#: wt-status.c:1807
 #, 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:1769
+#: wt-status.c:1811
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1772
+#: wt-status.c:1815
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -8566,195 +9810,204 @@ 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:1775
+#: wt-status.c:1819
 #, 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:1778
+#: wt-status.c:1823
 #, 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:1781 wt-status.c:1786
+#: wt-status.c:1827 wt-status.c:1833
 #, c-format
 msgid "nothing to commit\n"
 msgstr "rien à valider\n"
 
-#: wt-status.c:1784
+#: wt-status.c:1830
 #, 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:1788
+#: wt-status.c:1835
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1901
+#: wt-status.c:1940
 msgid "No commits yet on "
 msgstr "Encore aucun commit sur "
 
-#: wt-status.c:1905
+#: wt-status.c:1944
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-#: wt-status.c:1936
+#: wt-status.c:1975
 msgid "different"
 msgstr "différent"
 
-#: wt-status.c:1938 wt-status.c:1946
+#: wt-status.c:1977 wt-status.c:1985
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1941 wt-status.c:1944
+#: wt-status.c:1980 wt-status.c:1983
 msgid "ahead "
 msgstr "devant "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2466
+#: wt-status.c:2505
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2472
+#: wt-status.c:2511
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2474
+#: wt-status.c:2513
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
 
-#: builtin/add.c:25
+#: compat/precompose_utf8.c:58 builtin/clone.c:456
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "échec pour délier '%s'"
+
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<options>] [--] <chemin>..."
 
-#: builtin/add.c:84
+#: builtin/add.c:88
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
 
-#: builtin/add.c:89 builtin/commit.c:288
+#: builtin/add.c:93 builtin/commit.c:285
 msgid "updating files failed"
 msgstr "échec de la mise à jour des fichiers"
 
-#: builtin/add.c:99
+#: builtin/add.c:103
 #, c-format
 msgid "remove '%s'\n"
 msgstr "suppression de '%s'\n"
 
-#: builtin/add.c:174
+#: builtin/add.c:178
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: builtin/add.c:234 builtin/rev-parse.c:896
+#: builtin/add.c:272 builtin/rev-parse.c:904
 msgid "Could not read the index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/add.c:245
+#: builtin/add.c:283
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Impossible d'ouvrir '%s' en écriture."
 
-#: builtin/add.c:249
+#: builtin/add.c:287
 msgid "Could not write patch"
 msgstr "Impossible d'écrire le patch"
 
-#: builtin/add.c:252
+#: builtin/add.c:290
 msgid "editing patch failed"
 msgstr "échec de l'édition du patch"
 
-#: builtin/add.c:255
+#: builtin/add.c:293
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Stat de '%s' impossible"
 
-#: builtin/add.c:257
+#: builtin/add.c:295
 msgid "Empty patch. Aborted."
 msgstr "Patch vide. Abandon."
 
-#: builtin/add.c:262
+#: builtin/add.c:300
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Impossible d'appliquer '%s'"
 
-#: builtin/add.c:270
+#: builtin/add.c:308
 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:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560
-#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
+#: builtin/add.c:328 builtin/clean.c:904 builtin/fetch.c:166 builtin/mv.c:124
+#: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:538
+#: builtin/remote.c:1422 builtin/rm.c:242 builtin/send-pack.c:184
 msgid "dry run"
 msgstr "simuler l'action"
 
-#: builtin/add.c:293
+#: builtin/add.c:331
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306
+#: builtin/add.c:332 builtin/checkout.c:1529 builtin/reset.c:308
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
-#: builtin/add.c:295
+#: builtin/add.c:333
 msgid "edit current diff and apply"
 msgstr "édition du diff actuel et application"
 
-#: builtin/add.c:296
+#: builtin/add.c:334
 msgid "allow adding otherwise ignored files"
 msgstr "permettre l'ajout de fichiers ignorés"
 
-#: builtin/add.c:297
+#: builtin/add.c:335
 msgid "update tracked files"
 msgstr "mettre à jour les fichiers suivis"
 
-#: builtin/add.c:298
+#: builtin/add.c:336
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr ""
 "renormaliser les fins de lignes (EOL) des fichiers suivis (implique -u)"
 
-#: builtin/add.c:299
+#: builtin/add.c:337
 msgid "record only the fact that the path will be added later"
 msgstr "enregistrer seulement le fait que le chemin sera ajouté plus tard"
 
-#: builtin/add.c:300
+#: builtin/add.c:338
 msgid "add changes from all tracked and untracked files"
 msgstr "ajouter les modifications de tous les fichiers suivis et non suivis"
 
-#: builtin/add.c:303
+#: builtin/add.c:341
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "ignorer les chemins effacés dans la copie de travail (identique à --no-all)"
 
-#: builtin/add.c:305
+#: builtin/add.c:343
 msgid "don't add, only refresh the index"
 msgstr "ne pas ajouter, juste rafraîchir l'index"
 
-#: builtin/add.c:306
+#: builtin/add.c:344
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 "sauter seulement les fichiers qui ne peuvent pas être ajoutés du fait "
 "d'erreurs"
 
-#: builtin/add.c:307
+#: builtin/add.c:345
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "vérifier si des fichiers - même manquants - sont ignorés, à vide"
 
-#: builtin/add.c:309 builtin/update-index.c:1001
+#: builtin/add.c:347 builtin/update-index.c:1004
 msgid "override the executable bit of the listed files"
 msgstr "outrepasser le bit exécutable pour les fichiers listés"
 
-#: builtin/add.c:311
+#: builtin/add.c:349
 msgid "warn when adding an embedded repository"
 msgstr "avertir lors de l'ajout d'un dépôt embarqué"
 
-#: builtin/add.c:326
+#: builtin/add.c:351
+msgid "backend for `git stash -p`"
+msgstr "backend pour `git stash -p`"
+
+#: builtin/add.c:369
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -8785,154 +10038,183 @@ msgstr ""
 "\n"
 "Référez-vous à \"git help submodule\" pour plus d'information."
 
-#: builtin/add.c:354
+#: builtin/add.c:397
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "dépôt git embarqué ajouté : %s"
 
-#: builtin/add.c:372
-#, c-format
-msgid "Use -f if you really want to add them.\n"
-msgstr "Utilisez -f si vous voulez réellement les ajouter.\n"
+#: builtin/add.c:416
+msgid ""
+"Use -f if you really want to add them.\n"
+"Turn this message off by running\n"
+"\"git config advice.addIgnoredFile false\""
+msgstr ""
+"Utilisez -f si vous voulez vraiment les ajouter.\n"
+"Éliminez ce message en lançant\n"
+"\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:379
+#: builtin/add.c:425
 msgid "adding files failed"
 msgstr "échec de l'ajout de fichiers"
 
-#: builtin/add.c:419
+#: builtin/add.c:453 builtin/commit.c:345
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr "--pathspec-from-file est incompatible avec --interactive/--patch"
+
+#: builtin/add.c:470
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr "--pathspec-from-file est incompatible avec --edit"
+
+#: builtin/add.c:482
 msgid "-A and -u are mutually incompatible"
 msgstr "-A et -u sont mutuellement incompatibles"
 
-#: builtin/add.c:426
+#: builtin/add.c:485
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 "L'option --ignore-missing ne peut être utilisée qu'en complément de --dry-run"
 
-#: builtin/add.c:430
+#: builtin/add.c:489
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "Le paramètre '%s' de --chmod doit être soit -x soit +x"
 
-#: builtin/add.c:445
+#: builtin/add.c:507 builtin/checkout.c:1697 builtin/commit.c:351
+#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1503
+msgid "--pathspec-from-file is incompatible with pathspec arguments"
+msgstr "--pathspec-from-file est incompatible avec pathspec arguments"
+
+#: builtin/add.c:514 builtin/checkout.c:1709 builtin/commit.c:357
+#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1509
+msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgstr "--pathspec-file-nul nécessite --pathspec-from-file"
+
+#: builtin/add.c:518
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Rien de spécifié, rien n'a été ajouté.\n"
 
-#: builtin/add.c:446
+#: builtin/add.c:520
+msgid ""
+"Maybe you wanted to say 'git add .'?\n"
+"Turn this message off by running\n"
+"\"git config advice.addEmptyPathspec false\""
+msgstr ""
+"Peut-être avez-vous voulu dire 'git add .' ?\n"
+"Éliminez ce message en lançant\n"
+"\"git config advice.addEmptyPathspec false\""
+
+#: builtin/am.c:160
 #, c-format
-msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr "Vous vouliez sûrement dire 'git add .' ?\n"
+msgid "invalid committer: %s"
+msgstr "validateur invalide : %s"
 
-#: builtin/am.c:348
+#: builtin/am.c:366
 msgid "could not parse author script"
 msgstr "impossible d'analyser l'auteur du script"
 
-#: builtin/am.c:432
+#: builtin/am.c:450
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' a été effacé par le crochet applypatch-msg"
 
-#: builtin/am.c:474
+#: builtin/am.c:492
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Ligne en entrée malformée : '%s'."
 
-#: builtin/am.c:512
+#: builtin/am.c:530
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Impossible de copier les notes de '%s' vers '%s'"
 
-#: builtin/am.c:538
+#: builtin/am.c:556
 msgid "fseek failed"
 msgstr "échec de fseek"
 
-#: builtin/am.c:726
+#: builtin/am.c:744
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "impossible d'analyser le patch '%s'"
 
-#: builtin/am.c:791
+#: builtin/am.c:809
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Seulement une série de patchs StGIT peut être appliquée à la fois"
 
-#: builtin/am.c:839
+#: builtin/am.c:857
 msgid "invalid timestamp"
 msgstr "horodatage invalide"
 
-#: builtin/am.c:844 builtin/am.c:856
+#: builtin/am.c:862 builtin/am.c:874
 msgid "invalid Date line"
 msgstr "ligne de Date invalide"
 
-#: builtin/am.c:851
+#: builtin/am.c:869
 msgid "invalid timezone offset"
 msgstr "décalage horaire invalide"
 
-#: builtin/am.c:944
+#: builtin/am.c:962
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: builtin/am.c:949 builtin/clone.c:407
+#: builtin/am.c:967 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "échec de la création du répertoire '%s'"
 
-#: builtin/am.c:954
+#: builtin/am.c:972
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1084 builtin/commit.c:374
-msgid "unable to write index file"
-msgstr "impossible d'écrire le fichier d'index"
-
-#: builtin/am.c:1098
+#: builtin/am.c:1103
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Quand vous avez résolu ce problème, lancez \"%s --continue\"."
 
-#: builtin/am.c:1099
+#: builtin/am.c:1104
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "Si vous préférez plutôt sauter ce patch, lancez \"%s --skip\"."
 
-#: builtin/am.c:1100
+#: builtin/am.c:1105
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 "Pour restaurer la branche originale et arrêter de patcher, lancez \"%s --"
 "abort\"."
 
-#: builtin/am.c:1183
+#: builtin/am.c:1188
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Rustine envoyée avec format=flowed ; les espaces en fin de ligne peuvent "
 "être perdus."
 
-#: builtin/am.c:1211
+#: builtin/am.c:1216
 msgid "Patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: builtin/am.c:1277
+#: builtin/am.c:1281
 #, c-format
-msgid "invalid ident line: %.*s"
-msgstr "ligne d'identification invalide : %.*s"
+msgid "missing author line in commit %s"
+msgstr "ligne d'auteur manquante dans le commit %s"
 
-#: builtin/am.c:1299
+#: builtin/am.c:1284
 #, c-format
-msgid "unable to parse commit %s"
-msgstr "impossible d'analyser le commit %s"
+msgid "invalid ident line: %.*s"
+msgstr "ligne d'identification invalide : %.*s"
 
-#: builtin/am.c:1496
+#: builtin/am.c:1503
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "Le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: builtin/am.c:1498
+#: builtin/am.c:1505
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Utilisation de l'information de l'index pour reconstruire un arbre de base..."
 
-#: builtin/am.c:1517
+#: builtin/am.c:1524
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -8940,24 +10222,24 @@ msgstr ""
 "Avez-vous édité le patch à la main ?\n"
 "Il ne s'applique pas aux blobs enregistrés dans son index."
 
-#: builtin/am.c:1523
+#: builtin/am.c:1530
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1549
+#: builtin/am.c:1556
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1581
+#: builtin/am.c:1588
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: builtin/am.c:1628 builtin/am.c:1632
+#: builtin/am.c:1639 builtin/am.c:1643
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1650
+#: builtin/am.c:1661
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -8965,36 +10247,40 @@ msgstr "Le corps de la validation est :"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1660
+#: builtin/am.c:1671
 #, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "Appliquer ? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all : "
 
-#: builtin/am.c:1710
+#: builtin/am.c:1717 builtin/commit.c:395
+msgid "unable to write index file"
+msgstr "impossible d'écrire le fichier d'index"
+
+#: builtin/am.c:1721
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1750 builtin/am.c:1818
+#: builtin/am.c:1761 builtin/am.c:1829
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1767
+#: builtin/am.c:1778
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1773
+#: builtin/am.c:1784
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "le patch a échoué à %s %.*s"
 
-#: builtin/am.c:1777
-msgid "Use 'git am --show-current-patch' to see the failed patch"
+#: builtin/am.c:1788
+msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr ""
-"Utilisez 'git am --show-current-patch' pour visualiser le patch en échec"
+"Utilisez 'git am --show-current-patch=diff' pour visualiser le patch en échec"
 
-#: builtin/am.c:1821
+#: builtin/am.c:1832
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -9005,7 +10291,7 @@ msgstr ""
 "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
 "patch."
 
-#: builtin/am.c:1828
+#: builtin/am.c:1839
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -9018,17 +10304,17 @@ msgstr ""
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329
-#: builtin/reset.c:337
+#: builtin/am.c:1946 builtin/am.c:1950 builtin/am.c:1962 builtin/reset.c:347
+#: builtin/reset.c:355
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:1987
+#: builtin/am.c:1998
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'index"
 
-#: builtin/am.c:2031
+#: builtin/am.c:2042
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -9036,145 +10322,157 @@ msgstr ""
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2128
+#: builtin/am.c:2149
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2164
+#: builtin/am.c:2191
+#, c-format
+msgid "Invalid value for --show-current-patch: %s"
+msgstr "Valeur invalide pour --show-current-patch : %s"
+
+#: builtin/am.c:2195
+#, c-format
+msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s"
+msgstr "--show-current-patch=%s est incompatible avec --show-current-patch=%s"
+
+#: builtin/am.c:2226
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2165
+#: builtin/am.c:2227
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<options>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2171
+#: builtin/am.c:2233
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2235
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2175
+#: builtin/am.c:2237
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:296 builtin/stash.c:806
+#: builtin/am.c:2238 builtin/init-db.c:558 builtin/prune-packed.c:16
+#: builtin/repack.c:309 builtin/stash.c:816
 msgid "be quiet"
 msgstr "être silencieux"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2240
 msgid "add a Signed-off-by line to the commit message"
 msgstr "ajouter une ligne Signed-off-by au message de validation"
 
-#: builtin/am.c:2181
+#: builtin/am.c:2243
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2183
+#: builtin/am.c:2245
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2247
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2249
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2189
+#: builtin/am.c:2251
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "passer l'option --keep-cr à git-mailsplit fpour le format mbox"
 
-#: builtin/am.c:2192
+#: builtin/am.c:2254
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "ne pas passer l'option --keep-cr à git-mailsplit indépendamment de am.keepcr"
 
-#: builtin/am.c:2195
+#: builtin/am.c:2257
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206
-#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218
-#: builtin/am.c:2224
+#: builtin/am.c:2259 builtin/am.c:2262 builtin/am.c:2265 builtin/am.c:2268
+#: builtin/am.c:2271 builtin/am.c:2274 builtin/am.c:2277 builtin/am.c:2280
+#: builtin/am.c:2286
 msgid "pass it through git-apply"
 msgstr "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249
-#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418
-#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313
-#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
-#: parse-options.h:141 parse-options.h:162 parse-options.h:312
+#: builtin/am.c:2276 builtin/commit.c:1395 builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:892 builtin/merge.c:251
+#: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
+#: builtin/rebase.c:1335 builtin/repack.c:320 builtin/repack.c:324
+#: builtin/repack.c:326 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:404 parse-options.h:154 parse-options.h:175
+#: parse-options.h:316
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38
-#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38
+#: builtin/am.c:2282 builtin/branch.c:659 builtin/bugreport.c:135
+#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:438
+#: builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2221
+#: builtin/am.c:2283
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2289
 msgid "override error message when patch failure occurs"
 msgstr "surcharger le message d'erreur lors d'un échec d'application de patch"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2291
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2294
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2235
+#: builtin/am.c:2297
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2300
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "restaurer la branche originale et abandonner les applications de patch."
 
-#: builtin/am.c:2241
+#: builtin/am.c:2303
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "abandonne l'opération de patch mais garde HEAD où il est."
 
-#: builtin/am.c:2244
-msgid "show the patch being applied."
-msgstr "afficher le patch en cours d'application."
+#: builtin/am.c:2307
+msgid "show the patch being applied"
+msgstr "afficher le patch en cours d'application"
 
-#: builtin/am.c:2248
+#: builtin/am.c:2312
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2250
+#: builtin/am.c:2314
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511
-#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489
-#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418
+#: builtin/am.c:2316 builtin/commit-tree.c:120 builtin/commit.c:1515
+#: builtin/merge.c:288 builtin/pull.c:175 builtin/rebase.c:530
+#: builtin/rebase.c:1388 builtin/revert.c:117 builtin/tag.c:419
 msgid "key-id"
 msgstr "id-clé"
 
-#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460
+#: builtin/am.c:2317 builtin/rebase.c:531 builtin/rebase.c:1389
 msgid "GPG-sign commits"
 msgstr "signer les commits avec GPG"
 
-#: builtin/am.c:2256
+#: builtin/am.c:2320
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2274
+#: builtin/am.c:2338
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -9182,17 +10480,17 @@ msgstr ""
 "L'option -b/--binary ne fait plus rien depuis longtemps,\n"
 "et elle sera supprimée. Veuillez ne plus l'utiliser."
 
-#: builtin/am.c:2281
+#: builtin/am.c:2345
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2360
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 "le répertoire précédent de rebasage %s existe toujours mais mbox donnée."
 
-#: builtin/am.c:2320
+#: builtin/am.c:2384
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -9201,13 +10499,13 @@ msgstr ""
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2326
+#: builtin/am.c:2390
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr ""
 "Pas de résolution de l'opération en cours, nous ne sommes pas dans une "
 "reprise."
 
-#: builtin/am.c:2336
+#: builtin/am.c:2400
 msgid "interactive mode requires patches on the command line"
 msgstr "le mode interactif requiert des rustines sur la ligne de commande"
 
@@ -9245,23 +10543,23 @@ msgstr "git archive : erreur de protocole"
 msgid "git archive: expected a flush"
 msgstr "git archive : vidage attendu"
 
-#: builtin/bisect--helper.c:22
-msgid "git bisect--helper --next-all [--no-checkout]"
-msgstr "git bisect --helper --next-all [--no-checkout]"
-
 #: builtin/bisect--helper.c:23
+msgid "git bisect--helper --next-all"
+msgstr "git bisect--helper --next-all"
+
+#: builtin/bisect--helper.c:24
 msgid "git bisect--helper --write-terms <bad_term> <good_term>"
 msgstr "git bisect--helper --write-terms <terme-pour-mauvais> <terme-pour-bon>"
 
-#: builtin/bisect--helper.c:24
+#: builtin/bisect--helper.c:25
 msgid "git bisect--helper --bisect-clean-state"
 msgstr "git bisect--helper --bisect-clean-state"
 
-#: builtin/bisect--helper.c:25
+#: builtin/bisect--helper.c:26
 msgid "git bisect--helper --bisect-reset [<commit>]"
 msgstr "git bisect--helper --bisect-reset [<commit>]"
 
-#: builtin/bisect--helper.c:26
+#: builtin/bisect--helper.c:27
 msgid ""
 "git bisect--helper --bisect-write [--no-log] <state> <revision> <good_term> "
 "<bad_term>"
@@ -9269,7 +10567,7 @@ msgstr ""
 "git bisect--helper --bisect-write [--no-log] <état> <révision> <terme-pour-"
 "bon> <terme-pour-mauvais>"
 
-#: builtin/bisect--helper.c:27
+#: builtin/bisect--helper.c:28
 msgid ""
 "git bisect--helper --bisect-check-and-set-terms <command> <good_term> "
 "<bad_term>"
@@ -9277,13 +10575,13 @@ msgstr ""
 "git bisect--helper --bisect-check-and-set-terms <commande> <terme-pour-bon> "
 "<terme-pour-mauvais>"
 
-#: builtin/bisect--helper.c:28
+#: builtin/bisect--helper.c:29
 msgid "git bisect--helper --bisect-next-check <good_term> <bad_term> [<term>]"
 msgstr ""
 "git bisect--helper --bisect-next-check <terme-pour-bon> <terme-pour-mauvais> "
 "[<term>]"
 
-#: builtin/bisect--helper.c:29
+#: builtin/bisect--helper.c:30
 msgid ""
 "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
 "term-new]"
@@ -9291,48 +10589,68 @@ msgstr ""
 "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
 "term-new]"
 
-#: builtin/bisect--helper.c:30
+#: builtin/bisect--helper.c:31
 msgid ""
-"git bisect--helper --bisect-start [--term-{old,good}=<term> --term-{new,bad}"
-"=<term>][--no-checkout] [<bad> [<good>...]] [--] [<paths>...]"
+"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
+"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
+"[<paths>...]"
 msgstr ""
-"git bisect--helper --bisect-start [--term-{old,good}=<terme> --term-{new,bad}"
-"=<terme>][--no-checkout] [<mauvais> [<bon>...]] [--] [<chemins>...]"
+"git bisect--helper --bisect-start [--term-{new,bad}=<terme> --term-{old,good}"
+"=<terme>][--no-checkout] [--first-parent] [<mauvais> [<bon>...]] [--] "
+"[<chemins>...]"
+
+#: builtin/bisect--helper.c:33
+msgid "git bisect--helper --bisect-next"
+msgstr "git bisect--helper --bisect-next"
+
+#: builtin/bisect--helper.c:34
+msgid "git bisect--helper --bisect-auto-next"
+msgstr "git bisect--helper --bisect-auto-next"
 
-#: builtin/bisect--helper.c:86
+#: builtin/bisect--helper.c:35
+msgid "git bisect--helper --bisect-autostart"
+msgstr "git bisect--helper --bisect-autostart"
+
+#: builtin/bisect--helper.c:97
+#, c-format
+msgid "cannot open file '%s' in mode '%s'"
+msgstr "impossible d'ouvrir le fichier '%s' en mode '%s'"
+
+#: builtin/bisect--helper.c:104
+#, c-format
+msgid "could not write to file '%s'"
+msgstr "impossible d'écrire le fichier '%s'"
+
+#: builtin/bisect--helper.c:143
 #, c-format
 msgid "'%s' is not a valid term"
 msgstr "'%s' n'est pas un terme valide"
 
-#: builtin/bisect--helper.c:90
+#: builtin/bisect--helper.c:147
 #, c-format
 msgid "can't use the builtin command '%s' as a term"
 msgstr "impossible d'utiliser la commande incluse '%s' comme terme"
 
-#: builtin/bisect--helper.c:100
+#: builtin/bisect--helper.c:157
 #, c-format
 msgid "can't change the meaning of the term '%s'"
 msgstr "impossible de modifier la signification du terme '%s'"
 
-#: builtin/bisect--helper.c:111
+#: builtin/bisect--helper.c:167
 msgid "please use two different terms"
 msgstr "veuillez utiliser deux termes différents"
 
-#: builtin/bisect--helper.c:118
-msgid "could not open the file BISECT_TERMS"
-msgstr "impossible d'ouvrir le fichier BISECT_TERMS"
-
-#: builtin/bisect--helper.c:155
+#: builtin/bisect--helper.c:207
 #, c-format
 msgid "We are not bisecting.\n"
 msgstr "Pas de bissection en cours.\n"
 
-#: builtin/bisect--helper.c:163
+#: builtin/bisect--helper.c:215
 #, c-format
 msgid "'%s' is not a valid commit"
 msgstr "'%s' n'est pas un commit valide"
 
-#: builtin/bisect--helper.c:174
+#: builtin/bisect--helper.c:224
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
@@ -9340,27 +10658,27 @@ msgstr ""
 "Échec d'extraction de la HEAD d'origine '%s'. Essayez 'git bisect reset "
 "<commit>'."
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:268
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "Mauvais argument pour bisect_write : %s"
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:273
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "impossible d'obtenir l'oid de la révision '%s'"
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:285
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "impossible d'ouvrir le fichier '%s'"
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:311
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "Commande invalide : vous êtes actuellement dans une bissection %s/%s"
 
-#: builtin/bisect--helper.c:285
+#: builtin/bisect--helper.c:338
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
@@ -9369,7 +10687,7 @@ msgstr ""
 "Vous devez me donner au moins une révision %s et une révision %s.\n"
 "Vous pouvez utiliser \"git bisect %s\" et \"git bisect %s\" pour cela."
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:342
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -9380,7 +10698,7 @@ msgstr ""
 "Puis vous devez me donner au moins une révision %s et une révision %s.\n"
 "Vous pouvez utiliser \"git bisect %s\" et \"git bisect %s\" pour cela."
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:362
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "Attention : bissection avec seulement une validation %s"
@@ -9389,15 +10707,15 @@ msgstr "Attention : bissection avec seulement une validation %s"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:370
 msgid "Are you sure [Y/n]? "
 msgstr "Confirmez-vous [Y/n] ? "
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:431
 msgid "no terms defined"
 msgstr "aucun terme défini"
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:434
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
@@ -9406,7 +10724,7 @@ msgstr ""
 "Vos termes actuels sont %s pour l'état ancien\n"
 "et %s pour le nouvel état.\n"
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:444
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -9416,115 +10734,162 @@ msgstr ""
 "Les options supportées sont : --term-good|--term-old et --term-bad|--term-"
 "new."
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:511
+msgid "revision walk setup failed\n"
+msgstr "échec de la préparation du parcours des révisions\n"
+
+#: builtin/bisect--helper.c:533
+#, c-format
+msgid "could not open '%s' for appending"
+msgstr "impossible d'ouvrir '%s' en ajout"
+
+#: builtin/bisect--helper.c:651 builtin/bisect--helper.c:664
+msgid "'' is not a valid term"
+msgstr "'' n'est pas un terme valide"
+
+#: builtin/bisect--helper.c:674
 #, c-format
 msgid "unrecognized option: '%s'"
-msgstr "option non reconnue : %s"
+msgstr "option non reconnue : '%s'"
 
-#: builtin/bisect--helper.c:479
+#: builtin/bisect--helper.c:678
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr "'%s' ne semble être une révision valide"
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:709
 msgid "bad HEAD - I need a HEAD"
 msgstr "mauvaise HEAD - j'ai besoin d'une HEAD"
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:724
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr ""
 "L'extraction de '%s' a échoué. Essayez 'git bisect start <branche-valide>'."
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:745
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "refus de bissecter sur un arbre 'cg-seeked'"
 
-#: builtin/bisect--helper.c:550
+#: builtin/bisect--helper.c:748
 msgid "bad HEAD - strange symbolic ref"
 msgstr "mauvaise HEAD - référence symbolique douteuse"
 
-#: builtin/bisect--helper.c:574
+#: builtin/bisect--helper.c:775
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "réference invalide : '%s'"
 
-#: builtin/bisect--helper.c:630
+#: builtin/bisect--helper.c:827
+msgid "You need to start by \"git bisect start\"\n"
+msgstr "Vous devez démarrer avec \"git bisect start\"\n"
+
+#. TRANSLATORS: Make sure to include [Y] and [n] in your
+#. translation. The program will only accept English input
+#. at this point.
+#.
+#: builtin/bisect--helper.c:838
+msgid "Do you want me to do it for you [Y/n]? "
+msgstr "Souhaitez-vous que je le fasse pour vous [Y/n] ? "
+
+#: builtin/bisect--helper.c:866
 msgid "perform 'git bisect next'"
 msgstr "effectuer 'git bisect next'"
 
-#: builtin/bisect--helper.c:632
+#: builtin/bisect--helper.c:868
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "écrire les termes dans .git/BISECT_TERMS"
 
-#: builtin/bisect--helper.c:634
+#: builtin/bisect--helper.c:870
 msgid "cleanup the bisection state"
 msgstr "vérifier l'état de la bissection"
 
-#: builtin/bisect--helper.c:636
+#: builtin/bisect--helper.c:872
 msgid "check for expected revs"
 msgstr "vérifier si des révisions sont attendues"
 
-#: builtin/bisect--helper.c:638
+#: builtin/bisect--helper.c:874
 msgid "reset the bisection state"
 msgstr "réinitialiser l'état de la bissection"
 
-#: builtin/bisect--helper.c:640
+#: builtin/bisect--helper.c:876
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "écrire l'état de la bissection dans BISECT_LOG"
 
-#: builtin/bisect--helper.c:642
+#: builtin/bisect--helper.c:878
 msgid "check and set terms in a bisection state"
 msgstr "vérifier et régler les termes dans un état de la bissection"
 
-#: builtin/bisect--helper.c:644
+#: builtin/bisect--helper.c:880
 msgid "check whether bad or good terms exist"
 msgstr "vérifier si les termes bons ou mauvais existent"
 
-#: builtin/bisect--helper.c:646
+#: builtin/bisect--helper.c:882
 msgid "print out the bisect terms"
 msgstr "afficher les termes de bissection"
 
-#: builtin/bisect--helper.c:648
+#: builtin/bisect--helper.c:884
 msgid "start the bisect session"
 msgstr "démarrer une session de bissection"
 
-#: builtin/bisect--helper.c:650
-msgid "update BISECT_HEAD instead of checking out the current commit"
-msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel"
+#: builtin/bisect--helper.c:886
+msgid "find the next bisection commit"
+msgstr "trouver le prochain commit de bissection"
 
-#: builtin/bisect--helper.c:652
+#: builtin/bisect--helper.c:888
+msgid "verify the next bisection state then checkout the next bisection commit"
+msgstr ""
+"vérifier le prochain état de bissection puis extraire le prochain commit de "
+"bissection"
+
+#: builtin/bisect--helper.c:890
+msgid "start the bisection if it has not yet been started"
+msgstr "commencer la bissection si elle n'a pas déjà été commencée"
+
+#: builtin/bisect--helper.c:892
 msgid "no log for BISECT_WRITE"
 msgstr "pas de journal pour BISECT_WRITE"
 
-#: builtin/bisect--helper.c:669
+#: builtin/bisect--helper.c:910
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms exige deux arguments"
 
-#: builtin/bisect--helper.c:673
+#: builtin/bisect--helper.c:914
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state ne supporte aucun argument"
 
-#: builtin/bisect--helper.c:680
+#: builtin/bisect--helper.c:921
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset supporte soit aucun argument, soit un commit"
 
-#: builtin/bisect--helper.c:684
+#: builtin/bisect--helper.c:925
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write supporte soit 4 arguments, soit 5 arguments"
 
-#: builtin/bisect--helper.c:690
+#: builtin/bisect--helper.c:931
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms exige 3 arguments"
 
-#: builtin/bisect--helper.c:696
+#: builtin/bisect--helper.c:937
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check exige 2 ou 3 arguments"
 
-#: builtin/bisect--helper.c:702
+#: builtin/bisect--helper.c:943
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms exige 0 ou 1 argument"
 
+#: builtin/bisect--helper.c:952
+msgid "--bisect-next requires 0 arguments"
+msgstr "--bisect-next exige 0 argument"
+
+#: builtin/bisect--helper.c:958
+msgid "--bisect-auto-next requires 0 arguments"
+msgstr "--bisect-auto-next exige 0 argument"
+
+#: builtin/bisect--helper.c:964
+msgid "--bisect-autostart does not accept arguments"
+msgstr "--bisect-autostart ne supporte aucun argument"
+
 #: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<options>] [<rev-opts>] [<rev>] [--] <fichier>"
@@ -9551,139 +10916,137 @@ msgstr "couleur invalide '%s' dans color.blame.repeatedlines"
 msgid "invalid value for blame.coloring"
 msgstr "valeur invalide pour blame.coloring"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:845
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "référence à ignorer %s introuvable"
 
-#: builtin/blame.c:845
+#: builtin/blame.c:867
 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:846
-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:868
+msgid "Do not show object names of boundary commits (Default: off)"
+msgstr ""
+"Ne pas montrer les noms des objets pour les commits de limite (Défaut : "
+"désactivé)"
 
-#: builtin/blame.c:847
+#: builtin/blame.c:869
 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:848
+#: builtin/blame.c:870
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:849
+#: builtin/blame.c:871
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:850
+#: builtin/blame.c:872
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:851
+#: builtin/blame.c:873
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:852
+#: builtin/blame.c:874
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:853
+#: builtin/blame.c:875
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:854
+#: builtin/blame.c:876
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:855
+#: builtin/blame.c:877
 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:856
+#: builtin/blame.c:878
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:857
+#: builtin/blame.c:879
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:858
+#: builtin/blame.c:880
 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:859
+#: builtin/blame.c:881
 msgid "Show author email instead of name (Default: off)"
 msgstr "Afficher le courriel de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:860
+#: builtin/blame.c:882
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:861 builtin/log.c:1629
+#: builtin/blame.c:883 builtin/log.c:1808
 msgid "rev"
 msgstr "rév"
 
-#: builtin/blame.c:861
+#: builtin/blame.c:883
 msgid "Ignore <rev> when blaming"
 msgstr "ignore <rev> pendant le blâme"
 
-#: builtin/blame.c:862
+#: builtin/blame.c:884
 msgid "Ignore revisions from <file>"
 msgstr "ignorer les révisions listées dans <fichier>"
 
-#: builtin/blame.c:863
+#: builtin/blame.c:885
 msgid "color redundant metadata from previous line differently"
 msgstr ""
 "colorer différemment les métadonnées redondantes avec la ligne précédente"
 
-#: builtin/blame.c:864
+#: builtin/blame.c:886
 msgid "color lines by age"
 msgstr "colorier les lignes par âge"
 
-#: builtin/blame.c:871
-msgid "Use an experimental heuristic to improve diffs"
-msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
-
-#: builtin/blame.c:873
+#: builtin/blame.c:887
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:874
+#: builtin/blame.c:888
 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:875
+#: builtin/blame.c:889
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:876 builtin/blame.c:877
+#: builtin/blame.c:890 builtin/blame.c:891
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:890
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:891
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:878
+#: builtin/blame.c:892
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:878
+#: builtin/blame.c:892
 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:929
+#: builtin/blame.c:944
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -9697,23 +11060,23 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:980
+#: builtin/blame.c:995
 msgid "4 years, 11 months ago"
 msgstr "il y a 10 ans et 11 mois"
 
-#: builtin/blame.c:1087
+#: builtin/blame.c:1110
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] "le fichier %s n'a qu'%lu ligne"
 msgstr[1] "le fichier %s n'a que %lu lignes"
 
-#: builtin/blame.c:1133
+#: builtin/blame.c:1156
 msgid "Blaming lines"
 msgstr "Assignation de blâme aux lignes"
 
 #: builtin/branch.c:29
-msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
+msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
 msgstr "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 
 #: builtin/branch.c:30
@@ -9923,7 +11286,7 @@ msgstr "régler le mode de suivi (voir git-pull(1))"
 msgid "do not use"
 msgstr "ne pas utiliser"
 
-#: builtin/branch.c:626 builtin/rebase.c:485
+#: builtin/branch.c:626 builtin/rebase.c:526
 msgid "upstream"
 msgstr "amont"
 
@@ -9932,8 +11295,8 @@ msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
 #: builtin/branch.c:627
-msgid "Unset the upstream info"
-msgstr "Désactiver l'information amont"
+msgid "unset the upstream info"
+msgstr "désactiver l'information amont"
 
 #: builtin/branch.c:628
 msgid "use colored output"
@@ -10015,68 +11378,68 @@ msgstr "afficher seulement les branches qui ne sont pas fusionnées"
 msgid "list branches in columns"
 msgstr "afficher les branches en colonnes"
 
-#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:656 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:433
+#: builtin/tag.c:434
 msgid "object"
 msgstr "objet"
 
-#: builtin/branch.c:658
+#: builtin/branch.c:657
 msgid "print only branches of the object"
 msgstr "afficher seulement les branches de l'objet"
 
-#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440
+#: builtin/branch.c:658 builtin/for-each-ref.c:48 builtin/tag.c:441
 msgid "sorting and filtering are case insensitive"
 msgstr "le tri et le filtrage sont non-sensibles à la casse"
 
-#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438
+#: builtin/branch.c:659 builtin/for-each-ref.c:38 builtin/tag.c:439
 #: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: builtin/branch.c:684 builtin/clone.c:761
+#: builtin/branch.c:682 builtin/clone.c:789
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
-#: builtin/branch.c:708
+#: builtin/branch.c:706
 msgid "--column and --verbose are incompatible"
 msgstr "--column et --verbose sont incompatibles"
 
-#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
+#: builtin/branch.c:721 builtin/branch.c:775 builtin/branch.c:784
 msgid "branch name required"
 msgstr "le nom de branche est requis"
 
-#: builtin/branch.c:753
+#: builtin/branch.c:751
 msgid "Cannot give description to detached HEAD"
 msgstr "Impossible de décrire une HEAD détachée"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:756
 msgid "cannot edit description of more than one branch"
 msgstr "impossible d'éditer la description de plus d'une branche"
 
-#: builtin/branch.c:765
+#: builtin/branch.c:763
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aucun commit sur la branche '%s'."
 
-#: builtin/branch.c:768
+#: builtin/branch.c:766
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Aucune branche nommée '%s'."
 
-#: builtin/branch.c:783
+#: builtin/branch.c:781
 msgid "too many branches for a copy operation"
 msgstr "trop de branches pour une opération de copie"
 
-#: builtin/branch.c:792
+#: builtin/branch.c:790
 msgid "too many arguments for a rename operation"
 msgstr "trop d'arguments pour une opération de renommage"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:795
 msgid "too many arguments to set new upstream"
 msgstr "trop d'arguments pour spécifier une branche amont"
 
-#: builtin/branch.c:801
+#: builtin/branch.c:799
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -10084,32 +11447,32 @@ msgstr ""
 "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur "
 "aucune branche."
 
-#: builtin/branch.c:804 builtin/branch.c:827
+#: builtin/branch.c:802 builtin/branch.c:825
 #, c-format
 msgid "no such branch '%s'"
 msgstr "pas de branche '%s'"
 
-#: builtin/branch.c:808
+#: builtin/branch.c:806
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la branche '%s' n'existe pas"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:819
 msgid "too many arguments to unset upstream"
 msgstr "trop d'arguments pour désactiver un amont"
 
-#: builtin/branch.c:825
+#: builtin/branch.c:823
 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:831
+#: builtin/branch.c:829
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "La branche '%s' n'a aucune information de branche amont"
 
-#: builtin/branch.c:841
+#: builtin/branch.c:839
 msgid ""
 "The -a, and -r, options to 'git branch' do not take a branch name.\n"
 "Did you mean to use: -a|-r --list <pattern>?"
@@ -10118,7 +11481,7 @@ msgstr ""
 "branche.\n"
 "Vouliez-vous plutôt dire -a|-r --list <motif> ?"
 
-#: builtin/branch.c:845
+#: builtin/branch.c:843
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -10126,20 +11489,167 @@ msgstr ""
 "l'option '--set-upstream' est obsolète. Utilisez '--track' ou '--set-"
 "upstream-to' à la place."
 
-#: builtin/bundle.c:45
+#: builtin/bugreport.c:15
+msgid "git version:\n"
+msgstr "version git ::\n"
+
+#: builtin/bugreport.c:21
 #, c-format
-msgid "%s is okay\n"
-msgstr "%s est correct\n"
+msgid "uname() failed with error '%s' (%d)\n"
+msgstr "échec de uname() avec l'erreur '%s' (%d)\n"
+
+#: builtin/bugreport.c:31
+msgid "compiler info: "
+msgstr "info compilateur : "
+
+#: builtin/bugreport.c:34
+msgid "libc info: "
+msgstr "info libc : "
+
+#: builtin/bugreport.c:80
+msgid "not run from a git repository - no hooks to show\n"
+msgstr "lancé hors d'un dépôt git - aucun crochet à montrer\n"
+
+#: builtin/bugreport.c:90
+msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
+msgstr "git bugreport [-o|--output-directory <fichier>] [-s|--suffix <format>]"
+
+#: builtin/bugreport.c:97
+msgid ""
+"Thank you for filling out a Git bug report!\n"
+"Please answer the following questions to help us understand your issue.\n"
+"\n"
+"What did you do before the bug happened? (Steps to reproduce your issue)\n"
+"\n"
+"What did you expect to happen? (Expected behavior)\n"
+"\n"
+"What happened instead? (Actual behavior)\n"
+"\n"
+"What's different between what you expected and what actually happened?\n"
+"\n"
+"Anything else you want to add:\n"
+"\n"
+"Please review the rest of the bug report below.\n"
+"You can delete any lines you don't wish to share.\n"
+msgstr ""
+"Merci de remplir le rapport de bogue Git !\n"
+"Veuillez répondre aux questions suivantes pour nous aider à comprendre votre "
+"problème.\n"
+"\n"
+"Qu'avez-vous fait avant l'apparition du bogue ? (Étapes pour reproduire "
+"votre problème)\n"
+"\n"
+"Quel était le résultat attendu ? (comportement attendu)\n"
+"\n"
+"Que s'est-il passé à la place ? (comportement observé)\n"
+"\n"
+"Quelle différence y a-t-il entre ce que vous attendiez et ce qu'il s'est "
+"passé ?\n"
+"\n"
+"Autres remarques :\n"
+"\n"
+"Veuillez relire le rapport de bogue ci-dessous.\n"
+"Vous pouvez supprimer toute ligne que vous ne souhaitez pas envoyer.\n"
+
+#: builtin/bugreport.c:134
+msgid "specify a destination for the bugreport file"
+msgstr "spécifier la destination du fichier de rapport de bogue"
+
+#: builtin/bugreport.c:136
+msgid "specify a strftime format suffix for the filename"
+msgstr "spécifier une suffixe au format strftime pour le nom de fichier"
+
+#: builtin/bugreport.c:158
+#, c-format
+msgid "could not create leading directories for '%s'"
+msgstr "impossible de créer les répertoires de premier niveau pour '%s'"
+
+#: builtin/bugreport.c:165
+msgid "System Info"
+msgstr "Info système"
+
+#: builtin/bugreport.c:168
+msgid "Enabled Hooks"
+msgstr "Crochets activés"
+
+#: builtin/bugreport.c:175
+#, c-format
+msgid "couldn't create a new file at '%s'"
+msgstr "impossible de créer un fichier nouveau à '%s'"
+
+#: builtin/bugreport.c:178
+#, c-format
+msgid "unable to write to %s"
+msgstr "impossible d'écrire dans %s"
+
+#: builtin/bugreport.c:188
+#, c-format
+msgid "Created new report at '%s'.\n"
+msgstr "Nouveau rapport créé à '%s'.\n"
+
+#: builtin/bundle.c:15 builtin/bundle.c:23
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr "git bundle create [<options>] <fichier> <args git-rev-list>"
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr "git bundle verify [<options>] <fichier>"
 
-#: builtin/bundle.c:58
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr "git bundle list-heads <fichier> [<nom-de-ref>...]"
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr "git bundle unbundle <fichier> [<nom-de-ref>...]"
+
+#: builtin/bundle.c:67 builtin/pack-objects.c:3480
+msgid "do not show progress meter"
+msgstr "ne pas afficher la barre de progression"
+
+#: builtin/bundle.c:69 builtin/pack-objects.c:3482
+msgid "show progress meter"
+msgstr "afficher la barre de progression"
+
+#: builtin/bundle.c:71 builtin/pack-objects.c:3484
+msgid "show progress meter during object writing phase"
+msgstr "afficher la barre de progression durant la phase d'écrite des objets"
+
+#: builtin/bundle.c:74 builtin/pack-objects.c:3487
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "similaire à --all-progress quand la barre de progression est affichée"
+
+#: builtin/bundle.c:76
+msgid "specify bundle format version"
+msgstr "spécifier la version du format de colis"
+
+#: builtin/bundle.c:96
 msgid "Need a repository to create a bundle."
 msgstr "La création d'un colis requiert un dépôt."
 
-#: builtin/bundle.c:62
+#: builtin/bundle.c:107
+msgid "do not show bundle details"
+msgstr "ne pas afficher les détails du colis"
+
+#: builtin/bundle.c:122
+#, c-format
+msgid "%s is okay\n"
+msgstr "%s est correct\n"
+
+#: builtin/bundle.c:163
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
-#: builtin/cat-file.c:594
+#: builtin/bundle.c:171 builtin/remote.c:1687
+msgid "be verbose; must be placed before a subcommand"
+msgstr "être verbeux : doit être placé avant une sous-commande"
+
+#: builtin/bundle.c:193 builtin/remote.c:1718
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "Sous-commande inconnue : %s"
+
+#: builtin/cat-file.c:598
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -10147,82 +11657,82 @@ msgstr ""
 "git cat-file (-t [--allow-unknow-type] | -s [--allow-unknow-type] | -e | -p "
 "| <type> | --textconv | --filters) [--path=<chemin>] <objet>"
 
-#: builtin/cat-file.c:595
+#: builtin/cat-file.c:599
 msgid ""
-"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
-"filters]"
+"git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
+"symlinks] [--textconv | --filters]"
 msgstr ""
-"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
-"filters]"
+"git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
+"symlinks] [--textconv | --filters]"
 
-#: builtin/cat-file.c:616
+#: builtin/cat-file.c:620
 msgid "only one batch option may be specified"
 msgstr "une seule option de traitement ne peut être spécifiée à la fois"
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:638
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<type> peut être : blob, tree, commit ou tag"
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:639
 msgid "show object type"
 msgstr "afficher le type de l'objet"
 
-#: builtin/cat-file.c:636
+#: builtin/cat-file.c:640
 msgid "show object size"
 msgstr "afficher la taille de l'objet"
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:642
 msgid "exit with zero when there's no error"
 msgstr "sortir avec un code d'erreur nul quand il n'y a aucune erreur"
 
-#: builtin/cat-file.c:639
+#: builtin/cat-file.c:643
 msgid "pretty-print object's content"
 msgstr "afficher avec mise en forme le contenu de l'objet"
 
-#: builtin/cat-file.c:641
+#: builtin/cat-file.c:645
 msgid "for blob objects, run textconv on object's content"
 msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 
-#: builtin/cat-file.c:643
+#: builtin/cat-file.c:647
 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:644 git-submodule.sh:936
+#: builtin/cat-file.c:648
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:645
+#: builtin/cat-file.c:649
 msgid "use a specific path for --textconv/--filters"
 msgstr "utiliser un chemin spécifique pour --textconv/--filters"
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:651
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "autoriser -s et -t à travailler sur des objets cassés/corrompus"
 
-#: builtin/cat-file.c:648
+#: builtin/cat-file.c:652
 msgid "buffer --batch output"
 msgstr "bufferiser la sortie de --batch"
 
-#: builtin/cat-file.c:650
+#: builtin/cat-file.c:654
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "afficher l'information et le contenu des objets passés en entrée standard"
 
-#: builtin/cat-file.c:654
+#: builtin/cat-file.c:658
 msgid "show info about objects fed from the standard input"
 msgstr "afficher l'information des objets passés en entrée standard"
 
-#: builtin/cat-file.c:658
+#: builtin/cat-file.c:662
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 "suivre les liens symbolique internes à la copie de travail (utilisé avec --"
 "batch ou --batch-check)"
 
-#: builtin/cat-file.c:660
+#: builtin/cat-file.c:664
 msgid "show all objects with --batch or --batch-check"
 msgstr "montrer tous les objets avec --batch ou --batch-check"
 
-#: builtin/cat-file.c:662
+#: builtin/cat-file.c:666
 msgid "do not order --batch-all-objects output"
 msgstr "ne pas ordonner la sortie de --batch-all-objects"
 
@@ -10251,8 +11761,8 @@ msgid "terminate input and output records by a NUL character"
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538
-#: builtin/worktree.c:507
+#: builtin/check-ignore.c:21 builtin/checkout.c:1482 builtin/gc.c:538
+#: builtin/worktree.c:561
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -10264,27 +11774,27 @@ msgstr "afficher les chemins en entrée qui ne correspondent pas"
 msgid "ignore index when checking"
 msgstr "ignorer l'index pendant la vérification"
 
-#: builtin/check-ignore.c:160
+#: builtin/check-ignore.c:163
 msgid "cannot specify pathnames with --stdin"
 msgstr "impossible de spécifier les chemins avec --stdin"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:166
 msgid "-z only makes sense with --stdin"
 msgstr "-z n'a de sens qu'avec l'option --stdin"
 
-#: builtin/check-ignore.c:165
+#: builtin/check-ignore.c:168
 msgid "no path specified"
 msgstr "aucun chemin spécifié"
 
-#: builtin/check-ignore.c:169
+#: builtin/check-ignore.c:172
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet n'est valide qu'avec un seul chemin"
 
-#: builtin/check-ignore.c:171
+#: builtin/check-ignore.c:174
 msgid "cannot have both --quiet and --verbose"
 msgstr "impossible d'avoir --quiet et --verbose"
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:177
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching n'est valide qu'avec --verbose"
 
@@ -10344,9 +11854,9 @@ msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376
-#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857
-#: builtin/worktree.c:680
+#: builtin/submodule--helper.c:1824 builtin/submodule--helper.c:1827
+#: builtin/submodule--helper.c:1835 builtin/submodule--helper.c:2333
+#: builtin/worktree.c:754
 msgid "string"
 msgstr "chaîne"
 
@@ -10374,100 +11884,100 @@ msgstr "git switch [<options>] <branche>"
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<options>] [--source=<branche>] <fichier>..."
 
-#: builtin/checkout.c:172 builtin/checkout.c:211
+#: builtin/checkout.c:188 builtin/checkout.c:227
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
 
-#: builtin/checkout.c:174 builtin/checkout.c:213
+#: builtin/checkout.c:190 builtin/checkout.c:229
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:190
+#: builtin/checkout.c:206
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "le chemin '%s' n'a aucune des versions nécessaires"
 
-#: builtin/checkout.c:240
+#: builtin/checkout.c:258
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:258
+#: builtin/checkout.c:275
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
 
-#: builtin/checkout.c:274
+#: builtin/checkout.c:291
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Impossible d'ajouter le résultat de fusion pour '%s'"
 
-#: builtin/checkout.c:374
+#: builtin/checkout.c:396
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "%d conflit du fusion recréé"
 msgstr[1] "%d conflits du fusion recréés"
 
-#: builtin/checkout.c:379
+#: builtin/checkout.c:401
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "%d chemin mis à jour depuis %s"
 msgstr[1] "%d chemins mis à jour depuis %s"
 
-#: builtin/checkout.c:386
+#: builtin/checkout.c:408
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "%d chemin mis à jour depuis l'index"
 msgstr[1] "%d chemins mis à jour depuis l'index"
 
-#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415
-#: builtin/checkout.c:419
+#: builtin/checkout.c:431 builtin/checkout.c:434 builtin/checkout.c:437
+#: builtin/checkout.c:441
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' ne peut pas être utilisé avec des mises à jour de chemins"
 
-#: builtin/checkout.c:422 builtin/checkout.c:425
+#: builtin/checkout.c:444 builtin/checkout.c:447
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:429
+#: builtin/checkout.c:451
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en "
 "même temps."
 
-#: builtin/checkout.c:433
+#: builtin/checkout.c:455
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "ni '%s', ni '%s' spécifié"
 
-#: builtin/checkout.c:437
+#: builtin/checkout.c:459
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "'%s' ne peut pas être utilisé quand '%s' n'est pas spécifié"
 
-#: builtin/checkout.c:442 builtin/checkout.c:447
+#: builtin/checkout.c:464 builtin/checkout.c:469
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "'%s' ou '%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:506 builtin/checkout.c:513
+#: builtin/checkout.c:528 builtin/checkout.c:535
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:703
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:729
+#: builtin/checkout.c:757
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10477,56 +11987,50 @@ msgstr ""
 "suivants :\n"
 "%s"
 
-#: builtin/checkout.c:736
-#, c-format
-msgid "staged changes in the following files may be lost: %s"
-msgstr ""
-"les modifications indexées dans les fichiers suivants seraient perdues : %s"
-
-#: builtin/checkout.c:833
+#: builtin/checkout.c:853
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:875
+#: builtin/checkout.c:895
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:879 builtin/clone.c:714
+#: builtin/checkout.c:899 builtin/clone.c:720
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:883
+#: builtin/checkout.c:903
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:886
+#: builtin/checkout.c:906
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:910
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:892 builtin/checkout.c:1289
+#: builtin/checkout.c:912 builtin/checkout.c:1338
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:914
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:945
+#: builtin/checkout.c:965
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:971
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10549,7 +12053,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:990
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -10578,28 +12082,19 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:1005
+#: builtin/checkout.c:1025
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:1009
+#: builtin/checkout.c:1029
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: builtin/checkout.c:1049 builtin/checkout.c:1284
+#: builtin/checkout.c:1069 builtin/checkout.c:1333
 msgid "You are on a branch yet to be born"
 msgstr "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:1176
-msgid "only one reference expected"
-msgstr "une seule référence attendue"
-
-#: builtin/checkout.c:1193
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr "une seule référence attendue, %d fournies."
-
-#: builtin/checkout.c:1230
+#: builtin/checkout.c:1146
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10608,37 +12103,71 @@ msgstr ""
 "'%s' pourrait être un fichier local ou un branche de suivi.\n"
 "Veuillez utiliser -- (et --no-guess en facultatif) pour les distinguer"
 
-#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456
+#: builtin/checkout.c:1153
+msgid ""
+"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
+"you can do so by fully qualifying the name with the --track option:\n"
+"\n"
+"    git checkout --track origin/<name>\n"
+"\n"
+"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
+"one remote, e.g. the 'origin' remote, consider setting\n"
+"checkout.defaultRemote=origin in your config."
+msgstr ""
+"Si vous souhaitiez extraire une branche de suivi distant sur 'origin',\n"
+"par exemple, qualifiez-la complètement avec l'option --track :\n"
+"\n"
+"    git checkout --track origin/<nom>\n"
+"\n"
+"Si vous souhaitez privilégier un distant particulier lorsque <nom> est\n"
+"ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
+"votre config."
+
+#: builtin/checkout.c:1163
+#, c-format
+msgid "'%s' matched multiple (%d) remote tracking branches"
+msgstr "'%s' correspond à plusieurs (%d) branches de suivi à distance"
+
+#: builtin/checkout.c:1229
+msgid "only one reference expected"
+msgstr "une seule référence attendue"
+
+#: builtin/checkout.c:1246
+#, c-format
+msgid "only one reference expected, %d given."
+msgstr "une seule référence attendue, %d fournies."
+
+#: builtin/checkout.c:1292 builtin/worktree.c:342 builtin/worktree.c:510
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %s"
 
-#: builtin/checkout.c:1256 builtin/checkout.c:1618
+#: builtin/checkout.c:1305 builtin/checkout.c:1671
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1352
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "branche attendue, mais étiquette '%s' reçue"
 
-#: builtin/checkout.c:1305
+#: builtin/checkout.c:1354
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "une branche est attendue, mais une branche distante '%s' a été reçue"
 
-#: builtin/checkout.c:1306 builtin/checkout.c:1314
+#: builtin/checkout.c:1355 builtin/checkout.c:1363
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "une branche est attendue, mais '%s' a été reçue"
 
-#: builtin/checkout.c:1309
+#: builtin/checkout.c:1358
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "une branche est attendue, mais un commit '%s' a été reçu"
 
-#: builtin/checkout.c:1325
+#: builtin/checkout.c:1374
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -10646,7 +12175,7 @@ msgstr ""
 "impossible de basculer de branche pendant une fusion\n"
 "Envisagez \"git merge --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1329
+#: builtin/checkout.c:1378
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -10654,7 +12183,7 @@ msgstr ""
 "impossible de basculer de branche pendant une session am\n"
 "Envisagez \"git am --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1333
+#: builtin/checkout.c:1382
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -10662,7 +12191,7 @@ msgstr ""
 "impossible de basculer de branche pendant un rebasage\n"
 "Envisagez \"git rebase --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1337
+#: builtin/checkout.c:1386
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -10670,7 +12199,7 @@ msgstr ""
 "impossible de basculer de branche pendant un picorage\n"
 "Envisagez \"git cherry-pick --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1341
+#: builtin/checkout.c:1390
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -10678,139 +12207,146 @@ msgstr ""
 "impossible de basculer de branche pendant un retour\n"
 "Envisagez \"git revert --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1394
 msgid "you are switching branch while bisecting"
 msgstr "Vous basculez de branche en cours de bissection"
 
-#: builtin/checkout.c:1352
+#: builtin/checkout.c:1401
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363
+#: builtin/checkout.c:1404 builtin/checkout.c:1408 builtin/checkout.c:1412
 #, 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:1367 builtin/checkout.c:1370 builtin/checkout.c:1373
-#: builtin/checkout.c:1378 builtin/checkout.c:1383
+#: builtin/checkout.c:1416 builtin/checkout.c:1419 builtin/checkout.c:1422
+#: builtin/checkout.c:1427 builtin/checkout.c:1432
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1380
+#: builtin/checkout.c:1429
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' n'accepte pas <point-de-départ>"
 
-#: builtin/checkout.c:1388
+#: builtin/checkout.c:1437
 #, 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:1395
+#: builtin/checkout.c:1444
 msgid "missing branch or commit argument"
 msgstr "argument de branche ou de commit manquant"
 
-#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151
-#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575
-#: builtin/send-pack.c:174
+#: builtin/checkout.c:1486 builtin/clone.c:91 builtin/commit-graph.c:84
+#: builtin/commit-graph.c:222 builtin/fetch.c:172 builtin/merge.c:287
+#: builtin/multi-pack-index.c:27 builtin/pull.c:119 builtin/push.c:551
+#: builtin/send-pack.c:192
 msgid "force progress reporting"
 msgstr "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1438
+#: builtin/checkout.c:1487
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318
+#: builtin/checkout.c:1488 builtin/log.c:1795 parse-options.h:322
 msgid "style"
 msgstr "style"
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1489
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1452 builtin/worktree.c:504
+#: builtin/checkout.c:1501 builtin/worktree.c:558
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1453
+#: builtin/checkout.c:1502
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1455
+#: builtin/checkout.c:1504
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1506
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1506
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1459 builtin/merge.c:288
+#: builtin/checkout.c:1508 builtin/merge.c:291
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1462
+#: builtin/checkout.c:1511
 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:1475
+#: builtin/checkout.c:1524
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1478
+#: builtin/checkout.c:1527
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1482
+#: builtin/checkout.c:1531
 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:1533
-msgid "-b, -B and --orphan are mutually exclusive"
-msgstr "-b, -B et --orphan sont mutuellement exclusifs"
+#: builtin/checkout.c:1586
+#, c-format
+msgid "-%c, -%c and --orphan are mutually exclusive"
+msgstr "-%c, -%c et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1536
+#: builtin/checkout.c:1590
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p et --overlay sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1573
+#: builtin/checkout.c:1627
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1578
-msgid "missing branch name; try -b"
-msgstr "nom de branche manquant ; essayez -b"
+#: builtin/checkout.c:1632
+#, c-format
+msgid "missing branch name; try -%c"
+msgstr "nom de branche manquant ; essayez -%c"
 
-#: builtin/checkout.c:1611
+#: builtin/checkout.c:1664
 #, c-format
 msgid "could not resolve %s"
 msgstr "impossible de résoudre %s"
 
-#: builtin/checkout.c:1623
-msgid "you must specify path(s) to restore"
-msgstr "Vous devez spécifier un ou des chemins à restaurer"
-
-#: builtin/checkout.c:1631
+#: builtin/checkout.c:1680
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: builtin/checkout.c:1638
+#: builtin/checkout.c:1687
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 "'%s' n'est pas un commit et une branche '%s' ne peut pas en être créée depuis"
 
-#: builtin/checkout.c:1642
+#: builtin/checkout.c:1691
 #, 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:1646
+#: builtin/checkout.c:1700
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr "--pathspec-from-file est incompatible avec --detach"
+
+#: builtin/checkout.c:1703 builtin/reset.c:325 builtin/stash.c:1500
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr "--pathspec-from-file est incompatible avec --patch"
+
+#: builtin/checkout.c:1716
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -10818,135 +12354,111 @@ msgstr ""
 "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n"
 "de l'extraction de l'index."
 
-#: builtin/checkout.c:1666
-#, c-format
-msgid ""
-"'%s' matched more than one remote tracking branch.\n"
-"We found %d remotes with a reference that matched. So we fell back\n"
-"on trying to resolve the argument as a path, but failed there too!\n"
-"\n"
-"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
-"you can do so by fully qualifying the name with the --track option:\n"
-"\n"
-"    git checkout --track origin/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
-msgstr ""
-"'%s' correspond à plusieurs branches de suivi distant. Nous avons\n"
-"trouvé %d distants avec une référence correspondante. Nous avons essayé\n"
-"de résoudre l'argument comme un chemin, sans plus de résultat !\n"
-"\n"
-"Si vous souhaitiez extraire une branche de suivi distant sur 'origin',\n"
-"par exemple, qualifiez-la complètement avec l'option --track :\n"
-"\n"
-"    git checkout --track origin/<nom>\n"
-"\n"
-"Si vous souhaitez privilégier un distant particulier lorsque <nom> est\n"
-"ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
-"votre config."
+#: builtin/checkout.c:1721
+msgid "you must specify path(s) to restore"
+msgstr "Vous devez spécifier un ou des chemins à restaurer"
 
-#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733
-#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169
-#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502
+#: builtin/checkout.c:1747 builtin/checkout.c:1749 builtin/checkout.c:1798
+#: builtin/checkout.c:1800 builtin/clone.c:121 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2719 builtin/worktree.c:554
+#: builtin/worktree.c:556
 msgid "branch"
 msgstr "branche"
 
-#: builtin/checkout.c:1692
+#: builtin/checkout.c:1748
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1694
+#: builtin/checkout.c:1750
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1695
+#: builtin/checkout.c:1751
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1753
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr ""
 "essayer d'interpréter 'git checkout <branche-inexistante>' (par défaut)"
 
-#: builtin/checkout.c:1698
+#: builtin/checkout.c:1754
 msgid "use overlay mode (default)"
 msgstr "utiliser le mode de superposition (défaut)"
 
-#: builtin/checkout.c:1734
+#: builtin/checkout.c:1799
 msgid "create and switch to a new branch"
 msgstr "créer et basculer sur une nouvelle branche"
 
-#: builtin/checkout.c:1736
+#: builtin/checkout.c:1801
 msgid "create/reset and switch to a branch"
 msgstr "créer/réinitialiser et basculer sur une branche"
 
-#: builtin/checkout.c:1738
+#: builtin/checkout.c:1803
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "interpréter 'git switch <branche-inexistante>'"
 
-#: builtin/checkout.c:1740
+#: builtin/checkout.c:1805
 msgid "throw away local modifications"
 msgstr "laisser tomber les modifications locales"
 
-#: builtin/checkout.c:1772
+#: builtin/checkout.c:1839
 msgid "which tree-ish to checkout from"
 msgstr "de quel <arbre-esque> faire l'extraction"
 
-#: builtin/checkout.c:1774
+#: builtin/checkout.c:1841
 msgid "restore the index"
 msgstr "restaurer l'index"
 
-#: builtin/checkout.c:1776
+#: builtin/checkout.c:1843
 msgid "restore the working tree (default)"
 msgstr "restaurer l'arbre de travail (par défaut)"
 
-#: builtin/checkout.c:1778
+#: builtin/checkout.c:1845
 msgid "ignore unmerged entries"
 msgstr "ignorer les entrées non-fusionnées"
 
-#: builtin/checkout.c:1779
+#: builtin/checkout.c:1846
 msgid "use overlay mode"
 msgstr "utiliser le mode de superposition"
 
-#: builtin/clean.c:28
+#: builtin/clean.c:29
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <motif>] [-x | -X] [--] <chemins>..."
 
-#: builtin/clean.c:32
+#: builtin/clean.c:33
 #, c-format
 msgid "Removing %s\n"
 msgstr "Suppression de %s\n"
 
-#: builtin/clean.c:33
+#: builtin/clean.c:34
 #, c-format
 msgid "Would remove %s\n"
 msgstr "Supprimerait %s\n"
 
-#: builtin/clean.c:34
+#: builtin/clean.c:35
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr "Ignore le dépôt %s\n"
 
-#: builtin/clean.c:35
+#: builtin/clean.c:36
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr "Ignorerait le dépôt %s\n"
 
-#: builtin/clean.c:36
+#: builtin/clean.c:37
 #, c-format
 msgid "failed to remove %s"
 msgstr "échec de la suppression de %s"
 
-#: builtin/clean.c:37
+#: builtin/clean.c:38
 #, c-format
 msgid "could not lstat %s\n"
 msgstr "lstat de %s impossible\n"
 
-#: builtin/clean.c:300 git-add--interactive.perl:593
+#: builtin/clean.c:302 git-add--interactive.perl:595
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10959,7 +12471,7 @@ msgstr ""
 "foo         - sélectionner un élément par un préfixe unique\n"
 "            - (vide) ne rien sélectionner\n"
 
-#: builtin/clean.c:304 git-add--interactive.perl:602
+#: builtin/clean.c:306 git-add--interactive.perl:604
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10980,38 +12492,33 @@ msgstr ""
 "*          - choisir tous les éléments\n"
 "           - (vide) terminer la sélection\n"
 
-#: builtin/clean.c:520 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
+#: builtin/clean.c:521 git-add--interactive.perl:570
+#: git-add--interactive.perl:575
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hein (%s) ?\n"
 
-#: builtin/clean.c:662
+#: builtin/clean.c:661
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Entrez les motifs à ignorer>> "
 
-#: builtin/clean.c:699
+#: builtin/clean.c:696
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s"
 
-#: builtin/clean.c:720
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr "Sélectionner les éléments à supprimer"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:761
+#: builtin/clean.c:758
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:786 git-add--interactive.perl:1763
-#, c-format
-msgid "Bye.\n"
-msgstr "Au revoir.\n"
-
-#: builtin/clean.c:794
+#: builtin/clean.c:789
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -11029,64 +12536,52 @@ msgstr ""
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:821 git-add--interactive.perl:1849
-msgid "*** Commands ***"
-msgstr "*** Commandes ***"
-
-#: builtin/clean.c:822 git-add--interactive.perl:1846
-msgid "What now"
-msgstr "Et maintenant ?"
-
-#: builtin/clean.c:830
+#: builtin/clean.c:825
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Supprimerait l'élément suivant :"
 msgstr[1] "Supprimerait les éléments suivants :"
 
-#: builtin/clean.c:846
+#: builtin/clean.c:841
 msgid "No more files to clean, exiting."
 msgstr "Plus de fichier à nettoyer, sortie."
 
-#: builtin/clean.c:908
+#: builtin/clean.c:903
 msgid "do not print names of files removed"
 msgstr "ne pas afficher les noms des fichiers supprimés"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:905
 msgid "force"
 msgstr "forcer"
 
-#: builtin/clean.c:911
+#: builtin/clean.c:906
 msgid "interactive cleaning"
 msgstr "nettoyage interactif"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:908
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178
-#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415
+#: builtin/clean.c:909 builtin/describe.c:565 builtin/describe.c:567
+#: builtin/grep.c:910 builtin/log.c:181 builtin/log.c:183
+#: builtin/ls-files.c:558 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "motif"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:910
 msgid "add <pattern> to ignore rules"
 msgstr "ajouter <motif> aux règles ignore"
 
-#: builtin/clean.c:916
+#: builtin/clean.c:911
 msgid "remove ignored files, too"
 msgstr "supprimer les fichiers ignorés, aussi"
 
-#: builtin/clean.c:918
+#: builtin/clean.c:913
 msgid "remove only ignored files"
 msgstr "supprimer seulement les fichiers ignorés"
 
-#: builtin/clean.c:936
-msgid "-x and -X cannot be used together"
-msgstr "-x et -X ne peuvent pas être utilisés ensemble"
-
-#: builtin/clean.c:940
+#: builtin/clean.c:929
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -11094,7 +12589,7 @@ msgstr ""
 "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clean.c:943
+#: builtin/clean.c:932
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -11102,7 +12597,11 @@ msgstr ""
 "clean.requireForce à true par défaut et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clone.c:46
+#: builtin/clean.c:944
+msgid "-x and -X cannot be used together"
+msgstr "-x et -X ne peuvent pas être utilisés ensemble"
+
+#: builtin/clone.c:45
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 
@@ -11110,7 +12609,7 @@ msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 msgid "don't create a checkout"
 msgstr "ne pas créer d'extraction"
 
-#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:553
 msgid "create a bare repository"
 msgstr "créer un dépôt nu"
 
@@ -11130,11 +12629,11 @@ msgstr "ne pas utiliser de liens durs locaux, toujours copier"
 msgid "setup as shared repository"
 msgstr "régler comme dépôt partagé"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:106
 msgid "pathspec"
 msgstr "spécificateur de chemin"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:106
 msgid "initialize submodules in the clone"
 msgstr "initialiser les sous-modules dans le clone"
 
@@ -11142,26 +12641,26 @@ msgstr "initialiser les sous-modules dans le clone"
 msgid "number of submodules cloned in parallel"
 msgstr "nombre de sous-modules clonés en parallèle"
 
-#: builtin/clone.c:111 builtin/init-db.c:486
+#: builtin/clone.c:111 builtin/init-db.c:550
 msgid "template-directory"
 msgstr "répertoire-modèle"
 
-#: builtin/clone.c:112 builtin/init-db.c:487
+#: builtin/clone.c:112 builtin/init-db.c:551
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380
-#: builtin/submodule--helper.c:1860
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1831
+#: builtin/submodule--helper.c:2336
 msgid "reference repository"
 msgstr "dépôt de référence"
 
-#: builtin/clone.c:118 builtin/submodule--helper.c:1382
-#: builtin/submodule--helper.c:1862
+#: builtin/clone.c:118 builtin/submodule--helper.c:1833
+#: builtin/submodule--helper.c:2338
 msgid "use --reference only while cloning"
 msgstr "utiliser seulement --reference pour cloner"
 
-#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3314 builtin/repack.c:319
+#: builtin/clone.c:119 builtin/column.c:27 builtin/init-db.c:561
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3546 builtin/repack.c:332
 msgid "name"
 msgstr "nom"
 
@@ -11177,8 +12676,8 @@ 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:125 builtin/fetch.c:152 builtin/grep.c:838
-#: builtin/pull.c:226
+#: builtin/clone.c:125 builtin/fetch.c:173 builtin/grep.c:849
+#: builtin/pull.c:208
 msgid "depth"
 msgstr "profondeur"
 
@@ -11186,7 +12685,8 @@ msgstr "profondeur"
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303
+#: builtin/clone.c:127 builtin/fetch.c:175 builtin/pack-objects.c:3535
+#: builtin/pull.c:211
 msgid "time"
 msgstr "heure"
 
@@ -11194,17 +12694,18 @@ msgstr "heure"
 msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
-#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179
-#: builtin/rebase.c:1395
+#: builtin/clone.c:129 builtin/fetch.c:177 builtin/fetch.c:200
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1311
 msgid "revision"
 msgstr "révision"
 
-#: builtin/clone.c:130 builtin/fetch.c:157
+#: builtin/clone.c:130 builtin/fetch.c:178 builtin/pull.c:215
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
-#: builtin/clone.c:132
+#: builtin/clone.c:132 builtin/submodule--helper.c:1843
+#: builtin/submodule--helper.c:2352
 msgid "clone only one branch, HEAD or --branch"
 msgstr "cloner seulement une branche, HEAD ou --branch"
 
@@ -11218,11 +12719,11 @@ msgstr ""
 msgid "any cloned submodules will be shallow"
 msgstr "tous les sous-modules clonés seront superficiels"
 
-#: builtin/clone.c:137 builtin/init-db.c:495
+#: builtin/clone.c:137 builtin/init-db.c:559
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:138 builtin/init-db.c:496
+#: builtin/clone.c:138 builtin/init-db.c:560
 msgid "separate git dir from working tree"
 msgstr "séparer le répertoire git de la copie de travail"
 
@@ -11234,23 +12735,23 @@ msgstr "clé=valeur"
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
-#: builtin/push.c:585 builtin/send-pack.c:172
+#: builtin/clone.c:142 builtin/fetch.c:195 builtin/ls-remote.c:76
+#: builtin/pull.c:230 builtin/push.c:560 builtin/send-pack.c:190
 msgid "server-specific"
 msgstr "spécifique au serveur"
 
-#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
-#: builtin/push.c:585 builtin/send-pack.c:173
+#: builtin/clone.c:142 builtin/fetch.c:195 builtin/ls-remote.c:76
+#: builtin/pull.c:231 builtin/push.c:560 builtin/send-pack.c:191
 msgid "option to transmit"
 msgstr "option à transmettre"
 
-#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239
-#: builtin/push.c:586
+#: builtin/clone.c:143 builtin/fetch.c:196 builtin/pull.c:234
+#: builtin/push.c:561
 msgid "use IPv4 addresses only"
 msgstr "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242
-#: builtin/push.c:588
+#: builtin/clone.c:145 builtin/fetch.c:198 builtin/pull.c:237
+#: builtin/push.c:563
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
@@ -11259,7 +12760,13 @@ msgid "any cloned submodules will use their remote-tracking branch"
 msgstr ""
 "tous les sous-modules clonés utiliseront leur branche de suivi à distance"
 
-#: builtin/clone.c:285
+#: builtin/clone.c:151
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr ""
+"initialiser le fichier d'extraction partielle pour n'inclure que les "
+"fichiers à la racine"
+
+#: builtin/clone.c:287
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -11267,47 +12774,42 @@ msgstr ""
 "Aucun nom de répertoire n'a pu être deviné\n"
 "Veuillez spécifier un répertoire dans la ligne de commande"
 
-#: builtin/clone.c:338
+#: builtin/clone.c:340
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info : impossible d'ajouter une alternative pour '%s' : %s\n"
 
-#: builtin/clone.c:411
+#: builtin/clone.c:413
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe et n'est pas un répertoire"
 
-#: builtin/clone.c:428
+#: builtin/clone.c:431
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "échec du démarrage un itérateur sur '%s'"
 
-#: builtin/clone.c:453
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "échec pour délier '%s'"
-
-#: builtin/clone.c:458
+#: builtin/clone.c:462
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "échec de la création du lien '%s'"
 
-#: builtin/clone.c:462
+#: builtin/clone.c:466
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "échec de la copie vers '%s'"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:471
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "échec de l'itération sur '%s'"
 
-#: builtin/clone.c:492
+#: builtin/clone.c:498
 #, c-format
 msgid "done.\n"
 msgstr "fait.\n"
 
-#: builtin/clone.c:506
+#: builtin/clone.c:512
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -11317,98 +12819,107 @@ msgstr ""
 "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n"
 "et réessayer avec 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:583
+#: builtin/clone.c:589
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:702
+#: builtin/clone.c:708
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:752
+#: builtin/clone.c:756
+msgid "failed to initialize sparse-checkout"
+msgstr "échec lors de l'initialisation l'extraction partielle"
+
+#: builtin/clone.c:779
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "la HEAD distante réfère à une référence non existante, impossible de "
 "l'extraire.\n"
 
-#: builtin/clone.c:783
+#: builtin/clone.c:811
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:833
+#: builtin/clone.c:868
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:896
+#: builtin/clone.c:931
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:898
+#: builtin/clone.c:933
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de délier le fichier temporaire alternates"
 
-#: builtin/clone.c:938 builtin/receive-pack.c:1950
+#: builtin/clone.c:970 builtin/receive-pack.c:2434
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:942
+#: builtin/clone.c:974
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:955
+#: builtin/clone.c:987
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:958
+#: builtin/clone.c:990
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:971
+#: builtin/clone.c:1006
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: builtin/clone.c:977 builtin/fetch.c:1660
+#: builtin/clone.c:1010 builtin/fetch.c:1841
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:987
+#: builtin/clone.c:1020
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 "le chemin de destination '%s' existe déjà et n'est pas un répertoire vide."
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1026
+#, c-format
+msgid "repository path '%s' already exists and is not an empty directory."
+msgstr "le chemin du dépôt '%s' existe déjà et n'est pas un répertoire vide."
+
+#: builtin/clone.c:1040
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264
-#: builtin/worktree.c:303 builtin/worktree.c:335
+#: builtin/clone.c:1055 builtin/clone.c:1076 builtin/difftool.c:271
+#: builtin/log.c:1970 builtin/worktree.c:354 builtin/worktree.c:386
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "impossible de créer les répertoires de premier niveau dans '%s'"
 
-#: builtin/clone.c:1017
+#: builtin/clone.c:1060
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "impossible de créer le répertoire de la copie de travail '%s'"
 
-#: builtin/clone.c:1037
+#: builtin/clone.c:1080
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:1039
+#: builtin/clone.c:1082
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1063
+#: builtin/clone.c:1106
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -11416,41 +12927,41 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1124
+#: builtin/clone.c:1170
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 "--depth est ignoré dans les clones locaux : utilisez plutôt \"file://\"."
 
-#: builtin/clone.c:1126
+#: builtin/clone.c:1172
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-since est ignoré dans les clones locaux : utilisez plutôt \"file://"
 "\"."
 
-#: builtin/clone.c:1128
+#: builtin/clone.c:1174
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-exclude est ignoré dans les clones locaux : utilisez plutôt "
 "\"file://\"."
 
-#: builtin/clone.c:1130
+#: builtin/clone.c:1176
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter est ignoré dans les clones locaux ; utilisez plutôt file:// ."
 
-#: builtin/clone.c:1133
+#: builtin/clone.c:1179
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1138
+#: builtin/clone.c:1184
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: builtin/clone.c:1215 builtin/clone.c:1223
+#: builtin/clone.c:1268 builtin/clone.c:1276
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "La branche distante %s n'a pas été trouvée dans le dépôt amont %s"
 
-#: builtin/clone.c:1226
+#: builtin/clone.c:1279
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -11486,6 +12997,112 @@ msgstr "Remplissage d'espace entre les colonnes"
 msgid "--command must be the first argument"
 msgstr "--command doit être le premier argument"
 
+#: builtin/commit-graph.c:13 builtin/commit-graph.c:22
+msgid ""
+"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+msgstr ""
+"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+
+#: builtin/commit-graph.c:14 builtin/commit-graph.c:27
+msgid ""
+"git commit-graph write [--object-dir <objdir>] [--append] [--"
+"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
+"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+msgstr ""
+"git commit-graph write [--object-dir <répertoire-d'objet>] [--append] [--"
+"split[=<stratégie>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
+"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <options de division>"
+
+#: builtin/commit-graph.c:64
+#, c-format
+msgid "could not find object directory matching %s"
+msgstr "impossible de trouver le répertoire objet correspondant à %s"
+
+#: builtin/commit-graph.c:80 builtin/commit-graph.c:210
+#: builtin/commit-graph.c:316 builtin/fetch.c:184 builtin/log.c:1764
+msgid "dir"
+msgstr "répertoire"
+
+#: builtin/commit-graph.c:81 builtin/commit-graph.c:211
+#: builtin/commit-graph.c:317
+msgid "The object directory to store the graph"
+msgstr "Le répertoire d'objet où stocker le graphe"
+
+#: builtin/commit-graph.c:83
+msgid "if the commit-graph is split, only verify the tip file"
+msgstr ""
+"si le graphe de commit est divisé, vérifier seulement le fichier sommet"
+
+#: builtin/commit-graph.c:106
+#, c-format
+msgid "Could not open commit-graph '%s'"
+msgstr "impossible d'ouvrir le graphe de commit '%s'"
+
+#: builtin/commit-graph.c:142
+#, c-format
+msgid "unrecognized --split argument, %s"
+msgstr "argument de --split non reconnu, %s"
+
+#: builtin/commit-graph.c:155
+#, c-format
+msgid "unexpected non-hex object ID: %s"
+msgstr "ID d'objet non hexadécimal inattendu : %s"
+
+#: builtin/commit-graph.c:160
+#, c-format
+msgid "invalid object: %s"
+msgstr "objet invalide : %s"
+
+#: builtin/commit-graph.c:213
+msgid "start walk at all refs"
+msgstr "commencer le parcours à toutes les réfs"
+
+#: builtin/commit-graph.c:215
+msgid "scan pack-indexes listed by stdin for commits"
+msgstr "scanner les index compactés listés sur stdin à la recherche de commits"
+
+#: builtin/commit-graph.c:217
+msgid "start walk at commits listed by stdin"
+msgstr "commencer le parcours aux commits listés sur stdin"
+
+#: builtin/commit-graph.c:219
+msgid "include all commits already in the commit-graph file"
+msgstr ""
+"inclure tous les commits déjà présents dans le fichier de graphe de commits"
+
+#: builtin/commit-graph.c:221
+msgid "enable computation for changed paths"
+msgstr "activer le calcul pour les chemins modifiés"
+
+#: builtin/commit-graph.c:224
+msgid "allow writing an incremental commit-graph file"
+msgstr "permettre d'écrire un fichier incrémental de graphe de commit"
+
+#: builtin/commit-graph.c:228
+msgid "maximum number of commits in a non-base split commit-graph"
+msgstr ""
+"le nombre maximum de commits dans un graphe de commit divisé pas de base"
+
+#: builtin/commit-graph.c:230
+msgid "maximum ratio between two levels of a split commit-graph"
+msgstr "rapport maximum entre deux niveaux d'un graphe de commit divisé"
+
+#: builtin/commit-graph.c:232
+msgid "only expire files older than a given date-time"
+msgstr "ne faire expirer que les fichiers plus vieux qu'une date-time donnée"
+
+#: builtin/commit-graph.c:234
+msgid "maximum number of changed-path Bloom filters to compute"
+msgstr "nombre maximum des filtres Bloom des chemins modifiés à calculer"
+
+#: builtin/commit-graph.c:255
+msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
+msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
+
+#: builtin/commit-graph.c:287
+msgid "Collecting commits from input"
+msgstr "Collecte des commits depuis l'entrée"
+
 #: builtin/commit-tree.c:18
 msgid ""
 "git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
@@ -11499,7 +13116,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "le parent dupliqué %s est ignoré"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:546
 #, c-format
 msgid "not a valid object name %s"
 msgstr "nom d'objet invalide %s"
@@ -11527,13 +13144,13 @@ msgstr "parent"
 msgid "id of a parent commit object"
 msgstr "id d'un objet commit parent"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460
-#: builtin/tag.c:412
+#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:272
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1471
+#: builtin/tag.c:413
 msgid "message"
 msgstr "message"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1500
+#: builtin/commit-tree.c:115 builtin/commit.c:1504
 msgid "commit message"
 msgstr "message de validation"
 
@@ -11541,8 +13158,8 @@ msgstr "message de validation"
 msgid "read commit log message from file"
 msgstr "lire le message de validation depuis un fichier"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287
-#: builtin/pull.c:194 builtin/revert.c:118
+#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:289
+#: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "signer la validation avec GPG"
 
@@ -11589,10 +13206,14 @@ msgstr ""
 "\n"
 
 #: builtin/commit.c:63
+msgid "Otherwise, please use 'git rebase --skip'\n"
+msgstr "Sinon, veuillez utiliser 'git rebase --skip'\n"
+
+#: builtin/commit.c:66
 msgid "Otherwise, please use 'git cherry-pick --skip'\n"
 msgstr "Sinon, veuillez utiliser 'git cherry-pick --skip'\n"
 
-#: builtin/commit.c:66
+#: builtin/commit.c:69
 msgid ""
 "and then use:\n"
 "\n"
@@ -11614,61 +13235,73 @@ msgstr ""
 "    git cherry-pick --skipped\n"
 "\n"
 
-#: builtin/commit.c:315
+#: builtin/commit.c:312
 msgid "failed to unpack HEAD tree object"
 msgstr "échec du dépaquetage de l'objet arbre HEAD"
 
-#: builtin/commit.c:356
+#: builtin/commit.c:348
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr "--pathspec-from-file avec l'option -a n'a pas de sens"
+
+#: builtin/commit.c:361
+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:373
 msgid "unable to create temporary index"
 msgstr "impossible de créer l'index temporaire"
 
-#: builtin/commit.c:362
+#: builtin/commit.c:382
 msgid "interactive add failed"
 msgstr "échec de l'ajout interactif"
 
-#: builtin/commit.c:376
+#: builtin/commit.c:397
 msgid "unable to update temporary index"
 msgstr "impossible de mettre à jour l'index temporaire"
 
-#: builtin/commit.c:378
+#: builtin/commit.c:399
 msgid "Failed to update main cache tree"
 msgstr "Impossible de mettre à jour l'arbre de cache principal"
 
-#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472
+#: builtin/commit.c:424 builtin/commit.c:447 builtin/commit.c:495
 msgid "unable to write new_index file"
 msgstr "impossible d'écrire le fichier new_index"
 
-#: builtin/commit.c:455
+#: builtin/commit.c:476
 msgid "cannot do a partial commit during a merge."
 msgstr "impossible de faire une validation partielle pendant une fusion."
 
-#: builtin/commit.c:457
+#: builtin/commit.c:478
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "impossible de faire une validation partielle pendant un picorage."
 
-#: builtin/commit.c:465
+#: builtin/commit.c:480
+msgid "cannot do a partial commit during a rebase."
+msgstr "impossible de faire une validation partielle pendant un rebasage."
+
+#: builtin/commit.c:488
 msgid "cannot read the index"
 msgstr "impossible de lire l'index"
 
-#: builtin/commit.c:484
+#: builtin/commit.c:507
 msgid "unable to write temporary index file"
 msgstr "impossible d'écrire le fichier d'index temporaire"
 
-#: builtin/commit.c:582
+#: builtin/commit.c:605
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "entête d'auteur manquant dans le commit '%s'"
 
-#: builtin/commit.c:584
+#: builtin/commit.c:607
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "le commit '%s' a une ligne d'auteur malformée"
 
-#: builtin/commit.c:603
+#: builtin/commit.c:626
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: builtin/commit.c:656
+#: builtin/commit.c:679
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -11676,68 +13309,66 @@ msgstr ""
 "impossible de sélectionner un caractère de commentaire\n"
 "qui n'est pas utilisé dans le message de validation actuel"
 
-#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072
+#: builtin/commit.c:717 builtin/commit.c:750 builtin/commit.c:1097
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:706 builtin/shortlog.c:319
+#: builtin/commit.c:729 builtin/shortlog.c:478
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
 
-#: builtin/commit.c:708
+#: builtin/commit.c:731
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:712
+#: builtin/commit.c:735
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:743 builtin/commit.c:759
+#: builtin/commit.c:766 builtin/commit.c:782
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:750
+#: builtin/commit.c:773
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:833
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:829
-#, c-format
+#: builtin/commit.c:853
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
-"If this is not correct, please remove the file\n"
-"\t%s\n"
+"If this is not correct, please run\n"
+"\tgit update-ref -d MERGE_HEAD\n"
 "and try again.\n"
 msgstr ""
 "\n"
 "Il semble que vous validiez une fusion.\n"
-"Si ce n'est pas le cas, veuillez supprimer le fichier\n"
-"\t%s\n"
+"Si ce n'est pas le cas, veuillez lancer\n"
+"\tgit update-ref -d MERGE_HEAD\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:834
-#, c-format
+#: builtin/commit.c:858
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
-"If this is not correct, please remove the file\n"
-"\t%s\n"
+"If this is not correct, please run\n"
+"\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "and try again.\n"
 msgstr ""
 "\n"
 "Il semble que vous validiez un picorage.\n"
-"Si ce n'est pas le cas, veuillez supprimer le fichier\n"
-"\t%s\n"
+"Si ce n'est pas le cas, veuillez lancer\n"
+"\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:847
+#: builtin/commit.c:868
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11747,7 +13378,7 @@ msgstr ""
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:855
+#: builtin/commit.c:876
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11758,148 +13389,148 @@ msgstr ""
 "commençant par '%c' seront conservées ; vous pouvez les supprimer vous-même\n"
 "si vous le souhaitez. Un message vide abandonne la validation.\n"
 
-#: builtin/commit.c:872
+#: builtin/commit.c:893
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:901
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:887
+#: builtin/commit.c:908
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:905
+#: builtin/commit.c:926
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:972
+#: builtin/commit.c:997
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: builtin/commit.c:986 builtin/tag.c:275
+#: builtin/commit.c:1011 builtin/tag.c:276
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Veuillez fournir le message en utilisant l'option -m ou -F.\n"
 
-#: builtin/commit.c:1030
+#: builtin/commit.c:1055
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "--author '%s' n'est pas de la forme 'Nom <email>' ni ne correspond à aucun "
 "auteur existant"
 
-#: builtin/commit.c:1044
+#: builtin/commit.c:1069
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Mode de fichier ignoré invalide '%s'"
 
-#: builtin/commit.c:1062 builtin/commit.c:1304
+#: builtin/commit.c:1087 builtin/commit.c:1331
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1127
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1146
+#: builtin/commit.c:1171
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "L'utilisation simultanée de --reset-author et --author n'a pas de sens"
 
-#: builtin/commit.c:1155
+#: builtin/commit.c:1180
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1183
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1185
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "Vous êtes en plein picorage -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1187
+msgid "You are in the middle of a rebase -- cannot amend."
+msgstr "Vous êtes en plein rebasage -- impossible de corriger (amend)."
+
+#: builtin/commit.c:1190
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Les options --squash et --fixup ne peuvent pas être utilisées ensemble"
 
-#: builtin/commit.c:1173
+#: builtin/commit.c:1200
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Une seule option parmi -c/-C/-F/--fixup peut être utilisée."
 
-#: builtin/commit.c:1175
+#: builtin/commit.c:1202
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "L'option -m ne peut pas être combinée avec -c/-C/-F."
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1211
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author ne peut être utilisé qu'avec -C, -c ou --amend."
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1229
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Une seule option parmi --include/--only/--all/--interactive/--patch peut "
 "être utilisée."
 
-#: builtin/commit.c:1202
-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:1208
+#: builtin/commit.c:1235
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "des chemins '%s ...' avec l'option -a n'a pas de sens"
 
-#: builtin/commit.c:1339 builtin/commit.c:1523
+#: builtin/commit.c:1366 builtin/commit.c:1527
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1341 builtin/commit.c:1525
+#: builtin/commit.c:1368 builtin/commit.c:1529
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1370
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1345 builtin/commit.c:1527
+#: builtin/commit.c:1372 builtin/commit.c:1531
 msgid "compute full ahead/behind values"
 msgstr "calcule les valeurs complètes en avance/en retard"
 
-#: builtin/commit.c:1347
+#: builtin/commit.c:1374
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561
-#: builtin/worktree.c:651
+#: builtin/commit.c:1374 builtin/commit.c:1533 builtin/push.c:539
+#: builtin/worktree.c:722
 msgid "machine-readable output"
 msgstr "sortie pour traitement automatique"
 
-#: builtin/commit.c:1350 builtin/commit.c:1531
+#: builtin/commit.c:1377 builtin/commit.c:1535
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1353 builtin/commit.c:1534
+#: builtin/commit.c:1380 builtin/commit.c:1538
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
-#: builtin/fast-export.c:1125 builtin/fast-export.c:1128
-#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332
+#: builtin/commit.c:1382 builtin/commit.c:1386 builtin/commit.c:1541
+#: builtin/fast-export.c:1199 builtin/fast-export.c:1202
+#: builtin/fast-export.c:1205 builtin/rebase.c:1400 parse-options.h:336
 msgid "mode"
 msgstr "mode"
 
-#: builtin/commit.c:1356 builtin/commit.c:1537
+#: builtin/commit.c:1383 builtin/commit.c:1541
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "afficher les fichiers non suivis, \"mode\" facultatif : all (tous), normal, "
 "no. (Défaut : all)"
 
-#: builtin/commit.c:1360
+#: builtin/commit.c:1387
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -11907,11 +13538,11 @@ msgstr ""
 "afficher les fichiers ignorés, \"mode\" facultatif : traditional "
 "(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1362 parse-options.h:179
+#: builtin/commit.c:1389 parse-options.h:192
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1390
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -11919,175 +13550,175 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1365
+#: builtin/commit.c:1392
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1366
+#: builtin/commit.c:1393
 msgid "do not detect renames"
 msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1395
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 "détecter les renommages, en spécifiant optionnellement le facteur de "
 "similarité"
 
-#: builtin/commit.c:1388
+#: builtin/commit.c:1415
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Combinaison non supportée d'arguments sur les fichiers ignorés et non-suivis"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1497
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1498
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1500
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414
+#: builtin/commit.c:1501 builtin/merge.c:276 builtin/tag.c:415
 msgid "read message from file"
 msgstr "lire le message depuis un fichier"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1502
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1502
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1499 builtin/gc.c:539
+#: builtin/commit.c:1503 builtin/gc.c:539
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1503
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503
-#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92
+#: builtin/commit.c:1505 builtin/commit.c:1506 builtin/commit.c:1507
+#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:87
 msgid "commit"
 msgstr "commit"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1505
 msgid "reuse and edit message from specified commit"
 msgstr "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1506
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1507
 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:1504
+#: builtin/commit.c:1508
 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:1505
+#: builtin/commit.c:1509
 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:1506 builtin/log.c:1564 builtin/merge.c:289
-#: builtin/pull.c:163 builtin/revert.c:110
+#: builtin/commit.c:1510 builtin/log.c:1741 builtin/merge.c:292
+#: builtin/pull.c:145 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1511
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1512
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1514
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1519
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1520
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1517
+#: builtin/commit.c:1521
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1522
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1523
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1524
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1525
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1526
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1535
+#: builtin/commit.c:1539
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1536
+#: builtin/commit.c:1540
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1541
+#: builtin/commit.c:1547
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1543
+#: builtin/commit.c:1549
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1622
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1629
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1650
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1657
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Abandon de la validation dû à un message de validation vide.\n"
 
-#: builtin/commit.c:1654
+#: builtin/commit.c:1662
 #, 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:1688
+#: builtin/commit.c:1696
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -12097,287 +13728,222 @@ msgstr ""
 "new_index. Vérifiez que le disque n'est pas plein ou que le quota\n"
 "n'a pas été dépassé, puis lancez \"git restore --staged :/\" pour réparer."
 
-#: builtin/commit-graph.c:11
-msgid "git commit-graph [--object-dir <objdir>]"
-msgstr "git commit-graph [--object-dir <objdir>]"
-
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
-msgid "git commit-graph read [--object-dir <objdir>]"
-msgstr "git commit-graph read [--object-dir <objdir>]"
-
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
-msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]"
-msgstr "git commit-graph verify [--object-dir <objdir>] [--shallow]"
-
-#: builtin/commit-graph.c:14 builtin/commit-graph.c:29
-msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
-"reachable|--stdin-packs|--stdin-commits] <split options>"
-msgstr ""
-"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
-"reachable|--stdin-packs|--stdin-commits] <options de division>"
-
-#: builtin/commit-graph.c:54 builtin/commit-graph.c:100
-#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163
-#: builtin/log.c:1584
-msgid "dir"
-msgstr "répertoire"
-
-#: builtin/commit-graph.c:55 builtin/commit-graph.c:101
-#: builtin/commit-graph.c:162 builtin/commit-graph.c:238
-msgid "The object directory to store the graph"
-msgstr "Le répertoire d'objet où stocker le graphe"
-
-#: builtin/commit-graph.c:57
-msgid "if the commit-graph is split, only verify the tip file"
-msgstr ""
-"si le graphe de commit est divisé, vérifier seulement le fichier sommet"
-
-#: builtin/commit-graph.c:73 builtin/commit-graph.c:116
-#, c-format
-msgid "Could not open commit-graph '%s'"
-msgstr "impossible d'ouvrir le graphe de commit '%s'"
-
-#: builtin/commit-graph.c:164
-msgid "start walk at all refs"
-msgstr "commencer le parcours à toutes les réfs"
-
-#: builtin/commit-graph.c:166
-msgid "scan pack-indexes listed by stdin for commits"
-msgstr "scanner les index compactés listés sur stdin à la recherche de commits"
-
-#: builtin/commit-graph.c:168
-msgid "start walk at commits listed by stdin"
-msgstr "commencer le parcours aux commits listés sur stdin"
-
-#: builtin/commit-graph.c:170
-msgid "include all commits already in the commit-graph file"
-msgstr ""
-"inclure tous les commits déjà présents dans le fichier de graphe de commits"
-
-#: builtin/commit-graph.c:172
-msgid "allow writing an incremental commit-graph file"
-msgstr "permettre d'écrire un fichier incrémental de graphe de commit"
-
-#: builtin/commit-graph.c:174 builtin/commit-graph.c:178
-msgid "maximum number of commits in a non-base split commit-graph"
-msgstr ""
-"le nombre maximum de commits dans un graphe de commit divisé pas de base"
-
-#: builtin/commit-graph.c:176
-msgid "maximum ratio between two levels of a split commit-graph"
-msgstr "rapport maximum entre deux niveaux d'un graphe de commit divisé"
-
-#: builtin/commit-graph.c:191
-msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
-msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
-
 #: builtin/config.c:11
 msgid "git config [<options>]"
 msgstr "git config [<options>]"
 
-#: builtin/config.c:103 builtin/env--helper.c:23
+#: builtin/config.c:107 builtin/env--helper.c:27
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr "argument --type non reconnu, %s"
 
-#: builtin/config.c:115
+#: builtin/config.c:119
 msgid "only one type at a time"
 msgstr "qu'un seul type à la fois"
 
-#: builtin/config.c:124
+#: builtin/config.c:128
 msgid "Config file location"
 msgstr "Emplacement du fichier de configuration"
 
-#: builtin/config.c:125
+#: builtin/config.c:129
 msgid "use global config file"
 msgstr "utiliser les fichier de configuration global"
 
-#: builtin/config.c:126
+#: builtin/config.c:130
 msgid "use system config file"
 msgstr "utiliser le fichier de configuration du système"
 
-#: builtin/config.c:127
+#: builtin/config.c:131
 msgid "use repository config file"
 msgstr "utiliser le fichier de configuration du dépôt"
 
-#: builtin/config.c:128
+#: builtin/config.c:132
 msgid "use per-worktree config file"
 msgstr "utiliser un fichier de configuration par arbre de travail"
 
-#: builtin/config.c:129
+#: builtin/config.c:133
 msgid "use given config file"
 msgstr "utiliser le fichier de configuration spécifié"
 
-#: builtin/config.c:130
+#: builtin/config.c:134
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:130
+#: builtin/config.c:134
 msgid "read config from given blob object"
 msgstr "lire la configuration depuis l'objet blob fourni"
 
-#: builtin/config.c:131
+#: builtin/config.c:135
 msgid "Action"
 msgstr "Action"
 
-#: builtin/config.c:132
+#: builtin/config.c:136
 msgid "get value: name [value-regex]"
 msgstr "obtenir la valeur : nom [regex-de-valeur]"
 
-#: builtin/config.c:133
+#: builtin/config.c:137
 msgid "get all values: key [value-regex]"
 msgstr "obtenir toutes les valeurs : clé [regex-de-valeur]"
 
-#: builtin/config.c:134
+#: builtin/config.c:138
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "obtenir les valeur pour la regexp : regex-de-nom [regex-de-valeur]"
 
-#: builtin/config.c:135
+#: builtin/config.c:139
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "obtenir la valeur spécifique pour l'URL : section[.var] URL"
 
-#: builtin/config.c:136
+#: builtin/config.c:140
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 "remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]"
 
-#: builtin/config.c:137
+#: builtin/config.c:141
 msgid "add a new variable: name value"
 msgstr "ajouter une nouvelle variable : nom valeur"
 
-#: builtin/config.c:138
+#: builtin/config.c:142
 msgid "remove a variable: name [value-regex]"
 msgstr "supprimer une variable : nom [regex-de-valeur]"
 
-#: builtin/config.c:139
+#: builtin/config.c:143
 msgid "remove all matches: name [value-regex]"
 msgstr "supprimer toutes les correspondances nom [regex-de-valeur]"
 
-#: builtin/config.c:140
+#: builtin/config.c:144
 msgid "rename section: old-name new-name"
 msgstr "renommer une section : ancien-nom nouveau-nom"
 
-#: builtin/config.c:141
+#: builtin/config.c:145
 msgid "remove a section: name"
 msgstr "supprimer une section : nom"
 
-#: builtin/config.c:142
+#: builtin/config.c:146
 msgid "list all"
 msgstr "afficher tout"
 
-#: builtin/config.c:143
+#: builtin/config.c:147
 msgid "open an editor"
 msgstr "ouvrir un éditeur"
 
-#: builtin/config.c:144
+#: builtin/config.c:148
 msgid "find the color configured: slot [default]"
 msgstr "trouver la couleur configurée : slot [par défaut]"
 
-#: builtin/config.c:145
+#: builtin/config.c:149
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "trouver le réglage de la couleur : slot [stdout-est-tty]"
 
-#: builtin/config.c:146
+#: builtin/config.c:150
 msgid "Type"
 msgstr "Type"
 
-#: builtin/config.c:147 builtin/env--helper.c:38
+#: builtin/config.c:151 builtin/env--helper.c:43
 msgid "value is given this type"
 msgstr "ce type est assigné à la valeur"
 
-#: builtin/config.c:148
+#: builtin/config.c:152
 msgid "value is \"true\" or \"false\""
 msgstr "la valeur est \"true\" (vrai) ou \"false\" (faux)"
 
-#: builtin/config.c:149
+#: builtin/config.c:153
 msgid "value is decimal number"
 msgstr "la valeur est un nombre décimal"
 
-#: builtin/config.c:150
+#: builtin/config.c:154
 msgid "value is --bool or --int"
 msgstr "la valeur est --bool ou --int"
 
-#: builtin/config.c:151
+#: builtin/config.c:155
+msgid "value is --bool or string"
+msgstr "la valeur est --bool ou une chaîne"
+
+#: builtin/config.c:156
 msgid "value is a path (file or directory name)"
 msgstr "la valeur est un chemin (vers un fichier ou un répertoire)"
 
-#: builtin/config.c:152
+#: builtin/config.c:157
 msgid "value is an expiry date"
 msgstr "la valeur est une date d'expiration"
 
-#: builtin/config.c:153
+#: builtin/config.c:158
 msgid "Other"
 msgstr "Autre"
 
-#: builtin/config.c:154
+#: builtin/config.c:159
 msgid "terminate values with NUL byte"
 msgstr "terminer les valeurs avec un caractère NUL"
 
-#: builtin/config.c:155
+#: builtin/config.c:160
 msgid "show variable names only"
 msgstr "n'afficher que les noms de variable"
 
-#: builtin/config.c:156
+#: builtin/config.c:161
 msgid "respect include directives on lookup"
 msgstr "respecter les directives d'inclusion lors de la recherche"
 
-#: builtin/config.c:157
+#: builtin/config.c:162
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "afficher l'origine de la configuration (fichier, entrée standard, blob, "
 "ligne de commande)"
 
-#: builtin/config.c:158 builtin/env--helper.c:40
+#: builtin/config.c:163
+msgid "show scope of config (worktree, local, global, system, command)"
+msgstr ""
+"afficher la portée de configuration (arbre de travail, local, global, "
+"système, commande)"
+
+#: builtin/config.c:164 builtin/env--helper.c:45
 msgid "value"
 msgstr "valeur"
 
-#: builtin/config.c:158
+#: builtin/config.c:164
 msgid "with --get, use default value when missing entry"
 msgstr "avec --get, utiliser le valeur par défaut quand l'entrée n'existe pas"
 
-#: builtin/config.c:172
+#: builtin/config.c:178
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr "mauvais nombre d'arguments, devrait être %d"
 
-#: builtin/config.c:174
+#: builtin/config.c:180
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr "mauvais nombre d'arguments, devrait être entre %d et %d"
 
-#: builtin/config.c:308
+#: builtin/config.c:334
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr "motif de clé invalide : %s"
 
-#: builtin/config.c:344
+#: builtin/config.c:370
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "échec du formatage de la valeur de config par défaut : %s"
 
-#: builtin/config.c:401
+#: builtin/config.c:434
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr "impossible d'analyser la couleur '%s'"
 
-#: builtin/config.c:443
+#: builtin/config.c:476
 msgid "unable to parse default color value"
 msgstr "impossible de lire la valeur de couleur par défaut"
 
-#: builtin/config.c:496 builtin/config.c:742
+#: builtin/config.c:529 builtin/config.c:789
 msgid "not in a git directory"
 msgstr "pas dans un répertoire git"
 
-#: builtin/config.c:499
+#: builtin/config.c:532
 msgid "writing to stdin is not supported"
 msgstr "l'écriture sur stdin n'est pas supportée"
 
-#: builtin/config.c:502
+#: builtin/config.c:535
 msgid "writing config blobs is not supported"
 msgstr "l'écriture de blob de configuration n'est pas supportée<"
 
-#: builtin/config.c:587
+#: builtin/config.c:620
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -12392,23 +13958,27 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:611
+#: builtin/config.c:644
 msgid "only one config file at a time"
 msgstr "un seul fichier de configuration à la fois"
 
-#: builtin/config.c:616
+#: builtin/config.c:650
 msgid "--local can only be used inside a git repository"
 msgstr "--local ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:619
+#: builtin/config.c:652
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:638
+#: builtin/config.c:654
+msgid "--worktree can only be used inside a git repository"
+msgstr "--worktree ne peut être utilisé qu'à l'intérieur d'un dépôt git"
+
+#: builtin/config.c:676
 msgid "$HOME not set"
 msgstr "$HOME n'est pas défini"
 
-#: builtin/config.c:658
+#: builtin/config.c:700
 msgid ""
 "--worktree cannot be used with multiple working trees unless the config\n"
 "extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
@@ -12419,19 +13989,19 @@ msgstr ""
 "la section \"CONFIGURATION FILE\" de \"git help worktree\" pour plus de "
 "détails"
 
-#: builtin/config.c:688
+#: builtin/config.c:735
 msgid "--get-color and variable type are incoherent"
 msgstr "--get-color et le type de la variable sont incohérents"
 
-#: builtin/config.c:693
+#: builtin/config.c:740
 msgid "only one action at a time"
 msgstr "une seule action à la fois"
 
-#: builtin/config.c:706
+#: builtin/config.c:753
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr "--name-only n'est applicable qu'avec --list ou --get-regexp"
 
-#: builtin/config.c:712
+#: builtin/config.c:759
 msgid ""
 "--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
 "list"
@@ -12439,33 +14009,33 @@ msgstr ""
 "--show-origin n'est applicable qu'avec --get, --get-all, --get-regexp ou --"
 "list"
 
-#: builtin/config.c:718
+#: builtin/config.c:765
 msgid "--default is only applicable to --get"
 msgstr "--default n'est applicable qu'avec --get"
 
-#: builtin/config.c:731
+#: builtin/config.c:778
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr "lecture du fichier de configuration '%s' impossible"
 
-#: builtin/config.c:734
+#: builtin/config.c:781
 msgid "error processing config file(s)"
 msgstr "erreur lors du traitement de fichier(s) de configuration"
 
-#: builtin/config.c:744
+#: builtin/config.c:791
 msgid "editing stdin is not supported"
 msgstr "l'édition de stdin n'est pas supportée"
 
-#: builtin/config.c:746
+#: builtin/config.c:793
 msgid "editing blobs is not supported"
 msgstr "l'édition de blobs n'est pas supportée"
 
-#: builtin/config.c:760
+#: builtin/config.c:807
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "création impossible du fichier de configuration '%s'"
 
-#: builtin/config.c:773
+#: builtin/config.c:820
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -12474,7 +14044,7 @@ msgstr ""
 "impossible de surcharger des valeurs multiples avec une seule valeur\n"
 "       Utilisez une regexp, --add ou --replace-all pour modifier %s."
 
-#: builtin/config.c:847 builtin/config.c:858
+#: builtin/config.c:894 builtin/config.c:905
 #, c-format
 msgid "no such section: %s"
 msgstr "section inexistante : %s"
@@ -12487,11 +14057,37 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "affiche les tailles dans un format humainement lisible"
 
-#: builtin/describe.c:27
+#: builtin/credential-cache--daemon.c:226
+#, c-format
+msgid ""
+"The permissions on your socket directory are too loose; other\n"
+"users may be able to read your cached credentials. Consider running:\n"
+"\n"
+"\tchmod 0700 %s"
+msgstr ""
+"Les permissions de votre répertoire de socket sont trop permissives ;\n"
+"les autres utilisateurs pourraient lire vos identifiants secrets. Lancez :\n"
+"\n"
+"    chmod 0700 %s"
+
+#: builtin/credential-cache--daemon.c:275
+msgid "print debugging messages to stderr"
+msgstr "afficher les messages de debug sur stderr"
+
+#: builtin/credential-cache--daemon.c:315
+msgid "credential-cache--daemon unavailable; no unix socket support"
+msgstr ""
+"credential-cache-daemon non disponible ; pas de gestion des sockets unix"
+
+#: builtin/credential-cache.c:154
+msgid "credential-cache unavailable; no unix socket support"
+msgstr "credential-cache non disponible ; pas de gestion des socket unix"
+
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<options>] <commit ou apparenté>*"
 
-#: builtin/describe.c:28
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<options>] --dirty"
 
@@ -12507,39 +14103,34 @@ msgstr "léger"
 msgid "annotated"
 msgstr "annoté"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:277
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "l'étiquette annotée %s n'est pas disponible"
 
-#: builtin/describe.c:277
-#, c-format
-msgid "annotated tag %s has no embedded name"
-msgstr "l'étiquette annotée %s n'a pas de nom embarqué"
-
-#: builtin/describe.c:279
+#: builtin/describe.c:281
 #, c-format
-msgid "tag '%s' is really '%s' here"
-msgstr "l'étiquette '%s' est en fait '%s'"
+msgid "tag '%s' is externally known as '%s'"
+msgstr "l'étiquette '%s' est connue à l'extérieur comme '%s'"
 
-#: builtin/describe.c:323
+#: builtin/describe.c:328
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "aucune étiquette ne correspond parfaitement à '%s'"
 
-#: builtin/describe.c:325
+#: builtin/describe.c:330
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr ""
 "Pas de correspondance exacte sur des réfs ou des étiquettes, recherche par "
 "describe\n"
 
-#: builtin/describe.c:379
+#: builtin/describe.c:397
 #, c-format
 msgid "finished search at %s\n"
 msgstr "recherche terminée à %s\n"
 
-#: builtin/describe.c:405
+#: builtin/describe.c:424
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -12548,7 +14139,7 @@ msgstr ""
 "Aucune étiquette annotée ne peut décrire '%s'.\n"
 "Cependant, il existe des étiquettes non-annotées : essayez avec --tags."
 
-#: builtin/describe.c:409
+#: builtin/describe.c:428
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -12557,12 +14148,12 @@ msgstr ""
 "Aucune étiquette ne peut décrire '%s'.\n"
 "Essayez --always, ou créez des étiquettes."
 
-#: builtin/describe.c:439
+#: builtin/describe.c:458
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "%lu commits parcourus\n"
 
-#: builtin/describe.c:442
+#: builtin/describe.c:461
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -12572,149 +14163,159 @@ msgstr ""
 "affichées\n"
 "abandon de la recherche à %s\n"
 
-#: builtin/describe.c:510
+#: builtin/describe.c:529
 #, c-format
 msgid "describe %s\n"
 msgstr "décrire %s\n"
 
-#: builtin/describe.c:513
+#: builtin/describe.c:532
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "%s n'est pas un nom d'objet valide"
 
-#: builtin/describe.c:521
+#: builtin/describe.c:540
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s n'est ni un commit ni un blob"
 
-#: builtin/describe.c:535
+#: builtin/describe.c:554
 msgid "find the tag that comes after the commit"
 msgstr "rechercher l'étiquette qui suit le commit"
 
-#: builtin/describe.c:536
+#: builtin/describe.c:555
 msgid "debug search strategy on stderr"
 msgstr "déboguer la stratégie de recherche sur stderr"
 
-#: builtin/describe.c:537
+#: builtin/describe.c:556
 msgid "use any ref"
 msgstr "utiliser n'importe quelle référence"
 
-#: builtin/describe.c:538
+#: builtin/describe.c:557
 msgid "use any tag, even unannotated"
 msgstr "utiliser n'importe quelle étiquette, même non-annotée"
 
-#: builtin/describe.c:539
+#: builtin/describe.c:558
 msgid "always use long format"
 msgstr "toujours utiliser le format long"
 
-#: builtin/describe.c:540
+#: builtin/describe.c:559
 msgid "only follow first parent"
 msgstr "ne suivre que le premier parent"
 
-#: builtin/describe.c:543
+#: builtin/describe.c:562
 msgid "only output exact matches"
 msgstr "n'afficher que les correspondances exactes"
 
-#: builtin/describe.c:545
+#: builtin/describe.c:564
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 "considérer uniquement les <n> étiquettes le plus récentes (défaut : 10)"
 
-#: builtin/describe.c:547
+#: builtin/describe.c:566
 msgid "only consider tags matching <pattern>"
 msgstr "ne considérer que les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:549
+#: builtin/describe.c:568
 msgid "do not consider tags matching <pattern>"
 msgstr "ne pas considérer les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:551 builtin/name-rev.c:422
+#: builtin/describe.c:570 builtin/name-rev.c:535
 msgid "show abbreviated commit object as fallback"
 msgstr "afficher les objets commits abrégés en dernier recours"
 
-#: builtin/describe.c:552 builtin/describe.c:555
+#: builtin/describe.c:571 builtin/describe.c:574
 msgid "mark"
 msgstr "marque"
 
-#: builtin/describe.c:553
+#: builtin/describe.c:572
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "ajouter <marque> si la copie de travail est sale (défaut : \"-dirty\")"
 
-#: builtin/describe.c:556
+#: builtin/describe.c:575
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr ""
 "ajouter <marque> si la copie de travail est cassée (défaut : \"-broken\")"
 
-#: builtin/describe.c:574
+#: builtin/describe.c:593
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long et --abbrev=0 sont incompatibles"
 
-#: builtin/describe.c:603
+#: builtin/describe.c:622
 msgid "No names found, cannot describe anything."
 msgstr "aucun nom trouvé, impossible de décrire quoi que ce soit."
 
-#: builtin/describe.c:654
+#: builtin/describe.c:673
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty est incompatible avec la spécification de commits ou assimilés"
 
-#: builtin/describe.c:656
+#: builtin/describe.c:675
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken est incompatible avec les commits ou assimilés"
 
-#: builtin/diff.c:84
+#: builtin/diff.c:91
 #, 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:235
+#: builtin/diff.c:241
 #, c-format
 msgid "invalid option: %s"
 msgstr "option invalide : %s"
 
-#: builtin/diff.c:350
+#: builtin/diff.c:358
+#, c-format
+msgid "%s...%s: no merge base"
+msgstr "%s..%s: pas de base de fusion"
+
+#: builtin/diff.c:468
 msgid "Not a git repository"
 msgstr "Ce n'est pas un dépôt git !"
 
-#: builtin/diff.c:394
+#: builtin/diff.c:513
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objet spécifié '%s' invalide."
 
-#: builtin/diff.c:403
+#: builtin/diff.c:524
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "plus de deux blobs spécifiés : '%s'"
 
-#: builtin/diff.c:408
+#: builtin/diff.c:529
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "objet non géré '%s' spécifié."
 
+#: builtin/diff.c:563
+#, c-format
+msgid "%s...%s: multiple merge bases, using %s"
+msgstr "\"%s...%s\" : bases multiples de fusion, utilisation de %s"
+
 #: builtin/difftool.c:30
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
 
-#: builtin/difftool.c:253
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr "échec : %d"
 
-#: builtin/difftool.c:295
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: builtin/difftool.c:297
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "impossible de lire le fichier symlink %s"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "Impossible de lire l'objet %s pour le symlink %s"
 
-#: builtin/difftool.c:406
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -12722,53 +14323,53 @@ msgstr ""
 "les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
 "dans le mode de diff de répertoire ('-d' et '--dir-diff')."
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:634
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:636
 msgid "working tree file has been left."
 msgstr "le fichier dans l'arbre de travail a été laissé."
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:647
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "des fichiers temporaires existent dans '%s'."
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:648
 msgid "you may want to cleanup or recover these."
 msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:697
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
 
-#: builtin/difftool.c:691
+#: builtin/difftool.c:699
 msgid "perform a full-directory diff"
 msgstr "réalise un diff de répertoire complet"
 
-#: builtin/difftool.c:693
+#: builtin/difftool.c:701
 msgid "do not prompt before launching a diff tool"
 msgstr "ne pas confirmer avant de lancer l'outil de diff"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:706
 msgid "use symlinks in dir-diff mode"
 msgstr "utiliser les liens symboliques en mode de diff de répertoire"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:707
 msgid "tool"
 msgstr "outil"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:708
 msgid "use the specified diff tool"
 msgstr "utiliser l'outil de diff spécifié"
 
-#: builtin/difftool.c:702
+#: builtin/difftool.c:710
 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:705
+#: builtin/difftool.c:713
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -12776,31 +14377,31 @@ msgstr ""
 "provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
 "non-nul"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:716
 msgid "specify a custom command for viewing diffs"
 msgstr "spécifier une commande personnalisée pour visualiser les différences"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:717
 msgid "passed to `diff`"
 msgstr "passé à `diff`"
 
-#: builtin/difftool.c:724
+#: builtin/difftool.c:732
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool exige un arbre de travail ou --no-index"
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:739
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dir-diff est incompatible avec --no-index"
 
-#: builtin/difftool.c:734
+#: builtin/difftool.c:742
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui, --tool et --extcmd sont mutuellement exclusifs"
 
-#: builtin/difftool.c:742
+#: builtin/difftool.c:750
 msgid "no <tool> given for --tool=<tool>"
 msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 
-#: builtin/difftool.c:749
+#: builtin/difftool.c:757
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
@@ -12808,27 +14409,27 @@ msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
 msgstr "git env--helper --type=[bool|ulong] <options> <var d'env>"
 
-#: builtin/env--helper.c:37 builtin/hash-object.c:98
+#: builtin/env--helper.c:42 builtin/hash-object.c:98
 msgid "type"
 msgstr "type"
 
-#: builtin/env--helper.c:41
+#: builtin/env--helper.c:46
 msgid "default for git_env_*(...) to fall back on"
 msgstr "valeur par défaut pour git_env_*(...) en cas d'absence"
 
-#: builtin/env--helper.c:43
+#: builtin/env--helper.c:48
 msgid "be quiet only use git_env_*() value as exit code"
 msgstr ""
 "mode silencieux n'utilisant la valeur de git_env_*() que pour le code de "
 "sortie"
 
-#: builtin/env--helper.c:62
+#: builtin/env--helper.c:67
 #, c-format
 msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
 msgstr ""
 "l'option `--default` attend une valeur booléenne avec `--type=bool`, pas `%s`"
 
-#: builtin/env--helper.c:77
+#: builtin/env--helper.c:82
 #, c-format
 msgid ""
 "option `--default' expects an unsigned long value with `--type=ulong`, not `"
@@ -12841,164 +14442,249 @@ msgstr ""
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
 
-#: builtin/fast-export.c:1124
+#: builtin/fast-export.c:868
+msgid "Error: Cannot export nested tags unless --mark-tags is specified."
+msgstr ""
+"Erreur : impossible d'exporter des étiquettes imbriquées à moins que --mark-"
+"tags ne soit spécifié."
+
+#: builtin/fast-export.c:1178
+msgid "--anonymize-map token cannot be empty"
+msgstr "le jeton --anonymize-map ne peut pas être vide"
+
+#: builtin/fast-export.c:1198
 msgid "show progress after <n> objects"
 msgstr "afficher la progression après <n> objets"
 
-#: builtin/fast-export.c:1126
+#: builtin/fast-export.c:1200
 msgid "select handling of signed tags"
 msgstr "sélectionner la gestion des étiquettes signées"
 
-#: builtin/fast-export.c:1129
+#: builtin/fast-export.c:1203
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 "sélectionner la gestion des étiquettes qui pointent sur des objets filtrés"
 
-#: builtin/fast-export.c:1132
+#: builtin/fast-export.c:1206
 msgid "select handling of commit messages in an alternate encoding"
 msgstr ""
 "sélectionner la gestion des messages de validation dans un encodage "
 "alternatif"
 
-#: builtin/fast-export.c:1135
+#: builtin/fast-export.c:1209
 msgid "Dump marks to this file"
 msgstr "Enregistrer les marques dans ce fichier"
 
-#: builtin/fast-export.c:1137
+#: builtin/fast-export.c:1211
 msgid "Import marks from this file"
 msgstr "importer les marques depuis ce fichier"
 
-#: builtin/fast-export.c:1139
+#: builtin/fast-export.c:1215
+msgid "Import marks from this file if it exists"
+msgstr "importer les marques depuis ce fichier s'il existe"
+
+#: builtin/fast-export.c:1217
 msgid "Fake a tagger when tags lack one"
 msgstr "falsifier un auteur d'étiquette si l'étiquette n'en présente pas"
 
-#: builtin/fast-export.c:1141
+#: builtin/fast-export.c:1219
 msgid "Output full tree for each commit"
 msgstr "Afficher l'arbre complet pour chaque commit"
 
-#: builtin/fast-export.c:1143
+#: builtin/fast-export.c:1221
 msgid "Use the done feature to terminate the stream"
 msgstr "Utiliser la fonction \"done\" pour terminer le flux"
 
-#: builtin/fast-export.c:1144
+#: builtin/fast-export.c:1222
 msgid "Skip output of blob data"
 msgstr "Sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1145 builtin/log.c:1632
+#: builtin/fast-export.c:1223 builtin/log.c:1811
 msgid "refspec"
 msgstr "spécificateur de référence"
 
-#: builtin/fast-export.c:1146
+#: builtin/fast-export.c:1224
 msgid "Apply refspec to exported refs"
 msgstr "Appliquer le spécificateur de référence aux références exportées"
 
-#: builtin/fast-export.c:1147
+#: builtin/fast-export.c:1225
 msgid "anonymize output"
 msgstr "anonymise la sortie"
 
-#: builtin/fast-export.c:1149
+#: builtin/fast-export.c:1226
+msgid "from:to"
+msgstr "depuis:vers"
+
+#: builtin/fast-export.c:1227
+msgid "convert <from> to <to> in anonymized output"
+msgstr "convertit <depuis> en <vers> dans la sortie anonymisée"
+
+#: builtin/fast-export.c:1230
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 "les parents références qui ne sont pas dans le flux d'export rapide par id "
 "d'objet"
 
-#: builtin/fast-export.c:1151
+#: builtin/fast-export.c:1232
 msgid "Show original object ids of blobs/commits"
 msgstr "Afficher les ids d'objet originaux des blobs/commits"
 
-#: builtin/fetch.c:30
+#: builtin/fast-export.c:1234
+msgid "Label tags with mark ids"
+msgstr "Marquer les étiquettes avec des ids de marque"
+
+#: builtin/fast-export.c:1257
+msgid "--anonymize-map without --anonymize does not make sense"
+msgstr "--anonymize-map n'a aucune signification sans --anonymize"
+
+#: builtin/fast-export.c:1272
+msgid "Cannot pass both --import-marks and --import-marks-if-exists"
+msgstr ""
+"Impossible d'utiliser à la fois --import-marks et --import-marks-if-exists"
+
+#: builtin/fast-import.c:3086
+#, c-format
+msgid "Missing from marks for submodule '%s'"
+msgstr "Champs from manquants pour le sous-module '%s'"
+
+#: builtin/fast-import.c:3088
+#, c-format
+msgid "Missing to marks for submodule '%s'"
+msgstr "champs to manquants pour le sous-module '%s'"
+
+#: builtin/fast-import.c:3223
+#, c-format
+msgid "Expected 'mark' command, got %s"
+msgstr "commande 'mark' attendue, %s trouvé"
+
+#: builtin/fast-import.c:3228
+#, c-format
+msgid "Expected 'to' command, got %s"
+msgstr "commande 'to' attendue, %s trouvé"
+
+#: builtin/fast-import.c:3320
+msgid "Expected format name:filename for submodule rewrite option"
+msgstr ""
+"Format attendu nom:<nom de fichier> pour l'option de réécriture de sous-"
+"module"
+
+#: builtin/fast-import.c:3374
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr ""
+"la fonctionnalité '%s' est interdite en entrée sans --allow-unsafe-features"
+
+#: builtin/fetch-pack.c:241
+#, c-format
+msgid "Lockfile created but not reported: %s"
+msgstr "Fichier verrou créé mais non reporté : %s"
+
+#: builtin/fetch.c:35
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:36
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<options>] <groupe>"
 
-#: builtin/fetch.c:32
+#: builtin/fetch.c:37
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]"
 
-#: builtin/fetch.c:33
+#: builtin/fetch.c:38
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<options>]"
 
-#: builtin/fetch.c:125 builtin/pull.c:203
+#: builtin/fetch.c:119
+msgid "fetch.parallel cannot be negative"
+msgstr "fetch.parallel ne peut pas être négatif"
+
+#: builtin/fetch.c:142 builtin/pull.c:185
 msgid "fetch from all remotes"
 msgstr "récupérer depuis tous les dépôts distants"
 
-#: builtin/fetch.c:127 builtin/pull.c:206
+#: builtin/fetch.c:144 builtin/pull.c:245
+msgid "set upstream for git pull/fetch"
+msgstr "définir la branche amont pour git pull/fetch"
+
+#: builtin/fetch.c:146 builtin/pull.c:188
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser"
 
-#: builtin/fetch.c:129 builtin/pull.c:209
+#: builtin/fetch.c:148 builtin/pull.c:191
 msgid "path to upload pack on remote end"
 msgstr "chemin vers lequel télécharger le paquet sur le poste distant"
 
-#: builtin/fetch.c:130
+#: builtin/fetch.c:149
 msgid "force overwrite of local reference"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:151
 msgid "fetch from multiple remotes"
 msgstr "récupérer depuis plusieurs dépôts distants"
 
-#: builtin/fetch.c:134 builtin/pull.c:213
+#: builtin/fetch.c:153 builtin/pull.c:195
 msgid "fetch all tags and associated objects"
 msgstr "récupérer toutes les étiquettes et leurs objets associés"
 
-#: builtin/fetch.c:136
+#: builtin/fetch.c:155
 msgid "do not fetch all tags (--no-tags)"
 msgstr "ne pas récupérer toutes les étiquettes (--no-tags)"
 
-#: builtin/fetch.c:138
+#: builtin/fetch.c:157
 msgid "number of submodules fetched in parallel"
 msgstr "nombre de sous-modules récupérés en parallèle"
 
-#: builtin/fetch.c:140 builtin/pull.c:216
+#: builtin/fetch.c:159 builtin/pull.c:198
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "éliminer les branches de suivi distant si la branche n'existe plus dans le "
 "dépôt distant"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:161
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 "éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
 "encombrent les étiquettes modifiées"
 
-#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140
+#: builtin/fetch.c:162 builtin/fetch.c:187 builtin/pull.c:122
 msgid "on-demand"
 msgstr "à la demande"
 
-#: builtin/fetch.c:144
+#: builtin/fetch.c:163
 msgid "control recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/fetch.c:148 builtin/pull.c:224
+#: builtin/fetch.c:168
+msgid "write fetched references to the FETCH_HEAD file"
+msgstr "écrire les références récupérées dans le fichier FETCH_HEAD"
+
+#: builtin/fetch.c:169 builtin/pull.c:206
 msgid "keep downloaded pack"
 msgstr "conserver le paquet téléchargé"
 
-#: builtin/fetch.c:150
+#: builtin/fetch.c:171
 msgid "allow updating of HEAD ref"
 msgstr "permettre la mise à jour de la référence HEAD"
 
-#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227
+#: builtin/fetch.c:174 builtin/fetch.c:180 builtin/pull.c:209
+#: builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "approfondir l'historique d'un clone superficiel"
 
-#: builtin/fetch.c:155
+#: builtin/fetch.c:176 builtin/pull.c:212
 msgid "deepen history of shallow repository based on time"
 msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date"
 
-#: builtin/fetch.c:161 builtin/pull.c:230
+#: builtin/fetch.c:182 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
-#: builtin/fetch.c:164
+#: builtin/fetch.c:185
 msgid "prepend this to submodule path output"
 msgstr "préfixer ceci à la sortie du chemin du sous-module"
 
-#: builtin/fetch.c:167
+#: builtin/fetch.c:188
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -13006,91 +14692,99 @@ msgstr ""
 "par défaut pour la récupération récursive de sous-modules (priorité plus "
 "basse que les fichiers de config)"
 
-#: builtin/fetch.c:171 builtin/pull.c:233
+#: builtin/fetch.c:192 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "accepter les références qui mettent à jour .git/shallow"
 
-#: builtin/fetch.c:172 builtin/pull.c:235
+#: builtin/fetch.c:193 builtin/pull.c:226
 msgid "refmap"
 msgstr "correspondance de référence"
 
-#: builtin/fetch.c:173 builtin/pull.c:236
+#: builtin/fetch.c:194 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:180
+#: builtin/fetch.c:201 builtin/pull.c:240
 msgid "report that we have only objects reachable from this object"
 msgstr "rapporte que nous n'avons que des objets joignables depuis cet objet"
 
-#: builtin/fetch.c:183
-msgid "run 'gc --auto' after fetching"
-msgstr "lancer 'gc --auto' après la récupération"
+#: builtin/fetch.c:204 builtin/fetch.c:206
+msgid "run 'maintenance --auto' after fetching"
+msgstr "lancer 'maintenance --auto' après la récupération"
 
-#: builtin/fetch.c:185 builtin/pull.c:245
+#: builtin/fetch.c:208 builtin/pull.c:243
 msgid "check for forced-updates on all updated branches"
 msgstr "vérifier les mises à jour forcées sur toutes les branches mises à jour"
 
-#: builtin/fetch.c:491
+#: builtin/fetch.c:210
+msgid "write the commit-graph after fetching"
+msgstr "écrire le graphe de commits après le rapatriement"
+
+#: builtin/fetch.c:212
+msgid "accept refspecs from stdin"
+msgstr "lire les spécificateurs de référence depuis l'entrée standard"
+
+#: builtin/fetch.c:523
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:630
+#: builtin/fetch.c:677
 #, 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:728
+#: builtin/fetch.c:775
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:732
+#: builtin/fetch.c:779
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833
+#: builtin/fetch.c:792 builtin/fetch.c:808 builtin/fetch.c:880
 msgid "[rejected]"
 msgstr "[rejeté]"
 
-#: builtin/fetch.c:746
+#: builtin/fetch.c:793
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:756
+#: builtin/fetch.c:803
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816
-#: builtin/fetch.c:828
+#: builtin/fetch.c:804 builtin/fetch.c:841 builtin/fetch.c:863
+#: builtin/fetch.c:875
 msgid "unable to update local ref"
 msgstr "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:761
+#: builtin/fetch.c:808
 msgid "would clobber existing tag"
 msgstr "écraserait l'étiquette existante"
 
-#: builtin/fetch.c:783
+#: builtin/fetch.c:830
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:786
+#: builtin/fetch.c:833
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:789
+#: builtin/fetch.c:836
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:828
+#: builtin/fetch.c:875
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:833
+#: builtin/fetch.c:880
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: builtin/fetch.c:854
+#: builtin/fetch.c:901
 msgid ""
 "Fetch normally indicates which branches had a forced update,\n"
 "but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
@@ -13100,7 +14794,7 @@ msgstr ""
 "mais ceci a été désactivé. Pour ré-activer, utilisez le drapeau\n"
 "'--show-forced-update' ou lancez 'git config fetch.showForcedUpdates true'."
 
-#: builtin/fetch.c:858
+#: builtin/fetch.c:905
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -13112,23 +14806,23 @@ msgstr ""
 "Vous pouvez utiliser '--no-show-forced-update' ou lancer\n"
 "'git config fetch.showForcedUpdates false' pour éviter ceci.\n"
 
-#: builtin/fetch.c:888
+#: builtin/fetch.c:939
 #, 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:909
+#: builtin/fetch.c:960
 #, 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:1000 builtin/fetch.c:1131
+#: builtin/fetch.c:1053 builtin/fetch.c:1191
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:1011
+#: builtin/fetch.c:1064
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -13137,58 +14831,79 @@ 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:1101
+#: builtin/fetch.c:1161
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:1102
+#: builtin/fetch.c:1162
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:1134
+#: builtin/fetch.c:1194
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:1135 builtin/remote.c:1036
+#: builtin/fetch.c:1195 builtin/remote.c:1113
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:1158
+#: builtin/fetch.c:1218
 #, 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:1177
+#: builtin/fetch.c:1237
 #, 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:1180
+#: builtin/fetch.c:1240
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1484
+#: builtin/fetch.c:1448
+msgid "multiple branches detected, incompatible with --set-upstream"
+msgstr "branches multiples détectées, imcompatible avec --set-upstream"
+
+#: builtin/fetch.c:1463
+msgid "not setting upstream for a remote remote-tracking branch"
+msgstr "dépôt amont non défini pour la branche de suivi à distance"
+
+#: builtin/fetch.c:1465
+msgid "not setting upstream for a remote tag"
+msgstr "dépôt amont non défini pour l'étiquette distante"
+
+#: builtin/fetch.c:1467
+msgid "unknown branch type"
+msgstr "type de branche inconnu"
+
+#: builtin/fetch.c:1469
+msgid ""
+"no source branch found.\n"
+"you need to specify exactly one branch with the --set-upstream option."
+msgstr ""
+"Aucune branche source trouvée.\n"
+"Vous devez spécifier exactement une branche avec l'option --set-upstream."
+
+#: builtin/fetch.c:1598 builtin/fetch.c:1661
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %s\n"
 
-#: builtin/fetch.c:1486 builtin/remote.c:100
+#: builtin/fetch.c:1608 builtin/fetch.c:1663 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1532
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialClone"
-msgstr ""
-"--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
-"extensions.partialClone"
+#: builtin/fetch.c:1620
+#, c-format
+msgid "could not fetch '%s' (exit code: %d)\n"
+msgstr "impossible de récupérer '%s' (code de sortie : %d)\n"
 
-#: builtin/fetch.c:1556
+#: builtin/fetch.c:1724
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -13196,46 +14911,46 @@ 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:1593
+#: builtin/fetch.c:1760
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1644
+#: builtin/fetch.c:1825
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1646
+#: builtin/fetch.c:1827
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1651
+#: builtin/fetch.c:1832
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1834
 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:1669
+#: builtin/fetch.c:1851
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1671
+#: builtin/fetch.c:1853
 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:1680
+#: builtin/fetch.c:1862
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1687
+#: builtin/fetch.c:1869
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "La récupération d'un groupe et les spécifications de référence n'ont pas de "
 "sens"
 
-#: builtin/fetch.c:1703
+#: builtin/fetch.c:1887
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -13243,29 +14958,33 @@ msgstr ""
 "--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
 "extensions.partialClone"
 
-#: builtin/fmt-merge-msg.c:18
+#: builtin/fetch.c:1891
+msgid "--stdin can only be used when fetching from one remote"
+msgstr "--stdin ne peut être utilisée qu'en récupérant depuis un seul distant"
+
+#: builtin/fmt-merge-msg.c:7
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <fichier>]"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:18
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "peupler le journal avec au plus <n> éléments depuis le journal court"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:21
 msgid "alias for --log (deprecated)"
 msgstr "alias pour --log (obsolète)"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:24
 msgid "text"
 msgstr "texte"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:25
 msgid "use <text> as start of message"
 msgstr "utiliser <texte> comme début de message"
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:26
 msgid "file to read from"
 msgstr "fichier d'où lire"
 
@@ -13278,8 +14997,8 @@ msgid "git for-each-ref [--points-at <object>]"
 msgstr "git for-each-ref [--points-at <objet>]"
 
 #: builtin/for-each-ref.c:12
-msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
-msgstr "git for-each-ref [(--merged | --no-merged) [<commit>]]"
+msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
+msgstr "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
 
 #: builtin/for-each-ref.c:13
 msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
@@ -13305,7 +15024,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:39 builtin/tag.c:439
+#: builtin/for-each-ref.c:39 builtin/tag.c:440
 msgid "respect format colors"
 msgstr "respecter les couleurs de formatage"
 
@@ -13329,32 +15048,32 @@ msgstr "afficher seulement les références qui contiennent le commit"
 msgid "print only refs which don't contain the commit"
 msgstr "afficher seulement les références qui ne contiennent pas le commit"
 
-#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161
+#: builtin/fsck.c:69 builtin/fsck.c:148 builtin/fsck.c:149
 msgid "unknown"
 msgstr "inconnu"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:120 builtin/fsck.c:136
+#: builtin/fsck.c:101 builtin/fsck.c:121
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "erreur dans l'objet %s %s : %s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:131
+#: builtin/fsck.c:115
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "avertissement dans l'objet %s %s : %s"
 
-#: builtin/fsck.c:157 builtin/fsck.c:159
+#: builtin/fsck.c:144 builtin/fsck.c:147
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "lien cassé dans l'objet %7s %s"
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:156
 msgid "wrong object type in link"
 msgstr "type d'objet inconnu dans le lien"
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:172
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -13363,236 +15082,236 @@ msgstr ""
 "lien cassé depuis %7s %s\n"
 "             vers %7s %s"
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:283
 #, c-format
 msgid "missing %s %s"
 msgstr "objet %s manquant %s"
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:310
 #, c-format
 msgid "unreachable %s %s"
 msgstr "objet %s inatteignable %s"
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:330
 #, c-format
 msgid "dangling %s %s"
 msgstr "objet %s fantôme %s"
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:340
 msgid "could not create lost-found"
 msgstr "impossible de créer le fichier lost-found"
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:351
 #, c-format
 msgid "could not finish '%s'"
 msgstr "impossible de finir '%s'"
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:368
 #, c-format
 msgid "Checking %s"
 msgstr "Vérification de l'objet %s"
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:406
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Vérification de la connectivité (%d objets)"
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:425
 #, c-format
 msgid "Checking %s %s"
 msgstr "Vérification de l'objet %s %s"
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:430
 msgid "broken links"
 msgstr "liens cassés"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:439
 #, c-format
 msgid "root %s"
 msgstr "racine %s"
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:447
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "étiquetage de l'objet %s %s (%s) dans %s"
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:476
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s : objet corrompu ou manquant"
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:501
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s : entrée %s de journal de références invalide"
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:515
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Vérification du journal de réferences %s-> %s"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:549
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s : pointeur de sha1 invalide %s"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:556
 #, c-format
 msgid "%s: not a commit"
 msgstr "l'objet %s n'est pas un commit"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:610
 msgid "notice: No default references"
 msgstr "Note : pas de référence par défaut"
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:625
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s : objet corrompu ou manquant : %s"
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:638
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s : impossible d'analyser : %s"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:658
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "mauvais fichier de sha1 : %s"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:673
 msgid "Checking object directory"
 msgstr "Vérification du répertoire d'objet"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:676
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:691
 #, c-format
 msgid "Checking %s link"
 msgstr "Vérification du lien %s"
 
-#: builtin/fsck.c:705 builtin/index-pack.c:842
+#: builtin/fsck.c:696 builtin/index-pack.c:865
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:703
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s pointe sur quelque chose bizarre (%s)"
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:709
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s : la HEAD détachée ne pointe sur rien"
 
-#: builtin/fsck.c:722
+#: builtin/fsck.c:713
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "note : %s pointe sur une branche non-née (%s)"
 
-#: builtin/fsck.c:734
+#: builtin/fsck.c:725
 msgid "Checking cache tree"
 msgstr "Vérification de l'arbre cache"
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:730
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s : pointer sha1 invalide dans l'arbre de cache"
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:739
 msgid "non-tree in cache-tree"
 msgstr "non-arbre dans l'arbre de cache"
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:770
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:776
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:777
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:778
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:779
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:780
 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:792
+#: builtin/fsck.c:781
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:782
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:794
+#: builtin/fsck.c:783
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:784
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:786
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:798 builtin/prune.c:132
+#: builtin/fsck.c:787 builtin/prune.c:134
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:788
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:225
+#: builtin/fsck.c:847 builtin/index-pack.c:261
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:875
 #, c-format
 msgid "%s: object missing"
 msgstr "%s : objet manquant"
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:886
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "paramètre invalide : sha-1 attendu, '%s' trouvé"
 
-#: builtin/gc.c:34
+#: builtin/gc.c:36
 msgid "git gc [<options>]"
 msgstr "git gc [<options>]"
 
-#: builtin/gc.c:90
+#: builtin/gc.c:91
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "Échec du stat de %s : %s"
 
-#: builtin/gc.c:126
+#: builtin/gc.c:127
 #, c-format
 msgid "failed to parse '%s' value '%s'"
 msgstr "échec de l'analyse de '%s' valeur '%s'"
 
-#: builtin/gc.c:476 builtin/init-db.c:55
+#: builtin/gc.c:476 builtin/init-db.c:58
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "impossible de faire un stat de '%s'"
 
-#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:530
 #, c-format
 msgid "cannot read '%s'"
 msgstr "impossible de lire '%s'"
@@ -13677,7 +15396,60 @@ msgstr ""
 "Il y a trop d'objets seuls inaccessibles ; lancez 'git prune' pour les "
 "supprimer."
 
-#: builtin/grep.c:29
+#: builtin/gc.c:705
+msgid "git maintenance run [--auto] [--[no-]quiet] [--task=<task>]"
+msgstr "git maintenance run [--auto] [--[no-]quiet] [--task=<tâche>]"
+
+#: builtin/gc.c:812
+msgid "failed to write commit-graph"
+msgstr "échec de l'écriture du graphe de commits"
+
+#: builtin/gc.c:905
+#, c-format
+msgid "lock file '%s' exists, skipping maintenance"
+msgstr "le fichier verrou '%s' existe, pas de maintenance"
+
+#: builtin/gc.c:932
+#, c-format
+msgid "task '%s' failed"
+msgstr "échec de la tâche '%s'"
+
+#: builtin/gc.c:979
+#, c-format
+msgid "'%s' is not a valid task"
+msgstr "'%s' n'est pas une tâche valide"
+
+#: builtin/gc.c:984
+#, c-format
+msgid "task '%s' cannot be selected multiple times"
+msgstr "la tâche '%s' ne peut pas être sélectionnée plusieurs fois"
+
+#: builtin/gc.c:999
+msgid "run tasks based on the state of the repository"
+msgstr "lancer les tâches selon l'état du dépôt"
+
+#: builtin/gc.c:1001
+msgid "do not report progress or other information over stderr"
+msgstr "ne pas afficher le progrès ou d'autres informations sur stderr"
+
+#: builtin/gc.c:1002
+msgid "task"
+msgstr "tâche"
+
+#: builtin/gc.c:1003
+msgid "run a specific task"
+msgstr "lancer une tâche spécifique"
+
+#: builtin/gc.c:1026
+msgid "git maintenance run [<options>]"
+msgstr "git maintenance run [<options>]"
+
+#: builtin/gc.c:1037
+#, c-format
+msgid "invalid subcommand: %s"
+msgstr "sous-commande invalide : %s"
+
+#: builtin/grep.c:30
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
@@ -13695,266 +15467,266 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727
-#: builtin/pack-objects.c:2728
+#: builtin/grep.c:287 builtin/index-pack.c:1576 builtin/index-pack.c:1766
+#: builtin/pack-objects.c:2936
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "pas de support des fils, ignore %s"
 
-#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633
+#: builtin/grep.c:475 builtin/grep.c:600 builtin/grep.c:640
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:655
 #, 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:714
+#: builtin/grep.c:725
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend une valeur numérique"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:824
 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:815
+#: builtin/grep.c:826
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:817
+#: builtin/grep.c:828
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:830
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:821
+#: builtin/grep.c:832
 msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:835
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:826
+#: builtin/grep.c:837
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:839
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:830
+#: builtin/grep.c:841
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:843
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:835
+#: builtin/grep.c:846
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:848
 msgid "search in subdirectories (default)"
 msgstr "rechercher dans les sous-répertoires (défaut)"
 
-#: builtin/grep.c:839
+#: builtin/grep.c:850
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:854
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:846
+#: builtin/grep.c:857
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:860
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:852
+#: builtin/grep.c:863
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:866
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:867
 msgid "show column number of first match"
 msgstr "afficher le numéro de colonne de la première correspondance"
 
-#: builtin/grep.c:857
+#: builtin/grep.c:868
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:869
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:871
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:873
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:864
+#: builtin/grep.c:875
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:867
+#: builtin/grep.c:878
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:880
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:883
 msgid "show only matching parts of a line"
 msgstr "n'afficher que les parties correspondantes d'une ligne"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:885
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:886
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:888
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:890
 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:882
+#: builtin/grep.c:893
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:896
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:898
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:889
+#: builtin/grep.c:900
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:901
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:893
+#: builtin/grep.c:904
 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:895
+#: builtin/grep.c:906
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:909
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:911
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:913
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:914
+#: builtin/grep.c:925
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:927
 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:918
+#: builtin/grep.c:929
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:933
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:933
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:926
+#: builtin/grep.c:937
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:990
+#: builtin/grep.c:1004
 msgid "no pattern given"
 msgstr "aucun motif fourni"
 
-#: builtin/grep.c:1026
+#: builtin/grep.c:1040
 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:1034
+#: builtin/grep.c:1048
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "impossible de résoudre la révision : %s"
 
-#: builtin/grep.c:1065
+#: builtin/grep.c:1078
+msgid "--untracked not supported with --recurse-submodules"
+msgstr "--untracked non supportée avec --recurse-submodules"
+
+#: builtin/grep.c:1082
 msgid "invalid option combination, ignoring --threads"
 msgstr "option de combinaison invalide, ignore --threads"
 
-#: builtin/grep.c:1068 builtin/pack-objects.c:3416
+#: builtin/grep.c:1085 builtin/pack-objects.c:3655
 msgid "no threads support, ignoring --threads"
 msgstr "pas de support des fils, ignore --threads"
 
-#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725
+#: builtin/grep.c:1088 builtin/index-pack.c:1573 builtin/pack-objects.c:2933
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1094
+#: builtin/grep.c:1122
 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:1117
-msgid "option not supported with --recurse-submodules"
-msgstr "option non supportée avec --recurse-submodules"
-
-#: builtin/grep.c:1123
+#: builtin/grep.c:1148
 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:1129
+#: builtin/grep.c:1154
 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:1137
+#: builtin/grep.c:1162
 msgid "both --cached and trees are given"
 msgstr "--cached et des arbres sont fournis en même temps"
 
@@ -13997,66 +15769,66 @@ msgstr ""
 msgid "process file as it were from this path"
 msgstr "traiter le fichier comme s'il venait de ce chemin"
 
-#: builtin/help.c:46
+#: builtin/help.c:47
 msgid "print all available commands"
 msgstr "afficher toutes les commandes disponibles"
 
-#: builtin/help.c:47
+#: builtin/help.c:48
 msgid "exclude guides"
 msgstr "exclure les guides"
 
-#: builtin/help.c:48
+#: builtin/help.c:49
 msgid "print list of useful guides"
 msgstr "afficher une liste de guides utiles"
 
-#: builtin/help.c:49
+#: builtin/help.c:50
 msgid "print all configuration variable names"
 msgstr "afficher tous les noms de variables de configuration"
 
-#: builtin/help.c:51
+#: builtin/help.c:52
 msgid "show man page"
 msgstr "afficher la page de manuel"
 
-#: builtin/help.c:52
+#: builtin/help.c:53
 msgid "show manual in web browser"
 msgstr "afficher le manuel dans un navigateur web"
 
-#: builtin/help.c:54
+#: builtin/help.c:55
 msgid "show info page"
 msgstr "afficher la page info"
 
-#: builtin/help.c:56
+#: builtin/help.c:57
 msgid "print command description"
 msgstr "afficher la description de la commande"
 
-#: builtin/help.c:61
+#: builtin/help.c:62
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<commande>]"
 
-#: builtin/help.c:77
+#: builtin/help.c:163
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "format d'aide non reconnu '%s'"
 
-#: builtin/help.c:104
+#: builtin/help.c:190
 msgid "Failed to start emacsclient."
 msgstr "échec de démarrage d'emacsclient."
 
-#: builtin/help.c:117
+#: builtin/help.c:203
 msgid "Failed to parse emacsclient version."
 msgstr "échec d'analyse de la version d'emacsclient."
 
-#: builtin/help.c:125
+#: builtin/help.c:211
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "la version d'emacsclient '%d' est trop ancienne (<22)."
 
-#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183
+#: builtin/help.c:229 builtin/help.c:251 builtin/help.c:261 builtin/help.c:269
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "échec de l'exécution de '%s'"
 
-#: builtin/help.c:221
+#: builtin/help.c:307
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -14065,7 +15837,7 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel non supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:233
+#: builtin/help.c:319
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -14074,397 +15846,425 @@ msgstr ""
 "'%s' : chemin pour l'utilitaire de visualisation de manuel supporté.\n"
 "Veuillez utiliser plutôt 'man.<outil>.cmd'."
 
-#: builtin/help.c:350
+#: builtin/help.c:436
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s' : visualiseur de manuel inconnu."
 
-#: builtin/help.c:367
+#: builtin/help.c:453
 msgid "no man viewer handled the request"
 msgstr "aucun visualiseur de manuel n'a pris en charge la demande"
 
-#: builtin/help.c:375
+#: builtin/help.c:461
 msgid "no info viewer handled the request"
 msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
 
-#: builtin/help.c:434 builtin/help.c:445 git.c:336
+#: builtin/help.c:520 builtin/help.c:531 git.c:337
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' est un alias de '%s'"
 
-#: builtin/help.c:448 git.c:365
+#: builtin/help.c:534 git.c:369
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "Mauvais chaîne alias.%s : %s"
 
-#: builtin/help.c:477 builtin/help.c:507
+#: builtin/help.c:563 builtin/help.c:593
 #, c-format
 msgid "usage: %s%s"
 msgstr "usage : %s%s"
 
-#: builtin/help.c:491
+#: builtin/help.c:577
 msgid "'git help config' for more information"
 msgstr "'git help config' pour plus d'information"
 
-#: builtin/index-pack.c:185
+#: builtin/index-pack.c:221
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "type d'objet non correspondant à %s"
 
-#: builtin/index-pack.c:205
+#: builtin/index-pack.c:241
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "objet attendu non reçu %s"
 
-#: builtin/index-pack.c:208
+#: builtin/index-pack.c:244
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "objet %s : type attendu %s, reçu %s"
 
-#: builtin/index-pack.c:258
+#: builtin/index-pack.c:294
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "impossible de remplir %d octet"
 msgstr[1] "impossible de remplir %d octets"
 
-#: builtin/index-pack.c:268
+#: builtin/index-pack.c:304
 msgid "early EOF"
 msgstr "fin de fichier prématurée"
 
-#: builtin/index-pack.c:269
+#: builtin/index-pack.c:305
 msgid "read error on input"
 msgstr "erreur de lecture sur l'entrée"
 
-#: builtin/index-pack.c:281
+#: builtin/index-pack.c:317
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: builtin/index-pack.c:288 builtin/pack-objects.c:604
+#: builtin/index-pack.c:324 builtin/pack-objects.c:619
 msgid "pack too large for current definition of off_t"
 msgstr "le paquet est trop grand pour la définition actuelle de off_t"
 
-#: builtin/index-pack.c:291 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "le paquet dépasse la taille maximale permise"
 
-#: builtin/index-pack.c:312
+#: builtin/index-pack.c:342 builtin/repack.c:254
+#, c-format
+msgid "unable to create '%s'"
+msgstr "impossible de créer '%s'"
+
+#: builtin/index-pack.c:348
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "impossible d'ouvrir le fichier paquet '%s'"
 
-#: builtin/index-pack.c:326
+#: builtin/index-pack.c:362
 msgid "pack signature mismatch"
 msgstr "la signature du paquet ne correspond pas"
 
-#: builtin/index-pack.c:328
+#: builtin/index-pack.c:364
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "la version de paquet %<PRIu32> non supportée"
 
-#: builtin/index-pack.c:346
+#: builtin/index-pack.c:382
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "le paquet a un mauvais objet à l'offset %<PRIuMAX> : %s"
 
-#: builtin/index-pack.c:466
+#: builtin/index-pack.c:488
 #, c-format
 msgid "inflate returned %d"
 msgstr "la décompression (inflate) a retourné %d"
 
-#: builtin/index-pack.c:515
+#: builtin/index-pack.c:537
 msgid "offset value overflow for delta base object"
 msgstr "dépassement de la valeur d'offset pour l'objet delta de base"
 
-#: builtin/index-pack.c:523
+#: builtin/index-pack.c:545
 msgid "delta base offset is out of bound"
 msgstr "l'objet delta de base est hors limite"
 
-#: builtin/index-pack.c:531
+#: builtin/index-pack.c:553
 #, c-format
 msgid "unknown object type %d"
 msgstr "type d'objet inconnu %d"
 
-#: builtin/index-pack.c:562
+#: builtin/index-pack.c:584
 msgid "cannot pread pack file"
 msgstr "impossible de lire (pread) le fichier paquet"
 
-#: builtin/index-pack.c:564
+#: builtin/index-pack.c:586
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "fin prématurée du fichier paquet, %<PRIuMAX> octet lu"
 msgstr[1] "fin prématurée du fichier paquet, %<PRIuMAX> octets lus"
 
-#: builtin/index-pack.c:590
+#: builtin/index-pack.c:612
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764
-#: builtin/index-pack.c:803 builtin/index-pack.c:812
+#: builtin/index-pack.c:757 builtin/index-pack.c:763 builtin/index-pack.c:787
+#: builtin/index-pack.c:826 builtin/index-pack.c:835
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: builtin/index-pack.c:738 builtin/pack-objects.c:157
-#: builtin/pack-objects.c:217 builtin/pack-objects.c:311
+#: builtin/index-pack.c:760 builtin/pack-objects.c:171
+#: builtin/pack-objects.c:231 builtin/pack-objects.c:326
 #, c-format
 msgid "unable to read %s"
 msgstr "impossible de lire %s"
 
-#: builtin/index-pack.c:801
+#: builtin/index-pack.c:824
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:809
+#: builtin/index-pack.c:832
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:823
+#: builtin/index-pack.c:846
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %s"
 
-#: builtin/index-pack.c:826 builtin/index-pack.c:845
+#: builtin/index-pack.c:849 builtin/index-pack.c:868
 msgid "fsck error in packed object"
 msgstr "erreur de fsck dans l'objet empaqueté"
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:870
 #, 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:919 builtin/index-pack.c:950
+#: builtin/index-pack.c:931 builtin/index-pack.c:978
 msgid "failed to apply delta"
 msgstr "échec d'application du delta"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1161
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1161
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1152
+#: builtin/index-pack.c:1195
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1200
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1203
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1172
+#: builtin/index-pack.c:1215
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1238
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497
+#: builtin/index-pack.c:1249 builtin/pack-objects.c:2697
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1246
+#: builtin/index-pack.c:1282
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: builtin/index-pack.c:1252
+#: builtin/index-pack.c:1288
 #, 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:1264
+#: builtin/index-pack.c:1300
 #, 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:1268
+#: builtin/index-pack.c:1304
 #, 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:1292
+#: builtin/index-pack.c:1328
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1388
+#: builtin/index-pack.c:1424
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1402
+#: builtin/index-pack.c:1444
 #, 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:1427
+#: builtin/index-pack.c:1469
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1435
+#: builtin/index-pack.c:1477
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "impossible de fermer le fichier %s écrit '%s'"
 
-#: builtin/index-pack.c:1459
+#: builtin/index-pack.c:1501
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1473
+#: builtin/index-pack.c:1515
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1481
+#: builtin/index-pack.c:1523
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736
+#: builtin/index-pack.c:1567 builtin/pack-objects.c:2944
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1631
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1595
+#: builtin/index-pack.c:1633
 #, 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:1643
+#: builtin/index-pack.c:1681
 #, 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:1650
+#: builtin/index-pack.c:1688
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "longueur chaînée = %d : %lu objet"
 msgstr[1] "longueur chaînée = %d : %lu objets"
 
-#: builtin/index-pack.c:1689
+#: builtin/index-pack.c:1728
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: builtin/index-pack.c:1738 builtin/index-pack.c:1741
-#: builtin/index-pack.c:1757 builtin/index-pack.c:1761
+#: builtin/index-pack.c:1777 builtin/index-pack.c:1780
+#: builtin/index-pack.c:1796 builtin/index-pack.c:1800
 #, c-format
 msgid "bad %s"
 msgstr "mauvais %s"
 
-#: builtin/index-pack.c:1777
+#: builtin/index-pack.c:1806 builtin/init-db.c:391 builtin/init-db.c:623
+#, c-format
+msgid "unknown hash algorithm '%s'"
+msgstr "algorithme d'empreinte inconnu '%s'"
+
+#: builtin/index-pack.c:1821
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1779
+#: builtin/index-pack.c:1823
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1785
+#: builtin/index-pack.c:1825
+msgid "--object-format cannot be used with --stdin"
+msgstr "--object-format ne peut pas être utilisé avec --stdin"
+
+#: builtin/index-pack.c:1831
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
-#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1892 builtin/unpack-objects.c:582
 msgid "fsck error in pack objects"
 msgstr "erreur de fsck dans les objets paquets"
 
-#: builtin/init-db.c:61
+#: builtin/init-db.c:64
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "impossible de faire un stat du modèle '%s'"
 
-#: builtin/init-db.c:66
+#: builtin/init-db.c:69
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "impossible d'ouvrir le répertoire '%s'"
 
-#: builtin/init-db.c:78
+#: builtin/init-db.c:81
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "impossible de lire le lien '%s'"
 
-#: builtin/init-db.c:80
+#: builtin/init-db.c:83
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "impossible de créer un lien symbolique de '%s' '%s'"
 
-#: builtin/init-db.c:86
+#: builtin/init-db.c:89
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: builtin/init-db.c:90
+#: builtin/init-db.c:93
 #, c-format
 msgid "ignoring template %s"
 msgstr "modèle %s ignoré"
 
-#: builtin/init-db.c:121
+#: builtin/init-db.c:124
 #, c-format
 msgid "templates not found in %s"
 msgstr "modèles non trouvés dans %s"
 
-#: builtin/init-db.c:136
+#: builtin/init-db.c:139
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "pas de copie des modèles depuis '%s' : %s"
 
-#: builtin/init-db.c:334
+#: builtin/init-db.c:274
+#, c-format
+msgid "invalid initial branch name: '%s'"
+msgstr "Nom de branche initiale invalide : '%s'"
+
+#: builtin/init-db.c:366
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "impossible de traiter le fichier de type %d"
 
-#: builtin/init-db.c:337
+#: builtin/init-db.c:369
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "impossible de déplacer %s vers %s"
 
-#: builtin/init-db.c:354 builtin/init-db.c:357
+#: builtin/init-db.c:385
+msgid "attempt to reinitialize repository with different hash"
+msgstr "essai de réinitialisation du dépôt avec une empreinte différente"
+
+#: builtin/init-db.c:409 builtin/init-db.c:412
 #, c-format
 msgid "%s already exists"
 msgstr "%s existe déjà"
 
-#: builtin/init-db.c:413
+#: builtin/init-db.c:443
+#, c-format
+msgid "re-init: ignored --initial-branch=%s"
+msgstr "re-initialisation : --initial-branch=%s ignoré"
+
+#: builtin/init-db.c:474
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "Dépôt Git existant partagé réinitialisé dans %s%s\n"
 
-#: builtin/init-db.c:414
+#: builtin/init-db.c:475
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "Dépôt Git existant réinitialisé dans %s%s\n"
 
-#: builtin/init-db.c:418
+#: builtin/init-db.c:479
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "Dépôt Git vide partagé initialisé dans %s%s\n"
 
-#: builtin/init-db.c:419
+#: builtin/init-db.c:480
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Dépôt Git vide initialisé dans %s%s\n"
 
-#: builtin/init-db.c:468
+#: builtin/init-db.c:529
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -14472,25 +16272,41 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<répertoire-modèle>] [--"
 "shared[=<permissions>]] [<répertoire>]"
 
-#: builtin/init-db.c:491
+#: builtin/init-db.c:555
 msgid "permissions"
 msgstr "permissions"
 
-#: builtin/init-db.c:492
+#: builtin/init-db.c:556
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "spécifier que le dépôt git sera partagé entre plusieurs utilisateurs"
 
-#: builtin/init-db.c:529 builtin/init-db.c:534
+#: builtin/init-db.c:562
+msgid "override the name of the initial branch"
+msgstr "outrepasser le nom de la branche initiale"
+
+#: builtin/init-db.c:563 builtin/verify-pack.c:74
+msgid "hash"
+msgstr "empreinte"
+
+#: builtin/init-db.c:564 builtin/show-index.c:22 builtin/verify-pack.c:75
+msgid "specify the hash algorithm to use"
+msgstr "spécifier l'algorithme d'empreinte à utiliser"
+
+#: builtin/init-db.c:571
+msgid "--separate-git-dir and --bare are mutually exclusive"
+msgstr "--separate-git-dir et --bare sont mutuellement exclusifs"
+
+#: builtin/init-db.c:600 builtin/init-db.c:605
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "impossible de créer le répertoire (mkdir) %s"
 
-#: builtin/init-db.c:538
+#: builtin/init-db.c:609 builtin/init-db.c:664
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "impossible de se déplacer vers le répertoire (chdir) %s"
 
-#: builtin/init-db.c:559
+#: builtin/init-db.c:636
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -14499,11 +16315,15 @@ msgstr ""
 "%s (ou --work-tree=<répertoire>) n'est pas autorisé sans spécifier %s (ou --"
 "git-dir=<répertoire>)"
 
-#: builtin/init-db.c:587
+#: builtin/init-db.c:688
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Impossible d'accéder à l'arbre de travail '%s'"
 
+#: builtin/init-db.c:693
+msgid "--separate-git-dir incompatible with bare repository"
+msgstr "--separate-git-dir est incompatible avec un dépôt nu"
+
 #: builtin/interpret-trailers.c:16
 msgid ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
@@ -14568,123 +16388,128 @@ msgstr "--trailer n'a aucune signification avec --only-input"
 msgid "no input file given for in-place editing"
 msgstr "aucun fichier en entrée pour l'éditon sur place"
 
-#: builtin/log.c:55
+#: builtin/log.c:56
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 
-#: builtin/log.c:56
+#: builtin/log.c:57
 msgid "git show [<options>] <object>..."
 msgstr "git show [<options>] <objet>..."
 
-#: builtin/log.c:109
+#: builtin/log.c:110
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "option --decorate invalide : %s"
 
-#: builtin/log.c:173
+#: builtin/log.c:177
 msgid "show source"
 msgstr "afficher la source"
 
-#: builtin/log.c:174
+#: builtin/log.c:178
 msgid "Use mail map file"
 msgstr "Utiliser le fichier de correspondance de mail"
 
-#: builtin/log.c:176
+#: builtin/log.c:181
 msgid "only decorate refs that match <pattern>"
 msgstr "décorer seulement les références correspondant à <motif>"
 
-#: builtin/log.c:178
+#: builtin/log.c:183
 msgid "do not decorate refs that match <pattern>"
 msgstr "ne pas décorer les références correspondant à <motif>"
 
-#: builtin/log.c:179
+#: builtin/log.c:184
 msgid "decorate options"
 msgstr "décorer les options"
 
-#: builtin/log.c:182
+#: builtin/log.c:187
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de lignes n,m du fichier en commençant le "
 "compte à 1"
 
-#: builtin/log.c:280
+#: builtin/log.c:297
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Sortie finale : %d %s\n"
 
-#: builtin/log.c:534
+#: builtin/log.c:555
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s : fichier incorrect"
 
-#: builtin/log.c:549 builtin/log.c:643
+#: builtin/log.c:570 builtin/log.c:665
 #, c-format
 msgid "could not read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: builtin/log.c:668
+#: builtin/log.c:690
 #, c-format
 msgid "unknown type: %d"
 msgstr "type inconnu : %d"
 
-#: builtin/log.c:791
+#: builtin/log.c:839
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr "%s : couverture invalide pour le mode de description"
+
+#: builtin/log.c:846
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
-#: builtin/log.c:908
+#: builtin/log.c:965
 msgid "name of output directory is too long"
 msgstr "le nom du répertoire de sortie est trop long"
 
-#: builtin/log.c:924
+#: builtin/log.c:981
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "impossible d'ouvrir le fichier correctif %s"
 
-#: builtin/log.c:941
+#: builtin/log.c:998
 msgid "need exactly one range"
 msgstr "exactement une plage nécessaire"
 
-#: builtin/log.c:951
+#: builtin/log.c:1008
 msgid "not a range"
 msgstr "ceci n'est pas une plage"
 
-#: builtin/log.c:1074
+#: builtin/log.c:1172
 msgid "cover letter needs email format"
 msgstr "la lettre de motivation doit être au format courriel"
 
-#: builtin/log.c:1080
+#: builtin/log.c:1178
 msgid "failed to create cover-letter file"
 msgstr "échec de création du fichier de lettre de motivation"
 
-#: builtin/log.c:1159
+#: builtin/log.c:1259
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
 
-#: builtin/log.c:1186
+#: builtin/log.c:1286
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]"
 
-#: builtin/log.c:1244
+#: builtin/log.c:1344
 msgid "two output directories?"
 msgstr "deux répertoires de sortie ?"
 
-#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113
+#: builtin/log.c:1495 builtin/log.c:2301 builtin/log.c:2303 builtin/log.c:2315
 #, c-format
 msgid "unknown commit %s"
 msgstr "commit inconnu %s"
 
-#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1506 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "échec à résoudre '%s' comme une référence valide"
 
-#: builtin/log.c:1370
+#: builtin/log.c:1515
 msgid "could not find exact merge base"
 msgstr "impossible de trouver la base de fusion exacte"
 
-#: builtin/log.c:1374
+#: builtin/log.c:1525
 msgid ""
 "failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -14697,275 +16522,293 @@ msgstr ""
 "Ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
 "manuellement"
 
-#: builtin/log.c:1394
+#: builtin/log.c:1548
 msgid "failed to find exact merge base"
 msgstr "échec à trouver la base de fusion exacte"
 
-#: builtin/log.c:1405
+#: builtin/log.c:1565
 msgid "base commit should be the ancestor of revision list"
 msgstr "le commit de base devrait être l'ancêtre de la liste de révisions"
 
-#: builtin/log.c:1409
+#: builtin/log.c:1575
 msgid "base commit shouldn't be in revision list"
 msgstr "le commit de base ne devrait pas faire partie de la liste de révisions"
 
-#: builtin/log.c:1462
+#: builtin/log.c:1633
 msgid "cannot get patch id"
 msgstr "impossible d'obtenir l'id du patch"
 
-#: builtin/log.c:1514
-msgid "failed to infer range-diff ranges"
-msgstr "échec d'inférence d'intervalles de différence d'intervalles"
+#: builtin/log.c:1690
+msgid "failed to infer range-diff origin of current series"
+msgstr ""
+"échec d'inférence de l'origine de différence d'intervalles de la série "
+"actuelle"
+
+#: builtin/log.c:1692
+#, c-format
+msgid "using '%s' as range-diff origin of current series"
+msgstr ""
+"utilisation de '%s' comme une différence d'intervalle pour la série actuelle"
 
-#: builtin/log.c:1559
+#: builtin/log.c:1736
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "utiliser [PATCH n/m] même avec un patch unique"
 
-#: builtin/log.c:1562
+#: builtin/log.c:1739
 msgid "use [PATCH] even with multiple patches"
 msgstr "utiliser [PATCH] même avec des patchs multiples"
 
-#: builtin/log.c:1566
+#: builtin/log.c:1743
 msgid "print patches to standard out"
 msgstr "afficher les patchs sur la sortie standard"
 
-#: builtin/log.c:1568
+#: builtin/log.c:1745
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1747
 msgid "use simple number sequence for output file names"
 msgstr ""
 "utiliser une séquence simple de nombres pour les nom des fichiers de sortie"
 
-#: builtin/log.c:1571
+#: builtin/log.c:1748
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1749
 msgid "use <sfx> instead of '.patch'"
 msgstr "utiliser <sfx> au lieu de '.patch'"
 
-#: builtin/log.c:1574
+#: builtin/log.c:1751
 msgid "start numbering patches at <n> instead of 1"
 msgstr "démarrer la numérotation des patchs à <n> au lieu de 1"
 
-#: builtin/log.c:1576
+#: builtin/log.c:1753
 msgid "mark the series as Nth re-roll"
 msgstr "marquer la série comme une Nième réédition"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1755
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
 
-#: builtin/log.c:1581
+#: builtin/log.c:1758
+msgid "cover-from-description-mode"
+msgstr "cover-from-description-mode"
+
+#: builtin/log.c:1759
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr ""
+"générer des parties de la lettre d'introduction à partir de la description "
+"de la branche"
+
+#: builtin/log.c:1761
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "utiliser [<préfixe>] au lieu de [PATCH]"
 
-#: builtin/log.c:1584
+#: builtin/log.c:1764
 msgid "store resulting files in <dir>"
 msgstr "stocker les fichiers résultats dans <répertoire>"
 
-#: builtin/log.c:1587
+#: builtin/log.c:1767
 msgid "don't strip/add [PATCH]"
 msgstr "ne pas retirer/ajouter [PATCH]"
 
-#: builtin/log.c:1590
+#: builtin/log.c:1770
 msgid "don't output binary diffs"
 msgstr "ne pas imprimer les diffs binaires"
 
-#: builtin/log.c:1592
+#: builtin/log.c:1772
 msgid "output all-zero hash in From header"
 msgstr "écrire une empreinte à zéro dans l'entête From"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1774
 msgid "don't include a patch matching a commit upstream"
 msgstr "ne pas inclure un patch correspondant à un commit amont"
 
-#: builtin/log.c:1596
+#: builtin/log.c:1776
 msgid "show patch format instead of default (patch + stat)"
 msgstr "afficher le format du patch au lieu du défaut (patch + stat)"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1778
 msgid "Messaging"
 msgstr "Communication"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1779
 msgid "header"
 msgstr "en-tête"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1780
 msgid "add email header"
 msgstr "ajouter l'en-tête de courriel"
 
-#: builtin/log.c:1601 builtin/log.c:1603
+#: builtin/log.c:1781 builtin/log.c:1782
 msgid "email"
 msgstr "courriel"
 
-#: builtin/log.c:1601
+#: builtin/log.c:1781
 msgid "add To: header"
 msgstr "ajouter l'en-tête \"To:\""
 
-#: builtin/log.c:1603
+#: builtin/log.c:1782
 msgid "add Cc: header"
 msgstr "ajouter l'en-tête \"Cc:\""
 
-#: builtin/log.c:1605
+#: builtin/log.c:1783
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1606
+#: builtin/log.c:1784
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)"
 
-#: builtin/log.c:1608
+#: builtin/log.c:1786
 msgid "message-id"
 msgstr "id-message"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1787
 msgid "make first mail a reply to <message-id>"
 msgstr "répondre dans le premier message à <id-message>"
 
-#: builtin/log.c:1610 builtin/log.c:1613
+#: builtin/log.c:1788 builtin/log.c:1791
 msgid "boundary"
 msgstr "limite"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1789
 msgid "attach the patch"
 msgstr "attacher le patch"
 
-#: builtin/log.c:1614
+#: builtin/log.c:1792
 msgid "inline the patch"
 msgstr "patch à l'intérieur"
 
-#: builtin/log.c:1618
+#: builtin/log.c:1796
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
 
-#: builtin/log.c:1620
+#: builtin/log.c:1798
 msgid "signature"
 msgstr "signature"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1799
 msgid "add a signature"
 msgstr "ajouter une signature"
 
-#: builtin/log.c:1622
+#: builtin/log.c:1800
 msgid "base-commit"
 msgstr "commit-de-base"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1801
 msgid "add prerequisite tree info to the patch series"
 msgstr "Ajouter un arbre prérequis à la série de patchs"
 
-#: builtin/log.c:1625
+#: builtin/log.c:1804
 msgid "add a signature from a file"
 msgstr "ajouter une signature depuis un fichier"
 
-#: builtin/log.c:1626
+#: builtin/log.c:1805
 msgid "don't print the patch filenames"
 msgstr "ne pas afficher les noms de fichiers des patchs"
 
-#: builtin/log.c:1628
+#: builtin/log.c:1807
 msgid "show progress while generating patches"
 msgstr ""
 "afficher la barre de progression durant la phase de génération des patchs"
 
-#: builtin/log.c:1630
+#: builtin/log.c:1809
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "afficher les modifications par rapport à <rév> dans la première page ou une "
 "rustine"
 
-#: builtin/log.c:1633
+#: builtin/log.c:1812
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "afficher les modifications par rapport à <refspec> dans la première page ou "
 "une rustine"
 
-#: builtin/log.c:1635
+#: builtin/log.c:1814
 msgid "percentage by which creation is weighted"
 msgstr "pourcentage par lequel la création est pondérée"
 
-#: builtin/log.c:1710
+#: builtin/log.c:1896
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "ligne d'identification invalide : %s"
 
-#: builtin/log.c:1725
+#: builtin/log.c:1911
 msgid "-n and -k are mutually exclusive"
 msgstr "-n et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1727
+#: builtin/log.c:1913
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1735
+#: builtin/log.c:1921
 msgid "--name-only does not make sense"
 msgstr "--name-only n'a pas de sens"
 
-#: builtin/log.c:1737
+#: builtin/log.c:1923
 msgid "--name-status does not make sense"
 msgstr "--name-status n'a pas de sens"
 
-#: builtin/log.c:1739
+#: builtin/log.c:1925
 msgid "--check does not make sense"
 msgstr "--check n'a pas de sens"
 
-#: builtin/log.c:1771
+#: builtin/log.c:1958
 msgid "standard output, or directory, which one?"
 msgstr "sortie standard, ou répertoire, lequel ?"
 
-#: builtin/log.c:1860
+#: builtin/log.c:2062
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff requiert --cover-letter ou une rustine unique"
 
-#: builtin/log.c:1864
+#: builtin/log.c:2066
 msgid "Interdiff:"
 msgstr "Interdiff :"
 
-#: builtin/log.c:1865
+#: builtin/log.c:2067
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff contre v%d :"
 
-#: builtin/log.c:1871
+#: builtin/log.c:2073
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor requiert --range-diff"
 
-#: builtin/log.c:1875
+#: builtin/log.c:2077
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff requiert --cover-letter ou une rustine unique"
 
-#: builtin/log.c:1883
+#: builtin/log.c:2085
 msgid "Range-diff:"
 msgstr "Diff-intervalle :"
 
-#: builtin/log.c:1884
+#: builtin/log.c:2086
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Diff-intervalle contre v%d :"
 
-#: builtin/log.c:1895
+#: builtin/log.c:2097
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "lecture du fichier de signature '%s' impossible"
 
-#: builtin/log.c:1931
+#: builtin/log.c:2133
 msgid "Generating patches"
 msgstr "Génération des patchs"
 
-#: builtin/log.c:1975
+#: builtin/log.c:2177
 msgid "failed to create output files"
 msgstr "échec de création des fichiers en sortie"
 
-#: builtin/log.c:2034
+#: builtin/log.c:2236
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
 
-#: builtin/log.c:2088
+#: builtin/log.c:2290
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -14973,110 +16816,110 @@ msgstr ""
 "Impossible de trouver une branche distante suivie, merci de spécifier "
 "<branche_amont> manuellement.\n"
 
-#: builtin/ls-files.c:470
+#: builtin/ls-files.c:471
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<options>] [<fichier>...]"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:527
 msgid "identify the file status with tags"
 msgstr "identifier l'état de fichier avec les étiquettes"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:529
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "utiliser des minuscules pour les fichiers 'assumés inchangés'"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:531
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "utiliser des minuscules pour les fichiers 'fsmonitor clean'"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:533
 msgid "show cached files in the output (default)"
 msgstr "afficher les fichiers mis en cache dans la sortie (défaut)"
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:535
 msgid "show deleted files in the output"
 msgstr "afficher les fichiers supprimés dans la sortie"
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:537
 msgid "show modified files in the output"
 msgstr "afficher les fichiers modifiés dans la sortie"
 
-#: builtin/ls-files.c:538
+#: builtin/ls-files.c:539
 msgid "show other files in the output"
 msgstr "afficher les autres fichiers dans la sortie"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:541
 msgid "show ignored files in the output"
 msgstr "afficher les fichiers ignorés dans la sortie"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:544
 msgid "show staged contents' object name in the output"
 msgstr "afficher les nom des objets indexés dans la sortie"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 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:547
+#: builtin/ls-files.c:548
 msgid "show 'other' directories' names only"
 msgstr "afficher seulement les noms des répertoires 'other'"
 
-#: builtin/ls-files.c:549
+#: builtin/ls-files.c:550
 msgid "show line endings of files"
 msgstr "afficher les fins de lignes des fichiers"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:552
 msgid "don't show empty directories"
 msgstr "ne pas afficher les répertoires vides"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:555
 msgid "show unmerged files in the output"
 msgstr "afficher les fichiers non fusionnés dans la sortie"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:557
 msgid "show resolve-undo information"
 msgstr "afficher l'information resolv-undo"
 
-#: builtin/ls-files.c:558
+#: builtin/ls-files.c:559
 msgid "skip files matching pattern"
 msgstr "sauter les fichiers correspondant au motif"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:562
 msgid "exclude patterns are read from <file>"
 msgstr "les motifs d'exclusion sont lus depuis <fichier>"
 
-#: builtin/ls-files.c:564
+#: builtin/ls-files.c:565
 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:566
+#: builtin/ls-files.c:567
 msgid "add the standard git exclusions"
 msgstr "ajouter les exclusions git standard"
 
-#: builtin/ls-files.c:570
+#: builtin/ls-files.c:571
 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:573
+#: builtin/ls-files.c:574
 msgid "recurse through submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/ls-files.c:575
+#: builtin/ls-files.c:576
 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:576
+#: builtin/ls-files.c:577
 msgid "tree-ish"
 msgstr "arbre ou apparenté"
 
-#: builtin/ls-files.c:577
+#: builtin/ls-files.c:578
 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:579
+#: builtin/ls-files.c:580
 msgid "show debugging data"
 msgstr "afficher les données de débogage"
 
@@ -15094,7 +16937,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1392
 msgid "exec"
 msgstr "exécutable"
 
@@ -15171,194 +17014,305 @@ msgstr ""
 msgid "empty mbox: '%s'"
 msgstr "mbox vide : '%s'"
 
-#: builtin/merge.c:55
+#: builtin/merge-base.c:32
+msgid "git merge-base [-a | --all] <commit> <commit>..."
+msgstr "git merge-base [-a | --all] <commit> <commit>..."
+
+#: builtin/merge-base.c:33
+msgid "git merge-base [-a | --all] --octopus <commit>..."
+msgstr "git merge-base [-a | --all] --octopus <commit>..."
+
+#: builtin/merge-base.c:34
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <validation>..."
+
+#: builtin/merge-base.c:35
+msgid "git merge-base --is-ancestor <commit> <commit>"
+msgstr "git merge-base --is-ancestor <validation> <validation>"
+
+#: builtin/merge-base.c:36
+msgid "git merge-base --fork-point <ref> [<commit>]"
+msgstr "git merge-base --fork-point <référence> [<validation>]"
+
+#: builtin/merge-base.c:143
+msgid "output all common ancestors"
+msgstr "afficher tous les ancêtres communs"
+
+#: builtin/merge-base.c:145
+msgid "find ancestors for a single n-way merge"
+msgstr "trouver les ancêtres pour une fusion simple à n points"
+
+#: builtin/merge-base.c:147
+msgid "list revs not reachable from others"
+msgstr "afficher les révisions inaccessibles depuis les autres"
+
+#: builtin/merge-base.c:149
+msgid "is the first one ancestor of the other?"
+msgstr "est le premier ancêtre de l'autre ?"
+
+#: builtin/merge-base.c:151
+msgid "find where <commit> forked from reflog of <ref>"
+msgstr "trouver où <validation> a divergé du reflog de <référence>"
+
+#: builtin/merge-file.c:9
+msgid ""
+"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
+"<orig-file> <file2>"
+msgstr ""
+"git merge-file [<options>] [-L <nom1> [-L <orig> [-L <nom2>]]] <fichier1> "
+"<fichier-orig> <fichier2>"
+
+#: builtin/merge-file.c:35
+msgid "send results to standard output"
+msgstr "envoyer les résultats sur la sortie standard"
+
+#: builtin/merge-file.c:36
+msgid "use a diff3 based merge"
+msgstr "utiliser une fusion basée sur diff3"
+
+#: builtin/merge-file.c:37
+msgid "for conflicts, use our version"
+msgstr "pour les conflits, utiliser notre version (our)"
+
+#: builtin/merge-file.c:39
+msgid "for conflicts, use their version"
+msgstr "pour les conflits, utiliser leur version (their)"
+
+#: builtin/merge-file.c:41
+msgid "for conflicts, use a union version"
+msgstr "pour les conflits, utiliser l'ensemble des versions"
+
+#: builtin/merge-file.c:44
+msgid "for conflicts, use this marker size"
+msgstr "pour les conflits, utiliser cette taille de marqueur"
+
+#: builtin/merge-file.c:45
+msgid "do not warn about conflicts"
+msgstr "ne pas avertir à propos des conflits"
+
+#: builtin/merge-file.c:47
+msgid "set labels for file1/orig-file/file2"
+msgstr "définir les labels pour fichier1/fichier-orig/fichier2"
+
+#: builtin/merge-recursive.c:47
+#, c-format
+msgid "unknown option %s"
+msgstr "option inconnue %s"
+
+#: builtin/merge-recursive.c:53
+#, c-format
+msgid "could not parse object '%s'"
+msgstr "Impossible d'analyser l'objet '%s'"
+
+#: builtin/merge-recursive.c:57
+#, c-format
+msgid "cannot handle more than %d base. Ignoring %s."
+msgid_plural "cannot handle more than %d bases. Ignoring %s."
+msgstr[0] "impossible de gérer plus de %d base. %s ignoré."
+msgstr[1] "impossible de gérer plus de %d bases. %s ignoré."
+
+#: builtin/merge-recursive.c:65
+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-recursive.c:74 builtin/merge-recursive.c:76
+#, c-format
+msgid "could not resolve ref '%s'"
+msgstr "impossible de résoudre la référence '%s'"
+
+#: builtin/merge-recursive.c:82
+#, c-format
+msgid "Merging %s with %s\n"
+msgstr "Fusion de %s avec %s\n"
+
+#: builtin/merge.c:56
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<options>] [<commit>...]"
 
-#: builtin/merge.c:56
+#: builtin/merge.c:57
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:57
+#: builtin/merge.c:58
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:118
+#: builtin/merge.c:120
 msgid "switch `m' requires a value"
 msgstr "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:143
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "le commutateur '%s' a besoin d'une valeur"
 
-#: builtin/merge.c:187
+#: builtin/merge.c:189
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:188
+#: builtin/merge.c:190
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:193
+#: builtin/merge.c:195
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: builtin/merge.c:244 builtin/pull.c:151
+#: builtin/merge.c:246 builtin/pull.c:133
 msgid "do not show a diffstat at the end of the merge"
 msgstr "ne pas afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:247 builtin/pull.c:154
+#: builtin/merge.c:249 builtin/pull.c:136
 msgid "show a diffstat at the end of the merge"
 msgstr "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:248 builtin/pull.c:157
+#: builtin/merge.c:250 builtin/pull.c:139
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --stat)"
 
-#: builtin/merge.c:250 builtin/pull.c:160
+#: builtin/merge.c:252 builtin/pull.c:142
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "ajouter (au plus <n>) éléments du journal court au message de validation de "
 "la fusion"
 
-#: builtin/merge.c:253 builtin/pull.c:166
+#: builtin/merge.c:255 builtin/pull.c:148
 msgid "create a single commit instead of doing a merge"
 msgstr "créer une validation unique au lieu de faire une fusion"
 
-#: builtin/merge.c:255 builtin/pull.c:169
+#: builtin/merge.c:257 builtin/pull.c:151
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:257 builtin/pull.c:172
+#: builtin/merge.c:259 builtin/pull.c:154
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:261
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: builtin/merge.c:261 builtin/pull.c:179
+#: builtin/merge.c:263 builtin/pull.c:161
 msgid "abort if fast-forward is not possible"
 msgstr "abandonner si l'avance rapide n'est pas possible"
 
-#: builtin/merge.c:265 builtin/pull.c:182
+#: builtin/merge.c:267 builtin/pull.c:164
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "vérifier que le commit nommé a une signature GPG valide"
 
-#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186
-#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114
+#: builtin/merge.c:268 builtin/notes.c:787 builtin/pull.c:168
+#: builtin/rebase.c:533 builtin/rebase.c:1406 builtin/revert.c:114
 msgid "strategy"
 msgstr "stratégie"
 
-#: builtin/merge.c:267 builtin/pull.c:187
+#: builtin/merge.c:269 builtin/pull.c:169
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:268 builtin/pull.c:190
+#: builtin/merge.c:270 builtin/pull.c:172
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:269 builtin/pull.c:191
+#: builtin/merge.c:271 builtin/pull.c:173
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:271
+#: builtin/merge.c:273
 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:278
+#: builtin/merge.c:280
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:280
+#: builtin/merge.c:282
 msgid "--abort but leave index and working tree alone"
 msgstr "--abort mais laisser l'index et l'arbre de travail inchangés"
 
-#: builtin/merge.c:282
+#: builtin/merge.c:284
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:284 builtin/pull.c:198
+#: builtin/merge.c:286 builtin/pull.c:180
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:290
-msgid "verify commit-msg hook"
-msgstr "vérifier le crochet commit-msg"
+#: builtin/merge.c:293
+msgid "bypass pre-merge-commit and commit-msg hooks"
+msgstr "ne pas utiliser les crochets pre-merge-commit et commit-msg"
 
-#: builtin/merge.c:307
+#: builtin/merge.c:310
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:312
+#: builtin/merge.c:315
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:317
+#: builtin/merge.c:320
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:339 builtin/merge.c:356
+#: builtin/merge.c:342 builtin/merge.c:359
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:386
+#: builtin/merge.c:389
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:397
+#: builtin/merge.c:400
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:450
 #, 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:498
+#: builtin/merge.c:501
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:585
+#: builtin/merge.c:588
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
 
-#: builtin/merge.c:708
+#: builtin/merge.c:713
 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:722
+#: builtin/merge.c:726
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Options inconnue pour merge-recursive : -X%s"
 
-#: builtin/merge.c:737
+#: builtin/merge.c:741
 #, c-format
 msgid "unable to write %s"
 msgstr "impossible d'écrire %s"
 
-#: builtin/merge.c:789
+#: builtin/merge.c:793
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Impossible de lire depuis '%s'"
 
-#: builtin/merge.c:798
+#: builtin/merge.c:802
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Pas de validation de la fusion ; utilisez 'git commit' pour terminer la "
 "fusion.\n"
 
-#: builtin/merge.c:804
+#: builtin/merge.c:808
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
@@ -15370,11 +17324,11 @@ msgstr ""
 "branche de sujet.\n"
 "\n"
 
-#: builtin/merge.c:809
+#: builtin/merge.c:813
 msgid "An empty message aborts the commit.\n"
 msgstr "Un message vide abandonne la validation.\n"
 
-#: builtin/merge.c:812
+#: builtin/merge.c:816
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
@@ -15383,74 +17337,74 @@ msgstr ""
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:853
+#: builtin/merge.c:869
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:872
+#: builtin/merge.c:884
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:933
+#: builtin/merge.c:945
 #, 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:972
+#: builtin/merge.c:984
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:974
+#: builtin/merge.c:986
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:976
+#: builtin/merge.c:988
 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:981
+#: builtin/merge.c:993
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:1038
+#: builtin/merge.c:1050
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1141
+#: builtin/merge.c:1153
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1175
+#: builtin/merge.c:1187
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1278
+#: builtin/merge.c:1291
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1282
+#: builtin/merge.c:1295
 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:1291
+#: builtin/merge.c:1313
 msgid "--quit expects no arguments"
 msgstr "--quit n'accepte pas d'argument"
 
-#: builtin/merge.c:1304
+#: builtin/merge.c:1326
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1308
+#: builtin/merge.c:1330
 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:1324
+#: builtin/merge.c:1346
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -15458,7 +17412,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1331
+#: builtin/merge.c:1353
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -15466,214 +17420,103 @@ msgstr ""
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1356
 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:1348
+#: builtin/merge.c:1370
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1350
+#: builtin/merge.c:1372
 msgid "You cannot combine --squash with --commit."
 msgstr "Vous ne pouvez pas combiner --squash avec --commit."
 
-#: builtin/merge.c:1366
+#: builtin/merge.c:1388
 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:1383
+#: builtin/merge.c:1405
 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:1385
+#: builtin/merge.c:1407
 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:1390
+#: builtin/merge.c:1412
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1392
+#: builtin/merge.c:1414
 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:1471
+#: builtin/merge.c:1495
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1480
+#: builtin/merge.c:1504
 msgid "Already up to date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1514
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1532
+#: builtin/merge.c:1560
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1539
+#: builtin/merge.c:1567
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1564
+#: builtin/merge.c:1592
 msgid "Already up to date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1570
+#: builtin/merge.c:1598
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: builtin/merge.c:1593 builtin/merge.c:1658
+#: builtin/merge.c:1626 builtin/merge.c:1691
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1597
+#: builtin/merge.c:1630
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1649
+#: builtin/merge.c:1682
 #, 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:1651
+#: builtin/merge.c:1684
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1660
+#: builtin/merge.c:1693
 #, 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:1672
+#: builtin/merge.c:1707
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
 "La fusion automatique a réussi ; stoppée avant la validation comme demandé\n"
 
-#: builtin/merge-base.c:32
-msgid "git merge-base [-a | --all] <commit> <commit>..."
-msgstr "git merge-base [-a | --all] <commit> <commit>..."
-
-#: builtin/merge-base.c:33
-msgid "git merge-base [-a | --all] --octopus <commit>..."
-msgstr "git merge-base [-a | --all] --octopus <commit>..."
-
-#: builtin/merge-base.c:34
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <validation>..."
-
-#: builtin/merge-base.c:35
-msgid "git merge-base --is-ancestor <commit> <commit>"
-msgstr "git merge-base --is-ancestor <validation> <validation>"
-
-#: builtin/merge-base.c:36
-msgid "git merge-base --fork-point <ref> [<commit>]"
-msgstr "git merge-base --fork-point <référence> [<validation>]"
-
-#: builtin/merge-base.c:153
-msgid "output all common ancestors"
-msgstr "afficher tous les ancêtres communs"
-
-#: builtin/merge-base.c:155
-msgid "find ancestors for a single n-way merge"
-msgstr "trouver les ancêtres pour une fusion simple à n points"
-
-#: builtin/merge-base.c:157
-msgid "list revs not reachable from others"
-msgstr "afficher les révisions inaccessibles depuis les autres"
-
-#: builtin/merge-base.c:159
-msgid "is the first one ancestor of the other?"
-msgstr "est le premier ancêtre de l'autre ?"
-
-#: builtin/merge-base.c:161
-msgid "find where <commit> forked from reflog of <ref>"
-msgstr "trouver où <validation> a divergé du reflog de <référence>"
-
-#: builtin/merge-file.c:9
-msgid ""
-"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
-"<orig-file> <file2>"
-msgstr ""
-"git merge-file [<options>] [-L <nom1> [-L <orig> [-L <nom2>]]] <fichier1> "
-"<fichier-orig> <fichier2>"
-
-#: builtin/merge-file.c:35
-msgid "send results to standard output"
-msgstr "envoyer les résultats sur la sortie standard"
-
-#: builtin/merge-file.c:36
-msgid "use a diff3 based merge"
-msgstr "utiliser une fusion basée sur diff3"
-
-#: builtin/merge-file.c:37
-msgid "for conflicts, use our version"
-msgstr "pour les conflits, utiliser notre version (our)"
-
-#: builtin/merge-file.c:39
-msgid "for conflicts, use their version"
-msgstr "pour les conflits, utiliser leur version (their)"
-
-#: builtin/merge-file.c:41
-msgid "for conflicts, use a union version"
-msgstr "pour les conflits, utiliser l'ensemble des versions"
-
-#: builtin/merge-file.c:44
-msgid "for conflicts, use this marker size"
-msgstr "pour les conflits, utiliser cette taille de marqueur"
-
-#: builtin/merge-file.c:45
-msgid "do not warn about conflicts"
-msgstr "ne pas avertir à propos des conflits"
-
-#: builtin/merge-file.c:47
-msgid "set labels for file1/orig-file/file2"
-msgstr "définir les labels pour fichier1/fichier-orig/fichier2"
-
-#: builtin/merge-recursive.c:46
-#, c-format
-msgid "unknown option %s"
-msgstr "option inconnue %s"
-
-#: builtin/merge-recursive.c:52
-#, c-format
-msgid "could not parse object '%s'"
-msgstr "Impossible d'analyser l'objet '%s'"
-
-#: builtin/merge-recursive.c:56
-#, c-format
-msgid "cannot handle more than %d base. Ignoring %s."
-msgid_plural "cannot handle more than %d bases. Ignoring %s."
-msgstr[0] "impossible de gérer plus de %d base. %s ignoré."
-msgstr[1] "impossible de gérer plus de %d bases. %s ignoré."
-
-#: builtin/merge-recursive.c:64
-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-recursive.c:70 builtin/merge-recursive.c:72
-#, c-format
-msgid "could not resolve ref '%s'"
-msgstr "impossible de résoudre la référence '%s'"
-
-#: builtin/merge-recursive.c:78
-#, c-format
-msgid "Merging %s with %s\n"
-msgstr "Fusion de %s avec %s\n"
-
 #: builtin/mktree.c:66
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
@@ -15692,19 +17535,19 @@ msgstr "autoriser la création de plus d'un arbre"
 
 #: builtin/multi-pack-index.c:9
 msgid ""
-"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
-"batch-size=<size>)"
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<size>)"
 msgstr ""
-"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
-"batch-size=<taille>)"
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<taille>)"
 
-#: builtin/multi-pack-index.c:23
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 "répertoire objet contenant un ensemble de paires de fichiers paquet et "
 "d'index de paquet"
 
-#: builtin/multi-pack-index.c:25
+#: builtin/multi-pack-index.c:29
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
@@ -15712,15 +17555,15 @@ msgstr ""
 "pendant le repaquetage, collecter les fichiers paquet de plus petite taille "
 "dans un lot plus grand que cette taille"
 
-#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67
+#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:25
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
-#: builtin/multi-pack-index.c:52
+#: builtin/multi-pack-index.c:60
 msgid "--batch-size option is only for 'repack' subcommand"
 msgstr "l'option --batch-size ne sert que pour la sous-commande 'repack'"
 
-#: builtin/multi-pack-index.c:61
+#: builtin/multi-pack-index.c:69
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "sous-commande non reconnue : %s"
@@ -15753,114 +17596,119 @@ msgstr "forcer le déplacement/renommage même si la cible existe"
 msgid "skip move/rename errors"
 msgstr "sauter les erreurs de déplacement/renommage"
 
-#: builtin/mv.c:169
+#: builtin/mv.c:170
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "la destination '%s' n'est pas un répertoire"
 
-#: builtin/mv.c:180
+#: builtin/mv.c:181
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Vérification du renommage de '%s' en '%s'\n"
 
-#: builtin/mv.c:184
+#: builtin/mv.c:185
 msgid "bad source"
 msgstr "mauvaise source"
 
-#: builtin/mv.c:187
+#: builtin/mv.c:188
 msgid "can not move directory into itself"
 msgstr "impossible de déplacer un répertoire dans lui-même"
 
-#: builtin/mv.c:190
+#: builtin/mv.c:191
 msgid "cannot move directory over file"
 msgstr "impossible de déplacer un répertoire sur un fichier"
 
-#: builtin/mv.c:199
+#: builtin/mv.c:200
 msgid "source directory is empty"
 msgstr "le répertoire source est vide"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:225
 msgid "not under version control"
 msgstr "pas sous le contrôle de version"
 
 #: builtin/mv.c:227
+msgid "conflicted"
+msgstr "en conflit"
+
+#: builtin/mv.c:230
 msgid "destination exists"
 msgstr "la destination existe"
 
-#: builtin/mv.c:235
+#: builtin/mv.c:238
 #, c-format
 msgid "overwriting '%s'"
 msgstr "écrasement de '%s'"
 
-#: builtin/mv.c:238
+#: builtin/mv.c:241
 msgid "Cannot overwrite"
 msgstr "Impossible d'écraser"
 
-#: builtin/mv.c:241
+#: builtin/mv.c:244
 msgid "multiple sources for the same target"
 msgstr "multiples sources pour la même destination"
 
-#: builtin/mv.c:243
+#: builtin/mv.c:246
 msgid "destination directory does not exist"
 msgstr "le répertoire de destination n'existe pas"
 
-#: builtin/mv.c:250
+#: builtin/mv.c:253
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, source=%s, destination=%s"
 
-#: builtin/mv.c:271
+#: builtin/mv.c:274
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510
+#: builtin/mv.c:280 builtin/remote.c:782 builtin/repack.c:518
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
 
-#: builtin/name-rev.c:352
+#: builtin/name-rev.c:465
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<options>] <validation>..."
 
-#: builtin/name-rev.c:353
+#: builtin/name-rev.c:466
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<options>] --all"
 
-#: builtin/name-rev.c:354
+#: builtin/name-rev.c:467
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<options>] --stdin"
 
-#: builtin/name-rev.c:411
-msgid "print only names (no SHA-1)"
-msgstr "afficher seulement les noms (pas de SHA-1)"
+#: builtin/name-rev.c:524
+msgid "print only ref-based names (no object names)"
+msgstr ""
+"afficher seulement les noms basés sur des références (pas de nom d'objet)"
 
-#: builtin/name-rev.c:412
+#: builtin/name-rev.c:525
 msgid "only use tags to name the commits"
 msgstr "utiliser seulement les étiquettes pour nommer les validations"
 
-#: builtin/name-rev.c:414
+#: builtin/name-rev.c:527
 msgid "only use refs matching <pattern>"
 msgstr "utiliser seulement les références correspondant à <motif>"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:529
 msgid "ignore refs matching <pattern>"
 msgstr "ignorer les références correspondant à <motif>"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:531
 msgid "list all commits reachable from all refs"
 msgstr ""
 "afficher toutes les validations accessibles depuis toutes les références"
 
-#: builtin/name-rev.c:419
+#: builtin/name-rev.c:532
 msgid "read from stdin"
 msgstr "lire depuis l'entrée standard"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:533
 msgid "allow to print `undefined` names (default)"
 msgstr "autoriser l'affichage des noms `non définis` (par défaut)"
 
-#: builtin/name-rev.c:426
+#: builtin/name-rev.c:539
 msgid "dereference tags in the input (internal use)"
 msgstr "déréférencer les étiquettes en entrée (usage interne)"
 
@@ -16007,7 +17855,7 @@ msgstr "impossible d'écrire l'objet note"
 msgid "the note contents have been left in %s"
 msgstr "le contenu de la note a été laissé dans %s"
 
-#: builtin/notes.c:242 builtin/tag.c:532
+#: builtin/notes.c:242 builtin/tag.c:533
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "impossible d'ouvrir ou lire '%s'"
@@ -16241,7 +18089,7 @@ msgstr ""
 "validez le résultat avec 'git notes merges --commit', ou abandonnez la "
 "fusion avec 'git notes merge --abort'.\n"
 
-#: builtin/notes.c:897 builtin/tag.c:545
+#: builtin/notes.c:897 builtin/tag.c:546
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Impossible de résoudre '%s' comme une référence valide."
@@ -16260,7 +18108,7 @@ msgstr ""
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165
+#: builtin/notes.c:954 builtin/prune.c:132 builtin/worktree.c:220
 msgid "do not remove, show only"
 msgstr "ne pas supprimer, afficher seulement"
 
@@ -16276,148 +18124,142 @@ msgstr "références-notes"
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1598
+#: builtin/notes.c:1034 builtin/stash.c:1605
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
 
-#: builtin/pack-objects.c:52
+#: builtin/pack-objects.c:54
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr ""
 "git pack-objects --stdout [options...] [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:53
+#: builtin/pack-objects.c:55
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 "git pack-objects [options...] base-name [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:428
+#: builtin/pack-objects.c:443
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "mauvais CRC d'objet empaqueté pour %s"
 
-#: builtin/pack-objects.c:439
+#: builtin/pack-objects.c:454
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "objet empaqueté corrompu pour %s"
 
-#: builtin/pack-objects.c:570
+#: builtin/pack-objects.c:585
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "delta récursif détecté pour l'objet %s"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:796
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "%u objets commandés, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:794
-#, c-format
-msgid "packfile is invalid: %s"
-msgstr "le fichier packet est invalide : %s"
-
-#: builtin/pack-objects.c:798
-#, c-format
-msgid "unable to open packfile for reuse: %s"
-msgstr "ouverture du fichier paquet pour réutilisation impossible : %s"
-
-#: builtin/pack-objects.c:802
-msgid "unable to seek in reused packfile"
-msgstr "impossible de rechercher (seek) dans le fichier paquet réutilisé"
-
-#: builtin/pack-objects.c:813
-msgid "unable to read from reused packfile"
-msgstr "lecture du fichier de paquet réutilisé impossible"
-
-#: builtin/pack-objects.c:841
+#: builtin/pack-objects.c:1004
 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:854
+#: builtin/pack-objects.c:1017
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: builtin/pack-objects.c:917 builtin/update-index.c:89
+#: builtin/pack-objects.c:1078 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "échec du stat de %s"
 
-#: builtin/pack-objects.c:970
+#: builtin/pack-objects.c:1131
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "%<PRIu32> objets écrits, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:1166
+#: builtin/pack-objects.c:1348
 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:1597
+#: builtin/pack-objects.c:1796
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "dépassement de décalage de base de delta pour %s"
 
-#: builtin/pack-objects.c:1606
+#: builtin/pack-objects.c:1805
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "décalage de base de delta est hors limite pour %s"
 
-#: builtin/pack-objects.c:1875
+#: builtin/pack-objects.c:2086
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
-#: builtin/pack-objects.c:2005
-#, c-format
-msgid "unable to get size of %s"
-msgstr "impossible de récupérer la taille de %s"
-
-#: builtin/pack-objects.c:2020
+#: builtin/pack-objects.c:2231
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "impossible d'analyser l'entête d'objet de %s"
 
-#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106
-#: builtin/pack-objects.c:2116
+#: builtin/pack-objects.c:2301 builtin/pack-objects.c:2317
+#: builtin/pack-objects.c:2327
 #, c-format
 msgid "object %s cannot be read"
 msgstr "l'objet %s ne peut être lu"
 
-#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120
+#: builtin/pack-objects.c:2304 builtin/pack-objects.c:2331
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "objet %s longueur de l'objet inconsistante (%<PRIuMAX> contre %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2130
+#: builtin/pack-objects.c:2341
 msgid "suboptimal pack - out of memory"
 msgstr "paquet sous-optimal - mémoire insuffisante"
 
-#: builtin/pack-objects.c:2456
+#: builtin/pack-objects.c:2656
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Compression par delta en utilisant jusqu'à %d fils d'exécution"
 
-#: builtin/pack-objects.c:2588
+#: builtin/pack-objects.c:2795
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "impossible d'empaqueter les objets joignables depuis l'étiquette %s"
 
-#: builtin/pack-objects.c:2675
+#: builtin/pack-objects.c:2883
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2681
+#: builtin/pack-objects.c:2889
 msgid "inconsistency with delta count"
 msgstr "inconsistance dans le compte de delta"
 
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2961
+#, c-format
+msgid ""
+"value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
+"hash> <uri>' (got '%s')"
+msgstr ""
+"la valeur de uploadpack.blobpackfileuri doit être de la forme '<empreinte-d-"
+"objet> <empreinte-de-pack> <uri>' ('%s' reçu)"
+
+#: builtin/pack-objects.c:2964
+#, c-format
+msgid ""
+"object already configured in another uploadpack.blobpackfileuri (got '%s')"
+msgstr ""
+"l'objet est déjà configuré dans un autre uploadpack.blobpackfileuri ('%s' "
+"reçu)"
+
+#: builtin/pack-objects.c:2993
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -16426,7 +18268,7 @@ msgstr ""
 "ID d'objet de bord attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2768
+#: builtin/pack-objects.c:2999
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -16435,256 +18277,251 @@ msgstr ""
 "ID d'objet attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2866
+#: builtin/pack-objects.c:3097
 msgid "invalid value for --missing"
 msgstr "valeur invalide pour --missing"
 
-#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033
+#: builtin/pack-objects.c:3156 builtin/pack-objects.c:3264
 msgid "cannot open pack index"
 msgstr "impossible d'ouvrir l'index de paquet"
 
-#: builtin/pack-objects.c:2956
+#: builtin/pack-objects.c:3187
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "l'objet libre à %s n'a pas pu être examiné"
 
-#: builtin/pack-objects.c:3041
+#: builtin/pack-objects.c:3272
 msgid "unable to force loose object"
 msgstr "impossible de forcer l'objet libre"
 
-#: builtin/pack-objects.c:3133
+#: builtin/pack-objects.c:3365
 #, c-format
 msgid "not a rev '%s'"
 msgstr "'%s' n'est pas une révision"
 
-#: builtin/pack-objects.c:3136
+#: builtin/pack-objects.c:3368
 #, c-format
 msgid "bad revision '%s'"
 msgstr "mauvaise révision '%s'"
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3393
 msgid "unable to add recent objects"
 msgstr "impossible d'ajouter les objets récents"
 
-#: builtin/pack-objects.c:3214
+#: builtin/pack-objects.c:3446
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:3218
+#: builtin/pack-objects.c:3450
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:3248
-msgid "do not show progress meter"
-msgstr "ne pas afficher la barre de progression"
-
-#: builtin/pack-objects.c:3250
-msgid "show progress meter"
-msgstr "afficher la barre de progression"
-
-#: builtin/pack-objects.c:3252
-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:3255
-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:3256
+#: builtin/pack-objects.c:3488
 msgid "<version>[,<offset>]"
 msgstr "<version>[,<décalage>]"
 
-#: builtin/pack-objects.c:3257
+#: builtin/pack-objects.c:3489
 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:3260
+#: builtin/pack-objects.c:3492
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:3262
+#: builtin/pack-objects.c:3494
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:3264
+#: builtin/pack-objects.c:3496
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:3266
+#: builtin/pack-objects.c:3498
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:3268
+#: builtin/pack-objects.c:3500
 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:3270
+#: builtin/pack-objects.c:3502
 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:3272
+#: builtin/pack-objects.c:3504
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:3274
+#: builtin/pack-objects.c:3506
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3508
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:3278
+#: builtin/pack-objects.c:3510
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleure correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:3280
+#: builtin/pack-objects.c:3512
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3514
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:3284
+#: builtin/pack-objects.c:3516
 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:3287
+#: builtin/pack-objects.c:3519
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:3290
+#: builtin/pack-objects.c:3522
 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:3293
+#: builtin/pack-objects.c:3525
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3528
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3530
 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:3300
+#: builtin/pack-objects.c:3532
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:3302
+#: builtin/pack-objects.c:3534
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:3304
+#: builtin/pack-objects.c:3536
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3539
 msgid "use the sparse reachability algorithm"
 msgstr "utiliser l'algorithme de joignabilité creuse"
 
-#: builtin/pack-objects.c:3309
+#: builtin/pack-objects.c:3541
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:3311
+#: builtin/pack-objects.c:3543
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:3313
+#: builtin/pack-objects.c:3545
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:3315
+#: builtin/pack-objects.c:3547
 msgid "ignore this pack"
 msgstr "ignorer ce paquet"
 
-#: builtin/pack-objects.c:3317
+#: builtin/pack-objects.c:3549
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:3319
+#: builtin/pack-objects.c:3551
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:3321
+#: builtin/pack-objects.c:3553
 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:3323
+#: builtin/pack-objects.c:3555
 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:3327
+#: builtin/pack-objects.c:3559
 msgid "write a bitmap index if possible"
 msgstr "écrire un index de bitmap si possible"
 
-#: builtin/pack-objects.c:3331
+#: builtin/pack-objects.c:3563
 msgid "handling for missing objects"
 msgstr "gestion des objets manquants"
 
-#: builtin/pack-objects.c:3334
+#: builtin/pack-objects.c:3566
 msgid "do not pack objects in promisor packfiles"
 msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
 
-#: builtin/pack-objects.c:3336
+#: builtin/pack-objects.c:3568
 msgid "respect islands during delta compression"
 msgstr "respecter les îlots pendant la compression des deltas"
 
-#: builtin/pack-objects.c:3361
+#: builtin/pack-objects.c:3570
+msgid "protocol"
+msgstr "protocole"
+
+#: builtin/pack-objects.c:3571
+msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
+msgstr "exclure tout uploadpack.blobpackfileuri configuré avec ce protocole"
+
+#: builtin/pack-objects.c:3600
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "la profondeur %d de chaîne de delta est trop grande, forcée à %d"
 
-#: builtin/pack-objects.c:3366
+#: builtin/pack-objects.c:3605
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit est trop grand, forcé à %d"
 
-#: builtin/pack-objects.c:3420
+#: builtin/pack-objects.c:3659
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 "--max-pack-size ne peut pas être utilisé pour construire un paquet à "
 "transférer"
 
-#: builtin/pack-objects.c:3422
+#: builtin/pack-objects.c:3661
 msgid "minimum pack size limit is 1 MiB"
 msgstr "la taille limite minimale d'un paquet est 1 MiB"
 
-#: builtin/pack-objects.c:3427
+#: builtin/pack-objects.c:3666
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin ne peut pas être utilisé pour construire un paquet indexable"
 
-#: builtin/pack-objects.c:3430
+#: builtin/pack-objects.c:3669
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable et --unpack-unreachable sont incompatibles"
 
-#: builtin/pack-objects.c:3436
+#: builtin/pack-objects.c:3675
 msgid "cannot use --filter without --stdout"
 msgstr "impossible d'utiliser --filter sans --stdout"
 
-#: builtin/pack-objects.c:3497
+#: builtin/pack-objects.c:3735
 msgid "Enumerating objects"
 msgstr "Énumération des objets"
 
-#: builtin/pack-objects.c:3527
+#: builtin/pack-objects.c:3766
 #, c-format
-msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
+msgid ""
+"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
+"reused %<PRIu32>"
 msgstr ""
-"Total %<PRIu32> (delta %<PRIu32>), réutilisés %<PRIu32> (delta %<PRIu32>)"
+"Total %<PRIu32> (delta %<PRIu32>), réutilisés %<PRIu32> (delta %<PRIu32>), "
+"réutilisés du pack %<PRIu32>"
 
 #: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
@@ -16698,81 +18535,106 @@ msgstr "empaqueter tout"
 msgid "prune loose refs (default)"
 msgstr "éliminer les références perdues (défaut)"
 
-#: builtin/prune-packed.c:9
+#: builtin/prune-packed.c:6
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
 
-#: builtin/prune-packed.c:42
-msgid "Removing duplicate objects"
-msgstr "Suppression des objets dupliqués"
-
-#: builtin/prune.c:12
+#: builtin/prune.c:14
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <heure>] [--] [<head>…]"
 
-#: builtin/prune.c:131
+#: builtin/prune.c:133
 msgid "report pruned objects"
 msgstr "afficher les objets éliminés"
 
-#: builtin/prune.c:134
+#: builtin/prune.c:136
 msgid "expire objects older than <time>"
 msgstr "faire expirer les objets plus vieux que <heure>"
 
-#: builtin/prune.c:136
+#: builtin/prune.c:138
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "limiter la traversée aux objets hors des fichiers paquets prometteurs"
 
-#: builtin/prune.c:150
+#: builtin/prune.c:152
 msgid "cannot prune in a precious-objects repo"
 msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
 
-#: builtin/pull.c:66 builtin/pull.c:68
+#: builtin/pull.c:45 builtin/pull.c:47
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Valeur invalide pour %s : %s"
 
-#: builtin/pull.c:88
+#: builtin/pull.c:67
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/pull.c:141
+#: builtin/pull.c:123
 msgid "control for recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/pull.c:145
+#: builtin/pull.c:127
 msgid "Options related to merging"
 msgstr "Options relatives à la fusion"
 
-#: builtin/pull.c:148
+#: builtin/pull.c:130
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126
+#: builtin/pull.c:158 builtin/rebase.c:484 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "autoriser l'avance rapide"
 
-#: builtin/pull.c:185
-msgid "automatically stash/stash pop before and after rebase"
-msgstr "remiser avant et réappliquer après le rebasage automatiquement"
+#: builtin/pull.c:167 parse-options.h:339
+msgid "automatically stash/stash pop before and after"
+msgstr "remiser et réappliquer automatiquement avant et après"
 
-#: builtin/pull.c:201
+#: builtin/pull.c:183
 msgid "Options related to fetching"
 msgstr "Options relatives au rapatriement"
 
-#: builtin/pull.c:211
+#: builtin/pull.c:193
 msgid "force overwrite of local branch"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/pull.c:219
+#: builtin/pull.c:201
 msgid "number of submodules pulled in parallel"
 msgstr "nombre de sous-modules tirés en parallèle"
 
-#: builtin/pull.c:316
+#: builtin/pull.c:317
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Valeur invalide pour pull.ff : %s"
 
-#: builtin/pull.c:433
+#: builtin/pull.c:348
+msgid ""
+"Pulling without specifying how to reconcile divergent branches is\n"
+"discouraged. You can squelch this message by running one of the following\n"
+"commands sometime before your next pull:\n"
+"\n"
+"  git config pull.rebase false  # merge (the default strategy)\n"
+"  git config pull.rebase true   # rebase\n"
+"  git config pull.ff only       # fast-forward only\n"
+"\n"
+"You can replace \"git config\" with \"git config --global\" to set a "
+"default\n"
+"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
+"or --ff-only on the command line to override the configured default per\n"
+"invocation.\n"
+msgstr ""
+"Tirer sans spécifier comment réconcilier les branches divergentes\n"
+"est découragé. Vous pouvez éliminer ce message en lançant une des\n"
+"commandes suivantes avant votre prochain tirage :\n"
+"\n"
+"  git config pull.rebase false  # fusion (stratégie par défaut)\n"
+"  git config pull.rebase true   # rebasage\n"
+"  git config pull.ff only       # avance rapide seulement\n"
+"\n"
+"Vous pouvez remplacer \"git config\" par \"git config --global\" pour que\n"
+"ce soit l'option par défaut pour tous les dépôts. Vous pouvez aussi\n"
+"passer --rebase, --no-rebase ou --ff-only sur la ligne de commande pour\n"
+"remplacer à l'invocation la valeur par défaut configurée.\n"
+
+#: builtin/pull.c:458
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -16780,14 +18642,14 @@ msgstr ""
 "Il n'y a pas de candidate sur laquelle rebaser parmi les références que vous "
 "venez de récupérer."
 
-#: builtin/pull.c:435
+#: builtin/pull.c:460
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Il n'y a pas de candidate avec laquelle fusionner parmi les références que "
 "vous venez de récupérer."
 
-#: builtin/pull.c:436
+#: builtin/pull.c:461
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -16795,7 +18657,7 @@ msgstr ""
 "Généralement, cela signifie que vous avez indiqué un spécificateur\n"
 "de référence joker qui n'a pas eu de correspondance sur le serveur distant."
 
-#: builtin/pull.c:439
+#: builtin/pull.c:464
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -16807,44 +18669,44 @@ msgstr ""
 "configuration\n"
 "pour la branche actuelle, vous devez spécifier la branche avec la commande."
 
-#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73
+#: builtin/pull.c:469 builtin/rebase.c:1240 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Vous n'êtes actuellement sur aucune branche."
 
-#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79
+#: builtin/pull.c:471 builtin/pull.c:486 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "Veuillez spécifier sur quelle branche vous souhaiter rebaser."
 
-#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82
+#: builtin/pull.c:473 builtin/pull.c:488 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "Veuillez spécifier une branche avec laquelle fusionner."
 
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:474 builtin/pull.c:489
 msgid "See git-pull(1) for details."
 msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 
-#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466
-#: builtin/rebase.c:1332 git-parse-remote.sh:64
+#: builtin/pull.c:476 builtin/pull.c:482 builtin/pull.c:491
+#: builtin/rebase.c:1246 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<distant>"
 
-#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471
+#: builtin/pull.c:476 builtin/pull.c:491 builtin/pull.c:496
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<branche>"
 
-#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75
+#: builtin/pull.c:484 builtin/rebase.c:1238 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "Pas d'information de suivi distant pour la branche actuelle."
 
-#: builtin/pull.c:468 git-parse-remote.sh:95
+#: builtin/pull.c:493 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 "Si vous souhaitez indiquer l'information de suivi distant pour cette "
 "branche, vous pouvez le faire avec :"
 
-#: builtin/pull.c:473
+#: builtin/pull.c:498
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -16854,34 +18716,30 @@ msgstr ""
 "'%s'\n"
 "du serveur distant, mais cette référence n'a pas été récupérée."
 
-#: builtin/pull.c:581
+#: builtin/pull.c:609
 #, c-format
 msgid "unable to access commit %s"
 msgstr "impossible d'accéder le commit %s"
 
-#: builtin/pull.c:861
+#: builtin/pull.c:894
 msgid "ignoring --verify-signatures for rebase"
 msgstr "--verify-signatures est ignoré pour un rebasage"
 
-#: builtin/pull.c:916
-msgid "--[no-]autostash option is only valid with --rebase."
-msgstr "l'option --[no-]autostash n'est valide qu'avec --rebase."
-
-#: builtin/pull.c:924
+#: builtin/pull.c:954
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 "Mise à jour d'une branche non encore créée avec les changements ajoutés dans "
 "l'index."
 
-#: builtin/pull.c:928
+#: builtin/pull.c:958
 msgid "pull with rebase"
 msgstr "tirer avec un rebasage"
 
-#: builtin/pull.c:929
+#: builtin/pull.c:959
 msgid "please commit or stash them."
 msgstr "veuillez les valider ou les remiser."
 
-#: builtin/pull.c:954
+#: builtin/pull.c:984
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -16892,7 +18750,7 @@ msgstr ""
 "avance rapide de votre copie de travail\n"
 "depuis le commit %s."
 
-#: builtin/pull.c:960
+#: builtin/pull.c:990
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -16909,15 +18767,15 @@ msgstr ""
 "$ git reset --hard\n"
 "pour régénérer."
 
-#: builtin/pull.c:975
+#: builtin/pull.c:1005
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Impossible de fusionner de multiples branches sur une tête vide."
 
-#: builtin/pull.c:979
+#: builtin/pull.c:1009
 msgid "Cannot rebase onto multiple branches."
 msgstr "Impossible de rebaser sur de multiples branches."
 
-#: builtin/pull.c:986
+#: builtin/pull.c:1017
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "impossible de rebaser avec des modifications de sous-modules enregistrées "
@@ -16931,11 +18789,11 @@ msgstr "git push [<options>] [<dépôt> [<spécification-de-référence>...]]"
 msgid "tag shorthand without <tag>"
 msgstr "raccourci d'étiquette sans <étiquette>"
 
-#: builtin/push.c:121
+#: builtin/push.c:119
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete accepte seulement des noms entiers de références cibles"
 
-#: builtin/push.c:167
+#: builtin/push.c:164
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -16944,7 +18802,7 @@ msgstr ""
 "Pour choisir l'option de manière permanente, voir push.default dans 'git "
 "help config'."
 
-#: builtin/push.c:170
+#: builtin/push.c:167
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -16969,7 +18827,7 @@ msgstr ""
 "    git push %s HEAD\n"
 "%s"
 
-#: builtin/push.c:185
+#: builtin/push.c:182
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -16984,7 +18842,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<nom-de-la-branche-amont>\n"
 
-#: builtin/push.c:199
+#: builtin/push.c:194
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -16998,13 +18856,13 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:207
+#: builtin/push.c:202
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr ""
 "La branche courante %s a de multiples branches amont, impossible de pousser."
 
-#: builtin/push.c:210
+#: builtin/push.c:205
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -17015,14 +18873,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:269
+#: builtin/push.c:260
 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:276
+#: builtin/push.c:267
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -17037,7 +18895,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:282
+#: builtin/push.c:273
 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"
@@ -17052,7 +18910,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:288
+#: builtin/push.c:279
 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"
@@ -17070,13 +18928,13 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:295
+#: builtin/push.c:286
 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:298
+#: builtin/push.c:289
 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"
@@ -17088,142 +18946,142 @@ msgstr ""
 "pointer\n"
 "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n"
 
-#: builtin/push.c:359
+#: builtin/push.c:351
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Poussée vers %s\n"
 
-#: builtin/push.c:364
+#: builtin/push.c:358
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "impossible de pousser des références vers '%s'"
 
-#: builtin/push.c:398
-#, c-format
-msgid "bad repository '%s'"
-msgstr "mauvais dépôt '%s'"
-
-#: builtin/push.c:399
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-"Pas de destination pour pousser.\n"
-"Spécifiez une URL depuis la ligne de commande ou configurez un dépôt distant "
-"en utilisant\n"
-"\n"
-"    git remote add <nom> <url>\n"
-"\n"
-"et poussez alors en utilisant le dépôt distant\n"
-"\n"
-"    git push <nom>\n"
-
-#: builtin/push.c:554
+#: builtin/push.c:532
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:555 builtin/send-pack.c:164
+#: builtin/push.c:533 builtin/send-pack.c:183
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:556 builtin/send-pack.c:166
+#: builtin/push.c:534 builtin/send-pack.c:185
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
-#: builtin/push.c:558
+#: builtin/push.c:536
 msgid "delete refs"
 msgstr "supprimer les références"
 
-#: builtin/push.c:559
+#: builtin/push.c:537
 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:562 builtin/send-pack.c:167
+#: builtin/push.c:540 builtin/send-pack.c:186
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:564 builtin/send-pack.c:181
+#: builtin/push.c:541 builtin/send-pack.c:198
 msgid "<refname>:<expect>"
 msgstr "<nom-de-ref>:<attendu>"
 
-#: builtin/push.c:565 builtin/send-pack.c:182
+#: builtin/push.c:542 builtin/send-pack.c:199
 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:568
+#: builtin/push.c:545
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:570 builtin/send-pack.c:175
+#: builtin/push.c:546 builtin/send-pack.c:193
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161
-#: builtin/send-pack.c:162
+#: builtin/push.c:547 builtin/push.c:548 builtin/send-pack.c:180
+#: builtin/send-pack.c:181
 msgid "receive pack program"
 msgstr "recevoir le programme d'empaquetage"
 
-#: builtin/push.c:573
+#: builtin/push.c:549
 msgid "set upstream for git pull/status"
 msgstr "définir la branche amont pour git pull/status"
 
-#: builtin/push.c:576
+#: builtin/push.c:552
 msgid "prune locally removed refs"
 msgstr "éliminer les références locales supprimées"
 
-#: builtin/push.c:578
+#: builtin/push.c:554
 msgid "bypass pre-push hook"
 msgstr "éviter d'utiliser le crochet pre-push"
 
-#: builtin/push.c:579
+#: builtin/push.c:555
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:582 builtin/send-pack.c:169
+#: builtin/push.c:557 builtin/send-pack.c:187
 msgid "GPG sign the push"
 msgstr "signer la poussée avec GPG"
 
-#: builtin/push.c:584 builtin/send-pack.c:176
+#: builtin/push.c:559 builtin/send-pack.c:194
 msgid "request atomic transaction on remote side"
 msgstr "demande une transaction atomique sur le serveur distant"
 
-#: builtin/push.c:602
+#: builtin/push.c:577
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete est incompatible avec --all, --mirror et --tags"
 
-#: builtin/push.c:604
+#: builtin/push.c:579
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete n'a pas de sens sans aucune référence"
 
-#: builtin/push.c:607
+#: builtin/push.c:599
+#, c-format
+msgid "bad repository '%s'"
+msgstr "mauvais dépôt '%s'"
+
+#: builtin/push.c:600
+msgid ""
+"No configured push destination.\n"
+"Either specify the URL from the command-line or configure a remote "
+"repository using\n"
+"\n"
+"    git remote add <name> <url>\n"
+"\n"
+"and then push using the remote name\n"
+"\n"
+"    git push <name>\n"
+msgstr ""
+"Pas de destination pour pousser.\n"
+"Spécifiez une URL depuis la ligne de commande ou configurez un dépôt distant "
+"en utilisant\n"
+"\n"
+"    git remote add <nom> <url>\n"
+"\n"
+"et poussez alors en utilisant le dépôt distant\n"
+"\n"
+"    git push <nom>\n"
+
+#: builtin/push.c:615
 msgid "--all and --tags are incompatible"
 msgstr "--all et --tags sont incompatibles"
 
-#: builtin/push.c:609
+#: builtin/push.c:617
 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:613
+#: builtin/push.c:621
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror et --tags sont incompatibles"
 
-#: builtin/push.c:615
+#: builtin/push.c:623
 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:618
+#: builtin/push.c:626
 msgid "--all and --mirror are incompatible"
 msgstr "--all et --mirror sont incompatibles"
 
-#: builtin/push.c:637
+#: builtin/push.c:630
 msgid "push options must not have new line characters"
 msgstr ""
 "les options de poussée ne peuvent pas contenir de caractères de nouvelle "
@@ -17243,24 +19101,32 @@ msgstr "git range-diff [<options>] <ancien-sommet>...<nouveau-sommet>"
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<options>] <base> <ancien-sommet> <nouveau-sommet>"
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr "Pourcentage par lequel la création est pondérée"
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr "utiliser des couleurs de diff simples"
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr "notes"
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr "passé à 'git log'"
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "pas de .. dans la plage : '%s'"
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr "un format d'argument unique doit être une plage symétrique"
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr "plage entre deux commits requise"
 
@@ -17343,235 +19209,216 @@ msgstr "déboguer unpack-trees"
 msgid "suppress feedback messages"
 msgstr "supprimer les messages d'information de suivi"
 
-#: builtin/rebase.c:32
+#: builtin/read-tree.c:188
+msgid "You need to resolve your current index first"
+msgstr "Vous devez d'abord résoudre votre index courant"
+
+#: builtin/rebase.c:35
 msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
-"[<branch>]"
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
+"[<upstream> [<branch>]]"
 msgstr ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <nouvelle-base>] [<amont>] "
-"[<branche>]"
+"git rebase [-i] [options] [--exec <cmd>] [--onto <nouvelle-base> | --keep-"
+"base] [<amont> [<branche>]]"
 
-#: builtin/rebase.c:34
+#: builtin/rebase.c:37
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
 msgstr ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <nouvelle-base>] --root "
 "[<branche>]"
 
-#: builtin/rebase.c:36
+#: builtin/rebase.c:39
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#: builtin/rebase.c:187 builtin/rebase.c:211 builtin/rebase.c:238
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "liste à faire inutilisable : '%s'"
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
-#, c-format
-msgid "could not write '%s'."
-msgstr "impossible d'écrire '%s'."
-
-#: builtin/rebase.c:252
-msgid "no HEAD?"
-msgstr "pas de HEAD ?"
-
-#: builtin/rebase.c:279
+#: builtin/rebase.c:304
 #, c-format
 msgid "could not create temporary %s"
 msgstr "impossible de créer un fichier temporaire %s"
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:310
 msgid "could not mark as interactive"
 msgstr "impossible de marquer comme interactif"
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:364
 msgid "could not generate todo list"
 msgstr "impossible de générer la liste à-faire"
 
-#: builtin/rebase.c:382
+#: builtin/rebase.c:405
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "un commit de base doit être fourni avec --upstream ou --onto"
 
-#: builtin/rebase.c:437
+#: builtin/rebase.c:474
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<options>]"
 
-#: builtin/rebase.c:449
-msgid "keep empty commits"
-msgstr "garder les validations vides"
+#: builtin/rebase.c:487 builtin/rebase.c:1382
+msgid "keep commits which start empty"
+msgstr "conserver les commits qui commencent vides"
 
-#: builtin/rebase.c:451 builtin/revert.c:128
+#: builtin/rebase.c:491 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "autoriser les validations avec des messages vides"
 
-#: builtin/rebase.c:452
+#: builtin/rebase.c:493
 msgid "rebase merge commits"
 msgstr "rebaser les commits de fusion"
 
-#: builtin/rebase.c:454
+#: builtin/rebase.c:495
 msgid "keep original branch points of cousins"
 msgstr "conserver les points de branchement de cousins originaux"
 
-#: builtin/rebase.c:456
+#: builtin/rebase.c:497
 msgid "move commits that begin with squash!/fixup!"
 msgstr "déplacer les commits qui commencent par squash!/fixup!"
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:498
 msgid "sign commits"
 msgstr "signer les commits"
 
-#: builtin/rebase.c:459 builtin/rebase.c:1403
+#: builtin/rebase.c:500 builtin/rebase.c:1321
 msgid "display a diffstat of what changed upstream"
 msgstr "afficher un diffstat de ce qui a changé en amont"
 
-#: builtin/rebase.c:461
+#: builtin/rebase.c:502
 msgid "continue rebase"
 msgstr "continuer le rebasage"
 
-#: builtin/rebase.c:463
+#: builtin/rebase.c:504
 msgid "skip commit"
 msgstr "sauter le commit"
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:505
 msgid "edit the todo list"
 msgstr "éditer la liste à-faire"
 
-#: builtin/rebase.c:466
+#: builtin/rebase.c:507
 msgid "show the current patch"
 msgstr "afficher le patch courant"
 
-#: builtin/rebase.c:469
+#: builtin/rebase.c:510
 msgid "shorten commit ids in the todo list"
 msgstr "raccourcir les identifiants de commits dans la liste à-faire"
 
-#: builtin/rebase.c:471
+#: builtin/rebase.c:512
 msgid "expand commit ids in the todo list"
 msgstr "étendre les identifiants de commit dans la liste à-faire"
 
-#: builtin/rebase.c:473
+#: builtin/rebase.c:514
 msgid "check the todo list"
 msgstr "vérifier la liste à-faire"
 
-#: builtin/rebase.c:475
+#: builtin/rebase.c:516
 msgid "rearrange fixup/squash lines"
 msgstr "réarranger les lignes fixup/squash"
 
-#: builtin/rebase.c:477
+#: builtin/rebase.c:518
 msgid "insert exec commands in todo list"
 msgstr "insérer les commandes exec dans la liste à-faire"
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:519
 msgid "onto"
 msgstr "sur"
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:522
 msgid "restrict-revision"
 msgstr "restrict-revision"
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:522
 msgid "restrict revision"
 msgstr "restreindre la révision"
 
-#: builtin/rebase.c:483
+#: builtin/rebase.c:524
 msgid "squash-onto"
 msgstr "écraser-sur"
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:525
 msgid "squash onto"
 msgstr "écraser sur"
 
-#: builtin/rebase.c:486
+#: builtin/rebase.c:527
 msgid "the upstream commit"
 msgstr "le commit amont"
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:529
 msgid "head-name"
 msgstr "nom du head"
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:529
 msgid "head name"
 msgstr "nom du head"
 
-#: builtin/rebase.c:493
+#: builtin/rebase.c:534
 msgid "rebase strategy"
 msgstr "stratégie de rebasage"
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:535
 msgid "strategy-opts"
 msgstr "options de stratégie"
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:536
 msgid "strategy options"
 msgstr "options de stratégie"
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:537
 msgid "switch-to"
 msgstr "switch-to"
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:538
 msgid "the branch or commit to checkout"
 msgstr "la branche ou le commit à extraire"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:539
 msgid "onto-name"
 msgstr "sur-le-nom"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:539
 msgid "onto name"
 msgstr "sur le nom"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:540
 msgid "cmd"
 msgstr "cmd"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:540
 msgid "the command to run"
 msgstr "la commande à lancer"
 
-#: builtin/rebase.c:502 builtin/rebase.c:1486
+#: builtin/rebase.c:543 builtin/rebase.c:1415
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "re-planifier automatiquement tout `exec` qui échoue"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:559
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
 
-#: builtin/rebase.c:534
+#: builtin/rebase.c:575
 #, c-format
-msgid "%s requires an interactive rebase"
-msgstr "%s requiert un rebasage interactif"
+msgid "%s requires the merge backend"
+msgstr "%s requiert un moteur de fusion"
 
-#: builtin/rebase.c:586
+#: builtin/rebase.c:618
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "impossible d'accéder 'onto' : '%s'"
 
-#: builtin/rebase.c:601
+#: builtin/rebase.c:635
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head invalide : '%s'"
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:660
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "allow_rerere_autoupdate invalide ignoré : '%s'"
 
-#: builtin/rebase.c:702
-#, c-format
-msgid "Could not read '%s'"
-msgstr "Impossible de lire '%s'"
-
-#: builtin/rebase.c:720
-#, c-format
-msgid "Cannot store %s"
-msgstr "Impossible de stocker %s"
-
-#: builtin/rebase.c:827
-msgid "could not determine HEAD revision"
-msgstr "impossible de déterminer la révision HEAD"
-
-#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81
+#: builtin/rebase.c:805 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -17585,7 +19432,7 @@ msgstr ""
 "arrêter\n"
 "et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
 
-#: builtin/rebase.c:1031
+#: builtin/rebase.c:888
 #, c-format
 msgid ""
 "\n"
@@ -17604,7 +19451,16 @@ msgstr ""
 "\n"
 "Résultat, git ne peut pas les rebaser."
 
-#: builtin/rebase.c:1318
+#: builtin/rebase.c:1214
+#, c-format
+msgid ""
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
+"\"."
+msgstr ""
+"type vide non connu '%s' ; les valeurs valides sont \"drop\" (abandonner), "
+"\"keep\" (garder) et \"ask\" (demander)."
+
+#: builtin/rebase.c:1232
 #, c-format
 msgid ""
 "%s\n"
@@ -17621,7 +19477,7 @@ msgstr ""
 "    git rebase '<branche>'\n"
 "\n"
 
-#: builtin/rebase.c:1334
+#: builtin/rebase.c:1248
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -17635,127 +19491,149 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<branche> %s\n"
 "\n"
 
-#: builtin/rebase.c:1364
+#: builtin/rebase.c:1278
 msgid "exec commands cannot contain newlines"
 msgstr "les commandes exec ne peut pas contenir de retour à la ligne"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1282
 msgid "empty exec command"
 msgstr "commande exec vide"
 
-#: builtin/rebase.c:1396
+#: builtin/rebase.c:1312
 msgid "rebase onto given branch instead of upstream"
 msgstr "rebaser sur la branche %s au lieu de la branche amont"
 
-#: builtin/rebase.c:1398
+#: builtin/rebase.c:1314
+msgid "use the merge-base of upstream and branch as the current base"
+msgstr ""
+"utiliser la base de fusion de l'amont et la branche comme base actuelle"
+
+#: builtin/rebase.c:1316
 msgid "allow pre-rebase hook to run"
 msgstr "permettre le lancement du crochet pre-rebase"
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1318
 msgid "be quiet. implies --no-stat"
 msgstr "être silencieux. implique --no-stat"
 
-#: builtin/rebase.c:1406
+#: builtin/rebase.c:1324
 msgid "do not show diffstat of what changed upstream"
 msgstr "ne pas afficher un diffstat de ce qui a changé en amont"
 
-#: builtin/rebase.c:1409
+#: builtin/rebase.c:1327
 msgid "add a Signed-off-by: line to each commit"
 msgstr "ajouter une ligne Signed-off-by à chaque message de validation"
 
-#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417
-msgid "passed to 'git am'"
-msgstr "passé à 'git am'"
+#: builtin/rebase.c:1330
+msgid "make committer date match author date"
+msgstr "mettre la date de validateur à la date auteur"
+
+#: builtin/rebase.c:1332
+msgid "ignore author date and use current date"
+msgstr "ignorer la date d'auteur et utilise la date actuelle"
+
+#: builtin/rebase.c:1334
+msgid "synonym of --reset-author-date"
+msgstr "synonyme pour --reset-author-date"
 
-#: builtin/rebase.c:1419 builtin/rebase.c:1421
+#: builtin/rebase.c:1336 builtin/rebase.c:1340
 msgid "passed to 'git apply'"
 msgstr "passé jusqu'à git-apply"
 
-#: builtin/rebase.c:1423 builtin/rebase.c:1426
+#: builtin/rebase.c:1338
+msgid "ignore changes in whitespace"
+msgstr "ignorer des modifications d'espaces"
+
+#: builtin/rebase.c:1342 builtin/rebase.c:1345
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "picorer tous les commits, même sans modifiant"
 
-#: builtin/rebase.c:1428
+#: builtin/rebase.c:1347
 msgid "continue"
 msgstr "continuer"
 
-#: builtin/rebase.c:1431
+#: builtin/rebase.c:1350
 msgid "skip current patch and continue"
 msgstr "sauter le patch courant et continuer"
 
-#: builtin/rebase.c:1433
+#: builtin/rebase.c:1352
 msgid "abort and check out the original branch"
 msgstr "abandonner et extraire la branche d'origine"
 
-#: builtin/rebase.c:1436
+#: builtin/rebase.c:1355
 msgid "abort but keep HEAD where it is"
 msgstr "abandonne mais garde HEAD où il est"
 
-#: builtin/rebase.c:1437
+#: builtin/rebase.c:1356
 msgid "edit the todo list during an interactive rebase"
 msgstr "éditer la liste à faire lors d'un rebasage interactif"
 
-#: builtin/rebase.c:1440
+#: builtin/rebase.c:1359
 msgid "show the patch file being applied or merged"
 msgstr "afficher le patch en cours d'application ou de fusion"
 
-#: builtin/rebase.c:1443
+#: builtin/rebase.c:1362
+msgid "use apply strategies to rebase"
+msgstr "utiliser des stratégies d'application pour rebaser"
+
+#: builtin/rebase.c:1366
 msgid "use merging strategies to rebase"
 msgstr "utiliser des stratégies de fusion pour rebaser"
 
-#: builtin/rebase.c:1447
+#: builtin/rebase.c:1370
 msgid "let the user edit the list of commits to rebase"
 msgstr "laisser l'utilisateur éditer la liste des commits à rebaser"
 
-#: builtin/rebase.c:1451
+#: builtin/rebase.c:1374
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(DÉCONSEILLÉ) essayer de recréer les fusions au lieu de les ignorer"
 
-#: builtin/rebase.c:1455
-msgid "preserve empty commits during rebase"
-msgstr "préserver les validations vides pendant le rebasage"
+#: builtin/rebase.c:1379
+msgid "how to handle commits that become empty"
+msgstr "comment gérer les commits qui deviennent vides"
 
-#: builtin/rebase.c:1457
+#: builtin/rebase.c:1386
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "déplace les commits qui commencent par squash!/fixup! sous -i"
 
-#: builtin/rebase.c:1463
-msgid "automatically stash/stash pop before and after"
-msgstr "remiser et réappliquer automatiquement avant et après"
-
-#: builtin/rebase.c:1465
+#: builtin/rebase.c:1393
 msgid "add exec lines after each commit of the editable list"
 msgstr "ajouter les lignes exec après chaque commit de la liste éditable"
 
-#: builtin/rebase.c:1469
+#: builtin/rebase.c:1397
 msgid "allow rebasing commits with empty messages"
 msgstr "autoriser les commits de rebasage avec des messages vides"
 
-#: builtin/rebase.c:1472
+#: builtin/rebase.c:1401
 msgid "try to rebase merges instead of skipping them"
 msgstr "essayer de rebaser les fusions au lieu de les garder"
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1404
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "utiliser 'merge-base --fork-point' pour raffiner l'amont"
 
-#: builtin/rebase.c:1477
+#: builtin/rebase.c:1406
 msgid "use the given merge strategy"
 msgstr "utiliser la stratégie de fusion indiquée"
 
-#: builtin/rebase.c:1479 builtin/revert.c:115
+#: builtin/rebase.c:1408 builtin/revert.c:115
 msgid "option"
 msgstr "option"
 
-#: builtin/rebase.c:1480
+#: builtin/rebase.c:1409
 msgid "pass the argument through to the merge strategy"
 msgstr "passer les arguments jusqu'à la stratégie de fusion"
 
-#: builtin/rebase.c:1483
+#: builtin/rebase.c:1412
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "rebaser tous les objets inatteignables depuis les racines"
 
-#: builtin/rebase.c:1500
+#: builtin/rebase.c:1417
+msgid "apply all changes, even those already present upstream"
+msgstr ""
+"appliquer toutes les modifications, même celles déjà présentes en amont"
+
+#: builtin/rebase.c:1434
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -17763,32 +19641,44 @@ msgstr ""
 "les support de rebase.useBuiltin a été supprimé !\n"
 "Voir son entrée dans 'git help config' pour plus de détails."
 
-#: builtin/rebase.c:1506
+#: builtin/rebase.c:1440
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "Il semble que 'git-am' soit en cours. Impossible de rebaser."
 
-#: builtin/rebase.c:1547
+#: builtin/rebase.c:1481
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges est déconseillé. Utilisez --rebase-merges à la "
 "place."
 
-#: builtin/rebase.c:1551
+#: builtin/rebase.c:1486
+msgid "cannot combine '--keep-base' with '--onto'"
+msgstr "impossible de combiner '--keep-base' avec '--onto'"
+
+#: builtin/rebase.c:1488
+msgid "cannot combine '--keep-base' with '--root'"
+msgstr "impossible de combiner '--keep-base' avec '--root'"
+
+#: builtin/rebase.c:1492
+msgid "cannot combine '--root' with '--fork-point'"
+msgstr "impossible de combiner '--root' avec '--fork-point'"
+
+#: builtin/rebase.c:1495
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: builtin/rebase.c:1555
+#: builtin/rebase.c:1499
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "L'action --edit-todo peut seulement être utilisée lors d'un rebasage "
 "interactif."
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1522
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: builtin/rebase.c:1590
+#: builtin/rebase.c:1534
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -17796,16 +19686,16 @@ msgstr ""
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: builtin/rebase.c:1609
+#: builtin/rebase.c:1553
 msgid "could not discard worktree changes"
 msgstr "Impossible de supprimer les changements de l'arbre de travail"
 
-#: builtin/rebase.c:1628
+#: builtin/rebase.c:1572
 #, c-format
 msgid "could not move back to %s"
 msgstr "Impossible de revenir à %s"
 
-#: builtin/rebase.c:1673
+#: builtin/rebase.c:1618
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -17827,176 +19717,145 @@ msgstr ""
 "chose\n"
 "d'important ici.\n"
 
-#: builtin/rebase.c:1694
+#: builtin/rebase.c:1646
 msgid "switch `C' expects a numerical value"
 msgstr "l'option `C' attend un valeur numérique"
 
-#: builtin/rebase.c:1735
+#: builtin/rebase.c:1688
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "mode inconnu : %s"
 
-#: builtin/rebase.c:1757
+#: builtin/rebase.c:1727
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy requiert --merge ou --interactive"
 
-#: builtin/rebase.c:1797
+#: builtin/rebase.c:1757
+msgid "cannot combine apply options with merge options"
+msgstr ""
+"impossible de combiner les options d'application avec les options de fusion"
+
+#: builtin/rebase.c:1770
+#, c-format
+msgid "Unknown rebase backend: %s"
+msgstr "backend de rebasage inconnu : %s"
+
+#: builtin/rebase.c:1795
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec requiert --exec ou --interactive"
 
-#: builtin/rebase.c:1809
-msgid "cannot combine am options with either interactive or merge options"
-msgstr ""
-"impossible de combiner les options am avec l'options interactive ou merge"
-
-#: builtin/rebase.c:1828
+#: builtin/rebase.c:1815
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "impossible de combiner '--preserve-merges' avec '--rebase-merges'"
 
-#: builtin/rebase.c:1832
+#: builtin/rebase.c:1819
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "erreur : impossible de combiner '--preserve-merges' avec '--reschedule-"
 "failed-exec'"
 
-#: builtin/rebase.c:1838
-msgid "cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr "impossible de combiner '--rebase-merges' avec '--strategy-option'"
-
-#: builtin/rebase.c:1841
-msgid "cannot combine '--rebase-merges' with '--strategy'"
-msgstr "impossible de combiner '--rebase-merges' avec '--strategy'"
-
-#: builtin/rebase.c:1865
+#: builtin/rebase.c:1843
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "amont invalide '%s'"
 
-#: builtin/rebase.c:1871
+#: builtin/rebase.c:1849
 msgid "Could not create new root commit"
 msgstr "Impossible de créer un nouveau commit racine"
 
-#: builtin/rebase.c:1889
+#: builtin/rebase.c:1875
+#, c-format
+msgid "'%s': need exactly one merge base with branch"
+msgstr "'%s': exactement une base de fusion nécessaire avec une branche"
+
+#: builtin/rebase.c:1878
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s': exactement une base de fusion nécessaire"
 
-#: builtin/rebase.c:1896
+#: builtin/rebase.c:1886
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "ne pointe pas sur une validation valide : '%s'"
 
-#: builtin/rebase.c:1921
+#: builtin/rebase.c:1912
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "fatal : pas de branche ou commit '%s'"
 
-#: builtin/rebase.c:1929 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1934
+#: builtin/rebase.c:1920 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:2414
 #, c-format
 msgid "No such ref: %s"
 msgstr "Référence inexistante : %s"
 
-#: builtin/rebase.c:1940
+#: builtin/rebase.c:1931
 msgid "Could not resolve HEAD to a revision"
 msgstr "Impossible de résoudre le commit HEAD vers un révision"
 
-#: builtin/rebase.c:1981
-msgid "Cannot autostash"
-msgstr "Autoremisage impossible"
-
-#: builtin/rebase.c:1984
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr "réponse de remisage inattendue : '%s'"
-
-#: builtin/rebase.c:1990
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr "Impossible de créer le répertoire pour '%s'"
-
-#: builtin/rebase.c:1993
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr "Autoremisage créé : %s\n"
-
-#: builtin/rebase.c:1996
-msgid "could not reset --hard"
-msgstr "impossible de réinitialiser --hard"
-
-#: builtin/rebase.c:1997 builtin/reset.c:114
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD est maintenant à %s"
-
-#: builtin/rebase.c:2013
+#: builtin/rebase.c:1952
 msgid "Please commit or stash them."
 msgstr "Veuillez les valider ou les remiser."
 
-#: builtin/rebase.c:2040
-#, c-format
-msgid "could not parse '%s'"
-msgstr "impossible d'analyser '%s'"
-
-#: builtin/rebase.c:2053
+#: builtin/rebase.c:1988
 #, c-format
 msgid "could not switch to %s"
 msgstr "Impossible de basculer vers %s"
 
-#: builtin/rebase.c:2064
+#: builtin/rebase.c:1999
 msgid "HEAD is up to date."
 msgstr "HEAD est à jour."
 
-#: builtin/rebase.c:2066
+#: builtin/rebase.c:2001
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "La branche courante %s est à jour.\n"
 
-#: builtin/rebase.c:2074
+#: builtin/rebase.c:2009
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD est à jour, rebasage forcé."
 
-#: builtin/rebase.c:2076
+#: builtin/rebase.c:2011
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "La branche courante %s est à jour, rebasage forcé.\n"
 
-#: builtin/rebase.c:2084
+#: builtin/rebase.c:2019
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: builtin/rebase.c:2091
+#: builtin/rebase.c:2026
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Changements vers %s :\n"
 
-#: builtin/rebase.c:2094
+#: builtin/rebase.c:2029
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Changements de %s sur %s :\n"
 
-#: builtin/rebase.c:2119
+#: builtin/rebase.c:2054
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Rembobinage préalable de head pour pouvoir rejouer votre travail par-"
 "dessus...\n"
 
-#: builtin/rebase.c:2128
+#: builtin/rebase.c:2063
 msgid "Could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: builtin/rebase.c:2137
+#: builtin/rebase.c:2072
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Avance rapide de %s sur %s.\n"
 
-#: builtin/receive-pack.c:32
+#: builtin/receive-pack.c:34
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
-#: builtin/receive-pack.c:832
+#: builtin/receive-pack.c:1224
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -18026,7 +19885,7 @@ msgstr ""
 "Pour éliminer ce message et conserver le comportement par défaut,\n"
 "réglez « receive.denyCurrentBranch » à 'refuse'."
 
-#: builtin/receive-pack.c:852
+#: builtin/receive-pack.c:1244
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -18046,11 +19905,11 @@ msgstr ""
 "\n"
 "Pour éliminer ce message, réglez-le à 'refuse'."
 
-#: builtin/receive-pack.c:1938
+#: builtin/receive-pack.c:2422
 msgid "quiet"
 msgstr "quiet"
 
-#: builtin/receive-pack.c:1952
+#: builtin/receive-pack.c:2436
 msgid "You must specify a directory."
 msgstr "Vous devez spécifier un répertoire."
 
@@ -18076,49 +19935,49 @@ msgstr ""
 msgid "git reflog exists <ref>"
 msgstr "git reflog exists <référence>"
 
-#: builtin/reflog.c:567 builtin/reflog.c:572
+#: builtin/reflog.c:568 builtin/reflog.c:573
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' n'est pas un horodatage valide"
 
-#: builtin/reflog.c:605
+#: builtin/reflog.c:606
 #, c-format
 msgid "Marking reachable objects..."
 msgstr "Marquage des objets inaccessibles..."
 
-#: builtin/reflog.c:643
+#: builtin/reflog.c:644
 #, c-format
 msgid "%s points nowhere!"
 msgstr "%s ne pointe nulle part !"
 
-#: builtin/reflog.c:695
+#: builtin/reflog.c:696
 msgid "no reflog specified to delete"
 msgstr "pas de journal de références à supprimer spécifié"
 
-#: builtin/reflog.c:704
+#: builtin/reflog.c:705
 #, c-format
 msgid "not a reflog: %s"
 msgstr "'%s' n'est pas un journal de références"
 
-#: builtin/reflog.c:709
+#: builtin/reflog.c:710
 #, c-format
 msgid "no reflog for '%s'"
 msgstr "pas de journal de références pour '%s'"
 
-#: builtin/reflog.c:755
+#: builtin/reflog.c:756
 #, c-format
 msgid "invalid ref format: %s"
 msgstr "format de référence invalide : %s"
 
-#: builtin/reflog.c:764
+#: builtin/reflog.c:765
 msgid "git reflog [ show | expire | delete | exists ]"
 msgstr "git reflog [ show | expire | delete | exists ]"
 
-#: builtin/remote.c:16
+#: builtin/remote.c:17
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:17
+#: builtin/remote.c:18
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -18126,83 +19985,83 @@ msgstr ""
 "git remote add [-t <branche>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <nom> <url>"
 
-#: builtin/remote.c:18 builtin/remote.c:38
+#: builtin/remote.c:19 builtin/remote.c:39
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <ancienne> <nouvelle>"
 
-#: builtin/remote.c:19 builtin/remote.c:43
+#: builtin/remote.c:20 builtin/remote.c:44
 msgid "git remote remove <name>"
 msgstr "git remote remove <nom>"
 
-#: builtin/remote.c:20 builtin/remote.c:48
+#: builtin/remote.c:21 builtin/remote.c:49
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <nom> (-a | --auto | -d | --delete | <branche>)"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <nom>"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <nom>"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 "git remote [-v | --verbose] update [-p | --prune] [(<groupe> | "
 "<distante>)...]"
 
-#: builtin/remote.c:24
+#: builtin/remote.c:25
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <nom> <branche>..."
 
-#: builtin/remote.c:25 builtin/remote.c:74
+#: builtin/remote.c:26 builtin/remote.c:75
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <nom>"
 
-#: builtin/remote.c:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <nom> <nouvelle-URL> [<ancienne-URL>]"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <nom> <nouvelle-URL>"
 
-#: builtin/remote.c:28 builtin/remote.c:81
+#: builtin/remote.c:29 builtin/remote.c:82
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <nom> <url>"
 
-#: builtin/remote.c:33
+#: builtin/remote.c:34
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<options>] <nom> <URL>"
 
-#: builtin/remote.c:53
+#: builtin/remote.c:54
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <nom> <branche>..."
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <nom> <branche>..."
 
-#: builtin/remote.c:59
+#: builtin/remote.c:60
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<options>] <nom>"
 
-#: builtin/remote.c:64
+#: builtin/remote.c:65
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<options>] <nom>"
 
-#: builtin/remote.c:69
+#: builtin/remote.c:70
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<options>] [<groupe> | <distante>]..."
 
-#: builtin/remote.c:98
+#: builtin/remote.c:99
 #, c-format
 msgid "Updating %s"
 msgstr "Mise à jour de %s"
 
-#: builtin/remote.c:130
+#: builtin/remote.c:131
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -18210,88 +20069,104 @@ msgstr ""
 "--mirror est dangereux et obsolète ; merci\n"
 "\t d'utiliser --mirror=fetch ou --mirror=push à la place"
 
-#: builtin/remote.c:147
+#: builtin/remote.c:148
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "argument miroir inconnu : %s"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:164
 msgid "fetch the remote branches"
 msgstr "rapatrier les branches distantes"
 
-#: builtin/remote.c:165
+#: builtin/remote.c:166
 msgid "import all tags and associated objects when fetching"
 msgstr ""
 "importer toutes les étiquettes et les objets associés lors du rapatriement"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "ou ne rapatrier aucune étiquette (--no-tags)"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "branch(es) to track"
 msgstr "branche(s) à suivre"
 
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "master branch"
 msgstr "branche maîtresse"
 
-#: builtin/remote.c:173
+#: builtin/remote.c:174
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr ""
 "paramétrer la distante comme miroir pour pousser ou pour rapatrier depuis"
 
-#: builtin/remote.c:185
+#: builtin/remote.c:186
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "spécifier une branche maîtresse n'a pas de sens avec --mirror"
 
-#: builtin/remote.c:187
+#: builtin/remote.c:188
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr ""
 "spécifier les branches à suivre n'a de sens qu'avec des miroirs de "
 "rapatriement"
 
-#: builtin/remote.c:194 builtin/remote.c:636
+#: builtin/remote.c:195 builtin/remote.c:697
 #, c-format
 msgid "remote %s already exists."
 msgstr "la distante %s existe déjà."
 
-#: builtin/remote.c:198 builtin/remote.c:640
+#: builtin/remote.c:199 builtin/remote.c:701
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' n'est pas un nom valide de distante"
 
-#: builtin/remote.c:238
+#: builtin/remote.c:239
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Impossible de paramétrer la maîtresse '%s'"
 
-#: builtin/remote.c:344
+#: builtin/remote.c:354
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
 "Impossible d'obtenir une correspondance distante pour la spécification de "
 "référence %s"
 
-#: builtin/remote.c:443 builtin/remote.c:451
+#: builtin/remote.c:453 builtin/remote.c:461
 msgid "(matching)"
 msgstr "(correspond)"
 
-#: builtin/remote.c:455
+#: builtin/remote.c:465
 msgid "(delete)"
 msgstr "(supprimer)"
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:654
+#, c-format
+msgid "could not set '%s'"
+msgstr "impossible d'assigner '%s'"
+
+#: builtin/remote.c:659
+#, c-format
+msgid ""
+"The %s configuration remote.pushDefault in:\n"
+"\t%s:%d\n"
+"now names the non-existent remote '%s'"
+msgstr ""
+"La configuration %s remote.pushDefault dans :\n"
+"\t%s%d\n"
+"nomme à présent le distant inexistant '%s'"
+
+#: builtin/remote.c:690 builtin/remote.c:833 builtin/remote.c:941
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Pas de serveur remote : '%s'"
 
-#: builtin/remote.c:646
+#: builtin/remote.c:707
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Impossible de renommer la section de configuration '%s' en '%s'"
 
-#: builtin/remote.c:666
+#: builtin/remote.c:727
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -18302,17 +20177,17 @@ msgstr ""
 "\t%s\n"
 "\tVeuillez mettre à jour la configuration manuellement si nécessaire."
 
-#: builtin/remote.c:702
+#: builtin/remote.c:767
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "échec de suppression de '%s'"
 
-#: builtin/remote.c:736
+#: builtin/remote.c:801
 #, c-format
 msgid "creating '%s' failed"
 msgstr "échec de création de '%s'"
 
-#: builtin/remote.c:802
+#: builtin/remote.c:877
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -18327,118 +20202,118 @@ msgstr[1] ""
 "supprimées ;\n"
 "pour les supprimer, utilisez :"
 
-#: builtin/remote.c:816
+#: builtin/remote.c:891
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Impossible de supprimer la section de configuration '%s'"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:994
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
 
-#: builtin/remote.c:920
+#: builtin/remote.c:997
 msgid " tracked"
 msgstr " suivi"
 
-#: builtin/remote.c:922
+#: builtin/remote.c:999
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " dépassé (utilisez 'git remote prune' pour supprimer)"
 
-#: builtin/remote.c:924
+#: builtin/remote.c:1001
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:965
+#: builtin/remote.c:1042
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge invalide ; ne peut pas rebaser sur plus d'une branche"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:1051
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "rebase de manière interactive sur la distante %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:1053
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "rebase de manière interactive (avec fusions) sur la distante %s"
 
-#: builtin/remote.c:979
+#: builtin/remote.c:1056
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "rebase sur la distante %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:1060
 #, c-format
 msgid " merges with remote %s"
 msgstr " fusionne avec la distante %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:1063
 #, c-format
 msgid "merges with remote %s"
 msgstr "fusionne avec la distante %s"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:1066
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    et avec la distante %s\n"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1109
 msgid "create"
 msgstr "créer"
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1112
 msgid "delete"
 msgstr "supprimer"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1116
 msgid "up to date"
 msgstr "à jour"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1119
 msgid "fast-forwardable"
 msgstr "peut être mis à jour en avance rapide"
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1122
 msgid "local out of date"
 msgstr "le local n'est pas à jour"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1129
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s force vers %-*s (%s)"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1132
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s pousse vers %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1136
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s force vers %s"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1139
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s pousse vers %s"
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1207
 msgid "do not query remotes"
 msgstr "ne pas interroger les distantes"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1234
 #, c-format
 msgid "* remote %s"
 msgstr "* distante %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1235
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL de rapatriement : %s"
 
-#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
+#: builtin/remote.c:1236 builtin/remote.c:1252 builtin/remote.c:1391
 msgid "(no URL)"
 msgstr "(pas d'URL)"
 
@@ -18446,25 +20321,25 @@ msgstr "(pas d'URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1173 builtin/remote.c:1175
+#: builtin/remote.c:1250 builtin/remote.c:1252
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL push : %s"
 
-#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
+#: builtin/remote.c:1254 builtin/remote.c:1256 builtin/remote.c:1258
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Branche HEAD : %s"
 
-#: builtin/remote.c:1177
+#: builtin/remote.c:1254
 msgid "(not queried)"
 msgstr "(non demandé)"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1256
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1260
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -18472,171 +20347,162 @@ msgstr ""
 "  Branche HEAD (la HEAD distante est ambiguë, peut être l'une des "
 "suivantes) :\n"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1272
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branche distante :%s"
 msgstr[1] "  Branches distantes :%s"
 
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1275 builtin/remote.c:1301
 msgid " (status not queried)"
 msgstr " (état non demandé)"
 
-#: builtin/remote.c:1207
+#: builtin/remote.c:1284
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Branche locale configurée pour 'git pull' :"
 msgstr[1] "  Branches locales configurées pour 'git pull' :"
 
-#: builtin/remote.c:1215
+#: builtin/remote.c:1292
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Les références locales seront reflétées par 'git push'"
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1298
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Référence locale configurée pour 'git push'%s :"
 msgstr[1] "  Références locales configurées pour 'git push'%s :"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1319
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1321
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "supprimer refs/remotes/<nom>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1336
 msgid "Cannot determine remote HEAD"
 msgstr "Impossible de déterminer la HEAD distante"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1338
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Il y a de multiples branches HEAD distantes. Veuillez en choisir une "
 "explicitement avec :"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1348
 #, c-format
 msgid "Could not delete %s"
 msgstr "Impossible de supprimer %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1356
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Référence non valide : %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1358
 #, c-format
 msgid "Could not setup %s"
 msgstr "Impossible de paramétrer %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1376
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s se retrouvera en suspens !"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1377
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s se retrouve en suspens !"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1387
 #, c-format
 msgid "Pruning %s"
 msgstr "Élimination de %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1388
 #, c-format
 msgid "URL: %s"
 msgstr "URL : %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1404
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [serait éliminé] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1407
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [éliminé] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1452
 msgid "prune remotes after fetching"
 msgstr "éliminer les distants après le rapatriement"
 
-#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
+#: builtin/remote.c:1515 builtin/remote.c:1569 builtin/remote.c:1637
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Pas de serveur remote '%s'"
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1531
 msgid "add branch"
 msgstr "ajouter une branche"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1538
 msgid "no remote specified"
 msgstr "pas de serveur distant spécifié"
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1555
 msgid "query push URLs rather than fetch URLs"
 msgstr "interroger les URLs de poussée plutôt que les URLs de récupération"
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1557
 msgid "return all URLs"
 msgstr "retourner toutes les URLs"
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1585
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "aucune URL configurée pour le dépôt distant '%s'"
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1611
 msgid "manipulate push URLs"
 msgstr "manipuler les URLs push"
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1613
 msgid "add URL"
 msgstr "ajouter une URL"
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1615
 msgid "delete URLs"
 msgstr "supprimer des URLs"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1622
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete n'a aucun sens"
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1661
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Motif d'URL ancien invalide : %s"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1669
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Pas d'URL trouvée : %s"
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1671
 msgid "Will not delete all non-push URLs"
 msgstr "Pas de suppression de toutes les URLs non-push"
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr "être verbeux : doit être placé avant une sous-commande"
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr "Sous-commande inconnue : %s"
-
-#: builtin/repack.c:22
+#: builtin/repack.c:25
 msgid "git repack [<options>]"
 msgstr "git repack [<options>]"
 
-#: builtin/repack.c:27
+#: builtin/repack.c:30
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -18645,117 +20511,117 @@ msgstr ""
 "Utilisez\n"
 "--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
 
-#: builtin/repack.c:190
+#: builtin/repack.c:197
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "ne pas démarrer pack-objects pour ré-empaqueter les objects de prometteur"
 
-#: builtin/repack.c:229 builtin/repack.c:408
+#: builtin/repack.c:236 builtin/repack.c:421
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack : attente de lignes d'Id d'objets en hexa complet seulement depuis "
 "les objects de paquet."
 
-#: builtin/repack.c:246
+#: builtin/repack.c:260
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 "impossible de terminer pack-objects  pour ré-empaqueter les objets de "
 "prometteur"
 
-#: builtin/repack.c:284
+#: builtin/repack.c:297
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:286
+#: builtin/repack.c:299
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:289
+#: builtin/repack.c:302
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:291
+#: builtin/repack.c:304
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:293
+#: builtin/repack.c:306
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:295
+#: builtin/repack.c:308
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git update-server-info"
 
-#: builtin/repack.c:298
+#: builtin/repack.c:311
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:300
+#: builtin/repack.c:313
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:302
+#: builtin/repack.c:315
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "passer --delta-islands à git-pack-objects"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:316
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:317
 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:306
+#: builtin/repack.c:319
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:308
+#: builtin/repack.c:321
 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:309 builtin/repack.c:315
+#: builtin/repack.c:322 builtin/repack.c:328
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:310
+#: builtin/repack.c:323
 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:312
+#: builtin/repack.c:325
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:327
 msgid "limits the maximum number of threads"
 msgstr "limite le nombre maximal de fils"
 
-#: builtin/repack.c:316
+#: builtin/repack.c:329
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:318
+#: builtin/repack.c:331
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:320
+#: builtin/repack.c:333
 msgid "do not repack this pack"
 msgstr "ne pas rempaqueter ce paquet"
 
-#: builtin/repack.c:330
+#: builtin/repack.c:343
 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:334
+#: builtin/repack.c:347
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:417
+#: builtin/repack.c:430
 msgid "Nothing new to pack."
 msgstr "Rien de neuf à empaqueter."
 
-#: builtin/repack.c:478
+#: builtin/repack.c:486
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -18774,7 +20640,7 @@ msgstr ""
 "ALERTE : aussi échoué.\n"
 "ALERTE : Veuillez les renommer manuellement dans %s :\n"
 
-#: builtin/repack.c:526
+#: builtin/repack.c:534
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -18882,8 +20748,8 @@ msgstr "fstat de %s impossible"
 msgid "unable to write object to database"
 msgstr "impossible d'écrire l'objet dans la base de données"
 
-#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
-#: builtin/replace.c:452
+#: builtin/replace.c:322 builtin/replace.c:378 builtin/replace.c:424
+#: builtin/replace.c:454
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "nom d'objet invalide : '%s'"
@@ -18902,22 +20768,22 @@ msgstr "échec de l'édition du fichier d'objet"
 msgid "new object is the same as the old one: '%s'"
 msgstr "le nouvel objet est identique à l'ancien : '%s'"
 
-#: builtin/replace.c:383
+#: builtin/replace.c:384
 #, c-format
 msgid "could not parse %s as a commit"
 msgstr "impossible d'analyser %s comme commit"
 
-#: builtin/replace.c:414
+#: builtin/replace.c:416
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "mauvaise étiquette de fusion dans le commit '%s'"
 
-#: builtin/replace.c:416
+#: builtin/replace.c:418
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "étiquette de fusion malformée dans le commit '%s'"
 
-#: builtin/replace.c:428
+#: builtin/replace.c:430
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -18926,31 +20792,31 @@ msgstr ""
 "le commit original '%s' contient l'étiquette de fusion '%s' qui a disparu ; "
 "utilisez --edit au lieu de --graft"
 
-#: builtin/replace.c:467
+#: builtin/replace.c:469
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr "le commit original '%s' contient une signature GPG"
 
-#: builtin/replace.c:468
+#: builtin/replace.c:470
 msgid "the signature will be removed in the replacement commit!"
 msgstr "la signature sera éliminée dans la validation de remplacement !"
 
-#: builtin/replace.c:478
+#: builtin/replace.c:480
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "Impossible d'écrire le commit de remplacement pour '%s'"
 
-#: builtin/replace.c:486
+#: builtin/replace.c:488
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr "graft pour '%s' non nécessaire"
 
-#: builtin/replace.c:490
+#: builtin/replace.c:492
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr "le nouveau commit est identique à l'ancien : '%s'"
 
-#: builtin/replace.c:525
+#: builtin/replace.c:527
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
@@ -18959,71 +20825,71 @@ msgstr ""
 "impossible de convertir la(les) greffe(s) suivante(s) :\n"
 "%s"
 
-#: builtin/replace.c:546
+#: builtin/replace.c:548
 msgid "list replace refs"
 msgstr "afficher les références de remplacement"
 
-#: builtin/replace.c:547
+#: builtin/replace.c:549
 msgid "delete replace refs"
 msgstr "supprimer les références de remplacement"
 
-#: builtin/replace.c:548
+#: builtin/replace.c:550
 msgid "edit existing object"
 msgstr "éditer l'objet existant"
 
-#: builtin/replace.c:549
+#: builtin/replace.c:551
 msgid "change a commit's parents"
 msgstr "Modifier les parents d'un commit"
 
-#: builtin/replace.c:550
+#: builtin/replace.c:552
 msgid "convert existing graft file"
 msgstr "convertir le fichier de greffe existant"
 
-#: builtin/replace.c:551
+#: builtin/replace.c:553
 msgid "replace the ref if it exists"
 msgstr "remplacer la référence si elle existe"
 
-#: builtin/replace.c:553
+#: builtin/replace.c:555
 msgid "do not pretty-print contents for --edit"
 msgstr "afficher sans mise en forme pour --edit"
 
-#: builtin/replace.c:554
+#: builtin/replace.c:556
 msgid "use this format"
 msgstr "utiliser ce format"
 
-#: builtin/replace.c:567
+#: builtin/replace.c:569
 msgid "--format cannot be used when not listing"
 msgstr "--format ne peut pas être utilisé sans lister"
 
-#: builtin/replace.c:575
+#: builtin/replace.c:577
 msgid "-f only makes sense when writing a replacement"
 msgstr "-f n'a de sens qu'en écrivant un remplacement"
 
-#: builtin/replace.c:579
+#: builtin/replace.c:581
 msgid "--raw only makes sense with --edit"
 msgstr "--raw n'a de sens qu'avec l'option --edit"
 
-#: builtin/replace.c:585
+#: builtin/replace.c:587
 msgid "-d needs at least one argument"
 msgstr "-d requiert au moins un argument"
 
-#: builtin/replace.c:591
+#: builtin/replace.c:593
 msgid "bad number of arguments"
 msgstr "mauvais nombre d'arguments"
 
-#: builtin/replace.c:597
+#: builtin/replace.c:599
 msgid "-e needs exactly one argument"
 msgstr "-e requiert un seul argument"
 
-#: builtin/replace.c:603
+#: builtin/replace.c:605
 msgid "-g needs at least one argument"
 msgstr "-g requiert au moins un argument"
 
-#: builtin/replace.c:609
+#: builtin/replace.c:611
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file ne supporte aucun argument"
 
-#: builtin/replace.c:615
+#: builtin/replace.c:617
 msgid "only one pattern can be given with -l"
 msgstr "-l n'accepte qu'un motifs"
 
@@ -19052,117 +20918,129 @@ msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 
 #: builtin/reset.c:33
-msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
-msgstr "git reset [-q] [<arbre ou apparenté>] [--] <chemins>..."
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
+msgstr ""
+"git reset [-q] [<arbre ou apparenté>] [--] <spécificateur-de-chemin>..."
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<arbre ou apparenté>] [--] [<chemins>...]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<arbre-esque>]"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:35
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
+msgstr "git reset --patch [<arbre-esque>] [--] [<spéc.-de-chemin>...]"
+
+#: builtin/reset.c:41
 msgid "mixed"
 msgstr "mixed"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "soft"
 msgstr "soft"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "hard"
 msgstr "hard"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "merge"
 msgstr "merge"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "keep"
 msgstr "keep"
 
-#: builtin/reset.c:81
+#: builtin/reset.c:83
 msgid "You do not have a valid HEAD."
 msgstr "Vous n'avez pas une HEAD valide."
 
-#: builtin/reset.c:83
+#: builtin/reset.c:85
 msgid "Failed to find tree of HEAD."
 msgstr "Impossible de trouver l'arbre pour HEAD."
 
-#: builtin/reset.c:89
+#: builtin/reset.c:91
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Impossible de trouver l'arbre pour %s."
 
-#: builtin/reset.c:193
+#: builtin/reset.c:116
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD est maintenant à %s"
+
+#: builtin/reset.c:195
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Impossible de faire un \"reset %s\" au milieu d'une fusion."
 
-#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
-#: builtin/stash.c:613
+#: builtin/reset.c:295 builtin/stash.c:520 builtin/stash.c:595
+#: builtin/stash.c:619
 msgid "be quiet, only report errors"
 msgstr "être silencieux, afficher seulement les erreurs"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:297
 msgid "reset HEAD and index"
 msgstr "réinitialiser HEAD et l'index"
 
-#: builtin/reset.c:296
+#: builtin/reset.c:298
 msgid "reset only HEAD"
 msgstr "réinitialiser seulement HEAD"
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:300 builtin/reset.c:302
 msgid "reset HEAD, index and working tree"
 msgstr "réinitialiser HEAD, l'index et la copie de travail"
 
-#: builtin/reset.c:302
+#: builtin/reset.c:304
 msgid "reset HEAD but keep local changes"
 msgstr "réinitialiser HEAD mais garder les changements locaux"
 
-#: builtin/reset.c:308
+#: builtin/reset.c:310
 msgid "record only the fact that removed paths will be added later"
 msgstr ""
 "enregistrer seulement le fait que les chemins effacés seront ajoutés plus "
 "tard"
 
-#: builtin/reset.c:326
+#: builtin/reset.c:344
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Échec de résolution de '%s' comme une révision valide."
 
-#: builtin/reset.c:334
+#: builtin/reset.c:352
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Échec de résolution de '%s' comme un arbre valide."
 
-#: builtin/reset.c:343
+#: builtin/reset.c:361
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch est incompatible avec --{hard,mixed,soft}"
 
-#: builtin/reset.c:353
+#: builtin/reset.c:371
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed avec des chemins est obsolète ; utilisez 'git reset -- <paths>' à la "
 "place."
 
-#: builtin/reset.c:355
+#: builtin/reset.c:373
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Impossible de faire un \"%s reset\" avec des chemins."
 
-#: builtin/reset.c:370
+#: builtin/reset.c:388
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "Le \"%s reset\" n'est pas permis dans un dépôt nu"
 
-#: builtin/reset.c:374
+#: builtin/reset.c:392
 msgid "-N can only be used with --mixed"
 msgstr "-N ne peut être utilisé qu'avec --mixed"
 
-#: builtin/reset.c:395
+#: builtin/reset.c:413
 msgid "Unstaged changes after reset:"
 msgstr "Modifications non indexées après reset :"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:416
 #, c-format
 msgid ""
 "\n"
@@ -19177,53 +21055,48 @@ msgstr ""
 "de\n"
 "config reset.quiet à true pour avoir ce comportement en permanence.\n"
 
-#: builtin/reset.c:408
+#: builtin/reset.c:434
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Impossible de réinitialiser le fichier d'index à la révision '%s'."
 
-#: builtin/reset.c:412
+#: builtin/reset.c:439
 msgid "Could not write new index file."
 msgstr "Impossible d'écrire le nouveau fichier d'index."
 
-#: builtin/rev-list.c:412
+#: builtin/rev-list.c:499
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "impossible de combiner --exclude-promisor-objects et --missing"
 
-#: builtin/rev-list.c:473
+#: builtin/rev-list.c:560
 msgid "object filtering requires --objects"
 msgstr "le filtrage d'objet exige --objects"
 
-#: builtin/rev-list.c:476
-#, c-format
-msgid "invalid sparse value '%s'"
-msgstr "valeur invalide de 'sparse' '%s'"
-
-#: builtin/rev-list.c:527
+#: builtin/rev-list.c:610
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-list.c:530
-msgid "cannot combine --use-bitmap-index with object filtering"
-msgstr "impossible de combiner --use-bitmap-index avec le filtrage d'objet"
+#: builtin/rev-list.c:615
+msgid "marked counting is incompatible with --objects"
+msgstr "le comptage marqué est incompatible avec --objects"
 
-#: builtin/rev-parse.c:408
+#: builtin/rev-parse.c:409
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<options>] -- [<arguments>...]"
 
-#: builtin/rev-parse.c:413
+#: builtin/rev-parse.c:414
 msgid "keep the `--` passed as an arg"
 msgstr "garder le `--` passé en argument"
 
-#: builtin/rev-parse.c:415
+#: builtin/rev-parse.c:416
 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:418
+#: builtin/rev-parse.c:419
 msgid "output in stuck long form"
 msgstr "sortie en forme longue fixée"
 
-#: builtin/rev-parse.c:551
+#: builtin/rev-parse.c:552
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -19370,38 +21243,43 @@ 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:242
+#: builtin/rm.c:243
 msgid "do not list removed files"
 msgstr "ne pas afficher les fichiers supprimés"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "only remove from the index"
 msgstr "supprimer seulement de l'index"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "override the up-to-date check"
 msgstr "outrepasser la vérification des fichiers à jour"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "allow recursive removal"
 msgstr "autoriser la suppression récursive"
 
-#: builtin/rm.c:247
+#: builtin/rm.c:248
 msgid "exit with a zero status even if nothing matched"
 msgstr "sortir avec un état zéro même si rien ne correspondait"
 
-#: builtin/rm.c:289
+#: builtin/rm.c:282
+msgid "No pathspec was given. Which files should I remove?"
+msgstr ""
+"Aucun spécificateur de chemin fourni. Quel fichier doit être supprimé ?"
+
+#: builtin/rm.c:305
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "veuillez indexer vos modifications de .gitmodules ou les remiser pour "
 "continuer"
 
-#: builtin/rm.c:307
+#: builtin/rm.c:323
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "pas de suppression récursive de '%s' sans -r"
 
-#: builtin/rm.c:346
+#: builtin/rm.c:362
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
@@ -19419,57 +21297,79 @@ msgstr ""
 "  --all et la spécification explicite de <référence> sont mutuellement "
 "exclusifs."
 
-#: builtin/send-pack.c:163
+#: builtin/send-pack.c:182
 msgid "remote name"
 msgstr "nom distant"
 
-#: builtin/send-pack.c:177
+#: builtin/send-pack.c:195
 msgid "use stateless RPC protocol"
 msgstr "utiliser un protocole RPC sans état"
 
-#: builtin/send-pack.c:178
+#: builtin/send-pack.c:196
 msgid "read refs from stdin"
 msgstr "lire les références depuis l'entrée standard"
 
-#: builtin/send-pack.c:179
+#: builtin/send-pack.c:197
 msgid "print status from remote helper"
 msgstr "afficher les messages du greffon de protocole distant"
 
-#: builtin/shortlog.c:14
+#: builtin/shortlog.c:15
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git shortlog [<options>] [<intervalle-révisions>] [[--] <chemin>...]"
 
-#: builtin/shortlog.c:15
+#: builtin/shortlog.c:16
 msgid "git log --pretty=short | git shortlog [<options>]"
 msgstr "git log --pretty=short | git shortlog [<options>]"
 
-#: builtin/shortlog.c:264
+#: builtin/shortlog.c:134
+msgid "using multiple --group options with stdin is not supported"
+msgstr ""
+"l'utilisation de plusieurs options --group avec stdin n'est pas supportée"
+
+#: builtin/shortlog.c:144
+msgid "using --group=trailer with stdin is not supported"
+msgstr "l'utilisation de --group=trailer avec stdin n'est pas supportée"
+
+#: builtin/shortlog.c:388
+#, c-format
+msgid "unknown group type: %s"
+msgstr "type de groupe inconnu : %s"
+
+#: builtin/shortlog.c:416
 msgid "Group by committer rather than author"
 msgstr "Grouper par validateur plutôt que par auteur"
 
-#: builtin/shortlog.c:266
+#: builtin/shortlog.c:419
 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:268
+#: builtin/shortlog.c:421
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 "Supprimer les descriptions de validation, fournit seulement le nombre de "
 "validations"
 
-#: builtin/shortlog.c:270
+#: builtin/shortlog.c:423
 msgid "Show the email address of each author"
 msgstr "Afficher l'adresse courriel de chaque auteur"
 
-#: builtin/shortlog.c:271
+#: builtin/shortlog.c:424
 msgid "<w>[,<i1>[,<i2>]]"
 msgstr "<w>[,<i1>[,<i2>]]"
 
-#: builtin/shortlog.c:272
+#: builtin/shortlog.c:425
 msgid "Linewrap output"
 msgstr "Couper les lignes"
 
-#: builtin/shortlog.c:301
+#: builtin/shortlog.c:427
+msgid "field"
+msgstr "champ"
+
+#: builtin/shortlog.c:428
+msgid "Group by field"
+msgstr "Grouper par champ"
+
+#: builtin/shortlog.c:456
 msgid "too many arguments given outside repository"
 msgstr "trop d'arguments fournis hors d'un dépôt"
 
@@ -19611,6 +21511,14 @@ msgstr "'%s' n'est pas une référence valide."
 msgid "cannot find commit %s (%s)"
 msgstr "impossible de trouver le commit %s (%s)"
 
+#: builtin/show-index.c:21
+msgid "hash-algorithm"
+msgstr "algorithme d'empreinte"
+
+#: builtin/show-index.c:31
+msgid "Unknown hash algorithm"
+msgstr "Algorithme d'empreinte inconnu"
+
 #: builtin/show-ref.c:12
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
@@ -19660,15 +21568,90 @@ msgstr ""
 "afficher les références de l'entrée standard qui ne sont pas dans le dépôt "
 "local"
 
-#: builtin/stash.c:22 builtin/stash.c:37
+#: builtin/sparse-checkout.c:21
+msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
+msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
+
+#: builtin/sparse-checkout.c:50
+msgid "git sparse-checkout list"
+msgstr "git sparse-checkout list"
+
+#: builtin/sparse-checkout.c:76
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr ""
+"cet arbre de travail n'est pas partiel (le fichier sparse-checkout pourrait "
+"ne pas exister)"
+
+#: builtin/sparse-checkout.c:228
+msgid "failed to create directory for sparse-checkout file"
+msgstr ""
+"échec de la création du répertoire pour le fichier d'extraction partielle"
+
+#: builtin/sparse-checkout.c:269
+msgid "unable to upgrade repository format to enable worktreeConfig"
+msgstr ""
+"impossible de mettre à jour le format de dépôt pour activer worktreeConfig"
+
+#: builtin/sparse-checkout.c:271
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "échec de paramétrage extensions.worktreeConfig"
+
+#: builtin/sparse-checkout.c:288
+msgid "git sparse-checkout init [--cone]"
+msgstr "git sparse-checkout init [--cone]"
+
+#: builtin/sparse-checkout.c:307
+msgid "initialize the sparse-checkout in cone mode"
+msgstr "initialiser l'extraction partielle en mode cone"
+
+#: builtin/sparse-checkout.c:344
+#, c-format
+msgid "failed to open '%s'"
+msgstr "échec à l'ouverture de '%s'"
+
+#: builtin/sparse-checkout.c:401
+#, c-format
+msgid "could not normalize path %s"
+msgstr "impossible de normaliser le chemin '%s'"
+
+#: builtin/sparse-checkout.c:413
+msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
+msgstr "git sparse-checkout (set|add) (--stdin | <motifs>)"
+
+#: builtin/sparse-checkout.c:438
+#, c-format
+msgid "unable to unquote C-style string '%s'"
+msgstr "Impossible de décoter la chaîne en style C '%s'"
+
+#: builtin/sparse-checkout.c:492 builtin/sparse-checkout.c:516
+msgid "unable to load existing sparse-checkout patterns"
+msgstr "impossible de charger les motifs de l'extraction partielle existants"
+
+#: builtin/sparse-checkout.c:561
+msgid "read patterns from standard in"
+msgstr "lire les motifs depuis l'entrée standard"
+
+#: builtin/sparse-checkout.c:576
+msgid "git sparse-checkout reapply"
+msgstr "git sparse-checkout reapply"
+
+#: builtin/sparse-checkout.c:595
+msgid "git sparse-checkout disable"
+msgstr "git sparse-checkout disable"
+
+#: builtin/sparse-checkout.c:623
+msgid "error while refreshing working directory"
+msgstr "erreur lors du rafraîchissement du répertoire de travail"
+
+#: builtin/stash.c:22 builtin/stash.c:38
 msgid "git stash list [<options>]"
 msgstr "git stash list [<options>]"
 
-#: builtin/stash.c:23 builtin/stash.c:42
+#: builtin/stash.c:23 builtin/stash.c:43
 msgid "git stash show [<options>] [<stash>]"
 msgstr "git stash show [<options>] [<remise>]"
 
-#: builtin/stash.c:24 builtin/stash.c:47
+#: builtin/stash.c:24 builtin/stash.c:48
 msgid "git stash drop [-q|--quiet] [<stash>]"
 msgstr "git stash drop [-q|--quiet] [<remise>]"
 
@@ -19676,25 +21659,27 @@ msgstr "git stash drop [-q|--quiet] [<remise>]"
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<remise>]"
 
-#: builtin/stash.c:26 builtin/stash.c:62
+#: builtin/stash.c:26 builtin/stash.c:63
 msgid "git stash branch <branchname> [<stash>]"
 msgstr "git stash branch <nom-de-branche> [<remise>]"
 
-#: builtin/stash.c:27 builtin/stash.c:67
+#: builtin/stash.c:27 builtin/stash.c:68
 msgid "git stash clear"
 msgstr "git stash clear"
 
-#: builtin/stash.c:28 builtin/stash.c:77
+#: builtin/stash.c:28
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
 "          [--] [<pathspec>...]]"
 msgstr ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
 "          [--] [<spécificateur-de-chemin>...]]"
 
-#: builtin/stash.c:31 builtin/stash.c:84
+#: builtin/stash.c:32 builtin/stash.c:85
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
@@ -19702,191 +21687,203 @@ msgstr ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
 
-#: builtin/stash.c:52
+#: builtin/stash.c:53
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<remise>]"
 
-#: builtin/stash.c:57
+#: builtin/stash.c:58
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<remise>]"
 
-#: builtin/stash.c:72
+#: builtin/stash.c:73
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <message>] [-q|--quiet] <remise>"
 
-#: builtin/stash.c:127
+#: builtin/stash.c:78
+msgid ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<pathspec>...]]"
+msgstr ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<spécificateur-de-chemin>...]]"
+
+#: builtin/stash.c:128
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "'%s' n'est pas une validation de type remisage"
 
-#: builtin/stash.c:147
+#: builtin/stash.c:148
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "Trop de révisions spécifiées : %s"
 
-#: builtin/stash.c:161 git-legacy-stash.sh:548
+#: builtin/stash.c:162
 msgid "No stash entries found."
 msgstr "Aucune entrée de remisage trouvée."
 
-#: builtin/stash.c:175
+#: builtin/stash.c:176
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "%s n'est pas une référence valide"
 
-#: builtin/stash.c:224 git-legacy-stash.sh:75
+#: builtin/stash.c:225
 msgid "git stash clear with parameters is unimplemented"
 msgstr "git stash clear avec des paramètres n'est pas implémenté"
 
-#: builtin/stash.c:403
+#: builtin/stash.c:404
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "impossible d'appliquer un remisage en cours de fusion"
 
-#: builtin/stash.c:414
+#: builtin/stash.c:415
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "impossible de générer %s^!."
 
-#: builtin/stash.c:421
+#: builtin/stash.c:422
 msgid "conflicts in index.Try without --index."
 msgstr "conflits dans l'index. Essayez sans --index."
 
-#: builtin/stash.c:427
+#: builtin/stash.c:428
 msgid "could not save index tree"
 msgstr "impossible de sauvegarder l'arbre d'index"
 
-#: builtin/stash.c:434
+#: builtin/stash.c:437
 msgid "could not restore untracked files from stash"
 msgstr "impossible de restaurer les fichiers non-suivis depuis le remisage"
 
-#: builtin/stash.c:448
+#: builtin/stash.c:451
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Fusion de %s avec %s"
 
-#: builtin/stash.c:458 git-legacy-stash.sh:680
+#: builtin/stash.c:461
 msgid "Index was not unstashed."
 msgstr "L'index n'a pas été sorti de remise."
 
-#: builtin/stash.c:516 builtin/stash.c:615
+#: builtin/stash.c:522 builtin/stash.c:621
 msgid "attempt to recreate the index"
 msgstr "tentative de recréer l'index"
 
-#: builtin/stash.c:549
+#: builtin/stash.c:555
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "%s supprimé (%s)"
 
-#: builtin/stash.c:552
+#: builtin/stash.c:558
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s : Impossible de supprimer l'élément de stash"
 
-#: builtin/stash.c:577
+#: builtin/stash.c:583
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' n'est pas une référence de remisage"
 
-#: builtin/stash.c:627 git-legacy-stash.sh:694
+#: builtin/stash.c:633
 msgid "The stash entry is kept in case you need it again."
 msgstr ""
 "L'entrée de remisage est conservée au cas où vous en auriez encore besoin."
 
-#: builtin/stash.c:650 git-legacy-stash.sh:712
+#: builtin/stash.c:656
 msgid "No branch name specified"
 msgstr "Aucune branche spécifiée"
 
-#: builtin/stash.c:790 builtin/stash.c:827
+#: builtin/stash.c:800 builtin/stash.c:837
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Impossible de mettre à jour %s avec %s"
 
-#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497
+#: builtin/stash.c:818 builtin/stash.c:1472 builtin/stash.c:1537
 msgid "stash message"
 msgstr "message pour le remisage"
 
-#: builtin/stash.c:818
+#: builtin/stash.c:828
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" exige un argument <commit>"
 
-#: builtin/stash.c:1040 git-legacy-stash.sh:217
+#: builtin/stash.c:1043
 msgid "No changes selected"
 msgstr "Aucun changement sélectionné"
 
-#: builtin/stash.c:1136 git-legacy-stash.sh:150
+#: builtin/stash.c:1143
 msgid "You do not have the initial commit yet"
 msgstr "Vous n'avez pas encore la validation initiale"
 
-#: builtin/stash.c:1163 git-legacy-stash.sh:165
+#: builtin/stash.c:1170
 msgid "Cannot save the current index state"
 msgstr "Impossible de sauver l'état courant de l'index"
 
-#: builtin/stash.c:1172 git-legacy-stash.sh:180
+#: builtin/stash.c:1179
 msgid "Cannot save the untracked files"
 msgstr "Impossible de sauver les fichiers non-suivis"
 
-#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200
-#: git-legacy-stash.sh:213
+#: builtin/stash.c:1190 builtin/stash.c:1199
 msgid "Cannot save the current worktree state"
 msgstr "Impossible de sauver l'état courant de la copie de travail"
 
-#: builtin/stash.c:1220 git-legacy-stash.sh:233
+#: builtin/stash.c:1227
 msgid "Cannot record working tree state"
 msgstr "Impossible d'enregistrer l'état de la copie de travail"
 
-#: builtin/stash.c:1269 git-legacy-stash.sh:337
+#: builtin/stash.c:1276
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 "Impossible d'utiliser --patch et --include-untracked ou --all en même temps"
 
-#: builtin/stash.c:1285
+#: builtin/stash.c:1292
 msgid "Did you forget to 'git add'?"
 msgstr "Vous avez sûrement oublié 'git add' ?"
 
-#: builtin/stash.c:1300 git-legacy-stash.sh:345
+#: builtin/stash.c:1307
 msgid "No local changes to save"
 msgstr "Pas de modifications locales à sauver"
 
-#: builtin/stash.c:1307 git-legacy-stash.sh:350
+#: builtin/stash.c:1314
 msgid "Cannot initialize stash"
 msgstr "Impossible d'initialiser le remisage"
 
-#: builtin/stash.c:1322 git-legacy-stash.sh:354
+#: builtin/stash.c:1329
 msgid "Cannot save the current status"
 msgstr "Impossible de sauver l'état courant"
 
-#: builtin/stash.c:1327
+#: builtin/stash.c:1334
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Arbre de travail et état de l'index sauvegardés dans %s"
 
-#: builtin/stash.c:1417 git-legacy-stash.sh:384
+#: builtin/stash.c:1424
 msgid "Cannot remove worktree changes"
 msgstr "Impossible de supprimer les changements de la copie de travail"
 
-#: builtin/stash.c:1452 builtin/stash.c:1488
+#: builtin/stash.c:1463 builtin/stash.c:1528
 msgid "keep index"
 msgstr "conserver l'index"
 
-#: builtin/stash.c:1454 builtin/stash.c:1490
+#: builtin/stash.c:1465 builtin/stash.c:1530
 msgid "stash in patch mode"
 msgstr "remiser une mode rustine"
 
-#: builtin/stash.c:1455 builtin/stash.c:1491
+#: builtin/stash.c:1466 builtin/stash.c:1531
 msgid "quiet mode"
 msgstr "mode silencieux"
 
-#: builtin/stash.c:1457 builtin/stash.c:1493
+#: builtin/stash.c:1468 builtin/stash.c:1533
 msgid "include untracked files in stash"
 msgstr "inclure les fichiers non suivis dans la remise"
 
-#: builtin/stash.c:1459 builtin/stash.c:1495
+#: builtin/stash.c:1470 builtin/stash.c:1535
 msgid "include ignore files"
 msgstr "inclure les fichiers ignorés"
 
-#: builtin/stash.c:1555
-#, c-format
-msgid "could not exec %s"
-msgstr "impossible d'exécuter %s"
+#: builtin/stash.c:1570
+msgid ""
+"the stash.useBuiltin support has been removed!\n"
+"See its entry in 'git help config' for details."
+msgstr ""
+"la prise en charge de stash.useBuiltin a été supprimée !\n"
+"Voir son entrée dans 'git help config' pour plus de détails."
 
 #: builtin/stripspace.c:18
 msgid "git stripspace [-s | --strip-comments]"
@@ -19906,40 +21903,40 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2423
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Nom de référence complet attendu, %s obtenu"
 
-#: builtin/submodule--helper.c:62
+#: builtin/submodule--helper.c:64
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper  print-default-remote n'accepte aucun argument"
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1819
 msgid "alternative anchor for relative paths"
 msgstr "ancre alternative pour les chemins relatifs"
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628
-#: builtin/submodule--helper.c:651
+#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:652
 #, 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:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Entrée dans '%s'\n"
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -19948,7 +21945,7 @@ msgstr ""
 "run_command a retourné un statut non-nul pour %s\n"
 "."
 
-#: builtin/submodule--helper.c:547
+#: builtin/submodule--helper.c:549
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -19959,20 +21956,20 @@ msgstr ""
 "modules inclus de %s\n"
 "."
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr ""
 "Supprimer la sortie lors de l'entrée dans chaque commande de sous-module"
 
-#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:1487
 msgid "Recurse into nested submodules"
 msgstr "Parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <commande>"
 
-#: builtin/submodule--helper.c:597
+#: builtin/submodule--helper.c:599
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -19981,60 +21978,60 @@ msgstr ""
 "impossible de trouver la configuration '%s'. Ce dépôt est considéré comme "
 "son propre amont d'autorité."
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:666
 #, 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:669
+#: builtin/submodule--helper.c:670
 #, 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:679
+#: builtin/submodule--helper.c:680
 #, 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:686
+#: builtin/submodule--helper.c:687
 #, 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:708
+#: builtin/submodule--helper.c:709
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:713
+#: builtin/submodule--helper.c:714
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<options>] [<chemin>]"
 
-#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911
+#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:922
 #, 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:824
+#: builtin/submodule--helper.c:835
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "impossible de résoudre HEAD dans le sous-module '%s'"
 
-#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020
+#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1457
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "récursion impossible dans le sous-module '%s'"
 
-#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:886 builtin/submodule--helper.c:1623
 msgid "Suppress submodule status output"
 msgstr "supprimer la sortie d'état du sous-module"
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:887
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -20042,48 +22039,104 @@ msgstr ""
 "Utiliser le commit stocké dans l'index au lieu de celui stocké dans la HEAD "
 "du sous-module"
 
-#: builtin/submodule--helper.c:877
+#: builtin/submodule--helper.c:888
 msgid "recurse into nested submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:882
+#: builtin/submodule--helper.c:893
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<chemin>...]"
 
-#: builtin/submodule--helper.c:906
+#: builtin/submodule--helper.c:917
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:970
+#: builtin/submodule--helper.c:989
+#, c-format
+msgid "* %s %s(blob)->%s(submodule)"
+msgstr "* %s %s(blob)->%s(submodule)"
+
+#: builtin/submodule--helper.c:992
+#, c-format
+msgid "* %s %s(submodule)->%s(blob)"
+msgstr "* %s %s(submodule)->%s(blob)"
+
+#: builtin/submodule--helper.c:1005
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: builtin/submodule--helper.c:1055
+#, c-format
+msgid "couldn't hash object from '%s'"
+msgstr "Impossible de calculer l'empreinte de l'objet depuis '%s'"
+
+#: builtin/submodule--helper.c:1059
+#, c-format
+msgid "unexpected mode %o\n"
+msgstr "mode %o inattendu\n"
+
+#: builtin/submodule--helper.c:1300
+msgid "use the commit stored in the index instead of the submodule HEAD"
+msgstr ""
+"utiliser le commit stocké dans l'index au lieu de la HEAD du sous-module"
+
+#: builtin/submodule--helper.c:1302
+msgid "to compare the commit in the index with that in the submodule HEAD"
+msgstr ""
+"pour comparer le commit dans l'index au lieu de celui dans la HEAD du sous-"
+"module"
+
+#: builtin/submodule--helper.c:1304
+msgid "skip submodules with 'ignore_config' value set to 'all'"
+msgstr "sauter les sous-modules avec la valeur 'ignore_config' à 'all'"
+
+#: builtin/submodule--helper.c:1306
+msgid "limit the summary size"
+msgstr "limiter la taille du résumé"
+
+#: builtin/submodule--helper.c:1311
+msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
+msgstr "git submodule--helper summary [<options>] [<commit>] [--] [<chemin>]"
+
+#: builtin/submodule--helper.c:1335
+msgid "could not fetch a revision for HEAD"
+msgstr "Impossible de récupérer une révision pour HEAD"
+
+#: builtin/submodule--helper.c:1340
+msgid "--cached and --files are mutually exclusive"
+msgstr "--cached et --files sont mutuellement exclusifs"
+
+#: builtin/submodule--helper.c:1407
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Synchronisation de l'URL sous-module pour '%s'\n"
 
-#: builtin/submodule--helper.c:976
+#: builtin/submodule--helper.c:1413
 #, 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:990
+#: builtin/submodule--helper.c:1427
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "échec d'obtention du dépôt distant par défaut pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:1001
+#: builtin/submodule--helper.c:1438
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "échec de mise à jour du dépôt distant pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:1048
+#: builtin/submodule--helper.c:1485
 msgid "Suppress output of synchronizing submodule url"
 msgstr ""
 "Supprimer la sortie lors de la synchronisation de l'URL d'un sous-module"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1492
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<chemin>]"
 
-#: builtin/submodule--helper.c:1109
+#: builtin/submodule--helper.c:1546
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -20093,7 +22146,7 @@ msgstr ""
 "'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1558
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -20102,179 +22155,208 @@ msgstr ""
 "L'arbre de travail du sous-module '%s' contient des modifications locales ; "
 "utilisez '-f' pour les annuler"
 
-#: builtin/submodule--helper.c:1129
+#: builtin/submodule--helper.c:1566
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Répertoire '%s' nettoyé\n"
 
-#: builtin/submodule--helper.c:1131
+#: builtin/submodule--helper.c:1568
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Impossible de supprimer l'arbre de travail du sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:1142
+#: builtin/submodule--helper.c:1579
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "impossible de créer le répertoire vide du sous-module %s"
 
-#: builtin/submodule--helper.c:1158
+#: builtin/submodule--helper.c:1595
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) non enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1624
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr ""
 "Éliminer les arbres de travail des sous-modules même s'ils contiennent des "
 "modifications locales"
 
-#: builtin/submodule--helper.c:1188
+#: builtin/submodule--helper.c:1625
 msgid "Unregister all submodules"
 msgstr "Désenregistrer tous les sous-modules"
 
-#: builtin/submodule--helper.c:1193
+#: builtin/submodule--helper.c:1630
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<chemin>...]]"
 
-#: builtin/submodule--helper.c:1207
+#: builtin/submodule--helper.c:1644
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
 
-#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305
+#: builtin/submodule--helper.c:1713
+msgid ""
+"An alternate computed from a superproject's alternate is invalid.\n"
+"To allow Git to clone without an alternate in such a case, set\n"
+"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
+"'--reference-if-able' instead of '--reference'."
+msgstr ""
+"Une alternative calculée depuis l'alternative du super-projet est invalide.\n"
+"Pour permettre à Git de cloner sans alternative dans un tel cas, réglez\n"
+"submodule.alternateErrorStrategy à 'info', ou de manière équivalente,\n"
+"clonez avec '--reference-if-able' au lieu de '--reference'."
+
+#: builtin/submodule--helper.c:1752 builtin/submodule--helper.c:1755
 #, 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:1341
+#: builtin/submodule--helper.c:1791
 #, 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:1348
+#: builtin/submodule--helper.c:1798
 #, 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:1371
+#: builtin/submodule--helper.c:1822
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:1374
+#: builtin/submodule--helper.c:1825
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1828
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:1385
+#: builtin/submodule--helper.c:1836
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1839 builtin/submodule--helper.c:2348
 msgid "force cloning progress"
 msgstr "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:1393
+#: builtin/submodule--helper.c:1841 builtin/submodule--helper.c:2350
+msgid "disallow cloning into non-empty directory"
+msgstr "interdire de cloner dans un répertoire non-vide"
+
+#: builtin/submodule--helper.c:1848
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
+"<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
+"<url> --path <path>"
 msgstr ""
 "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference "
-"<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
+"<dépôt>] [--name <nom>] [--depth <profondeur>] [--single-branch] --url <url> "
+"--path <chemin>"
 
-#: builtin/submodule--helper.c:1424
+#: builtin/submodule--helper.c:1873
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's git dir"
+msgstr ""
+"refus de créer/utiliser '%s' dans un répertoire git d'un autre sous-module"
+
+#: builtin/submodule--helper.c:1884
 #, 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:1438
+#: builtin/submodule--helper.c:1888
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr "le répertoire n'est pas vide : '%s'"
+
+#: builtin/submodule--helper.c:1900
 #, 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:1474
+#: builtin/submodule--helper.c:1936
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "mode de mise à jour '%s' invalide pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:1478
+#: builtin/submodule--helper.c:1940
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Mode de mise à jour '%s'invalide configuré pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:1571
+#: builtin/submodule--helper.c:2041
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:1575
+#: builtin/submodule--helper.c:2045
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:1605
+#: builtin/submodule--helper.c:2075
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:1634
+#: builtin/submodule--helper.c:2104
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:1778
+#: builtin/submodule--helper.c:2254
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:1789
+#: builtin/submodule--helper.c:2265
 #, 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:1851 builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:2327 builtin/submodule--helper.c:2573
 msgid "path into the working tree"
 msgstr "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:2330
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "chemin dans la copie de travail, traversant les frontières de sous-modules"
 
-#: builtin/submodule--helper.c:1858
+#: builtin/submodule--helper.c:2334
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:1864
+#: builtin/submodule--helper.c:2340
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Créer un clone superficiel tronqué au nombre de révisions spécifié"
 
-#: builtin/submodule--helper.c:1867
+#: builtin/submodule--helper.c:2343
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:2345
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "spécifie si le clonage initial doit être aussi superficiel"
 
-#: builtin/submodule--helper.c:1870
+#: builtin/submodule--helper.c:2346
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:1877
-msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
-msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
+#: builtin/submodule--helper.c:2357
+msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper update-clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:1890
+#: builtin/submodule--helper.c:2370
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:2418
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -20283,51 +22365,86 @@ msgstr ""
 "la branche du sous-module %s est configurée pour hériter de la branche du "
 "superprojet, mais le superprojet n'est sur aucune branche"
 
-#: builtin/submodule--helper.c:2061
+#: builtin/submodule--helper.c:2541
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "impossible de trouver une poignée de dépôt pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:2094
+#: builtin/submodule--helper.c:2574
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:2100
+#: builtin/submodule--helper.c:2580
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<options>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2636
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "vérifier si écrire dans le fichier .gitmodules est sur"
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2639
 msgid "unset the config in the .gitmodules file"
 msgstr "désactiver la configuration dans le fichier .gitmodules"
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2644
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config name [<valeur>]"
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2645
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <nom>"
 
-#: builtin/submodule--helper.c:2166
+#: builtin/submodule--helper.c:2646
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2185 git-submodule.sh:171
+#: builtin/submodule--helper.c:2665 git-submodule.sh:151
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 "veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail"
 
-#: builtin/submodule--helper.c:2235 git.c:434 git.c:684
+#: builtin/submodule--helper.c:2681
+msgid "Suppress output for setting url of a submodule"
+msgstr "Supprimer la sortie lors du paramétrage de l'url d'un sous-module"
+
+#: builtin/submodule--helper.c:2685
+msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
+msgstr "git submodule--helper sync [--quiet] <chemin> <nouvelle-url>"
+
+#: builtin/submodule--helper.c:2718
+msgid "set the default tracking branch to master"
+msgstr "régler la branche de suivi par défaut à master"
+
+#: builtin/submodule--helper.c:2720
+msgid "set the default tracking branch"
+msgstr "régler la branche de suivi par défaut"
+
+#: builtin/submodule--helper.c:2724
+msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
+msgstr "git submodule--helper set-branch [-q|--quiet] (-d|--default) <chemin>"
+
+#: builtin/submodule--helper.c:2725
+msgid ""
+"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
+msgstr ""
+"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branche> "
+"<chemin>"
+
+#: builtin/submodule--helper.c:2732
+msgid "--branch or --default required"
+msgstr "--branch ou --default requis"
+
+#: builtin/submodule--helper.c:2735
+msgid "--branch and --default are mutually exclusive"
+msgstr "--branch et --default sont mutuellement exclusifs"
+
+#: builtin/submodule--helper.c:2792 git.c:438 git.c:710
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s ne gère pas --super-prefix"
 
-#: builtin/submodule--helper.c:2241
+#: builtin/submodule--helper.c:2798
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
@@ -20353,11 +22470,11 @@ msgstr "supprimer la référence symbolique"
 msgid "shorten ref output"
 msgstr "raccourcir l'affichage de la référence"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:486
 msgid "reason"
 msgstr "raison"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:486
 msgid "reason of the update"
 msgstr "raison de la mise à jour"
 
@@ -20377,11 +22494,13 @@ msgstr "git tag -d <nométiquette>..."
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
-"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
+"\t\t[--format=<format>] [--merged <commit>] [--no-merged <commit>] "
+"[<pattern>...]"
 msgstr ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <objet>]\n"
-"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<motif>...]"
+"\t\t[--format=<format>] [--merged <commit>] [--no-merged <commit>] "
+"[<motif>...]"
 
 #: builtin/tag.c:30
 msgid "git tag -v [--format=<format>] <tagname>..."
@@ -20452,347 +22571,351 @@ msgstr ""
 msgid "bad object type."
 msgstr "mauvais type d'objet."
 
-#: builtin/tag.c:284
+#: builtin/tag.c:285
 msgid "no tag message?"
 msgstr "pas de message pour l'étiquette ?"
 
-#: builtin/tag.c:291
+#: builtin/tag.c:292
 #, 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:402
+#: builtin/tag.c:403
 msgid "list tag names"
 msgstr "afficher les noms des étiquettes"
 
-#: builtin/tag.c:404
+#: builtin/tag.c:405
 msgid "print <n> lines of each tag message"
 msgstr "affiche <n> lignes de chaque message d'étiquette"
 
-#: builtin/tag.c:406
+#: builtin/tag.c:407
 msgid "delete tags"
 msgstr "supprimer des étiquettes"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:408
 msgid "verify tags"
 msgstr "vérifier des étiquettes"
 
-#: builtin/tag.c:409
+#: builtin/tag.c:410
 msgid "Tag creation options"
 msgstr "Options de création de l'étiquette"
 
-#: builtin/tag.c:411
+#: builtin/tag.c:412
 msgid "annotated tag, needs a message"
 msgstr "étiquette annotée, nécessite un message"
 
-#: builtin/tag.c:413
+#: builtin/tag.c:414
 msgid "tag message"
 msgstr "message pour l'étiquette"
 
-#: builtin/tag.c:415
+#: builtin/tag.c:416
 msgid "force edit of tag message"
 msgstr "forcer l'édition du message d'étiquetage"
 
-#: builtin/tag.c:416
+#: builtin/tag.c:417
 msgid "annotated and GPG-signed tag"
 msgstr "étiquette annotée et signée avec GPG"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:420
 msgid "use another key to sign the tag"
 msgstr "utiliser une autre clé pour signer l'étiquette"
 
-#: builtin/tag.c:420
+#: builtin/tag.c:421
 msgid "replace the tag if exists"
 msgstr "remplacer l'étiquette si elle existe"
 
-#: builtin/tag.c:421 builtin/update-ref.c:369
+#: builtin/tag.c:422 builtin/update-ref.c:492
 msgid "create a reflog"
 msgstr "créer un reflog"
 
-#: builtin/tag.c:423
+#: builtin/tag.c:424
 msgid "Tag listing options"
 msgstr "Options d'affichage des étiquettes"
 
-#: builtin/tag.c:424
+#: builtin/tag.c:425
 msgid "show tag list in columns"
 msgstr "afficher la liste des étiquettes sous forme de colonnes"
 
-#: builtin/tag.c:425 builtin/tag.c:427
+#: builtin/tag.c:426 builtin/tag.c:428
 msgid "print only tags that contain the commit"
 msgstr "afficher seulement les étiquettes qui contiennent la validation"
 
-#: builtin/tag.c:426 builtin/tag.c:428
+#: builtin/tag.c:427 builtin/tag.c:429
 msgid "print only tags that don't contain the commit"
 msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation"
 
-#: builtin/tag.c:429
+#: builtin/tag.c:430
 msgid "print only tags that are merged"
 msgstr "afficher seulement les étiquettes qui sont fusionnées"
 
-#: builtin/tag.c:430
+#: builtin/tag.c:431
 msgid "print only tags that are not merged"
 msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées"
 
-#: builtin/tag.c:434
+#: builtin/tag.c:435
 msgid "print only tags of the object"
 msgstr "afficher seulement les étiquettes de l'objet"
 
-#: builtin/tag.c:482
+#: builtin/tag.c:483
 msgid "--column and -n are incompatible"
 msgstr "--column et -n sont incompatibles"
 
-#: builtin/tag.c:504
+#: builtin/tag.c:505
 msgid "-n option is only allowed in list mode"
 msgstr "l'option -n est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:506
+#: builtin/tag.c:507
 msgid "--contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode de liste"
 
-#: builtin/tag.c:508
+#: builtin/tag.c:509
 msgid "--no-contains option is only allowed in list mode"
 msgstr "l'option --contains est autorisée seulement en mode liste"
 
-#: builtin/tag.c:510
+#: builtin/tag.c:511
 msgid "--points-at option is only allowed in list mode"
 msgstr "l'option --points-at est autorisée seulement en mode liste"
 
-#: builtin/tag.c:512
+#: builtin/tag.c:513
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 "les options --merged et --no-merged ne sont autorisées qu'en mode liste"
 
-#: builtin/tag.c:523
+#: builtin/tag.c:524
 msgid "only one -F or -m option is allowed."
 msgstr "une seule option -F ou -m est autorisée."
 
-#: builtin/tag.c:542
+#: builtin/tag.c:543
 msgid "too many params"
 msgstr "trop de paramètres"
 
-#: builtin/tag.c:548
+#: builtin/tag.c:549
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' n'est pas un nom d'étiquette valide."
 
-#: builtin/tag.c:553
+#: builtin/tag.c:554
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "l'étiquette '%s' existe déjà"
 
-#: builtin/tag.c:584
+#: builtin/tag.c:585
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:502
 msgid "Unpacking objects"
 msgstr "Dépaquetage des objets"
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr "échec de la création du répertoire %s"
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr "échec de la création du fichier %s"
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr "échec de la suppression du fichier %s"
 
-#: builtin/update-index.c:114 builtin/update-index.c:220
+#: builtin/update-index.c:115 builtin/update-index.c:221
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "échec de la suppression du répertoire %s"
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Test du mtime dans '%s' "
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un fichier"
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un répertoire"
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "l'information de stat du répertoire change après mise à jour d'un fichier"
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "l'information de stat du répertoire change après l'ajout d'un fichier dans "
 "un sous-répertoire"
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "fichier<"
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "répertoire"
 
-#: builtin/update-index.c:221
+#: builtin/update-index.c:222
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:591
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:971
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr "continuer de rafraîchir même si l'index a besoin d'une mise à jour"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr "rafraîchir même si l'index contient des éléments non fusionnés"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr "ne pas toucher aux entrées restreintes à l'index"
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "ajouter seulement à l'index ; ne pas ajouter le contenu dans la base de "
 "données des objets"
 
-#: builtin/update-index.c:1019
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "supprimer les chemins nommés même s'ils sont présents dans la copie de "
 "travail"
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "avec --stdin : les lignes en entrée sont terminées par des octets nuls"
 
-#: builtin/update-index.c:1023
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "lire la liste des chemins à mettre à jour depuis l'entrée standard"
 
-#: builtin/update-index.c:1027
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "ajouter les éléments depuis l'entrée standard à l'index"
 
-#: builtin/update-index.c:1031
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "repeupler les étapes n°2 et n°3 pour les chemins listés"
 
-#: builtin/update-index.c:1035
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:1050
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1054
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr "tester si le système de fichier supporte le cache de non-suivis"
 
-#: builtin/update-index.c:1056
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr "activer le cache de non-suivis sans tester le système de fichier"
 
-#: builtin/update-index.c:1058
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "écrire l'index même s'il n'est pas marqué comme modifié"
 
-#: builtin/update-index.c:1060
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr ""
 "activer ou désactiver la surveillance du système de fichier (fsmonitor)"
 
-#: builtin/update-index.c:1062
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "marquer les fichiers comme valides pour fsmonitor"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "effacer le bit de validité fsmonitor"
 
-#: builtin/update-index.c:1168
+#: builtin/update-index.c:1173
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -20800,7 +22923,7 @@ msgstr ""
 "core.splitIndex est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer l'index coupé"
 
-#: builtin/update-index.c:1177
+#: builtin/update-index.c:1182
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -20808,7 +22931,7 @@ msgstr ""
 "core.splitIndex est réglé à vrai ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver l'index coupé"
 
-#: builtin/update-index.c:1188
+#: builtin/update-index.c:1194
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -20816,11 +22939,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:1192
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1206
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -20828,29 +22951,29 @@ msgstr ""
 "core.untrackedCache est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1204
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
 
-#: builtin/update-index.c:1212
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor est réglé à false ; changez-le si vous souhaitez vraiment "
 "activer la surveillance du système de fichiers"
 
-#: builtin/update-index.c:1216
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "fsmonitor activé"
 
-#: builtin/update-index.c:1219
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver la surveillance du système de fichiers"
 
-#: builtin/update-index.c:1223
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "fsmonitor désactivé"
 
@@ -20868,19 +22991,19 @@ msgstr ""
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<options>] --stdin [-z]"
 
-#: builtin/update-ref.c:364
+#: builtin/update-ref.c:487
 msgid "delete the reference"
 msgstr "supprimer la référence"
 
-#: builtin/update-ref.c:366
+#: builtin/update-ref.c:489
 msgid "update <refname> not the one it points to"
 msgstr "mettre à jour <nomréférence> et non la référence pointée par lui"
 
-#: builtin/update-ref.c:367
+#: builtin/update-ref.c:490
 msgid "stdin has NUL-terminated arguments"
 msgstr "l'entrée standard a des arguments qui se terminent par NUL"
 
-#: builtin/update-ref.c:368
+#: builtin/update-ref.c:491
 msgid "read updates from stdin"
 msgstr "lire les mises à jour depuis l'entrée standard"
 
@@ -20907,8 +23030,7 @@ msgstr "Sortir immédiatement après l'annonce initiale des références"
 #: builtin/upload-pack.c:27
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
-"nes pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire "
-"Git"
+"ne pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire Git"
 
 #: builtin/upload-pack.c:29
 msgid "interrupt transfer after <n> seconds of inactivity"
@@ -20926,15 +23048,15 @@ msgstr "afficher le contenu du commit"
 msgid "print raw gpg status output"
 msgstr "afficher les messages bruts de gpg"
 
-#: builtin/verify-pack.c:55
+#: builtin/verify-pack.c:59
 msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
 msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
 
-#: builtin/verify-pack.c:65
+#: builtin/verify-pack.c:70
 msgid "verbose"
 msgstr "verbeux"
 
-#: builtin/verify-pack.c:67
+#: builtin/verify-pack.c:72
 msgid "show statistics only"
 msgstr "afficher seulement les statistiques"
 
@@ -20946,236 +23068,226 @@ msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
 msgid "print tag contents"
 msgstr "afficher le contenu de l'étiquette"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr "git worktree add [<options>] <chemin> [<commit>]"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<options>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<options>] <chemin>"
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:20
 msgid "git worktree move <worktree> <new-path>"
 msgstr "git worktree move <arbre-de-travail> <nouveau-chemin>"
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:21
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<options>]"
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:22
 msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<options>] <arbre-de-travail>"
 
-#: builtin/worktree.c:24
+#: builtin/worktree.c:23
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <chemin>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:899
+#: builtin/worktree.c:60 builtin/worktree.c:970
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "échec de la suppression de '%s'"
 
-#: builtin/worktree.c:80
-#, c-format
-msgid "Removing worktrees/%s: not a valid directory"
-msgstr "Suppression de worktrees/%s : répertoire invalide"
+#: builtin/worktree.c:85
+msgid "not a valid directory"
+msgstr "pas un répertoire valide"
 
-#: builtin/worktree.c:86
-#, c-format
-msgid "Removing worktrees/%s: gitdir file does not exist"
-msgstr "Suppression de worktrees/%s : le fichier gitdir n'existe pas"
+#: builtin/worktree.c:91
+msgid "gitdir file does not exist"
+msgstr "le fichier gitdir n'existe pas"
 
-#: builtin/worktree.c:91 builtin/worktree.c:100
+#: builtin/worktree.c:96 builtin/worktree.c:105
 #, c-format
-msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
-msgstr ""
-"Suppression de worktrees/%s : échec de la lecture du fichier gitdir (%s)"
+msgid "unable to read gitdir file (%s)"
+msgstr "impossible de lire le fichier gitdir (%s)"
 
-#: builtin/worktree.c:110
+#: builtin/worktree.c:115
 #, c-format
-msgid ""
-"Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
-"%<PRIuMAX>)"
+msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
 msgstr ""
-"Suppression de worktrees/%s: lecture trop courte ( %<PRIuMAX> octets "
-"attendus, %<PRIuMAX> octets lus)"
+"lecture trop courte ( %<PRIuMAX> octets attendus, %<PRIuMAX> octets lus)"
 
-#: builtin/worktree.c:118
-#, c-format
-msgid "Removing worktrees/%s: invalid gitdir file"
-msgstr "Suppression de worktrees/%s : fichier gitdir invalide"
+#: builtin/worktree.c:123
+msgid "invalid gitdir file"
+msgstr "fichier gitdir invalide"
+
+#: builtin/worktree.c:131
+msgid "gitdir file points to non-existent location"
+msgstr "le fichier gitdir pointe sur un endroit inexistant"
 
-#: builtin/worktree.c:127
+#: builtin/worktree.c:146
 #, c-format
-msgid "Removing worktrees/%s: gitdir file points to non-existent location"
-msgstr ""
-"Suppression de worktrees/%s : le fichier gitdir point sur un endroit "
-"inexistant"
+msgid "Removing %s/%s: %s"
+msgstr "Suppression de %s/%s : %s"
 
-#: builtin/worktree.c:166
+#: builtin/worktree.c:221
 msgid "report pruned working trees"
 msgstr "afficher les arbres de travail éliminés"
 
-#: builtin/worktree.c:168
+#: builtin/worktree.c:223
 msgid "expire working trees older than <time>"
 msgstr "faire expirer les arbres de travail plus vieux que <temps>"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:293
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' existe déjà"
 
-#: builtin/worktree.c:252
+#: builtin/worktree.c:302
 #, c-format
-msgid "unable to re-add worktree '%s'"
-msgstr "impossible de ré-ajouter l'arbre de travail '%s'"
+msgid "unusable worktree destination '%s'"
+msgstr "arbre de travail destination '%s' inutilisable"
 
-#: builtin/worktree.c:257
+#: builtin/worktree.c:307
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
-"use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
+"use '%s -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
 msgstr ""
 "'%s' est un arbre de travail manquant mais verrouillé ;\n"
-"utilisez 'add -f -f' pour passer outre, ou 'unlock' et 'prune' ou 'remove' "
+"utilisez '%s -f -f' pour passer outre, ou 'unlock' et 'prune' ou 'remove' "
 "pour corriger"
 
-#: builtin/worktree.c:259
+#: builtin/worktree.c:309
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
-"use 'add -f' to override, or 'prune' or 'remove' to clear"
+"use '%s -f' to override, or 'prune' or 'remove' to clear"
 msgstr ""
 "'%s' est un arbre de travail manquant mais déjà enregistré ;\n"
-"utilisez 'add -f' pour passer outre, ou 'prune' ou 'remove' pour corriger"
+"utilisez '%s -f' pour passer outre, ou 'prune' ou 'remove' pour corriger"
 
-#: builtin/worktree.c:309
+#: builtin/worktree.c:360
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "impossible de créer le répertoire de '%s'"
 
-#: builtin/worktree.c:440 builtin/worktree.c:446
+#: builtin/worktree.c:494 builtin/worktree.c:500
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "Préparation de l'arbre de travail (nouvelle branche '%s')"
 
-#: builtin/worktree.c:442
+#: builtin/worktree.c:496
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr ""
 "Préparation de l'arbre de travail (réinitialisation de la branche '%s' ; "
 "précédemment sur %s)"
 
-#: builtin/worktree.c:451
+#: builtin/worktree.c:505
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Préparation de l'arbre de travail (extraction de '%s')"
 
-#: builtin/worktree.c:457
+#: builtin/worktree.c:511
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:552
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 "extraire la <branche> même si elle est déjà extraite dans une autre copie de "
 "travail"
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:555
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:503
+#: builtin/worktree.c:557
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:505
+#: builtin/worktree.c:559
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:506
+#: builtin/worktree.c:560
 msgid "keep the new working tree locked"
 msgstr "conserver le verrou sur le nouvel arbre de travail"
 
-#: builtin/worktree.c:509
+#: builtin/worktree.c:563
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "régler le mode de suivi (voir git-branch(1))"
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:566
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "essayer de nommer la nouvelle branche comme la branche amont"
 
-#: builtin/worktree.c:520
+#: builtin/worktree.c:574
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:581
+#: builtin/worktree.c:635
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr ""
 "--[no-]track ne peut être utilisé qu'à la création d'une nouvelle branche"
 
-#: builtin/worktree.c:681
+#: builtin/worktree.c:755
 msgid "reason for locking"
 msgstr "raison du verrouillage"
 
-#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800
-#: builtin/worktree.c:927
+#: builtin/worktree.c:767 builtin/worktree.c:800 builtin/worktree.c:874
+#: builtin/worktree.c:998
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' n'est pas une copie de travail"
 
-#: builtin/worktree.c:695 builtin/worktree.c:728
+#: builtin/worktree.c:769 builtin/worktree.c:802
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 "La copie de travail principale ne peut pas être verrouillée ou déverrouillée"
 
-#: builtin/worktree.c:700
+#: builtin/worktree.c:774
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:702
+#: builtin/worktree.c:776
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:730
+#: builtin/worktree.c:804
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
 
-#: builtin/worktree.c:771
+#: builtin/worktree.c:845
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 "les arbres de travail contenant des sous-modules ne peuvent pas être "
 "déplacés ou supprimés"
 
-#: builtin/worktree.c:779
+#: builtin/worktree.c:853
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 "forcer le déplacement même si l'arbre de travail est sale ou verrouillé"
 
-#: builtin/worktree.c:802 builtin/worktree.c:929
+#: builtin/worktree.c:876 builtin/worktree.c:1000
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' est un arbre de travail principal"
 
-#: builtin/worktree.c:807
+#: builtin/worktree.c:881
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "impossible de trouver le nom de la destination à partir de '%s'"
 
-#: builtin/worktree.c:813
-#, c-format
-msgid "target '%s' already exists"
-msgstr "la cible '%s' existe déjà"
-
-#: builtin/worktree.c:821
+#: builtin/worktree.c:894
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -21185,7 +23297,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:823
+#: builtin/worktree.c:896
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -21193,37 +23305,39 @@ msgstr ""
 "impossible de déplacer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:826
+#: builtin/worktree.c:899
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "la validation a échoué, impossible de déplacer l'arbre de travail : %s"
 
-#: builtin/worktree.c:831
+#: builtin/worktree.c:904
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "échec au déplacement de '%s' vers '%s'"
 
-#: builtin/worktree.c:879
+#: builtin/worktree.c:950
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "échec du lancement de 'git status' sur '%s'"
 
-#: builtin/worktree.c:883
+#: builtin/worktree.c:954
 #, c-format
-msgid "'%s' is dirty, use --force to delete it"
-msgstr "'%s' est sale, utilisez --force pour le supprimer"
+msgid "'%s' contains modified or untracked files, use --force to delete it"
+msgstr ""
+"'%s' contient des fichiers modifiés ou non-suivis, utilisez --force pour le "
+"supprimer"
 
-#: builtin/worktree.c:888
+#: builtin/worktree.c:959
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "impossible de lancer 'git status' sur '%s', code %d"
 
-#: builtin/worktree.c:911
+#: builtin/worktree.c:982
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 "forcer la suppression même si l'arbre de travail est sale ou verrouillé"
 
-#: builtin/worktree.c:934
+#: builtin/worktree.c:1005
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -21233,7 +23347,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:936
+#: builtin/worktree.c:1007
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -21241,12 +23355,22 @@ msgstr ""
 "impossible de supprimer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:939
+#: builtin/worktree.c:1010
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
 "la validation a échoué, impossible de supprimer l'arbre de travail : %s"
 
+#: builtin/worktree.c:1034
+#, c-format
+msgid "repair: %s: %s"
+msgstr "réparation : %s : '%s'"
+
+#: builtin/worktree.c:1037
+#, c-format
+msgid "error: %s: %s"
+msgstr "erreur : %s : %s"
+
 #: builtin/write-tree.c:15
 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
 msgstr "git write-tree [--missing-ok] [--prefix=<préfixe>/]"
@@ -21263,29 +23387,21 @@ msgstr "écrire l'objet arbre pour un sous-répertoire <préfixe>"
 msgid "only useful for debugging"
 msgstr "seulement utile pour le débogage"
 
-#: credential-cache--daemon.c:223
+#: http-fetch.c:114
 #, c-format
-msgid ""
-"The permissions on your socket directory are too loose; other\n"
-"users may be able to read your cached credentials. Consider running:\n"
-"\n"
-"\tchmod 0700 %s"
-msgstr ""
-"Les permissions de votre répertoire de socket sont trop permissives ;\n"
-"les autres utilisateurs pourraient lire vos identifiants secrets. Lancez :\n"
-"\n"
-"    chmod 0700 %s"
+msgid "argument to --packfile must be a valid hash (got '%s')"
+msgstr "l'argument de --packfile doit être une empreinte valide ('%s' reçu)"
 
-#: credential-cache--daemon.c:272
-msgid "print debugging messages to stderr"
-msgstr "afficher les messages de debug sur stderr"
+#: http-fetch.c:122
+msgid "not a git repository"
+msgstr "pas un dépôt git"
 
-#: t/helper/test-reach.c:152
+#: t/helper/test-reach.c:154
 #, c-format
 msgid "commit %s is not marked reachable"
 msgstr "le commit %s n'est pas marqué joignable"
 
-#: t/helper/test-reach.c:162
+#: t/helper/test-reach.c:164
 msgid "too many commits marked reachable"
 msgstr "trop de commits marqués joignables"
 
@@ -21297,7 +23413,7 @@ msgstr "test-tool serve-v2 [<options>]"
 msgid "exit immediately after advertising capabilities"
 msgstr "sortir immédiatement après l'annonce des capacités"
 
-#: git.c:27
+#: git.c:28
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
 "           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
@@ -21314,7 +23430,7 @@ msgstr ""
 "           [--git-dir=<chemin>] [--work-tree=<chemin>] [--namespace=<nom>]\n"
 "           <commande> [<args>]"
 
-#: git.c:34
+#: git.c:35
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
@@ -21326,47 +23442,47 @@ msgstr ""
 "pour en lire plus à propos d'une commande spécifique ou d'un concept.\n"
 "Voir 'git help git' pour un survol du système."
 
-#: git.c:186
+#: git.c:187
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "aucun répertoire fourni pour --git-dir\n"
 
-#: git.c:200
+#: git.c:201
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "aucun espace de nom fournit pour --namespace\n"
 
-#: git.c:214
+#: git.c:215
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "aucun répertoire fourni pour --work-tree\n"
 
-#: git.c:228
+#: git.c:229
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "aucun préfixe fourni pour --super-prefix\n"
 
-#: git.c:250
+#: git.c:251
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "-c requiert une chaîne de configuration\n"
 
-#: git.c:288
+#: git.c:289
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "aucun répertoire fourni pour -C\n"
 
-#: git.c:314
+#: git.c:315
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "option inconnue : %s\n"
 
-#: git.c:360
+#: git.c:364
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "lors de l'expansion de l'alias '%s' : '%s'"
 
-#: git.c:369
+#: git.c:373
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -21375,39 +23491,39 @@ msgstr ""
 "l'alias '%s' modifie les variables d'environnement.\n"
 "Vous pouvez utiliser '!git' dans l'alias pour le faire"
 
-#: git.c:377
+#: git.c:380
 #, c-format
 msgid "empty alias for %s"
 msgstr "alias vide pour %s"
 
-#: git.c:380
+#: git.c:383
 #, c-format
 msgid "recursive alias: %s"
 msgstr "alias recursif : %s"
 
-#: git.c:460
+#: git.c:465
 msgid "write failure on standard output"
 msgstr "échec d'écriture sur la sortie standard"
 
-#: git.c:462
+#: git.c:467
 msgid "unknown write failure on standard output"
 msgstr "échec inconnu d'écriture sur la sortie standard"
 
-#: git.c:464
+#: git.c:469
 msgid "close failed on standard output"
 msgstr "échec de fermeture de la sortie standard"
 
-#: git.c:793
+#: git.c:819
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "boucle d'alias détectée : l'expansion de '%s' ne finit jamais : %s"
 
-#: git.c:843
+#: git.c:869
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "impossible d'utiliser %s comme une fonction intégrée"
 
-#: git.c:856
+#: git.c:882
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -21416,57 +23532,57 @@ msgstr ""
 "usage : %s\n"
 "\n"
 
-#: git.c:876
+#: git.c:902
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr ""
 "l'expansion de l'alias '%s' a échoué : '%s' n'est pas une commande git\n"
 
-#: git.c:888
+#: git.c:914
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "échec au lancement de la commande '%s' : %s\n"
 
-#: http.c:378
+#: http.c:399
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr ""
 "valeur négative pour http.postbuffer ; utilisation de la valeur par défaut %d"
 
-#: http.c:399
+#: http.c:420
 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:408
+#: http.c:429
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.44.0"
 
-#: http.c:876
+#: http.c:910
 msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
 msgstr "CURLSSLOPT_NO_REMOVE n'est pas supporté avec cuRL < 7.44.0"
 
-#: http.c:949
+#: http.c:989
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr "Les restrictions de protocole ne sont pas supportés avec cuRL < 7.19.4"
 
-#: http.c:1085
+#: http.c:1132
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr "Dorsale SSL '%s' non supportée. Dorsales SSL supportées :"
 
-#: http.c:1092
+#: http.c:1139
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 "Impossible de régler la dorsale SSL à '%s' : cURL a été construit sans "
 "dorsale SSL"
 
-#: http.c:1096
+#: http.c:1143
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "Impossible de spécifier le dorsal SSL à '%s' : déjà spécifié"
 
-#: http.c:1965
+#: http.c:2025
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -21477,154 +23593,196 @@ msgstr ""
 "      demandé : %s\n"
 "  redirection : %s"
 
-#: remote-curl.c:157
+#: remote-curl.c:174
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr "citation invalide dans la valeur push-option : '%s'"
 
-#: remote-curl.c:254
+#: remote-curl.c:298
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr "%sinfo/refs n'est pas valide : est-ce bien un dépôt git ?"
 
-#: remote-curl.c:355
+#: remote-curl.c:399
 msgid "invalid server response; expected service, got flush packet"
 msgstr "réponse du serveur invalide ; service attendu, paquet de vidage reçu"
 
-#: remote-curl.c:386
+#: remote-curl.c:430
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr "réponse du serveur invalide ; '%s' reçu"
 
-#: remote-curl.c:446
+#: remote-curl.c:490
 #, c-format
 msgid "repository '%s' not found"
 msgstr "dépôt '%s' non trouvé"
 
-#: remote-curl.c:450
+#: remote-curl.c:494
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr "Échec d'authentification pour '%s'"
 
-#: remote-curl.c:454
+#: remote-curl.c:498
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "impossible d'accéder à '%s' : %s"
 
-#: remote-curl.c:460
+#: remote-curl.c:504
 #, c-format
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
 
-#: remote-curl.c:584
+#: remote-curl.c:633
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr "ne devrait pas recevoir OEF quand on n'est pas gentil sur EOF"
 
-#: remote-curl.c:664
+#: remote-curl.c:645
+msgid "remote server sent stateless separator"
+msgstr "le serveur distant a envoyé un séparateur sans état"
+
+#: remote-curl.c:715
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr ""
 "impossible de rembobiner le données post rpc - essayer d'augmenter http."
 "postBuffer"
 
-#: remote-curl.c:724
+#: remote-curl.c:745
+#, c-format
+msgid "remote-curl: bad line length character: %.4s"
+msgstr "remote-curl : mauvais caractère de longueur de ligne : %.4s"
+
+#: remote-curl.c:747
+msgid "remote-curl: unexpected response end packet"
+msgstr "remote-curl : paquet de fin de réponse inattendu"
+
+#: remote-curl.c:823
 #, c-format
 msgid "RPC failed; %s"
 msgstr "échec RPC ; %s"
 
-#: remote-curl.c:764
+#: remote-curl.c:863
 msgid "cannot handle pushes this big"
 msgstr "impossible de gérer des poussées aussi grosses"
 
-#: remote-curl.c:879
+#: remote-curl.c:978
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr "impossible de compresser la requête ; erreur de compression zlib %d"
 
-#: remote-curl.c:883
+#: remote-curl.c:982
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr "impossible de compresser la requête ; erreur de fin zlib %d"
 
-#: remote-curl.c:1014
+#: remote-curl.c:1032
+#, c-format
+msgid "%d bytes of length header were received"
+msgstr "%d octets de longueur d'entête ont été reçus"
+
+#: remote-curl.c:1034
+#, c-format
+msgid "%d bytes of body are still expected"
+msgstr "%d octets de corps sont encore attendus"
+
+#: remote-curl.c:1123
 msgid "dumb http transport does not support shallow capabilities"
 msgstr "le protocole http idiot ne supporte la capacité superficielle"
 
-#: remote-curl.c:1028
+#: remote-curl.c:1138
 msgid "fetch failed."
 msgstr "échec du récupération."
 
-#: remote-curl.c:1076
+#: remote-curl.c:1184
 msgid "cannot fetch by sha1 over smart http"
 msgstr "impossible de récupérer par sha1 sur http intelligent"
 
-#: remote-curl.c:1120 remote-curl.c:1126
+#: remote-curl.c:1228 remote-curl.c:1234
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr "erreur de protocole : sha/ref attendu, '%s' trouvé"
 
-#: remote-curl.c:1138 remote-curl.c:1252
+#: remote-curl.c:1246 remote-curl.c:1361
 #, c-format
 msgid "http transport does not support %s"
 msgstr "le transport http ne supporte pas %s"
 
-#: remote-curl.c:1174
+#: remote-curl.c:1282
 msgid "git-http-push failed"
 msgstr "échec de git-http-push"
 
-#: remote-curl.c:1360
+#: remote-curl.c:1467
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr "remote-curl: usage: git remote-curl <distant> [<url>]"
 
-#: remote-curl.c:1392
+#: remote-curl.c:1499
 msgid "remote-curl: error reading command stream from git"
 msgstr "remote-curl : erreur de lecture du flux de commande depuis git"
 
-#: remote-curl.c:1399
+#: remote-curl.c:1506
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr "remote-curl : récupération tentée sans dépôt local"
 
-#: remote-curl.c:1439
+#: remote-curl.c:1547
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr "remote-curl : commande inconnue '%s' depuis git"
 
-#: list-objects-filter-options.h:61
+#: compat/compiler.h:26
+msgid "no compiler information available\n"
+msgstr "aucune information de compilateur disponible\n"
+
+#: compat/compiler.h:38
+msgid "no libc information available\n"
+msgstr "aucune information de libc disponible\n"
+
+#: list-objects-filter-options.h:91
 msgid "args"
 msgstr "args"
 
-#: list-objects-filter-options.h:62
+#: list-objects-filter-options.h:92
 msgid "object filtering"
 msgstr "filtrage d'objet"
 
-#: parse-options.h:170
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "date-d'expiration"
 
-#: parse-options.h:184
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "sans action (rétrocompatibilité)"
 
-#: parse-options.h:305
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "être plus verbeux"
 
-#: parse-options.h:307
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "être plus silencieux"
 
-#: parse-options.h:313
-msgid "use <n> digits to display SHA-1s"
-msgstr "utiliser <n> chiffres pour afficher les SHA-1s"
+#: parse-options.h:317
+msgid "use <n> digits to display object names"
+msgstr "utiliser <n> chiffres pour afficher les noms des objets"
 
-#: parse-options.h:332
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
-#: ref-filter.h:101
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr "lire les spécificateurs de fichier depuis fichier"
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL character"
+msgstr ""
+"avec --pathspec-from-file, les spécificateurs de chemin sont séparés par un "
+"caractère NUL"
+
+#: ref-filter.h:96
 msgid "key"
 msgstr "clé"
 
-#: ref-filter.h:101
+#: ref-filter.h:96
 msgid "field name to sort on"
 msgstr "nom du champ servant à trier"
 
@@ -21633,11 +23791,11 @@ msgid "update the index with reused conflict resolution if possible"
 msgstr ""
 "met à jour l'index avec les résolutions de conflit réutilisées si possible"
 
-#: wt-status.h:67
+#: wt-status.h:80
 msgid "HEAD detached at "
 msgstr "HEAD détachée sur "
 
-#: wt-status.h:68
+#: wt-status.h:81
 msgid "HEAD detached from "
 msgstr "HEAD détachée depuis "
 
@@ -21680,691 +23838,709 @@ msgid "List, create, or delete branches"
 msgstr "Lister, créer ou supprimer des branches"
 
 #: command-list.h:59
+msgid "Collect information for user to file a bug report"
+msgstr ""
+"Collecter l'information pour l'utilisateur pour remplir un rapport de bogue"
+
+#: command-list.h:60
 msgid "Move objects and refs by archive"
 msgstr "Déplacer les objets et références par archive"
 
-#: command-list.h:60
+#: command-list.h:61
 msgid "Provide content or type and size information for repository objects"
 msgstr ""
-"Fournir les contenu ou l'information de type et taille pour les objets du "
+"Fournir le contenu ou l'information de type et taille pour les objets du "
 "dépôt"
 
-#: command-list.h:61
+#: command-list.h:62
 msgid "Display gitattributes information"
 msgstr "Afficher les informations gitattributes"
 
-#: command-list.h:62
+#: command-list.h:63
 msgid "Debug gitignore / exclude files"
 msgstr "Déboguer gitignore / les fichiers d'exclusion"
 
-#: command-list.h:63
+#: command-list.h:64
 msgid "Show canonical names and email addresses of contacts"
 msgstr "Afficher les noms canoniques et les adresses courriel des contacts"
 
-#: command-list.h:64
+#: command-list.h:65
 msgid "Switch branches or restore working tree files"
 msgstr "Basculer de branche ou restaurer la copie de travail"
 
-#: command-list.h:65
+#: command-list.h:66
 msgid "Copy files from the index to the working tree"
 msgstr "Copier les fichiers depuis l'index dans la copie de travail"
 
-#: command-list.h:66
+#: command-list.h:67
 msgid "Ensures that a reference name is well formed"
-msgstr "Assure qu'un nom de référence est bien formé"
+msgstr "S'assurer qu'un nom de référence est bien formé"
 
-#: command-list.h:67
+#: command-list.h:68
 msgid "Find commits yet to be applied to upstream"
 msgstr "Trouver les commits à appliquer en amont"
 
-#: command-list.h:68
+#: command-list.h:69
 msgid "Apply the changes introduced by some existing commits"
 msgstr "Appliquer les modifications introduites par des commits existants"
 
-#: command-list.h:69
+#: command-list.h:70
 msgid "Graphical alternative to git-commit"
 msgstr "Alternative graphique à git-commit"
 
-#: command-list.h:70
+#: command-list.h:71
 msgid "Remove untracked files from the working tree"
 msgstr "Supprimer les fichiers non-suivis de l'arbre de travail"
 
-#: command-list.h:71
+#: command-list.h:72
 msgid "Clone a repository into a new directory"
 msgstr "Cloner un dépôt dans un nouveau répertoire"
 
-#: command-list.h:72
+#: command-list.h:73
 msgid "Display data in columns"
 msgstr "Afficher les données en colonnes"
 
-#: command-list.h:73
+#: command-list.h:74
 msgid "Record changes to the repository"
 msgstr "Enregistrer les modifications dans le dépôt"
 
-#: command-list.h:74
+#: command-list.h:75
 msgid "Write and verify Git commit-graph files"
 msgstr "Écrire et vérifier les fichiers de graphe de commit Git"
 
-#: command-list.h:75
+#: command-list.h:76
 msgid "Create a new commit object"
 msgstr "Créer un nouvel objet commit"
 
-#: command-list.h:76
+#: command-list.h:77
 msgid "Get and set repository or global options"
 msgstr "voir et régler les options globales ou de dépôt"
 
-#: command-list.h:77
+#: command-list.h:78
 msgid "Count unpacked number of objects and their disk consumption"
 msgstr ""
 "Compter le nombre d'objets non-empaquetés et leur consommation d'espace "
 "disque"
 
-#: command-list.h:78
+#: command-list.h:79
 msgid "Retrieve and store user credentials"
 msgstr "Récupérer et sauvegarder les certificats d'utilisateur"
 
-#: command-list.h:79
+#: command-list.h:80
 msgid "Helper to temporarily store passwords in memory"
 msgstr "Assistant pour maintenir temporairement en mémoire les mots de passe"
 
-#: command-list.h:80
+#: command-list.h:81
 msgid "Helper to store credentials on disk"
 msgstr "Assistant pour sauvegarder les certificats sur disque"
 
-#: command-list.h:81
+#: command-list.h:82
 msgid "Export a single commit to a CVS checkout"
 msgstr "Exporter un commit unique en extraction CVS"
 
-#: command-list.h:82
+#: command-list.h:83
 msgid "Salvage your data out of another SCM people love to hate"
 msgstr "Sauver vos données depuis un autre SCM qu'on aime à haïr"
 
-#: command-list.h:83
+#: command-list.h:84
 msgid "A CVS server emulator for Git"
 msgstr "Un émulateur de serveur CVS pour Git"
 
-#: command-list.h:84
+#: command-list.h:85
 msgid "A really simple server for Git repositories"
 msgstr "Un serveur vraiment simple pour les dépôts Git"
 
-#: command-list.h:85
+#: command-list.h:86
 msgid "Give an object a human readable name based on an available ref"
 msgstr ""
 "Baptiser un objet avec un nom lisible à partir d'une référence disponible"
 
-#: command-list.h:86
+#: command-list.h:87
 msgid "Show changes between commits, commit and working tree, etc"
 msgstr ""
 "Afficher les changements entre les validations, entre validation et copie de "
 "travail, etc"
 
-#: command-list.h:87
+#: command-list.h:88
 msgid "Compares files in the working tree and the index"
 msgstr "Compare des fichiers de l'arbre de travail et de l'index"
 
-#: command-list.h:88
+#: command-list.h:89
 msgid "Compare a tree to the working tree or index"
 msgstr "Comparer un arbre avec l'arbre de travail ou l'index"
 
-#: command-list.h:89
+#: command-list.h:90
 msgid "Compares the content and mode of blobs found via two tree objects"
-msgstr "Compare le contenu et la mode des blobs trouvés via deux objets arbre"
+msgstr "Compare le contenu et le mode des blobs trouvés via deux objets arbre"
 
-#: command-list.h:90
+#: command-list.h:91
 msgid "Show changes using common diff tools"
 msgstr "Afficher les modifications en utilisant les outils habituel de diff"
 
-#: command-list.h:91
+#: command-list.h:92
 msgid "Git data exporter"
 msgstr "Exporteur de données Git"
 
-#: command-list.h:92
+#: command-list.h:93
 msgid "Backend for fast Git data importers"
 msgstr "Moteur pour les importateurs rapides de données Git"
 
-#: command-list.h:93
+#: command-list.h:94
 msgid "Download objects and refs from another repository"
 msgstr "Télécharger les objets et références depuis un autre dépôt"
 
-#: command-list.h:94
+#: command-list.h:95
 msgid "Receive missing objects from another repository"
 msgstr "Télécharger les objets manquants depuis un autre dépôt"
 
-#: command-list.h:95
+#: command-list.h:96
 msgid "Rewrite branches"
 msgstr "Réécrire les branches"
 
-#: command-list.h:96
+#: command-list.h:97
 msgid "Produce a merge commit message"
 msgstr "Produire un message de validation de fusion"
 
-#: command-list.h:97
+#: command-list.h:98
 msgid "Output information on each ref"
-msgstr "Afficher l'information de chaque référence"
+msgstr "Afficher de l'information sur chaque référence"
 
-#: command-list.h:98
+#: command-list.h:99
 msgid "Prepare patches for e-mail submission"
 msgstr "Préparer les patchs pour soumission par courriel"
 
-#: command-list.h:99
+#: command-list.h:100
 msgid "Verifies the connectivity and validity of the objects in the database"
 msgstr ""
 "Vérifier la connectivité et la validité des objets dans la base de données"
 
-#: command-list.h:100
+#: command-list.h:101
 msgid "Cleanup unnecessary files and optimize the local repository"
 msgstr "Effacer les fichiers non-nécessaires et optimiser le dépôt local"
 
-#: command-list.h:101
+#: command-list.h:102
 msgid "Extract commit ID from an archive created using git-archive"
 msgstr "Extraire l'ID du commit depuis une archive créée par git-archive"
 
-#: command-list.h:102
+#: command-list.h:103
 msgid "Print lines matching a pattern"
 msgstr "Afficher les lignes correspondant à un motif"
 
-#: command-list.h:103
+#: command-list.h:104
 msgid "A portable graphical interface to Git"
 msgstr "Une interface graphique portable pour Git"
 
-#: command-list.h:104
+#: command-list.h:105
 msgid "Compute object ID and optionally creates a blob from a file"
 msgstr ""
 "Calculer l'ID d'objet et créer optionnellement un blob depuis un fichier"
 
-#: command-list.h:105
+#: command-list.h:106
 msgid "Display help information about Git"
 msgstr "Afficher l'information d'aide à propos de Git"
 
-#: command-list.h:106
+#: command-list.h:107
 msgid "Server side implementation of Git over HTTP"
 msgstr "Implantation côté serveur de Git sur HTTP"
 
-#: command-list.h:107
+#: command-list.h:108
 msgid "Download from a remote Git repository via HTTP"
 msgstr "Télécharger depuis un dépôt Git distant via HTTP"
 
-#: command-list.h:108
+#: command-list.h:109
 msgid "Push objects over HTTP/DAV to another repository"
 msgstr "Pousser les objets sur un autre dépôt via HTTP/DAV"
 
-#: command-list.h:109
+#: command-list.h:110
 msgid "Send a collection of patches from stdin to an IMAP folder"
-msgstr "Envoyer un ensemble de patchs depuis stdin vers un répertoire IMAP"
+msgstr "Envoyer un ensemble de rustines depuis stdin vers un répertoire IMAP"
 
-#: command-list.h:110
+#: command-list.h:111
 msgid "Build pack index file for an existing packed archive"
 msgstr ""
 "Construire un fichier d'index pack depuis une archive compactée existante"
 
-#: command-list.h:111
+#: command-list.h:112
 msgid "Create an empty Git repository or reinitialize an existing one"
 msgstr "Créer un dépôt Git vide ou réinitialiser un existant"
 
-#: command-list.h:112
+#: command-list.h:113
 msgid "Instantly browse your working repository in gitweb"
 msgstr "Naviguer instantanément votre dépôt de travail dans gitweb"
 
-#: command-list.h:113
+#: command-list.h:114
 msgid "Add or parse structured information in commit messages"
 msgstr ""
 "Ajouter ou analyser l'information structurée dans les messages de validation"
 
-#: command-list.h:114
+#: command-list.h:115
 msgid "The Git repository browser"
 msgstr "Le navigateur de dépôt Git"
 
-#: command-list.h:115
+#: command-list.h:116
 msgid "Show commit logs"
 msgstr "Afficher l'historique des validations"
 
-#: command-list.h:116
+#: command-list.h:117
 msgid "Show information about files in the index and the working tree"
 msgstr ""
 "Afficher l'information à propos des fichiers dans l'index ou l'arbre de "
 "travail"
 
-#: command-list.h:117
+#: command-list.h:118
 msgid "List references in a remote repository"
 msgstr "Lister les références dans un dépôt distant"
 
-#: command-list.h:118
+#: command-list.h:119
 msgid "List the contents of a tree object"
 msgstr "Afficher le contenu d'un objet arbre"
 
-#: command-list.h:119
+#: command-list.h:120
 msgid "Extracts patch and authorship from a single e-mail message"
 msgstr ""
 "Extraire le patch et l'information de d'auteur depuis un simple message de "
 "courriel"
 
-#: command-list.h:120
+#: command-list.h:121
 msgid "Simple UNIX mbox splitter program"
 msgstr "Programme simple de découpage de mbox UNIX"
 
-#: command-list.h:121
+#: command-list.h:122
+msgid "Run tasks to optimize Git repository data"
+msgstr "Lancer les tâches pour optimiser les données du depôt Git"
+
+#: command-list.h:123
 msgid "Join two or more development histories together"
 msgstr "Fusionner deux ou plusieurs historiques de développement ensemble"
 
-#: command-list.h:122
+#: command-list.h:124
 msgid "Find as good common ancestors as possible for a merge"
 msgstr "Trouver un ancêtre aussi bon que possible pour une fusion"
 
-#: command-list.h:123
+#: command-list.h:125
 msgid "Run a three-way file merge"
 msgstr "Lancer une fusion à 3 points"
 
-#: command-list.h:124
+#: command-list.h:126
 msgid "Run a merge for files needing merging"
 msgstr "Lancer une fusion à 3 points pour les fichiers à fusionner"
 
-#: command-list.h:125
+#: command-list.h:127
 msgid "The standard helper program to use with git-merge-index"
 msgstr "Le programme assistant standard à utiliser avec git-merge-index"
 
-#: command-list.h:126
+#: command-list.h:128
 msgid "Run merge conflict resolution tools to resolve merge conflicts"
 msgstr ""
 "Lancer les outils de résolution de conflit de fusion pour résoudre les "
 "conflits de fusion"
 
-#: command-list.h:127
+#: command-list.h:129
 msgid "Show three-way merge without touching index"
 msgstr "Afficher la fusion à trois points sans modifier l'index"
 
-#: command-list.h:128
+#: command-list.h:130
 msgid "Write and verify multi-pack-indexes"
 msgstr "Écrire et vérifier les index multi-paquet"
 
-#: command-list.h:129
+#: command-list.h:131
 msgid "Creates a tag object"
 msgstr "Créer un objet étiquette"
 
-#: command-list.h:130
+#: command-list.h:132
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "Construire un objet arbre depuis une texte formaté comme ls-tree"
 
-#: command-list.h:131
+#: command-list.h:133
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique"
 
-#: command-list.h:132
+#: command-list.h:134
 msgid "Find symbolic names for given revs"
 msgstr "Trouver les noms symboliques pour des révisions données"
 
-#: command-list.h:133
+#: command-list.h:135
 msgid "Add or inspect object notes"
-msgstr "Ajouter ou inspecter les notes d'un objets"
+msgstr "Ajouter ou inspecter les notes d'un objet"
 
-#: command-list.h:134
+#: command-list.h:136
 msgid "Import from and submit to Perforce repositories"
 msgstr "Importer et soumettre à des dépôt Perforce"
 
-#: command-list.h:135
+#: command-list.h:137
 msgid "Create a packed archive of objects"
 msgstr "Créer une archive compactée d'objets"
 
-#: command-list.h:136
+#: command-list.h:138
 msgid "Find redundant pack files"
 msgstr "Trouver les fichiers pack redondants"
 
-#: command-list.h:137
+#: command-list.h:139
 msgid "Pack heads and tags for efficient repository access"
 msgstr "Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt"
 
-#: command-list.h:138
+#: command-list.h:140
 msgid "Routines to help parsing remote repository access parameters"
 msgstr ""
 "Routines pour aider à analyser les paramètres d'accès aux dépôts distants"
 
-#: command-list.h:139
+#: command-list.h:141
 msgid "Compute unique ID for a patch"
 msgstr "Calculer l'ID unique d'un patch"
 
-#: command-list.h:140
+#: command-list.h:142
 msgid "Prune all unreachable objects from the object database"
 msgstr ""
 "Éliminer les objets inatteignables depuis la base de données des objets"
 
-#: command-list.h:141
+#: command-list.h:143
 msgid "Remove extra objects that are already in pack files"
 msgstr "Éliminer les objets qui sont déjà présents dans les fichiers pack"
 
-#: command-list.h:142
+#: command-list.h:144
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "Rapatrier et intégrer un autre dépôt ou une branche locale"
 
-#: command-list.h:143
+#: command-list.h:145
 msgid "Update remote refs along with associated objects"
 msgstr "Mettre à jour les références distantes ainsi que les objets associés"
 
-#: command-list.h:144
+#: command-list.h:146
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "Appliquer un patchset quilt sur la branche courante"
 
-#: command-list.h:145
+#: command-list.h:147
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr ""
 "Comparer deux plages de commits (par exemple deux versions d'une branche)"
 
-#: command-list.h:146
+#: command-list.h:148
 msgid "Reads tree information into the index"
 msgstr "Lire l'information d'arbre dans l'index"
 
-#: command-list.h:147
+#: command-list.h:149
 msgid "Reapply commits on top of another base tip"
 msgstr "Réapplication des commits sur le sommet de l'autre base"
 
-#: command-list.h:148
+#: command-list.h:150
 msgid "Receive what is pushed into the repository"
 msgstr "Recevoir ce qui est poussé dans le dépôt"
 
-#: command-list.h:149
+#: command-list.h:151
 msgid "Manage reflog information"
 msgstr "Gérer l'information de reflog"
 
-#: command-list.h:150
+#: command-list.h:152
 msgid "Manage set of tracked repositories"
 msgstr "Gérer un ensemble de dépôts suivis"
 
-#: command-list.h:151
+#: command-list.h:153
 msgid "Pack unpacked objects in a repository"
 msgstr "Empaqueter les objets non-empaquetés d'un dépôt"
 
-#: command-list.h:152
+#: command-list.h:154
 msgid "Create, list, delete refs to replace objects"
 msgstr "Créer, lister, supprimer des référence pour remplacer des objets"
 
-#: command-list.h:153
+#: command-list.h:155
 msgid "Generates a summary of pending changes"
 msgstr "Générer une résumé des modifications en attentes"
 
-#: command-list.h:154
+#: command-list.h:156
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "Réutiliser une résolution enregistrée de fusions conflictuelles"
 
-#: command-list.h:155
+#: command-list.h:157
 msgid "Reset current HEAD to the specified state"
 msgstr "Réinitialiser la HEAD courante à l'état spécifié"
 
-#: command-list.h:156
+#: command-list.h:158
 msgid "Restore working tree files"
 msgstr "restaurer les fichiers l'arbre de travail"
 
-#: command-list.h:157
+#: command-list.h:159
 msgid "Revert some existing commits"
 msgstr "Inverser des commits existants"
 
-#: command-list.h:158
+#: command-list.h:160
 msgid "Lists commit objects in reverse chronological order"
 msgstr "Afficher les objets commit dans l'ordre chronologique inverse"
 
-#: command-list.h:159
+#: command-list.h:161
 msgid "Pick out and massage parameters"
 msgstr "Analyser et préparer les paramètres"
 
-#: command-list.h:160
+#: command-list.h:162
 msgid "Remove files from the working tree and from the index"
 msgstr "Supprimer des fichiers de la copie de travail et de l'index"
 
-#: command-list.h:161
+#: command-list.h:163
 msgid "Send a collection of patches as emails"
 msgstr "Envoyer un ensemble de patchs comme courriels"
 
-#: command-list.h:162
+#: command-list.h:164
 msgid "Push objects over Git protocol to another repository"
 msgstr "Pousser les objets sur un autre dépôt via le protocole Git"
 
-#: command-list.h:163
+#: command-list.h:165
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "shell de login restreint pour un accès SSH vers Git seulement"
 
-#: command-list.h:164
+#: command-list.h:166
 msgid "Summarize 'git log' output"
 msgstr "Résumer la sortie de 'git log'"
 
-#: command-list.h:165
+#: command-list.h:167
 msgid "Show various types of objects"
 msgstr "Afficher différents types d'objets"
 
-#: command-list.h:166
+#: command-list.h:168
 msgid "Show branches and their commits"
 msgstr "Afficher les branches et leurs commits"
 
-#: command-list.h:167
+#: command-list.h:169
 msgid "Show packed archive index"
 msgstr "Afficher l'index de l'archive empaquetée"
 
-#: command-list.h:168
+#: command-list.h:170
 msgid "List references in a local repository"
 msgstr "Lister les références du dépôt local"
 
-#: command-list.h:169
+#: command-list.h:171
 msgid "Git's i18n setup code for shell scripts"
 msgstr "Le code d'initialisation i18n pour les scripts shell"
 
-#: command-list.h:170
+#: command-list.h:172
 msgid "Common Git shell script setup code"
 msgstr "Le code d'initialisation commun aux scripts shell Git"
 
-#: command-list.h:171
+#: command-list.h:173
+msgid "Initialize and modify the sparse-checkout"
+msgstr "Initialiser et modifier l'extraction partielle"
+
+#: command-list.h:174
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Remiser les modifications d'un répertoire de travail sale"
 
-#: command-list.h:172
+#: command-list.h:175
 msgid "Add file contents to the staging area"
 msgstr "Ajouter le contenu de fichiers à l'index"
 
-#: command-list.h:173
+#: command-list.h:176
 msgid "Show the working tree status"
 msgstr "Afficher l'état de la copie de travail"
 
-#: command-list.h:174
+#: command-list.h:177
 msgid "Remove unnecessary whitespace"
 msgstr "Retirer les espaces inutiles"
 
-#: command-list.h:175
+#: command-list.h:178
 msgid "Initialize, update or inspect submodules"
 msgstr "Initialiser, mettre à jour et inspecter les sous-modules"
 
-#: command-list.h:176
+#: command-list.h:179
 msgid "Bidirectional operation between a Subversion repository and Git"
-msgstr "Opération Bidirectionnelles entre un dépôt Subversion et Git"
+msgstr "Opération Bidirectionnelle entre un dépôt Subversion et Git"
 
-#: command-list.h:177
+#: command-list.h:180
 msgid "Switch branches"
 msgstr "Basculer de branche"
 
-#: command-list.h:178
+#: command-list.h:181
 msgid "Read, modify and delete symbolic refs"
 msgstr "Lire, modifier et supprimer les références symboliques"
 
-#: command-list.h:179
+#: command-list.h:182
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr ""
 "Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG"
 
-#: command-list.h:180
+#: command-list.h:183
 msgid "Creates a temporary file with a blob's contents"
 msgstr "Créer un fichier temporaire avec le contenu d'un blob"
 
-#: command-list.h:181
+#: command-list.h:184
 msgid "Unpack objects from a packed archive"
 msgstr "Dépaqueter les objets depuis une archive empaquetée"
 
-#: command-list.h:182
+#: command-list.h:185
 msgid "Register file contents in the working tree to the index"
 msgstr "Enregistrer le contenu d'un fichier de l'arbre de travail dans l'index"
 
-#: command-list.h:183
+#: command-list.h:186
 msgid "Update the object name stored in a ref safely"
 msgstr ""
 "Mettre à jour le nom d'objet stocké dans une référence en toute sécurité"
 
-#: command-list.h:184
+#: command-list.h:187
 msgid "Update auxiliary info file to help dumb servers"
 msgstr ""
 "Mettre à jour le fichier d'informations auxiliaires pour aider les serveurs "
 "idiots"
 
-#: command-list.h:185
+#: command-list.h:188
 msgid "Send archive back to git-archive"
 msgstr "Renvoyer une archive dans git-archive"
 
-#: command-list.h:186
+#: command-list.h:189
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Renvoyer des objets empaquetés dans git-fetch-pack"
 
-#: command-list.h:187
+#: command-list.h:190
 msgid "Show a Git logical variable"
 msgstr "Afficher un variable logique de Git"
 
-#: command-list.h:188
+#: command-list.h:191
 msgid "Check the GPG signature of commits"
 msgstr "Vérifier la signature GPG de commits"
 
-#: command-list.h:189
+#: command-list.h:192
 msgid "Validate packed Git archive files"
 msgstr "Valider des fichiers d'archive Git empaquetés"
 
-#: command-list.h:190
+#: command-list.h:193
 msgid "Check the GPG signature of tags"
 msgstr "Vérifier la signature GPG d'étiquettes"
 
-#: command-list.h:191
+#: command-list.h:194
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Interface web de Git"
 
-#: command-list.h:192
+#: command-list.h:195
 msgid "Show logs with difference each commit introduces"
 msgstr "Afficher les journaux avec la différence que chaque commit introduit"
 
-#: command-list.h:193
+#: command-list.h:196
 msgid "Manage multiple working trees"
-msgstr "Gère de arbres de travail multiples"
+msgstr "Gérer des arbres de travail multiples"
 
-#: command-list.h:194
+#: command-list.h:197
 msgid "Create a tree object from the current index"
 msgstr "Créer un objet arbre depuis l'index courant"
 
-#: command-list.h:195
+#: command-list.h:198
 msgid "Defining attributes per path"
 msgstr "Définition des attributs par chemin"
 
-#: command-list.h:196
+#: command-list.h:199
 msgid "Git command-line interface and conventions"
 msgstr "interface en ligne de commande et conventions de Git"
 
-#: command-list.h:197
+#: command-list.h:200
 msgid "A Git core tutorial for developers"
 msgstr "Tutoriel du cœur de Git pour les développeurs"
 
-#: command-list.h:198
+#: command-list.h:201
+msgid "Providing usernames and passwords to Git"
+msgstr "Fourniture des noms d'utilisateurs et des mots de passe à Git"
+
+#: command-list.h:202
 msgid "Git for CVS users"
 msgstr "Git pour les utilisateurs de CVS"
 
-#: command-list.h:199
+#: command-list.h:203
 msgid "Tweaking diff output"
 msgstr "Bidouillage de la sortie diff"
 
-#: command-list.h:200
+#: command-list.h:204
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "Un ensemble minimal utile des commandes de Git pour tous les jours"
 
-#: command-list.h:201
+#: command-list.h:205
+msgid "Frequently asked questions about using Git"
+msgstr "Foire aux questions sur l'utilisation de Git"
+
+#: command-list.h:206
 msgid "A Git Glossary"
 msgstr "Un glossaire Git"
 
-#: command-list.h:202
+#: command-list.h:207
 msgid "Hooks used by Git"
 msgstr "Crochets utilisés par Git"
 
-#: command-list.h:203
+#: command-list.h:208
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Spécifie les fichiers non-suivis à ignorer intentionnellement"
 
-#: command-list.h:204
+#: command-list.h:209
 msgid "Defining submodule properties"
 msgstr "Définition des propriétés de sous-module"
 
-#: command-list.h:205
+#: command-list.h:210
 msgid "Git namespaces"
 msgstr "Espaces de nom de Git"
 
-#: command-list.h:206
+#: command-list.h:211
+msgid "Helper programs to interact with remote repositories"
+msgstr "Programmes assistants pour interagir avec des dépôts distants"
+
+#: command-list.h:212
 msgid "Git Repository Layout"
 msgstr "Disposition d'un dépôt Git"
 
-#: command-list.h:207
+#: command-list.h:213
 msgid "Specifying revisions and ranges for Git"
 msgstr "Spécification des révisions et portées pour Git"
 
-#: command-list.h:208
+#: command-list.h:214
+msgid "Mounting one repository inside another"
+msgstr "Montage d'un dépôt dans un autre dépôt"
+
+#: command-list.h:215
 msgid "A tutorial introduction to Git: part two"
 msgstr "Une introduction pratique à Git : deuxième partie"
 
-#: command-list.h:209
+#: command-list.h:216
 msgid "A tutorial introduction to Git"
 msgstr "Une introduction pratique à Git"
 
-#: command-list.h:210
+#: command-list.h:217
 msgid "An overview of recommended workflows with Git"
 msgstr "Un aperçu des flux de travail recommandés avec Git"
 
-#: git-bisect.sh:54
-msgid "You need to start by \"git bisect start\""
-msgstr "Vous devez démarrer avec \"git bisect start\""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-bisect.sh:60
-msgid "Do you want me to do it for you [Y/n]? "
-msgstr "Souhaitez-vous que je le fasse pour vous [Y/n] ? "
-
-#: git-bisect.sh:101
+#: git-bisect.sh:79
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr "Mauvaise révision en entrée : $arg"
 
-#: git-bisect.sh:121
+#: git-bisect.sh:99
 #, sh-format
 msgid "Bad rev input: $bisected_head"
 msgstr "Mauvaise révision en entrée : $bisected_head"
 
-#: git-bisect.sh:130
+#: git-bisect.sh:108
 #, sh-format
 msgid "Bad rev input: $rev"
 msgstr "Mauvaise révision en entrée : $rev"
 
-#: git-bisect.sh:139
+#: git-bisect.sh:117
 #, sh-format
 msgid "'git bisect $TERM_BAD' can take only one argument."
 msgstr "'git bisect $TERM_BAD' n'accepte qu'un seul argument."
 
-#: git-bisect.sh:209
+#: git-bisect.sh:149
 msgid "No logfile given"
 msgstr "Pas de fichier de log donné"
 
-#: git-bisect.sh:210
+#: git-bisect.sh:150
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr "impossible de lire $file pour rejouer"
 
-#: git-bisect.sh:232
+#: git-bisect.sh:173
 msgid "?? what are you talking about?"
 msgstr "?? de quoi parlez-vous ?"
 
-#: git-bisect.sh:241
+#: git-bisect.sh:183
 msgid "bisect run failed: no command provided."
 msgstr "la bissection a échoué : aucune commande fournie."
 
-#: git-bisect.sh:246
+#: git-bisect.sh:188
 #, sh-format
 msgid "running $command"
 msgstr "lancement de $command"
 
-#: git-bisect.sh:253
+#: git-bisect.sh:195
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -22373,11 +24549,11 @@ msgstr ""
 "la bissection a échoué :\n"
 "le code retour $res de '$command' est < 0 ou >= 128"
 
-#: git-bisect.sh:279
+#: git-bisect.sh:221
 msgid "bisect run cannot continue any more"
 msgstr "la bissection ne peut plus continuer"
 
-#: git-bisect.sh:285
+#: git-bisect.sh:227
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -22386,11 +24562,11 @@ msgstr ""
 "la bissection a échoué :\n"
 "'bisect_state $state' a retourné le code erreur $res"
 
-#: git-bisect.sh:292
+#: git-bisect.sh:234
 msgid "bisect run success"
 msgstr "succès de la bissection"
 
-#: git-bisect.sh:300
+#: git-bisect.sh:242
 msgid "We are not bisecting."
 msgstr "Pas de bissection en cours."
 
@@ -22434,144 +24610,50 @@ msgstr "Essai de fusion simple avec $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "La fusion simple a échoué, essai avec la fusion automatique."
 
-#: git-legacy-stash.sh:220
-msgid "Cannot remove temporary index (can't happen)"
-msgstr "Impossible de supprimer l'index temporaire (ne peut pas se produire)"
-
-#: git-legacy-stash.sh:271
-#, sh-format
-msgid "Cannot update $ref_stash with $w_commit"
-msgstr "Impossible de mettre à jour $ref_stash avec $w_commit"
-
-#: git-legacy-stash.sh:323
-#, sh-format
-msgid "error: unknown option for 'stash push': $option"
-msgstr "erreur : option inconnue pour 'stash push' : $option"
-
-#: git-legacy-stash.sh:355
-#, sh-format
-msgid "Saved working directory and index state $stash_msg"
-msgstr "Copie de travail et état de l'index sauvegardés dans $stash_msg"
-
-#: git-legacy-stash.sh:535
-#, sh-format
-msgid "unknown option: $opt"
-msgstr "option inconnue : $opt"
-
-#: git-legacy-stash.sh:555
-#, sh-format
-msgid "Too many revisions specified: $REV"
-msgstr "Trop de révisions spécifiées : $REV"
-
-#: git-legacy-stash.sh:570
-#, sh-format
-msgid "$reference is not a valid reference"
-msgstr "$reference n'est pas une référence valide"
-
-#: git-legacy-stash.sh:598
-#, sh-format
-msgid "'$args' is not a stash-like commit"
-msgstr "'$args' n'est pas une validation de type remisage"
-
-#: git-legacy-stash.sh:609
-#, sh-format
-msgid "'$args' is not a stash reference"
-msgstr "'$args' n'est pas une référence de remisage"
-
-#: git-legacy-stash.sh:617
-msgid "unable to refresh index"
-msgstr "impossible de rafraîchir l'index"
-
-#: git-legacy-stash.sh:621
-msgid "Cannot apply a stash in the middle of a merge"
-msgstr "Impossible d'appliquer un remisage en cours de fusion"
-
-#: git-legacy-stash.sh:629
-msgid "Conflicts in index. Try without --index."
-msgstr "Conflits dans l'index. Essayez sans --index."
-
-#: git-legacy-stash.sh:631
-msgid "Could not save index tree"
-msgstr "Impossible de sauvegarder l'arbre d'index"
-
-#: git-legacy-stash.sh:640
-msgid "Could not restore untracked files from stash entry"
-msgstr ""
-"Impossible de restaurer les fichiers non-suivis depuis l'entrée de remisage"
-
-#: git-legacy-stash.sh:665
-msgid "Cannot unstage modified files"
-msgstr "Impossible de désindexer les fichiers modifiés"
-
-#: git-legacy-stash.sh:703
-#, sh-format
-msgid "Dropped ${REV} ($s)"
-msgstr "${REV} supprimé ($s)"
-
-#: git-legacy-stash.sh:704
-#, sh-format
-msgid "${REV}: Could not drop stash entry"
-msgstr "${REV}: Impossible de supprimer l'entrée de stash"
-
-#: git-legacy-stash.sh:791
-msgid "(To restore them type \"git stash apply\")"
-msgstr "(Pour les restaurer tapez \"git stash apply\")"
-
-#: git-submodule.sh:200
+#: git-submodule.sh:180
 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:210
+#: git-submodule.sh:190
 #, 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:229
+#: git-submodule.sh:209
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: git-submodule.sh:232
+#: git-submodule.sh:212
 #, 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:239
+#: git-submodule.sh:219
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr "'$sm_path' n'a pas de commit extrait"
 
-#: git-submodule.sh:245
-#, sh-format
-msgid ""
-"The following path is ignored by one of your .gitignore files:\n"
-"$sm_path\n"
-"Use -f if you really want to add it."
-msgstr ""
-"Le chemin suivant est ignoré par un de vos fichiers .gitignore :\n"
-"$sm_path\n"
-"Utilisez -f si vous voulez vraiment l'ajouter."
-
-#: git-submodule.sh:268
+#: git-submodule.sh:250
 #, 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:270
+#: git-submodule.sh:252
 #, 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:278
+#: git-submodule.sh:260
 #, 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:280
+#: git-submodule.sh:262
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -22588,39 +24670,39 @@ msgstr ""
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:286
+#: git-submodule.sh:268
 #, 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:298
+#: git-submodule.sh:280
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:285
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:294
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:573
+#: git-submodule.sh:567
 #, 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:583
+#: git-submodule.sh:577
 #, 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:588
+#: git-submodule.sh:582
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -22629,7 +24711,7 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:606
+#: git-submodule.sh:600
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
@@ -22638,7 +24720,7 @@ msgstr ""
 "Impossible de rapatrier dans le chemin de sous-module '$displaypath' ; essai "
 "de rapatriement direct de $sha1 :"
 
-#: git-submodule.sh:612
+#: git-submodule.sh:606
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -22647,82 +24729,56 @@ 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:619
+#: git-submodule.sh:613
 #, 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:620
+#: git-submodule.sh:614
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:624
+#: git-submodule.sh:618
 #, 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:625
+#: git-submodule.sh:619
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:624
 #, 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:631
+#: git-submodule.sh:625
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:630
 #, 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:637
+#: git-submodule.sh:631
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:662
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:830
-msgid "The --cached option cannot be used with the --files option"
-msgstr "L'option --cached ne peut pas être utilisée avec l'option --files"
-
-#: git-submodule.sh:882
-#, sh-format
-msgid "unexpected mode $mod_dst"
-msgstr "mode $mod_dst inattendu"
-
-#: git-submodule.sh:902
-#, sh-format
-msgid "  Warn: $display_name doesn't contain commit $sha1_src"
-msgstr "  Attention : $display_name ne contient pas la validation $sha1_src"
-
-#: git-submodule.sh:905
-#, sh-format
-msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
-msgstr "  Attention : $display_name ne contient pas la validation $sha1_dst"
-
-#: git-submodule.sh:908
-#, 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-parse-remote.sh:89
 #, sh-format
 msgid "See git-${cmd}(1) for details."
@@ -22737,12 +24793,22 @@ msgstr "Autoremisage appliqué."
 msgid "Cannot store $stash_sha1"
 msgstr "Impossible de stocker $stash_sha1"
 
+#: git-rebase--preserve-merges.sh:113
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"L'application de l'autoremisage a provoqué des conflits\n"
+"Vos  modifications sont à l'abri dans la remise.\n"
+"Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
+
 #: git-rebase--preserve-merges.sh:191
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Rebasage ($new_count/$total)"
 
-#: git-rebase--preserve-merges.sh:207
+#: git-rebase--preserve-merges.sh:197
 msgid ""
 "\n"
 "Commands:\n"
@@ -22781,7 +24847,7 @@ msgstr ""
 "\n"
 "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n"
 
-#: git-rebase--preserve-merges.sh:270
+#: git-rebase--preserve-merges.sh:260
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -22800,83 +24866,83 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--preserve-merges.sh:295
+#: git-rebase--preserve-merges.sh:285
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1 n'est pas un commit qui peut être picorer"
 
-#: git-rebase--preserve-merges.sh:334
+#: git-rebase--preserve-merges.sh:324
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Nom de commit invalide : $sha1"
 
-#: git-rebase--preserve-merges.sh:364
+#: git-rebase--preserve-merges.sh:354
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Impossible de sauver le sha1 du remplaçant du commit en cours"
 
-#: git-rebase--preserve-merges.sh:415
+#: git-rebase--preserve-merges.sh:405
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Avance rapide sur $sha1"
 
-#: git-rebase--preserve-merges.sh:417
+#: git-rebase--preserve-merges.sh:407
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Avance rapide impossible sur $sha1"
 
-#: git-rebase--preserve-merges.sh:426
+#: git-rebase--preserve-merges.sh:416
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Impossible de déplacer HEAD sur $first_parent"
 
-#: git-rebase--preserve-merges.sh:431
+#: git-rebase--preserve-merges.sh:421
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Refus d'écraser un commit de fusion: $sha1"
 
-#: git-rebase--preserve-merges.sh:449
+#: git-rebase--preserve-merges.sh:439
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Erreur lors de la réapplication de la fusion $sha1"
 
-#: git-rebase--preserve-merges.sh:458
+#: git-rebase--preserve-merges.sh:448
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Impossible de picorer $sha1"
 
-#: git-rebase--preserve-merges.sh:467
+#: git-rebase--preserve-merges.sh:457
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Ceci est le ${n}ième message de validation :"
 
-#: git-rebase--preserve-merges.sh:472
+#: git-rebase--preserve-merges.sh:462
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Le message de validation ${n} sera ignoré :"
 
-#: git-rebase--preserve-merges.sh:483
+#: git-rebase--preserve-merges.sh:473
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Ceci est la combinaison de $count commit."
 msgstr[1] "Ceci est la combinaison de $count commits."
 
-#: git-rebase--preserve-merges.sh:492
+#: git-rebase--preserve-merges.sh:482
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Impossible d'écrire $fixup_msg"
 
-#: git-rebase--preserve-merges.sh:495
+#: git-rebase--preserve-merges.sh:485
 msgid "This is a combination of 2 commits."
 msgstr "Ceci est la combinaison de 2 commits."
 
-#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579
-#: git-rebase--preserve-merges.sh:582
+#: git-rebase--preserve-merges.sh:526 git-rebase--preserve-merges.sh:569
+#: git-rebase--preserve-merges.sh:572
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Impossible d'appliquer $sha1... $rest"
 
-#: git-rebase--preserve-merges.sh:611
+#: git-rebase--preserve-merges.sh:601
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -22893,31 +24959,31 @@ msgstr ""
 "le\n"
 "problème avant de pouvoir reformuler le message du commit."
 
-#: git-rebase--preserve-merges.sh:626
+#: git-rebase--preserve-merges.sh:616
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Arrêté à $sha1_abbrev... $rest"
 
-#: git-rebase--preserve-merges.sh:641
+#: git-rebase--preserve-merges.sh:631
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "'$squash_style' impossible avec le commit précédent"
 
-#: git-rebase--preserve-merges.sh:683
+#: git-rebase--preserve-merges.sh:673
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Exécution : $rest"
 
-#: git-rebase--preserve-merges.sh:691
+#: git-rebase--preserve-merges.sh:681
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "L'exécution a échoué : $rest"
 
-#: git-rebase--preserve-merges.sh:693
+#: git-rebase--preserve-merges.sh:683
 msgid "and made changes to the index and/or the working tree"
 msgstr "et a mis à jour l'index ou la copie de travail"
 
-#: git-rebase--preserve-merges.sh:695
+#: git-rebase--preserve-merges.sh:685
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -22928,7 +24994,7 @@ msgstr ""
 "git rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--preserve-merges.sh:708
+#: git-rebase--preserve-merges.sh:698
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -22943,25 +25009,25 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--preserve-merges.sh:719
+#: git-rebase--preserve-merges.sh:709
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Commande inconnue : $command $sha1 $rest"
 
-#: git-rebase--preserve-merges.sh:720
+#: git-rebase--preserve-merges.sh:710
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: git-rebase--preserve-merges.sh:755
+#: git-rebase--preserve-merges.sh:745
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Rebasage et mise à jour de $head_name avec succès."
 
-#: git-rebase--preserve-merges.sh:812
+#: git-rebase--preserve-merges.sh:802
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Impossible de supprimer CHERRY_PICK_HEAD"
 
-#: git-rebase--preserve-merges.sh:817
+#: git-rebase--preserve-merges.sh:807
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -22992,12 +25058,12 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--preserve-merges.sh:834
+#: git-rebase--preserve-merges.sh:824
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 "Erreur lors de la recherche de l'identité de l'auteur pour corriger le commit"
 
-#: git-rebase--preserve-merges.sh:839
+#: git-rebase--preserve-merges.sh:829
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -23005,40 +25071,44 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848
+#: git-rebase--preserve-merges.sh:834 git-rebase--preserve-merges.sh:838
 msgid "Could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965
+#: git-rebase--preserve-merges.sh:869 git-rebase--preserve-merges.sh:955
 msgid "Could not execute editor"
 msgstr "Impossible de lancer l'éditeur"
 
-#: git-rebase--preserve-merges.sh:900
+#: git-rebase--preserve-merges.sh:890
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Impossible d'extraire $switch_to"
 
-#: git-rebase--preserve-merges.sh:907
+#: git-rebase--preserve-merges.sh:897
 msgid "No HEAD?"
 msgstr "Pas de HEAD ?"
 
-#: git-rebase--preserve-merges.sh:908
+#: git-rebase--preserve-merges.sh:898
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Impossible de créer un répertoire temporaire $state_dir"
 
-#: git-rebase--preserve-merges.sh:911
+#: git-rebase--preserve-merges.sh:901
 msgid "Could not mark as interactive"
 msgstr "Impossible de marquer comme interactif"
 
-#: git-rebase--preserve-merges.sh:943
+#: git-rebase--preserve-merges.sh:933
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
 msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
 
-#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002
+#: git-rebase--preserve-merges.sh:945
+msgid "Note that empty commits are commented out"
+msgstr "Veuillez noter que les commits vides sont en commentaire"
+
+#: git-rebase--preserve-merges.sh:987 git-rebase--preserve-merges.sh:992
 msgid "Could not init rewritten commits"
 msgstr "Impossible d'initialiser les commits réécrits"
 
@@ -23110,81 +25180,19 @@ 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:210
+#: git-add--interactive.perl:212
 #, perl-format
 msgid "%12s %12s %s"
 msgstr "%12s %s12s %s"
 
-#: git-add--interactive.perl:211
-msgid "staged"
-msgstr "indexé"
-
-#: git-add--interactive.perl:211
-msgid "unstaged"
-msgstr "non-indexé"
-
-#: git-add--interactive.perl:267 git-add--interactive.perl:292
-msgid "binary"
-msgstr "binaire"
-
-#: git-add--interactive.perl:276 git-add--interactive.perl:330
-msgid "nothing"
-msgstr "rien"
-
-#: git-add--interactive.perl:312 git-add--interactive.perl:327
-msgid "unchanged"
-msgstr "inchangé"
-
-#: git-add--interactive.perl:623
-#, 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:626
-#, 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:629
-#, 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:632
+#: git-add--interactive.perl:634
 #, 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:641
-msgid "Update"
-msgstr "Mise à jour"
-
-#: git-add--interactive.perl:653
-msgid "Revert"
-msgstr "Inverser"
-
-#: git-add--interactive.perl:676
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr "note : %s n'est plus suivi à présent.\n"
-
-#: git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr "Ajouter un fichier non-suivi"
-
-#: git-add--interactive.perl:693
-msgid "No untracked files.\n"
-msgstr "Aucun Fichier non suivi.\n"
-
-#: git-add--interactive.perl:1051
+#: git-add--interactive.perl:1058
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
@@ -23192,7 +25200,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme indexée."
 
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1061
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
@@ -23200,7 +25208,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme remisée."
 
-#: git-add--interactive.perl:1057
+#: git-add--interactive.perl:1064
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
@@ -23208,8 +25216,8 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme desindexée."
 
-#: git-add--interactive.perl:1060 git-add--interactive.perl:1069
-#: git-add--interactive.perl:1075
+#: git-add--interactive.perl:1067 git-add--interactive.perl:1076
+#: git-add--interactive.perl:1082
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
@@ -23217,8 +25225,8 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme appliquée."
 
-#: git-add--interactive.perl:1063 git-add--interactive.perl:1066
-#: git-add--interactive.perl:1072
+#: git-add--interactive.perl:1070 git-add--interactive.perl:1073
+#: git-add--interactive.perl:1079
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
@@ -23226,17 +25234,12 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme éliminée."
 
-#: git-add--interactive.perl:1109
+#: git-add--interactive.perl:1116
 #, 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:1110
-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:1116
+#: git-add--interactive.perl:1123
 #, perl-format
 msgid ""
 "---\n"
@@ -23249,36 +25252,12 @@ msgstr ""
 "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:1124
-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:1138
+#: git-add--interactive.perl:1145
 #, 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:1237
-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:1246
+#: git-add--interactive.perl:1253
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -23292,7 +25271,7 @@ msgstr ""
 "a - indexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas indexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1259
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -23306,7 +25285,7 @@ msgstr ""
 "a - remiser cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas remiser cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1265
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -23320,7 +25299,7 @@ msgstr ""
 "a - désindexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas désindexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1264
+#: git-add--interactive.perl:1271
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -23334,7 +25313,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1270 git-add--interactive.perl:1288
+#: git-add--interactive.perl:1277 git-add--interactive.perl:1295
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -23348,7 +25327,7 @@ msgstr ""
 "a - supprimer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas supprimer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1283
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -23362,7 +25341,7 @@ msgstr ""
 "a - éliminer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas éliminer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1282
+#: git-add--interactive.perl:1289
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -23376,7 +25355,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1294
+#: git-add--interactive.perl:1301
 msgid ""
 "y - apply this hunk to worktree\n"
 "n - do not apply this hunk to worktree\n"
@@ -23390,7 +25369,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1309
+#: git-add--interactive.perl:1316
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -23412,234 +25391,91 @@ msgstr ""
 "e - éditer manuellement la section actuelle\n"
 "? - afficher l'aide\n"
 
-#: git-add--interactive.perl:1340
+#: git-add--interactive.perl:1347
 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:1341
-msgid "Apply them to the worktree anyway? "
-msgstr "Les appliquer quand même à l'arbre de travail ? "
-
-#: git-add--interactive.perl:1344
-msgid "Nothing was applied.\n"
-msgstr "Rien n'a été appliqué.\n"
-
-#: git-add--interactive.perl:1355
+#: git-add--interactive.perl:1362
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "fichier non-fusionné ignoré : %s\n"
 
-#: git-add--interactive.perl:1364
-msgid "Only binary files changed.\n"
-msgstr "Seuls des fichiers binaires ont changé.\n"
-
-#: git-add--interactive.perl:1366
-msgid "No changes.\n"
-msgstr "Aucune modification.\n"
-
-#: git-add--interactive.perl:1374
-msgid "Patch update"
-msgstr "Mise à jour par patch"
-
-#: git-add--interactive.perl:1426
-#, 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:1427
-#, 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:1428
-#, 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:1431
-#, 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:1432
-#, 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:1433
-#, 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:1436
-#, 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:1437
-#, 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:1438
-#, 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:1441
-#, 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:1442
-#, 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:1443
-#, 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:1446 git-add--interactive.perl:1461
-#, 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:1447 git-add--interactive.perl:1462
-#, 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:1448 git-add--interactive.perl:1463
-#, 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:1451
-#, 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:1452
-#, 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:1453
-#, 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:1456
-#, 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:1457
-#, 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:1458
-#, 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:1466
+#: git-add--interactive.perl:1481
 #, perl-format
 msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 "Appliquer le changement de mode dans l'arbre de travail [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1467
+#: git-add--interactive.perl:1482
 #, perl-format
 msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
 msgstr "Appliquer la suppression dans l'arbre de travail [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1468
+#: git-add--interactive.perl:1483
+#, perl-format
+msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
+msgstr "Appliquer l'ajout dans l'arbre de travail [y,n,q,a,d%s,?] ? "
+
+#: git-add--interactive.perl:1484
 #, perl-format
 msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
 msgstr "Appliquer la section à l'arbre de travail [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1568
+#: git-add--interactive.perl:1601
 msgid "No other hunks to goto\n"
 msgstr "Aucune autre section à atteindre\n"
 
-#: git-add--interactive.perl:1575
-msgid "go to which hunk (<ret> to see more)? "
-msgstr "aller à quelle section (<ret> pour voir plus) ? "
-
-#: git-add--interactive.perl:1577
-msgid "go to which hunk? "
-msgstr "aller à quelle section ? "
-
-#: git-add--interactive.perl:1586
+#: git-add--interactive.perl:1619
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Nombre invalide : '%s'\n"
 
-#: git-add--interactive.perl:1591
+#: git-add--interactive.perl:1624
 #, 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:1617
+#: git-add--interactive.perl:1659
 msgid "No other hunks to search\n"
 msgstr "aucune autre section à rechercher\n"
 
-#: git-add--interactive.perl:1621
-msgid "search for regex? "
-msgstr "rechercher la regex ? "
-
-#: git-add--interactive.perl:1634
+#: git-add--interactive.perl:1676
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Regex de recherche malformée %s : %s\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1686
 msgid "No hunk matches the given pattern\n"
 msgstr "Aucune section ne correspond au motif donné\n"
 
-#: git-add--interactive.perl:1656 git-add--interactive.perl:1678
+#: git-add--interactive.perl:1698 git-add--interactive.perl:1720
 msgid "No previous hunk\n"
 msgstr "Pas de section précédente\n"
 
-#: git-add--interactive.perl:1665 git-add--interactive.perl:1684
+#: git-add--interactive.perl:1707 git-add--interactive.perl:1726
 msgid "No next hunk\n"
 msgstr "Pas de section suivante\n"
 
-#: git-add--interactive.perl:1690
+#: git-add--interactive.perl:1732
 msgid "Sorry, cannot split this hunk\n"
 msgstr "Désolé, impossible de découper cette section\n"
 
-#: git-add--interactive.perl:1696
+#: git-add--interactive.perl:1738
 #, 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:1706
+#: git-add--interactive.perl:1748
 msgid "Sorry, cannot edit this hunk\n"
 msgstr "Désolé, impossible d'éditer cette section\n"
 
-#: git-add--interactive.perl:1752
-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:1771
+#: git-add--interactive.perl:1813
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -23657,19 +25493,19 @@ msgstr ""
 "diff          - visualiser les diff entre HEAD et l'index\n"
 "add untracked - ajouter les fichiers non-suivis aux modifications à indexer\n"
 
-#: git-add--interactive.perl:1788 git-add--interactive.perl:1793
-#: git-add--interactive.perl:1796 git-add--interactive.perl:1803
-#: git-add--interactive.perl:1806 git-add--interactive.perl:1813
-#: git-add--interactive.perl:1817 git-add--interactive.perl:1823
+#: git-add--interactive.perl:1830 git-add--interactive.perl:1835
+#: git-add--interactive.perl:1838 git-add--interactive.perl:1845
+#: git-add--interactive.perl:1848 git-add--interactive.perl:1855
+#: git-add--interactive.perl:1859 git-add--interactive.perl:1865
 msgid "missing --"
 msgstr "-- manquant"
 
-#: git-add--interactive.perl:1819
+#: git-add--interactive.perl:1861
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "mode de --patch inconnu : %s"
 
-#: git-add--interactive.perl:1825 git-add--interactive.perl:1831
+#: git-add--interactive.perl:1867 git-add--interactive.perl:1873
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "argument invalide %s, -- attendu"
@@ -23687,27 +25523,39 @@ msgstr "le décalage de temps local est plus grand ou égal à 24 heures\n"
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "l'éditeur est sorti en erreur, abandon total"
 
-#: git-send-email.perl:310
+#: git-send-email.perl:312
 #, 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:315
+#: git-send-email.perl:317
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' contient le courriel composé.\n"
 
-#: git-send-email.perl:408
+#: git-send-email.perl:410
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases est incompatible avec d'autres options\n"
 
-#: git-send-email.perl:481 git-send-email.perl:683
+#: git-send-email.perl:484
+msgid ""
+"fatal: found configuration options for 'sendmail'\n"
+"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
+"Set sendemail.forbidSendmailVariables to false to disable this check.\n"
+msgstr ""
+"fatal : options de configuration trouvées pour 'sendmail'\n"
+"git-send-mail est configuré avec des options sendemail.* - veuillez noter le "
+"'e'.\n"
+"Positionnez sendemail.forbidSendmailVariables à false pour désactiver cette "
+"vérification.\n"
+
+#: git-send-email.perl:489 git-send-email.perl:691
 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:484
+#: git-send-email.perl:492
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
@@ -23715,39 +25563,39 @@ msgstr ""
 "`batch-size` et `relogin` doivent être spécifiés ensembles (via la ligne de "
 "commande ou des options de configuration)\n"
 
-#: git-send-email.perl:497
+#: git-send-email.perl:505
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Champ de --suppress-cc inconnu : '%s'\n"
 
-#: git-send-email.perl:528
+#: git-send-email.perl:536
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Paramètre de --confirm inconnu : '%s'\n"
 
-#: git-send-email.perl:556
+#: git-send-email.perl:564
 #, 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:558
+#: git-send-email.perl:566
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "attention : `:include:` n'est pas supporté : %s\n"
 
-#: git-send-email.perl:560
+#: git-send-email.perl:568
 #, 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:565
+#: git-send-email.perl:573
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "attention : ligne sendmail non reconnue : %s\n"
 
-#: git-send-email.perl:649
+#: git-send-email.perl:657
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -23762,12 +25610,12 @@ msgstr ""
 "    * en indiquant \"./%s\" si vous désignez un fichier, ou\n"
 "    * en fournissant l'option --format-patch pour une plage.\n"
 
-#: git-send-email.perl:670
+#: git-send-email.perl:678
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Échec à l'ouverture du répertoire %s : %s"
 
-#: git-send-email.perl:694
+#: git-send-email.perl:702
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -23776,7 +25624,7 @@ msgstr ""
 "fatal : %s : %s\n"
 "attention : aucun patch envoyé\n"
 
-#: git-send-email.perl:705
+#: git-send-email.perl:713
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -23786,17 +25634,17 @@ msgstr ""
 "Aucun fichier patch spécifié !\n"
 "\n"
 
-#: git-send-email.perl:718
+#: git-send-email.perl:726
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Ligne de sujet non trouvée dans %s ?"
 
-#: git-send-email.perl:728
+#: git-send-email.perl:736
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Impossible d'ouvrir %s en écriture : %s"
 
-#: git-send-email.perl:739
+#: git-send-email.perl:747
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -23810,27 +25658,27 @@ msgstr ""
 "\n"
 "Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
 
-#: git-send-email.perl:763
+#: git-send-email.perl:771
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Échec à l'ouverture de %s : %s"
 
-#: git-send-email.perl:780
+#: git-send-email.perl:788
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Échec à l'ouverture de %s.final : %s"
 
-#: git-send-email.perl:823
+#: git-send-email.perl:831
 msgid "Summary email is empty, skipping it\n"
 msgstr "Le courriel de résumé étant vide, il a été ignoré\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:858
+#: git-send-email.perl:866
 #, 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:913
+#: git-send-email.perl:921
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -23838,11 +25686,11 @@ msgstr ""
 "Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
 "Transfer-Encoding.\n"
 
-#: git-send-email.perl:918
+#: git-send-email.perl:926
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
 
-#: git-send-email.perl:926
+#: git-send-email.perl:934
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -23855,22 +25703,22 @@ msgstr ""
 "a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
 "vraiment envoyer.\n"
 
-#: git-send-email.perl:945
+#: git-send-email.perl:953
 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:963
+#: git-send-email.perl:971
 #, 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:975
+#: git-send-email.perl:983
 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:1033 git-send-email.perl:1041
+#: git-send-email.perl:1041 git-send-email.perl:1049
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
@@ -23878,16 +25726,16 @@ msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n"
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1045
+#: git-send-email.perl:1053
 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:1362
+#: git-send-email.perl:1370
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "le chemin vers la CA \"%s\" n'existe pas"
 
-#: git-send-email.perl:1445
+#: git-send-email.perl:1453
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -23914,130 +25762,209 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1460
+#: git-send-email.perl:1468
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "Envoyer ce courriel ? ([y]es|[n]o|[e]dit|[q]uit|[a]ll) : "
 
-#: git-send-email.perl:1463
+#: git-send-email.perl:1471
 msgid "Send this email reply required"
 msgstr "Une réponse est nécessaire"
 
-#: git-send-email.perl:1491
+#: git-send-email.perl:1499
 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:1538
+#: git-send-email.perl:1546
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Le serveur ne supporte pas STARTTLS ! %s"
 
-#: git-send-email.perl:1543 git-send-email.perl:1547
+#: git-send-email.perl:1551 git-send-email.perl:1555
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "échec de STARTTLS ! %s"
 
-#: git-send-email.perl:1556
+#: git-send-email.perl:1564
 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:1574
+#: git-send-email.perl:1582
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "échec de l'envoi de %s\n"
 
-#: git-send-email.perl:1577
+#: git-send-email.perl:1585
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Envoi simulé de %s\n"
 
-#: git-send-email.perl:1577
+#: git-send-email.perl:1585
 #, perl-format
 msgid "Sent %s\n"
 msgstr "%s envoyé\n"
 
-#: git-send-email.perl:1579
+#: git-send-email.perl:1587
 msgid "Dry-OK. Log says:\n"
 msgstr "Simulation OK. Le journal indique :\n"
 
-#: git-send-email.perl:1579
+#: git-send-email.perl:1587
 msgid "OK. Log says:\n"
 msgstr "OK. Le journal indique :\n"
 
-#: git-send-email.perl:1591
+#: git-send-email.perl:1599
 msgid "Result: "
 msgstr "Résultat : "
 
-#: git-send-email.perl:1594
+#: git-send-email.perl:1602
 msgid "Result: OK\n"
 msgstr "Résultat : OK\n"
 
-#: git-send-email.perl:1612
+#: git-send-email.perl:1620
 #, perl-format
 msgid "can't open file %s"
 msgstr "impossible d'ouvrir le fichier %s"
 
-#: git-send-email.perl:1659 git-send-email.perl:1679
+#: git-send-email.perl:1667 git-send-email.perl:1687
 #, 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:1665
+#: git-send-email.perl:1673
 #, 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:1718
+#: git-send-email.perl:1730
 #, 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:1753
+#: git-send-email.perl:1765
 #, 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:1864
+#: git-send-email.perl:1876
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Impossible d'exécuter '%s'"
 
-#: git-send-email.perl:1871
+#: git-send-email.perl:1883
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Ajout de %s : %s depuis : '%s'\n"
 
-#: git-send-email.perl:1875
+#: git-send-email.perl:1887
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) échec de la fermeture du pipe vers '%s'"
 
-#: git-send-email.perl:1905
+#: git-send-email.perl:1917
 msgid "cannot send message as 7bit"
 msgstr "impossible d'envoyer un message comme 7bit"
 
-#: git-send-email.perl:1913
+#: git-send-email.perl:1925
 msgid "invalid transfer encoding"
 msgstr "codage de transfert invalide"
 
-#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016
+#: git-send-email.perl:1966 git-send-email.perl:2018 git-send-email.perl:2028
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "impossible d'ouvrir %s :%s\n"
 
-#: git-send-email.perl:1957
+#: git-send-email.perl:1969
 #, 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:1974
+#: git-send-email.perl:1986
 #, 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:1978
+#: git-send-email.perl:1990
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
+
+#~ msgid "unknown hash algorithm length"
+#~ msgstr "longueur d'algorithme d'empreinte inconnue"
+
+#~ msgid ""
+#~ "commit-graph chunk lookup table entry missing; file may be incomplete"
+#~ msgstr ""
+#~ "entrée de table de consultation de morceaux de graphe de commite "
+#~ "manquante ; le fichier est peut être incomplet"
+
+#~ msgid "Writing changed paths Bloom filters index"
+#~ msgstr "Écriture de l'index des filtres Bloom des chemins modifiés"
+
+#~ msgid "hash version %u does not match"
+#~ msgstr "la version %u du condensé ne correspond pas"
+
+#~ msgid "Remote with no URL"
+#~ msgstr "Dépôt distant sans URL"
+
+#~ msgid "%%(subject) does not take arguments"
+#~ msgstr "%%(subject) n'accepte pas d'argument"
+
+#~ msgid "positive value expected objectname:short=%s"
+#~ msgstr "valeur positive attendue objectname:short=%s"
+
+#~ msgid "unrecognized %%(objectname) argument: %s"
+#~ msgstr "argument %%(objectname) non reconnu : %s"
+
+#~ msgid "option `%s' is incompatible with --merged"
+#~ msgstr "l'option « %s » est incompatible avec --merged"
+
+#~ msgid "option `%s' is incompatible with --no-merged"
+#~ msgstr "l'option « %s » est incompatible avec --no-merged"
+
+#~ msgid "could not open '%s' for writing: %s"
+#~ msgstr "impossible d'ouvrir '%s' en écriture : %s"
+
+#~ msgid "could not read ref '%s'"
+#~ msgstr "impossible de lire la réf '%s'"
+
+#~ msgid "ref '%s' already exists"
+#~ msgstr "la référence '%s' existe déjà"
+
+#~ msgid "unexpected object ID when writing '%s'"
+#~ msgstr "id d'objet inattendu pendant l'écriture de '%s'"
+
+#~ msgid "unexpected object ID when deleting '%s'"
+#~ msgstr "id d'objet inattendu pendant la suppression de '%s'"
+
+#~ msgid "The hash algorithm %s is not supported in this build."
+#~ msgstr ""
+#~ "L'algorithme d'empreinte %s n'est pas pris en charge par cette version."
+
+#~ msgid "could not open the file BISECT_TERMS"
+#~ msgstr "impossible d'ouvrir le fichier BISECT_TERMS"
+
+#~ msgid "update BISECT_HEAD instead of checking out the current commit"
+#~ msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel"
+
+#~ msgid "print only names (no SHA-1)"
+#~ msgstr "afficher seulement les noms (pas de SHA-1)"
+
+#~ msgid "passed to 'git am'"
+#~ msgstr "passé jusqu'à 'git am'"
+
+#~ 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"
+
+#~ msgid "  Warn: $display_name doesn't contain commit $sha1_src"
+#~ msgstr "  Attention : $display_name ne contient pas la validation $sha1_src"
+
+#~ msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
+#~ msgstr "  Attention : $display_name ne contient pas la validation $sha1_dst"
+
+#~ 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"