Merge branch 'master' of github.com:Softcatala/git-po

* 'master' of github.com:Softcatala/git-po:
  l10n: Update Catalan translation
diff --git a/po/README.md b/po/README.md
index 2fd92cc..a7e6f20 100644
--- a/po/README.md
+++ b/po/README.md
@@ -392,7 +392,7 @@
         git-po-helper init --core <your-language>
 
 3. Add a new entry in the "po/TEAMS" file with proper format, and check
-   the syntax of "po/TEAMS" by runnning the following command:
+   the syntax of "po/TEAMS" by running the following command:
 
         git-po-helper team --check
 
diff --git a/po/es.po b/po/es.po
index dc895bf..ea15180 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2021-03-04 22:41+0800\n"
-"PO-Revision-Date: 2021-03-07 18:29-0500\n"
+"POT-Creation-Date: 2021-05-17 16:02+0800\n"
+"PO-Revision-Date: 2021-06-05 19:31-0500\n"
 "Last-Translator: christopher.diaz.riv@gmail.com\n"
 "Language-Team: CodeLabora <codelabora@gmail.com>\n"
 "Language: es\n"
@@ -16,16 +16,16 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.4.1\n"
+"X-Generator: Poedit 2.4.3\n"
 
 #: add-interactive.c:376
 #, c-format
 msgid "Huh (%s)?"
 msgstr "¿Ahh (%s)?"
 
-#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3292
-#: sequencer.c:3743 sequencer.c:3898 builtin/rebase.c:1538
-#: builtin/rebase.c:1963
+#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3493
+#: sequencer.c:3944 sequencer.c:4099 builtin/rebase.c:1528
+#: builtin/rebase.c:1953
 msgid "could not read index"
 msgstr "no se pudo leer índice"
 
@@ -53,7 +53,7 @@
 msgid "could not stage '%s'"
 msgstr "no se pudo poner en stage '%s'"
 
-#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3486
+#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3687
 msgid "could not write index"
 msgstr "no se pudo escribir índice"
 
@@ -69,7 +69,7 @@
 msgid "note: %s is untracked now.\n"
 msgstr "nota: %s no es rastreado ahora.\n"
 
-#: add-interactive.c:729 apply.c:4125 builtin/checkout.c:295
+#: add-interactive.c:729 apply.c:4127 builtin/checkout.c:298
 #: builtin/reset.c:145
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
@@ -127,7 +127,7 @@
 
 #: add-interactive.c:982 git-add--interactive.perl:1792
 msgid "Review diff"
-msgstr "Revisión de  diff"
+msgstr "Revisión de diff"
 
 #: add-interactive.c:1010
 msgid "show paths with changes"
@@ -210,12 +210,12 @@
 msgid "unstaged"
 msgstr "no rastreado"
 
-#: add-interactive.c:1144 apply.c:4987 apply.c:4990 builtin/am.c:2257
-#: builtin/am.c:2260 builtin/bugreport.c:134 builtin/clone.c:124
-#: builtin/fetch.c:150 builtin/merge.c:285 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
+#: add-interactive.c:1144 apply.c:4994 apply.c:4997 builtin/am.c:2308
+#: builtin/am.c:2311 builtin/bugreport.c:135 builtin/clone.c:128
+#: builtin/fetch.c:152 builtin/merge.c:285 builtin/pull.c:190
+#: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1819
+#: builtin/submodule--helper.c:1822 builtin/submodule--helper.c:2327
+#: builtin/submodule--helper.c:2330 builtin/submodule--helper.c:2573
 #: git-add--interactive.perl:213
 msgid "path"
 msgstr "ruta"
@@ -254,7 +254,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
 "staging."
 msgstr ""
-"Si el parche aplica limpiamente, el hunk editado sera marcado inmediatamente "
+"Si el parche aplica limpiamente, el hunk editado será marcado inmediatamente "
 "para el área de stage."
 
 #: add-patch.c:42
@@ -267,8 +267,8 @@
 msgstr ""
 "y - aplicar stage a este hunk\n"
 "n - no aplicar stage a este hunk\n"
-"q - quit; no aplicar stage a este hunk o ninguno de los restantes\n"
-"a - aplicar stage a este hunk y a todos los posteriores en el archivo \n"
+"q - quit; no aplicar stage a este hunk ni ninguno de los restantes\n"
+"a - aplicar stage a este hunk y a todos los posteriores en el archivo\n"
 "d - no aplicar stage a este hunk o a ninguno de los posteriores en este "
 "archivo\n"
 
@@ -297,7 +297,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
 "stashing."
 msgstr ""
-"Si el parche aplica limpiamente, el hunk editado sera marcado inmediatamente "
+"Si el parche aplica limpiamente, el hunk editado será marcado inmediatamente "
 "para aplicar stash."
 
 #: add-patch.c:64
@@ -312,7 +312,7 @@
 "n - no aplicar stash a este hunk\n"
 "q - quit; no aplicar stash a este hunk o a ninguno de los restantes\n"
 "a - aplicar stash a este hunk y a todos los posteriores en el archivo\n"
-"d - no aplicar stash a este hunk o ninguno de los posteriores en el archivo\n"
+"d - no aplicar stash a este hunk ni ninguno de los posteriores en el archivo\n"
 
 #: add-patch.c:80 git-add--interactive.perl:1443
 #, c-format, perl-format
@@ -339,7 +339,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
 "unstaging."
 msgstr ""
-"Si el parche aplica limpiamente, el hunk editado sera marcado inmediatamente "
+"Si el parche aplica limpiamente, el hunk editado será marcado inmediatamente "
 "para sacar del área de stage."
 
 #: add-patch.c:88
@@ -352,9 +352,9 @@
 msgstr ""
 "y - sacar desde hunk del área de stage\n"
 "n - no sacar este hunk del area de stage\n"
-"q - quit; no sacar del area de stage este hunk o ninguno de los restantes\n"
+"q - quit; no sacar del area de stage este hunk ni ninguno de los restantes\n"
 "a - sacar del area de stage este hunk y todos los posteriores en el archivo\n"
-"d - no sacar del area de stage este hunk o ninguno de los posteriores en el "
+"d - no sacar del area de stage este hunk ni ninguno de los posteriores en el "
 "archivo\n"
 
 #: add-patch.c:103 git-add--interactive.perl:1449
@@ -382,7 +382,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
 "applying."
 msgstr ""
-"Si el parche aplica de forma limpia, el hunk editado sera marcado "
+"Si el parche aplica de forma limpia, el hunk editado será marcado "
 "inmediatamente para aplicar."
 
 #: add-patch.c:111
@@ -395,7 +395,7 @@
 msgstr ""
 "y - aplicar este hunk al índice\n"
 "n - no aplicar este hunk al índice\n"
-"q - quit; no aplicar este hunk o ninguno de los restantes\n"
+"q - quit; no aplicar este hunk ni ninguno de los restantes\n"
 "a - aplicar este hunk y todos los posteriores en el archivo\n"
 "d - no aplicar este hunko ninguno de los posteriores en el archivo\n"
 
@@ -428,7 +428,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
 "discarding."
 msgstr ""
-"Si el parche aplica de forma limpia, el hunk editado sera marcado "
+"Si el parche aplica de forma limpia, el hunk editado será marcado "
 "inmediatamente para descarte."
 
 #: add-patch.c:134 add-patch.c:202
@@ -441,9 +441,9 @@
 msgstr ""
 "y - descartar este hunk del árbol de trabajo\n"
 "n - no descartar este hunk del árbol de trabajo\n"
-"q - quit; no descartar este hunk o ninguno de los que restantes\n"
+"q - quit; no descartar este hunk ni ninguno de los que restantes\n"
 "a - descartar este hunk y todos los posteriores en este archivo\n"
-"d - no descartar este hunk o ninguno de los posteriores en el archivo\n"
+"d - no descartar este hunk ni ninguno de los posteriores en el archivo\n"
 
 #: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1461
 #, c-format, perl-format
@@ -477,9 +477,9 @@
 msgstr ""
 "y - descartar este hunk del índice y el árbol de trabajo\n"
 "n - no descartar este hunk del índice ni el árbol de trabajo\n"
-"q - quit; no descartar este hunk o ninguno de los que quedan\n"
+"q - quit; no descartar este hunk ni ninguno de los que queden\n"
 "a - descartar este hunk y todos los posteriores en este archivo\n"
-"d - no descartar este hunk o ninguno posterior en el archivo\n"
+"d - no descartar este hunk ni ninguno posterior en el archivo\n"
 
 #: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1467
 #, c-format, perl-format
@@ -513,9 +513,9 @@
 msgstr ""
 "y - aplicar este hunk al índice y al árbol de trabajo\n"
 "n - no aplicar este hunk al índice y al árbol de trabajo\n"
-"q - quit;  no aplicar este hunk o ninguno de los restantes\n"
+"q - quit;  no aplicar este hunk ni ninguno de los restantes\n"
 "a - aplicar este hunk y todos los posteriores en el archivo\n"
-"d - no aplicar este hunk o ninguno de los siguientes en este archivo\n"
+"d - no aplicar este hunk ni ninguno de los siguientes en este archivo\n"
 
 #: add-patch.c:224
 msgid ""
@@ -527,9 +527,9 @@
 msgstr ""
 "y - aplicar este hunk al índice y al árbol de trabajo\n"
 "n - no aplicar este hunk al índice y al árbol de trabajo\n"
-"q - quit;  no aplicar este hunk o ninguno de los restantes\n"
+"q - quit;  no aplicar este hunk ni ninguno de los restantes\n"
 "a - aplicar este hunk y todos los posteriores en el archivo\n"
-"d - no aplicar este hunk o ninguno de los siguientes en este archivo\n"
+"d - no aplicar este hunk ni ninguno de los siguientes en este archivo\n"
 
 #: add-patch.c:342
 #, c-format
@@ -603,7 +603,7 @@
 "---\n"
 "Para eliminar '%c' líneas, haga de ellas líneas  ' '  (contexto).\n"
 "Para eliminar '%c' líneas, bórrelas.\n"
-"Lineas comenzando con  %c serán eliminadas.\n"
+"Lineas comenzando con %c serán eliminadas.\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
 #: add-patch.c:1099 git-add--interactive.perl:1129
@@ -612,8 +612,8 @@
 "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 esto no aplica de manera limpia, se te da la oportunidad de \n"
-"editar nuevamente. Si todas las líneas del hunk son eliminadas, entonces \n"
+"Si esto no aplica de manera limpia, se te da la oportunidad de\n"
+"editar nuevamente. Si todas las líneas del hunk son eliminadas, entonces\n"
 "la edición es abortada y el hunk queda sin cambios.\n"
 
 #: add-patch.c:1132
@@ -679,15 +679,15 @@
 
 #: add-patch.c:1516 add-patch.c:1526
 msgid "No previous hunk"
-msgstr "No el anterior hunk"
+msgstr "No hay hunk anterior"
 
 #: add-patch.c:1521 add-patch.c:1531
 msgid "No next hunk"
-msgstr "No el siguiente hunk"
+msgstr "No hay hunk siguiente"
 
 #: add-patch.c:1537
 msgid "No other hunks to goto"
-msgstr "No hay más pedazos para el ir"
+msgstr "No hay más pedazos a que ir"
 
 #: add-patch.c:1548 git-add--interactive.perl:1606
 msgid "go to which hunk (<ret> to see more)? "
@@ -743,7 +743,7 @@
 msgid "'git apply' failed"
 msgstr "falló 'git apply'"
 
-#: advice.c:143
+#: advice.c:145
 #, c-format
 msgid ""
 "\n"
@@ -752,38 +752,38 @@
 "\n"
 "Desactivar este mensaje con \"git config advice.%s false\""
 
-#: advice.c:159
+#: advice.c:161
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sayuda: %.*s%s\n"
 
-#: advice.c:250
+#: advice.c:252
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 "No es posible ejecutar cherry-picking porque tienes archivos sin fusionar."
 
-#: advice.c:252
+#: advice.c:254
 msgid "Committing is not possible because you have unmerged files."
 msgstr "No es posible realizar un commit porque tienes archivos sin fusionar."
 
-#: advice.c:254
+#: advice.c:256
 msgid "Merging is not possible because you have unmerged files."
 msgstr "No es posible hacer merge porque tienes archivos sin fusionar."
 
-#: advice.c:256
+#: advice.c:258
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "No es posible hacer pull porque tienes archivos sin fusionar."
 
-#: advice.c:258
+#: advice.c:260
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "No es posible revertir porque tienes archivos sin fusionar."
 
-#: advice.c:260
+#: advice.c:262
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "No es posible %s porque tienes archivos sin fusionar."
 
-#: advice.c:268
+#: advice.c:270
 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."
@@ -791,23 +791,41 @@
 "Corrígelos en el árbol de trabajo y entonces usa 'git add/rm <archivo>',\n"
 "como sea apropiado, para marcar la resolución y realizar un commit."
 
-#: advice.c:276
+#: advice.c:278
 msgid "Exiting because of an unresolved conflict."
 msgstr "Saliendo porque existe un conflicto sin resolver."
 
-#: advice.c:281 builtin/merge.c:1370
+#: advice.c:283 builtin/merge.c:1374
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "No has concluido tu fusión (MERGE_HEAD existe)."
 
-#: advice.c:283
+#: advice.c:285
 msgid "Please, commit your changes before merging."
 msgstr "Por favor, realiza un commit antes de fusionar."
 
-#: advice.c:284
+#: advice.c:286
 msgid "Exiting because of unfinished merge."
 msgstr "Saliendo por una fusión inconclusa."
 
-#: advice.c:290
+#: advice.c:296
+#, c-format
+msgid ""
+"The following pathspecs didn't match any eligible path, but they do match "
+"index\n"
+"entries outside the current sparse checkout:\n"
+msgstr ""
+"El siguiente pathspecs no concuerda con ninguna ruta elegible, pero "
+"concuerda con\n"
+"entradas del índice fuera del checkout sparse actual:\n"
+
+#: advice.c:303
+msgid ""
+"Disable or modify the sparsity rules if you intend to update such entries."
+msgstr ""
+"Deshabilitar  o modificar las reglas de escasez si intenta actualizar dichas "
+"entradas."
+
+#: advice.c:310
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -858,89 +876,85 @@
 msgid "unclosed quote"
 msgstr "comillas incompletas"
 
-#: apply.c:69
+#: apply.c:70
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "opción de espacios en blanco no reconocida '%s'"
 
-#: apply.c:85
+#: apply.c:86
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "opción de ignorar espacios en blanco no reconocida '%s'"
 
-#: apply.c:135
+#: apply.c:136
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject y --3way no se pueden utilizar juntas."
 
-#: apply.c:137
-msgid "--cached and --3way cannot be used together."
-msgstr "--cached y --3way no se pueden utilizar juntas."
-
-#: apply.c:140
+#: apply.c:139
 msgid "--3way outside a repository"
 msgstr "--3way está fuera de un repositorio"
 
-#: apply.c:151
+#: apply.c:150
 msgid "--index outside a repository"
 msgstr "--index está fuera de un repositorio"
 
-#: apply.c:154
+#: apply.c:153
 msgid "--cached outside a repository"
 msgstr "--cached está fuera de un repositorio"
 
-#: apply.c:801
+#: apply.c:800
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "No se puede preparar una marca de tiempo para la expresión regular %s"
 
-#: apply.c:810
+#: apply.c:809
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec devolvió %d para la entrada: %s"
 
-#: apply.c:884
+#: apply.c:883
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr ""
 "no se puede encontrar el nombre del archivo en el parche en la línea %d"
 
-#: apply.c:922
+#: apply.c:921
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
-"git apply: git-diff erróneo - se esperaba /dev/null, se encontró %s en "
-"lalínea %d"
+"git apply: git-diff erróneo - se esperaba /dev/null, se encontró %s en la"
+"línea %d"
 
-#: apply.c:928
+#: apply.c:927
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
-"git apply: git-diff erróneo - nuevo nombre de archivo inconsistente en "
-"lalínea %d"
+"git apply: git-diff erróneo - nuevo nombre de archivo inconsistente en la"
+"línea %d"
 
-#: apply.c:929
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr ""
-"git apply: git-diff erróneo - viejo nombre de archivo inconsistente en "
-"lalínea %d"
+"git apply: git-diff erróneo - viejo nombre de archivo inconsistente en la"
+"línea %d"
 
-#: apply.c:934
+#: apply.c:933
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: git-diff erróneo - se esperaba /dev/null en la línea %d"
 
-#: apply.c:963
+#: apply.c:962
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "modo inválido en la línea %d: %s"
 
-#: apply.c:1282
+#: apply.c:1281
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "header inconsistente en las líneas %d y %d"
 
-#: apply.c:1372
+#: apply.c:1371
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -949,125 +963,125 @@
 "git diff header lacks filename information when removing %d leading pathname "
 "components (line %d)"
 msgstr[0] ""
-"al header de git diff carece de información del nombre del archivo %d cuando "
-"lo elimina de la ruta principal componente (línea %d)"
+"el header de git diff carece de información del nombre del archivo cuando"
+"se elimina %d componente principal de la ruta (línea %d)"
 msgstr[1] ""
-"los headers de git diff carecen de información de los nombres de los "
-"archivos %d cuando los eliminan de la ruta principal componentes (línea %d)"
+"los headers de git diff carecen de información del  nombre del archivo cuando"
+"se eliminan %d componentes principales (línea %d)"
 
-#: apply.c:1385
+#: apply.c:1384
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 "la cabecera de git diff carece de información del nombre del archivo (línea "
 "%d)"
 
-#: apply.c:1481
+#: apply.c:1480
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount: línea inesperada: %.*s"
 
-#: apply.c:1550
+#: apply.c:1549
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "fragmento de parche sin header en la línea %d: %.*s"
 
-#: apply.c:1753
+#: apply.c:1752
 msgid "new file depends on old contents"
 msgstr "el nuevo archivo depende de contenidos viejos"
 
-#: apply.c:1755
+#: apply.c:1754
 msgid "deleted file still has contents"
 msgstr "el archivo eliminado todavía tiene contenido"
 
-#: apply.c:1789
+#: apply.c:1788
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "parche corrupto en la línea %d"
 
-#: apply.c:1826
+#: apply.c:1825
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "nuevo archivo %s depende en contenidos viejos"
 
-#: apply.c:1828
+#: apply.c:1827
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "el archivo borrado %s todavía tiene contenido"
 
-#: apply.c:1831
+#: apply.c:1830
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** peligro: el archivo %s está vacío pero no es borrado"
 
-#: apply.c:1978
+#: apply.c:1977
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "parche binario corrupto en la línea %d: %.*s"
 
-#: apply.c:2015
+#: apply.c:2014
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "parche binario no reconocido en la línea %d"
 
-#: apply.c:2177
+#: apply.c:2176
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "parche que solo contiene basura en la línea %d"
 
-#: apply.c:2263
+#: apply.c:2262
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "no es posible leer el enlace simbólico %s"
 
-#: apply.c:2267
+#: apply.c:2266
 #, c-format
 msgid "unable to open or read %s"
 msgstr "no es posible abrir o leer %s"
 
-#: apply.c:2936
+#: apply.c:2935
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "comienzo inválido de línea: '%c'"
 
-#: apply.c:3057
+#: apply.c:3056
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Hunk #%d tuvo éxito en %d (%d línea compensada)."
 msgstr[1] "Hunk #%d tuvo éxito en %d (%d líneas compensadas)."
 
-#: apply.c:3069
+#: apply.c:3068
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Contexto reducido a (%ld/%ld) para aplicar el fragmento en %d"
 
-#: apply.c:3075
+#: apply.c:3074
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr ""
-"mientras se busca:\n"
+"mientras se buscaba:\n"
 "%.*s"
 
-#: apply.c:3097
+#: apply.c:3096
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "data perdida en parche binario para '%s'"
 
-#: apply.c:3105
+#: apply.c:3104
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "no se puede revertir-aplicar un parche binario sin el hunk revertido a '%s'"
 
-#: apply.c:3152
+#: apply.c:3151
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "no se puede aplicar el parche binario a '%s' sin un índice completo"
 
-#: apply.c:3163
+#: apply.c:3162
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
@@ -1075,285 +1089,289 @@
 "el parche aplica a '%s' (%s), lo cual no concuerda con los contenidos "
 "actuales."
 
-#: apply.c:3171
+#: apply.c:3170
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "el parche aplica a un '%s' vacío, pero este no lo esta"
 
-#: apply.c:3189
+#: apply.c:3188
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "la postimagen necesaria %s para '%s' no se puede leer"
 
-#: apply.c:3202
+#: apply.c:3201
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "el parche binario no aplica para '%s'"
 
-#: apply.c:3209
+#: apply.c:3208
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
-"el parche binario para '%s' crea un resultado incorrecto (saliendo %s, se "
+"el parche binario para '%s' crea un resultado incorrecto (esperando %s, se "
 "obtuvo %s)"
 
-#: apply.c:3230
+#: apply.c:3229
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "el parche falló: %s:%ld"
 
-#: apply.c:3353
+#: apply.c:3352
 #, c-format
 msgid "cannot checkout %s"
 msgstr "no se puede hacer checkout a %s"
 
-#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:86 pack-revindex.c:213
+#: apply.c:3404 apply.c:3415 apply.c:3461 midx.c:98 pack-revindex.c:214
 #: setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "no se pudo leer %s"
 
-#: apply.c:3413
+#: apply.c:3412
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "leyendo de '%s' tras un enlace simbólico"
 
-#: apply.c:3442 apply.c:3685
+#: apply.c:3441 apply.c:3687
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "la ruta %s ha sido renombrada/suprimida"
 
-#: apply.c:3528 apply.c:3700
+#: apply.c:3527 apply.c:3702
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: no existe en el índice"
 
-#: apply.c:3537 apply.c:3708 apply.c:3952
+#: apply.c:3536 apply.c:3710 apply.c:3954
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: no concuerda con el índice"
 
-#: apply.c:3572
-msgid "repository lacks the necessary blob to fall back on 3-way merge."
+#: apply.c:3571
+msgid "repository lacks the necessary blob to perform 3-way merge."
 msgstr ""
-"el repositorio carece del blob necesario para regresar en un merge de tres-"
-"vías."
+"el repositorio carece del blob necesario para realizar un merge de tres vías."
 
-#: apply.c:3575
+#: apply.c:3574
 #, c-format
-msgid "Falling back to three-way merge...\n"
-msgstr "Retrocediendo en un merge de tres-vías...\n"
+msgid "Performing three-way merge...\n"
+msgstr "Realizando un merge de tres vías...\n"
 
-#: apply.c:3591 apply.c:3595
+#: apply.c:3590 apply.c:3594
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "no se pueden leer los contenidos actuales de '%s'"
 
-#: apply.c:3607
+#: apply.c:3606
 #, c-format
-msgid "Failed to fall back on three-way merge...\n"
-msgstr "Falló el merge en retroceso de tres-vías...\n"
+msgid "Failed to perform three-way merge...\n"
+msgstr "Falló en realizar fusión de tres vías...\n"
 
-#: apply.c:3621
+#: apply.c:3620
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Parche aplicado a '%s' con conflictos.\n"
 
-#: apply.c:3626
+#: apply.c:3625
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Parche aplicado a '%s' limpiamente\n"
 
-#: apply.c:3652
+#: apply.c:3642
+#, c-format
+msgid "Falling back to direct application...\n"
+msgstr "Retrocediendo a la aplicación...\n"
+
+#: apply.c:3654
 msgid "removal patch leaves file contents"
 msgstr "parche de eliminación deja contenidos en el archivo"
 
-#: apply.c:3725
+#: apply.c:3727
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: tipo incorrecto"
 
-#: apply.c:3727
+#: apply.c:3729
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s tiene tipo %o, se esperaba %o"
 
-#: apply.c:3892 apply.c:3894 read-cache.c:832 read-cache.c:858
-#: read-cache.c:1313
+#: apply.c:3894 apply.c:3896 read-cache.c:861 read-cache.c:890
+#: read-cache.c:1351
 #, c-format
 msgid "invalid path '%s'"
 msgstr "ruta inválida '%s'"
 
-#: apply.c:3950
+#: apply.c:3952
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: ya existe en el índice"
 
-#: apply.c:3954
+#: apply.c:3956
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: ya existe en el directorio de trabajo"
 
-#: apply.c:3974
+#: apply.c:3976
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "nuevo modo (%o) de %s no concuerda con el viejo modo (%o)"
 
-#: apply.c:3979
+#: apply.c:3981
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "nuevo modo (%o) de %s no concuerda con el viejo modo (%o) de %s"
 
-#: apply.c:3999
+#: apply.c:4001
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "archivo afectado '%s' está tras un enlace simbólico"
 
-#: apply.c:4003
+#: apply.c:4005
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: el parche no aplica"
 
-#: apply.c:4018
+#: apply.c:4020
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Revisando el parche %s..."
 
-#: apply.c:4110
+#: apply.c:4112
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "falta información del sha1 o es inútil para el submódulo %s"
 
-#: apply.c:4117
+#: apply.c:4119
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "modo cambiado para %s, el cual no se encuentra en el HEAD actual"
 
-#: apply.c:4120
+#: apply.c:4122
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "falta información sha1 o es inútil (%s)."
 
-#: apply.c:4129
+#: apply.c:4131
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "no se pudo añadir %s al índice temporal"
 
-#: apply.c:4139
+#: apply.c:4141
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "no se pudo escribir un índice temporal para %s"
 
-#: apply.c:4277
+#: apply.c:4279
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "no se puede eliminar %s del índice"
 
-#: apply.c:4311
+#: apply.c:4313
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "parche corrupto para el submódulo %s"
 
-#: apply.c:4317
+#: apply.c:4319
 #, c-format
 msgid "unable to stat newly created file '%s'"
-msgstr "no es posible establecer el archivo recién creado '%s'"
+msgstr "no es posible hacer stat en el archivo recién creado '%s'"
 
-#: apply.c:4325
+#: apply.c:4327
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 "no es posible crear una copia de seguridad para el archivo recién creado %s"
 
-#: apply.c:4331 apply.c:4476
+#: apply.c:4333 apply.c:4478
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "no es posible agregar una entrada en el cache para %s"
 
-#: apply.c:4374 builtin/bisect--helper.c:523
+#: apply.c:4376 builtin/bisect--helper.c:523
 #, c-format
 msgid "failed to write to '%s'"
-msgstr "falló escribir para '%s'"
+msgstr "falló escribir a '%s'"
 
-#: apply.c:4378
+#: apply.c:4380
 #, c-format
 msgid "closing file '%s'"
 msgstr "cerrando archivo '%s'"
 
-#: apply.c:4448
+#: apply.c:4450
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "no es posible escribir el archivo '%s' modo %o"
 
-#: apply.c:4546
+#: apply.c:4548
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Parche %s aplicado limpiamente."
 
-#: apply.c:4554
+#: apply.c:4556
 msgid "internal error"
 msgstr "error interno"
 
-#: apply.c:4557
+#: apply.c:4559
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Aplicando parche %%s con %d rechazo..."
 msgstr[1] "Aplicando parche %%s con %d rechazos..."
 
-#: apply.c:4568
+#: apply.c:4570
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "truncando el nombre de archivo .rej a %.*s.rej"
 
-#: apply.c:4576 builtin/fetch.c:933 builtin/fetch.c:1334
+#: apply.c:4578 builtin/fetch.c:993 builtin/fetch.c:1394
 #, c-format
 msgid "cannot open %s"
 msgstr "no se puede abrir %s"
 
-#: apply.c:4590
+#: apply.c:4592
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Hunk #%d aplicado limpiamente."
 
-#: apply.c:4594
+#: apply.c:4596
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Hunk #%d rechazado."
 
-#: apply.c:4718
+#: apply.c:4725
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Parche '%s' saltado."
 
-#: apply.c:4726
+#: apply.c:4733
 msgid "unrecognized input"
 msgstr "input no reconocido"
 
-#: apply.c:4746
+#: apply.c:4753
 msgid "unable to read index file"
 msgstr "no es posible leer el archivo índice"
 
-#: apply.c:4903
+#: apply.c:4910
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "no se puede abrir el parche '%s': %s"
 
-#: apply.c:4930
+#: apply.c:4937
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
-msgstr[0] "%d error de espacios en blanco aplastado"
-msgstr[1] "%d errores de espacios en blanco aplastados"
+msgstr[0] "%d error de espacios en blanco silenciado"
+msgstr[1] "%d errores de espacios en blanco silenciados"
 
-#: apply.c:4936 apply.c:4951
+#: apply.c:4943 apply.c:4958
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d línea agrega errores de espacios en blanco."
 msgstr[1] "%d líneas agregan errores de espacios en blanco."
 
-#: apply.c:4944
+#: apply.c:4951
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
@@ -1362,137 +1380,139 @@
 msgstr[1] ""
 "%d líneas aplicadas después de arreglar los errores de espacios en blanco."
 
-#: apply.c:4960 builtin/add.c:626 builtin/mv.c:304 builtin/rm.c:406
+#: apply.c:4967 builtin/add.c:679 builtin/mv.c:304 builtin/rm.c:423
 msgid "Unable to write new index file"
 msgstr "No es posible escribir el archivo índice"
 
-#: apply.c:4988
+#: apply.c:4995
 msgid "don't apply changes matching the given path"
 msgstr "no aplicar cambios que concuerden con la ruta suministrada"
 
-#: apply.c:4991
+#: apply.c:4998
 msgid "apply changes matching the given path"
 msgstr "aplicar cambios que concuerden con la ruta suministrada"
 
-#: apply.c:4993 builtin/am.c:2266
+#: apply.c:5000 builtin/am.c:2317
 msgid "num"
 msgstr "num"
 
-#: apply.c:4994
+#: apply.c:5001
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "eliminar <num> slashes iniciales de las rutas diff tradicionales"
 
-#: apply.c:4997
+#: apply.c:5004
 msgid "ignore additions made by the patch"
 msgstr "ignorar adiciones hechas por el parche"
 
-#: apply.c:4999
+#: apply.c:5006
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "en lugar de aplicar el parche, mostrar diffstat para la entrada"
 
-#: apply.c:5003
+#: apply.c:5010
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "mostrar el numero de líneas agregadas y eliminadas en notación decimal"
 
-#: apply.c:5005
+#: apply.c:5012
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "en lugar de aplicar el parche, mostrar un resumen para la entrada"
 
-#: apply.c:5007
+#: apply.c:5014
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "en lugar de aplicar el parche, ver si el parche es aplicable"
 
-#: apply.c:5009
+#: apply.c:5016
 msgid "make sure the patch is applicable to the current index"
 msgstr "asegurar que el parche es aplicable al índice actual"
 
-#: apply.c:5011
+#: apply.c:5018
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marca los nuevos archivos con `git add --intent-to-add`"
 
-#: apply.c:5013
+#: apply.c:5020
 msgid "apply a patch without touching the working tree"
 msgstr "aplicar un parche sin tocar el árbol de trabajo"
 
-#: apply.c:5015
-msgid "accept a patch that touches outside the working area"
-msgstr "aceptar un parche que toca fuera del área de trabajo"
-
-#: apply.c:5018
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr "también aplicar el parche ( usar con --stat/--summary/--check"
-
-#: apply.c:5020
-msgid "attempt three-way merge if a patch does not apply"
-msgstr "intentar merge de tres-vías si el parche no aplica"
-
 #: apply.c:5022
+msgid "accept a patch that touches outside the working area"
+msgstr "aceptar un parche que toque fuera del área de trabajo"
+
+#: apply.c:5025
+msgid "also apply the patch (use with --stat/--summary/--check)"
+msgstr "también aplicar el parche (usar con --stat/--summary/--check"
+
+#: apply.c:5027
+msgid "attempt three-way merge, fall back on normal patch if that fails"
+msgstr ""
+"intentar merge de tres vías, regresar al parche normal si el parche no aplica"
+
+#: apply.c:5029
 msgid "build a temporary index based on embedded index information"
 msgstr ""
-"construir un índice temporal basado en la información del índice incrustado"
+"construir un índice temporal basado en la información de índice incrustada"
 
-#: apply.c:5025 builtin/checkout-index.c:195 builtin/ls-files.c:540
+#: apply.c:5032 builtin/checkout-index.c:196 builtin/ls-files.c:617
 msgid "paths are separated with NUL character"
 msgstr "rutas están separadas con un carácter NULL"
 
-#: apply.c:5027
+#: apply.c:5034
 msgid "ensure at least <n> lines of context match"
 msgstr "asegurar que al menos concuerden <n> líneas del contexto concuerden"
 
-#: apply.c:5028 builtin/am.c:2245 builtin/interpret-trailers.c:98
-#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3577 builtin/rebase.c:1352
+#: apply.c:5035 builtin/am.c:2293 builtin/am.c:2296
+#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3831
+#: builtin/rebase.c:1347
 msgid "action"
 msgstr "acción"
 
-#: apply.c:5029
+#: apply.c:5036
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 "detectar líneas nuevas o modificadas que contienen errores de espacios en "
 "blanco"
 
-#: apply.c:5032 apply.c:5035
+#: apply.c:5039 apply.c:5042
 msgid "ignore changes in whitespace when finding context"
 msgstr ""
 "ignorar cambios en los espacios en blanco cuando se encuentra el contexto"
 
-#: apply.c:5038
+#: apply.c:5045
 msgid "apply the patch in reverse"
 msgstr "aplicar el parche en reversa"
 
-#: apply.c:5040
+#: apply.c:5047
 msgid "don't expect at least one line of context"
 msgstr "no espera al menos una línea del contexto"
 
-#: apply.c:5042
+#: apply.c:5049
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "dejar los hunks rechazados en los archivos *.rej correspontientes"
 
-#: apply.c:5044
+#: apply.c:5051
 msgid "allow overlapping hunks"
 msgstr "permitir solapamiento de hunks"
 
-#: apply.c:5045 builtin/add.c:337 builtin/check-ignore.c:22
-#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:757
-#: builtin/log.c:2286 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5052 builtin/add.c:364 builtin/check-ignore.c:22
+#: builtin/commit.c:1474 builtin/count-objects.c:98 builtin/fsck.c:755
+#: builtin/log.c:2295 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "ser verboso"
 
-#: apply.c:5047
+#: apply.c:5054
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "tolerar nuevas líneas faltantes detectadas incorrectamente al final del "
 "archivo"
 
-#: apply.c:5050
+#: apply.c:5057
 msgid "do not trust the line counts in the hunk headers"
 msgstr "no confiar en el conteo de líneas en los headers del hunk"
 
-#: apply.c:5052 builtin/am.c:2254
+#: apply.c:5059 builtin/am.c:2305
 msgid "root"
 msgstr "raíz"
 
-#: apply.c:5053
+#: apply.c:5060
 msgid "prepend <root> to all filenames"
 msgstr "anteponer <root> a todos los nombres de archivos"
 
@@ -1528,7 +1548,7 @@
 #: archive-zip.c:322
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr "ruta muy larga (%d chars, SHA1: %s): %s"
+msgstr "ruta demasiado larga (%d chars, SHA1: %s): %s"
 
 #: archive-zip.c:469 builtin/pack-objects.c:244 builtin/pack-objects.c:247
 #, c-format
@@ -1538,7 +1558,7 @@
 #: archive-zip.c:603
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr "timestamp muy largo para este sistema: %<PRIuMAX>"
+msgstr "timestamp demasiado largo para este sistema: %<PRIuMAX>"
 
 #: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
@@ -1559,141 +1579,141 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <repo> [--exec <comando>] --list"
 
-#: archive.c:192
+#: archive.c:188
 #, c-format
 msgid "cannot read %s"
 msgstr "no se puede leer %s"
 
-#: archive.c:345 sequencer.c:459 sequencer.c:1744 sequencer.c:2894
-#: sequencer.c:3335 sequencer.c:3444 builtin/am.c:249 builtin/commit.c:786
-#: builtin/merge.c:1139
+#: archive.c:342 sequencer.c:460 sequencer.c:1915 sequencer.c:3095
+#: sequencer.c:3536 sequencer.c:3645 builtin/am.c:261 builtin/commit.c:833
+#: builtin/merge.c:1143
 #, c-format
 msgid "could not read '%s'"
 msgstr "no se pudo leer '%s'"
 
-#: archive.c:430 builtin/add.c:189 builtin/add.c:602 builtin/rm.c:315
+#: archive.c:427 builtin/add.c:205 builtin/add.c:646 builtin/rm.c:328
 #, c-format
 msgid "pathspec '%s' did not match any files"
-msgstr "ruta especificada '%s' no concordó con ninguna carpeta"
+msgstr "ruta especificada '%s' no concordó con ningun archivo"
 
-#: archive.c:454
+#: archive.c:451
 #, c-format
 msgid "no such ref: %.*s"
 msgstr "no existe el ref: %.*s"
 
-#: archive.c:460
+#: archive.c:457
 #, c-format
 msgid "not a valid object name: %s"
 msgstr "nombre de objeto no válido: %s"
 
-#: archive.c:473
+#: archive.c:470
 #, c-format
 msgid "not a tree object: %s"
 msgstr "no es un objeto tree: %s"
 
-#: archive.c:485
+#: archive.c:482
 msgid "current working directory is untracked"
 msgstr "directorio de trabajo actual no rastreado"
 
-#: archive.c:526
+#: archive.c:523
 #, c-format
 msgid "File not found: %s"
 msgstr "Archivo no encontrado: %s"
 
-#: archive.c:528
+#: archive.c:525
 #, c-format
 msgid "Not a regular file: %s"
 msgstr "No es un archivo regular: %s"
 
-#: archive.c:555
+#: archive.c:552
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:555
+#: archive.c:552
 msgid "archive format"
-msgstr "formato del archivo"
+msgstr "formato de crónica"
 
-#: archive.c:556 builtin/log.c:1764
+#: archive.c:553 builtin/log.c:1772
 msgid "prefix"
 msgstr "prefijo"
 
-#: archive.c:557
+#: archive.c:554
 msgid "prepend prefix to each pathname in the archive"
-msgstr "anteponer prefijo a cada ruta en el archivo"
+msgstr "anteponer prefijo a cada ruta en el crónica"
 
-#: archive.c:558 archive.c:561 builtin/blame.c:884 builtin/blame.c:888
+#: archive.c:555 archive.c:558 builtin/blame.c:884 builtin/blame.c:888
 #: builtin/blame.c:889 builtin/commit-tree.c:117 builtin/config.c:135
 #: builtin/fast-export.c:1207 builtin/fast-export.c:1209
-#: builtin/fast-export.c:1213 builtin/grep.c:920 builtin/hash-object.c:105
-#: builtin/ls-files.c:576 builtin/ls-files.c:579 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:190
+#: builtin/fast-export.c:1213 builtin/grep.c:922 builtin/hash-object.c:105
+#: builtin/ls-files.c:653 builtin/ls-files.c:656 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:191
 msgid "file"
-msgstr "carpeta"
+msgstr "archivo"
 
-#: archive.c:559
+#: archive.c:556
 msgid "add untracked file to archive"
-msgstr "incluir archivos sin seguimiento al archivo"
+msgstr "incluir archivos sin seguimiento a la crónica"
 
-#: archive.c:562 builtin/archive.c:90
+#: archive.c:559 builtin/archive.c:90
 msgid "write the archive to this file"
-msgstr "escribe el archivo en esta carpeta"
+msgstr "escribe la crónica en este archivo"
 
-#: archive.c:564
+#: archive.c:561
 msgid "read .gitattributes in working directory"
 msgstr "leer .gitattributes en el directorio de trabajo"
 
-#: archive.c:565
+#: archive.c:562
 msgid "report archived files on stderr"
-msgstr "reportar archivos archivados por stderr"
+msgstr "reportar archivos en la crónica por stderr"
 
-#: archive.c:567
+#: archive.c:564
 msgid "set compression level"
 msgstr "configurar nivel de compresión"
 
-#: archive.c:570
+#: archive.c:567
 msgid "list supported archive formats"
-msgstr "listar los formatos de carpeta soportados"
+msgstr "listar los formatos de crónica soportados"
 
-#: archive.c:572 builtin/archive.c:91 builtin/clone.c:114 builtin/clone.c:117
-#: builtin/submodule--helper.c:1830 builtin/submodule--helper.c:2335
+#: archive.c:569 builtin/archive.c:91 builtin/clone.c:118 builtin/clone.c:121
+#: builtin/submodule--helper.c:1831 builtin/submodule--helper.c:2336
 msgid "repo"
 msgstr "repo"
 
-#: archive.c:573 builtin/archive.c:92
+#: archive.c:570 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
-msgstr "obtener la carpeta del repositorio remoto <repo>"
+msgstr "obtener la crónica del repositorio remoto <repo>"
 
-#: archive.c:574 builtin/archive.c:93 builtin/difftool.c:714
+#: archive.c:571 builtin/archive.c:93 builtin/difftool.c:718
 #: builtin/notes.c:498
 msgid "command"
 msgstr "comando"
 
-#: archive.c:575 builtin/archive.c:94
+#: archive.c:572 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
-msgstr "ruta para el comando git-upload-archivo remoto"
+msgstr "ruta para el comando git-upload-archive remoto"
 
-#: archive.c:582
+#: archive.c:579
 msgid "Unexpected option --remote"
 msgstr "Opción inesperada --remote"
 
-#: archive.c:584
+#: archive.c:581
 msgid "Option --exec can only be used together with --remote"
 msgstr "Opción --exec solo puede ser utilizada con --remote"
 
-#: archive.c:586
+#: archive.c:583
 msgid "Unexpected option --output"
 msgstr "Opción inesperada --output"
 
-#: archive.c:588
+#: archive.c:585
 msgid "Options --add-file and --remote cannot be used together"
 msgstr "Opciones --add-file y --remote no pueden ser usadas juntas"
 
-#: archive.c:610
+#: archive.c:607
 #, c-format
 msgid "Unknown archive format '%s'"
-msgstr "Formato de carpeta desconocido '%s'"
+msgstr "Formato de crónica desconocido '%s'"
 
-#: archive.c:619
+#: archive.c:616
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argumento no soportado para formato '%s': -%d"
@@ -1703,12 +1723,12 @@
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s no es un nombre de atributo válido"
 
-#: attr.c:359
+#: attr.c:363
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s no permitido: %s:%d"
 
-#: attr.c:399
+#: attr.c:403
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1737,7 +1757,7 @@
 "The merge base %s is bad.\n"
 "This means the bug has been fixed between %s and [%s].\n"
 msgstr ""
-"La base de fisión %s está mal.\n"
+"La base de fusión %s está mal.\n"
 "Esto quiere decir que el bug ha sido arreglado entre %s y [%s].\n"
 
 #: bisect.c:796
@@ -1746,7 +1766,7 @@
 "The merge base %s is new.\n"
 "The property has changed between %s and [%s].\n"
 msgstr ""
-"La base de fisión %s es nueva.\n"
+"La base de fusión %s es nueva.\n"
 "Esta propiedad ha cambiado entre %s y [%s].\n"
 
 #: bisect.c:801
@@ -1767,7 +1787,7 @@
 msgstr ""
 "Algunas %s revisiones no son ancestros de la revisión %s.\n"
 "git bisect no puede trabajar bien en este caso.\n"
-"¿Tal vez confundiste la revisión %s y %s?\n"
+"¿Tal vez confundiste las revisiones %s y %s?\n"
 
 #: bisect.c:822
 #, c-format
@@ -1790,7 +1810,7 @@
 msgid "a %s revision is needed"
 msgstr "una %s revisión es necesaria"
 
-#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:287
+#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:298
 #, c-format
 msgid "could not create file '%s'"
 msgstr "no se pudo crear el archivo '%s'"
@@ -1835,40 +1855,40 @@
 msgstr[0] "Biseccionando: falta %d revisión por probar después de esto %s\n"
 msgstr[1] "Biseccionando: faltan %d revisiones por probar después de esto %s\n"
 
-#: blame.c:2777
+#: blame.c:2776
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents y --reverse no se mezclan bien."
 
-#: blame.c:2791
+#: blame.c:2790
 msgid "cannot use --contents with final commit object name"
 msgstr "no se puede usar --contents con el nombre de objeto commit final"
 
-#: blame.c:2812
+#: blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse y --first-parent juntos requieren especificar el último commit"
 
-#: blame.c:2821 bundle.c:213 ref-filter.c:2206 remote.c:2041 sequencer.c:2146
-#: sequencer.c:4641 submodule.c:856 builtin/commit.c:1045 builtin/log.c:411
-#: builtin/log.c:1016 builtin/log.c:1624 builtin/log.c:2045 builtin/log.c:2335
-#: builtin/merge.c:424 builtin/pack-objects.c:3395 builtin/pack-objects.c:3410
-#: builtin/shortlog.c:255
+#: blame.c:2820 bundle.c:213 ref-filter.c:2207 remote.c:2041 sequencer.c:2333
+#: sequencer.c:4866 submodule.c:857 builtin/commit.c:1106 builtin/log.c:411
+#: builtin/log.c:1018 builtin/log.c:1626 builtin/log.c:2054 builtin/log.c:2344
+#: builtin/merge.c:428 builtin/pack-objects.c:3183 builtin/pack-objects.c:3646
+#: builtin/pack-objects.c:3661 builtin/shortlog.c:255
 msgid "revision walk setup failed"
 msgstr "falló la configuración del camino de revisión"
 
-#: blame.c:2839
+#: blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent juntos requieren un rango a lo largo de la cadena "
 "del primer padre"
 
-#: blame.c:2850
+#: blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "no hay una ruta %s en %s"
 
-#: blame.c:2861
+#: blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "no se puede leer el blob %s para la ruta %s"
@@ -2012,12 +2032,12 @@
 msgid "Not a valid branch point: '%s'."
 msgstr "Punto de rama no válido: '%s'."
 
-#: branch.c:365
+#: branch.c:366
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' ya ha sido marcado en '%s'"
 
-#: branch.c:388
+#: branch.c:389
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "HEAD del árbol de trabajo %s no está actualizada"
@@ -2042,8 +2062,8 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "header no reconocido %s%s (%d)"
 
-#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2398 sequencer.c:3184
-#: builtin/commit.c:814
+#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2593 sequencer.c:3385
+#: builtin/commit.c:861
 #, c-format
 msgid "could not open '%s'"
 msgstr "no se pudo abrir '%s'"
@@ -2101,7 +2121,7 @@
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "no se puede escribir la versión de paquete %d con el algoritmo %s"
 
-#: bundle.c:510 builtin/log.c:210 builtin/log.c:1926 builtin/shortlog.c:396
+#: bundle.c:510 builtin/log.c:210 builtin/log.c:1935 builtin/shortlog.c:396
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argumento no reconocido: %s"
@@ -2143,263 +2163,263 @@
 msgid "invalid color value: %.*s"
 msgstr "color inválido: %.*s"
 
-#: commit-graph.c:197 midx.c:46
+#: commit-graph.c:204 midx.c:47
 msgid "invalid hash version"
 msgstr "versión de hash inválida"
 
-#: commit-graph.c:255
+#: commit-graph.c:262
 msgid "commit-graph file is too small"
 msgstr "archivo commit-graph es muy pequeño"
 
-#: commit-graph.c:348
+#: commit-graph.c:355
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "firma %X en commit-graph no concuerda con firma %X"
 
-#: commit-graph.c:355
+#: commit-graph.c:362
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "versión de commit-graph %X no concuerda con versión %X"
 
-#: commit-graph.c:362
+#: commit-graph.c:369
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "versión de hash de commit-graph %X no concuerda con versión %X"
 
-#: commit-graph.c:379
+#: commit-graph.c:386
 #, c-format
 msgid "commit-graph file is too small to hold %u chunks"
 msgstr "commit-graph file es demasiado pequeño para almacenar %u chunks"
 
-#: commit-graph.c:472
+#: commit-graph.c:482
 msgid "commit-graph has no base graphs chunk"
 msgstr "commit-graph no tiene una chunk base de graphs"
 
-#: commit-graph.c:482
+#: commit-graph.c:492
 msgid "commit-graph chain does not match"
 msgstr "cadena commit-graph no concuerda"
 
-#: commit-graph.c:530
+#: commit-graph.c:540
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr "cadena de commit-graph inválida: línea '%s' no es un hash"
 
-#: commit-graph.c:554
+#: commit-graph.c:564
 msgid "unable to find all commit-graph files"
 msgstr "no es posible encontrar los archivos commit-graph"
 
-#: commit-graph.c:735 commit-graph.c:772
+#: commit-graph.c:745 commit-graph.c:782
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr "posición de commit inválida. commit-graph está probablemente corrupto"
 
-#: commit-graph.c:756
+#: commit-graph.c:766
 #, c-format
 msgid "could not find commit %s"
 msgstr "no se pudo encontrar commit %s"
 
-#: commit-graph.c:789
+#: commit-graph.c:799
 msgid "commit-graph requires overflow generation data but has none"
 msgstr ""
 "commit-graph requiere datos de generación de desbordamiento pero no tiene "
 "ninguno"
 
-#: commit-graph.c:1065 builtin/am.c:1292
+#: commit-graph.c:1075 builtin/am.c:1340
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "no es posible analizar el commit %s"
 
-#: commit-graph.c:1327 builtin/pack-objects.c:2872
+#: commit-graph.c:1337 builtin/pack-objects.c:2897
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "incapaz de obtener el tipo de objeto: %s"
 
-#: commit-graph.c:1358
+#: commit-graph.c:1368
 msgid "Loading known commits in commit graph"
 msgstr "Cargando commits conocidos en commit graph"
 
-#: commit-graph.c:1375
+#: commit-graph.c:1385
 msgid "Expanding reachable commits in commit graph"
 msgstr "Expandiendo commits alcanzables en commit graph"
 
-#: commit-graph.c:1395
+#: commit-graph.c:1405
 msgid "Clearing commit marks in commit graph"
 msgstr "Limpiando marcas de commits en commit graph"
 
-#: commit-graph.c:1414
+#: commit-graph.c:1424
 msgid "Computing commit graph topological levels"
 msgstr "Calculando niveles topológicos de commit graph"
 
-#: commit-graph.c:1467
+#: commit-graph.c:1477
 msgid "Computing commit graph generation numbers"
 msgstr "Calculando números de generación de commit graph"
 
-#: commit-graph.c:1548
+#: commit-graph.c:1558
 msgid "Computing commit changed paths Bloom filters"
 msgstr "Calculando números de generación de commit graph"
 
-#: commit-graph.c:1625
+#: commit-graph.c:1635
 msgid "Collecting referenced commits"
 msgstr "Recolectando commits referenciados"
 
-#: commit-graph.c:1650
+#: commit-graph.c:1660
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "Encontrando commits para commit graph en %d pack"
 msgstr[1] "Encontrando commits para commit graph en %d packs"
 
-#: commit-graph.c:1663
+#: commit-graph.c:1673
 #, c-format
 msgid "error adding pack %s"
 msgstr "error agregando pack %s"
 
-#: commit-graph.c:1667
+#: commit-graph.c:1677
 #, c-format
 msgid "error opening index for %s"
 msgstr "error abriendo index para %s"
 
-#: commit-graph.c:1704
+#: commit-graph.c:1714
 msgid "Finding commits for commit graph among packed objects"
 msgstr "Encontrando commits para commit graph entre los objetos empaquetados"
 
-#: commit-graph.c:1722
+#: commit-graph.c:1732
 msgid "Finding extra edges in commit graph"
 msgstr "Encontrando esquinas extra en commit graph"
 
-#: commit-graph.c:1771
+#: commit-graph.c:1781
 msgid "failed to write correct number of base graph ids"
 msgstr "falló al escribir el número correcto de ids de base graph"
 
-#: commit-graph.c:1802 midx.c:794
+#: commit-graph.c:1812 midx.c:906
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "no se pudo crear directorios principales para %s"
 
-#: commit-graph.c:1815
+#: commit-graph.c:1825
 msgid "unable to create temporary graph layer"
 msgstr "no es posible crear un una capa de gráfico temporal"
 
-#: commit-graph.c:1820
+#: commit-graph.c:1830
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "no se pudo poner permisos a '%s'"
 
-#: commit-graph.c:1879
+#: commit-graph.c:1887
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Escribiendo commit graph en %d paso"
 msgstr[1] "Escribiendo commit graph en %d pasos"
 
-#: commit-graph.c:1915
+#: commit-graph.c:1923
 msgid "unable to open commit-graph chain file"
 msgstr "no se pudo abrir la cadena de archivos commit-graph"
 
-#: commit-graph.c:1931
+#: commit-graph.c:1939
 msgid "failed to rename base commit-graph file"
 msgstr "no se pudo renombrar el archivo base commit-graph"
 
-#: commit-graph.c:1951
+#: commit-graph.c:1959
 msgid "failed to rename temporary commit-graph file"
 msgstr "falló al renombrar el archivo temporal commit-graph"
 
-#: commit-graph.c:2084
+#: commit-graph.c:2092
 msgid "Scanning merged commits"
 msgstr "Escaneando commits fusionados"
 
-#: commit-graph.c:2128
+#: commit-graph.c:2136
 msgid "Merging commit-graph"
 msgstr "Fusionando commit-graph"
 
-#: commit-graph.c:2235
+#: commit-graph.c:2244
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr ""
 "intentando escribir un commit-graph, pero 'core.commitGraph' está "
 "deshabilitado"
 
-#: commit-graph.c:2342
+#: commit-graph.c:2351
 msgid "too many commits to write graph"
 msgstr "demasiados commits para escribir el gráfico"
 
-#: commit-graph.c:2440
+#: commit-graph.c:2450
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "el archivo de commit-graph tiene checksums incorrectos y probablemente está "
 "corrupto"
 
-#: commit-graph.c:2450
+#: commit-graph.c:2460
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "commit-graph tiene un orden de OID incorrecto: %s luego %s"
 
-#: commit-graph.c:2460 commit-graph.c:2475
+#: commit-graph.c:2470 commit-graph.c:2485
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr "commit-graph tiene un valor fanout incorrecto: fanout[%d] = %u != %u"
 
-#: commit-graph.c:2467
+#: commit-graph.c:2477
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "falló al analizar commit %s para commit-graph"
 
-#: commit-graph.c:2485
+#: commit-graph.c:2495
 msgid "Verifying commits in commit graph"
 msgstr "Verificando commits en commit graph"
 
-#: commit-graph.c:2500
+#: commit-graph.c:2510
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "falló al analizar el commit %s de la base de datos de objetos para commit-"
 "graph"
 
-#: commit-graph.c:2507
+#: commit-graph.c:2517
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr "árbol raíz OID para commit %s en commit-graph es %s != %s"
 
-#: commit-graph.c:2517
+#: commit-graph.c:2527
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr "lista padre de commit-graph para commit %s es muy larga"
 
-#: commit-graph.c:2526
+#: commit-graph.c:2536
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "padre de commit-graph para %s es %s != %s"
 
-#: commit-graph.c:2540
+#: commit-graph.c:2550
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr "lista padre de commit-graph para commit %s termina antes"
 
-#: commit-graph.c:2545
+#: commit-graph.c:2555
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
 msgstr ""
 "commit-graph ha generado número cero para %s, pero no-cero para los demás"
 
-#: commit-graph.c:2549
+#: commit-graph.c:2559
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
 msgstr ""
 "commit-graph tiene generación no-cero para %s, pero cero para los demás"
 
-#: commit-graph.c:2566
+#: commit-graph.c:2576
 #, c-format
 msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
 msgstr "generación commit-graph para commit %s es %<PRIuMAX> < %<PRIuMAX>"
 
-#: commit-graph.c:2572
+#: commit-graph.c:2582
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
 "fecha de commit para commit %s en commit-graph es %<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:52 sequencer.c:2887 builtin/am.c:359 builtin/am.c:403
-#: builtin/am.c:1371 builtin/am.c:2018 builtin/replace.c:457
+#: commit.c:52 sequencer.c:3088 builtin/am.c:371 builtin/am.c:416
+#: builtin/am.c:421 builtin/am.c:1419 builtin/am.c:2066 builtin/replace.c:457
 #, c-format
 msgid "could not parse %s"
 msgstr "no se puede analizar %s"
@@ -2429,27 +2449,27 @@
 "Apapa este mensaje ejecutando\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1223
+#: commit.c:1237
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "Commit %s tiene una firma GPG no confiable, pretendidamente por %s."
 
-#: commit.c:1227
+#: commit.c:1241
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Commit %s tiene una mala firma GPG pretendidamente por %s."
 
-#: commit.c:1230
+#: commit.c:1244
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Commit %s no tiene una firma GPG."
 
-#: commit.c:1233
+#: commit.c:1247
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "El Commit %s tiene una buena firma GPG por %s\n"
 
-#: commit.c:1487
+#: commit.c:1501
 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"
@@ -2518,7 +2538,7 @@
 msgid "key does not contain variable name: %s"
 msgstr "llave no contiene el nombre de variable: %s"
 
-#: config.c:472 sequencer.c:2588
+#: config.c:472 sequencer.c:2785
 #, c-format
 msgid "invalid key: %s"
 msgstr "llave inválida: %s"
@@ -2637,70 +2657,70 @@
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "mal valor de config numérica '%s' para '%s' en %s: %s"
 
-#: config.c:1194
+#: config.c:1257
 #, c-format
 msgid "bad boolean config value '%s' for '%s'"
 msgstr "mal valor de config booleana '%s' para '%s'"
 
-#: config.c:1289
+#: config.c:1275
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "falló al expandir el directorio de usuario en: '%s'"
 
-#: config.c:1298
+#: config.c:1284
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%s' para '%s' no es una marca de tiempo válida"
 
-#: config.c:1391
+#: config.c:1377
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "largo de abreviatura fuera de rango: %d"
 
-#: config.c:1405 config.c:1416
+#: config.c:1391 config.c:1402
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "nivel de compresión de zlib erróneo %d"
 
-#: config.c:1508
+#: config.c:1494
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar debería tener solo un caracter"
 
-#: config.c:1541
+#: config.c:1527
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "modo inválido de creación de objetos: %s"
 
-#: config.c:1613
+#: config.c:1599
 #, c-format
 msgid "malformed value for %s"
 msgstr "valor malformado para %s"
 
-#: config.c:1639
+#: config.c:1625
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "valor malformado para %s: %s"
 
-#: config.c:1640
+#: config.c:1626
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "debe ser uno de nothing, matching, simple, upstream o current"
 
-#: config.c:1701 builtin/pack-objects.c:3666
+#: config.c:1687 builtin/pack-objects.c:3924
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "nivel de compresión de pack erróneo %d"
 
-#: config.c:1823
+#: config.c:1809
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "incapaz de cargar configuración de objeto blob '%s'"
 
-#: config.c:1826
+#: config.c:1812
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "referencia '%s' no apunta a un blob"
 
-#: config.c:1843
+#: config.c:1829
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "no se posible resolver configuración de blob '%s'"
@@ -2710,106 +2730,106 @@
 msgid "failed to parse %s"
 msgstr "no se pudo analizar %s"
 
-#: config.c:1927
+#: config.c:1929
 msgid "unable to parse command-line config"
 msgstr "no es posible analizar la configuración de la línea de comando"
 
-#: config.c:2290
+#: config.c:2293
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 "error desconocido ocurrió mientras se leían los archivos de configuración"
 
-#: config.c:2464
+#: config.c:2467
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "Inválido %s: '%s'"
 
-#: config.c:2509
+#: config.c:2512
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "valor splitIndex.maxPercentChange '%d' debe estar entre 0 y 100"
 
-#: config.c:2555
+#: config.c:2558
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "no es posible analizar '%s' de la configuración de la línea de comando"
 
-#: config.c:2557
+#: config.c:2560
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "mala variable de config '%s' en el archivo '%s' en la línea %d"
 
-#: config.c:2641
+#: config.c:2644
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nombre de sección inválido '%s'"
 
-#: config.c:2673
+#: config.c:2676
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s tiene múltiples valores"
 
-#: config.c:2702
+#: config.c:2705
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "falló al escribir nuevo archivo de configuración %s"
 
-#: config.c:2954 config.c:3280
+#: config.c:2957 config.c:3283
 #, c-format
 msgid "could not lock config file %s"
 msgstr "no se pudo bloquear archivo de configuración %s"
 
-#: config.c:2965
+#: config.c:2968
 #, c-format
 msgid "opening %s"
 msgstr "abriendo %s"
 
-#: config.c:3002 builtin/config.c:361
+#: config.c:3005 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "patrón inválido: %s"
 
-#: config.c:3027
+#: config.c:3030
 #, c-format
 msgid "invalid config file %s"
 msgstr "archivo de configuración inválido: %s"
 
-#: config.c:3040 config.c:3293
+#: config.c:3043 config.c:3296
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat en %s falló"
 
-#: config.c:3051
+#: config.c:3054
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "no es posible hacer mmap '%s'"
 
-#: config.c:3060 config.c:3298
+#: config.c:3063 config.c:3301
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod en %s falló"
 
-#: config.c:3145 config.c:3395
+#: config.c:3148 config.c:3398
 #, c-format
 msgid "could not write config file %s"
 msgstr "no se pudo escribir el archivo de configuración %s"
 
-#: config.c:3179
+#: config.c:3182
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "no se pudo configurar '%s' a '%s'"
 
-#: config.c:3181 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
+#: config.c:3184 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
 #, c-format
 msgid "could not unset '%s'"
 msgstr "no se pudo desactivar '%s'"
 
-#: config.c:3271
+#: config.c:3274
 #, c-format
 msgid "invalid section name: %s"
 msgstr "sección de nombre inválida: %s"
 
-#: config.c:3438
+#: config.c:3441
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valor faltante para '%s'"
@@ -2987,7 +3007,7 @@
 msgid "unable to fork"
 msgstr "no es posible hacer fork"
 
-#: connected.c:108 builtin/fsck.c:191 builtin/prune.c:45
+#: connected.c:108 builtin/fsck.c:188 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "Verificando conectividad"
 
@@ -3003,17 +3023,17 @@
 msgid "failed to close rev-list's stdin"
 msgstr "falló al cerrar la entrada standard de rev-list"
 
-#: convert.c:194
+#: convert.c:183
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr "crlf_action %d ilegal"
 
-#: convert.c:207
+#: convert.c:196
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr "CRLF será reemplazado por LF en %s"
 
-#: convert.c:209
+#: convert.c:198
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -3022,12 +3042,12 @@
 "CRLF será remplazado por LF en %s.\n"
 "El archivo tendrá sus finales de línea originales en tu directorio de trabajo"
 
-#: convert.c:217
+#: convert.c:206
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "LF será reemplazado por CRLF en %s"
 
-#: convert.c:219
+#: convert.c:208
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -3036,12 +3056,12 @@
 "LF será reemplazado por CRLF en %s.\n"
 "El archivo tendrá sus finales de línea originales en tu directorio de trabajo"
 
-#: convert.c:284
+#: convert.c:273
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "BOM está prohibido en '%s' si es codificado como %s"
 
-#: convert.c:291
+#: convert.c:280
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
@@ -3050,12 +3070,12 @@
 "El archivo '%s' contiene una marca de byte (BOM). Por favor usa UTF-%.*s "
 "como working-tree-encoding."
 
-#: convert.c:304
+#: convert.c:293
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "BOM es requerido en '%s' si es codificado como %s"
 
-#: convert.c:306
+#: convert.c:295
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -3064,50 +3084,50 @@
 "Al archivo '%s' le falta una marca de byte (BOM). Por favor usa UTF-%sBE o "
 "UTF-%sLE (dependiendo en el orden de byte) como working-tree-encoding."
 
-#: convert.c:419 convert.c:490
+#: convert.c:408 convert.c:479
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "falló al codificar '%s' de %s a %s"
 
-#: convert.c:462
+#: convert.c:451
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "codificación '%s' de %s a %s y de vuelta no son iguales"
 
-#: convert.c:665
+#: convert.c:654
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "no se puede hacer fork para ejecutar filtros externos '%s'"
 
-#: convert.c:685
+#: convert.c:674
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "no se pueden alimentar de input a los filtros externos '%s'"
 
-#: convert.c:692
+#: convert.c:681
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "filtro externo '%s' falló %d"
 
-#: convert.c:727 convert.c:730
+#: convert.c:716 convert.c:719
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "lectura de filtro externo '%s' falló"
 
-#: convert.c:733 convert.c:788
+#: convert.c:722 convert.c:777
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "filtro externo '%s' falló"
 
-#: convert.c:837
+#: convert.c:826
 msgid "unexpected filter type"
 msgstr "tipo de filtro inesperado"
 
-#: convert.c:848
+#: convert.c:837
 msgid "path name too long for external filter"
 msgstr "nombre de ruta muy largo para filtro externo"
 
-#: convert.c:940
+#: convert.c:934
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
@@ -3116,16 +3136,16 @@
 "filtro externo '%s' ya no está disponible aunque no todas las rutas han sido "
 "filtradas"
 
-#: convert.c:1240
+#: convert.c:1234
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false no son working-tree-encodings válidos"
 
-#: convert.c:1428 convert.c:1462
+#: convert.c:1414 convert.c:1447
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s: falló al limpiar filtro '%s'"
 
-#: convert.c:1508
+#: convert.c:1490
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s: filtro smudge %s falló"
@@ -3250,28 +3270,28 @@
 msgid "Marked %d islands, done.\n"
 msgstr "%d islas marcadas, listo.\n"
 
-#: diff-merges.c:70
+#: diff-merges.c:80
 #, c-format
 msgid "unknown value for --diff-merges: %s"
 msgstr "valor desconocido para --diff-merges: %s"
 
-#: diff-lib.c:534
+#: diff-lib.c:538
 msgid "--merge-base does not work with ranges"
 msgstr "--merge-base no funciona con rangos"
 
-#: diff-lib.c:536
+#: diff-lib.c:540
 msgid "--merge-base only works with commits"
 msgstr "--merge-base solo funciona con confirmaciones"
 
-#: diff-lib.c:553
+#: diff-lib.c:557
 msgid "unable to get HEAD"
 msgstr "no es posible obtener HEAD"
 
-#: diff-lib.c:560
+#: diff-lib.c:564
 msgid "no merge base found"
 msgstr "no se encontró base de fusión"
 
-#: diff-lib.c:562
+#: diff-lib.c:566
 msgid "multiple merge bases found"
 msgstr "múltiples bases de fusión encontradas"
 
@@ -3338,35 +3358,35 @@
 "Errores en la variable de config 'diff.dirstat' encontrados:\n"
 "%s"
 
-#: diff.c:4276
+#: diff.c:4278
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "diff externo murió, deteniendo en %s"
 
-#: diff.c:4628
+#: diff.c:4630
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check y -s son mutuamente exclusivas"
 
-#: diff.c:4631
+#: diff.c:4633
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S y --find-object son mutuamente exclusivas"
 
-#: diff.c:4710
+#: diff.c:4712
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow requiere exactamente un pathspec"
 
-#: diff.c:4758
+#: diff.c:4760
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "valor --stat inválido: %s"
 
-#: diff.c:4763 diff.c:4768 diff.c:4773 diff.c:4778 diff.c:5306
+#: diff.c:4765 diff.c:4770 diff.c:4775 diff.c:4780 diff.c:5308
 #: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s espera un valor numérico"
 
-#: diff.c:4795
+#: diff.c:4797
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3375,42 +3395,42 @@
 "Falló al analizar parámetro de opción --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4880
+#: diff.c:4882
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "cambio de clase desconocido '%c' en --diff-filter=%s"
 
-#: diff.c:4904
+#: diff.c:4906
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "valor desconocido luego de ws-error-highlight=%.*s"
 
-#: diff.c:4918
+#: diff.c:4920
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "no se puede resolver '%s'"
 
-#: diff.c:4968 diff.c:4974
+#: diff.c:4970 diff.c:4976
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s espera forma <n>/<m>"
 
-#: diff.c:4986
+#: diff.c:4988
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s esperaba un char, se obtuvo '%s'"
 
-#: diff.c:5007
+#: diff.c:5009
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "mal argumento --color-moved: %s"
 
-#: diff.c:5026
+#: diff.c:5028
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "modo inválido '%s' en --color-moved-ws"
 
-#: diff.c:5066
+#: diff.c:5068
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -3418,159 +3438,159 @@
 "opción diff-algorithm acepta \"myers\", \"minimal\", \"patience\" e "
 "\"histogram\""
 
-#: diff.c:5102 diff.c:5122
+#: diff.c:5104 diff.c:5124
 #, c-format
 msgid "invalid argument to %s"
 msgstr "argumento inválido para %s"
 
-#: diff.c:5226
+#: diff.c:5228
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "regex inválido para -I: '%s'"
 
-#: diff.c:5275
+#: diff.c:5277
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "falló al analizar parámetro de opción --submodule: '%s'"
 
-#: diff.c:5331
+#: diff.c:5333
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "mal argumento --word-diff: %s"
 
-#: diff.c:5367
+#: diff.c:5369
 msgid "Diff output format options"
 msgstr "Opciones de formato de salida para diff"
 
-#: diff.c:5369 diff.c:5375
+#: diff.c:5371 diff.c:5377
 msgid "generate patch"
 msgstr "generar parche"
 
-#: diff.c:5372 builtin/log.c:179
+#: diff.c:5374 builtin/log.c:179
 msgid "suppress diff output"
 msgstr "suprimir salida de diff"
 
-#: diff.c:5377 diff.c:5491 diff.c:5498
+#: diff.c:5379 diff.c:5493 diff.c:5500
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5378 diff.c:5381
+#: diff.c:5380 diff.c:5383
 msgid "generate diffs with <n> lines context"
 msgstr "genera diffs con <n> líneas de contexto"
 
-#: diff.c:5383
+#: diff.c:5385
 msgid "generate the diff in raw format"
 msgstr "genera el diff en formato raw"
 
-#: diff.c:5386
+#: diff.c:5388
 msgid "synonym for '-p --raw'"
 msgstr "sinónimo para '-p --stat'"
 
-#: diff.c:5390
+#: diff.c:5392
 msgid "synonym for '-p --stat'"
 msgstr "sinónimo para '-p --stat'"
 
-#: diff.c:5394
+#: diff.c:5396
 msgid "machine friendly --stat"
 msgstr "--stat amigable para máquina"
 
-#: diff.c:5397
+#: diff.c:5399
 msgid "output only the last line of --stat"
 msgstr "mostrar solo la última línea para --stat"
 
-#: diff.c:5399 diff.c:5407
+#: diff.c:5401 diff.c:5409
 msgid "<param1,param2>..."
 msgstr "<param1,param2>..."
 
-#: diff.c:5400
+#: diff.c:5402
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 "muestra la distribución de cantidades de cambios relativa para cada "
 "subdirectorio"
 
-#: diff.c:5404
+#: diff.c:5406
 msgid "synonym for --dirstat=cumulative"
 msgstr "sinónimo para --dirstat=cumulative"
 
-#: diff.c:5408
+#: diff.c:5410
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "sinonimo para --dirstat=archivos,param1,param2..."
 
-#: diff.c:5412
+#: diff.c:5414
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "advierte si cambios introducen conflictos de markers o errores de espacios "
 "en blanco"
 
-#: diff.c:5415
+#: diff.c:5417
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 "resumen condensado de creaciones, cambios de nombres y cambios de modos"
 
-#: diff.c:5418
+#: diff.c:5420
 msgid "show only names of changed files"
 msgstr "mostrar solo nombres de archivos cambiados"
 
-#: diff.c:5421
+#: diff.c:5423
 msgid "show only names and status of changed files"
 msgstr "mostrar solo nombres y estados de archivos cambiados"
 
-#: diff.c:5423
+#: diff.c:5425
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<ancho>[,<nombre-ancho>[,<cantidad>]]"
 
-#: diff.c:5424
+#: diff.c:5426
 msgid "generate diffstat"
 msgstr "generar diffstat"
 
-#: diff.c:5426 diff.c:5429 diff.c:5432
+#: diff.c:5428 diff.c:5431 diff.c:5434
 msgid "<width>"
 msgstr "<ancho>"
 
-#: diff.c:5427
+#: diff.c:5429
 msgid "generate diffstat with a given width"
 msgstr "genera diffstat con un ancho dado"
 
-#: diff.c:5430
+#: diff.c:5432
 msgid "generate diffstat with a given name width"
 msgstr "genera diffstat con un nombre de ancho dado"
 
-#: diff.c:5433
+#: diff.c:5435
 msgid "generate diffstat with a given graph width"
 msgstr "genera diffstat con un ancho de graph dado"
 
-#: diff.c:5435
+#: diff.c:5437
 msgid "<count>"
 msgstr "<cantidad>"
 
-#: diff.c:5436
+#: diff.c:5438
 msgid "generate diffstat with limited lines"
 msgstr "genera diffstat con líneas limitadas"
 
-#: diff.c:5439
+#: diff.c:5441
 msgid "generate compact summary in diffstat"
 msgstr "genera un resumen compacto de diffstat"
 
-#: diff.c:5442
+#: diff.c:5444
 msgid "output a binary diff that can be applied"
 msgstr "muestra un diff binario que puede ser aplicado"
 
-#: diff.c:5445
+#: diff.c:5447
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "mostrar todo un pre- y post-image de nombres de objetos en las líneas \"index"
 "\""
 
-#: diff.c:5447
+#: diff.c:5449
 msgid "show colored diff"
 msgstr "mostrar diff colorido"
 
-#: diff.c:5448
+#: diff.c:5450
 msgid "<kind>"
 msgstr "<tipo>"
 
-#: diff.c:5449
+#: diff.c:5451
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -3578,7 +3598,7 @@
 "resaltar errores de espacios en blanco en las líneas 'context', 'old' o "
 "'new' del diff"
 
-#: diff.c:5452
+#: diff.c:5454
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3586,89 +3606,89 @@
 "no consolidar los pathnames y usar NULs como terminadores de campos en --raw "
 "o --numstat"
 
-#: diff.c:5455 diff.c:5458 diff.c:5461 diff.c:5570
+#: diff.c:5457 diff.c:5460 diff.c:5463 diff.c:5572
 msgid "<prefix>"
 msgstr "<prefijo>"
 
-#: diff.c:5456
+#: diff.c:5458
 msgid "show the given source prefix instead of \"a/\""
 msgstr "mostrar el prefijo de fuente dado en lugar de \"a/\""
 
-#: diff.c:5459
+#: diff.c:5461
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "mostrar el prefijo de destino en lugar de \"b/\""
 
-#: diff.c:5462
+#: diff.c:5464
 msgid "prepend an additional prefix to every line of output"
 msgstr "anteponer un prefijo adicional a cada línea mostrada"
 
-#: diff.c:5465
+#: diff.c:5467
 msgid "do not show any source or destination prefix"
 msgstr "no mostrar ningún prefijo de fuente o destino"
 
-#: diff.c:5468
+#: diff.c:5470
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "muestra el contexto entre hunks de diff hasta el número especificado de "
 "líneas"
 
-#: diff.c:5472 diff.c:5477 diff.c:5482
+#: diff.c:5474 diff.c:5479 diff.c:5484
 msgid "<char>"
 msgstr "<char>"
 
-#: diff.c:5473
+#: diff.c:5475
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "especifica el char para indicar una nueva línea en lugar de '+'"
 
-#: diff.c:5478
+#: diff.c:5480
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "especifica el char para indicar una línea vieja en lugar de '-'"
 
-#: diff.c:5483
+#: diff.c:5485
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "especifica el char para indicar un contexto en lugar de ' '"
 
-#: diff.c:5486
+#: diff.c:5488
 msgid "Diff rename options"
 msgstr "Opciones de diff rename"
 
-#: diff.c:5487
+#: diff.c:5489
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5488
+#: diff.c:5490
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "descomponer los cambios de reescritura en pares de borrar y crear"
 
-#: diff.c:5492
+#: diff.c:5494
 msgid "detect renames"
 msgstr "detectar renombrados"
 
-#: diff.c:5496
+#: diff.c:5498
 msgid "omit the preimage for deletes"
 msgstr "omite la preimage para borrados"
 
-#: diff.c:5499
+#: diff.c:5501
 msgid "detect copies"
 msgstr "detectar copias"
 
-#: diff.c:5503
+#: diff.c:5505
 msgid "use unmodified files as source to find copies"
 msgstr "usa archivos no modificados como fuente para encontrar copias"
 
-#: diff.c:5505
+#: diff.c:5507
 msgid "disable rename detection"
 msgstr "deshabilita detección de renombres"
 
-#: diff.c:5508
+#: diff.c:5510
 msgid "use empty blobs as rename source"
 msgstr "usa blobs vacíos como fuente de renombre"
 
-#: diff.c:5510
+#: diff.c:5512
 msgid "continue listing the history of a file beyond renames"
 msgstr "continua listando el historial de un archivo más allá de renombres"
 
-#: diff.c:5513
+#: diff.c:5515
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -3676,159 +3696,159 @@
 "previene detección de renombre/copias si el número de objetivos para "
 "renombres/copias excede el límite dado"
 
-#: diff.c:5515
+#: diff.c:5517
 msgid "Diff algorithm options"
 msgstr "Opciones de algoritmos de diff"
 
-#: diff.c:5517
+#: diff.c:5519
 msgid "produce the smallest possible diff"
 msgstr "produce el diff más pequeño posible"
 
-#: diff.c:5520
+#: diff.c:5522
 msgid "ignore whitespace when comparing lines"
 msgstr "ignorar espacios en blanco cuando comparando líneas"
 
-#: diff.c:5523
+#: diff.c:5525
 msgid "ignore changes in amount of whitespace"
 msgstr "ignorar cambios en la cantidad de líneas en blanco"
 
-#: diff.c:5526
+#: diff.c:5528
 msgid "ignore changes in whitespace at EOL"
 msgstr "ignorar cambios en espacios en blanco en EOL"
 
-#: diff.c:5529
+#: diff.c:5531
 msgid "ignore carrier-return at the end of line"
 msgstr "ignora carrier-return al final de la línea"
 
-#: diff.c:5532
+#: diff.c:5534
 msgid "ignore changes whose lines are all blank"
 msgstr "ignora cambios cuyas líneas son todas en blanco"
 
-#: diff.c:5534 diff.c:5556 diff.c:5559 diff.c:5604
+#: diff.c:5536 diff.c:5558 diff.c:5561 diff.c:5606
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5535
+#: diff.c:5537
 msgid "ignore changes whose all lines match <regex>"
 msgstr "ignora cambios cuyas líneas concuerdan con <regex>"
 
-#: diff.c:5538
+#: diff.c:5540
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "heurística para cambiar los límites de hunk para una fácil lectura"
 
-#: diff.c:5541
+#: diff.c:5543
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "genera un diff usando algoritmo \"patience diff\""
 
-#: diff.c:5545
+#: diff.c:5547
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "genera un diff usando algoritmo \"histogram diff\""
 
-#: diff.c:5547
+#: diff.c:5549
 msgid "<algorithm>"
 msgstr "<algoritmo>"
 
-#: diff.c:5548
+#: diff.c:5550
 msgid "choose a diff algorithm"
 msgstr "escoge un algoritmo para diff"
 
-#: diff.c:5550
+#: diff.c:5552
 msgid "<text>"
 msgstr "<texto>"
 
-#: diff.c:5551
+#: diff.c:5553
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "genera un diff usando algoritmo \"anchored diff\""
 
-#: diff.c:5553 diff.c:5562 diff.c:5565
+#: diff.c:5555 diff.c:5564 diff.c:5567
 msgid "<mode>"
 msgstr "<modo>"
 
-#: diff.c:5554
+#: diff.c:5556
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "muestra diff por palabras usando <modo> para delimitar las palabras cambiadas"
 
-#: diff.c:5557
+#: diff.c:5559
 msgid "use <regex> to decide what a word is"
 msgstr "usa <regex> para decidir que palabra es"
 
-#: diff.c:5560
+#: diff.c:5562
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "equivalente a --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5563
+#: diff.c:5565
 msgid "moved lines of code are colored differently"
 msgstr "líneas movidas de código están coloreadas diferente"
 
-#: diff.c:5566
+#: diff.c:5568
 msgid "how white spaces are ignored in --color-moved"
 msgstr "como espacios en blanco son ignorados en --color-moved"
 
-#: diff.c:5569
+#: diff.c:5571
 msgid "Other diff options"
 msgstr "Otras opciones de diff"
 
-#: diff.c:5571
+#: diff.c:5573
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "cuando ejecutado desde un subdir, excluye cambios del exterior y muestra "
 "paths relativos"
 
-#: diff.c:5575
+#: diff.c:5577
 msgid "treat all files as text"
 msgstr "tratar todos los archivos como texto"
 
-#: diff.c:5577
+#: diff.c:5579
 msgid "swap two inputs, reverse the diff"
 msgstr "cambia dos inputs, invierte el diff"
 
-#: diff.c:5579
+#: diff.c:5581
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "termina con 1 si hubieron diferencias, de lo contrario con 0"
 
-#: diff.c:5581
+#: diff.c:5583
 msgid "disable all output of the program"
 msgstr "deshabilita todo el output del programa"
 
-#: diff.c:5583
+#: diff.c:5585
 msgid "allow an external diff helper to be executed"
 msgstr "permite la ejecución de un diff helper externo"
 
-#: diff.c:5585
+#: diff.c:5587
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "ejecuta filtros de conversión de texto externos cuando comparando binarios"
 
-#: diff.c:5587
+#: diff.c:5589
 msgid "<when>"
 msgstr "<cuando>"
 
-#: diff.c:5588
+#: diff.c:5590
 msgid "ignore changes to submodules in the diff generation"
 msgstr "ignorar cambios a submódulos en la generación de diff"
 
-#: diff.c:5591
+#: diff.c:5593
 msgid "<format>"
 msgstr "<formato>"
 
-#: diff.c:5592
+#: diff.c:5594
 msgid "specify how differences in submodules are shown"
 msgstr "especifica como son mostradas las diferencias en submódulos"
 
-#: diff.c:5596
+#: diff.c:5598
 msgid "hide 'git add -N' entries from the index"
 msgstr "ocultar entradas 'git add -N' del index"
 
-#: diff.c:5599
+#: diff.c:5601
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "trata entradas 'git add -N' como reales en el index"
 
-#: diff.c:5601
+#: diff.c:5603
 msgid "<string>"
 msgstr "<string>"
 
-#: diff.c:5602
+#: diff.c:5604
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -3836,7 +3856,7 @@
 "busca por diferencias que cambien el número de ocurrencias para el string "
 "especificado"
 
-#: diff.c:5605
+#: diff.c:5607
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3844,35 +3864,35 @@
 "busca por diferencias que cambien el número de ocurrencias para el regex "
 "especificado"
 
-#: diff.c:5608
+#: diff.c:5610
 msgid "show all changes in the changeset with -S or -G"
 msgstr "mostrar todos los cambios en el changeset con -S o -G"
 
-#: diff.c:5611
+#: diff.c:5613
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "tratar <string> en -S como una expresión regular extendida de POSIX"
 
-#: diff.c:5614
+#: diff.c:5616
 msgid "control the order in which files appear in the output"
 msgstr "controlar el orden en el que los archivos aparecen en la salida"
 
-#: diff.c:5615 diff.c:5618
+#: diff.c:5617 diff.c:5620
 msgid "<path>"
 msgstr "<ruta>"
 
-#: diff.c:5616
+#: diff.c:5618
 msgid "show the change in the specified path first"
 msgstr "mostrar el cambio en la ruta especificada primero"
 
-#: diff.c:5619
+#: diff.c:5621
 msgid "skip the output to the specified path"
 msgstr "saltar el output de la ruta especificada"
 
-#: diff.c:5621
+#: diff.c:5623
 msgid "<object-id>"
 msgstr "<id-objeto>"
 
-#: diff.c:5622
+#: diff.c:5624
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3880,33 +3900,33 @@
 "busca por diferencias que cambien el número de ocurrencias para el objeto "
 "especificado"
 
-#: diff.c:5624
+#: diff.c:5626
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5625
+#: diff.c:5627
 msgid "select files by diff type"
 msgstr "selecciona archivos por tipo de diff"
 
-#: diff.c:5627
+#: diff.c:5629
 msgid "<file>"
 msgstr "<archivo>"
 
-#: diff.c:5628
+#: diff.c:5630
 msgid "Output to a specific file"
 msgstr "Output a un archivo específico"
 
-#: diff.c:6285
+#: diff.c:6287
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "detección de cambio de nombre inexacta fue saltada por haber muchos archivos."
 
-#: diff.c:6288
+#: diff.c:6290
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "solo se encontraron copias de rutas modificadas por haber muchos archivos."
 
-#: diff.c:6291
+#: diff.c:6293
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3919,7 +3939,7 @@
 msgid "failed to read orderfile '%s'"
 msgstr "falló al leer orden de archivos '%s'"
 
-#: diffcore-rename.c:786
+#: diffcore-rename.c:1418
 msgid "Performing inexact rename detection"
 msgstr "Realizando una detección de cambios de nombre inexacta"
 
@@ -3954,35 +3974,35 @@
 msgid "disabling cone pattern matching"
 msgstr "deshabilitar coincidencia de patrónes cono"
 
-#: dir.c:1198
+#: dir.c:1206
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "no se puede usar %s como archivo de exclusión"
 
-#: dir.c:2305
+#: dir.c:2314
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "no se pudo abrir el directorio '%s'"
 
-#: dir.c:2605
+#: dir.c:2614
 msgid "failed to get kernel name and information"
 msgstr "falló al conseguir la información y nombre del kernel"
 
-#: dir.c:2729
+#: dir.c:2738
 msgid "untracked cache is disabled on this system or location"
 msgstr "untracked cache está desactivado en este sistema o ubicación"
 
-#: dir.c:3534
+#: dir.c:3543
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "archivo índice corrompido en repositorio %s"
 
-#: dir.c:3579 dir.c:3584
+#: dir.c:3590 dir.c:3595
 #, c-format
 msgid "could not create directories for %s"
 msgstr "no se pudo crear directorios para %s"
 
-#: dir.c:3613
+#: dir.c:3624
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "no se pudo migrar el directorio git de '%s' a '%s'"
@@ -3992,11 +4012,11 @@
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "ayuda: Esperando que tu editor cierre el archivo ...%c"
 
-#: entry.c:177
+#: entry.c:179
 msgid "Filtering content"
 msgstr "Filtrando contenido"
 
-#: entry.c:478
+#: entry.c:500
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "no se pudo establecer el archivo '%s'"
@@ -4016,250 +4036,258 @@
 msgid "too many args to run %s"
 msgstr "demasiados argumentos para correr %s"
 
-#: fetch-pack.c:177
+#: fetch-pack.c:182
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: lista poco profunda esperada"
 
-#: fetch-pack.c:180
+#: fetch-pack.c:185
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr ""
 "git fetch-pack: se esperaba un flush packet luego de la lista superficial"
 
-#: fetch-pack.c:191
+#: fetch-pack.c:196
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack: se esperaba ACK/NAK, se obtuvo un flush packet"
 
-#: fetch-pack.c:211
+#: fetch-pack.c:216
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack: se esperaba ACK/NAK, se obtuvo '%s'"
 
-#: fetch-pack.c:222
+#: fetch-pack.c:227
 msgid "unable to write to remote"
 msgstr "no se puede escribir al remoto"
 
-#: fetch-pack.c:283
+#: fetch-pack.c:288
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc requiere multi_ack_detailed"
 
-#: fetch-pack.c:378 fetch-pack.c:1457
+#: fetch-pack.c:383 fetch-pack.c:1423
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "línea poco profunda inválida: %s"
 
-#: fetch-pack.c:384 fetch-pack.c:1463
+#: fetch-pack.c:389 fetch-pack.c:1429
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "línea superficial inválida: %s"
 
-#: fetch-pack.c:386 fetch-pack.c:1465
+#: fetch-pack.c:391 fetch-pack.c:1431
 #, c-format
 msgid "object not found: %s"
 msgstr "objeto no encontrado: %s"
 
-#: fetch-pack.c:389 fetch-pack.c:1468
+#: fetch-pack.c:394 fetch-pack.c:1434
 #, c-format
 msgid "error in object: %s"
 msgstr "error en objeto: %s"
 
-#: fetch-pack.c:391 fetch-pack.c:1470
+#: fetch-pack.c:396 fetch-pack.c:1436
 #, c-format
 msgid "no shallow found: %s"
 msgstr "superficie no encontrada: %s"
 
-#: fetch-pack.c:394 fetch-pack.c:1474
+#: fetch-pack.c:399 fetch-pack.c:1440
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "se esperaba shallow/unshallow, se obtuvo %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:439
 #, c-format
 msgid "got %s %d %s"
 msgstr "se obtuvo %s %d %s"
 
-#: fetch-pack.c:451
+#: fetch-pack.c:456
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit inválido %s"
 
-#: fetch-pack.c:482
+#: fetch-pack.c:487
 msgid "giving up"
 msgstr "rindiéndose"
 
-#: fetch-pack.c:495 progress.c:339
+#: fetch-pack.c:500 progress.c:339
 msgid "done"
 msgstr "listo"
 
-#: fetch-pack.c:507
+#: fetch-pack.c:512
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "se obtuvo %s (%d) %s"
 
-#: fetch-pack.c:543
+#: fetch-pack.c:548
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marcando %s como completa"
 
-#: fetch-pack.c:758
+#: fetch-pack.c:763
 #, c-format
 msgid "already have %s (%s)"
 msgstr "ya se tiene %s (%s)"
 
-#: fetch-pack.c:844
+#: fetch-pack.c:849
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: no se puede extraer un demultiplexor de banda lateral"
 
-#: fetch-pack.c:852
+#: fetch-pack.c:857
 msgid "protocol error: bad pack header"
 msgstr "error de protocolo: paquete de header erróneo"
 
-#: fetch-pack.c:946
+#: fetch-pack.c:951
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: no se puede quitar %s"
 
-#: fetch-pack.c:952
+#: fetch-pack.c:957
 msgid "fetch-pack: invalid index-pack output"
 msgstr "fetch-pack: salida de paquete de índice no válida"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:974
 #, c-format
 msgid "%s failed"
 msgstr "%s falló"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:976
 msgid "error in sideband demultiplexer"
 msgstr "error en demultiplexor de banda lateral"
 
-#: fetch-pack.c:1031
+#: fetch-pack.c:1019
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Versión de servidor es %.*s"
 
-#: fetch-pack.c:1039 fetch-pack.c:1045 fetch-pack.c:1048 fetch-pack.c:1054
-#: fetch-pack.c:1058 fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070
-#: fetch-pack.c:1074 fetch-pack.c:1078 fetch-pack.c:1082 fetch-pack.c:1086
-#: fetch-pack.c:1092 fetch-pack.c:1098 fetch-pack.c:1103 fetch-pack.c:1108
+#: fetch-pack.c:1027 fetch-pack.c:1033 fetch-pack.c:1036 fetch-pack.c:1042
+#: fetch-pack.c:1046 fetch-pack.c:1050 fetch-pack.c:1054 fetch-pack.c:1058
+#: fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070 fetch-pack.c:1074
+#: fetch-pack.c:1080 fetch-pack.c:1086 fetch-pack.c:1091 fetch-pack.c:1096
 #, c-format
 msgid "Server supports %s"
 msgstr "El servidor soporta %s"
 
-#: fetch-pack.c:1041
+#: fetch-pack.c:1029
 msgid "Server does not support shallow clients"
 msgstr "El servidor no soporta clientes superficiales"
 
-#: fetch-pack.c:1101
+#: fetch-pack.c:1089
 msgid "Server does not support --shallow-since"
 msgstr "El servidor no soporta --shalow-since"
 
-#: fetch-pack.c:1106
+#: fetch-pack.c:1094
 msgid "Server does not support --shallow-exclude"
 msgstr "El servidor no soporta --shalow-exclude"
 
-#: fetch-pack.c:1110
+#: fetch-pack.c:1098
 msgid "Server does not support --deepen"
 msgstr "El servidor no soporta --deepen"
 
-#: fetch-pack.c:1112
+#: fetch-pack.c:1100
 msgid "Server does not support this repository's object format"
 msgstr "El servidor no soporta el formato de objetos de este repositorio"
 
-#: fetch-pack.c:1125
+#: fetch-pack.c:1113
 msgid "no common commits"
 msgstr "no hay commits comunes"
 
-#: fetch-pack.c:1138 fetch-pack.c:1682
+#: fetch-pack.c:1122 fetch-pack.c:1469 builtin/clone.c:1238
+msgid "source repository is shallow, reject to clone."
+msgstr "el repositorio fuente es superficial, rechazando clonado."
+
+#: fetch-pack.c:1128 fetch-pack.c:1651
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch falló."
 
-#: fetch-pack.c:1265
+#: fetch-pack.c:1242
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "algoritmos no compatibles: cliente %s; servidor %s"
 
-#: fetch-pack.c:1269
+#: fetch-pack.c:1246
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "servidor no soporta el algoritmo '%s'"
 
-#: fetch-pack.c:1289
+#: fetch-pack.c:1279
 msgid "Server does not support shallow requests"
 msgstr "El servidor no soporta peticiones superficiales"
 
-#: fetch-pack.c:1296
+#: fetch-pack.c:1286
 msgid "Server supports filter"
 msgstr "El servidor soporta filtro"
 
-#: fetch-pack.c:1335
+#: fetch-pack.c:1329 fetch-pack.c:2034
 msgid "unable to write request to remote"
 msgstr "no se puede escribir request al remoto"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1347
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "error leyendo sección header '%s'"
 
-#: fetch-pack.c:1359
+#: fetch-pack.c:1353
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "se esperaba '%s', se recibió '%s'"
 
-#: fetch-pack.c:1420
+#: fetch-pack.c:1387
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "línea de confirmación inesperada: '%s'"
 
-#: fetch-pack.c:1425
+#: fetch-pack.c:1392
 #, c-format
 msgid "error processing acks: %d"
 msgstr "error procesando acks: %d"
 
-#: fetch-pack.c:1435
+#: fetch-pack.c:1402
 msgid "expected packfile to be sent after 'ready'"
 msgstr "espere que el packfile sea mandado luego del 'listo'"
 
-#: fetch-pack.c:1437
+#: fetch-pack.c:1404
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "espere que ninguna otra sección sea enviada luego del 'listo'"
 
-#: fetch-pack.c:1479
+#: fetch-pack.c:1445
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "error procesando información superficial: %d"
 
-#: fetch-pack.c:1526
+#: fetch-pack.c:1494
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "se esperaba wanted-ref, se obtuvo '%s'"
 
-#: fetch-pack.c:1531
+#: fetch-pack.c:1499
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inesperado: '%s'"
 
-#: fetch-pack.c:1536
+#: fetch-pack.c:1504
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "error procesando refs deseadas: %d"
 
-#: fetch-pack.c:1566
+#: fetch-pack.c:1534
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack: se espera un paquete final de respuesta"
 
-#: fetch-pack.c:1960
+#: fetch-pack.c:1930
 msgid "no matching remote head"
 msgstr "no concuerda el head remoto"
 
-#: fetch-pack.c:1983 builtin/clone.c:693
+#: fetch-pack.c:1953 builtin/clone.c:697
 msgid "remote did not send all necessary objects"
 msgstr "remoto no mando todos los objetos necesarios"
 
-#: fetch-pack.c:2010
+#: fetch-pack.c:2056
+msgid "unexpected 'ready' from remote"
+msgstr "'listo' inesperado del remoto"
+
+#: fetch-pack.c:2079
 #, c-format
 msgid "no such remote ref %s"
 msgstr "no existe ref remota %s"
 
-#: fetch-pack.c:2013
+#: fetch-pack.c:2082
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "El servidor no permite solicitudes de objetos inadvertidos %s"
@@ -4282,7 +4310,7 @@
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "ignora color inválido '%.*s' en log.graphColors"
 
-#: grep.c:543
+#: grep.c:531
 msgid ""
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
@@ -4290,18 +4318,18 @@
 "el patrón provisto contiene bytes NULL (via -f <archivo>). Esto solo es "
 "soportado con -P bajo PCRE v2"
 
-#: grep.c:1906
+#: grep.c:1893
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': no es posible leer %s"
 
-#: grep.c:1923 setup.c:176 builtin/clone.c:412 builtin/diff.c:90
-#: builtin/rm.c:135
+#: grep.c:1910 setup.c:176 builtin/clone.c:416 builtin/diff.c:90
+#: builtin/rm.c:136
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "falló al marcar '%s'"
 
-#: grep.c:1934
+#: grep.c:1921
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s': lectura corta"
@@ -4485,7 +4513,7 @@
 "\n"
 msgstr ""
 "\n"
-"*** Por favor cuéntame quien eres.\n"
+"*** Por favor cuéntame quién eres.\n"
 "\n"
 "Corre\n"
 "\n"
@@ -4524,49 +4552,54 @@
 msgid "name consists only of disallowed characters: %s"
 msgstr "el nombre consiste solo de caracteres no permitidos: %s"
 
-#: ident.c:454 builtin/commit.c:634
+#: ident.c:454 builtin/commit.c:647
 #, c-format
 msgid "invalid date format: %s"
 msgstr "formato de fecha inválido: %s"
 
-#: list-objects-filter-options.c:81
+#: list-objects-filter-options.c:83
 msgid "expected 'tree:<depth>'"
 msgstr "se esperaba 'tree:<depth>'"
 
-#: list-objects-filter-options.c:96
+#: list-objects-filter-options.c:98
 msgid "sparse:path filters support has been dropped"
 msgstr "soporte para filtros sparse:path ha sido discontinuado"
 
-#: list-objects-filter-options.c:109
+#: list-objects-filter-options.c:105
+#, c-format
+msgid "'%s' for 'object:type=<type>' isnot a valid object type"
+msgstr "'%s' para 'object:type=<type>' no es un objeto válido"
+
+#: list-objects-filter-options.c:124
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "filtro -spec inválido '%s'"
 
-#: list-objects-filter-options.c:125
+#: list-objects-filter-options.c:140
 #, c-format
 msgid "must escape char in sub-filter-spec: '%c'"
 msgstr "tienes que escapar el caracter en sub-filter-spec: '%c'"
 
-#: list-objects-filter-options.c:167
+#: list-objects-filter-options.c:182
 msgid "expected something after combine:"
 msgstr "se espera algo luego de combine:"
 
-#: list-objects-filter-options.c:249
+#: list-objects-filter-options.c:264
 msgid "multiple filter-specs cannot be combined"
 msgstr "no se pueden combinar múltiples tipos de especificaciones de filtro"
 
-#: list-objects-filter-options.c:361
+#: list-objects-filter-options.c:376
 msgid "unable to upgrade repository format to support partial clone"
 msgstr ""
 "no es posible actualizar el formato del repositorio para soportar clonado "
 "parcial"
 
-#: list-objects-filter.c:492
+#: list-objects-filter.c:532
 #, c-format
 msgid "unable to access sparse blob in '%s'"
 msgstr "no es posible acceder al blob en '%s'"
 
-#: list-objects-filter.c:495
+#: list-objects-filter.c:535
 #, c-format
 msgid "unable to parse sparse filter data in %s"
 msgstr "incapaz de analizar filtro de data en %s"
@@ -4581,7 +4614,7 @@
 msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr "entrada '%s' en árbol %s tiene modo blob, pero no es uno"
 
-#: list-objects.c:375
+#: list-objects.c:395
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "no se puede cargar árbol raíz para commit %s"
@@ -4620,32 +4653,41 @@
 msgid "expected flush after ls-refs arguments"
 msgstr "se esperaba un flush luego de argumentos ls-refs"
 
-#: merge-ort.c:888 merge-recursive.c:1191
+#: mailinfo.c:1050
+msgid "quoted CRLF detected"
+msgstr "CRLF con comillas detectado"
+
+#: mailinfo.c:1254 builtin/am.c:176 builtin/mailinfo.c:46
+#, c-format
+msgid "bad action '%s' for '%s'"
+msgstr "mala acción '%s' para '%s'"
+
+#: merge-ort.c:1116 merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Falló al fusionar el submódulo %s (no revisado)"
 
-#: merge-ort.c:897 merge-recursive.c:1198
+#: merge-ort.c:1125 merge-recursive.c:1212
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Falló al fusionar el submódulo %s (commits no presentes)"
 
-#: merge-ort.c:906 merge-recursive.c:1205
+#: merge-ort.c:1134 merge-recursive.c:1219
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "Falló el fusionar submódulo %s (commits no siguen la fusión base)"
 
-#: merge-ort.c:916 merge-ort.c:923
+#: merge-ort.c:1144 merge-ort.c:1151
 #, c-format
 msgid "Note: Fast-forwarding submodule %s to %s"
 msgstr "Nota: Fast-forward de submódulo %s a %s"
 
-#: merge-ort.c:944
+#: merge-ort.c:1172
 #, c-format
 msgid "Failed to merge submodule %s"
 msgstr "falló al fusionar el submódulo %s"
 
-#: merge-ort.c:951
+#: merge-ort.c:1179
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but a possible merge resolution exists:\n"
@@ -4655,7 +4697,7 @@
 "fusión:\n"
 "%s\n"
 
-#: merge-ort.c:955 merge-recursive.c:1259
+#: merge-ort.c:1183 merge-recursive.c:1273
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4672,7 +4714,7 @@
 "\n"
 "el cual aceptará esta sugerencia.\n"
 
-#: merge-ort.c:968
+#: merge-ort.c:1196
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but multiple possible merges exist:\n"
@@ -4681,21 +4723,21 @@
 "Falló al fusionar el submódulo %s, pero existen múltipes fusiones posibles:\n"
 "%s"
 
-#: merge-ort.c:1127 merge-recursive.c:1341
+#: merge-ort.c:1415 merge-recursive.c:1362
 msgid "Failed to execute internal merge"
 msgstr "Falló al ejecutar la fusión interna"
 
-#: merge-ort.c:1132 merge-recursive.c:1346
+#: merge-ort.c:1420 merge-recursive.c:1367
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "No es posible agregar %s a la base de datos"
 
-#: merge-ort.c:1139 merge-recursive.c:1378
+#: merge-ort.c:1427 merge-recursive.c:1400
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Auto-fusionando %s"
 
-#: merge-ort.c:1278 merge-recursive.c:2100
+#: merge-ort.c:1566 merge-recursive.c:2122
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4705,7 +4747,7 @@
 "existente en %s se interpone con el cambio de nombres implícito, poniendo "
 "la(s) siguiente(s) ruta(s) aquí: %s."
 
-#: merge-ort.c:1288 merge-recursive.c:2110
+#: merge-ort.c:1576 merge-recursive.c:2132
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4714,7 +4756,7 @@
 "CONFLICTO (cambio de nombre implícito): No se puede mapear más de una ruta "
 "para %s; cambio de nombre implícito intentó poner estas rutas: %s"
 
-#: merge-ort.c:1471
+#: merge-ort.c:1634
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to rename %s to; it was "
@@ -4725,7 +4767,7 @@
 "cambiar el nombre de %s; se le cambió el nombre a varios otros directorios, "
 "sin que ningún destino obtenga la mayoría de los archivos."
 
-#: merge-ort.c:1637 merge-recursive.c:2447
+#: merge-ort.c:1788 merge-recursive.c:2468
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -4734,7 +4776,7 @@
 "PELIGRO: Evitando aplicar %s -> %s renombrado a %s, porque %s mismo fue "
 "renombrado."
 
-#: merge-ort.c:1781 merge-recursive.c:3215
+#: merge-ort.c:1932 merge-recursive.c:3244
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4743,7 +4785,7 @@
 "Path actualizado: %s agregado en %s dentro de un directorio que fue "
 "renombrado en %s; moviéndolo a %s."
 
-#: merge-ort.c:1788 merge-recursive.c:3222
+#: merge-ort.c:1939 merge-recursive.c:3251
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4752,7 +4794,7 @@
 "Path actualizado: %s renombrado a %s en %s, dentro de un directorio que fue "
 "renombrado en %s; moviéndolo a %s."
 
-#: merge-ort.c:1801 merge-recursive.c:3218
+#: merge-ort.c:1952 merge-recursive.c:3247
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4761,7 +4803,7 @@
 "CONFLICTO (ubicación de archivo): %s agregado en %s dentro de un directorio "
 "que fue renombrado en %s, sugerimos que debería ser movido a %s."
 
-#: merge-ort.c:1809 merge-recursive.c:3225
+#: merge-ort.c:1960 merge-recursive.c:3254
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4771,13 +4813,13 @@
 "directorio que fue renombrado en %s, sugiriendo que tal vez debería ser "
 "movido a %s."
 
-#: merge-ort.c:1952
+#: merge-ort.c:2103
 #, c-format
 msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
 msgstr ""
 "CONFLICTO (renombrar / renombrar): %s renombrado a %s en %s y %s en %s."
 
-#: merge-ort.c:2047
+#: merge-ort.c:2198
 #, c-format
 msgid ""
 "CONFLICT (rename involved in collision): rename of %s -> %s has content "
@@ -4788,14 +4830,24 @@
 ">%s tiene conflictos de contenido Y colisiona con otra ruta; esto puede "
 "resultar en marcadores de conflicto anidados."
 
-#: merge-ort.c:2066 merge-ort.c:2090
+#: merge-ort.c:2217 merge-ort.c:2241
 #, c-format
 msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
 msgstr ""
 "CONFLICTO (renombrar / eliminar): %s renombrado a %s en %s, pero eliminado "
 "en %s."
 
-#: merge-ort.c:2735
+#: merge-ort.c:2550 merge-recursive.c:3002
+#, c-format
+msgid "cannot read object %s"
+msgstr "no se pudo leer el objeto %s"
+
+#: merge-ort.c:2553 merge-recursive.c:3005
+#, c-format
+msgid "object %s is not a blob"
+msgstr "objeto %s no es un blob"
+
+#: merge-ort.c:2981
 #, c-format
 msgid ""
 "CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
@@ -4804,41 +4856,44 @@
 "CONFLICTO (archivo / directorio): directorio en el camino de%s de%s; "
 "moviéndolo a%s en su lugar."
 
-#: merge-ort.c:2808
+#: merge-ort.c:3055
 #, c-format
 msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed %s "
+"CONFLICT (distinct types): %s had different types on each side; renamed both "
 "of them so each can be recorded somewhere."
 msgstr ""
 "CONFLICTO (tipos distintos):%s tenía tipos diferentes en cada lado; "
-"renombrado%s de ellos para que cada uno pueda ser grabado en algún lugar."
+"renombrado ambos para que cada uno pueda ser grabado en algún lugar "
+"diferente."
 
-#: merge-ort.c:2812
-msgid "both"
-msgstr "ambos"
+#: merge-ort.c:3062
+#, c-format
+msgid ""
+"CONFLICT (distinct types): %s had different types on each side; renamed one "
+"of them so each can be recorded somewhere."
+msgstr ""
+"CONFLICTO (tipos distintos):%s tenía tipos diferentes en cada lado; "
+"renombrado uno de ellos para que cada uno pueda ser grabado en algún lugar "
+"diferente."
 
-#: merge-ort.c:2812
-msgid "one"
-msgstr "uno"
-
-#: merge-ort.c:2907 merge-recursive.c:3052
+#: merge-ort.c:3162 merge-recursive.c:3081
 msgid "content"
 msgstr "contenido"
 
-#: merge-ort.c:2909 merge-recursive.c:3056
+#: merge-ort.c:3164 merge-recursive.c:3085
 msgid "add/add"
 msgstr "agregar/agregar"
 
-#: merge-ort.c:2911 merge-recursive.c:3101
+#: merge-ort.c:3166 merge-recursive.c:3130
 msgid "submodule"
 msgstr "submódulo"
 
-#: merge-ort.c:2913 merge-recursive.c:3102
+#: merge-ort.c:3168 merge-recursive.c:3131
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLICTO (%s): Conflicto de fusión en %s"
 
-#: merge-ort.c:2938
+#: merge-ort.c:3198
 #, c-format
 msgid ""
 "CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
@@ -4847,16 +4902,25 @@
 "CONFLICTO (modificar / eliminar): %s eliminado en %s y modificado en %s. "
 "Versión %s de %s restante en el árbol."
 
+#: merge-ort.c:3433
+#, c-format
+msgid ""
+"Note: %s not up to date and in way of checking out conflicted version; old "
+"copy renamed to %s"
+msgstr ""
+"Nota: %s no está actualizado y en conflicto con la versión; la copia antigua "
+"fue renombrada a %s"
+
 #. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
 #. base, and 2-3) the trees for the two trees we're merging.
 #.
-#: merge-ort.c:3406
+#: merge-ort.c:3730
 #, c-format
 msgid "collecting merge info failed for trees %s, %s, %s"
 msgstr ""
 "La recopilación de información de fusión falló para los árboles %s, %s, %s"
 
-#: merge-ort-wrappers.c:13 merge-recursive.c:3661
+#: merge-ort-wrappers.c:13 merge-recursive.c:3699
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4866,10 +4930,9 @@
 "merge:\n"
 "  %s"
 
-#: merge-ort-wrappers.c:33 merge-recursive.c:3436
-#, c-format
-msgid "Already up to date!"
-msgstr "¡Ya está actualizado!"
+#: merge-ort-wrappers.c:33 merge-recursive.c:3465 builtin/merge.c:402
+msgid "Already up to date."
+msgstr "Ya está actualizado."
 
 #: merge-recursive.c:356
 msgid "(bad commit)\n"
@@ -4885,88 +4948,88 @@
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "add_cacheinfo falló para refrescar la ruta '%s'; abortando fusión."
 
-#: merge-recursive.c:874
+#: merge-recursive.c:876
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "falló al crear la ruta '%s'%s"
 
-#: merge-recursive.c:885
+#: merge-recursive.c:887
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Removiendo %s para hacer espacio para un subdirectorio\n"
 
-#: merge-recursive.c:899 merge-recursive.c:918
+#: merge-recursive.c:901 merge-recursive.c:920
 msgid ": perhaps a D/F conflict?"
 msgstr ": ¿tal vez un conflicto D/F?"
 
-#: merge-recursive.c:908
+#: merge-recursive.c:910
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "rehusando perder el archivo rastreado en '%s'"
 
-#: merge-recursive.c:949 builtin/cat-file.c:41
+#: merge-recursive.c:951 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "no se puede leer el objeto %s '%s'"
 
-#: merge-recursive.c:954
+#: merge-recursive.c:956
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "se esperaba blob para %s '%s'"
 
-#: merge-recursive.c:979
+#: merge-recursive.c:981
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "falló al abrir '%s': %s"
 
-#: merge-recursive.c:990
+#: merge-recursive.c:992
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "falló al crear el enlace simbólico '%s': %s"
 
-#: merge-recursive.c:995
+#: merge-recursive.c:997
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "no se que hacer con %06o %s '%s'"
 
-#: merge-recursive.c:1213 merge-recursive.c:1225
+#: merge-recursive.c:1227 merge-recursive.c:1239
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Haciendo fast-forward a submódulo %s para el siguiente commit:"
 
-#: merge-recursive.c:1216 merge-recursive.c:1228
+#: merge-recursive.c:1230 merge-recursive.c:1242
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rápido en submódulo %s"
 
-#: merge-recursive.c:1251
+#: merge-recursive.c:1265
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Falló al fusionar submódulo %s (los siguentes commits no fueron encontrados)"
 
-#: merge-recursive.c:1255
+#: merge-recursive.c:1269
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Falló al fusionar el submódulo %s (no es posible avance rápido)"
 
-#: merge-recursive.c:1256
+#: merge-recursive.c:1270
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Se encontró una posible solución de fusión para el submódulo:\n"
 
-#: merge-recursive.c:1268
+#: merge-recursive.c:1282
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Falló al fusionar el submódulo %s (fusiones múltiples encontradas)"
 
-#: merge-recursive.c:1402
+#: merge-recursive.c:1424
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 "Error: Rehusando perder el archivo no rastreado en %s; escribiéndolo a %s en "
 "cambio."
 
-#: merge-recursive.c:1474
+#: merge-recursive.c:1496
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -4975,7 +5038,7 @@
 "CONFLICTO (%s/borrar): %s borrado en %s y %s en %s. Falta versión %s de %s "
 "en el árbol."
 
-#: merge-recursive.c:1479
+#: merge-recursive.c:1501
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -4984,7 +5047,7 @@
 "CONFLICTO (%s/borrar): %s borrado en %s y %s para %s en %s. Versión %s de %s "
 "permanece en el árbol."
 
-#: merge-recursive.c:1486
+#: merge-recursive.c:1508
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -4993,7 +5056,7 @@
 "CONFLICTO (%s/eliminar): %s eliminado en %s y %s en %s. Versión %s de %s "
 "dejada en el árbol, en %s."
 
-#: merge-recursive.c:1491
+#: merge-recursive.c:1513
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5002,44 +5065,44 @@
 "CONFLICTO (%s/borrar): %s borrado en %s y %s para %s en %s. Versión %s de %s "
 "permanece en el árbol en %s."
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1548
 msgid "rename"
 msgstr "renombrar"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1548
 msgid "renamed"
 msgstr "renombrado"
 
-#: merge-recursive.c:1577 merge-recursive.c:2484 merge-recursive.c:3129
+#: merge-recursive.c:1599 merge-recursive.c:2505 merge-recursive.c:3158
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Rehusando perder el archivo sucio en %s"
 
-#: merge-recursive.c:1587
+#: merge-recursive.c:1609
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr ""
 "Rehusando perder el archivo no rastreado en %s, incluso aunque se está "
 "interponiendo."
 
-#: merge-recursive.c:1645
+#: merge-recursive.c:1667
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "CONFLICTO (renombrar/agregar): Renombrar %s->%s en %s.  %s agregado en %s"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1698
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s es un directorio en %s agregando como %s más bien"
 
-#: merge-recursive.c:1681
+#: merge-recursive.c:1703
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr ""
 "Rehusando perder el archivo no rastreado en %s; agregándolo como %s en cambio"
 
-#: merge-recursive.c:1708
+#: merge-recursive.c:1730
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -5048,18 +5111,18 @@
 "CONFLICTO (renombrar/renombrar): Renombrar \"%s\"->\"%s\" en la rama \"%s\" "
 "renombrar \"%s\"->\"%s\" en \"%s\"%s"
 
-#: merge-recursive.c:1713
+#: merge-recursive.c:1735
 msgid " (left unresolved)"
 msgstr " (dejado sin resolver)"
 
-#: merge-recursive.c:1805
+#: merge-recursive.c:1827
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "CONFLICTO (renombrar/renombrar): Renombrar %s->%s en %s. Renombrar %s->%s en "
 "%s"
 
-#: merge-recursive.c:2068
+#: merge-recursive.c:2090
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -5070,7 +5133,7 @@
 "colocar %s porque el directorio %s fue renombrado a otros múltiples "
 "directorios, sin ningún que contenga la mayoría de archivos."
 
-#: merge-recursive.c:2202
+#: merge-recursive.c:2224
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -5079,91 +5142,81 @@
 "CONFLICTO (renombrar/renombrar): Renombrar directorio %s->%s en %s. "
 "Renombrar directorio %s->%s en %s"
 
-#: merge-recursive.c:2973
-#, c-format
-msgid "cannot read object %s"
-msgstr "no se pudo leer el objeto %s"
-
-#: merge-recursive.c:2976
-#, c-format
-msgid "object %s is not a blob"
-msgstr "objeto %s no es un blob"
-
-#: merge-recursive.c:3040
+#: merge-recursive.c:3069
 msgid "modify"
 msgstr "modificar"
 
-#: merge-recursive.c:3040
+#: merge-recursive.c:3069
 msgid "modified"
 msgstr "modificado"
 
-#: merge-recursive.c:3079
+#: merge-recursive.c:3108
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Saltado %s (fusionado como existente)"
 
-#: merge-recursive.c:3132
+#: merge-recursive.c:3161
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Agregando más bien como %s"
 
-#: merge-recursive.c:3339
+#: merge-recursive.c:3368
 #, c-format
 msgid "Removing %s"
 msgstr "Eliminando %s"
 
-#: merge-recursive.c:3362
+#: merge-recursive.c:3391
 msgid "file/directory"
 msgstr "archivo/directorio"
 
-#: merge-recursive.c:3367
+#: merge-recursive.c:3396
 msgid "directory/file"
 msgstr "directorio/archivo"
 
-#: merge-recursive.c:3374
+#: merge-recursive.c:3403
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "CONFLICTO (%s): Hay un directorio con el nombre %s en %s. Agregando %s como "
 "%s"
 
-#: merge-recursive.c:3383
+#: merge-recursive.c:3412
 #, c-format
 msgid "Adding %s"
 msgstr "Agregando %s"
 
-#: merge-recursive.c:3392
+#: merge-recursive.c:3421
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "CONFLICTO (add/add): Conflicto de merge en %s"
 
-#: merge-recursive.c:3445
+#: merge-recursive.c:3474
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "falló la fusión de los árboles %s y %s"
 
-#: merge-recursive.c:3539
+#: merge-recursive.c:3568
 msgid "Merging:"
 msgstr "Fusionando:"
 
-#: merge-recursive.c:3552
+#: merge-recursive.c:3581
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "se encontró %u ancestro común:"
 msgstr[1] "se encontraron %u ancestros comunes:"
 
-#: merge-recursive.c:3602
+#: merge-recursive.c:3631
 msgid "merge returned no commit"
 msgstr "la fusión no devolvió ningún commit"
 
-#: merge-recursive.c:3758
+#: merge-recursive.c:3796
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "No se pudo analizar el objeto '%s'"
 
-#: merge-recursive.c:3776 builtin/merge.c:712 builtin/merge.c:896
-#: builtin/stash.c:471
+#: merge-recursive.c:3814 builtin/merge.c:716 builtin/merge.c:900
+#: builtin/stash.c:473
 msgid "Unable to write index."
 msgstr "Incapaz de escribir el índice."
 
@@ -5171,181 +5224,200 @@
 msgid "failed to read the cache"
 msgstr "falló al leer la cache"
 
-#: merge.c:109 rerere.c:704 builtin/am.c:1883 builtin/am.c:1917
-#: builtin/checkout.c:575 builtin/checkout.c:828 builtin/clone.c:817
-#: builtin/stash.c:265
+#: merge.c:109 rerere.c:704 builtin/am.c:1931 builtin/am.c:1965
+#: builtin/checkout.c:595 builtin/checkout.c:849 builtin/clone.c:821
+#: builtin/stash.c:267
 msgid "unable to write new index file"
 msgstr "no es posible escribir el archivo índice"
 
-#: midx.c:62
+#: midx.c:74
 msgid "multi-pack-index OID fanout is of the wrong size"
 msgstr ""
 "El abanico de OID de índice de paquetes múltiples es del tamaño incorrecto"
 
-#: midx.c:93
+#: midx.c:105
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "archivo multi-pack-index %s es muy pequeño"
 
-#: midx.c:109
+#: midx.c:121
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "firma de multi-pack-index 0x%08x no concuerda con firma 0x%08x"
 
-#: midx.c:114
+#: midx.c:126
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "versión %d de multi-pack-index no reconocida"
 
-#: midx.c:119
+#: midx.c:131
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr ""
 "La versión de hash de índice de paquetes múltiples %u no coincide con la "
 "versión %u"
 
-#: midx.c:136
+#: midx.c:148
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "multi-pack-index le falta el conjunto pack-name requerido"
 
-#: midx.c:138
+#: midx.c:150
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "multi-pack-index le falta el conjunto OID fanout requerido"
 
-#: midx.c:140
+#: midx.c:152
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "multi-pack-index le falta el conjunto OID fanout requerido"
 
-#: midx.c:142
+#: midx.c:154
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "multi-pack-index le falta el conjunto de offset del objeto requerido"
 
-#: midx.c:158
+#: midx.c:170
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "multi-pack-index nombres de paquete fuera de orden:'%s' antes '%s'"
 
-#: midx.c:202
+#: midx.c:214
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "mal pack-int-id: %u (%u paquetes totales)"
 
-#: midx.c:252
+#: midx.c:264
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "multi-pack-index guarda un offset de 64-bit, pero off_t es muy pequeño"
 
-#: midx.c:467
+#: midx.c:490
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "falló al agregar packfile '%s'"
 
-#: midx.c:473
+#: midx.c:496
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "falló al abrir pack-index '%s'"
 
-#: midx.c:533
+#: midx.c:564
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "falló al ubicar objeto %d en packfile"
 
-#: midx.c:821
+#: midx.c:880 builtin/index-pack.c:1535
+msgid "cannot store reverse index file"
+msgstr "no se puede almacenar el archivo de índice inverso"
+
+#: midx.c:933
 msgid "Adding packfiles to multi-pack-index"
 msgstr "Agregando packfiles a multi-pack-index"
 
-#: midx.c:855
+#: midx.c:979
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "no se vió pack-file %s caer"
 
-#: midx.c:904
+#: midx.c:1024
+#, c-format
+msgid "unknown preferred pack: '%s'"
+msgstr "pack preferido desconocido: '%s'"
+
+#: midx.c:1029
+#, c-format
+msgid "preferred pack '%s' is expired"
+msgstr "pack de referencia '% s' ha expirado"
+
+#: midx.c:1045
 msgid "no pack files to index."
 msgstr "no hay archivos pack para indexar."
 
-#: midx.c:965
+#: midx.c:1125 builtin/clean.c:37
+#, c-format
+msgid "failed to remove %s"
+msgstr "falló al borrar %s"
+
+#: midx.c:1156
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "falló al limpiar multi-pack-index en %s"
 
-#: midx.c:1021
+#: midx.c:1214
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr ""
 "El archivo de índice de paquetes múltiples existe, pero no se pudo analizar"
 
-#: midx.c:1029
+#: midx.c:1222
 msgid "Looking for referenced packfiles"
 msgstr "Buscando por packfiles referidos"
 
-#: midx.c:1044
+#: midx.c:1237
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr ""
 "oid fanout fuera de orden: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1049
+#: midx.c:1242
 msgid "the midx contains no oid"
 msgstr "el midx no contiene oid"
 
-#: midx.c:1058
+#: midx.c:1251
 msgid "Verifying OID order in multi-pack-index"
 msgstr "Verificando orden de OID en multi-pack-index"
 
-#: midx.c:1067
+#: midx.c:1260
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "oid lookup fuera de orden: oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1087
+#: midx.c:1280
 msgid "Sorting objects by packfile"
 msgstr "Ordenando objetos por packfile"
 
-#: midx.c:1094
+#: midx.c:1287
 msgid "Verifying object offsets"
 msgstr "Verificando offsets de objetos"
 
-#: midx.c:1110
+#: midx.c:1303
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "fallo al cargar entrada pack para oid[%d] = %s"
 
-#: midx.c:1116
+#: midx.c:1309
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "falló al cargar el pack-index para packfile %s"
 
-#: midx.c:1125
+#: midx.c:1318
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "offset para objeto incorrecto oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1150
+#: midx.c:1343
 msgid "Counting referenced objects"
 msgstr "Contando objetos no referenciados"
 
-#: midx.c:1160
+#: midx.c:1353
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "Encontrando y borrando packfiles sin referencias"
 
-#: midx.c:1351
+#: midx.c:1544
 msgid "could not start pack-objects"
 msgstr "no se pudo empezar los pack-objetcts"
 
-#: midx.c:1371
+#: midx.c:1564
 msgid "could not finish pack-objects"
 msgstr "no se pudo finalizar pack-objetcts"
 
-#: name-hash.c:538
+#: name-hash.c:542
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "no es posible crear hilo lazy_dir: %s"
 
-#: name-hash.c:560
+#: name-hash.c:564
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "no es posible crear hilo lazy_name: %s"
 
-#: name-hash.c:566
+#: name-hash.c:570
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "no es posible unir hilo lazy_name: %s"
@@ -5392,260 +5464,260 @@
 msgid "Bad %s value: '%s'"
 msgstr "Valor erróneo para %s: '%s'"
 
-#: object-file.c:480
+#: object-file.c:526
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr "objeto directorio %s no existe; revisa .git/objects/info/alternates"
 
-#: object-file.c:531
+#: object-file.c:577
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "incapaz de normalizar la ruta de objeto alterno: %s"
 
-#: object-file.c:603
+#: object-file.c:649
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s: ignorando espacios de objetos alternos, anidado muy profundo"
 
-#: object-file.c:610
+#: object-file.c:656
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "incapaz de normalizar directorio de objeto: %s"
 
-#: object-file.c:653
+#: object-file.c:699
 msgid "unable to fdopen alternates lockfile"
 msgstr "no es posible hacer fdopen en lockfile alternos"
 
-#: object-file.c:671
+#: object-file.c:717
 msgid "unable to read alternates file"
 msgstr "no es posible leer archivos alternos"
 
-#: object-file.c:678
+#: object-file.c:724
 msgid "unable to move new alternates file into place"
 msgstr "no es posible mover archivos alternos en el lugar"
 
-#: object-file.c:713
+#: object-file.c:759
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "ruta '%s' no existe"
 
-#: object-file.c:734
+#: object-file.c:780
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "repositorio de referencia '%s' como un checkout vinculado no es soportado "
 "todavía."
 
-#: object-file.c:740
+#: object-file.c:786
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "repositorio de referencia '%s' no es un repositorio local."
 
-#: object-file.c:746
+#: object-file.c:792
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "repositorio de referencia '%s' es superficial (shallow)"
 
-#: object-file.c:754
+#: object-file.c:800
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "repositorio de referencia '% s' está injertado"
 
-#: object-file.c:814
+#: object-file.c:860
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "línea inválida mientras se analizaban refs alternas: %s"
 
-#: object-file.c:964
+#: object-file.c:1010
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "intentando usar mmap %<PRIuMAX> sobre límite %<PRIuMAX>"
 
-#: object-file.c:985
+#: object-file.c:1031
 msgid "mmap failed"
 msgstr "mmap falló"
 
-#: object-file.c:1149
+#: object-file.c:1195
 #, c-format
 msgid "object file %s is empty"
 msgstr "archivo de objeto %s está vacío"
 
-#: object-file.c:1284 object-file.c:2477
+#: object-file.c:1330 object-file.c:2524
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objeto perdido corrupto '%s'"
 
-#: object-file.c:1286 object-file.c:2481
+#: object-file.c:1332 object-file.c:2528
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "basura al final del objeto perdido '%s'"
 
-#: object-file.c:1328
+#: object-file.c:1374
 msgid "invalid object type"
 msgstr "tipo de objeto inválido"
 
-#: object-file.c:1412
+#: object-file.c:1458
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "no es posible desempacar header %s con --allow-unknown-type"
 
-#: object-file.c:1415
+#: object-file.c:1461
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "incapaz de desempaquetar header %s"
 
-#: object-file.c:1421
+#: object-file.c:1467
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "no es posible analizar header %s con --allow-unknown-type"
 
-#: object-file.c:1424
+#: object-file.c:1470
 #, c-format
 msgid "unable to parse %s header"
 msgstr "incapaz de analizar header %s"
 
-#: object-file.c:1651
+#: object-file.c:1697
 #, c-format
 msgid "failed to read object %s"
 msgstr "falló al leer objeto %s"
 
-#: object-file.c:1655
+#: object-file.c:1701
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "reemplazo %s no encontrado para %s"
 
-#: object-file.c:1659
+#: object-file.c:1705
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "objeto perdido %s (guardado en %s) está corrompido"
 
-#: object-file.c:1663
+#: object-file.c:1709
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "paquete de objeto %s (guardado en %s) está corrompido"
 
-#: object-file.c:1768
+#: object-file.c:1814
 #, c-format
 msgid "unable to write file %s"
 msgstr "no es posible escribir archivo %s"
 
-#: object-file.c:1775
+#: object-file.c:1821
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "no se pudo poner permisos a '%s'"
 
-#: object-file.c:1782
+#: object-file.c:1828
 msgid "file write error"
 msgstr "falló de escritura"
 
-#: object-file.c:1802
+#: object-file.c:1848
 msgid "error when closing loose object file"
 msgstr "error cerrando el archivo de objeto suelto"
 
-#: object-file.c:1867
+#: object-file.c:1913
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "permisos insuficientes para agregar un objeto a la base de datos del "
 "repositorio %s"
 
-#: object-file.c:1869
+#: object-file.c:1915
 msgid "unable to create temporary file"
 msgstr "no es posible crear un archivo temporal"
 
-#: object-file.c:1893
+#: object-file.c:1939
 msgid "unable to write loose object file"
 msgstr "no es posible escribir el archivo de objeto suelto"
 
-#: object-file.c:1899
+#: object-file.c:1945
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "no es posible desinflar el objeto nuevo %s (%d)"
 
-#: object-file.c:1903
+#: object-file.c:1949
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "deflateEnd en objeto %s falló (%d)"
 
-#: object-file.c:1907
+#: object-file.c:1953
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "confundido por fuente de data de objetos inestable para %s"
 
-#: object-file.c:1917 builtin/pack-objects.c:1097
+#: object-file.c:1963 builtin/pack-objects.c:1097
 #, c-format
 msgid "failed utime() on %s"
 msgstr "falló utime() en %s"
 
-#: object-file.c:1994
+#: object-file.c:2040
 #, c-format
 msgid "cannot read object for %s"
 msgstr "no se pudo leer el objeto para %s"
 
-#: object-file.c:2045
+#: object-file.c:2091
 msgid "corrupt commit"
 msgstr "commit corrupto"
 
-#: object-file.c:2053
+#: object-file.c:2099
 msgid "corrupt tag"
 msgstr "tag corrupto"
 
-#: object-file.c:2153
+#: object-file.c:2199
 #, c-format
 msgid "read error while indexing %s"
 msgstr "error leyendo al indexar %s"
 
-#: object-file.c:2156
+#: object-file.c:2202
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lectura corta al indexar %s"
 
-#: object-file.c:2229 object-file.c:2239
+#: object-file.c:2275 object-file.c:2285
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s: falló al insertar en la base de datos"
 
-#: object-file.c:2245
+#: object-file.c:2291
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s: tipo de archivo no soportado"
 
-#: object-file.c:2269
+#: object-file.c:2315
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s no es objeto válido"
 
-#: object-file.c:2271
+#: object-file.c:2317
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s no es un objeto '%s' válido"
 
-#: object-file.c:2298 builtin/index-pack.c:192
+#: object-file.c:2344 builtin/index-pack.c:192
 #, c-format
 msgid "unable to open %s"
 msgstr "no es posible abrir %s"
 
-#: object-file.c:2488 object-file.c:2541
+#: object-file.c:2535 object-file.c:2588
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "hash no concuerda para %s (se esperaba %s)"
 
-#: object-file.c:2512
+#: object-file.c:2559
 #, c-format
 msgid "unable to mmap %s"
 msgstr "no es posible hacer mmap a %s"
 
-#: object-file.c:2517
+#: object-file.c:2564
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "incapaz de desempaquetar header de %s"
 
-#: object-file.c:2523
+#: object-file.c:2570
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "incapaz de analizar header de %s"
 
-#: object-file.c:2534
+#: object-file.c:2581
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "no es posible desempaquetar contenidos de %s"
@@ -5679,7 +5751,7 @@
 "\n"
 "donde \"$br\" está de alguna manera vacía y una ref de 40-hex es creada. Por "
 "favor\n"
-"examina estas refs y tal vez bórralas. Silencia este mensaje \n"
+"examina estas refs y tal vez bórralas. Silencia este mensaje\n"
 "ejecutando \"git config advice.objectNameWarning false\""
 
 #: object-name.c:916
@@ -5759,71 +5831,71 @@
 msgid "object %s is a %s, not a %s"
 msgstr "objeto %s es un %s, no un %s"
 
-#: object.c:233
+#: object.c:232
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "el objeto %s tiene un id de tipo desconocido %d"
 
-#: object.c:246
+#: object.c:245
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "incapaz de analizar objeto: %s"
 
-#: object.c:266 object.c:278
+#: object.c:265 object.c:277
 #, c-format
 msgid "hash mismatch %s"
 msgstr "hash no concuerda %s"
 
-#: pack-bitmap.c:843 pack-bitmap.c:849 builtin/pack-objects.c:2226
+#: pack-bitmap.c:844 pack-bitmap.c:850 builtin/pack-objects.c:2251
 #, c-format
 msgid "unable to get size of %s"
 msgstr "no se pudo obtener el tamaño de %s"
 
-#: pack-bitmap.c:1489 builtin/rev-list.c:92
+#: pack-bitmap.c:1547 builtin/rev-list.c:92
 #, c-format
 msgid "unable to get disk usage of %s"
 msgstr "no se puede obtener el uso de disco de %s"
 
-#: pack-revindex.c:220
+#: pack-revindex.c:221
 #, c-format
 msgid "reverse-index file %s is too small"
 msgstr "El archivo de índice inverso %s es demasiado pequeño"
 
-#: pack-revindex.c:225
+#: pack-revindex.c:226
 #, c-format
 msgid "reverse-index file %s is corrupt"
 msgstr "El archivo de índice inverso %s está dañado"
 
-#: pack-revindex.c:233
+#: pack-revindex.c:234
 #, c-format
 msgid "reverse-index file %s has unknown signature"
 msgstr "El archivo de índice inverso %s tiene una firma desconocida"
 
-#: pack-revindex.c:237
+#: pack-revindex.c:238
 #, c-format
 msgid "reverse-index file %s has unsupported version %<PRIu32>"
 msgstr "archivo reverse-index %s tiene una versión no soportada %<PRIu32>"
 
-#: pack-revindex.c:242
+#: pack-revindex.c:243
 #, c-format
 msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
 msgstr "archivo reverse-index %s tiene un id de hash no soportado %<PRIu32>"
 
-#: pack-write.c:236
+#: pack-write.c:250
 msgid "cannot both write and verify reverse index"
 msgstr "no puede escribir y verificar el índice inverso"
 
-#: pack-write.c:257
+#: pack-write.c:271
 #, c-format
 msgid "could not stat: %s"
 msgstr "no se pudo estad: %s"
 
-#: pack-write.c:269
+#: pack-write.c:283
 #, c-format
 msgid "failed to make %s readable"
 msgstr "no pudo hacer %s legible"
 
-#: pack-write.c:508
+#: pack-write.c:522
 #, c-format
 msgid "could not write '%s' promisor file"
 msgstr "no se pudo escribir el archivo promisor '%s'"
@@ -5832,13 +5904,13 @@
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset antes del final del paquete (broken .idx?)"
 
-#: packfile.c:1934
+#: packfile.c:1937
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 "offset antes del comienzo del índice del paquete para %s (¿índice corrupto?)"
 
-#: packfile.c:1938
+#: packfile.c:1941
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -5904,31 +5976,31 @@
 msgid "did you mean `--%s` (with two dashes)?"
 msgstr "¿quisiste decir `--%s` (con dos guiones)?"
 
-#: parse-options.c:666 parse-options.c:971
+#: parse-options.c:668 parse-options.c:988
 #, c-format
 msgid "alias of --%s"
 msgstr "alias de --%s"
 
-#: parse-options.c:862
+#: parse-options.c:879
 #, c-format
 msgid "unknown option `%s'"
 msgstr "opción `%s' desconocida"
 
-#: parse-options.c:864
+#: parse-options.c:881
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "switch desconocido `%c'"
 
-#: parse-options.c:866
+#: parse-options.c:883
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "opción desconocida en string no ascii: `%s'"
 
-#: parse-options.c:890
+#: parse-options.c:907
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:909
+#: parse-options.c:926
 #, c-format
 msgid "usage: %s"
 msgstr "uso: %s"
@@ -5936,17 +6008,17 @@
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:915
+#: parse-options.c:932
 #, c-format
 msgid "   or: %s"
 msgstr "   o: %s"
 
-#: parse-options.c:918
+#: parse-options.c:935
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:957
+#: parse-options.c:974
 msgid "-NUM"
 msgstr "-NUM"
 
@@ -5955,30 +6027,30 @@
 msgid "Could not make %s writable by group"
 msgstr "No se pudo hacer que %s fuera escribible por el grupo"
 
-#: pathspec.c:130
+#: pathspec.c:151
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 "Carácter de escape '\\' no permitido como último carácter en el valor attr"
 
-#: pathspec.c:148
+#: pathspec.c:169
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Solo una especificación 'attr' es permitida."
 
-#: pathspec.c:151
+#: pathspec.c:172
 msgid "attr spec must not be empty"
 msgstr "especificación attr no puede estar vacía"
 
-#: pathspec.c:194
+#: pathspec.c:215
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "nombre de atributo %s inválido"
 
-#: pathspec.c:259
+#: pathspec.c:280
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "configuraciones globales de pathspec 'glob' y 'noglob' son incompatibles"
 
-#: pathspec.c:266
+#: pathspec.c:287
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -5986,51 +6058,51 @@
 "la configuración global de 'literal' para patrones de ruta es incompatible "
 "con las demás configuraciones globales de patrones de ruta"
 
-#: pathspec.c:306
+#: pathspec.c:327
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "parámetro no válido para el prefijo 'magic pathspec'"
 
-#: pathspec.c:327
+#: pathspec.c:348
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "Magic pathspec inválido '%.*s' en '%s'"
 
-#: pathspec.c:332
+#: pathspec.c:353
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Falta ')' al final del magic pathspec en '%s'"
 
-#: pathspec.c:370
+#: pathspec.c:391
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Magic pathspec '%c' no implementado en '%s'"
 
-#: pathspec.c:429
+#: pathspec.c:450
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s: 'literal' y 'glob' son incompatibles"
 
-#: pathspec.c:445
+#: pathspec.c:466
 #, c-format
 msgid "%s: '%s' is outside repository at '%s'"
 msgstr "%s: '%s' está fuera del repositorio en '%s'"
 
-#: pathspec.c:521
+#: pathspec.c:542
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s' (nemotécnico: '%c')"
 
-#: pathspec.c:531
+#: pathspec.c:552
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: magic pathspec no soportado por este comando: %s"
 
-#: pathspec.c:598
+#: pathspec.c:619
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "el patrón de ruta '%s' está detrás de un enlace simbólico"
 
-#: pathspec.c:643
+#: pathspec.c:664
 #, c-format
 msgid "line is badly quoted: %s"
 msgstr "la línea está mál citada: %s"
@@ -6051,7 +6123,7 @@
 msgid "flush packet write failed"
 msgstr "limpieza de escritura de paquetes falló"
 
-#: pkt-line.c:153 pkt-line.c:239
+#: pkt-line.c:153 pkt-line.c:265
 msgid "protocol error: impossibly long line"
 msgstr "error de protocolo: línea imposiblemente larga"
 
@@ -6059,33 +6131,34 @@
 msgid "packet write with format failed"
 msgstr "escritura de paquetes con formato falló"
 
-#: pkt-line.c:203
+#: pkt-line.c:204
 msgid "packet write failed - data exceeds max packet size"
 msgstr "fallo al escribir paquete - la data excede al tamaño máximo de paquete"
 
-#: pkt-line.c:210 pkt-line.c:217
-msgid "packet write failed"
-msgstr "escritura de paquetes falló"
+#: pkt-line.c:222
+#, c-format
+msgid "packet write failed: %s"
+msgstr "escritura de paquetes falló: %s"
 
-#: pkt-line.c:302
+#: pkt-line.c:328 pkt-line.c:329
 msgid "read error"
 msgstr "error de lectura"
 
-#: pkt-line.c:310
+#: pkt-line.c:339 pkt-line.c:340
 msgid "the remote end hung up unexpectedly"
 msgstr "el remoto se colgó de manera inesperada"
 
-#: pkt-line.c:338
+#: pkt-line.c:369 pkt-line.c:371
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "error de protocolo: mal caracter de largo de línea: %.4s"
 
-#: pkt-line.c:352 pkt-line.c:357
+#: pkt-line.c:386 pkt-line.c:388 pkt-line.c:394 pkt-line.c:396
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "error de protocolo: mal largo de línea %d"
 
-#: pkt-line.c:373 sideband.c:165
+#: pkt-line.c:413 sideband.c:165
 #, c-format
 msgid "remote error: %s"
 msgstr "error remoto: %s"
@@ -6099,7 +6172,7 @@
 msgid "unable to create threaded lstat: %s"
 msgstr "no es posible crear lstat hilado: %s"
 
-#: pretty.c:984
+#: pretty.c:988
 msgid "unable to parse --pretty format"
 msgstr "incapaz de analizar el formato --pretty"
 
@@ -6120,6 +6193,10 @@
 msgid "promisor remote name cannot begin with '/': %s"
 msgstr "nombre remoto promisor no puede comenzar con '/': %s"
 
+#: protocol-caps.c:103
+msgid "object-info: expected flush after arguments"
+msgstr "info de objeto: se espera flush tras argumentos"
+
 #: prune-packed.c:35
 msgid "Removing duplicate objects"
 msgstr "Removiendo objetos duplicados"
@@ -6132,7 +6209,7 @@
 msgid "could not read `log` output"
 msgstr "no se pudo leer output de `log`"
 
-#: range-diff.c:101 sequencer.c:5318
+#: range-diff.c:101 sequencer.c:5551
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "no se pudo analizar commit '%s'"
@@ -6164,51 +6241,51 @@
 msgid "could not parse log for '%s'"
 msgstr "no se pudo leer el log para '%s'"
 
-#: read-cache.c:682
+#: read-cache.c:708
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "no agregará alias de archivo '%s' ('%s' ya existe en el index)"
 
-#: read-cache.c:698
+#: read-cache.c:724
 msgid "cannot create an empty blob in the object database"
 msgstr "no se puede crear un blob vacío en la base de datos de objetos"
 
-#: read-cache.c:720
+#: read-cache.c:746
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 "%s: solo puede agregar archivos regulares, symbolic links o git-directories"
 
-#: read-cache.c:725
+#: read-cache.c:751
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "'%s' no tiene un commit checked out"
 
-#: read-cache.c:777
+#: read-cache.c:803
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "no es posible indexar archivo '%s'"
 
-#: read-cache.c:796
+#: read-cache.c:822
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "no es posible agregar '%s' al index"
 
-#: read-cache.c:807
+#: read-cache.c:833
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "incapaz de correr stat en '%s'"
 
-#: read-cache.c:1318
+#: read-cache.c:1356
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' parece ser un directorio y un archivo a la vez"
 
-#: read-cache.c:1532
+#: read-cache.c:1571
 msgid "Refresh index"
 msgstr "Refrescar index"
 
-#: read-cache.c:1657
+#: read-cache.c:1700
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -6217,7 +6294,7 @@
 "index.version configurado, pero el valor no es válido.\n"
 "Usando versión %i"
 
-#: read-cache.c:1667
+#: read-cache.c:1710
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -6226,139 +6303,143 @@
 "GIT_INDEX_VERSION configurado, pero el valor no es válido.\n"
 "Usando versión %i"
 
-#: read-cache.c:1723
+#: read-cache.c:1766
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "mala firma 0x%08x"
 
-#: read-cache.c:1726
+#: read-cache.c:1769
 #, c-format
 msgid "bad index version %d"
 msgstr "mala versión del índice %d"
 
-#: read-cache.c:1735
+#: read-cache.c:1778
 msgid "bad index file sha1 signature"
 msgstr "mala firma sha1 del archivo index"
 
-#: read-cache.c:1765
+#: read-cache.c:1812
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "index usa %.4s extensiones, cosa que no entendemos"
 
-#: read-cache.c:1767
+#: read-cache.c:1814
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "ignorando extensión %.4s"
 
-#: read-cache.c:1804
+#: read-cache.c:1851
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "formato de index desconocido 0x%08x"
 
-#: read-cache.c:1820
+#: read-cache.c:1867
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "campo nombre malformado en el index, cerca a ruta '%s'"
 
-#: read-cache.c:1877
+#: read-cache.c:1924
 msgid "unordered stage entries in index"
 msgstr "entradas en stage desordenadas en index"
 
-#: read-cache.c:1880
+#: read-cache.c:1927
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "múltiples entradas extrañas para archivo fusionado '%s'"
 
-#: read-cache.c:1883
+#: read-cache.c:1930
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "entradas de stage desordenadas para '%s'"
 
-#: read-cache.c:1989 read-cache.c:2280 rerere.c:549 rerere.c:583 rerere.c:1095
-#: submodule.c:1634 builtin/add.c:546 builtin/check-ignore.c:181
-#: builtin/checkout.c:504 builtin/checkout.c:690 builtin/clean.c:991
-#: builtin/commit.c:364 builtin/diff-tree.c:122 builtin/grep.c:505
-#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
+#: read-cache.c:2036 read-cache.c:2333 rerere.c:549 rerere.c:583 rerere.c:1095
+#: submodule.c:1635 builtin/add.c:575 builtin/check-ignore.c:183
+#: builtin/checkout.c:522 builtin/checkout.c:711 builtin/clean.c:991
+#: builtin/commit.c:377 builtin/diff-tree.c:122 builtin/grep.c:505
+#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:291
 #: builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "archivo índice corrompido"
 
-#: read-cache.c:2133
+#: read-cache.c:2180
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "no es posible crear hilo load_cache_entries: %s"
 
-#: read-cache.c:2146
+#: read-cache.c:2193
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "no es posible unir hilo load_cache_entires: %s"
 
-#: read-cache.c:2179
+#: read-cache.c:2226
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s: falló al abrir el archivo index"
 
-#: read-cache.c:2183
+#: read-cache.c:2230
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s: no se puede hacer stat del index abierto"
 
-#: read-cache.c:2187
+#: read-cache.c:2234
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s: archivo index más pequeño de lo esperado"
 
-#: read-cache.c:2191
+#: read-cache.c:2238
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s: no se pudo mapear el archivo index"
 
-#: read-cache.c:2233
+#: read-cache.c:2280
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "no es posible crear hilo load_index_extensions: %s"
 
-#: read-cache.c:2260
+#: read-cache.c:2307
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "no es posible unir hilo load_index_extensions: %s"
 
-#: read-cache.c:2292
+#: read-cache.c:2345
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "no se pudo refrescar el index compartido '%s'"
 
-#: read-cache.c:2339
+#: read-cache.c:2392
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "index roto, se esperaba %s en %s, se obtuvo %s"
 
-#: read-cache.c:3035 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1141
+#: read-cache.c:3095 strbuf.c:1173 wrapper.c:633 builtin/merge.c:1145
 #, c-format
 msgid "could not close '%s'"
 msgstr "no se pudo cerrar '%s'"
 
-#: read-cache.c:3138 sequencer.c:2487 sequencer.c:4239
+#: read-cache.c:3138
+msgid "failed to convert to a sparse-index"
+msgstr "falló al convertir a un índice sparse"
+
+#: read-cache.c:3209 sequencer.c:2684 sequencer.c:4441
 #, c-format
 msgid "could not stat '%s'"
 msgstr "no se pudo definir '%s'"
 
-#: read-cache.c:3151
+#: read-cache.c:3222
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "no es posible abrir el directorio de git: %s"
 
-#: read-cache.c:3163
+#: read-cache.c:3234
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "no es posible eliminar el vinculo: %s"
 
-#: read-cache.c:3188
+#: read-cache.c:3263
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "no se pudo arreglar bits de permisos en '%s'"
 
-#: read-cache.c:3337
+#: read-cache.c:3412
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s: no se puede eliminar a stage #0"
@@ -6388,7 +6469,10 @@
 "r, reword <commit> = use commit, but edit the commit message\n"
 "e, edit <commit> = use commit, but stop for amending\n"
 "s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
+"                   commit's log message, unless -C is used, in which case\n"
+"                   keep only this commit's message; -c is same as -C but\n"
+"                   opens the editor\n"
 "x, exec <command> = run command (the rest of the line) using shell\n"
 "b, break = stop here (continue rebase later with 'git rebase --continue')\n"
 "d, drop <commit> = remove commit\n"
@@ -6397,7 +6481,7 @@
 "m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
 ".       create a merge commit using the original merge commit's\n"
 ".       message (or the oneline, if no original merge commit was\n"
-".       specified). Use -c <commit> to reword the commit message.\n"
+".       specified); use -c <commit> to reword the commit message\n"
 "\n"
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
@@ -6409,11 +6493,14 @@
 "s, squash <commit> = usar commit, pero fusionarlo en el commit previo\n"
 "f, fixup <commit> = como \"squash\", pero descarta el mensaje del log de "
 "este commit\n"
+"\t, a menos que se use -C, en cuyo caso\n"
+"\tmantiene solo el mensaje del commit; -c es lo mismo que -C\n"
+"\tpero abre el editor\n"
 "x, exec <commit> = ejecuta comando ( el resto de la línea) usando un shell\n"
 "b, break = parar aquí (continuar rebase luego con 'git rebase --continue')\n"
 "d, drop <commit> = eliminar commit\n"
 "l, label <label> = poner label al HEAD actual con un nombre\n"
-"t, reset <label> = reiniciar HEAD a el label\n"
+"t, reset <label> = reiniciar HEAD al label\n"
 "m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
 ".       crea un commit de fusión usando el mensaje original de\n"
 ".       fusión (o la línea de oneline, si no se especifica un mensaje\n"
@@ -6422,22 +6509,22 @@
 "Estas líneas pueden ser reordenadas; son ejecutadas desde arriba hacia "
 "abajo.\n"
 
-#: rebase-interactive.c:63
+#: rebase-interactive.c:66
 #, c-format
 msgid "Rebase %s onto %s (%d command)"
 msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] "Rebase %s en %s (%d comando)"
 msgstr[1] "Rebase %s en %s (%d comandos)"
 
-#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
+#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:218
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
 msgstr ""
 "\n"
-"No eliminar ninguna línea. Usa 'drop' explícitamente para borrar un commit \n"
+"No eliminar ninguna línea. Usa 'drop' explícitamente para borrar un commit\n"
 
-#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
+#: rebase-interactive.c:78 git-rebase--preserve-merges.sh:222
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -6445,7 +6532,7 @@
 "\n"
 "Si eliminas una línea aquí EL COMMIT SE PERDERÁ.\n"
 
-#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
+#: rebase-interactive.c:84 git-rebase--preserve-merges.sh:861
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -6459,7 +6546,7 @@
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
+#: rebase-interactive.c:89 git-rebase--preserve-merges.sh:938
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -6469,19 +6556,19 @@
 "Como sea, si quieres borrar todo, el rebase será abortado.\n"
 "\n"
 
-#: rebase-interactive.c:110 rerere.c:469 rerere.c:676 sequencer.c:3615
-#: sequencer.c:3641 sequencer.c:5424 builtin/fsck.c:329 builtin/rebase.c:272
+#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3816
+#: sequencer.c:3842 sequencer.c:5657 builtin/fsck.c:327 builtin/rebase.c:271
 #, c-format
 msgid "could not write '%s'"
 msgstr "no se pudo escribir '%s'"
 
-#: rebase-interactive.c:116 builtin/rebase.c:204 builtin/rebase.c:230
-#: builtin/rebase.c:254
+#: rebase-interactive.c:119 builtin/rebase.c:203 builtin/rebase.c:229
+#: builtin/rebase.c:253
 #, c-format
 msgid "could not write '%s'."
 msgstr "no se pudo escribir '%s'."
 
-#: rebase-interactive.c:193
+#: rebase-interactive.c:196
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -6490,7 +6577,7 @@
 "Peligro: algunos commits pueden haber sido botados de forma accidental.\n"
 "Commits botados (empezando con el más nuevo):\n"
 
-#: rebase-interactive.c:200
+#: rebase-interactive.c:203
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -6508,14 +6595,14 @@
 "Los posibles comportamientos son: ignore,warn,error.\n"
 "\n"
 
-#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2402
-#: builtin/rebase.c:190 builtin/rebase.c:215 builtin/rebase.c:241
-#: builtin/rebase.c:266
+#: rebase-interactive.c:236 rebase-interactive.c:241 sequencer.c:2597
+#: builtin/rebase.c:189 builtin/rebase.c:214 builtin/rebase.c:240
+#: builtin/rebase.c:265
 #, c-format
 msgid "could not read '%s'."
 msgstr "no se puede leer '%s'."
 
-#: ref-filter.c:42 wt-status.c:1975
+#: ref-filter.c:42 wt-status.c:1978
 msgid "gone"
 msgstr "desaparecido"
 
@@ -6671,111 +6758,111 @@
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "formato: átomo %%(if) usado sin un átomo %%(then)"
 
-#: ref-filter.c:806
+#: ref-filter.c:807
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "formato: átomo %%(then) usado sin átomo %%(if)"
 
-#: ref-filter.c:808
+#: ref-filter.c:809
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "formato: átomo %%(then) usado más de una vez"
 
-#: ref-filter.c:810
+#: ref-filter.c:811
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "formato: átomo %%(then) usado después de %%(else)"
 
-#: ref-filter.c:838
+#: ref-filter.c:839
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "formato: átomo %%(else) usado sin un átomo %%(if)"
 
-#: ref-filter.c:840
+#: ref-filter.c:841
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "formato: átomo %%(else) usado sin un átomo %%(then)"
 
-#: ref-filter.c:842
+#: ref-filter.c:843
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "formato: átomo %%(else) usado más de una vez"
 
-#: ref-filter.c:857
+#: ref-filter.c:858
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "formato: átomo %%(end) usado sin átomo correspondiente"
 
-#: ref-filter.c:914
+#: ref-filter.c:915
 #, c-format
 msgid "malformed format string %s"
 msgstr "formato de cadena mal formado %s"
 
-#: ref-filter.c:1555
+#: ref-filter.c:1556
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(no hay rama, rebasando %s)"
 
-#: ref-filter.c:1558
+#: ref-filter.c:1559
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(no una rama, rebasando con HEAD desacoplado %s)"
 
-#: ref-filter.c:1561
+#: ref-filter.c:1562
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(no hay rama, comenzando biseccón en %s)"
 
-#: ref-filter.c:1565
+#: ref-filter.c:1566
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD desacoplado en %s)"
 
-#: ref-filter.c:1568
+#: ref-filter.c:1569
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD desacoplado de %s)"
 
-#: ref-filter.c:1571
+#: ref-filter.c:1572
 msgid "(no branch)"
 msgstr "(sin rama)"
 
-#: ref-filter.c:1603 ref-filter.c:1812
+#: ref-filter.c:1604 ref-filter.c:1813
 #, c-format
 msgid "missing object %s for %s"
 msgstr "falta objeto %s para %s"
 
-#: ref-filter.c:1613
+#: ref-filter.c:1614
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer falló en %s para %s"
 
-#: ref-filter.c:1996
+#: ref-filter.c:1997
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objeto mal formado en '%s'"
 
-#: ref-filter.c:2085
+#: ref-filter.c:2086
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "ignorando referencia con nombre roto %s"
 
-#: ref-filter.c:2090 refs.c:676
+#: ref-filter.c:2091 refs.c:676
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "ignorando referencia rota %s"
 
-#: ref-filter.c:2430
+#: ref-filter.c:2431
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "formato: falta átomo %%(end)"
 
-#: ref-filter.c:2529
+#: ref-filter.c:2525
 #, c-format
 msgid "malformed object name %s"
 msgstr "nombre de objeto mal formado %s"
 
-#: ref-filter.c:2534
+#: ref-filter.c:2530
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "opción '%s' debe apuntar a un commit"
@@ -7237,8 +7324,8 @@
 msgid "Recorded preimage for '%s'"
 msgstr "Resolución precargada para '%s'"
 
-#: rerere.c:865 submodule.c:2088 builtin/log.c:1991
-#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
+#: rerere.c:865 submodule.c:2089 builtin/log.c:2000
+#: builtin/submodule--helper.c:1879 builtin/submodule--helper.c:1891
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "no se pudo crear el directorio '%s'"
@@ -7276,25 +7363,25 @@
 msgid "could not determine HEAD revision"
 msgstr "no se pudo determinar revisión HEAD"
 
-#: reset.c:70 reset.c:76 sequencer.c:3468
+#: reset.c:70 reset.c:76 sequencer.c:3669
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "falló al encontrar árbol de %s"
 
-#: revision.c:2338
+#: revision.c:2343
 msgid "--unpacked=<packfile> no longer supported"
 msgstr "--unpacked=<packfile>  ya no es soportado"
 
-#: revision.c:2668
+#: revision.c:2683
 msgid "your current branch appears to be broken"
 msgstr "tu rama actual parece estar rota"
 
-#: revision.c:2671
+#: revision.c:2686
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "tu rama actual '%s' no tiene ningún commit todavía"
 
-#: revision.c:2877
+#: revision.c:2892
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L no soporta todavía formatos de diff fuera de -p y -s"
 
@@ -7302,12 +7389,12 @@
 msgid "open /dev/null failed"
 msgstr "falló al abrir /dev/null"
 
-#: run-command.c:1274
+#: run-command.c:1275
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "no es posible crear hilo async: %s"
 
-#: run-command.c:1338
+#: run-command.c:1345
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -7317,34 +7404,43 @@
 "Puedes desactivar esta advertencias con `git config advice.ignoredHook "
 "false`."
 
-#: send-pack.c:146
+#: send-pack.c:150
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 "flush packet inesperado mientras se leía estatus de desempaquetado remoto"
 
-#: send-pack.c:148
+#: send-pack.c:152
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "no es posible analizar el estado de desempaquetado remoto: %s"
 
-#: send-pack.c:150
+#: send-pack.c:154
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "desempaquetado remoto falló: %s"
 
-#: send-pack.c:374
+#: send-pack.c:378
 msgid "failed to sign the push certificate"
 msgstr "falló al firmar el certificado de push"
 
-#: send-pack.c:467
+#: send-pack.c:433
+msgid "send-pack: unable to fork off fetch subprocess"
+msgstr ""
+"send-pack: no es posible bifurcar el proceso de búsqueda en un subproceso"
+
+#: send-pack.c:455
+msgid "push negotiation failed; proceeding anyway with push"
+msgstr "negociación push falló; procediendo con el push de todas formas"
+
+#: send-pack.c:520
 msgid "the receiving end does not support this repository's hash algorithm"
 msgstr "el destino no soporta el algoritmo de hash de este repositorio"
 
-#: send-pack.c:476
+#: send-pack.c:529
 msgid "the receiving end does not support --signed push"
 msgstr "el final receptor no soporta --signed push"
 
-#: send-pack.c:478
+#: send-pack.c:531
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -7352,47 +7448,47 @@
 "no se manda un certificado de push ya que el destino no soporta push firmado "
 "(--signed )"
 
-#: send-pack.c:490
+#: send-pack.c:543
 msgid "the receiving end does not support --atomic push"
 msgstr "el destino no soporta push atómicos (--atomic)"
 
-#: send-pack.c:495
+#: send-pack.c:548
 msgid "the receiving end does not support push options"
 msgstr "el destino no soporta opciones de push"
 
-#: sequencer.c:195
+#: sequencer.c:196
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "mensaje de commit inválido, modo cleanup '%s'"
 
-#: sequencer.c:323
+#: sequencer.c:324
 #, c-format
 msgid "could not delete '%s'"
 msgstr "no se pudo borrar '%s'"
 
-#: sequencer.c:343 builtin/rebase.c:757 builtin/rebase.c:1602 builtin/rm.c:385
+#: sequencer.c:344 builtin/rebase.c:757 builtin/rebase.c:1592 builtin/rm.c:402
 #, c-format
 msgid "could not remove '%s'"
 msgstr "no se pudo eliminar'%s'"
 
-#: sequencer.c:353
+#: sequencer.c:354
 msgid "revert"
 msgstr "revertir"
 
-#: sequencer.c:355
+#: sequencer.c:356
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:357
+#: sequencer.c:358
 msgid "rebase"
 msgstr "rebase"
 
-#: sequencer.c:359
+#: sequencer.c:360
 #, c-format
 msgid "unknown action: %d"
 msgstr "acción desconocida: %d"
 
-#: sequencer.c:418
+#: sequencer.c:419
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -7400,7 +7496,7 @@
 "después de resolver los conflictos, marca las rutas corregidas\n"
 "con 'git add <rutas>' o 'git rm <rutas>'"
 
-#: sequencer.c:421
+#: sequencer.c:422
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -7410,43 +7506,43 @@
 "con 'git add <rutas>' o 'git rm <rutas>'\n"
 "y haz un commit del resultado con 'git commit'"
 
-#: sequencer.c:434 sequencer.c:3070
+#: sequencer.c:435 sequencer.c:3271
 #, c-format
 msgid "could not lock '%s'"
 msgstr "no se pudo bloquear '%s'"
 
-#: sequencer.c:436 sequencer.c:2869 sequencer.c:3074 sequencer.c:3088
-#: sequencer.c:3345 sequencer.c:5334 strbuf.c:1168 wrapper.c:631
+#: sequencer.c:437 sequencer.c:3070 sequencer.c:3275 sequencer.c:3289
+#: sequencer.c:3546 sequencer.c:5567 strbuf.c:1170 wrapper.c:631
 #, c-format
 msgid "could not write to '%s'"
 msgstr "no se pudo escribir en '%s'"
 
-#: sequencer.c:441
+#: sequencer.c:442
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "no se pudo escribir EOL en '%s'"
 
-#: sequencer.c:446 sequencer.c:2874 sequencer.c:3076 sequencer.c:3090
-#: sequencer.c:3353
+#: sequencer.c:447 sequencer.c:3075 sequencer.c:3277 sequencer.c:3291
+#: sequencer.c:3554
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "falló al finalizar '%s'"
 
-#: sequencer.c:485
+#: sequencer.c:486
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "tus cambios locales serán sobreescritos por %s."
 
-#: sequencer.c:489
+#: sequencer.c:490
 msgid "commit your changes or stash them to proceed."
 msgstr "realiza un commit con tus cambios o aplica un stash para proceder."
 
-#: sequencer.c:521
+#: sequencer.c:522
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: avance rápido"
 
-#: sequencer.c:560 builtin/tag.c:598
+#: sequencer.c:561 builtin/tag.c:609
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Modo cleanup inválido %s"
@@ -7454,65 +7550,65 @@
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase".
 #.
-#: sequencer.c:670
+#: sequencer.c:671
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Incapaz de escribir el nuevo archivo índice"
 
-#: sequencer.c:684
+#: sequencer.c:685
 msgid "unable to update cache tree"
 msgstr "no es posible actualizar el árbol de la caché"
 
-#: sequencer.c:698
+#: sequencer.c:699
 msgid "could not resolve HEAD commit"
 msgstr "no se pudo resolver el commit de HEAD"
 
-#: sequencer.c:778
+#: sequencer.c:779
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "no hay llave presente en '%.*s'"
 
-#: sequencer.c:789
+#: sequencer.c:790
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "no es posible dequote para '%s'"
 
-#: sequencer.c:826 wrapper.c:201 wrapper.c:371 builtin/am.c:710
-#: builtin/am.c:802 builtin/merge.c:1136 builtin/rebase.c:910
+#: sequencer.c:827 wrapper.c:201 wrapper.c:371 builtin/am.c:728
+#: builtin/am.c:820 builtin/merge.c:1140 builtin/rebase.c:910
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "no se pudo abrir '%s' para lectura"
 
-#: sequencer.c:836
+#: sequencer.c:837
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' ya proporcionado"
 
-#: sequencer.c:841
+#: sequencer.c:842
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' ya proporcionado"
 
-#: sequencer.c:846
+#: sequencer.c:847
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' ya proporcionado"
 
-#: sequencer.c:850
+#: sequencer.c:851
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "variable desconocida '%s'"
 
-#: sequencer.c:855
+#: sequencer.c:856
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "falta 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:857
+#: sequencer.c:858
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "falta 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:859
+#: sequencer.c:860
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "falta 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:924
+#: sequencer.c:925
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -7542,11 +7638,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:1211
+#: sequencer.c:1212
 msgid "'prepare-commit-msg' hook failed"
 msgstr "hook 'prepare-commit-msg' falló"
 
-#: sequencer.c:1217
+#: sequencer.c:1218
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7563,7 +7659,7 @@
 "Tu nombre y correo fueron configurados automáticamente basados\n"
 "en tu usuario y nombre de host. Por favor verifica que son correctos.\n"
 "Tu puedes suprimir este mensaje configurándolos de forma explicita. Ejecuta "
-"el \n"
+"el\n"
 "siguiente comando y sigue las instrucciones de tu editor\n"
 " para modificar tu archivo de configuración:\n"
 "\n"
@@ -7573,7 +7669,7 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1230
+#: sequencer.c:1231
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7588,7 +7684,7 @@
 msgstr ""
 "Tu nombre y correo fueron configurados automáticamente basados\n"
 "en tu usuario y nombre de host. Por favor verifica que son correctos.\n"
-"Tu puedes suprimir este mensaje configurándolos de forma explicita: \n"
+"Tu puedes suprimir este mensaje configurándolos de forma explicita:\n"
 "\n"
 "    git config --global user.name \"Tu nombre\"\n"
 "    git config --global user.email you@example.com\n"
@@ -7597,338 +7693,342 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1272
+#: sequencer.c:1273
 msgid "couldn't look up newly created commit"
 msgstr "no se pudo revisar el commit recién creado"
 
-#: sequencer.c:1274
+#: sequencer.c:1275
 msgid "could not parse newly created commit"
 msgstr "no se pudo analizar el commit recién creado"
 
-#: sequencer.c:1320
+#: sequencer.c:1321
 msgid "unable to resolve HEAD after creating commit"
 msgstr "no se pudo resolver HEAD tras crear el commit"
 
-#: sequencer.c:1322
+#: sequencer.c:1323
 msgid "detached HEAD"
 msgstr "HEAD desacoplado"
 
-#: sequencer.c:1326
+#: sequencer.c:1327
 msgid " (root-commit)"
 msgstr " (commit-raíz)"
 
-#: sequencer.c:1347
+#: sequencer.c:1348
 msgid "could not parse HEAD"
 msgstr "no se pudo analizar HEAD"
 
-#: sequencer.c:1349
+#: sequencer.c:1350
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "¡HEAD %s no es un commit!"
 
-#: sequencer.c:1353 sequencer.c:1431 builtin/commit.c:1577
+#: sequencer.c:1354 sequencer.c:1432 builtin/commit.c:1692
 msgid "could not parse HEAD commit"
 msgstr "no se pudo analizar el commit de HEAD"
 
-#: sequencer.c:1409 sequencer.c:2108
+#: sequencer.c:1410 sequencer.c:2295
 msgid "unable to parse commit author"
 msgstr "no es posible analizar el autor del commit"
 
-#: sequencer.c:1420 builtin/am.c:1566 builtin/merge.c:702
+#: sequencer.c:1421 builtin/am.c:1614 builtin/merge.c:706
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree falló al escribir el árbol"
 
-#: sequencer.c:1453 sequencer.c:1573
+#: sequencer.c:1454 sequencer.c:1574
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "no se puede leer el mensaje del commit de '%s'"
 
-#: sequencer.c:1484 sequencer.c:1516
+#: sequencer.c:1485 sequencer.c:1517
 #, c-format
 msgid "invalid author identity '%s'"
 msgstr "identidad de autor inválida '%s'"
 
-#: sequencer.c:1490
+#: sequencer.c:1491
 msgid "corrupt author: missing date information"
 msgstr "autor corrupto: falta información"
 
-#: sequencer.c:1529 builtin/am.c:1593 builtin/commit.c:1678 builtin/merge.c:905
-#: builtin/merge.c:930 t/helper/test-fast-rebase.c:78
+#: sequencer.c:1530 builtin/am.c:1641 builtin/commit.c:1806 builtin/merge.c:909
+#: builtin/merge.c:934 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "falló al escribir el objeto commit"
 
-#: sequencer.c:1556 sequencer.c:4291 t/helper/test-fast-rebase.c:198
+#: sequencer.c:1557 sequencer.c:4493 t/helper/test-fast-rebase.c:198
 #, c-format
 msgid "could not update %s"
 msgstr "no se puede actualizar %s"
 
-#: sequencer.c:1605
+#: sequencer.c:1606
 #, c-format
 msgid "could not parse commit %s"
 msgstr "no se pudo analizar commit %s"
 
-#: sequencer.c:1610
+#: sequencer.c:1611
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "no se pudo analizar el commit padre %s"
 
-#: sequencer.c:1693 sequencer.c:1804
+#: sequencer.c:1694 sequencer.c:1975
 #, c-format
 msgid "unknown command: %d"
 msgstr "comando desconocido: %d"
 
-#: sequencer.c:1751 sequencer.c:1776
-#, c-format
-msgid "This is a combination of %d commits."
-msgstr "Esta es una combinación de %d commits."
-
-#: sequencer.c:1761
-msgid "need a HEAD to fixup"
-msgstr "se necesita un HEAD para arreglar"
-
-#: sequencer.c:1763 sequencer.c:3380
-msgid "could not read HEAD"
-msgstr "no se pudo leer HEAD"
-
-#: sequencer.c:1765
-msgid "could not read HEAD's commit message"
-msgstr "no se pudo leer el mensaje de commit de HEAD"
-
-#: sequencer.c:1771
-#, c-format
-msgid "cannot write '%s'"
-msgstr "no se puede escribir '%s'"
-
-#: sequencer.c:1778 git-rebase--preserve-merges.sh:486
+#: sequencer.c:1736 git-rebase--preserve-merges.sh:486
 msgid "This is the 1st commit message:"
 msgstr "Este es el mensaje del 1er commit:"
 
-#: sequencer.c:1786
-#, c-format
-msgid "could not read commit message of %s"
-msgstr "no se puede leer el mensaje del commit de %s"
-
-#: sequencer.c:1793
+#: sequencer.c:1737
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Este es el mensaje del commit #%d:"
 
-#: sequencer.c:1799
+#: sequencer.c:1738
+msgid "The 1st commit message will be skipped:"
+msgstr "El mensaje del 1er commit será saltado:"
+
+#: sequencer.c:1739
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "El mensaje del commit #%d será saltado:"
 
-#: sequencer.c:1887
+#: sequencer.c:1740
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "Esta es una combinación de %d commits."
+
+#: sequencer.c:1887 sequencer.c:1944
+#, c-format
+msgid "cannot write '%s'"
+msgstr "no se puede escribir '%s'"
+
+#: sequencer.c:1934
+msgid "need a HEAD to fixup"
+msgstr "se necesita un HEAD para arreglar"
+
+#: sequencer.c:1936 sequencer.c:3581
+msgid "could not read HEAD"
+msgstr "no se pudo leer HEAD"
+
+#: sequencer.c:1938
+msgid "could not read HEAD's commit message"
+msgstr "no se pudo leer el mensaje de commit de HEAD"
+
+#: sequencer.c:1962
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "no se puede leer el mensaje del commit de %s"
+
+#: sequencer.c:2072
 msgid "your index file is unmerged."
 msgstr "tu archivo índice no está fusionado."
 
-#: sequencer.c:1894
+#: sequencer.c:2079
 msgid "cannot fixup root commit"
 msgstr "no se puede arreglar el commit raíz"
 
-#: sequencer.c:1913
+#: sequencer.c:2098
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "el commit %s es una fusión pero no se proporcionó la opción -m."
 
-#: sequencer.c:1921 sequencer.c:1929
+#: sequencer.c:2106 sequencer.c:2114
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "el commit %s no tiene un padre %d"
 
-#: sequencer.c:1935
+#: sequencer.c:2120
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "no se puede obtener el mensaje de commit para %s"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1954
+#: sequencer.c:2139
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: no se puede analizar el commit padre %s"
 
-#: sequencer.c:2019
+#: sequencer.c:2205
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "no se puede renombrar '%s' a '%s'"
 
-#: sequencer.c:2079
+#: sequencer.c:2265
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "no se pudo revertir %s... %s"
 
-#: sequencer.c:2080
+#: sequencer.c:2266
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "no se pudo aplicar %s... %s"
 
-#: sequencer.c:2100
+#: sequencer.c:2287
 #, c-format
 msgid "dropping %s %s -- patch contents already upstream\n"
 msgstr "botando $%s %s -- contenidos del parche ya están en upstream\n"
 
-#: sequencer.c:2158
+#: sequencer.c:2345
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: falló al leer el índice"
 
-#: sequencer.c:2165
+#: sequencer.c:2352
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: falló al refrescar el índice"
 
-#: sequencer.c:2242
+#: sequencer.c:2425
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s no acepta los argumentos: '%s'"
 
-#: sequencer.c:2251
+#: sequencer.c:2434
 #, c-format
 msgid "missing arguments for %s"
 msgstr "faltan argumentos para para %s"
 
-#: sequencer.c:2282
+#: sequencer.c:2477
 #, c-format
 msgid "could not parse '%s'"
 msgstr "no se puede analizar '%s'"
 
-#: sequencer.c:2343
+#: sequencer.c:2538
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "línea inválida %d: %.*s"
 
-#: sequencer.c:2354
+#: sequencer.c:2549
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "no se puede  '%s' sin un commit previo"
 
-#: sequencer.c:2440
+#: sequencer.c:2635
 msgid "cancelling a cherry picking in progress"
 msgstr "cancelando cherry-pick en progreso"
 
-#: sequencer.c:2449
+#: sequencer.c:2644
 msgid "cancelling a revert in progress"
 msgstr "cancelando revert en progreso"
 
-#: sequencer.c:2493
+#: sequencer.c:2690
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "por favor arregle esto usando 'git rebase --edit-todo'."
 
-#: sequencer.c:2495
+#: sequencer.c:2692
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "hoja de instrucciones inutilizable: '%s'"
 
-#: sequencer.c:2500
+#: sequencer.c:2697
 msgid "no commits parsed."
 msgstr "ningún commit analizado."
 
-#: sequencer.c:2511
+#: sequencer.c:2708
 msgid "cannot cherry-pick during a revert."
 msgstr "no se puede realizar cherry-pick durante un revert."
 
-#: sequencer.c:2513
+#: sequencer.c:2710
 msgid "cannot revert during a cherry-pick."
 msgstr "no se puede realizar un revert durante un cherry-pick."
 
-#: sequencer.c:2591
+#: sequencer.c:2788
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valor inválido para %s: %s"
 
-#: sequencer.c:2698
+#: sequencer.c:2897
 msgid "unusable squash-onto"
 msgstr "squash-onto inservible"
 
-#: sequencer.c:2718
+#: sequencer.c:2917
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "hoja de opciones mal formada: '%s'"
 
-#: sequencer.c:2811 sequencer.c:4644
+#: sequencer.c:3012 sequencer.c:4869
 msgid "empty commit set passed"
 msgstr "conjunto de commits vacío entregado"
 
-#: sequencer.c:2828
+#: sequencer.c:3029
 msgid "revert is already in progress"
 msgstr "revert ya está en progreso"
 
-#: sequencer.c:2830
+#: sequencer.c:3031
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "intenta \"git revert (--continue | --quit | %s --abort)\""
 
-#: sequencer.c:2833
+#: sequencer.c:3034
 msgid "cherry-pick is already in progress"
 msgstr "cherry-pick ya está en progreso"
 
-#: sequencer.c:2835
+#: sequencer.c:3036
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "intenta \"git cherry-pick (--continue | --quit | %s --abort)\""
 
-#: sequencer.c:2849
+#: sequencer.c:3050
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "no se pudo crear un directorio secuenciador '%s'"
 
-#: sequencer.c:2864
+#: sequencer.c:3065
 msgid "could not lock HEAD"
 msgstr "no se pudo bloquear HEAD"
 
-#: sequencer.c:2924 sequencer.c:4379
+#: sequencer.c:3125 sequencer.c:4582
 msgid "no cherry-pick or revert in progress"
 msgstr "ningún cherry-pick o revert en progreso"
 
-#: sequencer.c:2926 sequencer.c:2937
+#: sequencer.c:3127 sequencer.c:3138
 msgid "cannot resolve HEAD"
 msgstr "no se puede resolver HEAD"
 
-#: sequencer.c:2928 sequencer.c:2972
+#: sequencer.c:3129 sequencer.c:3173
 msgid "cannot abort from a branch yet to be born"
 msgstr "no se puede abortar de una rama por nacer"
 
-#: sequencer.c:2958 builtin/grep.c:757
+#: sequencer.c:3159 builtin/grep.c:759
 #, c-format
 msgid "cannot open '%s'"
 msgstr "no se puede abrir '%s'"
 
-#: sequencer.c:2960
+#: sequencer.c:3161
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "no se puede leer '%s': %s"
 
-#: sequencer.c:2961
+#: sequencer.c:3162
 msgid "unexpected end of file"
 msgstr "final de archivo inesperado"
 
-#: sequencer.c:2967
+#: sequencer.c:3168
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "archivo HEAD de pre-cherry-pick guardado '%s' está corrupto"
 
-#: sequencer.c:2978
+#: sequencer.c:3179
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "Parece que se ha movido HEAD. No se hace rebobinado, ¡revisa tu HEAD!"
 
-#: sequencer.c:3019
+#: sequencer.c:3220
 msgid "no revert in progress"
 msgstr "no hay revert en progreso"
 
-#: sequencer.c:3028
+#: sequencer.c:3229
 msgid "no cherry-pick in progress"
 msgstr "ningún cherry-pick en progreso"
 
-#: sequencer.c:3038
+#: sequencer.c:3239
 msgid "failed to skip the commit"
 msgstr "falló al escribir el commit"
 
-#: sequencer.c:3045
+#: sequencer.c:3246
 msgid "there is nothing to skip"
 msgstr "no hay nada que saltar"
 
-#: sequencer.c:3048
+#: sequencer.c:3249
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -7937,16 +8037,16 @@
 "¿ya has hecho el commit?\n"
 "intenta \"git %s --continue\""
 
-#: sequencer.c:3210 sequencer.c:4271
+#: sequencer.c:3411 sequencer.c:4473
 msgid "cannot read HEAD"
 msgstr "no se puede leer HEAD"
 
-#: sequencer.c:3227
+#: sequencer.c:3428
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "no se pudo copiar '%s' a '%s'"
 
-#: sequencer.c:3235
+#: sequencer.c:3436
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -7965,27 +8065,27 @@
 "\n"
 "\tgit rebase --continue\n"
 
-#: sequencer.c:3245
+#: sequencer.c:3446
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "No se pudo aplicar %s... %.*s"
 
-#: sequencer.c:3252
+#: sequencer.c:3453
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "No se pudo fusionar %.*s"
 
-#: sequencer.c:3266 sequencer.c:3270 builtin/difftool.c:640
+#: sequencer.c:3467 sequencer.c:3471 builtin/difftool.c:644
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "no se pudo copiar '%s' a '%s'"
 
-#: sequencer.c:3282
+#: sequencer.c:3483
 #, c-format
 msgid "Executing: %s\n"
 msgstr "Ejecutando: %s\n"
 
-#: sequencer.c:3297
+#: sequencer.c:3498
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -8000,11 +8100,11 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3303
+#: sequencer.c:3504
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "y se hicieron cambios al índice y/o árbol de trabajo\n"
 
-#: sequencer.c:3309
+#: sequencer.c:3510
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -8021,90 +8121,90 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3370
+#: sequencer.c:3571
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nombre de label ilegal: '%.*s'"
 
-#: sequencer.c:3424
+#: sequencer.c:3625
 msgid "writing fake root commit"
 msgstr "escribiendo commit raíz falso"
 
-#: sequencer.c:3429
+#: sequencer.c:3630
 msgid "writing squash-onto"
 msgstr "escribiendo squash-onto"
 
-#: sequencer.c:3513
+#: sequencer.c:3714
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "no se pudo resolver '%s'"
 
-#: sequencer.c:3546
+#: sequencer.c:3747
 msgid "cannot merge without a current revision"
 msgstr "no se puede fusionar sin una versión actual"
 
-#: sequencer.c:3568
+#: sequencer.c:3769
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "no se puede analizar '%.*s'"
 
-#: sequencer.c:3577
+#: sequencer.c:3778
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "nada para fusionar: '%.*s'"
 
-#: sequencer.c:3589
+#: sequencer.c:3790
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "fusión octopus no puede ser ejecutada en la punta de un [nuevo root]"
 
-#: sequencer.c:3605
+#: sequencer.c:3806
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "no se puede leer el mensaje del commit '%s'"
 
-#: sequencer.c:3788
+#: sequencer.c:3989
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "no se pudo intentar fusionar '%.*s'"
 
-#: sequencer.c:3804
+#: sequencer.c:4005
 msgid "merge: Unable to write new index file"
 msgstr "fusión: No se puede escribir el nuevo archivo índice"
 
-#: sequencer.c:3878
+#: sequencer.c:4079
 msgid "Cannot autostash"
 msgstr "No se puede ejecutar autostash"
 
-#: sequencer.c:3881
+#: sequencer.c:4082
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Respuesta de stash inesperada: '%s'"
 
-#: sequencer.c:3887
+#: sequencer.c:4088
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "No se pudo crear el directorio para '%s'"
 
-#: sequencer.c:3890
+#: sequencer.c:4091
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Autostash creado: %s\n"
 
-#: sequencer.c:3894
+#: sequencer.c:4095
 msgid "could not reset --hard"
 msgstr "no se pudo reset --hard"
 
-#: sequencer.c:3919
+#: sequencer.c:4120
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autostash aplicado.\n"
 
-#: sequencer.c:3931
+#: sequencer.c:4132
 #, c-format
 msgid "cannot store %s"
 msgstr "no se puede guardar %s"
 
-#: sequencer.c:3934
+#: sequencer.c:4135
 #, c-format
 msgid ""
 "%s\n"
@@ -8116,29 +8216,29 @@
 "Puedes ejecutar \"git stash pop\" o \"git stash drop\" en cualquier "
 "momento.\n"
 
-#: sequencer.c:3939
+#: sequencer.c:4140
 msgid "Applying autostash resulted in conflicts."
 msgstr "Apicar autostash resultó en conflictos."
 
-#: sequencer.c:3940
+#: sequencer.c:4141
 msgid "Autostash exists; creating a new stash entry."
 msgstr "Autostash existe; creando una nueva entrada stash."
 
-#: sequencer.c:4033 git-rebase--preserve-merges.sh:769
+#: sequencer.c:4234 git-rebase--preserve-merges.sh:769
 msgid "could not detach HEAD"
 msgstr "no se puede desacoplar HEAD"
 
-#: sequencer.c:4048
+#: sequencer.c:4249
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Detenido en HEAD\n"
 
-#: sequencer.c:4050
+#: sequencer.c:4251
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Detenido en %s\n"
 
-#: sequencer.c:4058
+#: sequencer.c:4259
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -8159,58 +8259,58 @@
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:4104
+#: sequencer.c:4305
 #, c-format
 msgid "Rebasing (%d/%d)%s"
 msgstr "Aplicando rebase (%d/%d)%s"
 
-#: sequencer.c:4149
+#: sequencer.c:4351
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Detenido en %s...  %.*s\n"
 
-#: sequencer.c:4220
+#: sequencer.c:4422
 #, c-format
 msgid "unknown command %d"
 msgstr "comando desconocido %d"
 
-#: sequencer.c:4279
+#: sequencer.c:4481
 msgid "could not read orig-head"
 msgstr "no se puede leer orig-head"
 
-#: sequencer.c:4284
+#: sequencer.c:4486
 msgid "could not read 'onto'"
 msgstr "no se puede leer 'onto'"
 
-#: sequencer.c:4298
+#: sequencer.c:4500
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "no se puede actualizar HEAD a %s"
 
-#: sequencer.c:4358
+#: sequencer.c:4560
 #, c-format
 msgid "Successfully rebased and updated %s.\n"
 msgstr "Rebase aplicado satisfactoriamente y actualizado %s.\n"
 
-#: sequencer.c:4391
+#: sequencer.c:4612
 msgid "cannot rebase: You have unstaged changes."
 msgstr "no se puede realizar rebase: Tienes cambios fuera del área de stage."
 
-#: sequencer.c:4400
+#: sequencer.c:4621
 msgid "cannot amend non-existing commit"
 msgstr "no se puede arreglar un commit no existente"
 
-#: sequencer.c:4402
+#: sequencer.c:4623
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "archivo inválido: '%s'"
 
-#: sequencer.c:4404
+#: sequencer.c:4625
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenido inválido: '%s'"
 
-#: sequencer.c:4407
+#: sequencer.c:4628
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -8221,50 +8321,50 @@
 "un commit con estos\n"
 "primero y luego ejecuta 'git rebase --continue' de nuevo."
 
-#: sequencer.c:4443 sequencer.c:4482
+#: sequencer.c:4664 sequencer.c:4703
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "no se pudo escribir el archivo: '%s'"
 
-#: sequencer.c:4498
+#: sequencer.c:4719
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "no se puede eliminar CHERRY_PICK_HEAD"
 
-#: sequencer.c:4505
+#: sequencer.c:4726
 msgid "could not commit staged changes."
 msgstr "no se pudo realizar el commit con los cambios en el área de stage."
 
-#: sequencer.c:4621
+#: sequencer.c:4846
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: no se puede aplicar cherry-pick a un %s"
 
-#: sequencer.c:4625
+#: sequencer.c:4850
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: revisión errónea"
 
-#: sequencer.c:4660
+#: sequencer.c:4885
 msgid "can't revert as initial commit"
 msgstr "no se puede revertir como commit inicial"
 
-#: sequencer.c:5137
+#: sequencer.c:5362
 msgid "make_script: unhandled options"
 msgstr "make_script: opciones desconocidas"
 
-#: sequencer.c:5140
+#: sequencer.c:5365
 msgid "make_script: error preparing revisions"
 msgstr "make_script: error preparando revisiones"
 
-#: sequencer.c:5382 sequencer.c:5399
+#: sequencer.c:5615 sequencer.c:5632
 msgid "nothing to do"
 msgstr "nada que hacer"
 
-#: sequencer.c:5418
+#: sequencer.c:5651
 msgid "could not skip unnecessary pick commands"
 msgstr "no se pudo saltar los comandos pick innecesarios"
 
-#: sequencer.c:5512
+#: sequencer.c:5751
 msgid "the script was already rearranged."
 msgstr "este script ya fue reorganizado."
 
@@ -8413,7 +8513,7 @@
 "Parando en el límite del sistema de archivos "
 "(GIT_DISCOVERY_ACROSS_FILESYSTEM no establecido)."
 
-#: setup.c:1362
+#: setup.c:1370
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -8422,56 +8522,69 @@
 "problema con el valor del modo de archivo core.sharedRepository (0%.3o).\n"
 "El dueño de los archivos tiene que tener permisos de lectura y escritura."
 
-#: setup.c:1409
+#: setup.c:1417
 msgid "open /dev/null or dup failed"
 msgstr "falló al abrir /dev/null o dup"
 
-#: setup.c:1424
+#: setup.c:1432
 msgid "fork failed"
 msgstr "falló fork"
 
-#: setup.c:1429
+#: setup.c:1437 t/helper/test-simple-ipc.c:285
 msgid "setsid failed"
 msgstr "falló setsid"
 
+#: sparse-index.c:151
+msgid "attempting to use sparse-index without cone mode"
+msgstr "intentando usar sparse-index sin modo cono"
+
+#: sparse-index.c:156
+msgid "unable to update cache-tree, staying full"
+msgstr "no es posible actualizar el cache del árbol, manteniendo full"
+
+#: sparse-index.c:239
+#, c-format
+msgid "index entry is a directory, but not sparse (%08x)"
+msgstr "la entrada de índice es un directorio, pero no escazo (%08x)"
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:848
+#: strbuf.c:850
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u GiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:850
+#: strbuf.c:852
 #, c-format
 msgid "%u.%2.2u GiB/s"
 msgstr "%u.%2.2u GiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:858
+#: strbuf.c:860
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u MiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:860
+#: strbuf.c:862
 #, c-format
 msgid "%u.%2.2u MiB/s"
 msgstr "%u.%2.2u MiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:867
+#: strbuf.c:869
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u KiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:869
+#: strbuf.c:871
 #, c-format
 msgid "%u.%2.2u KiB/s"
 msgstr "%u.%2.2u KiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:875
+#: strbuf.c:877
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
@@ -8479,20 +8592,20 @@
 msgstr[1] "%u bytes"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:877
+#: strbuf.c:879
 #, c-format
 msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u bytes/s"
 msgstr[1] "%u bytes/s"
 
-#: strbuf.c:1166 wrapper.c:199 wrapper.c:369 builtin/am.c:719
+#: strbuf.c:1168 wrapper.c:199 wrapper.c:369 builtin/am.c:737
 #: builtin/rebase.c:866
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "no se pudo abrir '%s' para escritura"
 
-#: strbuf.c:1175
+#: strbuf.c:1177
 #, c-format
 msgid "could not edit '%s'"
 msgstr "no se pudo editar '%s'"
@@ -8542,22 +8655,22 @@
 msgid "staging updated .gitmodules failed"
 msgstr "falló realizar stage a los .gitmodules actualizados"
 
-#: submodule.c:327
+#: submodule.c:328
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "en el submódulo no poblado '%s'"
 
-#: submodule.c:358
+#: submodule.c:359
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "El patrón de ruta '%s' está en el submódulo '%.*s'"
 
-#: submodule.c:435
+#: submodule.c:436
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "mal argumento --ignore-submodules: %s"
 
-#: submodule.c:817
+#: submodule.c:818
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
@@ -8566,12 +8679,12 @@
 "Submódulo en el commit %s en ruta: '%s' colisiona con un submódulo llamado "
 "igual. Saltandolo."
 
-#: submodule.c:920
+#: submodule.c:921
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "entrada de submódulo '%s' (%s) es un %s, no un commit"
 
-#: submodule.c:1005
+#: submodule.c:1006
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
@@ -8580,36 +8693,36 @@
 "No se pudo ejecutar comando 'git rev-list <commits> --not --remotes -n 1' en "
 "el submódulo %s"
 
-#: submodule.c:1128
+#: submodule.c:1129
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "proceso para submódulo '%s' falló"
 
-#: submodule.c:1157 builtin/branch.c:689 builtin/submodule--helper.c:2469
+#: submodule.c:1158 builtin/branch.c:691 builtin/submodule--helper.c:2470
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Falló al resolver HEAD como un ref válido."
 
-#: submodule.c:1168
+#: submodule.c:1169
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "Empujando submódulo '%s'\n"
 
-#: submodule.c:1171
+#: submodule.c:1172
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "No es posible hacer push al submódulo '%s'\n"
 
-#: submodule.c:1463
+#: submodule.c:1464
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "Haciendo fetch al submódulo %s%s\n"
 
-#: submodule.c:1497
+#: submodule.c:1498
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "No pudo acceder al submódulo '%s'\n"
 
-#: submodule.c:1652
+#: submodule.c:1653
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8618,61 +8731,61 @@
 "Errores durante el fetch del submódulo:\n"
 "%s"
 
-#: submodule.c:1677
+#: submodule.c:1678
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' no reconocido como un repositorio git"
 
-#: submodule.c:1694
+#: submodule.c:1695
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "No se pudo ejecutar 'git status --procelain=2' en el submódulo %s"
 
-#: submodule.c:1735
+#: submodule.c:1736
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "'git status --procelain=2' falló en el submódulo %s"
 
-#: submodule.c:1810
+#: submodule.c:1811
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "no se pudo comenzar 'git status' en el submódulo '%s'"
 
-#: submodule.c:1823
+#: submodule.c:1824
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "no se pudo ejecutar 'git status' en el submódulo '%s'"
 
-#: submodule.c:1838
+#: submodule.c:1839
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "No se pudo quitar configuración core.worktree en submódulo '%s'"
 
-#: submodule.c:1865 submodule.c:2175
+#: submodule.c:1866 submodule.c:2176
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "no pudo recursar en el submódulo '%s'"
 
-#: submodule.c:1886
+#: submodule.c:1887
 msgid "could not reset submodule index"
 msgstr "no se pudo reiniciar el index del submódulo"
 
-#: submodule.c:1928
+#: submodule.c:1929
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "submódulo '%s' tiene un índice corrupto"
 
-#: submodule.c:1980
+#: submodule.c:1981
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Submódulo '%s' no pudo ser actualizado."
 
-#: submodule.c:2048
+#: submodule.c:2049
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr "submódulo git dir '%s' esta dentro de git dir '%.*s'"
 
-#: submodule.c:2069
+#: submodule.c:2070
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -8680,17 +8793,17 @@
 "relocate_gitdir para el submódulo '%s' con más de un árbol de trabajo no "
 "soportado"
 
-#: submodule.c:2081 submodule.c:2140
+#: submodule.c:2082 submodule.c:2141
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "no se pudo resolver el nombre para el submódulo '%s'"
 
-#: submodule.c:2085
+#: submodule.c:2086
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "rechazando mover '%s' dentro de un directorio git existente"
 
-#: submodule.c:2092
+#: submodule.c:2093
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -8701,65 +8814,71 @@
 "'%s' hacia\n"
 "'%s'\n"
 
-#: submodule.c:2220
+#: submodule.c:2221
 msgid "could not start ls-files in .."
 msgstr "no se pudo comenzar ls-files en .."
 
-#: submodule.c:2260
+#: submodule.c:2261
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree devolvió un código %d inesperado"
 
-#: trailer.c:236
+#: symlinks.c:244
+#, c-format
+msgid "failed to lstat '%s'"
+msgstr "falló al hacer lstat '%s'"
+
+#: trailer.c:244
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "ejecución del comando de remolque '%s' falló"
 
-#: trailer.c:483 trailer.c:488 trailer.c:493 trailer.c:547 trailer.c:551
-#: trailer.c:555
+#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
+#: trailer.c:570
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "valor '%s' desconocido para la clave '%s'"
 
-#: trailer.c:537 trailer.c:542 builtin/remote.c:299 builtin/remote.c:324
+#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:299
+#: builtin/remote.c:324
 #, c-format
 msgid "more than one %s"
 msgstr "más de un %s"
 
-#: trailer.c:728
+#: trailer.c:743
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "token de remolque vacío en el trailer '%.*s'"
 
-#: trailer.c:748
+#: trailer.c:763
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "no se pudo leer el archivo de entrada '%s'"
 
-#: trailer.c:751 builtin/mktag.c:91
+#: trailer.c:766 builtin/mktag.c:88
 msgid "could not read from stdin"
 msgstr "no se pudo leer desde stdin"
 
-#: trailer.c:1009 wrapper.c:676
+#: trailer.c:1024 wrapper.c:676
 #, c-format
 msgid "could not stat %s"
 msgstr "no se pudo definir %s"
 
-#: trailer.c:1011
+#: trailer.c:1026
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "el archivo %s no es un archivo regular"
 
-#: trailer.c:1013
+#: trailer.c:1028
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "el archivo %s no puede ser escrito por el usuario"
 
-#: trailer.c:1025
+#: trailer.c:1040
 msgid "could not open temporary file"
 msgstr "no se pudo abrir el archivo temporal"
 
-#: trailer.c:1065
+#: trailer.c:1080
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "no se pudo renombrar el archivo temporal a %s"
@@ -8808,7 +8927,7 @@
 msgid "error while running fast-import"
 msgstr "error al ejecutar fast-import"
 
-#: transport-helper.c:549 transport-helper.c:1237
+#: transport-helper.c:549 transport-helper.c:1247
 #, c-format
 msgid "could not read ref %s"
 msgstr "no se pudo leer la referencia %s"
@@ -8826,7 +8945,7 @@
 msgid "invalid remote service path"
 msgstr "ruta de servicio remoto inválida"
 
-#: transport-helper.c:661 transport.c:1447
+#: transport-helper.c:661 transport.c:1471
 msgid "operation not supported by protocol"
 msgstr "operación no soportada por protocolo"
 
@@ -8835,68 +8954,72 @@
 msgid "can't connect to subservice %s"
 msgstr "no se puede conectar al subservicio %s"
 
-#: transport-helper.c:745
+#: transport-helper.c:693 transport.c:397
+msgid "--negotiate-only requires protocol v2"
+msgstr "--negotiate-only requiere protocolo v2"
+
+#: transport-helper.c:755
 msgid "'option' without a matching 'ok/error' directive"
 msgstr "'opción' sin una directiva correspondiente 'ok/error'"
 
-#: transport-helper.c:788
+#: transport-helper.c:798
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "se esperaba ok/error, helper dijo '%s'"
 
-#: transport-helper.c:845
+#: transport-helper.c:855
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "helper reportó estado inesperado de %s"
 
-#: transport-helper.c:928
+#: transport-helper.c:938
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "helper %s no soporta dry-run"
 
-#: transport-helper.c:931
+#: transport-helper.c:941
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "helper %s no soporta --signed"
 
-#: transport-helper.c:934
+#: transport-helper.c:944
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "helper %s no soporta --signed=if-asked"
 
-#: transport-helper.c:939
+#: transport-helper.c:949
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "helper %s no soporta --atomic"
 
-#: transport-helper.c:943
+#: transport-helper.c:953
 #, c-format
 msgid "helper %s does not support --%s"
 msgstr "helper %s no soporta --%s"
 
-#: transport-helper.c:950
+#: transport-helper.c:960
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "helper %s no soporta 'push-option'"
 
-#: transport-helper.c:1050
+#: transport-helper.c:1060
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-helper no soporta push; se necesita refspec"
 
-#: transport-helper.c:1055
+#: transport-helper.c:1065
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "helper %s no soporta 'force'"
 
-#: transport-helper.c:1102
+#: transport-helper.c:1112
 msgid "couldn't run fast-export"
 msgstr "no se pudo ejecutar fast-export"
 
-#: transport-helper.c:1107
+#: transport-helper.c:1117
 msgid "error while running fast-export"
 msgstr "error al ejecutar fast-export"
 
-#: transport-helper.c:1132
+#: transport-helper.c:1142
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -8905,52 +9028,52 @@
 "No hay refs comunes y ninguno especificado; no se hace nada.\n"
 "Tal vez deberías especificar un branch.\n"
 
-#: transport-helper.c:1214
+#: transport-helper.c:1224
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "formado de objeto no soportado '%s'"
 
-#: transport-helper.c:1223
+#: transport-helper.c:1233
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "respuesta malformada en lista de refs: %s"
 
-#: transport-helper.c:1375
+#: transport-helper.c:1385
 #, c-format
 msgid "read(%s) failed"
 msgstr "leer(%s) falló"
 
-#: transport-helper.c:1402
+#: transport-helper.c:1412
 #, c-format
 msgid "write(%s) failed"
 msgstr "escribir(%s) falló"
 
-#: transport-helper.c:1451
+#: transport-helper.c:1461
 #, c-format
 msgid "%s thread failed"
 msgstr "hilo %s falló"
 
-#: transport-helper.c:1455
+#: transport-helper.c:1465
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "hilo %s falló al unirse: %s"
 
-#: transport-helper.c:1474 transport-helper.c:1478
+#: transport-helper.c:1484 transport-helper.c:1488
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "no se puede iniciar el hilo para copiar data: %s"
 
-#: transport-helper.c:1515
+#: transport-helper.c:1525
 #, c-format
 msgid "%s process failed to wait"
 msgstr "proceso %s falló al esperar"
 
-#: transport-helper.c:1519
+#: transport-helper.c:1529
 #, c-format
 msgid "%s process failed"
 msgstr "proceso %s falló"
 
-#: transport-helper.c:1537 transport-helper.c:1546
+#: transport-helper.c:1547 transport-helper.c:1556
 msgid "can't start thread for copying data"
 msgstr "no se puede iniciar hilo para copiar data"
 
@@ -8969,37 +9092,41 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "transport: opción inválida '%s'"
 
-#: transport.c:269
+#: transport.c:272
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "ver protocol.version en 'git help config' para más información"
 
-#: transport.c:270
+#: transport.c:273
 msgid "server options require protocol version 2 or later"
 msgstr "opciones del servidor requieren protocolo versión 2 o posterior"
 
-#: transport.c:727
+#: transport.c:400
+msgid "server does not support wait-for-done"
+msgstr "el servidor no soporta wait-for-done"
+
+#: transport.c:751
 msgid "could not parse transport.color.* config"
 msgstr "no se pudo analizar valor de configuración transport.color.*"
 
-#: transport.c:802
+#: transport.c:826
 msgid "support for protocol v2 not implemented yet"
 msgstr "soporte para protocolo v2 no implementado todavía"
 
-#: transport.c:936
+#: transport.c:960
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "valor desconocido para configuración '%s': %s"
 
-#: transport.c:1002
+#: transport.c:1026
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "transporte '%s' no permitido"
 
-#: transport.c:1055
+#: transport.c:1079
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync ya no es soportado"
 
-#: transport.c:1157
+#: transport.c:1181
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -9008,7 +9135,7 @@
 "La siguiente ruta de submódulo contiene cambios que no\n"
 "pueden ser encontrados en ningún remoto:\n"
 
-#: transport.c:1161
+#: transport.c:1185
 #, c-format
 msgid ""
 "\n"
@@ -9035,11 +9162,11 @@
 "para hacer un push al remoto.\n"
 "\n"
 
-#: transport.c:1169
+#: transport.c:1193
 msgid "Aborting."
 msgstr "Abortando."
 
-#: transport.c:1316
+#: transport.c:1340
 msgid "failed to push all needed submodules"
 msgstr "falló al hacer push a todos los submódulos necesarios"
 
@@ -9059,7 +9186,7 @@
 msgid "too-short tree file"
 msgstr "archivo de árbol muy corto"
 
-#: unpack-trees.c:113
+#: unpack-trees.c:115
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -9070,7 +9197,7 @@
 "%%sPor favor realiza un commit con los cambios o un stash antes de cambiar "
 "ramas."
 
-#: unpack-trees.c:115
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -9080,7 +9207,7 @@
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:118
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -9090,7 +9217,7 @@
 "fusionar:\n"
 "%%sPor favor, confirma tus cambios o aguárdalos antes de fusionar."
 
-#: unpack-trees.c:120
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -9100,7 +9227,7 @@
 "merge:\n"
 "%%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"
@@ -9109,7 +9236,7 @@
 "Los cambios locales de los siguientes archivos serán sobrescritos al %s:\n"
 "%%sPor favor, confirma tus cambios o guárdalos antes de %s."
 
-#: unpack-trees.c:125
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -9118,7 +9245,7 @@
 "Los cambios locales de los siguientes archivos serán sobreescritos por %s:\n"
 "%%s"
 
-#: unpack-trees.c:130
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -9128,7 +9255,7 @@
 "seguimiento en ellos:\n"
 "%s"
 
-#: unpack-trees.c:134
+#: unpack-trees.c:136
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -9138,7 +9265,7 @@
 "eliminados al actualizar el árbol de trabajo:\n"
 "%%sPor favor, muévelos o elimínalos antes de intercambiar ramas."
 
-#: unpack-trees.c:136
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -9148,7 +9275,7 @@
 "eliminadosal actualizar el árbol de trabajo:\n"
 "%%s"
 
-#: unpack-trees.c:139
+#: unpack-trees.c:141
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -9158,7 +9285,7 @@
 "eliminados al fusionar:\n"
 "%%sPor favor, muévelos o elimínalos antes de fusionar."
 
-#: unpack-trees.c:141
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -9168,7 +9295,7 @@
 "eliminadosal fusionar:\n"
 "%%s"
 
-#: unpack-trees.c:144
+#: unpack-trees.c:146
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -9178,7 +9305,7 @@
 "eliminados al %s:\n"
 "%%sPor favor, muévelos o elimínalos antes de %s."
 
-#: unpack-trees.c:146
+#: unpack-trees.c:148
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -9188,7 +9315,7 @@
 "eliminados al ejecutar %s:\n"
 "%%s"
 
-#: unpack-trees.c:152
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -9199,7 +9326,7 @@
 "sobrescritos al actualizar el árbol de trabajo:\n"
 "%%sPor favor, muévelos o elimínalos antes de intercambiar ramas."
 
-#: unpack-trees.c:154
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -9210,7 +9337,7 @@
 "sobrescritos al actualizar el árbol de trabajo:\n"
 "%%s"
 
-#: unpack-trees.c:157
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -9220,7 +9347,7 @@
 "sobrescritos al fusionar:\n"
 "%%sPor favor, muévelos o elimínalos antes de fusionar."
 
-#: unpack-trees.c:159
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -9230,7 +9357,7 @@
 "sobrescritos al fusionar:\n"
 "%%s"
 
-#: unpack-trees.c:162
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -9240,7 +9367,7 @@
 "sobrescritos al %s:\n"
 "%%sPor favor, muévelos o elimínalos antes de %s."
 
-#: unpack-trees.c:164
+#: unpack-trees.c:166
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -9250,12 +9377,12 @@
 "eliminadospor %s:\n"
 "%%s"
 
-#: unpack-trees.c:172
+#: unpack-trees.c:174
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Entrada '%s' se superpone con '%s'.  No se pueden unir."
 
-#: unpack-trees.c:175
+#: unpack-trees.c:177
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -9264,7 +9391,7 @@
 "No se puede actualizar le submódulo:\n"
 "%s"
 
-#: unpack-trees.c:178
+#: unpack-trees.c:180
 #, c-format
 msgid ""
 "The following paths are not up to date and were left despite sparse "
@@ -9275,7 +9402,7 @@
 "patrón especificado:\n"
 "%s"
 
-#: unpack-trees.c:180
+#: unpack-trees.c:182
 #, c-format
 msgid ""
 "The following paths are unmerged and were left despite sparse patterns:\n"
@@ -9285,7 +9412,7 @@
 "sparse:\n"
 "%s"
 
-#: unpack-trees.c:182
+#: unpack-trees.c:184
 #, c-format
 msgid ""
 "The following paths were already present and thus not updated despite sparse "
@@ -9296,12 +9423,12 @@
 "pesar del patrón especificado:\n"
 "%s"
 
-#: unpack-trees.c:262
+#: unpack-trees.c:264
 #, c-format
 msgid "Aborting\n"
 msgstr "Abortando\n"
 
-#: unpack-trees.c:289
+#: unpack-trees.c:291
 #, c-format
 msgid ""
 "After fixing the above paths, you may want to run `git sparse-checkout "
@@ -9310,11 +9437,11 @@
 "Luego de arreglar las rutas mostradas, puede que quieras ejecutar `git "
 "sparse-checkout reapply`.\n"
 
-#: unpack-trees.c:350
+#: unpack-trees.c:352
 msgid "Updating files"
 msgstr "Actualizando archivos"
 
-#: unpack-trees.c:382
+#: unpack-trees.c:384
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -9324,11 +9451,17 @@
 "en un filesystem case-insensitive) y solo una del grupo\n"
 "colisionando está en el árbol de trabajo:\n"
 
-#: unpack-trees.c:1498
+#: unpack-trees.c:1519
 msgid "Updating index flags"
 msgstr "Actualizando flags del index"
 
-#: upload-pack.c:1543
+#: unpack-trees.c:2608
+#, c-format
+msgid "worktree and untracked commit have duplicate entries: %s"
+msgstr ""
+"el árbol de trabajo y commits no monitoreados tienen entradas duplicadas: %s"
+
+#: upload-pack.c:1548
 msgid "expected flush after fetch arguments"
 msgstr "se espera flush tras argumentos fetch"
 
@@ -9365,7 +9498,7 @@
 msgid "Fetching objects"
 msgstr "Haciendo fetch a objetos"
 
-#: worktree.c:238 builtin/am.c:2103
+#: worktree.c:238 builtin/am.c:2151
 #, c-format
 msgid "failed to read '%s'"
 msgstr "falló al leer '%s'"
@@ -9514,11 +9647,11 @@
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (usa \"git rm <file>...\" para marcar la resolución)"
 
-#: wt-status.c:211 wt-status.c:1072
+#: wt-status.c:211 wt-status.c:1075
 msgid "Changes to be committed:"
 msgstr "Cambios a ser confirmados:"
 
-#: wt-status.c:234 wt-status.c:1081
+#: wt-status.c:234 wt-status.c:1084
 msgid "Changes not staged for commit:"
 msgstr "Cambios no rastreados para el commit:"
 
@@ -9624,22 +9757,22 @@
 msgid "untracked content, "
 msgstr "contenido no rastreado, "
 
-#: wt-status.c:905
+#: wt-status.c:908
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Tu stash actualmente tiene %d entrada"
 msgstr[1] "Tu stash actualmente tiene %d entradas"
 
-#: wt-status.c:936
+#: wt-status.c:939
 msgid "Submodules changed but not updated:"
 msgstr "Submódulos cambiados pero no actualizados:"
 
-#: wt-status.c:938
+#: wt-status.c:941
 msgid "Submodule changes to be committed:"
 msgstr "Submódulos cambiados listos para realizar commit:"
 
-#: wt-status.c:1020
+#: wt-status.c:1023
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -9647,7 +9780,7 @@
 "No modifique o borre la línea de encima.\n"
 "Todo lo que este por abajo será eliminado."
 
-#: wt-status.c:1112
+#: wt-status.c:1115
 #, c-format
 msgid ""
 "\n"
@@ -9658,107 +9791,107 @@
 "Tomó %.2f segundos para calcular los valores anterior/posterior del branch.\n"
 "Puedes usar '--no-ahead-behind' para evitar esto.\n"
 
-#: wt-status.c:1142
+#: wt-status.c:1145
 msgid "You have unmerged paths."
 msgstr "Tienes rutas no fusionadas."
 
-#: wt-status.c:1145
+#: wt-status.c:1148
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (arregla los conflictos y corre \"git commit\""
 
-#: wt-status.c:1147
+#: wt-status.c:1150
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (usa \"git merge --abort\" para abortar la fusion)"
 
-#: wt-status.c:1151
+#: wt-status.c:1154
 msgid "All conflicts fixed but you are still merging."
 msgstr "Todos los conflictos resueltos pero sigues fusionando."
 
-#: wt-status.c:1154
+#: wt-status.c:1157
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (usa \"git commit\" para concluir la fusión)"
 
-#: wt-status.c:1163
+#: wt-status.c:1166
 msgid "You are in the middle of an am session."
 msgstr "Estás en medio de una sesión am."
 
-#: wt-status.c:1166
+#: wt-status.c:1169
 msgid "The current patch is empty."
 msgstr "El parche actual está vacío."
 
-#: wt-status.c:1170
+#: wt-status.c:1173
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (arregla los conflictos y luego corre \"git am --continue\""
 
-#: wt-status.c:1172
+#: wt-status.c:1175
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (usa \"git am --skip\" para saltar este parche)"
 
-#: wt-status.c:1174
+#: wt-status.c:1177
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (usa \"git am --abort\" para restaurar la rama original)"
 
-#: wt-status.c:1307
+#: wt-status.c:1310
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo no está presente."
 
-#: wt-status.c:1309
+#: wt-status.c:1312
 msgid "No commands done."
 msgstr "No se realizaron los comandos."
 
-#: wt-status.c:1312
+#: wt-status.c:1315
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "El último comando realizado (%d comando realizado):"
 msgstr[1] "Los últimos comandos realizados (%d comandos realizados):"
 
-#: wt-status.c:1323
+#: wt-status.c:1326
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (ver más en el archivo %s)"
 
-#: wt-status.c:1328
+#: wt-status.c:1331
 msgid "No commands remaining."
 msgstr "No quedan más comandos."
 
-#: wt-status.c:1331
+#: wt-status.c:1334
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Siguiente comando a realizar (%d comando restante):"
 msgstr[1] "Siguiente comandos a realizar (%d comandos faltantes):"
 
-#: wt-status.c:1339
+#: wt-status.c:1342
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (usa \"git rebase --edit-todo\" para ver y editar)"
 
-#: wt-status.c:1351
+#: wt-status.c:1354
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Estás aplicando un rebase de la rama '%s' en '%s."
 
-#: wt-status.c:1356
+#: wt-status.c:1359
 msgid "You are currently rebasing."
 msgstr "Estás aplicando un rebase."
 
-#: wt-status.c:1369
+#: wt-status.c:1372
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (corrige los conflictos y ejecuta \"git rebase --continue\")"
 
-#: wt-status.c:1371
+#: wt-status.c:1374
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (usa \"git rebase --skip\" para omitir este parche)"
 
-#: wt-status.c:1373
+#: wt-status.c:1376
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (usa \"git rebase --abort\" para volver a tu rama original)"
 
-#: wt-status.c:1380
+#: wt-status.c:1383
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (todos los conflictos corregidos: ejecuta \"git rebase --continue\")"
 
-#: wt-status.c:1384
+#: wt-status.c:1387
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -9766,157 +9899,157 @@
 "Estás dividiendo un commit mientras aplicas un rebase de la rama '%s' en "
 "'%s'."
 
-#: wt-status.c:1389
+#: wt-status.c:1392
 msgid "You are currently splitting a commit during a rebase."
 msgstr "Estás dividiendo un commit durante un rebase."
 
-#: wt-status.c:1392
+#: wt-status.c:1395
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Una vez que tu directorio de trabajo esté limpio, ejecuta \"git rebase --"
 "continue\")"
 
-#: wt-status.c:1396
+#: wt-status.c:1399
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Estás editando un commit mientras se aplica un rebase de la rama '%s' en "
 "'%s'."
 
-#: wt-status.c:1401
+#: wt-status.c:1404
 msgid "You are currently editing a commit during a rebase."
 msgstr "Estás editando un commit durante un rebase."
 
-#: wt-status.c:1404
+#: wt-status.c:1407
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (usa \"git commit --amend\" para enmendar el commit actual)"
 
-#: wt-status.c:1406
+#: wt-status.c:1409
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (usa \"git rebase --continue\" una vez que estés satisfecho con tus "
 "cambios)"
 
-#: wt-status.c:1417
+#: wt-status.c:1420
 msgid "Cherry-pick currently in progress."
 msgstr "Cherry-pick en progreso actualmente."
 
-#: wt-status.c:1420
+#: wt-status.c:1423
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Estás realizando un cherry-picking en el commit %s."
 
-#: wt-status.c:1427
+#: wt-status.c:1430
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (corrige los conflictos y ejecuta \"git cherry-pick --continue\")"
 
-#: wt-status.c:1430
+#: wt-status.c:1433
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (ejecuta \"git cherry-pick --continue\" para continuar)"
 
-#: wt-status.c:1433
+#: wt-status.c:1436
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (todos los conflictos corregidos: ejecuta \"git cherry-pick --continue\")"
 
-#: wt-status.c:1435
+#: wt-status.c:1438
 msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
 msgstr "  (usa \"git cherry-pick --skip\" para saltar este parche)"
 
-#: wt-status.c:1437
+#: wt-status.c:1440
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 "  (use \"git cherry-pick --abort\" para cancelar la operación cherry-pick)"
 
-#: wt-status.c:1447
+#: wt-status.c:1450
 msgid "Revert currently in progress."
 msgstr "Revierte el estado en progreso actual."
 
-#: wt-status.c:1450
+#: wt-status.c:1453
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Estás revirtiendo el commit %s."
 
-#: wt-status.c:1456
+#: wt-status.c:1459
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (corrige los conflictos y ejecuta \"git revert --continue\")"
 
-#: wt-status.c:1459
+#: wt-status.c:1462
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (ejecuta \"git revert --continue\" para continuar)"
 
-#: wt-status.c:1462
+#: wt-status.c:1465
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (todos los conflictos corregidos: ejecuta \"git revert --continue\")"
 
-#: wt-status.c:1464
+#: wt-status.c:1467
 msgid "  (use \"git revert --skip\" to skip this patch)"
 msgstr "  (usa \"git revert --skip\" para omitir este parche)"
 
-#: wt-status.c:1466
+#: wt-status.c:1469
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (usa \"git revert --abort\" para cancelar la operación de revertir)"
 
-#: wt-status.c:1476
+#: wt-status.c:1479
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Estás aplicando un bisect, comenzando en la rama '%s'."
 
-#: wt-status.c:1480
+#: wt-status.c:1483
 msgid "You are currently bisecting."
 msgstr "Estás aplicando un bisect."
 
-#: wt-status.c:1483
+#: wt-status.c:1486
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (usa \"git bisect reset\" para volver a la rama original)"
 
-#: wt-status.c:1494
+#: wt-status.c:1497
 #, c-format
 msgid "You are in a sparse checkout with %d%% of tracked files present."
 msgstr "Estas en un checkout de sparse con %d%% archivos rastreados presentes."
 
-#: wt-status.c:1733
+#: wt-status.c:1736
 msgid "On branch "
 msgstr "En la rama "
 
-#: wt-status.c:1740
+#: wt-status.c:1743
 msgid "interactive rebase in progress; onto "
 msgstr "rebase interactivo en progreso; en "
 
-#: wt-status.c:1742
+#: wt-status.c:1745
 msgid "rebase in progress; onto "
 msgstr "rebase en progreso; en "
 
-#: wt-status.c:1747
+#: wt-status.c:1750
 msgid "HEAD detached at "
 msgstr "HEAD desacoplada en "
 
-#: wt-status.c:1749
+#: wt-status.c:1752
 msgid "HEAD detached from "
 msgstr "HEAD desacoplada de "
 
-#: wt-status.c:1752
+#: wt-status.c:1755
 msgid "Not currently on any branch."
 msgstr "Actualmente no estás en ninguna rama."
 
-#: wt-status.c:1769
+#: wt-status.c:1772
 msgid "Initial commit"
 msgstr "Confirmación inicial"
 
-#: wt-status.c:1770
+#: wt-status.c:1773
 msgid "No commits yet"
 msgstr "No hay commits todavía"
 
-#: wt-status.c:1784
+#: wt-status.c:1787
 msgid "Untracked files"
 msgstr "Archivos sin seguimiento"
 
-#: wt-status.c:1786
+#: wt-status.c:1789
 msgid "Ignored files"
 msgstr "Archivos ignorados"
 
-#: wt-status.c:1790
+#: wt-status.c:1793
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -9927,31 +10060,31 @@
 "puede acelerarlo, pero tienes que ser cuidadoso de no olvidar agregar\n"
 "nuevos archivos tú mismo (vea 'git help status')."
 
-#: wt-status.c:1796
+#: wt-status.c:1799
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Archivos no rastreados no son mostrados %s"
 
-#: wt-status.c:1798
+#: wt-status.c:1801
 msgid " (use -u option to show untracked files)"
 msgstr " (usa la opción -u para mostrar los archivos sin seguimiento)"
 
-#: wt-status.c:1804
+#: wt-status.c:1807
 msgid "No changes"
 msgstr "Sin cambios"
 
-#: wt-status.c:1809
+#: wt-status.c:1812
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "sin cambios agregados al commit (usa \"git add\" y/o \"git commit -a\")\n"
 
-#: wt-status.c:1813
+#: wt-status.c:1816
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "no se agregaron cambios al commit\n"
 
-#: wt-status.c:1817
+#: wt-status.c:1820
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -9960,72 +10093,90 @@
 "no hay nada agregado al commit pero hay archivos sin seguimiento presentes "
 "(usa \"git add\" para hacerles seguimiento)\n"
 
-#: wt-status.c:1821
+#: wt-status.c:1824
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "no hay nada agregado para confirmar, pero hay archivos sin seguimiento "
 "presentes\n"
 
-#: wt-status.c:1825
+#: wt-status.c:1828
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "no hay nada para confirmar (crea/copia archivos y usa \"git add\" para "
 "hacerles seguimiento)\n"
 
-#: wt-status.c:1829 wt-status.c:1835
+#: wt-status.c:1832 wt-status.c:1838
 #, c-format
 msgid "nothing to commit\n"
 msgstr "nada para hacer commit\n"
 
-#: wt-status.c:1832
+#: wt-status.c:1835
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "nada para hacer commit (usa -u para mostrar los archivos no rastreados)\n"
 
-#: wt-status.c:1837
+#: wt-status.c:1840
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "nada para hacer commit, el árbol de trabajo está limpio\n"
 
-#: wt-status.c:1942
+#: wt-status.c:1945
 msgid "No commits yet on "
 msgstr "No hay commits todavía en "
 
-#: wt-status.c:1946
+#: wt-status.c:1949
 msgid "HEAD (no branch)"
 msgstr "HEAD (sin rama)"
 
-#: wt-status.c:1977
+#: wt-status.c:1980
 msgid "different"
 msgstr "diferente"
 
-#: wt-status.c:1979 wt-status.c:1987
+#: wt-status.c:1982 wt-status.c:1990
 msgid "behind "
 msgstr "detrás "
 
-#: wt-status.c:1982 wt-status.c:1985
+#: wt-status.c:1985 wt-status.c:1988
 msgid "ahead "
 msgstr "adelante "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2507
+#: wt-status.c:2511
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "no se puede %s: Tienes cambios sin marcar."
 
-#: wt-status.c:2513
+#: wt-status.c:2517
 msgid "additionally, your index contains uncommitted changes."
 msgstr "adicionalmente, tu índice contiene cambios que no están en un commit."
 
-#: wt-status.c:2515
+#: wt-status.c:2519
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "no se puede %s: Tu índice contiene cambios que no están en un commit."
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:457
+#: compat/simple-ipc/ipc-unix-socket.c:178
+msgid "could not send IPC command"
+msgstr "no se pudo enviar el comando IPC"
+
+#: compat/simple-ipc/ipc-unix-socket.c:185
+msgid "could not read IPC response"
+msgstr "no se pudo leer la respuesta IPC"
+
+#: compat/simple-ipc/ipc-unix-socket.c:862
+#, c-format
+msgid "could not start accept_thread '%s'"
+msgstr "no se pudo iniciar el accept_thread '%s'"
+
+#: compat/simple-ipc/ipc-unix-socket.c:874
+#, c-format
+msgid "could not start worker[0] for '%s'"
+msgstr "no se pudo iniciar el worker[0] para '%s'"
+
+#: compat/precompose_utf8.c:58 builtin/clone.c:461
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "falló al desvincular '%s'"
@@ -10034,133 +10185,133 @@
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<opción>] [--] <especificación-de-ruta>..."
 
-#: builtin/add.c:58
+#: builtin/add.c:61
 #, c-format
 msgid "cannot chmod %cx '%s'"
 msgstr "no se puede aplicar chmod %cx '%s'"
 
-#: builtin/add.c:96
+#: builtin/add.c:99
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "diff status inesperado %c"
 
-#: builtin/add.c:101 builtin/commit.c:285
+#: builtin/add.c:104 builtin/commit.c:297
 msgid "updating files failed"
 msgstr "falló la actualización de carpetas"
 
-#: builtin/add.c:111
+#: builtin/add.c:114
 #, c-format
 msgid "remove '%s'\n"
 msgstr "eliminar '%s'\n"
 
-#: builtin/add.c:186
+#: builtin/add.c:198
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Cambios fuera del área de stage tras refrescar el índice:"
 
-#: builtin/add.c:280 builtin/rev-parse.c:991
+#: builtin/add.c:307 builtin/rev-parse.c:991
 msgid "Could not read the index"
 msgstr "No se pudo leer el índice"
 
-#: builtin/add.c:291
+#: builtin/add.c:318
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "No se pudo abrir '%s' para escritura."
 
-#: builtin/add.c:295
+#: builtin/add.c:322
 msgid "Could not write patch"
 msgstr "No se puede escribir el parche"
 
-#: builtin/add.c:298
+#: builtin/add.c:325
 msgid "editing patch failed"
 msgstr "falló la edición del parche"
 
-#: builtin/add.c:301
+#: builtin/add.c:328
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "No se pudo definir '%s'"
 
-#: builtin/add.c:303
+#: builtin/add.c:330
 msgid "Empty patch. Aborted."
 msgstr "Parche vacío. Abortado."
 
-#: builtin/add.c:308
+#: builtin/add.c:335
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "No se pudo aplicar '%s'"
 
-#: builtin/add.c:316
+#: builtin/add.c:343
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Las siguientes rutas son ignoradas por uno de tus archivos .gitignore:\n"
 
-#: builtin/add.c:336 builtin/clean.c:904 builtin/fetch.c:169 builtin/mv.c:124
+#: builtin/add.c:363 builtin/clean.c:904 builtin/fetch.c:173 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:559
-#: builtin/remote.c:1427 builtin/rm.c:242 builtin/send-pack.c:190
+#: builtin/remote.c:1427 builtin/rm.c:243 builtin/send-pack.c:190
 msgid "dry run"
 msgstr "dry run ( ejecución en seco)"
 
-#: builtin/add.c:339
+#: builtin/add.c:366
 msgid "interactive picking"
 msgstr "selección interactiva"
 
-#: builtin/add.c:340 builtin/checkout.c:1546 builtin/reset.c:308
+#: builtin/add.c:367 builtin/checkout.c:1567 builtin/reset.c:308
 msgid "select hunks interactively"
 msgstr "elegir hunks de forma interactiva"
 
-#: builtin/add.c:341
+#: builtin/add.c:368
 msgid "edit current diff and apply"
 msgstr "editar diff actual y aplicar"
 
-#: builtin/add.c:342
+#: builtin/add.c:369
 msgid "allow adding otherwise ignored files"
 msgstr "permitir agregar caso contrario ignorar archivos"
 
-#: builtin/add.c:343
+#: builtin/add.c:370
 msgid "update tracked files"
 msgstr "actualizado las carpetas rastreadas"
 
-#: builtin/add.c:344
+#: builtin/add.c:371
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "renormalizar EOL de los archivos rastreados (implica -u)"
 
-#: builtin/add.c:345
+#: builtin/add.c:372
 msgid "record only the fact that the path will be added later"
 msgstr "grabar solo el hecho de que la ruta será agregada después"
 
-#: builtin/add.c:346
+#: builtin/add.c:373
 msgid "add changes from all tracked and untracked files"
 msgstr "agregar los cambios de todas las carpetas con y sin seguimiento"
 
-#: builtin/add.c:349
+#: builtin/add.c:376
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "ignorar rutas eliminadas en el árbol de trabajo (lo mismo que --no-all)"
 
-#: builtin/add.c:351
+#: builtin/add.c:378
 msgid "don't add, only refresh the index"
 msgstr "no agregar, solo actualizar el índice"
 
-#: builtin/add.c:352
+#: builtin/add.c:379
 msgid "just skip files which cannot be added because of errors"
 msgstr "saltar las carpetas que no pueden ser agregadas a causa de errores"
 
-#: builtin/add.c:353
+#: builtin/add.c:380
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "comprobar si - incluso los archivos que faltan - se ignoran en dry run"
 
-#: builtin/add.c:355 builtin/update-index.c:1004
+#: builtin/add.c:382 builtin/update-index.c:1006
 msgid "override the executable bit of the listed files"
 msgstr "sobrescribir el bit ejecutable de los archivos listados"
 
-#: builtin/add.c:357
+#: builtin/add.c:384
 msgid "warn when adding an embedded repository"
 msgstr "avisar cuando se agrega un repositorio incrustado"
 
-#: builtin/add.c:359
+#: builtin/add.c:386
 msgid "backend for `git stash -p`"
 msgstr "backend para `git stash -p`"
 
-#: builtin/add.c:377
+#: builtin/add.c:404
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -10178,25 +10329,25 @@
 "See \"git help submodule\" for more information."
 msgstr ""
 "Se ha agregado otro repositorio de git dentro del repositorio actual.\n"
-"Clones del repositorio exterior no tendrán el contenido del \n"
+"Clones del repositorio exterior no tendrán el contenido del\n"
 "repositorio embebido y no sabrán como obtenerla.\n"
 "Si querías agregar un submódulo, usa:\n"
 "\n"
 "\tgit submodule add <url> %s\n"
 "\n"
-"Si se agrego esta ruta por error, puedes eliminar desde el índice \n"
+"Si se agrego esta ruta por error, puedes eliminar desde el índice\n"
 "usando:\n"
 "\n"
 "\tgit rm --cached %s\n"
 "\n"
 "Vea \"git help submodule\" para más información."
 
-#: builtin/add.c:405
+#: builtin/add.c:432
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "agregando repositorio embebido: %s"
 
-#: builtin/add.c:424
+#: builtin/add.c:451
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -10206,47 +10357,51 @@
 "Desactiva este mensaje ejecutando\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:433
+#: builtin/add.c:460
 msgid "adding files failed"
 msgstr "falló al agregar archivos"
 
-#: builtin/add.c:461 builtin/commit.c:345
+#: builtin/add.c:488
+msgid "--dry-run is incompatible with --interactive/--patch"
+msgstr "--dry-run es incompatible con --interactive/--patch"
+
+#: builtin/add.c:490 builtin/commit.c:357
 msgid "--pathspec-from-file is incompatible with --interactive/--patch"
 msgstr "--pathspec-from-file es incompatible con --interactive/--patch"
 
-#: builtin/add.c:478
+#: builtin/add.c:507
 msgid "--pathspec-from-file is incompatible with --edit"
 msgstr "--pathspec-from-file es incompatible con --edit"
 
-#: builtin/add.c:490
+#: builtin/add.c:519
 msgid "-A and -u are mutually incompatible"
 msgstr "-A y -u son mutuamente incompatibles"
 
-#: builtin/add.c:493
+#: builtin/add.c:522
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Opción --ignore-missing solo puede ser usada junto a --dry-run"
 
-#: builtin/add.c:497
+#: builtin/add.c:526
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "El parámetro '%s' para --chmod debe ser -x ó +x"
 
-#: builtin/add.c:515 builtin/checkout.c:1714 builtin/commit.c:351
-#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1569
+#: builtin/add.c:544 builtin/checkout.c:1735 builtin/commit.c:363
+#: builtin/reset.c:328 builtin/rm.c:273 builtin/stash.c:1637
 msgid "--pathspec-from-file is incompatible with pathspec arguments"
 msgstr "--pathspec-from-file es incompatible con argumentos de pathspec"
 
-#: builtin/add.c:522 builtin/checkout.c:1726 builtin/commit.c:357
-#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1575
+#: builtin/add.c:551 builtin/checkout.c:1747 builtin/commit.c:369
+#: builtin/reset.c:334 builtin/rm.c:279 builtin/stash.c:1643
 msgid "--pathspec-file-nul requires --pathspec-from-file"
 msgstr "--pathspec-file-nul requiere --pathspec-from-file"
 
-#: builtin/add.c:526
+#: builtin/add.c:555
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Nada especificado, nada agregado.\n"
 
-#: builtin/add.c:528
+#: builtin/add.c:557
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10256,111 +10411,111 @@
 "Desactiva este mensage ejecutando\n"
 "\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:352
+#: builtin/am.c:364
 msgid "could not parse author script"
 msgstr "no se pudo analizar el script del autor"
 
-#: builtin/am.c:436
+#: builtin/am.c:454
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' fue borrado por el hook de applypatch-msg"
 
-#: builtin/am.c:478
+#: builtin/am.c:496
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Línea mal formada: '%s'."
 
-#: builtin/am.c:516
+#: builtin/am.c:534
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Falló al copiar notas de '%s' a '%s'"
 
-#: builtin/am.c:542
+#: builtin/am.c:560
 msgid "fseek failed"
 msgstr "fall de fseek"
 
-#: builtin/am.c:730
+#: builtin/am.c:748
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "no se pudo analizar el parche '%s'"
 
-#: builtin/am.c:795
+#: builtin/am.c:813
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Solo un parche StGIT puede ser aplicado de una vez"
 
-#: builtin/am.c:843
+#: builtin/am.c:861
 msgid "invalid timestamp"
 msgstr "timestamp inválido"
 
-#: builtin/am.c:848 builtin/am.c:860
+#: builtin/am.c:866 builtin/am.c:878
 msgid "invalid Date line"
 msgstr "línea Date inválida"
 
-#: builtin/am.c:855
+#: builtin/am.c:873
 msgid "invalid timezone offset"
 msgstr "offset de zona horaria inválido"
 
-#: builtin/am.c:948
+#: builtin/am.c:966
 msgid "Patch format detection failed."
 msgstr "Falló al detectar el formato del parche."
 
-#: builtin/am.c:953 builtin/clone.c:410
+#: builtin/am.c:971 builtin/clone.c:414
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "falló al crear el directorio '%s'"
 
-#: builtin/am.c:958
+#: builtin/am.c:976
 msgid "Failed to split patches."
 msgstr "Falló al dividir parches."
 
-#: builtin/am.c:1089
+#: builtin/am.c:1125
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Cuando hayas resuelto este problema, ejecuta \"%s --continue\"."
 
-#: builtin/am.c:1090
+#: builtin/am.c:1126
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "Si prefieres saltar este parche, ejecuta \"%s --skip\"."
 
-#: builtin/am.c:1091
+#: builtin/am.c:1127
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 "Para restaurar la rama original y detener el parchado, ejecutar \"%s --abort"
 "\"."
 
-#: builtin/am.c:1174
+#: builtin/am.c:1222
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Parche mandado con formato=flowed; espacios al final de las líneas tal vez "
 "desaparezcan."
 
-#: builtin/am.c:1202
+#: builtin/am.c:1250
 msgid "Patch is empty."
 msgstr "El parche está vacío."
 
-#: builtin/am.c:1267
+#: builtin/am.c:1315
 #, c-format
 msgid "missing author line in commit %s"
 msgstr "falta línea autor en commit %s"
 
-#: builtin/am.c:1270
+#: builtin/am.c:1318
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "sangría no válida: %.*s"
 
-#: builtin/am.c:1489
+#: builtin/am.c:1537
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "Repositorio carece de los blobs necesarios para retroceder en una fusión de "
 "3-vías."
 
-#: builtin/am.c:1491
+#: builtin/am.c:1539
 msgid "Using index info to reconstruct a base tree..."
 msgstr "Usando la información del índice para reconstruir un árbol base..."
 
-#: builtin/am.c:1510
+#: builtin/am.c:1558
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -10368,24 +10523,24 @@
 "¿Editaste el parche a mano?\n"
 "No aplica a blobs guardados en su índice."
 
-#: builtin/am.c:1516
+#: builtin/am.c:1564
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retrocediendo para parchar base y fusión de 3-vías..."
 
-#: builtin/am.c:1542
+#: builtin/am.c:1590
 msgid "Failed to merge in the changes."
 msgstr "Falló al fusionar en los cambios."
 
-#: builtin/am.c:1574
+#: builtin/am.c:1622
 msgid "applying to an empty history"
 msgstr "aplicando a un historial vacío"
 
-#: builtin/am.c:1626 builtin/am.c:1630
+#: builtin/am.c:1674 builtin/am.c:1678
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "no se puede continuar: %s no existe."
 
-#: builtin/am.c:1648
+#: builtin/am.c:1696
 msgid "Commit Body is:"
 msgstr "Cuerpo de commit es:"
 
@@ -10393,39 +10548,39 @@
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1658
+#: builtin/am.c:1706
 #, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "¿Aplicar? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 
-#: builtin/am.c:1704 builtin/commit.c:395
+#: builtin/am.c:1752 builtin/commit.c:408
 msgid "unable to write index file"
 msgstr "no es posible escribir en el archivo índice"
 
-#: builtin/am.c:1708
+#: builtin/am.c:1756
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Índice sucio: no se puede aplicar parches (sucio: %s)"
 
-#: builtin/am.c:1748 builtin/am.c:1816
+#: builtin/am.c:1796 builtin/am.c:1864
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Aplicando: %.*s"
 
-#: builtin/am.c:1765
+#: builtin/am.c:1813
 msgid "No changes -- Patch already applied."
 msgstr "Sin cambios -- parche ya aplicado."
 
-#: builtin/am.c:1771
+#: builtin/am.c:1819
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "El parche falló en %s %.*s"
 
-#: builtin/am.c:1775
+#: builtin/am.c:1823
 msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr "Use 'git am --show-current-patch=diff' para ver el parche fallido"
 
-#: builtin/am.c:1819
+#: builtin/am.c:1867
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -10435,7 +10590,7 @@
 "Si no hay nada en el área de stage, las posibilidad es que algo mas\n"
 "ya haya introducido el mismo cambio; tal vez quieras omitir este parche."
 
-#: builtin/am.c:1826
+#: builtin/am.c:1874
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -10448,17 +10603,17 @@
 "Se puede ejecutar `git rm` en el archivo para aceptar \"borrado por ellos\" "
 "en él."
 
-#: builtin/am.c:1933 builtin/am.c:1937 builtin/am.c:1949 builtin/reset.c:347
+#: builtin/am.c:1981 builtin/am.c:1985 builtin/am.c:1997 builtin/reset.c:347
 #: builtin/reset.c:355
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "No se pudo analizar el objeto '%s'."
 
-#: builtin/am.c:1985
+#: builtin/am.c:2033
 msgid "failed to clean index"
 msgstr "falló al limpiar el índice"
 
-#: builtin/am.c:2029
+#: builtin/am.c:2077
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -10466,156 +10621,160 @@
 "Parece haber movido HEAD desde el último falló 'am'.\n"
 "No rebobinando a ORIG_HEAD"
 
-#: builtin/am.c:2136
+#: builtin/am.c:2184
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valor inválido para --patch-format: %s"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2226
 #, c-format
 msgid "Invalid value for --show-current-patch: %s"
 msgstr "Valor inválido para --show-current-patch: %s"
 
-#: builtin/am.c:2182
+#: builtin/am.c:2230
 #, c-format
 msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s"
 msgstr "--show-current-patch=%s es incompatible con --show-current-patch=%s"
 
-#: builtin/am.c:2213
+#: builtin/am.c:2261
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<opciones>] [(<mbox> | <Directorio-de-correo>)...]"
 
-#: builtin/am.c:2214
+#: builtin/am.c:2262
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<opciones>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2220
+#: builtin/am.c:2268
 msgid "run interactively"
 msgstr "ejecutar de manera interactiva"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2270
 msgid "historical option -- no-op"
 msgstr "opción histórica -- no-op"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2272
 msgid "allow fall back on 3way merging if needed"
 msgstr "permitir retroceso en fusión de 3-vías si es necesario"
 
-#: builtin/am.c:2225 builtin/init-db.c:560 builtin/prune-packed.c:16
-#: builtin/repack.c:334 builtin/stash.c:882
+#: builtin/am.c:2273 builtin/init-db.c:546 builtin/prune-packed.c:16
+#: builtin/repack.c:472 builtin/stash.c:948
 msgid "be quiet"
 msgstr "ser silencioso"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2275
 msgid "add a Signed-off-by trailer to the commit message"
 msgstr "agregar una línea \"Firmado-por\" al mensaje del commit"
 
-#: builtin/am.c:2230
+#: builtin/am.c:2278
 msgid "recode into utf8 (default)"
 msgstr "recodificar en utf8 (default)"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2280
 msgid "pass -k flag to git-mailinfo"
 msgstr "pasar flag -k a git-mailinfo"
 
-#: builtin/am.c:2234
+#: builtin/am.c:2282
 msgid "pass -b flag to git-mailinfo"
 msgstr "pasar flag -b a git-mailinfo"
 
-#: builtin/am.c:2236
+#: builtin/am.c:2284
 msgid "pass -m flag to git-mailinfo"
 msgstr "pasar flag -m a git-mailinfo"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2286
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "pasar flag --keep-cr a git-mailsplit para formato mbox"
 
-#: builtin/am.c:2241
+#: builtin/am.c:2289
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "no pasar flag --keep-cr a git-mailsplit independientemente de am.keepcr"
 
-#: builtin/am.c:2244
+#: builtin/am.c:2292
 msgid "strip everything before a scissors line"
 msgstr "descubrir todo antes de una línea de tijeras"
 
-#: builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252 builtin/am.c:2255
-#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267
-#: builtin/am.c:2273
+#: builtin/am.c:2294
+msgid "pass it through git-mailinfo"
+msgstr "pasarlo a través de git-mailinfo"
+
+#: builtin/am.c:2297 builtin/am.c:2300 builtin/am.c:2303 builtin/am.c:2306
+#: builtin/am.c:2309 builtin/am.c:2312 builtin/am.c:2315 builtin/am.c:2318
+#: builtin/am.c:2324
 msgid "pass it through git-apply"
 msgstr "pasarlo a través de git-apply"
 
-#: builtin/am.c:2263 builtin/commit.c:1395 builtin/fmt-merge-msg.c:17
-#: builtin/fmt-merge-msg.c:20 builtin/grep.c:904 builtin/merge.c:261
+#: builtin/am.c:2314 builtin/commit.c:1505 builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:906 builtin/merge.c:261
 #: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
-#: builtin/rebase.c:1347 builtin/repack.c:345 builtin/repack.c:349
-#: builtin/repack.c:351 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:436 parse-options.h:154 parse-options.h:175
-#: parse-options.h:316
+#: builtin/rebase.c:1342 builtin/repack.c:483 builtin/repack.c:487
+#: builtin/repack.c:489 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:447 parse-options.h:155 parse-options.h:176
+#: parse-options.h:317
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2269 builtin/branch.c:670 builtin/bugreport.c:136
-#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:470
+#: builtin/am.c:2320 builtin/branch.c:672 builtin/bugreport.c:137
+#: builtin/for-each-ref.c:40 builtin/replace.c:556 builtin/tag.c:481
 #: builtin/verify-tag.c:38
 msgid "format"
 msgstr "formato"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2321
 msgid "format the patch(es) are in"
 msgstr "formatear el parche(s)"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2327
 msgid "override error message when patch failure occurs"
 msgstr "sobrescribir mensajes de error cuando fallos de parchado ocurran"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2329
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuar aplicando los parches tras resolver conflictos"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2332
 msgid "synonyms for --continue"
 msgstr "sinónimos para --continue"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2335
 msgid "skip the current patch"
 msgstr "saltar el parche actual"
 
-#: builtin/am.c:2287
+#: builtin/am.c:2338
 msgid "restore the original branch and abort the patching operation"
 msgstr "restaurar la rama original y abortar la operación de parcheo"
 
-#: builtin/am.c:2290
+#: builtin/am.c:2341
 msgid "abort the patching operation but keep HEAD where it is"
 msgstr "abortar la operación de parcheo pero mantener HEAD donde está"
 
-#: builtin/am.c:2294
+#: builtin/am.c:2345
 msgid "show the patch being applied"
 msgstr "muestra el parche siendo aplicado"
 
-#: builtin/am.c:2299
+#: builtin/am.c:2350
 msgid "lie about committer date"
 msgstr "mentir sobre la fecha del committer"
 
-#: builtin/am.c:2301
+#: builtin/am.c:2352
 msgid "use current timestamp for author date"
 msgstr "usar el timestamp actual para la fecha del autor"
 
-#: builtin/am.c:2303 builtin/commit-tree.c:120 builtin/commit.c:1515
-#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:538
-#: builtin/rebase.c:1400 builtin/revert.c:117 builtin/tag.c:451
+#: builtin/am.c:2354 builtin/commit-tree.c:120 builtin/commit.c:1630
+#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:537
+#: builtin/rebase.c:1395 builtin/revert.c:117 builtin/tag.c:462
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2304 builtin/rebase.c:539 builtin/rebase.c:1401
+#: builtin/am.c:2355 builtin/rebase.c:538 builtin/rebase.c:1396
 msgid "GPG-sign commits"
 msgstr "Commits con firma GPG"
 
-#: builtin/am.c:2307
+#: builtin/am.c:2358
 msgid "(internal use for git-rebase)"
 msgstr "(uso interno para git-rebase)"
 
-#: builtin/am.c:2325
+#: builtin/am.c:2376
 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."
@@ -10623,16 +10782,16 @@
 "La opción -b/--binary ha estado deshabilitada por mucho tiempo, y\n"
 "será eliminada. Por favor no la use más."
 
-#: builtin/am.c:2332
+#: builtin/am.c:2383
 msgid "failed to read the index"
 msgstr "falló al leer el índice"
 
-#: builtin/am.c:2347
+#: builtin/am.c:2398
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "directorio de rebase previo %s todavía existe en el mbox dado."
 
-#: builtin/am.c:2371
+#: builtin/am.c:2422
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -10641,11 +10800,11 @@
 "Directorio extraviado %s encontrado.\n"
 "Use \"git am --abort\" para borrarlo."
 
-#: builtin/am.c:2377
+#: builtin/am.c:2428
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Operación de resolución no está en progreso, no vamos a continuar."
 
-#: builtin/am.c:2387
+#: builtin/am.c:2438
 msgid "interactive mode requires patches on the command line"
 msgstr "modo interactivo requiere parches en la línea de comando"
 
@@ -10851,7 +11010,7 @@
 "argumento inválido %s para 'git bisect terms'.\n"
 "Las opciones soportadas son: --term-good|--term-old y --term-bad|--term-new."
 
-#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1014
+#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1021
 msgid "revision walk setup failed\n"
 msgstr "la configuración del recorrido de revisión falló\n"
 
@@ -10918,86 +11077,91 @@
 msgid "'git bisect %s' can take only one argument."
 msgstr "'git bisect %s' solo puede tomar un argumento."
 
-#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:878
+#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:880
 #, c-format
 msgid "Bad rev input: %s"
 msgstr "Mala entrada rev: %s"
 
-#: builtin/bisect--helper.c:912
+#: builtin/bisect--helper.c:887
+#, c-format
+msgid "Bad rev input (not a commit): %s"
+msgstr "Mala entrada rev (no es un commit): %s"
+
+#: builtin/bisect--helper.c:919
 msgid "We are not bisecting."
 msgstr "No estamos bisecando."
 
-#: builtin/bisect--helper.c:962
+#: builtin/bisect--helper.c:969
 #, c-format
 msgid "'%s'?? what are you talking about?"
 msgstr "'%s'?? ¿De qué estás hablando?"
 
-#: builtin/bisect--helper.c:974
+#: builtin/bisect--helper.c:981
 #, c-format
 msgid "cannot read file '%s' for replaying"
 msgstr "no se puede leer '%s' para reproducir"
 
-#: builtin/bisect--helper.c:1047
+#: builtin/bisect--helper.c:1054
 msgid "reset the bisection state"
 msgstr "reiniciar el estado de bisect"
 
-#: builtin/bisect--helper.c:1049
+#: builtin/bisect--helper.c:1056
 msgid "check whether bad or good terms exist"
 msgstr "revisar si existen términos malos o buenos"
 
-#: builtin/bisect--helper.c:1051
+#: builtin/bisect--helper.c:1058
 msgid "print out the bisect terms"
 msgstr "imprimir los terms del bisect"
 
-#: builtin/bisect--helper.c:1053
+#: builtin/bisect--helper.c:1060
 msgid "start the bisect session"
 msgstr "comenzar la sesión de bisect"
 
-#: builtin/bisect--helper.c:1055
+#: builtin/bisect--helper.c:1062
 msgid "find the next bisection commit"
 msgstr "encontrar el siguiente commit de bisección"
 
-#: builtin/bisect--helper.c:1057
+#: builtin/bisect--helper.c:1064
 msgid "mark the state of ref (or refs)"
 msgstr "marcar el estado de ref (o refs)"
 
-#: builtin/bisect--helper.c:1059
+#: builtin/bisect--helper.c:1066
 msgid "list the bisection steps so far"
 msgstr "listar los pasos de bisección hasta ahora"
 
-#: builtin/bisect--helper.c:1061
+#: builtin/bisect--helper.c:1068
 msgid "replay the bisection process from the given file"
 msgstr "reproducir el proceso de bisección del archivo dado"
 
-#: builtin/bisect--helper.c:1063
+#: builtin/bisect--helper.c:1070
 msgid "skip some commits for checkout"
 msgstr "saltar algunos commits para checkout"
 
-#: builtin/bisect--helper.c:1065
+#: builtin/bisect--helper.c:1072
 msgid "no log for BISECT_WRITE"
 msgstr "no hay log para BISECT_WRITE"
 
-#: builtin/bisect--helper.c:1080
+#: builtin/bisect--helper.c:1087
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset requiere un commit o ningún argumento"
 
-#: builtin/bisect--helper.c:1085
+#: builtin/bisect--helper.c:1092
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check requiere 2 o 3 argumentos"
 
-#: builtin/bisect--helper.c:1091
+#: builtin/bisect--helper.c:1098
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms requiere 0 o 1 argumentos"
 
-#: builtin/bisect--helper.c:1100
+#: builtin/bisect--helper.c:1107
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next requiere 0 argumentos"
 
-#: builtin/bisect--helper.c:1111
+#: builtin/bisect--helper.c:1118
 msgid "--bisect-log requires 0 arguments"
 msgstr "--bisect-log requiere 0 argumentos"
 
-#: builtin/bisect--helper.c:1116
+#: builtin/bisect--helper.c:1123
 msgid "no logfile given"
 msgstr "ningún logfile proporcionado"
 
@@ -11048,9 +11212,9 @@
 msgid "show work cost statistics"
 msgstr "mostrar estadísticas de costo de trabajo"
 
-#: builtin/blame.c:871 builtin/checkout.c:1503 builtin/clone.c:92
-#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:175
-#: builtin/merge.c:297 builtin/multi-pack-index.c:27 builtin/pull.c:119
+#: builtin/blame.c:871 builtin/checkout.c:1524 builtin/clone.c:94
+#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:179
+#: builtin/merge.c:297 builtin/multi-pack-index.c:55 builtin/pull.c:119
 #: builtin/push.c:575 builtin/send-pack.c:198
 msgid "force progress reporting"
 msgstr "forzar el reporte de progreso"
@@ -11099,7 +11263,7 @@
 msgid "ignore whitespace differences"
 msgstr "ignorar diferencias de espacios en blanco"
 
-#: builtin/blame.c:883 builtin/log.c:1812
+#: builtin/blame.c:883 builtin/log.c:1820
 msgid "rev"
 msgstr "rev"
 
@@ -11222,7 +11386,7 @@
 "not deleting branch '%s' that is not yet merged to\n"
 "         '%s', even though it is merged to HEAD."
 msgstr ""
-"no borrando rama '%s' que todavía no ha sido fusionada \n"
+"no borrando rama '%s' que todavía no ha sido fusionada\n"
 "\ta '%s', aunque se fusione con HEAD."
 
 #: builtin/branch.c:172
@@ -11276,78 +11440,78 @@
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Eliminada la rama %s (era %s)..\n"
 
-#: builtin/branch.c:438 builtin/tag.c:61
+#: builtin/branch.c:440 builtin/tag.c:63
 msgid "unable to parse format string"
 msgstr "no es posible analizar el string de formato"
 
-#: builtin/branch.c:469
+#: builtin/branch.c:471
 msgid "could not resolve HEAD"
 msgstr "no se pudo resolver HEAD"
 
-#: builtin/branch.c:475
+#: builtin/branch.c:477
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) apunta fuera de refs/heads/"
 
-#: builtin/branch.c:490
+#: builtin/branch.c:492
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Rama %s está siendo rebasada en %s"
 
-#: builtin/branch.c:494
+#: builtin/branch.c:496
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Rama %s está siendo bisecada en %s"
 
-#: builtin/branch.c:511
+#: builtin/branch.c:513
 msgid "cannot copy the current branch while not on any."
 msgstr "no se puede copiar la rama actual mientras no se está en ninguna."
 
-#: builtin/branch.c:513
+#: builtin/branch.c:515
 msgid "cannot rename the current branch while not on any."
 msgstr "no se puede renombrar la rama actual mientras no se está en ninguna."
 
-#: builtin/branch.c:524
+#: builtin/branch.c:526
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Nombre de rama inválido: '%s'"
 
-#: builtin/branch.c:553
+#: builtin/branch.c:555
 msgid "Branch rename failed"
 msgstr "Cambio de nombre de rama fallido"
 
-#: builtin/branch.c:555
+#: builtin/branch.c:557
 msgid "Branch copy failed"
 msgstr "Copiado de rama fallido"
 
-#: builtin/branch.c:559
+#: builtin/branch.c:561
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "Copia creada de la rama malnombrada '%s'"
 
-#: builtin/branch.c:562
+#: builtin/branch.c:564
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Rama mal llamada '%s' renombrada"
 
-#: builtin/branch.c:568
+#: builtin/branch.c:570
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "¡Rama renombrada a %s, pero HEAD no está actualizado!"
 
-#: builtin/branch.c:577
+#: builtin/branch.c:579
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 "La rama está renombrada, pero falló la actualización del archivo de "
 "configuración"
 
-#: builtin/branch.c:579
+#: builtin/branch.c:581
 msgid "Branch is copied, but update of config-file failed"
 msgstr ""
 "La rama está copiada, pero falló la actualización del archivo de "
 "configuración"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:597
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11358,180 +11522,180 @@
 "%s\n"
 "Las líneas que comiencen con '%c' serán eliminadas.\n"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:631
 msgid "Generic options"
 msgstr "Opciones genéricas"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:633
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "mostrar hash y tema, dar dos veces para rama upstream"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:634
 msgid "suppress informational messages"
 msgstr "suprimir mensajes informativos"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:635
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "configurando modo tracking (mirar git-pull(1))"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:637
 msgid "do not use"
 msgstr "no usar"
 
-#: builtin/branch.c:637 builtin/rebase.c:534
+#: builtin/branch.c:639 builtin/rebase.c:533
 msgid "upstream"
 msgstr "upstream"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:639
 msgid "change the upstream info"
 msgstr "cambiar info de upstream"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:640
 msgid "unset the upstream info"
 msgstr "desconfigurando la info de upstream"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:641
 msgid "use colored output"
 msgstr "usar salida con colores"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:642
 msgid "act on remote-tracking branches"
 msgstr "actuar en ramas de traqueo remoto"
 
-#: builtin/branch.c:642 builtin/branch.c:644
+#: builtin/branch.c:644 builtin/branch.c:646
 msgid "print only branches that contain the commit"
 msgstr "mostrar solo ramas que contienen el commit"
 
-#: builtin/branch.c:643 builtin/branch.c:645
+#: builtin/branch.c:645 builtin/branch.c:647
 msgid "print only branches that don't contain the commit"
 msgstr "mostrar solo ramas que no contienen el commit"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:650
 msgid "Specific git-branch actions:"
 msgstr "Acciones específicas de git-branch:"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:651
 msgid "list both remote-tracking and local branches"
 msgstr "listar ramas de remote-tracking y locales"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:653
 msgid "delete fully merged branch"
 msgstr "borrar ramas totalmente fusionadas"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:654
 msgid "delete branch (even if not merged)"
 msgstr "borrar rama (incluso si no está fusionada)"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:655
 msgid "move/rename a branch and its reflog"
 msgstr "mover/renombrar una rama y su reflog"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:656
 msgid "move/rename a branch, even if target exists"
 msgstr "mover/renombrar una rama, incluso si el destino existe"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:657
 msgid "copy a branch and its reflog"
 msgstr "copiar una rama y su reflog"
 
-#: builtin/branch.c:656
+#: builtin/branch.c:658
 msgid "copy a branch, even if target exists"
 msgstr "copiar una rama, incluso si el objetivo existe"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:659
 msgid "list branch names"
 msgstr "listar nombres de ramas"
 
-#: builtin/branch.c:658
+#: builtin/branch.c:660
 msgid "show current branch name"
 msgstr "muestra el nombre de branch actual"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:661
 msgid "create the branch's reflog"
 msgstr "crea el reflog de la rama"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:663
 msgid "edit the description for the branch"
 msgstr "edita la descripción de la rama"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:664
 msgid "force creation, move/rename, deletion"
 msgstr "fuerza la creación,movimiento/renombrado,borrado"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:665
 msgid "print only branches that are merged"
 msgstr "muestra solo ramas que han sido fusionadas"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:666
 msgid "print only branches that are not merged"
 msgstr "muestra solo ramas que no han sido fusionadas"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:667
 msgid "list branches in columns"
 msgstr "muestra las ramas en columnas"
 
-#: builtin/branch.c:667 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:669 builtin/for-each-ref.c:44 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:466
+#: builtin/tag.c:477
 msgid "object"
 msgstr "objeto"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:670
 msgid "print only branches of the object"
 msgstr "imprimir sólo las ramas del objeto"
 
-#: builtin/branch.c:669 builtin/for-each-ref.c:48 builtin/tag.c:473
+#: builtin/branch.c:671 builtin/for-each-ref.c:50 builtin/tag.c:484
 msgid "sorting and filtering are case insensitive"
 msgstr "ordenamiento y filtrado son case-insensitive"
 
-#: builtin/branch.c:670 builtin/for-each-ref.c:38 builtin/tag.c:471
+#: builtin/branch.c:672 builtin/for-each-ref.c:40 builtin/tag.c:482
 #: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "formato para usar para el output"
 
-#: builtin/branch.c:693 builtin/clone.c:790
+#: builtin/branch.c:695 builtin/clone.c:794
 msgid "HEAD not found below refs/heads!"
 msgstr "¡HEAD no encontrado abajo de refs/heads!"
 
-#: builtin/branch.c:717
+#: builtin/branch.c:719
 msgid "--column and --verbose are incompatible"
 msgstr "--column y --verbose son incompatibles"
 
-#: builtin/branch.c:732 builtin/branch.c:788 builtin/branch.c:797
+#: builtin/branch.c:734 builtin/branch.c:790 builtin/branch.c:799
 msgid "branch name required"
 msgstr "se necesita el nombre de la rama"
 
-#: builtin/branch.c:764
+#: builtin/branch.c:766
 msgid "Cannot give description to detached HEAD"
 msgstr "No se puede dar descripción al HEAD desacoplado"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:771
 msgid "cannot edit description of more than one branch"
 msgstr "no se puede editar la descripción de más de una rama"
 
-#: builtin/branch.c:776
+#: builtin/branch.c:778
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Aún no hay commits en la rama '%s'."
 
-#: builtin/branch.c:779
+#: builtin/branch.c:781
 #, c-format
 msgid "No branch named '%s'."
 msgstr "No hay ninguna rama llamada '%s'."
 
-#: builtin/branch.c:794
+#: builtin/branch.c:796
 msgid "too many branches for a copy operation"
 msgstr "demasiadas ramas para una operación de copiado"
 
-#: builtin/branch.c:803
+#: builtin/branch.c:805
 msgid "too many arguments for a rename operation"
 msgstr "demasiados argumentos para una operación de renombrado"
 
-#: builtin/branch.c:808
+#: builtin/branch.c:810
 msgid "too many arguments to set new upstream"
 msgstr "demasiados argumentos para configurar un nuevo upstream"
 
-#: builtin/branch.c:812
+#: builtin/branch.c:814
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -11539,32 +11703,32 @@
 "no se pudo configurar upstream de HEAD a %s cuando este no apunta a ninguna "
 "rama."
 
-#: builtin/branch.c:815 builtin/branch.c:838
+#: builtin/branch.c:817 builtin/branch.c:840
 #, c-format
 msgid "no such branch '%s'"
 msgstr "no hay tal rama '%s'"
 
-#: builtin/branch.c:819
+#: builtin/branch.c:821
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "la rama '%s' no existe"
 
-#: builtin/branch.c:832
+#: builtin/branch.c:834
 msgid "too many arguments to unset upstream"
 msgstr "demasiados argumentos para desconfigurar upstream"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:838
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "no se puede desconfigurar upstream de HEAD cuando este no apunta a ninguna "
 "rama."
 
-#: builtin/branch.c:842
+#: builtin/branch.c:844
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Rama '%s' no tiene información de upstream"
 
-#: builtin/branch.c:852
+#: builtin/branch.c:854
 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>?"
@@ -11572,7 +11736,7 @@
 "Las opciones -a, y -r, de 'git branch' no toman un nombre de rama.\n"
 "¿Quisiste usar: -a|-r --list <patrón>?"
 
-#: builtin/branch.c:856
+#: builtin/branch.c:858
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -11642,38 +11806,38 @@
 "Por favor revisa el resto del reporte abajo.\n"
 "Puedes borrar cualquier línea que no desees compartir.\n"
 
-#: builtin/bugreport.c:135
+#: builtin/bugreport.c:136
 msgid "specify a destination for the bugreport file"
 msgstr "especificar el destino para el archivo de reporte de bug"
 
-#: builtin/bugreport.c:137
+#: builtin/bugreport.c:138
 msgid "specify a strftime format suffix for the filename"
 msgstr "especificar el sufijo formato strftime para el nombre del archivo"
 
-#: builtin/bugreport.c:159
+#: builtin/bugreport.c:160
 #, c-format
 msgid "could not create leading directories for '%s'"
 msgstr "no se pudo crear directorios principales para '%s'"
 
-#: builtin/bugreport.c:166
+#: builtin/bugreport.c:167
 msgid "System Info"
 msgstr "Información del sistema"
 
-#: builtin/bugreport.c:169
+#: builtin/bugreport.c:170
 msgid "Enabled Hooks"
 msgstr "Activar Hooks"
 
-#: builtin/bugreport.c:176
+#: builtin/bugreport.c:177
 #, c-format
 msgid "couldn't create a new file at '%s'"
 msgstr "no se pudo crear un archivo en '%s'"
 
-#: builtin/bugreport.c:179
+#: builtin/bugreport.c:180
 #, c-format
 msgid "unable to write to %s"
 msgstr "no es posible escribir en %s"
 
-#: builtin/bugreport.c:189
+#: builtin/bugreport.c:190
 #, c-format
 msgid "Created new report at '%s'.\n"
 msgstr "Crear un nuevo reporte en '%s'.\n"
@@ -11694,19 +11858,19 @@
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <archivo> [<nombre-de-ref>...]"
 
-#: builtin/bundle.c:67 builtin/pack-objects.c:3495
+#: builtin/bundle.c:67 builtin/pack-objects.c:3747
 msgid "do not show progress meter"
 msgstr "no mostrar medidor de progreso"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3497
+#: builtin/bundle.c:69 builtin/pack-objects.c:3749
 msgid "show progress meter"
 msgstr "mostrar medidor de progreso"
 
-#: builtin/bundle.c:71 builtin/pack-objects.c:3499
+#: builtin/bundle.c:71 builtin/pack-objects.c:3751
 msgid "show progress meter during object writing phase"
 msgstr "mostrar medidor de progreso durante la fase de escritura de objeto"
 
-#: builtin/bundle.c:74 builtin/pack-objects.c:3502
+#: builtin/bundle.c:74 builtin/pack-objects.c:3754
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "similar a --all-progress cuando medidor de progreso es mostrado"
 
@@ -11849,8 +12013,8 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "terminar registros de entrada y salida con un carácter NUL"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1499 builtin/gc.c:549
-#: builtin/worktree.c:489
+#: builtin/check-ignore.c:21 builtin/checkout.c:1520 builtin/gc.c:549
+#: builtin/worktree.c:491
 msgid "suppress progress reporting"
 msgstr "suprimir el reporte de progreso"
 
@@ -11862,27 +12026,27 @@
 msgid "ignore index when checking"
 msgstr "ignorar el índice cuando se revise"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:165
 msgid "cannot specify pathnames with --stdin"
 msgstr "no se puede especificar los nombres de rutas con --stdin"
 
-#: builtin/check-ignore.c:166
+#: builtin/check-ignore.c:168
 msgid "-z only makes sense with --stdin"
 msgstr "-z sólo tiene sentido con --stdin"
 
-#: builtin/check-ignore.c:168
+#: builtin/check-ignore.c:170
 msgid "no path specified"
 msgstr "ruta no especificada"
 
-#: builtin/check-ignore.c:172
+#: builtin/check-ignore.c:174
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet solo es válido con un nombre de ruta único"
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:176
 msgid "cannot have both --quiet and --verbose"
 msgstr "no se puede tener ambos --quiet y --verbose"
 
-#: builtin/check-ignore.c:177
+#: builtin/check-ignore.c:179
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching sólo es válida con --verbose"
 
@@ -11903,6 +12067,21 @@
 msgid "no contacts specified"
 msgstr "contactos no especificados"
 
+#: builtin/checkout--worker.c:110
+msgid "git checkout--worker [<options>]"
+msgstr "git checkout--worker [<opciones>]"
+
+#: builtin/checkout--worker.c:118 builtin/checkout-index.c:201
+#: builtin/column.c:31 builtin/submodule--helper.c:1825
+#: builtin/submodule--helper.c:1828 builtin/submodule--helper.c:1836
+#: builtin/submodule--helper.c:2334 builtin/worktree.c:719
+msgid "string"
+msgstr "string"
+
+#: builtin/checkout--worker.c:119 builtin/checkout-index.c:202
+msgid "when creating files, prepend <string>"
+msgstr "cuando cree archivos, anteponer <string>"
+
 #: builtin/checkout-index.c:152
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<opciones>] [--] [<archivo>...]"
@@ -11911,159 +12090,148 @@
 msgid "stage should be between 1 and 3 or all"
 msgstr "stage tiene que estar entre 1 y 3 o all"
 
-#: builtin/checkout-index.c:186
+#: builtin/checkout-index.c:187
 msgid "check out all files in the index"
 msgstr "revisar todos los archivos en el índice"
 
-#: builtin/checkout-index.c:187
+#: builtin/checkout-index.c:188
 msgid "force overwrite of existing files"
 msgstr "forzar sobreescritura de los archivos existentes"
 
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:190
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "no hay advertencias para los archivos existentes y los archivos no están en "
 "el índice"
 
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:192
 msgid "don't checkout new files"
 msgstr "no revisar archivos nuevos"
 
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:194
 msgid "update stat information in the index file"
 msgstr "actualizar información de estado en el archivo índice"
 
-#: builtin/checkout-index.c:197
+#: builtin/checkout-index.c:198
 msgid "read list of paths from the standard input"
 msgstr "leer lista de rutas desde standard input"
 
-#: builtin/checkout-index.c:199
+#: builtin/checkout-index.c:200
 msgid "write the content to temporary files"
 msgstr "escribir el contenido en un archivo temporal"
 
-#: builtin/checkout-index.c:200 builtin/column.c:31
-#: builtin/submodule--helper.c:1824 builtin/submodule--helper.c:1827
-#: builtin/submodule--helper.c:1835 builtin/submodule--helper.c:2333
-#: builtin/worktree.c:717
-msgid "string"
-msgstr "string"
-
-#: builtin/checkout-index.c:201
-msgid "when creating files, prepend <string>"
-msgstr "cuando cree archivos, anteponer <string>"
-
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:204
 msgid "copy out the files from named stage"
 msgstr "copiar los archivos del stage nombrado"
 
-#: builtin/checkout.c:31
+#: builtin/checkout.c:33
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<opciones>]  <rama>"
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:34
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<opciones>] [<rama>] -- <archivo>..."
 
-#: builtin/checkout.c:37
+#: builtin/checkout.c:39
 msgid "git switch [<options>] [<branch>]"
 msgstr "git switch [<opciones>] [<rama>]"
 
-#: builtin/checkout.c:42
+#: builtin/checkout.c:44
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<opciones>] [--source=<rama>] -- <archivo>..."
 
-#: builtin/checkout.c:188 builtin/checkout.c:227
+#: builtin/checkout.c:190 builtin/checkout.c:229
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "ruta '%s' no tiene nuestra versión"
 
-#: builtin/checkout.c:190 builtin/checkout.c:229
+#: builtin/checkout.c:192 builtin/checkout.c:231
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "ruta '%s' no tiene su versión"
 
-#: builtin/checkout.c:206
+#: builtin/checkout.c:208
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "ruta '%s' no tiene todas las versiones necesarias"
 
-#: builtin/checkout.c:258
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "ruta '%s' no tiene versiones necesarias"
 
-#: builtin/checkout.c:275
+#: builtin/checkout.c:278
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "ruta '%s': no se puede fusionar"
 
-#: builtin/checkout.c:291
+#: builtin/checkout.c:294
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Incapaz de agregar resultados de fusión a '%s'"
 
-#: builtin/checkout.c:396
+#: builtin/checkout.c:414
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "Recreado %d conflicto de merge"
 msgstr[1] "Recreados %d conflictos de merge"
 
-#: builtin/checkout.c:401
+#: builtin/checkout.c:419
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "Actualizada %d ruta para %s"
 msgstr[1] "Actualizadas %d rutas para %s"
 
-#: builtin/checkout.c:408
+#: builtin/checkout.c:426
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "Actualizada %d ruta desde el index"
 msgstr[1] "Actualizadas %d rutas desde el index"
 
-#: builtin/checkout.c:431 builtin/checkout.c:434 builtin/checkout.c:437
-#: builtin/checkout.c:441
+#: builtin/checkout.c:449 builtin/checkout.c:452 builtin/checkout.c:455
+#: builtin/checkout.c:459
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' no puede ser usada con rutas actualizadas"
 
-#: builtin/checkout.c:444 builtin/checkout.c:447
+#: builtin/checkout.c:462 builtin/checkout.c:465
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' no puede ser usado con %s"
 
-#: builtin/checkout.c:451
+#: builtin/checkout.c:469
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "No se puede actualizar rutas y cambiar a la rama '%s' al mismo tiempo."
 
-#: builtin/checkout.c:455
+#: builtin/checkout.c:473
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "ni '%s' o '%s' están especificados"
 
-#: builtin/checkout.c:459
+#: builtin/checkout.c:477
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "'%s' tiene que ser usado cuando '%s' no es especificado"
 
-#: builtin/checkout.c:464 builtin/checkout.c:469
+#: builtin/checkout.c:482 builtin/checkout.c:487
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "'%s' o '%s' no puede ser usado con %s"
 
-#: builtin/checkout.c:543 builtin/checkout.c:550
+#: builtin/checkout.c:563 builtin/checkout.c:570
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "ruta '%s' no esta fusionada"
 
-#: builtin/checkout.c:718
+#: builtin/checkout.c:739
 msgid "you need to resolve your current index first"
 msgstr "necesitas resolver tu índice actual primero"
 
-#: builtin/checkout.c:772
+#: builtin/checkout.c:793
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -12072,50 +12240,50 @@
 "no se puede continuar con los cambios en stage en los siguientes archivos:\n"
 "%s"
 
-#: builtin/checkout.c:865
+#: builtin/checkout.c:886
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "No se puede hacer reflog para '%s': %s\n"
 
-#: builtin/checkout.c:907
+#: builtin/checkout.c:928
 msgid "HEAD is now at"
 msgstr "HEAD está ahora en"
 
-#: builtin/checkout.c:911 builtin/clone.c:721 t/helper/test-fast-rebase.c:202
+#: builtin/checkout.c:932 builtin/clone.c:725 t/helper/test-fast-rebase.c:202
 msgid "unable to update HEAD"
 msgstr "no es posible actualizar  HEAD"
 
-#: builtin/checkout.c:915
+#: builtin/checkout.c:936
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Reiniciar rama '%s'\n"
 
-#: builtin/checkout.c:918
+#: builtin/checkout.c:939
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Ya en '%s'\n"
 
-#: builtin/checkout.c:922
+#: builtin/checkout.c:943
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Rama reiniciada y cambiada a '%s'\n"
 
-#: builtin/checkout.c:924 builtin/checkout.c:1355
+#: builtin/checkout.c:945 builtin/checkout.c:1376
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Cambiado a nueva rama '%s'\n"
 
-#: builtin/checkout.c:926
+#: builtin/checkout.c:947
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Cambiado a rama '%s'\n"
 
-#: builtin/checkout.c:977
+#: builtin/checkout.c:998
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... y %d más.\n"
 
-#: builtin/checkout.c:983
+#: builtin/checkout.c:1004
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -12138,7 +12306,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1002
+#: builtin/checkout.c:1023
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -12165,19 +12333,19 @@
 " git branch <nombre-de-rama> %s\n"
 "\n"
 
-#: builtin/checkout.c:1037
+#: builtin/checkout.c:1058
 msgid "internal error in revision walk"
 msgstr "error interno en camino de revisión"
 
-#: builtin/checkout.c:1041
+#: builtin/checkout.c:1062
 msgid "Previous HEAD position was"
 msgstr "La posición previa de HEAD era"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1350
+#: builtin/checkout.c:1102 builtin/checkout.c:1371
 msgid "You are on a branch yet to be born"
 msgstr "Estás en una rama por nacer"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1184
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -12186,7 +12354,7 @@
 "'%s' puede ser tanto un archivo local como una rama de rastreo.\n"
 "Por favor use -- (y opcionalmente --no-guess) para desambiguar"
 
-#: builtin/checkout.c:1170
+#: builtin/checkout.c:1191
 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"
@@ -12207,51 +12375,51 @@
 "de nombre <nombre> remota, como 'origin', considera configurar\n"
 "checkout.defaultRemote=origin en tu configuración."
 
-#: builtin/checkout.c:1180
+#: builtin/checkout.c:1201
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "'%s' concordó con multiples (%d) ramas de rastreo remoto"
 
-#: builtin/checkout.c:1246
+#: builtin/checkout.c:1267
 msgid "only one reference expected"
 msgstr "solo una referencia esperada"
 
-#: builtin/checkout.c:1263
+#: builtin/checkout.c:1284
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "solo una referencia esperada, %d entregadas."
 
-#: builtin/checkout.c:1309 builtin/worktree.c:270 builtin/worktree.c:438
+#: builtin/checkout.c:1330 builtin/worktree.c:270 builtin/worktree.c:438
 #, c-format
 msgid "invalid reference: %s"
 msgstr "referencia inválida: %s"
 
-#: builtin/checkout.c:1322 builtin/checkout.c:1688
+#: builtin/checkout.c:1343 builtin/checkout.c:1709
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "la referencia no es n árbol: %s"
 
-#: builtin/checkout.c:1369
+#: builtin/checkout.c:1390
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "se esperaba un branch, se obtuvo tag '%s'"
 
-#: builtin/checkout.c:1371
+#: builtin/checkout.c:1392
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "se espera una rama, se obtuvo una rama remota '%s'"
 
-#: builtin/checkout.c:1372 builtin/checkout.c:1380
+#: builtin/checkout.c:1393 builtin/checkout.c:1401
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "se esperaba branch, se obuto '%s'"
 
-#: builtin/checkout.c:1375
+#: builtin/checkout.c:1396
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "se espera una rama, se obtuvo commit '%s'"
 
-#: builtin/checkout.c:1391
+#: builtin/checkout.c:1412
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -12259,7 +12427,7 @@
 "no se puede cambiar de branch durante un merge\n"
 "Considera \"git merge --quit\" o \"git worktree add\"."
 
-#: builtin/checkout.c:1395
+#: builtin/checkout.c:1416
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -12267,7 +12435,7 @@
 "no se puede cambiar de branch en medio de una sesión de am\n"
 "Considera \"git am --quit\" o \"git worktree add\"."
 
-#: builtin/checkout.c:1399
+#: builtin/checkout.c:1420
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -12275,7 +12443,7 @@
 "no se puede cambiar de branch durante un rebase\n"
 "Considera \"git rebase --quit\" o \"git worktree add\"."
 
-#: builtin/checkout.c:1403
+#: builtin/checkout.c:1424
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -12283,7 +12451,7 @@
 "no se puede cambiar de branch durante un cherry-pick\n"
 "Considera \"git cherry-pick --quit\" o \"git worktree add\"."
 
-#: builtin/checkout.c:1407
+#: builtin/checkout.c:1428
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -12291,137 +12459,137 @@
 "no se puede cambiar de branch durante un revert\n"
 "Considera \"git revert --quit\" o \"git worktree add\"."
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1432
 msgid "you are switching branch while bisecting"
 msgstr "estás cambiando ramas durante un bisect"
 
-#: builtin/checkout.c:1418
+#: builtin/checkout.c:1439
 msgid "paths cannot be used with switching branches"
 msgstr "rutas no pueden ser usadas con cambios de rama"
 
-#: builtin/checkout.c:1421 builtin/checkout.c:1425 builtin/checkout.c:1429
+#: builtin/checkout.c:1442 builtin/checkout.c:1446 builtin/checkout.c:1450
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' no puede ser usado con cambios de ramas"
 
-#: builtin/checkout.c:1433 builtin/checkout.c:1436 builtin/checkout.c:1439
-#: builtin/checkout.c:1444 builtin/checkout.c:1449
+#: builtin/checkout.c:1454 builtin/checkout.c:1457 builtin/checkout.c:1460
+#: builtin/checkout.c:1465 builtin/checkout.c:1470
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' no puede ser usado con '%s'"
 
-#: builtin/checkout.c:1446
+#: builtin/checkout.c:1467
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' no puede tomar <punto de partida>"
 
-#: builtin/checkout.c:1454
+#: builtin/checkout.c:1475
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "No se puede cambiar rama a un '%s' sin commits"
 
-#: builtin/checkout.c:1461
+#: builtin/checkout.c:1482
 msgid "missing branch or commit argument"
 msgstr "falta branch o commit como argumento"
 
-#: builtin/checkout.c:1504
+#: builtin/checkout.c:1525
 msgid "perform a 3-way merge with the new branch"
 msgstr "realizar una fusión de tres vías con la rama nueva"
 
-#: builtin/checkout.c:1505 builtin/log.c:1799 parse-options.h:322
+#: builtin/checkout.c:1526 builtin/log.c:1807 parse-options.h:323
 msgid "style"
 msgstr "estilo"
 
-#: builtin/checkout.c:1506
+#: builtin/checkout.c:1527
 msgid "conflict style (merge or diff3)"
 msgstr "conflicto de estilos (merge o diff3)"
 
-#: builtin/checkout.c:1518 builtin/worktree.c:486
+#: builtin/checkout.c:1539 builtin/worktree.c:488
 msgid "detach HEAD at named commit"
 msgstr "desacoplar HEAD en el commit nombrado"
 
-#: builtin/checkout.c:1519
+#: builtin/checkout.c:1540
 msgid "set upstream info for new branch"
 msgstr "configurar info de upstream para una rama nueva"
 
-#: builtin/checkout.c:1521
+#: builtin/checkout.c:1542
 msgid "force checkout (throw away local modifications)"
 msgstr "forzar el checkout (descartar modificaciones locales)"
 
-#: builtin/checkout.c:1523
+#: builtin/checkout.c:1544
 msgid "new-branch"
 msgstr "nueva-rama"
 
-#: builtin/checkout.c:1523
+#: builtin/checkout.c:1544
 msgid "new unparented branch"
 msgstr "nueva rama no emparentada"
 
-#: builtin/checkout.c:1525 builtin/merge.c:301
+#: builtin/checkout.c:1546 builtin/merge.c:301
 msgid "update ignored files (default)"
 msgstr "actualizar archivos ignorados (default)"
 
-#: builtin/checkout.c:1528
+#: builtin/checkout.c:1549
 msgid "do not check if another worktree is holding the given ref"
 msgstr "no revise si otro árbol de trabajo contiene la ref entregada"
 
-#: builtin/checkout.c:1541
+#: builtin/checkout.c:1562
 msgid "checkout our version for unmerged files"
 msgstr "hacer checkout a  nuestra versión para archivos sin fusionar"
 
-#: builtin/checkout.c:1544
+#: builtin/checkout.c:1565
 msgid "checkout their version for unmerged files"
 msgstr "hacer checkout a su versión para los archivos sin fusionar"
 
-#: builtin/checkout.c:1548
+#: builtin/checkout.c:1569
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "no limitar pathspecs a dispersar entradas solamente"
 
-#: builtin/checkout.c:1603
+#: builtin/checkout.c:1624
 #, c-format
 msgid "-%c, -%c and --orphan are mutually exclusive"
 msgstr "-%c, -%c y --orphan son mutuamente exclusivas"
 
-#: builtin/checkout.c:1607
+#: builtin/checkout.c:1628
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p y --overlay son mutuamente exclusivas"
 
-#: builtin/checkout.c:1644
+#: builtin/checkout.c:1665
 msgid "--track needs a branch name"
 msgstr "--track necesita el nombre de una rama"
 
-#: builtin/checkout.c:1649
+#: builtin/checkout.c:1670
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "falta nombre de rama; prueba -%c"
 
-#: builtin/checkout.c:1681
+#: builtin/checkout.c:1702
 #, c-format
 msgid "could not resolve %s"
 msgstr "no se pudo resolver %s"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1718
 msgid "invalid path specification"
 msgstr "especificación de ruta inválida"
 
-#: builtin/checkout.c:1704
+#: builtin/checkout.c:1725
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' no es un commit y una rama '%s' no puede ser creada desde este"
 
-#: builtin/checkout.c:1708
+#: builtin/checkout.c:1729
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach no toma un argumento de ruta '%s'"
 
-#: builtin/checkout.c:1717
+#: builtin/checkout.c:1738
 msgid "--pathspec-from-file is incompatible with --detach"
 msgstr "--pathspec-from-file es incompatible con --detach"
 
-#: builtin/checkout.c:1720 builtin/reset.c:325 builtin/stash.c:1566
+#: builtin/checkout.c:1741 builtin/reset.c:325 builtin/stash.c:1634
 msgid "--pathspec-from-file is incompatible with --patch"
 msgstr "--pathspec-from-file es incompatible con --patch"
 
-#: builtin/checkout.c:1733
+#: builtin/checkout.c:1754
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -12429,70 +12597,70 @@
 "git checkout: --ours/--theirs, --force y --merge son incompatibles cuando\n"
 "se revisa fuera del índice."
 
-#: builtin/checkout.c:1738
+#: builtin/checkout.c:1759
 msgid "you must specify path(s) to restore"
 msgstr "debes especificar path(s) para restaurar"
 
-#: builtin/checkout.c:1764 builtin/checkout.c:1766 builtin/checkout.c:1815
-#: builtin/checkout.c:1817 builtin/clone.c:122 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2719 builtin/worktree.c:482
-#: builtin/worktree.c:484
+#: builtin/checkout.c:1785 builtin/checkout.c:1787 builtin/checkout.c:1836
+#: builtin/checkout.c:1838 builtin/clone.c:126 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2720 builtin/worktree.c:484
+#: builtin/worktree.c:486
 msgid "branch"
 msgstr "rama"
 
-#: builtin/checkout.c:1765
+#: builtin/checkout.c:1786
 msgid "create and checkout a new branch"
 msgstr "crear y hacer checkout a una nueva rama"
 
-#: builtin/checkout.c:1767
+#: builtin/checkout.c:1788
 msgid "create/reset and checkout a branch"
 msgstr "crear/reiniciar y hacer checkout a una rama"
 
-#: builtin/checkout.c:1768
+#: builtin/checkout.c:1789
 msgid "create reflog for new branch"
 msgstr "crear un reflog para una nueva rama"
 
-#: builtin/checkout.c:1770
+#: builtin/checkout.c:1791
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "adivinar segunda opción 'git checkout <no-hay-tal-rama>' (default)"
 
-#: builtin/checkout.c:1771
+#: builtin/checkout.c:1792
 msgid "use overlay mode (default)"
 msgstr "usar modo overlay (default)"
 
-#: builtin/checkout.c:1816
+#: builtin/checkout.c:1837
 msgid "create and switch to a new branch"
 msgstr "crear y hacer switch a una nueva rama"
 
-#: builtin/checkout.c:1818
+#: builtin/checkout.c:1839
 msgid "create/reset and switch to a branch"
 msgstr "crear/reiniciar y hacer switch a una rama"
 
-#: builtin/checkout.c:1820
+#: builtin/checkout.c:1841
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "adivinar segunda opción 'git checkout <no-hay-tal-rama>'"
 
-#: builtin/checkout.c:1822
+#: builtin/checkout.c:1843
 msgid "throw away local modifications"
 msgstr "descartar modificaciones locales"
 
-#: builtin/checkout.c:1856
+#: builtin/checkout.c:1877
 msgid "which tree-ish to checkout from"
 msgstr "de qué árbol hacer el checkout"
 
-#: builtin/checkout.c:1858
+#: builtin/checkout.c:1879
 msgid "restore the index"
 msgstr "restaurar el index"
 
-#: builtin/checkout.c:1860
+#: builtin/checkout.c:1881
 msgid "restore the working tree (default)"
 msgstr "restaurar el árbol de trabajo (default)"
 
-#: builtin/checkout.c:1862
+#: builtin/checkout.c:1883
 msgid "ignore unmerged entries"
 msgstr "ignorar entradas no fusionadas"
 
-#: builtin/checkout.c:1863
+#: builtin/checkout.c:1884
 msgid "use overlay mode"
 msgstr "usar modo overlay"
 
@@ -12522,11 +12690,6 @@
 msgid "Would skip repository %s\n"
 msgstr "Se saltara repositorio %s\n"
 
-#: builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr "falló al borrar %s"
-
 #: builtin/clean.c:38
 #, c-format
 msgid "could not lstat %s\n"
@@ -12603,7 +12766,7 @@
 "?                   - help for prompt selection"
 msgstr ""
 "clean               - comenzar la limpieza\n"
-"filtrar por patrón   - excluye objetos del borrado \n"
+"filtrar por patrón   - excluye objetos del borrado\n"
 "elegir por números   - selecciona objetos a ser borrados por numero\n"
 "preguntar cada uno     - confirmar cada borrado (como \"rm -i\")\n"
 "quit                - parar limpieza\n"
@@ -12637,8 +12800,8 @@
 msgstr "borrar directorios completos"
 
 #: builtin/clean.c:909 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:922 builtin/log.c:184 builtin/log.c:186
-#: builtin/ls-files.c:573 builtin/name-rev.c:526 builtin/name-rev.c:528
+#: builtin/grep.c:924 builtin/log.c:184 builtin/log.c:186
+#: builtin/ls-files.c:650 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "patrón"
@@ -12679,163 +12842,168 @@
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<opciones>] [--] <repo> [<directorio>]"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:96
+msgid "don't clone shallow repository"
+msgstr "no clonar repositorios superficiales"
+
+#: builtin/clone.c:98
 msgid "don't create a checkout"
 msgstr "no crear checkout"
 
-#: builtin/clone.c:95 builtin/clone.c:97 builtin/init-db.c:555
+#: builtin/clone.c:99 builtin/clone.c:101 builtin/init-db.c:541
 msgid "create a bare repository"
 msgstr "crear un repositorio vacío"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:103
 msgid "create a mirror repository (implies bare)"
 msgstr "crear un repositorio espejo (implica vacío)"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:105
 msgid "to clone from a local repository"
 msgstr "clonar de un repositorio local"
 
-#: builtin/clone.c:103
+#: builtin/clone.c:107
 msgid "don't use local hardlinks, always copy"
 msgstr "no usar hardlinks, siempre copiar"
 
-#: builtin/clone.c:105
+#: builtin/clone.c:109
 msgid "setup as shared repository"
 msgstr "configurar como repositorio compartido"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "pathspec"
 msgstr "pathspec"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "initialize submodules in the clone"
 msgstr "inicializar submódulos en el clonado"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "number of submodules cloned in parallel"
 msgstr "numero de submódulos clonados en paralelo"
 
-#: builtin/clone.c:112 builtin/init-db.c:552
+#: builtin/clone.c:116 builtin/init-db.c:538
 msgid "template-directory"
 msgstr "directorio-template"
 
-#: builtin/clone.c:113 builtin/init-db.c:553
+#: builtin/clone.c:117 builtin/init-db.c:539
 msgid "directory from which templates will be used"
 msgstr "directorio del cual los templates serán usados"
 
-#: builtin/clone.c:115 builtin/clone.c:117 builtin/submodule--helper.c:1831
-#: builtin/submodule--helper.c:2336
+#: builtin/clone.c:119 builtin/clone.c:121 builtin/submodule--helper.c:1832
+#: builtin/submodule--helper.c:2337
 msgid "reference repository"
 msgstr "repositorio de referencia"
 
-#: builtin/clone.c:119 builtin/submodule--helper.c:1833
-#: builtin/submodule--helper.c:2338
+#: builtin/clone.c:123 builtin/submodule--helper.c:1834
+#: builtin/submodule--helper.c:2339
 msgid "use --reference only while cloning"
 msgstr "usa--reference  solamente si estás clonado"
 
-#: builtin/clone.c:120 builtin/column.c:27 builtin/init-db.c:563
-#: builtin/merge-file.c:46 builtin/pack-objects.c:3561 builtin/repack.c:357
+#: builtin/clone.c:124 builtin/column.c:27 builtin/init-db.c:549
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3815 builtin/repack.c:495
+#: t/helper/test-simple-ipc.c:696 t/helper/test-simple-ipc.c:698
 msgid "name"
 msgstr "nombre"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:125
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "use <nombre> en lugar de 'origin' para rastrear upstream"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:127
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "checkout <rama> en lugar de HEAD remota"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:129
 msgid "path to git-upload-pack on the remote"
 msgstr "ruta para git-upload-pack en el remoto"
 
-#: builtin/clone.c:126 builtin/fetch.c:176 builtin/grep.c:861
+#: builtin/clone.c:130 builtin/fetch.c:180 builtin/grep.c:863
 #: builtin/pull.c:208
 msgid "depth"
 msgstr "profundidad"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:131
 msgid "create a shallow clone of that depth"
 msgstr "crear un clon superficial para esa profundidad"
 
-#: builtin/clone.c:128 builtin/fetch.c:178 builtin/pack-objects.c:3550
+#: builtin/clone.c:132 builtin/fetch.c:182 builtin/pack-objects.c:3804
 #: builtin/pull.c:211
 msgid "time"
 msgstr "tiempo"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:133
 msgid "create a shallow clone since a specific time"
 msgstr "crear un clon superficial desde el tiempo específico"
 
-#: builtin/clone.c:130 builtin/fetch.c:180 builtin/fetch.c:203
-#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1323
+#: builtin/clone.c:134 builtin/fetch.c:184 builtin/fetch.c:207
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1318
 msgid "revision"
 msgstr "revision"
 
-#: builtin/clone.c:131 builtin/fetch.c:181 builtin/pull.c:215
+#: builtin/clone.c:135 builtin/fetch.c:185 builtin/pull.c:215
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "ahondando historia de clon superficial, excluyendo rev"
 
-#: builtin/clone.c:133 builtin/submodule--helper.c:1843
-#: builtin/submodule--helper.c:2352
+#: builtin/clone.c:137 builtin/submodule--helper.c:1844
+#: builtin/submodule--helper.c:2353
 msgid "clone only one branch, HEAD or --branch"
 msgstr "clonar solo una rama,HEAD o --branch"
 
-#: builtin/clone.c:135
+#: builtin/clone.c:139
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "no clonar ningún tag, y hacer que los subsiguientes fetch no los sigan"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:141
 msgid "any cloned submodules will be shallow"
 msgstr "cualquier submódulo clonado será superficial"
 
-#: builtin/clone.c:138 builtin/init-db.c:561
+#: builtin/clone.c:142 builtin/init-db.c:547
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:139 builtin/init-db.c:562
+#: builtin/clone.c:143 builtin/init-db.c:548
 msgid "separate git dir from working tree"
 msgstr "separa git dir del árbol de trabajo"
 
-#: builtin/clone.c:140
+#: builtin/clone.c:144
 msgid "key=value"
 msgstr "llave=valor"
 
-#: builtin/clone.c:141
+#: builtin/clone.c:145
 msgid "set config inside the new repository"
 msgstr "configurar config dentro del nuevo repositorio"
 
-#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
+#: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
 #: builtin/pull.c:230 builtin/push.c:584 builtin/send-pack.c:196
 msgid "server-specific"
 msgstr "especifico-de-servidor"
 
-#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
+#: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
 #: builtin/pull.c:231 builtin/push.c:584 builtin/send-pack.c:197
 msgid "option to transmit"
 msgstr "opción para trasmitir"
 
-#: builtin/clone.c:144 builtin/fetch.c:199 builtin/pull.c:234
+#: builtin/clone.c:148 builtin/fetch.c:203 builtin/pull.c:234
 #: builtin/push.c:585
 msgid "use IPv4 addresses only"
 msgstr "solo usar direcciones IPv4"
 
-#: builtin/clone.c:146 builtin/fetch.c:201 builtin/pull.c:237
+#: builtin/clone.c:150 builtin/fetch.c:205 builtin/pull.c:237
 #: builtin/push.c:587
 msgid "use IPv6 addresses only"
 msgstr "solo usar direcciones IPv6"
 
-#: builtin/clone.c:150
+#: builtin/clone.c:154
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "cualquier submódulo clonado usará su branch de rastreo remoto"
 
-#: builtin/clone.c:152
+#: builtin/clone.c:156
 msgid "initialize sparse-checkout file to include only files at root"
 msgstr ""
 "inicializar archivo sparse-checkout para incluir solo archivos en la raíz"
 
-#: builtin/clone.c:288
+#: builtin/clone.c:292
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -12843,42 +13011,42 @@
 "No se pudo adivinar ningún nombre de directorio.\n"
 "Por favor especifique un directorio en la línea de comando"
 
-#: builtin/clone.c:341
+#: builtin/clone.c:345
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: No se pudo agregar un alterno para '%s': %s\n"
 
-#: builtin/clone.c:414
+#: builtin/clone.c:418
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe pero no es un directorio"
 
-#: builtin/clone.c:432
+#: builtin/clone.c:436
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "falló al iniciar el iterador sobre '%s'"
 
-#: builtin/clone.c:463
+#: builtin/clone.c:467
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "falló al crear link '%s'"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:471
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "falló al copiar archivo a '%s'"
 
-#: builtin/clone.c:472
+#: builtin/clone.c:476
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "falló al iterar sobre '%s'"
 
-#: builtin/clone.c:499
+#: builtin/clone.c:503
 #, c-format
 msgid "done.\n"
 msgstr "hecho.\n"
 
-#: builtin/clone.c:513
+#: builtin/clone.c:517
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -12888,105 +13056,105 @@
 "Puedes inspeccionar a qué se hizo checkout con 'git status'\n"
 "y volver a intentarlo con 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:590
+#: builtin/clone.c:594
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "No se pudo encontrar la rama remota %s para clonar."
 
-#: builtin/clone.c:709
+#: builtin/clone.c:713
 #, c-format
 msgid "unable to update %s"
 msgstr "incapaz de actualizar %s"
 
-#: builtin/clone.c:757
+#: builtin/clone.c:761
 msgid "failed to initialize sparse-checkout"
 msgstr "falló al inicializar sparse-checkout"
 
-#: builtin/clone.c:780
+#: builtin/clone.c:784
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "remoto HEAD refiere a un ref inexistente, no se puede hacer checkout.\n"
 
-#: builtin/clone.c:812
+#: builtin/clone.c:816
 msgid "unable to checkout working tree"
 msgstr "no es posible realizar checkout en el árbol de trabajo"
 
-#: builtin/clone.c:887
+#: builtin/clone.c:894
 msgid "unable to write parameters to config file"
 msgstr "no es posible escribir parámetros al archivo config"
 
-#: builtin/clone.c:950
+#: builtin/clone.c:957
 msgid "cannot repack to clean up"
 msgstr "no se puede reempaquetar para limpiar"
 
-#: builtin/clone.c:952
+#: builtin/clone.c:959
 msgid "cannot unlink temporary alternates file"
 msgstr "no se puede desvincular archivos alternos temporales"
 
-#: builtin/clone.c:993 builtin/receive-pack.c:2493
+#: builtin/clone.c:1001 builtin/receive-pack.c:2491
 msgid "Too many arguments."
 msgstr "Muchos argumentos."
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1005
 msgid "You must specify a repository to clone."
 msgstr "Tienes que especificar un repositorio para clonar."
 
-#: builtin/clone.c:1010
+#: builtin/clone.c:1018
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "Las opciones --bare y --origin %s son incompatibles."
 
-#: builtin/clone.c:1013
+#: builtin/clone.c:1021
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare y --separate-git-dir son incompatibles."
 
-#: builtin/clone.c:1026
+#: builtin/clone.c:1035
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "repositorio '%s' no existe"
 
-#: builtin/clone.c:1030 builtin/fetch.c:1951
+#: builtin/clone.c:1039 builtin/fetch.c:2011
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "profundidad %s no es un numero positivo"
 
-#: builtin/clone.c:1040
+#: builtin/clone.c:1049
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "la ruta de destino '%s' ya existe y no es un directorio vacío."
 
-#: builtin/clone.c:1046
+#: builtin/clone.c:1055
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr "La ruta del repositorio '%s' ya existe y no es un directorio vacío."
 
-#: builtin/clone.c:1060
+#: builtin/clone.c:1069
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "directorio de trabajo '%s' ya existe."
 
-#: builtin/clone.c:1075 builtin/clone.c:1096 builtin/difftool.c:271
-#: builtin/log.c:1986 builtin/worktree.c:282 builtin/worktree.c:314
+#: builtin/clone.c:1084 builtin/clone.c:1105 builtin/difftool.c:272
+#: builtin/log.c:1995 builtin/worktree.c:282 builtin/worktree.c:314
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "no se pudo crear directorios principales de '%s'"
 
-#: builtin/clone.c:1080
+#: builtin/clone.c:1089
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "no se pudo crear un árbol de trabajo '%s'"
 
-#: builtin/clone.c:1100
+#: builtin/clone.c:1109
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonando en un repositorio vacío '%s'...\n"
 
-#: builtin/clone.c:1102
+#: builtin/clone.c:1111
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonando en '%s'...\n"
 
-#: builtin/clone.c:1126
+#: builtin/clone.c:1135
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -12994,41 +13162,41 @@
 "clone --recursive no es compatible con --reference y --reference-if-able al "
 "mismo tiempo"
 
-#: builtin/clone.c:1170 builtin/remote.c:200 builtin/remote.c:705
+#: builtin/clone.c:1188 builtin/remote.c:200 builtin/remote.c:705
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' no es un nombre remoto válido"
 
-#: builtin/clone.c:1211
+#: builtin/clone.c:1229
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth es ignorada en clonaciones locales; usa file:// más bien."
 
-#: builtin/clone.c:1213
+#: builtin/clone.c:1231
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since es ignorado en el clon local; use file:// ."
 
-#: builtin/clone.c:1215
+#: builtin/clone.c:1233
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude es ignorado en clones locales; use file://."
 
-#: builtin/clone.c:1217
+#: builtin/clone.c:1235
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter es ignorado en clones locales; usa file:// en su lugar."
 
-#: builtin/clone.c:1220
+#: builtin/clone.c:1240
 msgid "source repository is shallow, ignoring --local"
 msgstr "repositorio fuente es superficial, ignorando --local"
 
-#: builtin/clone.c:1225
+#: builtin/clone.c:1245
 msgid "--local is ignored"
 msgstr "--local es ignorado"
 
-#: builtin/clone.c:1315 builtin/clone.c:1323
+#: builtin/clone.c:1337 builtin/clone.c:1345
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Rama remota %s no encontrada en upstream %s"
 
-#: builtin/clone.c:1326
+#: builtin/clone.c:1348
 msgid "You appear to have cloned an empty repository."
 msgstr "Pareces haber clonado un repositorio sin contenido."
 
@@ -13045,20 +13213,20 @@
 msgstr "capa a usar"
 
 #: builtin/column.c:30
-msgid "Maximum width"
-msgstr "Ancho máximo"
+msgid "maximum width"
+msgstr "ancho máximo"
 
 #: builtin/column.c:31
-msgid "Padding space on left border"
-msgstr "Realizando padding en el borde izquierdo"
+msgid "padding space on left border"
+msgstr "realizando padding en el borde izquierdo"
 
 #: builtin/column.c:32
-msgid "Padding space on right border"
-msgstr "Realizando padding en el borde derecho"
+msgid "padding space on right border"
+msgstr "realizando padding en el borde derecho"
 
 #: builtin/column.c:33
-msgid "Padding space between columns"
-msgstr "Realizando padding entre columnas"
+msgid "padding space between columns"
+msgstr "realizando padding entre columnas"
 
 #: builtin/column.c:51
 msgid "--command must be the first argument"
@@ -13086,7 +13254,7 @@
 msgstr "no se pudo entoncrar el objeto directorio concordante con %s"
 
 #: builtin/commit-graph.c:80 builtin/commit-graph.c:210
-#: builtin/commit-graph.c:316 builtin/fetch.c:187 builtin/log.c:1768
+#: builtin/commit-graph.c:316 builtin/fetch.c:191 builtin/log.c:1776
 msgid "dir"
 msgstr "dir"
 
@@ -13112,7 +13280,7 @@
 #: builtin/commit-graph.c:155
 #, c-format
 msgid "unexpected non-hex object ID: %s"
-msgstr "ID de objeto no hex inesperado :%s"
+msgstr "ID de objeto no hex inesperado:%s"
 
 #: builtin/commit-graph.c:160
 #, c-format
@@ -13180,7 +13348,7 @@
 msgid "duplicate parent %s ignored"
 msgstr "padre duplicado %s ignorado"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:557
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:559
 #, c-format
 msgid "not a valid object name %s"
 msgstr "no es un nombre de objeto válido %s"
@@ -13208,13 +13376,13 @@
 msgid "id of a parent commit object"
 msgstr "id del objeto commit padre"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:282
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1537
-#: builtin/tag.c:445
+#: builtin/commit-tree.c:114 builtin/commit.c:1614 builtin/merge.c:282
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1605
+#: builtin/tag.c:456
 msgid "message"
 msgstr "mensaje"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1504
+#: builtin/commit-tree.c:115 builtin/commit.c:1614
 msgid "commit message"
 msgstr "mensaje del commit"
 
@@ -13222,7 +13390,7 @@
 msgid "read commit log message from file"
 msgstr "leer mensaje de commit desde un archivo"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:299
+#: builtin/commit-tree.c:121 builtin/commit.c:1631 builtin/merge.c:299
 #: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "Firmar commit con GPG"
@@ -13249,7 +13417,7 @@
 "it empty. You can repeat your command with --allow-empty, or you can\n"
 "remove the commit entirely with \"git reset HEAD^\".\n"
 msgstr ""
-"Has solicitado un amend en tu commit más reciente, pero hacerlo lo \n"
+"Has solicitado un amend en tu commit más reciente, pero hacerlo lo\n"
 "vaciaría. Puedes repetir el comando con --alow-empty, o puedes eliminar\n"
 "el commit completamente con \"git reset HEAD^\".\n"
 
@@ -13298,73 +13466,73 @@
 "     git cherry-pick --skip\n"
 "\n"
 
-#: builtin/commit.c:312
+#: builtin/commit.c:324
 msgid "failed to unpack HEAD tree object"
 msgstr "falló al desempaquetar objeto del árbol HEAD"
 
-#: builtin/commit.c:348
+#: builtin/commit.c:360
 msgid "--pathspec-from-file with -a does not make sense"
 msgstr "--pathspec-from-file con -a no tiene sentido"
 
-#: builtin/commit.c:361
+#: builtin/commit.c:374
 msgid "No paths with --include/--only does not make sense."
 msgstr "No hay rutas con --include/--only no tiene sentido."
 
-#: builtin/commit.c:373
+#: builtin/commit.c:386
 msgid "unable to create temporary index"
 msgstr "no es posible crear un índice temporal"
 
-#: builtin/commit.c:382
+#: builtin/commit.c:395
 msgid "interactive add failed"
 msgstr "adición interactiva fallida"
 
-#: builtin/commit.c:397
+#: builtin/commit.c:410
 msgid "unable to update temporary index"
 msgstr "no es posible actualizar el índice temporal"
 
-#: builtin/commit.c:399
+#: builtin/commit.c:412
 msgid "Failed to update main cache tree"
 msgstr "Falló al actualizar el cache principal del árbol"
 
-#: builtin/commit.c:424 builtin/commit.c:447 builtin/commit.c:495
+#: builtin/commit.c:437 builtin/commit.c:460 builtin/commit.c:508
 msgid "unable to write new_index file"
 msgstr "no es posible escribir archivo new_index"
 
-#: builtin/commit.c:476
+#: builtin/commit.c:489
 msgid "cannot do a partial commit during a merge."
 msgstr "no se puede realizar un commit parcial durante una fusión."
 
-#: builtin/commit.c:478
+#: builtin/commit.c:491
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "no se puede realizar un commit parcial durante un cherry-pick."
 
-#: builtin/commit.c:480
+#: builtin/commit.c:493
 msgid "cannot do a partial commit during a rebase."
 msgstr "no se puede realizar un commit parcial durante un rebase."
 
-#: builtin/commit.c:488
+#: builtin/commit.c:501
 msgid "cannot read the index"
 msgstr "no se puede leer el índice"
 
-#: builtin/commit.c:507
+#: builtin/commit.c:520
 msgid "unable to write temporary index file"
 msgstr "no es posible escribir el índice temporal"
 
-#: builtin/commit.c:605
+#: builtin/commit.c:618
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "commit '%s' requiere cabecera de autor"
 
-#: builtin/commit.c:607
+#: builtin/commit.c:620
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "el commit '%s' tiene una línea de autor mal formada"
 
-#: builtin/commit.c:626
+#: builtin/commit.c:639
 msgid "malformed --author parameter"
 msgstr "parámetro --author mal formado"
 
-#: builtin/commit.c:679
+#: builtin/commit.c:692
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -13372,38 +13540,43 @@
 "no es posible seleccionar un carácter de comentario que no es usado\n"
 "en el mensaje de commit actual"
 
-#: builtin/commit.c:717 builtin/commit.c:750 builtin/commit.c:1097
+#: builtin/commit.c:746 builtin/commit.c:780 builtin/commit.c:1158
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "no se pudo revisar el commit %s"
 
-#: builtin/commit.c:729 builtin/shortlog.c:413
+#: builtin/commit.c:758 builtin/shortlog.c:413
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(leyendo mensajes de logs desde standard input)\n"
 
-#: builtin/commit.c:731
+#: builtin/commit.c:760
 msgid "could not read log from standard input"
 msgstr "no se pudo leer log desde standard input"
 
-#: builtin/commit.c:735
+#: builtin/commit.c:764
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "no se pudo leer el log '%s'"
 
-#: builtin/commit.c:766 builtin/commit.c:782
+#: builtin/commit.c:801
+#, c-format
+msgid "cannot combine -m with --fixup:%s"
+msgstr "no se puede combinar -m con --fixup:%s"
+
+#: builtin/commit.c:813 builtin/commit.c:829
 msgid "could not read SQUASH_MSG"
 msgstr "no se pudo leer SQUASH_MSG"
 
-#: builtin/commit.c:773
+#: builtin/commit.c:820
 msgid "could not read MERGE_MSG"
 msgstr "no se pudo leer MERGE_MSG"
 
-#: builtin/commit.c:833
+#: builtin/commit.c:880
 msgid "could not write commit template"
 msgstr "no se pudo escribir el template del commit"
 
-#: builtin/commit.c:853
+#: builtin/commit.c:900
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
@@ -13417,7 +13590,7 @@
 "\tgit update-ref -d MERGE_HEAD\n"
 "e intenta de nuevo.\n"
 
-#: builtin/commit.c:858
+#: builtin/commit.c:905
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
@@ -13431,7 +13604,7 @@
 "\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "e intenta de nuevo.\n"
 
-#: builtin/commit.c:868
+#: builtin/commit.c:915
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13441,7 +13614,7 @@
 " líneas que comiencen con '%c' serán ignoradas, y un mensaje\n"
 " vacío aborta el commit.\n"
 
-#: builtin/commit.c:876
+#: builtin/commit.c:923
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13453,147 +13626,177 @@
 " usted mismo si lo desea.\n"
 "Un mensaje vacío aborta el commit.\n"
 
-#: builtin/commit.c:893
+#: builtin/commit.c:940
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAutor:     %.*s <%.*s>"
 
-#: builtin/commit.c:901
+#: builtin/commit.c:948
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sFecha:     %s"
 
-#: builtin/commit.c:908
+#: builtin/commit.c:955
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sCommitter: %.*s <%.*s>"
 
-#: builtin/commit.c:926
+#: builtin/commit.c:973
 msgid "Cannot read index"
 msgstr "No se puede leer el índice"
 
-#: builtin/commit.c:997
+#: builtin/commit.c:1018
+msgid "unable to pass trailers to --trailers"
+msgstr "no se puede pasar trailers a --trailers"
+
+#: builtin/commit.c:1058
 msgid "Error building trees"
 msgstr "Error al construir los árboles"
 
-#: builtin/commit.c:1011 builtin/tag.c:308
+#: builtin/commit.c:1072 builtin/tag.c:319
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Por favor suministra el mensaje usando las opciones -m o -F.\n"
 
-#: builtin/commit.c:1055
+#: builtin/commit.c:1116
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "--author '%s' no está en el formato 'Name <email>' y no concuerda con ningún "
 "autor existente"
 
-#: builtin/commit.c:1069
+#: builtin/commit.c:1130
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Modo ignorado inválido '%s'"
 
-#: builtin/commit.c:1087 builtin/commit.c:1331
+#: builtin/commit.c:1148 builtin/commit.c:1441
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Modo inválido de los archivos no rastreados '%s'"
 
-#: builtin/commit.c:1127
+#: builtin/commit.c:1188
 msgid "--long and -z are incompatible"
 msgstr "--long y -z son incompatibles"
 
-#: builtin/commit.c:1171
+#: builtin/commit.c:1219
+msgid "You are in the middle of a merge -- cannot reword."
+msgstr "Estás en medio de una fusión -- no puedes renombrar."
+
+#: builtin/commit.c:1221
+msgid "You are in the middle of a cherry-pick -- cannot reword."
+msgstr "Está en medio de un cherry-pick -- no se puede renombrar."
+
+#: builtin/commit.c:1224
+#, c-format
+msgid "cannot combine reword option of --fixup with path '%s'"
+msgstr "no se puede combinar opción de renombrar de --fixup con ruta '%s'"
+
+#: builtin/commit.c:1226
+msgid ""
+"reword option of --fixup is mutually exclusive with --patch/--interactive/--"
+"all/--include/--only"
+msgstr ""
+"opción de refraseado de --fixup es mutuamente exclusiva con --patch/--"
+"interactive/--all/--include/--only"
+
+#: builtin/commit.c:1245
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Usar ambos --reset-author y --author no tiene sentido"
 
-#: builtin/commit.c:1180
+#: builtin/commit.c:1254
 msgid "You have nothing to amend."
 msgstr "No tienes nada que enmendar."
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1257
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Estás en medio de una fusión -- no puedes enmendar."
 
-#: builtin/commit.c:1185
+#: builtin/commit.c:1259
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "Está en medio de un cherry-pick -- no se puede enmendar."
 
-#: builtin/commit.c:1187
+#: builtin/commit.c:1261
 msgid "You are in the middle of a rebase -- cannot amend."
 msgstr "Estás en medio de una fusión -- no puedes enmendar."
 
-#: builtin/commit.c:1190
+#: builtin/commit.c:1264
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Opciones --squash y --fixup no pueden ser usadas juntas"
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1274
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Solo uno de -c/-C/-F/--fixup puede ser usado."
 
-#: builtin/commit.c:1202
+#: builtin/commit.c:1276
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "La opción -m no puede ser combinada con -c/-C/-F."
 
-#: builtin/commit.c:1211
+#: builtin/commit.c:1285
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author sólo puede ser usada con -C, -c o --amend."
 
-#: builtin/commit.c:1229
+#: builtin/commit.c:1303
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Solo uno de --include/--only/--all/--interactive/--patch puede ser usado."
 
-#: builtin/commit.c:1235
+#: builtin/commit.c:1331
+#, c-format
+msgid "unknown option: --fixup=%s:%s"
+msgstr "opción desconocida: --fixup=%s:%s"
+
+#: builtin/commit.c:1345
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "paths '%s ...' con -a no tiene sentido"
 
-#: builtin/commit.c:1366 builtin/commit.c:1527
+#: builtin/commit.c:1476 builtin/commit.c:1642
 msgid "show status concisely"
 msgstr "mostrar status de manera concisa"
 
-#: builtin/commit.c:1368 builtin/commit.c:1529
+#: builtin/commit.c:1478 builtin/commit.c:1644
 msgid "show branch information"
 msgstr "mostrar información de la rama"
 
-#: builtin/commit.c:1370
+#: builtin/commit.c:1480
 msgid "show stash information"
 msgstr "mostrar información del stash"
 
-#: builtin/commit.c:1372 builtin/commit.c:1531
+#: builtin/commit.c:1482 builtin/commit.c:1646
 msgid "compute full ahead/behind values"
 msgstr "calcular todos los valores delante/atrás"
 
-#: builtin/commit.c:1374
+#: builtin/commit.c:1484
 msgid "version"
 msgstr "version"
 
-#: builtin/commit.c:1374 builtin/commit.c:1533 builtin/push.c:560
-#: builtin/worktree.c:679
+#: builtin/commit.c:1484 builtin/commit.c:1648 builtin/push.c:560
+#: builtin/worktree.c:681
 msgid "machine-readable output"
 msgstr "output formato-maquina"
 
-#: builtin/commit.c:1377 builtin/commit.c:1535
+#: builtin/commit.c:1487 builtin/commit.c:1650
 msgid "show status in long format (default)"
 msgstr "mostrar status en formato largo (default)"
 
-#: builtin/commit.c:1380 builtin/commit.c:1538
+#: builtin/commit.c:1490 builtin/commit.c:1653
 msgid "terminate entries with NUL"
 msgstr "terminar entradas con NUL"
 
-#: builtin/commit.c:1382 builtin/commit.c:1386 builtin/commit.c:1541
+#: builtin/commit.c:1492 builtin/commit.c:1496 builtin/commit.c:1656
 #: builtin/fast-export.c:1198 builtin/fast-export.c:1201
-#: builtin/fast-export.c:1204 builtin/rebase.c:1412 parse-options.h:336
+#: builtin/fast-export.c:1204 builtin/rebase.c:1407 parse-options.h:337
 msgid "mode"
 msgstr "modo"
 
-#: builtin/commit.c:1383 builtin/commit.c:1541
+#: builtin/commit.c:1493 builtin/commit.c:1656
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "mostrar archivos sin seguimiento, modos opcionales: all, normal, no. "
 "(Predeterminado: all)"
 
-#: builtin/commit.c:1387
+#: builtin/commit.c:1497
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -13601,11 +13804,11 @@
 "mostrar archivos ignorados, modos opcionales: traditional, matching, no. "
 "(Predeterminado: traditional)"
 
-#: builtin/commit.c:1389 parse-options.h:192
+#: builtin/commit.c:1499 parse-options.h:193
 msgid "when"
 msgstr "cuando"
 
-#: builtin/commit.c:1390
+#: builtin/commit.c:1500
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -13613,173 +13816,195 @@
 "ignorar cambios en submódulos, opcional cuando: all,dirty,untracked. "
 "(Default: all)"
 
-#: builtin/commit.c:1392
+#: builtin/commit.c:1502
 msgid "list untracked files in columns"
 msgstr "listar en columnas los archivos sin seguimiento"
 
-#: builtin/commit.c:1393
+#: builtin/commit.c:1503
 msgid "do not detect renames"
 msgstr "no detectar renombrados"
 
-#: builtin/commit.c:1395
+#: builtin/commit.c:1505
 msgid "detect renames, optionally set similarity index"
 msgstr "detectar renombres, opcionalmente configurar similaridad de índice"
 
-#: builtin/commit.c:1415
+#: builtin/commit.c:1525
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Combinación de argumentos de archivos ignorados y no rastreados no soportada"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1607
 msgid "suppress summary after successful commit"
 msgstr "suprime summary tras un commit exitoso"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1608
 msgid "show diff in commit message template"
 msgstr "mostrar diff en el template del mensaje de commit"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1610
 msgid "Commit message options"
 msgstr "Opciones para el mensaje del commit"
 
-#: builtin/commit.c:1501 builtin/merge.c:286 builtin/tag.c:447
+#: builtin/commit.c:1611 builtin/merge.c:286 builtin/tag.c:458
 msgid "read message from file"
 msgstr "leer mensaje desde un archivo"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1612
 msgid "author"
 msgstr "autor"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1612
 msgid "override author for commit"
 msgstr "sobrescribe el autor del commit"
 
-#: builtin/commit.c:1503 builtin/gc.c:550
+#: builtin/commit.c:1613 builtin/gc.c:550
 msgid "date"
 msgstr "fecha"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1613
 msgid "override date for commit"
 msgstr "sobrescribe la fecha del commit"
 
-#: builtin/commit.c:1505 builtin/commit.c:1506 builtin/commit.c:1507
-#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:90
+#: builtin/commit.c:1615 builtin/commit.c:1616 builtin/commit.c:1622
+#: parse-options.h:329 ref-filter.h:90
 msgid "commit"
 msgstr "confirmar"
 
-#: builtin/commit.c:1505
+#: builtin/commit.c:1615
 msgid "reuse and edit message from specified commit"
 msgstr "reusar y editar el mensaje de un commit especifico"
 
-#: builtin/commit.c:1506
+#: builtin/commit.c:1616
 msgid "reuse message from specified commit"
 msgstr "reusar el mensaje de un commit especifico"
 
-#: builtin/commit.c:1507
-msgid "use autosquash formatted message to fixup specified commit"
-msgstr ""
-"usar mensaje de formato autosquash para arreglar el commit especificado"
+#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
+#. and only translate <commit>.
+#.
+#: builtin/commit.c:1621
+msgid "[(amend|reword):]commit"
+msgstr "[(amend|reword):]commit"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1621
+msgid ""
+"use autosquash formatted message to fixup or amend/reword specified commit"
+msgstr ""
+"usar mensaje de formato autosquash para arreglar el amend/renombrado del "
+"commit especificado"
+
+#: builtin/commit.c:1622
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "usar el mensaje de formato autosquash para realizar squash  al commit "
 "especificado"
 
-#: builtin/commit.c:1509
+#: builtin/commit.c:1623
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "el autor del commit soy yo ahora (usado con -C/-c/--amend)"
 
-#: builtin/commit.c:1510 builtin/log.c:1743 builtin/merge.c:302
+#: builtin/commit.c:1624 builtin/interpret-trailers.c:111
+msgid "trailer"
+msgstr "trailer"
+
+#: builtin/commit.c:1624
+msgid "add custom trailer(s)"
+msgstr "agregando trailer(s) personalizados"
+
+#: builtin/commit.c:1625 builtin/log.c:1751 builtin/merge.c:302
 #: builtin/pull.c:145 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "agregar un firmado por al final"
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1626
 msgid "use specified template file"
 msgstr "usar archivo de template especificado"
 
-#: builtin/commit.c:1512
+#: builtin/commit.c:1627
 msgid "force edit of commit"
 msgstr "forzar la edición del commit"
 
-#: builtin/commit.c:1514
+#: builtin/commit.c:1629
 msgid "include status in commit message template"
 msgstr "incluir status en el template del mensaje de commit"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1634
 msgid "Commit contents options"
 msgstr "Opciones para el contenido del commit"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1635
 msgid "commit all changed files"
 msgstr "confirmar todos los archivos cambiados"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1636
 msgid "add specified files to index for commit"
 msgstr "agregar archivos específicos al índice para confirmar"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1637
 msgid "interactively add files"
 msgstr "agregar archivos interactivamente"
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1638
 msgid "interactively add changes"
 msgstr "agregar cambios interactivamente"
 
-#: builtin/commit.c:1524
+#: builtin/commit.c:1639
 msgid "commit only specified files"
 msgstr "sólo confirmar archivos específicos"
 
-#: builtin/commit.c:1525
+#: builtin/commit.c:1640
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "evitar los capturadores (hooks) de pre-commit y commit-msg"
 
-#: builtin/commit.c:1526
+#: builtin/commit.c:1641
 msgid "show what would be committed"
 msgstr "mostrar lo que sería incluido en el commit"
 
-#: builtin/commit.c:1539
+#: builtin/commit.c:1654
 msgid "amend previous commit"
 msgstr "enmendar commit previo"
 
-#: builtin/commit.c:1540
+#: builtin/commit.c:1655
 msgid "bypass post-rewrite hook"
 msgstr "gancho bypass post reescritura"
 
-#: builtin/commit.c:1547
+#: builtin/commit.c:1662
 msgid "ok to record an empty change"
 msgstr "ok al grabar un cambio vacío"
 
-#: builtin/commit.c:1549
+#: builtin/commit.c:1664
 msgid "ok to record a change with an empty message"
 msgstr "ok al grabar un cambio con un mensaje vacío"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1737
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Archivo MERGE_HEAD (%s) corrupto"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1744
 msgid "could not read MERGE_MODE"
 msgstr "no se pudo leer MERGE_MODE"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1765
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "no se pudo leer el mensaje de commit: %s"
 
-#: builtin/commit.c:1657
+#: builtin/commit.c:1772
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Abortando commit debido que el mensaje está en blanco.\n"
 
-#: builtin/commit.c:1662
+#: builtin/commit.c:1777
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Abortando commit; no se ha editado el mensaje\n"
 
-#: builtin/commit.c:1696
+#: builtin/commit.c:1788
+#, c-format
+msgid "Aborting commit due to empty commit message body.\n"
+msgstr "Abortando commit debido que el cuerpo del mensaje está en blanco.\n"
+
+#: builtin/commit.c:1824
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -14124,7 +14349,7 @@
 msgid "print sizes in human readable format"
 msgstr "mostrar tamaños en formato legible para humano"
 
-#: builtin/credential-cache--daemon.c:226
+#: builtin/credential-cache--daemon.c:227
 #, c-format
 msgid ""
 "The permissions on your socket directory are too loose; other\n"
@@ -14138,11 +14363,11 @@
 "\n"
 "\tchmod 0700 %s"
 
-#: builtin/credential-cache--daemon.c:275
+#: builtin/credential-cache--daemon.c:276
 msgid "print debugging messages to stderr"
 msgstr "mostrar mensajes de debug en stderr"
 
-#: builtin/credential-cache--daemon.c:315
+#: builtin/credential-cache--daemon.c:316
 msgid "credential-cache--daemon unavailable; no unix socket support"
 msgstr "credential-cache--daemon no disponible; sin soporte de socket Unix"
 
@@ -14347,7 +14572,7 @@
 msgid "Not a git repository"
 msgstr "No es un repositorio git"
 
-#: builtin/diff.c:532 builtin/grep.c:682
+#: builtin/diff.c:532 builtin/grep.c:684
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "objeto '%s' entregado no es válido."
@@ -14367,31 +14592,31 @@
 msgid "%s...%s: multiple merge bases, using %s"
 msgstr "%s...%s: múltiples bases de fusión, usando %s"
 
-#: builtin/difftool.c:30
+#: builtin/difftool.c:31
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<opciones>] [<commit> [<commit>]] [--] [<ruta>...]"
 
-#: builtin/difftool.c:260
+#: builtin/difftool.c:261
 #, c-format
 msgid "failed: %d"
 msgstr "falló: %d"
 
-#: builtin/difftool.c:302
+#: builtin/difftool.c:303
 #, c-format
 msgid "could not read symlink %s"
 msgstr "no se pudo leer el symlink %s"
 
-#: builtin/difftool.c:304
+#: builtin/difftool.c:305
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "no se pudo leer el archivo symlink %s"
 
-#: builtin/difftool.c:312
+#: builtin/difftool.c:313
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "no se pudo leer el objeto %s para el symlink %s"
 
-#: builtin/difftool.c:412
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -14399,54 +14624,54 @@
 "formatos combinados de diff ('-c' y '--cc') no soportados en\n"
 "modo diff para directorio('-d' y '--dir-diff')."
 
-#: builtin/difftool.c:633
+#: builtin/difftool.c:637
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "ambos archivos modificados: '%s' y '%s'."
 
-#: builtin/difftool.c:635
+#: builtin/difftool.c:639
 msgid "working tree file has been left."
 msgstr "archivo del árbol de trabajo ha sido dejado."
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:650
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "archivo temporal existe en '%s'."
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:651
 msgid "you may want to cleanup or recover these."
 msgstr "tal vez desees limpiar o recuperar estos."
 
-#: builtin/difftool.c:696
+#: builtin/difftool.c:700
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "use `diff.guitool` en lugar de `diff.tool`"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:702
 msgid "perform a full-directory diff"
 msgstr "realizar un diff de todo el directorio"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:704
 msgid "do not prompt before launching a diff tool"
 msgstr "no mostrar antes de lanzar una herramienta de diff"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:709
 msgid "use symlinks in dir-diff mode"
 msgstr "usar enlaces simbólicos en modo dir-diff"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:710
 msgid "tool"
 msgstr "herramienta"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:711
 msgid "use the specified diff tool"
 msgstr "usar la herramienta de diff especificada"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:713
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr ""
 "mostrar una lista de herramientas de diff que pueden ser usadas con `--tool`"
 
-#: builtin/difftool.c:712
+#: builtin/difftool.c:716
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -14454,31 +14679,31 @@
 "hacer que 'git-difftool' salga cuando una herramienta de diff retorne un "
 "código de salida distinto de cero"
 
-#: builtin/difftool.c:715
+#: builtin/difftool.c:719
 msgid "specify a custom command for viewing diffs"
 msgstr "especificar un comando personalizado para ver diffs"
 
-#: builtin/difftool.c:716
+#: builtin/difftool.c:720
 msgid "passed to `diff`"
 msgstr "pasado a `diff`"
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:735
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool requiere un árbol de trabajo o --no-index"
 
-#: builtin/difftool.c:738
+#: builtin/difftool.c:742
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dirty-diff es incompatible con --no-index"
 
-#: builtin/difftool.c:741
+#: builtin/difftool.c:745
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui, --tool y --extcmd son mutuamente exclusivas"
 
-#: builtin/difftool.c:749
+#: builtin/difftool.c:753
 msgid "no <tool> given for --tool=<tool>"
 msgstr "no se ha proporcionado <herramienta> para --tool=<herramienta>"
 
-#: builtin/difftool.c:756
+#: builtin/difftool.c:760
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "no se ha entregado <comando> para --extcmd=<comando>"
 
@@ -14569,7 +14794,7 @@
 msgid "skip output of blob data"
 msgstr "saltar el output de data blob"
 
-#: builtin/fast-export.c:1222 builtin/log.c:1815
+#: builtin/fast-export.c:1222 builtin/log.c:1823
 msgid "refspec"
 msgstr "refspec"
 
@@ -14662,98 +14887,103 @@
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<opciones>]"
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:122
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel no puede ser negativo"
 
-#: builtin/fetch.c:143 builtin/pull.c:185
+#: builtin/fetch.c:145 builtin/pull.c:185
 msgid "fetch from all remotes"
 msgstr "extraer de todos los remotos"
 
-#: builtin/fetch.c:145 builtin/pull.c:245
+#: builtin/fetch.c:147 builtin/pull.c:245
 msgid "set upstream for git pull/fetch"
-msgstr "configurar upstream para git pulll/fetch"
+msgstr "configurar upstream para git pull/fetch"
 
-#: builtin/fetch.c:147 builtin/pull.c:188
+#: builtin/fetch.c:149 builtin/pull.c:188
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "adjuntar a .git/FETCH_HEAD en lugar de sobrescribir"
 
-#: builtin/fetch.c:149
+#: builtin/fetch.c:151
 msgid "use atomic transaction to update references"
 msgstr "usar transacción atómica para actualizar referencias"
 
-#: builtin/fetch.c:151 builtin/pull.c:191
+#: builtin/fetch.c:153 builtin/pull.c:191
 msgid "path to upload pack on remote end"
 msgstr "ruta para cargar el paquete al final del remoto"
 
-#: builtin/fetch.c:152
+#: builtin/fetch.c:154
 msgid "force overwrite of local reference"
 msgstr "forzar sobrescritura de referencia local"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:156
 msgid "fetch from multiple remotes"
 msgstr "extraer de múltiples remotos"
 
-#: builtin/fetch.c:156 builtin/pull.c:195
+#: builtin/fetch.c:158 builtin/pull.c:195
 msgid "fetch all tags and associated objects"
 msgstr "extraer todos los tags y objetos asociados"
 
-#: builtin/fetch.c:158
+#: builtin/fetch.c:160
 msgid "do not fetch all tags (--no-tags)"
 msgstr "no extraer todos los tags (--no-tags)"
 
-#: builtin/fetch.c:160
+#: builtin/fetch.c:162
 msgid "number of submodules fetched in parallel"
 msgstr "número de submódulos extraídos en paralelo"
 
-#: builtin/fetch.c:162 builtin/pull.c:198
+#: builtin/fetch.c:164
+msgid "modify the refspec to place all refs within refs/prefetch/"
+msgstr ""
+"modificar el refspec para colocar todas las referencias en refs/preferch/"
+
+#: builtin/fetch.c:166 builtin/pull.c:198
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "limpiar ramas remotas rastreadas que ya no están en el remoto"
 
-#: builtin/fetch.c:164
+#: builtin/fetch.c:168
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 "limpiar tags locales que no se encuentran en el remoto y eliminar tags "
 "cambiados"
 
-#: builtin/fetch.c:165 builtin/fetch.c:190 builtin/pull.c:122
+#: builtin/fetch.c:169 builtin/fetch.c:194 builtin/pull.c:122
 msgid "on-demand"
 msgstr "en demanda"
 
-#: builtin/fetch.c:166
+#: builtin/fetch.c:170
 msgid "control recursive fetching of submodules"
 msgstr "controlar extracción recursiva de submódulos"
 
-#: builtin/fetch.c:171
+#: builtin/fetch.c:175
 msgid "write fetched references to the FETCH_HEAD file"
 msgstr "escribir referencias obtenidas en el archivo FETCH_HEAD"
 
-#: builtin/fetch.c:172 builtin/pull.c:206
+#: builtin/fetch.c:176 builtin/pull.c:206
 msgid "keep downloaded pack"
 msgstr "mantener el paquete descargado"
 
-#: builtin/fetch.c:174
+#: builtin/fetch.c:178
 msgid "allow updating of HEAD ref"
 msgstr "permitir actualizar la ref HEAD"
 
-#: builtin/fetch.c:177 builtin/fetch.c:183 builtin/pull.c:209
+#: builtin/fetch.c:181 builtin/fetch.c:187 builtin/pull.c:209
 #: builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "historia profunda de un clon superficial"
 
-#: builtin/fetch.c:179 builtin/pull.c:212
+#: builtin/fetch.c:183 builtin/pull.c:212
 msgid "deepen history of shallow repository based on time"
 msgstr "historia profunda de un repositorio superficial basado en tiempo"
 
-#: builtin/fetch.c:185 builtin/pull.c:221
+#: builtin/fetch.c:189 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "convertir a un repositorio completo"
 
-#: builtin/fetch.c:188
+#: builtin/fetch.c:192
 msgid "prepend this to submodule path output"
 msgstr "anteponer esto a salida de la ruta del submódulo"
 
-#: builtin/fetch.c:191
+#: builtin/fetch.c:195
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -14761,98 +14991,104 @@
 "default para extracción recursiva de submódulos (menor prioridad que "
 "archivos de configuración)"
 
-#: builtin/fetch.c:195 builtin/pull.c:224
+#: builtin/fetch.c:199 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "aceptar refs que actualicen .git/shallow"
 
-#: builtin/fetch.c:196 builtin/pull.c:226
+#: builtin/fetch.c:200 builtin/pull.c:226
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:197 builtin/pull.c:227
+#: builtin/fetch.c:201 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "especificar extracción de refmap"
 
-#: builtin/fetch.c:204 builtin/pull.c:240
+#: builtin/fetch.c:208 builtin/pull.c:240
 msgid "report that we have only objects reachable from this object"
 msgstr "reporta que solo tenemos objetos alcanzables de este objeto"
 
-#: builtin/fetch.c:207 builtin/fetch.c:209
+#: builtin/fetch.c:210
+msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
+msgstr ""
+"no realizar fecth al packfile; en lugar de eso, mostrar los ancestros de las "
+"puntas de negociación"
+
+#: builtin/fetch.c:213 builtin/fetch.c:215
 msgid "run 'maintenance --auto' after fetching"
 msgstr "ejecute 'maintenance --auto' después de buscar"
 
-#: builtin/fetch.c:211 builtin/pull.c:243
+#: builtin/fetch.c:217 builtin/pull.c:243
 msgid "check for forced-updates on all updated branches"
 msgstr "verificar updates forzados en todos los branch actualizados"
 
-#: builtin/fetch.c:213
+#: builtin/fetch.c:219
 msgid "write the commit-graph after fetching"
 msgstr "escribir commit-graph luego del fetch"
 
-#: builtin/fetch.c:215
+#: builtin/fetch.c:221
 msgid "accept refspecs from stdin"
 msgstr "aceptar refspecs de stdin"
 
-#: builtin/fetch.c:526
+#: builtin/fetch.c:586
 msgid "Couldn't find remote ref HEAD"
 msgstr "No se puedo encontrar ref remota HEAD"
 
-#: builtin/fetch.c:697
+#: builtin/fetch.c:757
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "la configuración fetch.output contiene el valor inválido %s"
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:856
 #, c-format
 msgid "object %s not found"
 msgstr "objeto %s no encontrado"
 
-#: builtin/fetch.c:800
+#: builtin/fetch.c:860
 msgid "[up to date]"
 msgstr "[actualizado]"
 
-#: builtin/fetch.c:813 builtin/fetch.c:829 builtin/fetch.c:901
+#: builtin/fetch.c:873 builtin/fetch.c:889 builtin/fetch.c:961
 msgid "[rejected]"
 msgstr "[rechazado]"
 
-#: builtin/fetch.c:814
+#: builtin/fetch.c:874
 msgid "can't fetch in current branch"
 msgstr "no se puede traer en la rama actual"
 
-#: builtin/fetch.c:824
+#: builtin/fetch.c:884
 msgid "[tag update]"
 msgstr "[actualización de tag]"
 
-#: builtin/fetch.c:825 builtin/fetch.c:862 builtin/fetch.c:884
-#: builtin/fetch.c:896
+#: builtin/fetch.c:885 builtin/fetch.c:922 builtin/fetch.c:944
+#: builtin/fetch.c:956
 msgid "unable to update local ref"
 msgstr "no se posible actualizar el ref local"
 
-#: builtin/fetch.c:829
+#: builtin/fetch.c:889
 msgid "would clobber existing tag"
 msgstr "podría golpear tag existente"
 
-#: builtin/fetch.c:851
+#: builtin/fetch.c:911
 msgid "[new tag]"
 msgstr "[nuevo tag]"
 
-#: builtin/fetch.c:854
+#: builtin/fetch.c:914
 msgid "[new branch]"
 msgstr "[nueva rama]"
 
-#: builtin/fetch.c:857
+#: builtin/fetch.c:917
 msgid "[new ref]"
 msgstr "[nueva referencia]"
 
-#: builtin/fetch.c:896
+#: builtin/fetch.c:956
 msgid "forced update"
 msgstr "actualización forzada"
 
-#: builtin/fetch.c:901
+#: builtin/fetch.c:961
 msgid "non-fast-forward"
 msgstr "avance lento"
 
-#: builtin/fetch.c:1005
+#: builtin/fetch.c:1065
 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"
@@ -14863,7 +15099,7 @@
 "show-forced-updates'\n"
 "o ejecute 'git config fetch.showForcedUpdates true'."
 
-#: builtin/fetch.c:1009
+#: builtin/fetch.c:1069
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -14876,22 +15112,22 @@
 "false'\n"
 "para evitar esta validación.\n"
 
-#: builtin/fetch.c:1041
+#: builtin/fetch.c:1101
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s no envió todos los objetos necesarios\n"
 
-#: builtin/fetch.c:1069
+#: builtin/fetch.c:1129
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "rechazado %s porque raíces superficiales no pueden ser actualizadas"
 
-#: builtin/fetch.c:1146 builtin/fetch.c:1297
+#: builtin/fetch.c:1206 builtin/fetch.c:1357
 #, c-format
 msgid "From %.*s\n"
 msgstr "Desde %.*s\n"
 
-#: builtin/fetch.c:1168
+#: builtin/fetch.c:1228
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -14900,56 +15136,56 @@
 "algunos refs locales no pudieron ser actualizados; intente ejecutar\n"
 " 'git remote prune %s' para eliminar cualquier rama vieja o conflictiva"
 
-#: builtin/fetch.c:1267
+#: builtin/fetch.c:1327
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s se pondrá colgado)"
 
-#: builtin/fetch.c:1268
+#: builtin/fetch.c:1328
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s se ha colgado)"
 
-#: builtin/fetch.c:1300
+#: builtin/fetch.c:1360
 msgid "[deleted]"
 msgstr "[eliminado]"
 
-#: builtin/fetch.c:1301 builtin/remote.c:1118
+#: builtin/fetch.c:1361 builtin/remote.c:1118
 msgid "(none)"
 msgstr "(nada)"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1384
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Rehusando extraer en la rama actual %s de un repositorio no vacío"
 
-#: builtin/fetch.c:1343
+#: builtin/fetch.c:1403
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Opción \"%s\" valor \"%s\" no es válido para %s"
 
-#: builtin/fetch.c:1346
+#: builtin/fetch.c:1406
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Opción \"%s\" es ignorada por %s\n"
 
-#: builtin/fetch.c:1558
+#: builtin/fetch.c:1618
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "múltiples ramas detectadas, incompatible con --set-upstream"
 
-#: builtin/fetch.c:1573
+#: builtin/fetch.c:1633
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "no configurar upstream para una rama de rastreo remoto"
 
-#: builtin/fetch.c:1575
+#: builtin/fetch.c:1635
 msgid "not setting upstream for a remote tag"
 msgstr "no configurar upstream para un tag remoto"
 
-#: builtin/fetch.c:1577
+#: builtin/fetch.c:1637
 msgid "unknown branch type"
 msgstr "tipo de branch desconocido"
 
-#: builtin/fetch.c:1579
+#: builtin/fetch.c:1639
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -14957,22 +15193,22 @@
 "no se encontró rama fuente.\n"
 "tienes que especificar exactamente una rama con la opción --set-upstream."
 
-#: builtin/fetch.c:1708 builtin/fetch.c:1771
+#: builtin/fetch.c:1768 builtin/fetch.c:1831
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Extrayendo %s\n"
 
-#: builtin/fetch.c:1718 builtin/fetch.c:1773 builtin/remote.c:101
+#: builtin/fetch.c:1778 builtin/fetch.c:1833 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "No se pudo extraer %s"
 
-#: builtin/fetch.c:1730
+#: builtin/fetch.c:1790
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "no se pudo hacer fetch a '%s' (código de salida: %d)\n"
 
-#: builtin/fetch.c:1834
+#: builtin/fetch.c:1894
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -14980,44 +15216,52 @@
 "No hay repositorio remoto especificado. Por favor, especifique un URL o un\n"
 "nombre remoto del cual las nuevas revisiones deben ser extraídas."
 
-#: builtin/fetch.c:1870
+#: builtin/fetch.c:1930
 msgid "You need to specify a tag name."
 msgstr "Tienes que especificar un nombre de tag."
 
-#: builtin/fetch.c:1935
+#: builtin/fetch.c:1995
 msgid "Negative depth in --deepen is not supported"
 msgstr "Profundidad negativa en --deepen no soportada"
 
-#: builtin/fetch.c:1937
+#: builtin/fetch.c:1997
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen y --depth son mutuamente exclusivas"
 
-#: builtin/fetch.c:1942
+#: builtin/fetch.c:2002
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth y --unshallow no pueden ser usadas juntas"
 
-#: builtin/fetch.c:1944
+#: builtin/fetch.c:2004
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow no tiene sentido en un repositorio completo"
 
-#: builtin/fetch.c:1961
+#: builtin/fetch.c:2021
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all no toma un argumento de repositorio"
 
-#: builtin/fetch.c:1963
+#: builtin/fetch.c:2023
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all no tiene sentido con refspecs"
 
-#: builtin/fetch.c:1972
+#: builtin/fetch.c:2032
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "No existe el remoto o grupo remoto: %s"
 
-#: builtin/fetch.c:1979
+#: builtin/fetch.c:2039
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Extraer un grupo y especificar un refspecs no tiene sentido"
 
-#: builtin/fetch.c:1997
+#: builtin/fetch.c:2055
+msgid "must supply remote when using --negotiate-only"
+msgstr "tiene que proveer un remoto cuando usa --negotiate-only"
+
+#: builtin/fetch.c:2060
+msgid "Protocol does not support --negotiate-only, exiting."
+msgstr "Protocolo no soporta --negotiate-only, saliendo."
+
+#: builtin/fetch.c:2079
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -15025,11 +15269,11 @@
 "--filter solo puede ser usado con el remoto configurado en extensions."
 "partialClone"
 
-#: builtin/fetch.c:2001
+#: builtin/fetch.c:2083
 msgid "--atomic can only be used when fetching from one remote"
 msgstr "--atomic solo se puede usar cuando se busca desde un control remoto"
 
-#: builtin/fetch.c:2005
+#: builtin/fetch.c:2087
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin solo se puede usar cuando se busca desde un control remoto"
 
@@ -15075,47 +15319,47 @@
 msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
 msgstr "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
 
-#: builtin/for-each-ref.c:28
+#: builtin/for-each-ref.c:30
 msgid "quote placeholders suitably for shells"
 msgstr "cite los marcadores de posición adecuadamente para los shells"
 
-#: builtin/for-each-ref.c:30
+#: builtin/for-each-ref.c:32
 msgid "quote placeholders suitably for perl"
 msgstr "cite los marcadores de posición adecuadamente para perl"
 
-#: builtin/for-each-ref.c:32
+#: builtin/for-each-ref.c:34
 msgid "quote placeholders suitably for python"
 msgstr "cite los marcadores de posición adecuadamente para python"
 
-#: builtin/for-each-ref.c:34
+#: builtin/for-each-ref.c:36
 msgid "quote placeholders suitably for Tcl"
 msgstr "cite los marcadores de posición adecuadamente para Tcl"
 
-#: builtin/for-each-ref.c:37
+#: builtin/for-each-ref.c:39
 msgid "show only <n> matched refs"
 msgstr "mostrar solo <n> refs encontradas"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:472
+#: builtin/for-each-ref.c:41 builtin/tag.c:483
 msgid "respect format colors"
 msgstr "respetar el formato de colores"
 
-#: builtin/for-each-ref.c:42
+#: builtin/for-each-ref.c:44
 msgid "print only refs which points at the given object"
 msgstr "mostrar solo refs que apunten al objeto dado"
 
-#: builtin/for-each-ref.c:44
+#: builtin/for-each-ref.c:46
 msgid "print only refs that are merged"
 msgstr "mostrar solo refs que son fusionadas"
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:47
 msgid "print only refs that are not merged"
 msgstr "mostrar solo refs que no son fusionadas"
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:48
 msgid "print only refs which contain the commit"
 msgstr "mostrar solo refs que contienen el commit"
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:49
 msgid "print only refs which don't contain the commit"
 msgstr "mostrar solo refs que no contienen el commit"
 
@@ -15135,32 +15379,32 @@
 msgid "missing --config=<config>"
 msgstr "falta --config=<config>"
 
-#: builtin/fsck.c:69 builtin/fsck.c:130 builtin/fsck.c:131
+#: builtin/fsck.c:69 builtin/fsck.c:127 builtin/fsck.c:128
 msgid "unknown"
 msgstr "desconocido"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:83 builtin/fsck.c:103
+#: builtin/fsck.c:78 builtin/fsck.c:100
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "error en %s %s: %s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:97
+#: builtin/fsck.c:94
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "peligro en %s %s: %s"
 
-#: builtin/fsck.c:126 builtin/fsck.c:129
+#: builtin/fsck.c:123 builtin/fsck.c:126
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "link roto de %7s %s"
 
-#: builtin/fsck.c:138
+#: builtin/fsck.c:135
 msgid "wrong object type in link"
 msgstr "tipo de objeto equivocado en link"
 
-#: builtin/fsck.c:154
+#: builtin/fsck.c:151
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -15169,211 +15413,211 @@
 "link roto de %7s %s\n"
 "              a %7s %s"
 
-#: builtin/fsck.c:265
+#: builtin/fsck.c:263
 #, c-format
 msgid "missing %s %s"
 msgstr "faltan %s %s"
 
-#: builtin/fsck.c:292
+#: builtin/fsck.c:290
 #, c-format
 msgid "unreachable %s %s"
 msgstr "inalcanzable %s %s"
 
-#: builtin/fsck.c:312
+#: builtin/fsck.c:310
 #, c-format
 msgid "dangling %s %s"
 msgstr "actualizando %s %s"
 
-#: builtin/fsck.c:322
+#: builtin/fsck.c:320
 msgid "could not create lost-found"
 msgstr "no se pudo crear lost-found"
 
-#: builtin/fsck.c:333
+#: builtin/fsck.c:331
 #, c-format
 msgid "could not finish '%s'"
 msgstr "no se pudo finalizar '%s'"
 
-#: builtin/fsck.c:350
+#: builtin/fsck.c:348
 #, c-format
 msgid "Checking %s"
 msgstr "Revisando %s"
 
-#: builtin/fsck.c:388
+#: builtin/fsck.c:386
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Verificando conectividad (%d objetos)"
 
-#: builtin/fsck.c:407
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking %s %s"
 msgstr "Revisando %s %s"
 
-#: builtin/fsck.c:412
+#: builtin/fsck.c:410
 msgid "broken links"
 msgstr "links rotos"
 
-#: builtin/fsck.c:421
+#: builtin/fsck.c:419
 #, c-format
 msgid "root %s"
 msgstr "raíz %s"
 
-#: builtin/fsck.c:429
+#: builtin/fsck.c:427
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "tag %s %s (%s) en %s"
 
-#: builtin/fsck.c:458
+#: builtin/fsck.c:456
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s: objecto corrupto o faltante"
 
-#: builtin/fsck.c:483
+#: builtin/fsck.c:481
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s: referencia inválida %s"
 
-#: builtin/fsck.c:497
+#: builtin/fsck.c:495
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Revisando reflog %s->%s"
 
-#: builtin/fsck.c:531
+#: builtin/fsck.c:529
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s: puntero sha1 inválido %s"
 
-#: builtin/fsck.c:538
+#: builtin/fsck.c:536
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s: no es un commit"
 
-#: builtin/fsck.c:592
+#: builtin/fsck.c:590
 msgid "notice: No default references"
 msgstr "aviso: No hay referencias por defecto"
 
-#: builtin/fsck.c:607
+#: builtin/fsck.c:605
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s: objeto corrupto o no encontrado: %s"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:618
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s: no se puede analizar objeto: %s"
 
-#: builtin/fsck.c:640
+#: builtin/fsck.c:638
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "mal sha1 de archivo: %s"
 
-#: builtin/fsck.c:655
+#: builtin/fsck.c:653
 msgid "Checking object directory"
 msgstr "Revisando directorio de objetos"
 
-#: builtin/fsck.c:658
+#: builtin/fsck.c:656
 msgid "Checking object directories"
 msgstr "Revisando objetos directorios"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:671
 #, c-format
 msgid "Checking %s link"
 msgstr "Revisando link %s"
 
-#: builtin/fsck.c:678 builtin/index-pack.c:865
+#: builtin/fsck.c:676 builtin/index-pack.c:866
 #, c-format
 msgid "invalid %s"
 msgstr "%s inválido"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:683
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s apunta a algo extraño (%s)"
 
-#: builtin/fsck.c:691
+#: builtin/fsck.c:689
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s: HEAD desacoplado apunta a nada"
 
-#: builtin/fsck.c:695
+#: builtin/fsck.c:693
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "aviso: %s apunta a un branch no nacido (%s)"
 
-#: builtin/fsck.c:707
+#: builtin/fsck.c:705
 msgid "Checking cache tree"
 msgstr "Revisando el cache tree"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:710
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s: puntero inválido sha1 en cache-tree"
 
-#: builtin/fsck.c:721
+#: builtin/fsck.c:719
 msgid "non-tree in cache-tree"
 msgstr "non-tree en cache-tree"
 
-#: builtin/fsck.c:752
+#: builtin/fsck.c:750
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<opciones>] [<objeto>...]"
 
-#: builtin/fsck.c:758
+#: builtin/fsck.c:756
 msgid "show unreachable objects"
 msgstr "mostrar objetos ilegibles"
 
-#: builtin/fsck.c:759
+#: builtin/fsck.c:757
 msgid "show dangling objects"
 msgstr "mostrar objetos colgados"
 
-#: builtin/fsck.c:760
+#: builtin/fsck.c:758
 msgid "report tags"
 msgstr "reportar tags"
 
-#: builtin/fsck.c:761
+#: builtin/fsck.c:759
 msgid "report root nodes"
 msgstr "reportar nodos raíz"
 
-#: builtin/fsck.c:762
+#: builtin/fsck.c:760
 msgid "make index objects head nodes"
 msgstr "hacer objetos índices cabezas de nodos"
 
-#: builtin/fsck.c:763
+#: builtin/fsck.c:761
 msgid "make reflogs head nodes (default)"
 msgstr "hacer reflogs cabeza de nodos (default)"
 
-#: builtin/fsck.c:764
+#: builtin/fsck.c:762
 msgid "also consider packs and alternate objects"
 msgstr "también considerar paquetes y objetos alternos"
 
-#: builtin/fsck.c:765
+#: builtin/fsck.c:763
 msgid "check only connectivity"
 msgstr "revisar solo conectividad"
 
-#: builtin/fsck.c:766 builtin/mktag.c:78
+#: builtin/fsck.c:764 builtin/mktag.c:75
 msgid "enable more strict checking"
 msgstr "habilitar revisión más estricta"
 
-#: builtin/fsck.c:768
+#: builtin/fsck.c:766
 msgid "write dangling objects in .git/lost-found"
 msgstr "escribir objetos colgados en .git/lost-found"
 
-#: builtin/fsck.c:769 builtin/prune.c:134
+#: builtin/fsck.c:767 builtin/prune.c:134
 msgid "show progress"
 msgstr "mostrar progreso"
 
-#: builtin/fsck.c:770
+#: builtin/fsck.c:768
 msgid "show verbose names for reachable objects"
 msgstr "mostrar nombres verboso para objetos alcanzables"
 
-#: builtin/fsck.c:829 builtin/index-pack.c:261
+#: builtin/fsck.c:827 builtin/index-pack.c:262
 msgid "Checking objects"
 msgstr "Revisando objetos"
 
-#: builtin/fsck.c:857
+#: builtin/fsck.c:855
 #, c-format
 msgid "%s: object missing"
 msgstr "%s: objeto faltante"
 
-#: builtin/fsck.c:868
+#: builtin/fsck.c:866
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "parámetro inválido: sha1 esperado, se obtuvo '%s'"
@@ -15392,12 +15636,12 @@
 msgid "failed to parse '%s' value '%s'"
 msgstr "falló al analizar '%s' valor '%s'"
 
-#: builtin/gc.c:487 builtin/init-db.c:58
+#: builtin/gc.c:487 builtin/init-db.c:57
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "no se pudo definir '%s'"
 
-#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:562
+#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:573
 #, c-format
 msgid "cannot read '%s'"
 msgstr "no se puede leer '%s'"
@@ -15498,147 +15742,147 @@
 msgid "failed to write commit-graph"
 msgstr "no se pudo escribir el commit-graph"
 
-#: builtin/gc.c:914
-msgid "failed to fill remotes"
-msgstr "falló al borrar remotos"
+#: builtin/gc.c:905
+msgid "failed to prefetch remotes"
+msgstr "falló al hacer prefetch a los remotos"
 
-#: builtin/gc.c:1037
+#: builtin/gc.c:1022
 msgid "failed to start 'git pack-objects' process"
 msgstr "no pudo iniciar el proceso 'git pack-objects'"
 
-#: builtin/gc.c:1054
+#: builtin/gc.c:1039
 msgid "failed to finish 'git pack-objects' process"
 msgstr "no pudo finalizar el proceso 'git pack-objects'"
 
-#: builtin/gc.c:1106
+#: builtin/gc.c:1091
 msgid "failed to write multi-pack-index"
 msgstr "no se pudo escribir el índice de paquetes múltiples"
 
-#: builtin/gc.c:1124
+#: builtin/gc.c:1109
 msgid "'git multi-pack-index expire' failed"
 msgstr "'git multi-pack-index expire' falló"
 
-#: builtin/gc.c:1185
+#: builtin/gc.c:1170
 msgid "'git multi-pack-index repack' failed"
 msgstr "'git multi-pack-index repack' falló"
 
-#: builtin/gc.c:1194
+#: builtin/gc.c:1179
 msgid ""
 "skipping incremental-repack task because core.multiPackIndex is disabled"
 msgstr ""
 "omitiendo la tarea de reempaquetado incremental porque core.multiPackIndex "
 "está deshabilitado"
 
-#: builtin/gc.c:1298
+#: builtin/gc.c:1283
 #, c-format
 msgid "lock file '%s' exists, skipping maintenance"
 msgstr "el archivo de bloqueo '%s' existe, omitiendo el mantenimiento"
 
-#: builtin/gc.c:1328
+#: builtin/gc.c:1313
 #, c-format
 msgid "task '%s' failed"
 msgstr "tarea '%s' falló"
 
-#: builtin/gc.c:1410
+#: builtin/gc.c:1395
 #, c-format
 msgid "'%s' is not a valid task"
 msgstr "'%s' no es una tarea válida"
 
-#: builtin/gc.c:1415
+#: builtin/gc.c:1400
 #, c-format
 msgid "task '%s' cannot be selected multiple times"
 msgstr "tarea '%s' no puede ser seleccionada múltipes veces"
 
-#: builtin/gc.c:1430
+#: builtin/gc.c:1415
 msgid "run tasks based on the state of the repository"
 msgstr "ejecutar tareas basadas en el estado del repositorio"
 
-#: builtin/gc.c:1431
+#: builtin/gc.c:1416
 msgid "frequency"
 msgstr "frecuencia"
 
-#: builtin/gc.c:1432
+#: builtin/gc.c:1417
 msgid "run tasks based on frequency"
 msgstr "ejecutar tareas basado en frecuencia"
 
-#: builtin/gc.c:1435
+#: builtin/gc.c:1420
 msgid "do not report progress or other information over stderr"
 msgstr "no reportar progreso u otra información por medio de stderr"
 
-#: builtin/gc.c:1436
+#: builtin/gc.c:1421
 msgid "task"
 msgstr "tarea"
 
-#: builtin/gc.c:1437
+#: builtin/gc.c:1422
 msgid "run a specific task"
 msgstr "ruta a tarea específica"
 
-#: builtin/gc.c:1454
+#: builtin/gc.c:1439
 msgid "use at most one of --auto and --schedule=<frequency>"
 msgstr "usar como máximo una entre --auto y --schedule=<frecuencia>"
 
-#: builtin/gc.c:1497
+#: builtin/gc.c:1482
 msgid "failed to run 'git config'"
 msgstr "no pudo ejecutar 'git config'"
 
-#: builtin/gc.c:1562
+#: builtin/gc.c:1547
 #, c-format
 msgid "failed to expand path '%s'"
 msgstr "falló al expandir la ruta '%s'"
 
-#: builtin/gc.c:1591
+#: builtin/gc.c:1576
 msgid "failed to start launchctl"
 msgstr "Falló al iniciar launchctl."
 
-#: builtin/gc.c:1628
+#: builtin/gc.c:1613
 #, c-format
 msgid "failed to create directories for '%s'"
 msgstr "falló al crear directorios para '%s'"
 
-#: builtin/gc.c:1689
+#: builtin/gc.c:1674
 #, c-format
 msgid "failed to bootstrap service %s"
 msgstr "falló al generar el servicio %s"
 
-#: builtin/gc.c:1760
+#: builtin/gc.c:1745
 msgid "failed to create temp xml file"
 msgstr "no se pudo crear el archivo temp xml"
 
-#: builtin/gc.c:1850
+#: builtin/gc.c:1835
 msgid "failed to start schtasks"
 msgstr "no pudo iniciar schtasks"
 
-#: builtin/gc.c:1894
+#: builtin/gc.c:1879
 msgid "failed to run 'crontab -l'; your system might not support 'cron'"
 msgstr ""
 "no pudo ejecutar 'crontab -l'; es posible que su sistema no soporte 'cron'"
 
-#: builtin/gc.c:1911
+#: builtin/gc.c:1896
 msgid "failed to run 'crontab'; your system might not support 'cron'"
 msgstr ""
 "no pudo ejecutar 'crontab'; es posible que su sistema no soporte 'cron'"
 
-#: builtin/gc.c:1915
+#: builtin/gc.c:1900
 msgid "failed to open stdin of 'crontab'"
 msgstr "no pudo abrir stdin de 'crontab'"
 
-#: builtin/gc.c:1956
+#: builtin/gc.c:1942
 msgid "'crontab' died"
 msgstr "'crontab' murió"
 
-#: builtin/gc.c:1990
+#: builtin/gc.c:1976
 msgid "another process is scheduling background maintenance"
 msgstr "otro proceso está programando el mantenimiento en segundo plano"
 
-#: builtin/gc.c:2009
+#: builtin/gc.c:2000
 msgid "failed to add repo to global config"
 msgstr "no se pudo agregar el repositorio a la configuración global"
 
-#: builtin/gc.c:2019
+#: builtin/gc.c:2010
 msgid "git maintenance <subcommand> [<options>]"
 msgstr "git maintenance <subcomando> [<opciones>]"
 
-#: builtin/gc.c:2038
+#: builtin/gc.c:2029
 #, c-format
 msgid "invalid subcommand: %s"
 msgstr "subcomando no válido: %s"
@@ -15661,262 +15905,262 @@
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:285 builtin/index-pack.c:1589 builtin/index-pack.c:1808
-#: builtin/pack-objects.c:2944
+#: builtin/grep.c:285 builtin/index-pack.c:1590 builtin/index-pack.c:1793
+#: builtin/pack-objects.c:2969
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "no hay soporte para hilos, ignorando %s"
 
-#: builtin/grep.c:473 builtin/grep.c:601 builtin/grep.c:641
+#: builtin/grep.c:473 builtin/grep.c:603 builtin/grep.c:643
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "no es posible leer el  árbol (%s)"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:658
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "no es posible realizar grep del objeto de tipo %s"
 
-#: builtin/grep.c:737
+#: builtin/grep.c:739
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "switch `%c' espera un valor numérico"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:838
 msgid "search in index instead of in the work tree"
 msgstr "buscar en el índice en lugar del árbol de trabajo"
 
-#: builtin/grep.c:838
+#: builtin/grep.c:840
 msgid "find in contents not managed by git"
 msgstr "encontrar en contenidos no manejados por git"
 
-#: builtin/grep.c:840
+#: builtin/grep.c:842
 msgid "search in both tracked and untracked files"
 msgstr "buscar en archivos rastreados y no rastreados"
 
-#: builtin/grep.c:842
-msgid "ignore files specified via '.gitignore'"
-msgstr "ignorar archivos especificados via '.gitignore'"
-
 #: builtin/grep.c:844
+msgid "ignore files specified via '.gitignore'"
+msgstr "ignorar archivos especificados vía '.gitignore'"
+
+#: builtin/grep.c:846
 msgid "recursively search in each submodule"
 msgstr "búsqueda recursiva en cada submódulo"
 
-#: builtin/grep.c:847
+#: builtin/grep.c:849
 msgid "show non-matching lines"
 msgstr "mostrar líneas que no concuerdan"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:851
 msgid "case insensitive matching"
 msgstr "búsqueda insensible a mayúsculas"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:853
 msgid "match patterns only at word boundaries"
 msgstr "concordar patrón solo a los límites de las palabras"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:855
 msgid "process binary files as text"
 msgstr "procesar archivos binarios como texto"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:857
 msgid "don't match patterns in binary files"
 msgstr "no concordar patrones en archivos binarios"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:860
 msgid "process binary files with textconv filters"
 msgstr "procesar archivos binarios con filtros textconv"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:862
 msgid "search in subdirectories (default)"
 msgstr "buscar en subdirectorios (default)"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:864
 msgid "descend at most <depth> levels"
 msgstr "descender como máximo <valor-de-profundiad>  niveles"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:868
 msgid "use extended POSIX regular expressions"
 msgstr "usar expresiones regulares POSIX extendidas"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:871
 msgid "use basic POSIX regular expressions (default)"
 msgstr "usar expresiones regulares POSIX (default)"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:874
 msgid "interpret patterns as fixed strings"
 msgstr "interpretar patrones como strings arreglados"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:877
 msgid "use Perl-compatible regular expressions"
 msgstr "usar expresiones regulares compatibles con Perl"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:880
 msgid "show line numbers"
 msgstr "mostrar números de línea"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:881
 msgid "show column number of first match"
 msgstr "mostrar el número de columna de la primer coincidencia"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:882
 msgid "don't show filenames"
 msgstr "no mostrar nombres de archivo"
 
-#: builtin/grep.c:881
+#: builtin/grep.c:883
 msgid "show filenames"
 msgstr "mostrar nombres de archivo"
 
-#: builtin/grep.c:883
+#: builtin/grep.c:885
 msgid "show filenames relative to top directory"
 msgstr "mostrar nombres de archivo relativos al directorio superior"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:887
 msgid "show only filenames instead of matching lines"
 msgstr "mostrar solo nombres de archivos en lugar de líneas encontradas"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "synonym for --files-with-matches"
 msgstr "sinónimo para --files-with-matches"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:892
 msgid "show only the names of files without match"
 msgstr "mostrar solo los nombres de archivos sin coincidencias"
 
-#: builtin/grep.c:892
+#: builtin/grep.c:894
 msgid "print NUL after filenames"
 msgstr "imprimir NUL después del nombre de archivo"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:897
 msgid "show only matching parts of a line"
 msgstr "mostrar solo partes que concuerdan de una línea"
 
-#: builtin/grep.c:897
+#: builtin/grep.c:899
 msgid "show the number of matches instead of matching lines"
 msgstr "mostrar el número de concordancias en lugar de las líneas concordantes"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:900
 msgid "highlight matches"
 msgstr "resaltar concordancias"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:902
 msgid "print empty line between matches from different files"
 msgstr "imprimir una línea vacía entre coincidencias de diferentes archivos"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:904
 msgid "show filename only once above matches from same file"
 msgstr ""
 "mostrar el nombre de archivo solo una vez para concordancias en el mismo "
 "archivo"
 
-#: builtin/grep.c:905
+#: builtin/grep.c:907
 msgid "show <n> context lines before and after matches"
 msgstr "mostrar <n> líneas de contexto antes y después de la concordancia"
 
-#: builtin/grep.c:908
+#: builtin/grep.c:910
 msgid "show <n> context lines before matches"
 msgstr "mostrar <n> líneas de contexto antes de las concordancias"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:912
 msgid "show <n> context lines after matches"
 msgstr "mostrar <n> líneas de context después de las concordancias"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:914
 msgid "use <n> worker threads"
 msgstr "usar <n> hilos de trabajo"
 
-#: builtin/grep.c:913
+#: builtin/grep.c:915
 msgid "shortcut for -C NUM"
 msgstr "atajo para -C NUM"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:918
 msgid "show a line with the function name before matches"
 msgstr ""
 "mostrar una línea con el nombre de la función antes de las concordancias"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:920
 msgid "show the surrounding function"
 msgstr "mostrar la función circundante"
 
-#: builtin/grep.c:921
+#: builtin/grep.c:923
 msgid "read patterns from file"
 msgstr "leer patrones del archivo"
 
-#: builtin/grep.c:923
+#: builtin/grep.c:925
 msgid "match <pattern>"
 msgstr "concordar <patrón>"
 
-#: builtin/grep.c:925
+#: builtin/grep.c:927
 msgid "combine patterns specified with -e"
 msgstr "combinar patrones especificados con -e"
 
-#: builtin/grep.c:937
+#: builtin/grep.c:939
 msgid "indicate hit with exit status without output"
 msgstr "indicar concordancia con exit status sin output"
 
-#: builtin/grep.c:939
+#: builtin/grep.c:941
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "mostrar solo concordancias con archivos que concuerdan todos los patrones"
 
-#: builtin/grep.c:942
+#: builtin/grep.c:944
 msgid "pager"
 msgstr "paginador"
 
-#: builtin/grep.c:942
+#: builtin/grep.c:944
 msgid "show matching files in the pager"
 msgstr "mostrar archivos concordantes en el paginador"
 
-#: builtin/grep.c:946
+#: builtin/grep.c:948
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permitir el llamado de grep(1) (ignorado por esta build)"
 
-#: builtin/grep.c:1012
+#: builtin/grep.c:1014
 msgid "no pattern given"
 msgstr "no se ha entregado patrón"
 
-#: builtin/grep.c:1048
+#: builtin/grep.c:1050
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index o --untracked no se puede usar con revs"
 
-#: builtin/grep.c:1056
+#: builtin/grep.c:1058
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "no se posible resolver revisión: %s"
 
-#: builtin/grep.c:1086
+#: builtin/grep.c:1088
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "--untracked no es soportada con --recurse-submodules"
 
-#: builtin/grep.c:1090
+#: builtin/grep.c:1092
 msgid "invalid option combination, ignoring --threads"
 msgstr "combinación de opciones inválida, ignorando --threads"
 
-#: builtin/grep.c:1093 builtin/pack-objects.c:3672
+#: builtin/grep.c:1095 builtin/pack-objects.c:3930
 msgid "no threads support, ignoring --threads"
 msgstr "no se soportan hilos, ignorando --threads"
 
-#: builtin/grep.c:1096 builtin/index-pack.c:1586 builtin/pack-objects.c:2941
+#: builtin/grep.c:1098 builtin/index-pack.c:1587 builtin/pack-objects.c:2966
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "número inválido de hilos especificado (%d)"
 
-#: builtin/grep.c:1130
+#: builtin/grep.c:1132
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager solo funciona en el árbol de trabajo"
 
-#: builtin/grep.c:1156
+#: builtin/grep.c:1158
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached o --untracked no pueden ser usadas con --no-index"
 
-#: builtin/grep.c:1159
+#: builtin/grep.c:1161
 msgid "--untracked cannot be used with --cached"
 msgstr "--untracked no se puede usar con --cached"
 
-#: builtin/grep.c:1165
+#: builtin/grep.c:1167
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard no puede ser usada para contenido rastreado"
 
-#: builtin/grep.c:1173
+#: builtin/grep.c:1175
 msgid "both --cached and trees are given"
 msgstr "--cached y árboles han sido entregados"
 
@@ -16049,12 +16293,12 @@
 msgid "no info viewer handled the request"
 msgstr "ningún visor de info manejo la petición"
 
-#: builtin/help.c:520 builtin/help.c:531 git.c:340
+#: builtin/help.c:520 builtin/help.c:531 git.c:348
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' tiene el alias '%s'"
 
-#: builtin/help.c:534 git.c:372
+#: builtin/help.c:534 git.c:380
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "mal alias.%s string: %s"
@@ -16068,396 +16312,392 @@
 msgid "'git help config' for more information"
 msgstr "'git help config' para más información"
 
-#: builtin/index-pack.c:221
+#: builtin/index-pack.c:222
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "el tipo del objeto no concuerda en %s"
 
-#: builtin/index-pack.c:241
+#: builtin/index-pack.c:242
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "no se recibió el objeto esperado %s"
 
-#: builtin/index-pack.c:244
+#: builtin/index-pack.c:245
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "objeto %s: tipo esperado %s, encontrado %s"
 
-#: builtin/index-pack.c:294
+#: builtin/index-pack.c:295
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "no se puede llenar %d byte"
 msgstr[1] "no se pueden llenar %d bytes"
 
-#: builtin/index-pack.c:304
+#: builtin/index-pack.c:305
 msgid "early EOF"
 msgstr "EOF temprano"
 
-#: builtin/index-pack.c:305
+#: builtin/index-pack.c:306
 msgid "read error on input"
 msgstr "leer error en input"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:318
 msgid "used more bytes than were available"
 msgstr "se usaron más bytes de los disponibles"
 
-#: builtin/index-pack.c:324 builtin/pack-objects.c:624
+#: builtin/index-pack.c:325 builtin/pack-objects.c:624
 msgid "pack too large for current definition of off_t"
 msgstr "paquete muy grande para la definición actual de off_t"
 
-#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
+#: builtin/index-pack.c:328 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "paquete excede el máximo tamaño permitido"
 
-#: builtin/index-pack.c:342
+#: builtin/index-pack.c:343
 #, c-format
 msgid "unable to create '%s'"
 msgstr "no se puede crear '%s'"
 
-#: builtin/index-pack.c:348
+#: builtin/index-pack.c:349
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "no se puede abrir el archivo de paquete '%s'"
 
-#: builtin/index-pack.c:362
+#: builtin/index-pack.c:363
 msgid "pack signature mismatch"
 msgstr "firma del paquete no concuerda"
 
-#: builtin/index-pack.c:364
+#: builtin/index-pack.c:365
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "versión de paquete %<PRIu32> no soportada"
 
-#: builtin/index-pack.c:382
+#: builtin/index-pack.c:383
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "paquete tiene un mal objeto en el offset %<PRIuMAX>: %s"
 
-#: builtin/index-pack.c:488
+#: builtin/index-pack.c:489
 #, c-format
 msgid "inflate returned %d"
 msgstr "inflate devolvió %d"
 
-#: builtin/index-pack.c:537
+#: builtin/index-pack.c:538
 msgid "offset value overflow for delta base object"
 msgstr "valor de offset desbordado para el objeto base delta"
 
-#: builtin/index-pack.c:545
+#: builtin/index-pack.c:546
 msgid "delta base offset is out of bound"
 msgstr "offset de base delta está fuera de límites"
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:554
 #, c-format
 msgid "unknown object type %d"
 msgstr "tipo de objeto %d desconocido"
 
-#: builtin/index-pack.c:584
+#: builtin/index-pack.c:585
 msgid "cannot pread pack file"
 msgstr "no se puede propagar el paquete"
 
-#: builtin/index-pack.c:586
+#: builtin/index-pack.c:587
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "final prematuro de archivo de paquete, %<PRIuMAX> byte faltante"
 msgstr[1] "final prematuro de archivo de paquete, %<PRIuMAX> bytes faltantes"
 
-#: builtin/index-pack.c:612
+#: builtin/index-pack.c:613
 msgid "serious inflate inconsistency"
 msgstr "inconsistencia seria en inflate"
 
-#: 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
+#: builtin/index-pack.c:758 builtin/index-pack.c:764 builtin/index-pack.c:788
+#: builtin/index-pack.c:827 builtin/index-pack.c:836
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "¡COLISIÓN DE TIPO SHA1 ENCONTRADA CON %s !"
 
-#: builtin/index-pack.c:760 builtin/pack-objects.c:171
+#: builtin/index-pack.c:761 builtin/pack-objects.c:171
 #: builtin/pack-objects.c:231 builtin/pack-objects.c:326
 #, c-format
 msgid "unable to read %s"
 msgstr "no se posible leer %s"
 
-#: builtin/index-pack.c:824
+#: builtin/index-pack.c:825
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "no se puede leer la información existente del objeto %s"
 
-#: builtin/index-pack.c:832
+#: builtin/index-pack.c:833
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "no se puede leer el objeto existente %s"
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objeto blob %s inválido"
 
-#: builtin/index-pack.c:849 builtin/index-pack.c:868
+#: builtin/index-pack.c:850 builtin/index-pack.c:869
 msgid "fsck error in packed object"
 msgstr "error de fsck en el objeto empaquetado"
 
-#: builtin/index-pack.c:870
+#: builtin/index-pack.c:871
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "No todos los objetos hijos de %s son alcanzables"
 
-#: builtin/index-pack.c:931 builtin/index-pack.c:978
+#: builtin/index-pack.c:932 builtin/index-pack.c:979
 msgid "failed to apply delta"
 msgstr "falló al aplicar delta"
 
-#: builtin/index-pack.c:1161
+#: builtin/index-pack.c:1162
 msgid "Receiving objects"
 msgstr "Recibiendo objetos"
 
-#: builtin/index-pack.c:1161
+#: builtin/index-pack.c:1162
 msgid "Indexing objects"
 msgstr "Indexando objetos"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1196
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "paquete está corrompido (SHA1 no concuerda)"
 
-#: builtin/index-pack.c:1200
+#: builtin/index-pack.c:1201
 msgid "cannot fstat packfile"
 msgstr "no se puede fstat al archivo de paquete"
 
-#: builtin/index-pack.c:1203
+#: builtin/index-pack.c:1204
 msgid "pack has junk at the end"
 msgstr "el paquete tiene basura al final"
 
-#: builtin/index-pack.c:1215
+#: builtin/index-pack.c:1216
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusión más allá de la locura en parse_pack_objects()"
 
-#: builtin/index-pack.c:1238
+#: builtin/index-pack.c:1239
 msgid "Resolving deltas"
 msgstr "Resolviendo deltas"
 
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2707
+#: builtin/index-pack.c:1250 builtin/pack-objects.c:2732
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "no es posible crear hilo: %s"
 
-#: builtin/index-pack.c:1282
+#: builtin/index-pack.c:1283
 msgid "confusion beyond insanity"
 msgstr "confusión más allá de la locura"
 
-#: builtin/index-pack.c:1288
+#: builtin/index-pack.c:1289
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "completado con %d objeto local"
 msgstr[1] "completado con %d objetos locales"
 
-#: builtin/index-pack.c:1300
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Tail checksum para %s inesperada (¿corrupción de disco?)"
 
-#: builtin/index-pack.c:1304
+#: builtin/index-pack.c:1305
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "paquete tiene %d delta sin resolver"
 msgstr[1] "paquete tiene %d deltas sin resolver"
 
-#: builtin/index-pack.c:1328
+#: builtin/index-pack.c:1329
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "no es posible desinflar el objeto adjunto (%d)"
 
-#: builtin/index-pack.c:1424
+#: builtin/index-pack.c:1425
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "objeto local %s está corrompido"
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1446
 #, c-format
 msgid "packfile name '%s' does not end with '.%s'"
 msgstr "el nombre del archivo de paquete '%s' no termina con '.%s'"
 
-#: builtin/index-pack.c:1469
+#: builtin/index-pack.c:1470
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "no se puede escribir %s en el archivo '%s'"
 
-#: builtin/index-pack.c:1477
+#: builtin/index-pack.c:1478
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "no se puede cerrar escrito %s en archivo '%s'"
 
-#: builtin/index-pack.c:1503
+#: builtin/index-pack.c:1504
 msgid "error while closing pack file"
 msgstr "error mientras se cierra el archivo paquete"
 
-#: builtin/index-pack.c:1517
+#: builtin/index-pack.c:1518
 msgid "cannot store pack file"
 msgstr "no se puede guardar el archivo paquete"
 
-#: builtin/index-pack.c:1525
+#: builtin/index-pack.c:1526
 msgid "cannot store index file"
 msgstr "no se puede guardar el archivo índice"
 
-#: builtin/index-pack.c:1534
-msgid "cannot store reverse index file"
-msgstr "no se puede almacenar el archivo de índice inverso"
-
-#: builtin/index-pack.c:1580 builtin/pack-objects.c:2952
+#: builtin/index-pack.c:1581 builtin/pack-objects.c:2977
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "mal pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1650
+#: builtin/index-pack.c:1651
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "No se puede abrir el archivo paquete existente '%s'"
 
-#: builtin/index-pack.c:1652
+#: builtin/index-pack.c:1653
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "No se puede abrir el índice del archivo paquete para '%s'"
 
-#: builtin/index-pack.c:1700
+#: builtin/index-pack.c:1701
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "no delta: %d objeto"
 msgstr[1] "no delta: %d objetos"
 
-#: builtin/index-pack.c:1707
+#: builtin/index-pack.c:1708
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "largo de cadena = %d: %lu objeto"
 msgstr[1] "largo de cadena = %d: %lu objetos"
 
-#: builtin/index-pack.c:1765
+#: builtin/index-pack.c:1750
 msgid "Cannot come back to cwd"
 msgstr "No se puede regresar a cwd"
 
-#: builtin/index-pack.c:1819 builtin/index-pack.c:1822
-#: builtin/index-pack.c:1838 builtin/index-pack.c:1842
+#: builtin/index-pack.c:1804 builtin/index-pack.c:1807
+#: builtin/index-pack.c:1823 builtin/index-pack.c:1827
 #, c-format
 msgid "bad %s"
 msgstr "mal %s"
 
-#: builtin/index-pack.c:1848 builtin/init-db.c:392 builtin/init-db.c:625
+#: builtin/index-pack.c:1833 builtin/init-db.c:378 builtin/init-db.c:613
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "algoritmo hash desconocido '%s'"
 
-#: builtin/index-pack.c:1867
+#: builtin/index-pack.c:1852
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin no puede ser usada sin --stdin"
 
-#: builtin/index-pack.c:1869
+#: builtin/index-pack.c:1854
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiere un repositorio git"
 
-#: builtin/index-pack.c:1871
+#: builtin/index-pack.c:1856
 msgid "--object-format cannot be used with --stdin"
 msgstr "--object-format no se puede usar con --stdin"
 
-#: builtin/index-pack.c:1886
+#: builtin/index-pack.c:1871
 msgid "--verify with no packfile name given"
 msgstr "--verify no recibió ningún nombre de archivo de paquete"
 
-#: builtin/index-pack.c:1956 builtin/unpack-objects.c:582
+#: builtin/index-pack.c:1937 builtin/unpack-objects.c:584
 msgid "fsck error in pack objects"
 msgstr "error de fsck en objetos paquete"
 
-#: builtin/init-db.c:64
+#: builtin/init-db.c:63
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "no se pudo definir template '%s'"
 
-#: builtin/init-db.c:69
+#: builtin/init-db.c:68
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "no se puede abrir directorio '%s'"
 
-#: builtin/init-db.c:81
+#: builtin/init-db.c:80
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "no se puede leer link '%s'"
 
-#: builtin/init-db.c:83
+#: builtin/init-db.c:82
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "no se puede crear symlink '%s' '%s'"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:88
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "no se puede copiar '%s' a '%s'"
 
-#: builtin/init-db.c:93
+#: builtin/init-db.c:92
 #, c-format
 msgid "ignoring template %s"
 msgstr "ignorando template %s"
 
-#: builtin/init-db.c:124
+#: builtin/init-db.c:123
 #, c-format
 msgid "templates not found in %s"
 msgstr "template no encontrado en %s"
 
-#: builtin/init-db.c:139
+#: builtin/init-db.c:138
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "no se copian templates de '%s': %s"
 
-#: builtin/init-db.c:275
+#: builtin/init-db.c:262
 #, c-format
 msgid "invalid initial branch name: '%s'"
 msgstr "nombre de rama inicial inválido: '%s'"
 
-#: builtin/init-db.c:367
+#: builtin/init-db.c:353
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "no es posible manejar el tipo de archivo %d"
 
-#: builtin/init-db.c:370
+#: builtin/init-db.c:356
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "no se puede mover %s a %s"
 
-#: builtin/init-db.c:386
+#: builtin/init-db.c:372
 msgid "attempt to reinitialize repository with different hash"
 msgstr "intentar reinicializar el repositorio con un hash diferente"
 
-#: builtin/init-db.c:410 builtin/init-db.c:413
+#: builtin/init-db.c:396 builtin/init-db.c:399
 #, c-format
 msgid "%s already exists"
 msgstr "%s ya existe"
 
-#: builtin/init-db.c:445
+#: builtin/init-db.c:431
 #, c-format
 msgid "re-init: ignored --initial-branch=%s"
 msgstr "re-init: ignorando --initial-branch=%s"
 
-#: builtin/init-db.c:476
+#: builtin/init-db.c:462
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "Reinicializado el repositorio Git compartido existente en %s%s\n"
 
-#: builtin/init-db.c:477
+#: builtin/init-db.c:463
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "Reinicializado el repositorio Git existente en %s%s\n"
 
-#: builtin/init-db.c:481
+#: builtin/init-db.c:467
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "Inicializado repositorio Git compartido vacío en %s%s\n"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:468
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Inicializado repositorio Git vacío en %s%s\n"
 
-#: builtin/init-db.c:531
+#: builtin/init-db.c:517
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -16465,42 +16705,42 @@
 "git init [-q | --quiet] [--bare] [--template=<directorio-template>] [--"
 "shared[=<permisos>]] [<directorio>]"
 
-#: builtin/init-db.c:557
+#: builtin/init-db.c:543
 msgid "permissions"
 msgstr "permisos"
 
-#: builtin/init-db.c:558
+#: builtin/init-db.c:544
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr ""
 "especifica que el repositorio de git será compartido entre varios usuarios"
 
-#: builtin/init-db.c:564
+#: builtin/init-db.c:550
 msgid "override the name of the initial branch"
 msgstr "sobrescribir el nombre de la rama inicial"
 
-#: builtin/init-db.c:565 builtin/verify-pack.c:74
+#: builtin/init-db.c:551 builtin/verify-pack.c:74
 msgid "hash"
 msgstr "hash"
 
-#: builtin/init-db.c:566 builtin/show-index.c:22 builtin/verify-pack.c:75
+#: builtin/init-db.c:552 builtin/show-index.c:22 builtin/verify-pack.c:75
 msgid "specify the hash algorithm to use"
 msgstr "especificar el algoritmo hash a usar"
 
-#: builtin/init-db.c:573
+#: builtin/init-db.c:559
 msgid "--separate-git-dir and --bare are mutually exclusive"
 msgstr "--separate-git-dir y --bare son mutuamente excluyentes"
 
-#: builtin/init-db.c:602 builtin/init-db.c:607
+#: builtin/init-db.c:590 builtin/init-db.c:595
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "no se pude crear directorio %s"
 
-#: builtin/init-db.c:611 builtin/init-db.c:666
+#: builtin/init-db.c:599 builtin/init-db.c:654
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "no se puede aplicar chdir a %s"
 
-#: builtin/init-db.c:638
+#: builtin/init-db.c:626
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -16509,12 +16749,12 @@
 "%s (o --work-tree=<directorio>) no se permite sin especificar %s (o --git-"
 "dir=<directorio>)"
 
-#: builtin/init-db.c:690
+#: builtin/init-db.c:678
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "No se puede acceder al árbol de trabajo '%s'"
 
-#: builtin/init-db.c:695
+#: builtin/init-db.c:683
 msgid "--separate-git-dir incompatible with bare repository"
 msgstr "--separate-git-dir incompatible con el repositorio desnudo"
 
@@ -16566,10 +16806,6 @@
 msgid "do not treat --- specially"
 msgstr "no tratar --- especialmente"
 
-#: builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr "trailer"
-
 #: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr "trailer(s) para agregar"
@@ -16632,80 +16868,80 @@
 msgid "Final output: %d %s\n"
 msgstr "Salida final: %d %s\n"
 
-#: builtin/log.c:566
+#: builtin/log.c:568
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: mal archivo"
 
-#: builtin/log.c:581 builtin/log.c:671
+#: builtin/log.c:583 builtin/log.c:673
 #, c-format
 msgid "could not read object %s"
 msgstr "no se pudo leer objeto %s"
 
-#: builtin/log.c:696
+#: builtin/log.c:698
 #, c-format
 msgid "unknown type: %d"
 msgstr "tipo desconocido: %d"
 
-#: builtin/log.c:841
+#: builtin/log.c:843
 #, c-format
 msgid "%s: invalid cover from description mode"
 msgstr "%s: modo cover from description inválido"
 
-#: builtin/log.c:848
+#: builtin/log.c:850
 msgid "format.headers without value"
 msgstr "formate.headers. sin valor"
 
-#: builtin/log.c:977
+#: builtin/log.c:979
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "no se puede abrir archivo patch %s"
 
-#: builtin/log.c:994
+#: builtin/log.c:996
 msgid "need exactly one range"
 msgstr "necesita exactamente un rango"
 
-#: builtin/log.c:1004
+#: builtin/log.c:1006
 msgid "not a range"
 msgstr "no es un rango"
 
-#: builtin/log.c:1168
+#: builtin/log.c:1170
 msgid "cover letter needs email format"
 msgstr "letras de portada necesita formato email"
 
-#: builtin/log.c:1174
+#: builtin/log.c:1176
 msgid "failed to create cover-letter file"
 msgstr "falló al crear los archivos cover-letter"
 
-#: builtin/log.c:1261
+#: builtin/log.c:1263
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "insano in-reply-to: %s"
 
-#: builtin/log.c:1288
+#: builtin/log.c:1290
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<opciones>] [<desde> | <rango-de-revisiones>]"
 
-#: builtin/log.c:1346
+#: builtin/log.c:1348
 msgid "two output directories?"
 msgstr "¿dos directorios de salida?"
 
-#: builtin/log.c:1497 builtin/log.c:2317 builtin/log.c:2319 builtin/log.c:2331
+#: builtin/log.c:1499 builtin/log.c:2326 builtin/log.c:2328 builtin/log.c:2340
 #, c-format
 msgid "unknown commit %s"
 msgstr "commit desconocido %s"
 
-#: builtin/log.c:1508 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1510 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "falló al resolver '%s' como ref válida"
 
-#: builtin/log.c:1517
+#: builtin/log.c:1519
 msgid "could not find exact merge base"
 msgstr "no se pudo encontrar una base de fusión exacta"
 
-#: builtin/log.c:1527
+#: builtin/log.c:1529
 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"
@@ -16717,290 +16953,294 @@
 "O puedes especificar un commit base mediante --base=<id-commit-base> "
 "manualmente"
 
-#: builtin/log.c:1550
+#: builtin/log.c:1552
 msgid "failed to find exact merge base"
 msgstr "falló al encontrar una base de fusión exacta"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1569
 msgid "base commit should be the ancestor of revision list"
 msgstr "el commit base debe ser el ancestro de la lista de revisión"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1579
 msgid "base commit shouldn't be in revision list"
 msgstr "el commit base no debe estar en la lista de revisión"
 
-#: builtin/log.c:1635
+#: builtin/log.c:1637
 msgid "cannot get patch id"
 msgstr "no se puede obtener id de patch"
 
-#: builtin/log.c:1692
+#: builtin/log.c:1700
 msgid "failed to infer range-diff origin of current series"
 msgstr "falló al inferir rangos range-diff de la serie actual"
 
-#: builtin/log.c:1694
+#: builtin/log.c:1702
 #, c-format
 msgid "using '%s' as range-diff origin of current series"
 msgstr "usando '%s' como origen de diferencia de rango de la serie actual"
 
-#: builtin/log.c:1738
+#: builtin/log.c:1746
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "use [PATCH n/m] incluso con un único parche"
 
-#: builtin/log.c:1741
+#: builtin/log.c:1749
 msgid "use [PATCH] even with multiple patches"
 msgstr "use [PATCH] incluso con múltiples parches"
 
-#: builtin/log.c:1745
+#: builtin/log.c:1753
 msgid "print patches to standard out"
 msgstr "mostrar parches en standard out"
 
-#: builtin/log.c:1747
+#: builtin/log.c:1755
 msgid "generate a cover letter"
 msgstr "generar letra de cover"
 
-#: builtin/log.c:1749
+#: builtin/log.c:1757
 msgid "use simple number sequence for output file names"
 msgstr ""
 "usar una secuencia simple de números para salida de nombres de archivos"
 
-#: builtin/log.c:1750
+#: builtin/log.c:1758
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1751
+#: builtin/log.c:1759
 msgid "use <sfx> instead of '.patch'"
 msgstr "use <sfx> en lugar de '.patch'"
 
-#: builtin/log.c:1753
+#: builtin/log.c:1761
 msgid "start numbering patches at <n> instead of 1"
 msgstr "comenzar a numerar los parches desde <n> en lugar de 1"
 
-#: builtin/log.c:1755
+#: builtin/log.c:1762
+msgid "reroll-count"
+msgstr "reroll-count"
+
+#: builtin/log.c:1763
 msgid "mark the series as Nth re-roll"
 msgstr "marcar las series como Nth re-roll"
 
-#: builtin/log.c:1757
+#: builtin/log.c:1765
 msgid "max length of output filename"
 msgstr "tamaño máximo de nombre de archivo resultante"
 
-#: builtin/log.c:1759
+#: builtin/log.c:1767
 msgid "use [RFC PATCH] instead of [PATCH]"
 msgstr "use [RFC PATCH] en lugar de [PATCH]"
 
-#: builtin/log.c:1762
+#: builtin/log.c:1770
 msgid "cover-from-description-mode"
 msgstr "modo-cover-from-description"
 
-#: builtin/log.c:1763
+#: builtin/log.c:1771
 msgid "generate parts of a cover letter based on a branch's description"
 msgstr ""
 "genera partes de una carta de presentación basado en la descripción de la "
 "rama"
 
-#: builtin/log.c:1765
+#: builtin/log.c:1773
 msgid "use [<prefix>] instead of [PATCH]"
 msgstr "use [<prefijo>] en lugar de [PATCH]"
 
-#: builtin/log.c:1768
+#: builtin/log.c:1776
 msgid "store resulting files in <dir>"
 msgstr "guardar archivos resultantes en <dir>"
 
-#: builtin/log.c:1771
+#: builtin/log.c:1779
 msgid "don't strip/add [PATCH]"
 msgstr "no cortar/agregar [PATCH]"
 
-#: builtin/log.c:1774
+#: builtin/log.c:1782
 msgid "don't output binary diffs"
 msgstr "no mostrar diffs binarios"
 
-#: builtin/log.c:1776
+#: builtin/log.c:1784
 msgid "output all-zero hash in From header"
 msgstr "salida como hash de todos-ceros en la cabecera From"
 
-#: builtin/log.c:1778
+#: builtin/log.c:1786
 msgid "don't include a patch matching a commit upstream"
 msgstr "no incluya un parche que coincida con un commit en upstream"
 
-#: builtin/log.c:1780
+#: builtin/log.c:1788
 msgid "show patch format instead of default (patch + stat)"
 msgstr "mostrar formato de parche en lugar del default (parche + stat)"
 
-#: builtin/log.c:1782
+#: builtin/log.c:1790
 msgid "Messaging"
 msgstr "Mensajeando"
 
-#: builtin/log.c:1783
+#: builtin/log.c:1791
 msgid "header"
 msgstr "cabezal"
 
-#: builtin/log.c:1784
+#: builtin/log.c:1792
 msgid "add email header"
 msgstr "agregar cabecera email"
 
-#: builtin/log.c:1785 builtin/log.c:1786
+#: builtin/log.c:1793 builtin/log.c:1794
 msgid "email"
 msgstr "email"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1793
 msgid "add To: header"
 msgstr "agregar cabecera To:"
 
-#: builtin/log.c:1786
+#: builtin/log.c:1794
 msgid "add Cc: header"
 msgstr "agregar cabecera Cc:"
 
-#: builtin/log.c:1787
+#: builtin/log.c:1795
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1788
+#: builtin/log.c:1796
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "configurar dirección From a <ident> ( o identidad de committer si está "
 "ausente)"
 
-#: builtin/log.c:1790
+#: builtin/log.c:1798
 msgid "message-id"
 msgstr "id de mensaje"
 
-#: builtin/log.c:1791
+#: builtin/log.c:1799
 msgid "make first mail a reply to <message-id>"
 msgstr "hacer primer mail una respuesta a <id de mensaje>"
 
-#: builtin/log.c:1792 builtin/log.c:1795
+#: builtin/log.c:1800 builtin/log.c:1803
 msgid "boundary"
 msgstr "límite"
 
-#: builtin/log.c:1793
+#: builtin/log.c:1801
 msgid "attach the patch"
 msgstr "adjuntar el parche"
 
-#: builtin/log.c:1796
+#: builtin/log.c:1804
 msgid "inline the patch"
 msgstr "poner el parche en línea"
 
-#: builtin/log.c:1800
+#: builtin/log.c:1808
 msgid "enable message threading, styles: shallow, deep"
 msgstr "habilitar hilos de mensajes, estilos: superficial, profundo"
 
-#: builtin/log.c:1802
+#: builtin/log.c:1810
 msgid "signature"
 msgstr "firma"
 
-#: builtin/log.c:1803
+#: builtin/log.c:1811
 msgid "add a signature"
 msgstr "agregar una firma"
 
-#: builtin/log.c:1804
+#: builtin/log.c:1812
 msgid "base-commit"
 msgstr "commit-base"
 
-#: builtin/log.c:1805
+#: builtin/log.c:1813
 msgid "add prerequisite tree info to the patch series"
 msgstr ""
 "agregar información de árbol de requisitos previos a la serie de parches"
 
-#: builtin/log.c:1808
+#: builtin/log.c:1816
 msgid "add a signature from a file"
 msgstr "agregar una firma de un archivo"
 
-#: builtin/log.c:1809
+#: builtin/log.c:1817
 msgid "don't print the patch filenames"
 msgstr "no mostrar los nombres de archivos de los parches"
 
-#: builtin/log.c:1811
+#: builtin/log.c:1819
 msgid "show progress while generating patches"
 msgstr "mostrar medidor de progreso mientras se generan los parches"
 
-#: builtin/log.c:1813
+#: builtin/log.c:1821
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr "muestra cambios contra <rev> en cover letter o en un solo parche"
 
-#: builtin/log.c:1816
+#: builtin/log.c:1824
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr "muestra cambios contra <refspec> en cover letter o en un solo parche"
 
-#: builtin/log.c:1818
+#: builtin/log.c:1826 builtin/range-diff.c:28
 msgid "percentage by which creation is weighted"
 msgstr "porcentaje por el cual la creación es pesada"
 
-#: builtin/log.c:1904
+#: builtin/log.c:1913
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "línea de identificación inválida: %s"
 
-#: builtin/log.c:1919
+#: builtin/log.c:1928
 msgid "-n and -k are mutually exclusive"
 msgstr "-n y -k son mutuamente exclusivas"
 
-#: builtin/log.c:1921
+#: builtin/log.c:1930
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc y -k son mutuamente exclusivos"
 
-#: builtin/log.c:1929
+#: builtin/log.c:1938
 msgid "--name-only does not make sense"
 msgstr "--name-only no tiene sentido"
 
-#: builtin/log.c:1931
+#: builtin/log.c:1940
 msgid "--name-status does not make sense"
 msgstr "--name-status no tiene sentido"
 
-#: builtin/log.c:1933
+#: builtin/log.c:1942
 msgid "--check does not make sense"
 msgstr "--check no tiene sentido"
 
-#: builtin/log.c:1955
+#: builtin/log.c:1964
 msgid "--stdout, --output, and --output-directory are mutually exclusive"
 msgstr "--stdout, --output, and --output-directory son mutuamente exclusivas"
 
-#: builtin/log.c:2078
+#: builtin/log.c:2087
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff requiere --cover-letter o un parche único"
 
-#: builtin/log.c:2082
+#: builtin/log.c:2091
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:2083
+#: builtin/log.c:2092
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff contra v%d:"
 
-#: builtin/log.c:2089
+#: builtin/log.c:2098
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor requiere --range-diff"
 
-#: builtin/log.c:2093
+#: builtin/log.c:2102
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff requiere --cover-letter o parche único"
 
-#: builtin/log.c:2101
+#: builtin/log.c:2110
 msgid "Range-diff:"
 msgstr "Range-diff:"
 
-#: builtin/log.c:2102
+#: builtin/log.c:2111
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-diff contra v%d:"
 
-#: builtin/log.c:2113
+#: builtin/log.c:2122
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "no se puede leer la firma del archivo '%s'"
 
-#: builtin/log.c:2149
+#: builtin/log.c:2158
 msgid "Generating patches"
 msgstr "Generando parches"
 
-#: builtin/log.c:2193
+#: builtin/log.c:2202
 msgid "failed to create output files"
 msgstr "falló al crear los archivos de salida"
 
-#: builtin/log.c:2252
+#: builtin/log.c:2261
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<upstream> [<head> [<límite>]]]"
 
-#: builtin/log.c:2306
+#: builtin/log.c:2315
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -17008,115 +17248,115 @@
 "No se pudo encontrar una rama remota rastreada, por favor especifique "
 "<upstream> manualmente.\n"
 
-#: builtin/ls-files.c:486
+#: builtin/ls-files.c:563
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<opciones>] [<archivo>...]"
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:619
 msgid "identify the file status with tags"
 msgstr "identifique el estado del archivo con tags"
 
-#: builtin/ls-files.c:544
+#: builtin/ls-files.c:621
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "usar letras minúsculas para archivos 'asumidos sin cambios'"
 
-#: builtin/ls-files.c:546
+#: builtin/ls-files.c:623
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "usar letras minúsculas para archivos de 'fsmonitor clean'"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:625
 msgid "show cached files in the output (default)"
 msgstr "mostrar archivos en caché en la salida (default)"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:627
 msgid "show deleted files in the output"
 msgstr "mostrar archivos borrados en la salida"
 
-#: builtin/ls-files.c:552
+#: builtin/ls-files.c:629
 msgid "show modified files in the output"
 msgstr "mostrar archivos modificados en la salida"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:631
 msgid "show other files in the output"
 msgstr "mostrar otros archivos en la salida"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:633
 msgid "show ignored files in the output"
 msgstr "mostrar archivos ignorados en la salida"
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:636
 msgid "show staged contents' object name in the output"
 msgstr ""
 "mostrar contenido de nombres de objetos en el área de stage en la salida"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:638
 msgid "show files on the filesystem that need to be removed"
 msgstr "mostrar archivos en el filesystem que necesitan ser borrados"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:640
 msgid "show 'other' directories' names only"
 msgstr "mostrar solo nombres de 'directorios otros'"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:642
 msgid "show line endings of files"
 msgstr "mostrar finales de línea de archivos"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:644
 msgid "don't show empty directories"
 msgstr "no mostrar directorios vacíos"
 
-#: builtin/ls-files.c:570
+#: builtin/ls-files.c:647
 msgid "show unmerged files in the output"
 msgstr "mostrar archivos no fusionados en la salida"
 
-#: builtin/ls-files.c:572
+#: builtin/ls-files.c:649
 msgid "show resolve-undo information"
 msgstr "mostrar información resolver-deshacer"
 
-#: builtin/ls-files.c:574
+#: builtin/ls-files.c:651
 msgid "skip files matching pattern"
 msgstr "saltar archivos que concuerden con el patrón"
 
-#: builtin/ls-files.c:577
+#: builtin/ls-files.c:654
 msgid "exclude patterns are read from <file>"
 msgstr "excluir patrones leídos de <archivo>"
 
-#: builtin/ls-files.c:580
+#: builtin/ls-files.c:657
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr ""
 "leer patrones de exclusión de manera adicional por directorio en <archivo>"
 
-#: builtin/ls-files.c:582
+#: builtin/ls-files.c:659
 msgid "add the standard git exclusions"
 msgstr "agregar las exclusiones standard de git"
 
-#: builtin/ls-files.c:586
+#: builtin/ls-files.c:663
 msgid "make the output relative to the project top directory"
 msgstr "hacer la salida relativa al directorio principal del proyecto"
 
-#: builtin/ls-files.c:589
+#: builtin/ls-files.c:666
 msgid "recurse through submodules"
 msgstr "recurrir a través de submódulos"
 
-#: builtin/ls-files.c:591
+#: builtin/ls-files.c:668
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "si cualquier <archivo> no está en el índice, tratarlo como un error"
 
-#: builtin/ls-files.c:592
+#: builtin/ls-files.c:669
 msgid "tree-ish"
 msgstr "árbol-ismo"
 
-#: builtin/ls-files.c:593
+#: builtin/ls-files.c:670
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "fingir que las rutas han sido borradas ya que todavía hay <árbol-ismos> "
 "presentes"
 
-#: builtin/ls-files.c:595
+#: builtin/ls-files.c:672
 msgid "show debugging data"
 msgstr "mostrar data de debug"
 
-#: builtin/ls-files.c:597
+#: builtin/ls-files.c:674
 msgid "suppress duplicate entries"
 msgstr "suprimir entradas duplicadas"
 
@@ -17134,7 +17374,7 @@
 msgid "do not print remote URL"
 msgstr "no mostrar el URL remoto"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1404
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1399
 msgid "exec"
 msgstr "ejecutar"
 
@@ -17203,6 +17443,55 @@
 msgstr ""
 "mostrar todo el árbol; no solo el directorio actual (implica --full-name)"
 
+#. TRANSLATORS: keep <> in "<" mail ">" info.
+#: builtin/mailinfo.c:14
+msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
+msgstr "git mailinfo [<opciones>] <msg> <patch> < mail >info"
+
+#: builtin/mailinfo.c:58
+msgid "keep subject"
+msgstr "mantener sujeto"
+
+#: builtin/mailinfo.c:60
+msgid "keep non patch brackets in subject"
+msgstr "mantener parche sin brackets en el sujeto"
+
+#: builtin/mailinfo.c:62
+msgid "copy Message-ID to the end of commit message"
+msgstr "copiar Message-ID al final del mensaje del commit"
+
+#: builtin/mailinfo.c:64
+msgid "re-code metadata to i18n.commitEncoding"
+msgstr "re-codificar metadata en i18n.commitEncoding"
+
+#: builtin/mailinfo.c:67
+msgid "disable charset re-coding of metadata"
+msgstr "deshabilitar charset re-coding de metadata"
+
+#: builtin/mailinfo.c:69
+msgid "encoding"
+msgstr "codificación"
+
+#: builtin/mailinfo.c:70
+msgid "re-code metadata to this encoding"
+msgstr "re-codificar metadata en esta codificación"
+
+#: builtin/mailinfo.c:72
+msgid "use scissors"
+msgstr "usar tijeras"
+
+#: builtin/mailinfo.c:73
+msgid "<action>"
+msgstr "<acción>"
+
+#: builtin/mailinfo.c:74
+msgid "action when quoted CR is found"
+msgstr "actión cuando se encuentra un CR citado"
+
+#: builtin/mailinfo.c:77
+msgid "use headers in message's body"
+msgstr "usar cabeceras en el cuerpo del mensaje"
+
 #: builtin/mailsplit.c:241
 #, c-format
 msgid "empty mbox: '%s'"
@@ -17398,7 +17687,7 @@
 msgstr "verificar que el commit nombrado tiene una firma GPG válida"
 
 #: builtin/merge.c:278 builtin/notes.c:787 builtin/pull.c:168
-#: builtin/rebase.c:541 builtin/rebase.c:1418 builtin/revert.c:114
+#: builtin/rebase.c:540 builtin/rebase.c:1413 builtin/revert.c:114
 msgid "strategy"
 msgstr "estrategia"
 
@@ -17455,57 +17744,57 @@
 msgid "read-tree failed"
 msgstr "lectura de árbol falló"
 
-#: builtin/merge.c:399
-msgid " (nothing to squash)"
-msgstr " (nada para hacer squash)"
+#: builtin/merge.c:400
+msgid "Already up to date. (nothing to squash)"
+msgstr "Ya está actualizado. (nada para hacer squash)"
 
-#: builtin/merge.c:410
+#: builtin/merge.c:414
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Commit de squash -- no actualizando HEAD\n"
 
-#: builtin/merge.c:460
+#: builtin/merge.c:464
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "No hay mensaje de fusión -- no actualizando HEAD\n"
 
-#: builtin/merge.c:511
+#: builtin/merge.c:515
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' no apunta a ningún commit"
 
-#: builtin/merge.c:598
+#: builtin/merge.c:602
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mal string branch.%s.mergeoptions: %s"
 
-#: builtin/merge.c:724
+#: builtin/merge.c:728
 msgid "Not handling anything other than two heads merge."
 msgstr "No manejando nada más que fusión de dos heads."
 
-#: builtin/merge.c:737
+#: builtin/merge.c:741
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Opción desconocida para merge-recursive: -X%s"
 
-#: builtin/merge.c:756 t/helper/test-fast-rebase.c:209
+#: builtin/merge.c:760 t/helper/test-fast-rebase.c:209
 #, c-format
 msgid "unable to write %s"
 msgstr "no es posible escribir %s"
 
-#: builtin/merge.c:808
+#: builtin/merge.c:812
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "No se puedo leer de '%s'"
 
-#: builtin/merge.c:817
+#: builtin/merge.c:821
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "No se realiza commit de la fusión; use 'git commit' para completar la "
 "fusión.\n"
 
-#: builtin/merge.c:823
+#: builtin/merge.c:827
 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"
@@ -17517,11 +17806,11 @@
 "tópico.\n"
 "\n"
 
-#: builtin/merge.c:828
+#: builtin/merge.c:832
 msgid "An empty message aborts the commit.\n"
 msgstr "Un mensaje vacío aborta el commit.\n"
 
-#: builtin/merge.c:831
+#: builtin/merge.c:835
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
@@ -17530,74 +17819,74 @@
 "Líneas comenzando con '%c' serán ignoradas, y un mensaje vacío aborta\n"
 " el commit.\n"
 
-#: builtin/merge.c:884
+#: builtin/merge.c:888
 msgid "Empty commit message."
 msgstr "Mensaje de commit vacío."
 
-#: builtin/merge.c:899
+#: builtin/merge.c:903
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Maravilloso.\n"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Fusión automática falló; arregle los conflictos y luego realice un commit "
 "con el resultado.\n"
 
-#: builtin/merge.c:999
+#: builtin/merge.c:1003
 msgid "No current branch."
 msgstr "No rama actual."
 
-#: builtin/merge.c:1001
+#: builtin/merge.c:1005
 msgid "No remote for the current branch."
 msgstr "No hay remoto para la rama actual."
 
-#: builtin/merge.c:1003
+#: builtin/merge.c:1007
 msgid "No default upstream defined for the current branch."
 msgstr "Por defecto, no hay un upstream  definido para la rama actual."
 
-#: builtin/merge.c:1008
+#: builtin/merge.c:1012
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "No hay rama de rastreo remoto para %s de %s"
 
-#: builtin/merge.c:1065
+#: builtin/merge.c:1069
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Valor erróneo '%s' en el entorno '%s'"
 
-#: builtin/merge.c:1168
+#: builtin/merge.c:1172
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "nada que podamos fusionar en %s: %s"
 
-#: builtin/merge.c:1202
+#: builtin/merge.c:1206
 msgid "not something we can merge"
 msgstr "nada que podamos fusionar"
 
-#: builtin/merge.c:1312
+#: builtin/merge.c:1316
 msgid "--abort expects no arguments"
 msgstr "--abort no espera argumentos"
 
-#: builtin/merge.c:1316
+#: builtin/merge.c:1320
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "No hay una fusión para abortar (falta MERGE_HEAD)"
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1338
 msgid "--quit expects no arguments"
 msgstr "--quit no espera argumentos"
 
-#: builtin/merge.c:1347
+#: builtin/merge.c:1351
 msgid "--continue expects no arguments"
 msgstr "--continue no espera argumentos"
 
-#: builtin/merge.c:1351
+#: builtin/merge.c:1355
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "No hay fusión en progreso (falta MERGE_HEAD)."
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1371
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17605,7 +17894,7 @@
 "No has concluido la fusión (existe MERGE_HEAD).\n"
 "Por favor, realiza un commit con los cambios antes de fusionar."
 
-#: builtin/merge.c:1374
+#: builtin/merge.c:1378
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17613,97 +17902,89 @@
 "No has concluido el cherry-pick (existe CHERRY_PICK_HEAD).\n"
 "Por favor, realiza un commit con los cambios antes de fusionar."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1381
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "No has concluido el cherry-pick (existe CHERRY_PICK_HEAD)."
 
-#: builtin/merge.c:1391
+#: builtin/merge.c:1395
 msgid "You cannot combine --squash with --no-ff."
 msgstr "No se puede combinar --squash con --no-ff."
 
-#: builtin/merge.c:1393
+#: builtin/merge.c:1397
 msgid "You cannot combine --squash with --commit."
 msgstr "No se puede combinar --squash con --commit."
 
-#: builtin/merge.c:1409
+#: builtin/merge.c:1413
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "No hay commit especificado y merge.defaultToUpstream no está configurado."
 
-#: builtin/merge.c:1426
+#: builtin/merge.c:1430
 msgid "Squash commit into empty head not supported yet"
 msgstr "Commit aplastado dentro de un head vacío no es soportado todavía"
 
-#: builtin/merge.c:1428
+#: builtin/merge.c:1432
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Commit no fast-forward no tiene sentido dentro de un head vacío"
 
-#: builtin/merge.c:1433
+#: builtin/merge.c:1437
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - nada que podamos fusionar"
 
-#: builtin/merge.c:1435
+#: builtin/merge.c:1439
 msgid "Can merge only exactly one commit into empty head"
 msgstr "Solo se puede fusionar exactamente un commit en un head vacío"
 
-#: builtin/merge.c:1516
+#: builtin/merge.c:1520
 msgid "refusing to merge unrelated histories"
 msgstr "rehusando fusionar historias no relacionadas"
 
-#: builtin/merge.c:1525
-msgid "Already up to date."
-msgstr "Ya está actualizado."
-
-#: builtin/merge.c:1535
+#: builtin/merge.c:1539
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Actualizando %s..%s\n"
 
-#: builtin/merge.c:1581
+#: builtin/merge.c:1585
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Intentando fusión en índice realmente trivial...\n"
 
-#: builtin/merge.c:1588
+#: builtin/merge.c:1592
 #, c-format
 msgid "Nope.\n"
 msgstr "Nop.\n"
 
-#: builtin/merge.c:1613
-msgid "Already up to date. Yeeah!"
-msgstr "Ya está actualizado. ¡Oh, yeaahh!"
-
-#: builtin/merge.c:1619
+#: builtin/merge.c:1623
 msgid "Not possible to fast-forward, aborting."
 msgstr "No es posible hacer fast-forward, abortando."
 
-#: builtin/merge.c:1647 builtin/merge.c:1712
+#: builtin/merge.c:1651 builtin/merge.c:1716
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Rebobinando el árbol a original...\n"
 
-#: builtin/merge.c:1651
+#: builtin/merge.c:1655
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Intentando estrategia de fusión %s...\n"
 
-#: builtin/merge.c:1703
+#: builtin/merge.c:1707
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Ninguna estrategia de fusión manejó la fusión.\n"
 
-#: builtin/merge.c:1705
+#: builtin/merge.c:1709
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Fusionar con estrategia %s falló.\n"
 
-#: builtin/merge.c:1714
+#: builtin/merge.c:1718
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Usando el %s para preparar resolución a mano.\n"
 
-#: builtin/merge.c:1728
+#: builtin/merge.c:1732
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -17713,40 +17994,40 @@
 msgid "git mktag"
 msgstr "git mktag"
 
-#: builtin/mktag.c:30
+#: builtin/mktag.c:27
 #, c-format
 msgid "warning: tag input does not pass fsck: %s"
 msgstr "peligro: información de tag no pasa fsck: %s"
 
-#: builtin/mktag.c:41
+#: builtin/mktag.c:38
 #, c-format
 msgid "error: tag input does not pass fsck: %s"
 msgstr "error: valor de tag no pasa fsck: %s"
 
-#: builtin/mktag.c:44
+#: builtin/mktag.c:41
 #, c-format
 msgid "%d (FSCK_IGNORE?) should never trigger this callback"
 msgstr "%d (FSCK_IGNORE?) nunca debería activar esta devolución de llamada"
 
-#: builtin/mktag.c:59
+#: builtin/mktag.c:56
 #, c-format
 msgid "could not read tagged object '%s'"
 msgstr "no se pudo leer objeto de tag '%s'"
 
-#: builtin/mktag.c:62
+#: builtin/mktag.c:59
 #, c-format
 msgid "object '%s' tagged as '%s', but is a '%s' type"
 msgstr "objeto '%s' es taggeado como '%s', pero es un tipo '%s'"
 
-#: builtin/mktag.c:99
+#: builtin/mktag.c:97
 msgid "tag on stdin did not pass our strict fsck check"
 msgstr "etiqueta en stdin no pasó nuestro estricto control fsck"
 
-#: builtin/mktag.c:102
+#: builtin/mktag.c:100
 msgid "tag on stdin did not refer to a valid object"
 msgstr "tag en stdin no se refería a un objeto válido"
 
-#: builtin/mktag.c:105 builtin/tag.c:232
+#: builtin/mktag.c:103 builtin/tag.c:243
 msgid "unable to write tag file"
 msgstr "incapaz de escribir el archivo de tag"
 
@@ -17766,19 +18047,35 @@
 msgid "allow creation of more than one tree"
 msgstr "permitir la creación de más de un árbol"
 
-#: builtin/multi-pack-index.c:9
-msgid ""
-"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
-"size=<size>)"
-msgstr ""
-"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
-"size=<tamaño>)"
+#: builtin/multi-pack-index.c:10
+msgid "git multi-pack-index [<options>] write [--preferred-pack=<pack>]"
+msgstr "git multi-pack-index [<opciones>] write [--preferred-pack=<pack>]"
 
-#: builtin/multi-pack-index.c:26
+#: builtin/multi-pack-index.c:13
+msgid "git multi-pack-index [<options>] verify"
+msgstr "git multi-pack-index [<opciones>] verify"
+
+#: builtin/multi-pack-index.c:16
+msgid "git multi-pack-index [<options>] expire"
+msgstr "git multi-pack-index [<opciones>] expire"
+
+#: builtin/multi-pack-index.c:19
+msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
+msgstr "git multi-pack-index [<opciones>] repack [--batch-size=<tamaño>]"
+
+#: builtin/multi-pack-index.c:54
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "objeto directorio conteniendo conjuntos de pares packfile y pack-index"
 
-#: builtin/multi-pack-index.c:29
+#: builtin/multi-pack-index.c:69
+msgid "preferred-pack"
+msgstr "pack preferido"
+
+#: builtin/multi-pack-index.c:70
+msgid "pack for reuse when computing a multi-pack bitmap"
+msgstr "pack para reuso cuando se calcula un bitmap de múltiples packs"
+
+#: builtin/multi-pack-index.c:128
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
@@ -17786,18 +18083,7 @@
 "durante el repack, recolectar los pack-files de tamaño menor en un batch que "
 "es más grande que este tamaño"
 
-#: builtin/multi-pack-index.c:50 builtin/notes.c:376 builtin/notes.c:431
-#: builtin/notes.c:509 builtin/notes.c:521 builtin/notes.c:598
-#: builtin/notes.c:665 builtin/notes.c:815 builtin/notes.c:963
-#: builtin/notes.c:985 builtin/prune-packed.c:25 builtin/tag.c:575
-msgid "too many arguments"
-msgstr "muchos argumentos"
-
-#: builtin/multi-pack-index.c:60
-msgid "--batch-size option is only for 'repack' subcommand"
-msgstr "opción --batch-size es solo para el subcomando 'repack'"
-
-#: builtin/multi-pack-index.c:69
+#: builtin/multi-pack-index.c:180
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "subcomando desconocido: %s"
@@ -17895,7 +18181,7 @@
 msgid "Renaming %s to %s\n"
 msgstr "Renombrando %s a %s\n"
 
-#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:483
+#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:667
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "renombrando '%s' falló"
@@ -18089,7 +18375,7 @@
 msgid "the note contents have been left in %s"
 msgstr "los contenidos de nota han sido dejados en %s"
 
-#: builtin/notes.c:242 builtin/tag.c:565
+#: builtin/notes.c:242 builtin/tag.c:576
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "no se pudo abrir o leer '%s'"
@@ -18129,6 +18415,13 @@
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "rechazando %s notas en %s (fuera de refs/notes/)"
 
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509
+#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665
+#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985
+#: builtin/prune-packed.c:25 builtin/tag.c:586
+msgid "too many arguments"
+msgstr "muchos argumentos"
+
 #: builtin/notes.c:389 builtin/notes.c:678
 #, c-format
 msgid "no note found for object %s."
@@ -18316,7 +18609,7 @@
 "commit con el resultado 'git notes merge --commit', o aborte la fusión con "
 "'git notes merge --abort'.\n"
 
-#: builtin/notes.c:897 builtin/tag.c:578
+#: builtin/notes.c:897 builtin/tag.c:589
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Falló al resolver '%s' como una ref válida."
@@ -18350,7 +18643,7 @@
 msgid "use notes from <notes-ref>"
 msgstr "usar notas desde <referencia-de-notas>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1671
+#: builtin/notes.c:1034 builtin/stash.c:1739
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "subcomando desconocido: %s"
@@ -18423,66 +18716,66 @@
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "%<PRIu32> objetos escritos mientras se esperaban %<PRIu32>"
 
-#: builtin/pack-objects.c:1358
+#: builtin/pack-objects.c:1383
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "deshabilitando escritura bitmap, ya que algunos objetos no están siendo "
 "empaquetados"
 
-#: builtin/pack-objects.c:1806
+#: builtin/pack-objects.c:1831
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "overflow de offset en la base de delta en paquete para %s"
 
-#: builtin/pack-objects.c:1815
+#: builtin/pack-objects.c:1840
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "outbound de offset en la base de delta para %s"
 
-#: builtin/pack-objects.c:2096
+#: builtin/pack-objects.c:2121
 msgid "Counting objects"
 msgstr "Contando objetos"
 
-#: builtin/pack-objects.c:2241
+#: builtin/pack-objects.c:2266
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "incapaz de analizar header del objeto %s"
 
-#: builtin/pack-objects.c:2311 builtin/pack-objects.c:2327
-#: builtin/pack-objects.c:2337
+#: builtin/pack-objects.c:2336 builtin/pack-objects.c:2352
+#: builtin/pack-objects.c:2362
 #, c-format
 msgid "object %s cannot be read"
 msgstr "objeto %s no puede ser leído"
 
-#: builtin/pack-objects.c:2314 builtin/pack-objects.c:2341
+#: builtin/pack-objects.c:2339 builtin/pack-objects.c:2366
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "objeto %s inconsistente con el largo del objeto (%<PRIuMAX> vs %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2351
+#: builtin/pack-objects.c:2376
 msgid "suboptimal pack - out of memory"
 msgstr "suboptimal pack - fuera de memoria"
 
-#: builtin/pack-objects.c:2666
+#: builtin/pack-objects.c:2691
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Compresión delta usando hasta %d hilos"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2830
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "no es posible empaquetar objetos alcanzables desde tag %s"
 
-#: builtin/pack-objects.c:2891
+#: builtin/pack-objects.c:2916
 msgid "Compressing objects"
 msgstr "Comprimiendo objetos"
 
-#: builtin/pack-objects.c:2897
+#: builtin/pack-objects.c:2922
 msgid "inconsistency with delta count"
 msgstr "inconsistencia con la cuenta de delta"
 
-#: builtin/pack-objects.c:2976
+#: builtin/pack-objects.c:3001
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -18491,7 +18784,7 @@
 "valor para uploadpack.blobpackfileuri tiene que ser de la forma '<hash-de-"
 "objeto> <hash-de-pack> <uri>' (se tuvo '%s')"
 
-#: builtin/pack-objects.c:2979
+#: builtin/pack-objects.c:3004
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
@@ -18499,7 +18792,17 @@
 "objeto ya está configurado en otro uploadpack.blobpackfileuri (se obtuvo "
 "'%s')"
 
-#: builtin/pack-objects.c:3008
+#: builtin/pack-objects.c:3039
+#, c-format
+msgid "could not get type of object %s in pack %s"
+msgstr "no se puede obtener el tipo de objeto %s en pack %s"
+
+#: builtin/pack-objects.c:3161 builtin/pack-objects.c:3175
+#, c-format
+msgid "could not find pack '%s'"
+msgstr "no se pudo encontrar pack '%s'"
+
+#: builtin/pack-objects.c:3218
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -18508,7 +18811,7 @@
 "se espseraba ID de objeto al borde, se obtuvo basura:\n"
 "%s"
 
-#: builtin/pack-objects.c:3014
+#: builtin/pack-objects.c:3224
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -18517,240 +18820,252 @@
 "se esperaba ID de objeto, se obtuvo basuta:\n"
 "%s"
 
-#: builtin/pack-objects.c:3112
+#: builtin/pack-objects.c:3322
 msgid "invalid value for --missing"
 msgstr "valor inválido para --missing"
 
-#: builtin/pack-objects.c:3171 builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3381 builtin/pack-objects.c:3490
 msgid "cannot open pack index"
 msgstr "no se puede abrir índice de paquetes"
 
-#: builtin/pack-objects.c:3202
+#: builtin/pack-objects.c:3412
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "objeto perdido en %s no pudo ser examinado"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3498
 msgid "unable to force loose object"
 msgstr "incapaz de forzar un objeto perdido"
 
-#: builtin/pack-objects.c:3380
+#: builtin/pack-objects.c:3628
 #, c-format
 msgid "not a rev '%s'"
 msgstr "no es una rev '%s'"
 
-#: builtin/pack-objects.c:3383
+#: builtin/pack-objects.c:3631
 #, c-format
 msgid "bad revision '%s'"
 msgstr "mala revisión '%s'"
 
-#: builtin/pack-objects.c:3408
+#: builtin/pack-objects.c:3659
 msgid "unable to add recent objects"
 msgstr "incapaz de añadir objetos recientes"
 
-#: builtin/pack-objects.c:3461
+#: builtin/pack-objects.c:3712
 #, c-format
 msgid "unsupported index version %s"
 msgstr "versión de índice no soportada %s"
 
-#: builtin/pack-objects.c:3465
+#: builtin/pack-objects.c:3716
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mala versión del índice '%s'"
 
-#: builtin/pack-objects.c:3503
+#: builtin/pack-objects.c:3755
 msgid "<version>[,<offset>]"
 msgstr "<versión>[,<offset>]"
 
-#: builtin/pack-objects.c:3504
+#: builtin/pack-objects.c:3756
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "escribir el índice de paquete en la versión de formato idx especificado"
 
-#: builtin/pack-objects.c:3507
+#: builtin/pack-objects.c:3759
 msgid "maximum size of each output pack file"
 msgstr "tamaño máximo de cada paquete resultante"
 
-#: builtin/pack-objects.c:3509
+#: builtin/pack-objects.c:3761
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorar objetos prestados de otros almacenes de objetos"
 
-#: builtin/pack-objects.c:3511
+#: builtin/pack-objects.c:3763
 msgid "ignore packed objects"
 msgstr "ignorar objetos paquete"
 
-#: builtin/pack-objects.c:3513
+#: builtin/pack-objects.c:3765
 msgid "limit pack window by objects"
 msgstr "limitar ventana de paquete por objetos"
 
-#: builtin/pack-objects.c:3515
+#: builtin/pack-objects.c:3767
 msgid "limit pack window by memory in addition to object limit"
 msgstr "limitar ventana de paquete por memoria en adición a límite de objetos"
 
-#: builtin/pack-objects.c:3517
+#: builtin/pack-objects.c:3769
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "longitud máxima de cadena delta permitida en el paquete resultante"
 
-#: builtin/pack-objects.c:3519
+#: builtin/pack-objects.c:3771
 msgid "reuse existing deltas"
 msgstr "reusar deltas existentes"
 
-#: builtin/pack-objects.c:3521
+#: builtin/pack-objects.c:3773
 msgid "reuse existing objects"
 msgstr "reutilizar objetos existentes"
 
-#: builtin/pack-objects.c:3523
+#: builtin/pack-objects.c:3775
 msgid "use OFS_DELTA objects"
 msgstr "usar objetos OFS_DELTA"
 
-#: builtin/pack-objects.c:3525
+#: builtin/pack-objects.c:3777
 msgid "use threads when searching for best delta matches"
 msgstr "usar hilos cuando se busque para mejores concordancias de delta"
 
-#: builtin/pack-objects.c:3527
+#: builtin/pack-objects.c:3779
 msgid "do not create an empty pack output"
 msgstr "no crear un paquete resultante vacío"
 
-#: builtin/pack-objects.c:3529
+#: builtin/pack-objects.c:3781
 msgid "read revision arguments from standard input"
 msgstr "leer argumentos de revisión de standard input"
 
-#: builtin/pack-objects.c:3531
+#: builtin/pack-objects.c:3783
 msgid "limit the objects to those that are not yet packed"
 msgstr "limitar los objetos a aquellos que no han sido empaquetados todavía"
 
-#: builtin/pack-objects.c:3534
+#: builtin/pack-objects.c:3786
 msgid "include objects reachable from any reference"
 msgstr "incluir objetos alcanzables por cualquier referencia"
 
-#: builtin/pack-objects.c:3537
+#: builtin/pack-objects.c:3789
 msgid "include objects referred by reflog entries"
 msgstr "incluir objetos referidos por entradas de reflog"
 
-#: builtin/pack-objects.c:3540
+#: builtin/pack-objects.c:3792
 msgid "include objects referred to by the index"
 msgstr "incluir objetos referidos por el índice"
 
-#: builtin/pack-objects.c:3543
+#: builtin/pack-objects.c:3795
+msgid "read packs from stdin"
+msgstr "leer packs de stdin"
+
+#: builtin/pack-objects.c:3797
 msgid "output pack to stdout"
 msgstr "mostrar paquete en stdout"
 
-#: builtin/pack-objects.c:3545
+#: builtin/pack-objects.c:3799
 msgid "include tag objects that refer to objects to be packed"
 msgstr "incluir objetos tag que refieren a objetos a ser empaquetados"
 
-#: builtin/pack-objects.c:3547
+#: builtin/pack-objects.c:3801
 msgid "keep unreachable objects"
 msgstr "mantener objetos inalcanzables"
 
-#: builtin/pack-objects.c:3549
+#: builtin/pack-objects.c:3803
 msgid "pack loose unreachable objects"
 msgstr "empaquetar objetos sueltos inalcanzables"
 
-#: builtin/pack-objects.c:3551
+#: builtin/pack-objects.c:3805
 msgid "unpack unreachable objects newer than <time>"
 msgstr "desempaquetar objetos inalcanzables más nuevos que <tiempo>"
 
-#: builtin/pack-objects.c:3554
+#: builtin/pack-objects.c:3808
 msgid "use the sparse reachability algorithm"
 msgstr "usar el algoritmo sparse reachability"
 
-#: builtin/pack-objects.c:3556
+#: builtin/pack-objects.c:3810
 msgid "create thin packs"
 msgstr "crear paquetes delgados"
 
-#: builtin/pack-objects.c:3558
+#: builtin/pack-objects.c:3812
 msgid "create packs suitable for shallow fetches"
 msgstr "crear paquetes adecuados para fetches superficiales"
 
-#: builtin/pack-objects.c:3560
+#: builtin/pack-objects.c:3814
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorar paquetes que tienen un archivo .keep acompañante"
 
-#: builtin/pack-objects.c:3562
+#: builtin/pack-objects.c:3816
 msgid "ignore this pack"
 msgstr "ignorar este paquete"
 
-#: builtin/pack-objects.c:3564
+#: builtin/pack-objects.c:3818
 msgid "pack compression level"
 msgstr "nivel de compresión del paquete"
 
-#: builtin/pack-objects.c:3566
+#: builtin/pack-objects.c:3820
 msgid "do not hide commits by grafts"
 msgstr "no ocultar commits por injertos"
 
-#: builtin/pack-objects.c:3568
+#: builtin/pack-objects.c:3822
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "usar un índice bitmap si está disponible para acelerar la cuenta de objetos"
 
-#: builtin/pack-objects.c:3570
+#: builtin/pack-objects.c:3824
 msgid "write a bitmap index together with the pack index"
 msgstr "escribir un índice de bitmap junto al índice de paquete"
 
-#: builtin/pack-objects.c:3574
+#: builtin/pack-objects.c:3828
 msgid "write a bitmap index if possible"
 msgstr "escribir un índice de bitmap si es posible"
 
-#: builtin/pack-objects.c:3578
+#: builtin/pack-objects.c:3832
 msgid "handling for missing objects"
 msgstr "manejo de objetos perdidos"
 
-#: builtin/pack-objects.c:3581
+#: builtin/pack-objects.c:3835
 msgid "do not pack objects in promisor packfiles"
 msgstr "no se puede empaquetar objetos en packfiles promisores"
 
-#: builtin/pack-objects.c:3583
+#: builtin/pack-objects.c:3837
 msgid "respect islands during delta compression"
 msgstr "respetar islas durante la compresión delta"
 
-#: builtin/pack-objects.c:3585
+#: builtin/pack-objects.c:3839
 msgid "protocol"
 msgstr "protocolo"
 
-#: builtin/pack-objects.c:3586
+#: builtin/pack-objects.c:3840
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr ""
 "excluyendo cualquier uploadpack.blobpackfileuri configurado con este "
 "protocolo"
 
-#: builtin/pack-objects.c:3617
+#: builtin/pack-objects.c:3873
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "profundidad de cadena de delta %d es muy profunda, forzando %d"
 
-#: builtin/pack-objects.c:3622
+#: builtin/pack-objects.c:3878
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit es muy grande, forzando %d"
 
-#: builtin/pack-objects.c:3676
+#: builtin/pack-objects.c:3934
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 "--max-pack-size no puede ser usado para construir un paquete para "
 "transferencia"
 
-#: builtin/pack-objects.c:3678
+#: builtin/pack-objects.c:3936
 msgid "minimum pack size limit is 1 MiB"
 msgstr "tamaño mínimo del paquete es 1 MiB"
 
-#: builtin/pack-objects.c:3683
+#: builtin/pack-objects.c:3941
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin no puede ser usado para construir un paquete indexable"
 
-#: builtin/pack-objects.c:3686
+#: builtin/pack-objects.c:3944
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable y --unpack-unreachable son incompatibles"
 
-#: builtin/pack-objects.c:3692
+#: builtin/pack-objects.c:3950
 msgid "cannot use --filter without --stdout"
 msgstr "no se puede usar--filter sin --stdout"
 
-#: builtin/pack-objects.c:3752
+#: builtin/pack-objects.c:3952
+msgid "cannot use --filter with --stdin-packs"
+msgstr "no se puede usar--filter con --stdin-packs"
+
+#: builtin/pack-objects.c:3956
+msgid "cannot use internal rev list with --stdin-packs"
+msgstr "no se puede usar un lista interna de rev con --stdin-packs"
+
+#: builtin/pack-objects.c:4015
 msgid "Enumerating objects"
 msgstr "Enumerando objetos"
 
-#: builtin/pack-objects.c:3783
+#: builtin/pack-objects.c:4052
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -18831,11 +19146,11 @@
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporar cambios por rebase en lugar de fusión"
 
-#: builtin/pull.c:158 builtin/rebase.c:492 builtin/revert.c:126
+#: builtin/pull.c:158 builtin/rebase.c:491 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "permitir fast-forward"
 
-#: builtin/pull.c:167 parse-options.h:339
+#: builtin/pull.c:167 parse-options.h:340
 msgid "automatically stash/stash pop before and after"
 msgstr "ejecutar automáticamente stash/stash pop antes y después"
 
@@ -18888,7 +19203,7 @@
 "una rama. Porque este no es el remoto configurado por default\n"
 "para tu rama actual, tienes que especificar una rama en la línea de comando."
 
-#: builtin/pull.c:456 builtin/rebase.c:1253
+#: builtin/pull.c:456 builtin/rebase.c:1248
 msgid "You are not currently on a branch."
 msgstr "No te encuentras actualmente en la rama."
 
@@ -18905,7 +19220,7 @@
 msgstr "Ver git-pull(1) para detalles."
 
 #: builtin/pull.c:463 builtin/pull.c:469 builtin/pull.c:478
-#: builtin/rebase.c:1259
+#: builtin/rebase.c:1254
 msgid "<remote>"
 msgstr "<remoto>"
 
@@ -18913,7 +19228,7 @@
 msgid "<branch>"
 msgstr "<rama>"
 
-#: builtin/pull.c:471 builtin/rebase.c:1251
+#: builtin/pull.c:471 builtin/rebase.c:1246
 msgid "There is no tracking information for the current branch."
 msgstr "No hay información de rastreo para la rama actual."
 
@@ -19142,7 +19457,7 @@
 "(e.g. 'git pull ...') before pushing again.\n"
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
-"Actualizaciones fueron rechazadas porque una punta de rama en el push está \n"
+"Actualizaciones fueron rechazadas porque una punta de rama en el push está\n"
 "detrás de su contraparte remota. Verifique esta rama e integre los cambios "
 "remotos\n"
 "(ejem. 'git pull ...') antes de volver a hacer push.\n"
@@ -19157,7 +19472,7 @@
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 "Actualizaciones fueron rechazadas porque el remoto contiene trabajo que\n"
-"no existe localmente. Esto es causado usualmente por otro repositorio \n"
+"no existe localmente. Esto es causado usualmente por otro repositorio\n"
 "realizando push a la misma ref. Quizás quiera integrar primero los cambios\n"
 "remotos (ej. 'git pull ...') antes de volver a hacer push.\n"
 "Vea 'Notes about fast-forwards0 en 'git push --help' para detalles."
@@ -19252,7 +19567,7 @@
 
 #: builtin/push.c:573
 msgid "set upstream for git pull/status"
-msgstr "configurar upstream para git pulll/status"
+msgstr "configurar upstream para git pull/status"
 
 #: builtin/push.c:576
 msgid "prune locally removed refs"
@@ -19347,10 +19662,6 @@
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<opciones>] <base> <punta-vieja> <punta-nueva>"
 
-#: builtin/range-diff.c:28
-msgid "Percentage by which creation is weighted"
-msgstr "Porcentaje por el cual la creación es pesada"
-
 #: builtin/range-diff.c:30
 msgid "use simple diff colors"
 msgstr "usar colores simples de diff"
@@ -19485,188 +19796,188 @@
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:195 builtin/rebase.c:219 builtin/rebase.c:246
+#: builtin/rebase.c:194 builtin/rebase.c:218 builtin/rebase.c:245
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "lista de pendientes inutilizable: '%s'"
 
-#: builtin/rebase.c:312
+#: builtin/rebase.c:311
 #, c-format
 msgid "could not create temporary %s"
 msgstr "no se pudo crear archivo temporal %s"
 
-#: builtin/rebase.c:318
+#: builtin/rebase.c:317
 msgid "could not mark as interactive"
 msgstr "no se pudo marcar como interactivo"
 
-#: builtin/rebase.c:371
+#: builtin/rebase.c:370
 msgid "could not generate todo list"
 msgstr "no se pudo generar lista de pendientes"
 
-#: builtin/rebase.c:413
+#: builtin/rebase.c:412
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "un commit base tiene que ser provisto con --upstream o --onto"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:481
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<opciones>]"
 
-#: builtin/rebase.c:495 builtin/rebase.c:1394
+#: builtin/rebase.c:494 builtin/rebase.c:1389
 msgid "keep commits which start empty"
 msgstr "mantener commits que comienzan con vacío"
 
-#: builtin/rebase.c:499 builtin/revert.c:128
+#: builtin/rebase.c:498 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "permitir commits con mensajes vacíos"
 
-#: builtin/rebase.c:501
+#: builtin/rebase.c:500
 msgid "rebase merge commits"
 msgstr "rebasando commits de fusión"
 
-#: builtin/rebase.c:503
+#: builtin/rebase.c:502
 msgid "keep original branch points of cousins"
 msgstr "mantener puntos originales de la rama de sus primos"
 
-#: builtin/rebase.c:505
+#: builtin/rebase.c:504
 msgid "move commits that begin with squash!/fixup!"
 msgstr "mover commits que comienzan con squash!/fixup!"
 
-#: builtin/rebase.c:506
+#: builtin/rebase.c:505
 msgid "sign commits"
 msgstr "firmar commits"
 
-#: builtin/rebase.c:508 builtin/rebase.c:1333
+#: builtin/rebase.c:507 builtin/rebase.c:1328
 msgid "display a diffstat of what changed upstream"
 msgstr "mostrar un diffstat de lo que cambió en upstream"
 
-#: builtin/rebase.c:510
+#: builtin/rebase.c:509
 msgid "continue rebase"
 msgstr "continuar rebase"
 
-#: builtin/rebase.c:512
+#: builtin/rebase.c:511
 msgid "skip commit"
 msgstr "saltar commit"
 
-#: builtin/rebase.c:513
+#: builtin/rebase.c:512
 msgid "edit the todo list"
 msgstr "editar la lista de pendientes"
 
-#: builtin/rebase.c:515
+#: builtin/rebase.c:514
 msgid "show the current patch"
 msgstr "mostrar el parche actual"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:517
 msgid "shorten commit ids in the todo list"
 msgstr "ids de commits cortos en la lista de pendientes"
 
-#: builtin/rebase.c:520
+#: builtin/rebase.c:519
 msgid "expand commit ids in the todo list"
 msgstr "expandir ids de commits en la lista de pendientes"
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:521
 msgid "check the todo list"
 msgstr "revisar la lista de pendientes"
 
-#: builtin/rebase.c:524
+#: builtin/rebase.c:523
 msgid "rearrange fixup/squash lines"
 msgstr "reorganizar líneas fixup/squash"
 
-#: builtin/rebase.c:526
+#: builtin/rebase.c:525
 msgid "insert exec commands in todo list"
 msgstr "insertar comando exec en la lista de pendientes"
 
-#: builtin/rebase.c:527
+#: builtin/rebase.c:526
 msgid "onto"
 msgstr "hacia"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:529
 msgid "restrict-revision"
 msgstr "restrict-revision"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:529
 msgid "restrict revision"
 msgstr "restringir revision"
 
-#: builtin/rebase.c:532
+#: builtin/rebase.c:531
 msgid "squash-onto"
 msgstr "squash-onto"
 
-#: builtin/rebase.c:533
+#: builtin/rebase.c:532
 msgid "squash onto"
 msgstr "squash hacia"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:534
 msgid "the upstream commit"
 msgstr "el commit de upstream"
 
-#: builtin/rebase.c:537
+#: builtin/rebase.c:536
 msgid "head-name"
 msgstr "head-name"
 
-#: builtin/rebase.c:537
+#: builtin/rebase.c:536
 msgid "head name"
 msgstr "nombre de head"
 
-#: builtin/rebase.c:542
+#: builtin/rebase.c:541
 msgid "rebase strategy"
 msgstr "estrategia de rebase"
 
-#: builtin/rebase.c:543
+#: builtin/rebase.c:542
 msgid "strategy-opts"
 msgstr "strategy-opts"
 
-#: builtin/rebase.c:544
+#: builtin/rebase.c:543
 msgid "strategy options"
 msgstr "opciones de estrategia"
 
-#: builtin/rebase.c:545
+#: builtin/rebase.c:544
 msgid "switch-to"
 msgstr "cambiar a"
 
-#: builtin/rebase.c:546
+#: builtin/rebase.c:545
 msgid "the branch or commit to checkout"
 msgstr "la rama o commit para hacer checkout"
 
-#: builtin/rebase.c:547
+#: builtin/rebase.c:546
 msgid "onto-name"
 msgstr "hacia-nombre"
 
-#: builtin/rebase.c:547
+#: builtin/rebase.c:546
 msgid "onto name"
 msgstr "hacia nombre"
 
-#: builtin/rebase.c:548
+#: builtin/rebase.c:547
 msgid "cmd"
 msgstr "cmd"
 
-#: builtin/rebase.c:548
+#: builtin/rebase.c:547
 msgid "the command to run"
 msgstr "el comando para ejecutar"
 
-#: builtin/rebase.c:551 builtin/rebase.c:1427
+#: builtin/rebase.c:550 builtin/rebase.c:1422
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "reprogramar automaticamente cualquier `exec` que falle"
 
-#: builtin/rebase.c:567
+#: builtin/rebase.c:566
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins no tiene efecto sin --rebase-merges"
 
-#: builtin/rebase.c:583
+#: builtin/rebase.c:582
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s requiere un backend de fusión"
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:625
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "no se pudo conseguir 'onto': '%s'"
 
-#: builtin/rebase.c:643
+#: builtin/rebase.c:642
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head inválido: '%s'"
 
-#: builtin/rebase.c:668
+#: builtin/rebase.c:667
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "ignorando inválido allow_rerere_autoupdate: '%s'"
@@ -19679,7 +19990,7 @@
 "To abort and get back to the state before \"git rebase\", run \"git rebase --"
 "abort\"."
 msgstr ""
-"Resuelva todos los conflictos manualmente ya sea con \n"
+"Resuelva todos los conflictos manualmente ya sea con\n"
 "\"git add/rm <archivo_conflictivo>\", luego ejecute \"git rebase --continue"
 "\".\n"
 "Si prefieres saltar este parche, ejecuta \"git rebase --skip\" .\n"
@@ -19705,7 +20016,7 @@
 "\n"
 "Como resultado, git no puede hacer rebase con ellos."
 
-#: builtin/rebase.c:1227
+#: builtin/rebase.c:1222
 #, c-format
 msgid ""
 "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
@@ -19714,7 +20025,7 @@
 "tipo '%s' vacío y desconocido; valores válidos son \"drop\", \"keep\", y "
 "\"ask\"."
 
-#: builtin/rebase.c:1245
+#: builtin/rebase.c:1240
 #, c-format
 msgid ""
 "%s\n"
@@ -19731,7 +20042,7 @@
 "    git rebase '<rama>'\n"
 "\n"
 
-#: builtin/rebase.c:1261
+#: builtin/rebase.c:1256
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -19744,192 +20055,184 @@
 "    git branch --set-upstream-to=%s/<rama> %s\n"
 "\n"
 
-#: builtin/rebase.c:1291
+#: builtin/rebase.c:1286
 msgid "exec commands cannot contain newlines"
 msgstr "comandos exec no pueden contener newlines"
 
-#: builtin/rebase.c:1295
+#: builtin/rebase.c:1290
 msgid "empty exec command"
 msgstr "comando exec vacío"
 
-#: builtin/rebase.c:1324
+#: builtin/rebase.c:1319
 msgid "rebase onto given branch instead of upstream"
 msgstr "haciendo rebase hacia rama dada en lugar de upstream"
 
-#: builtin/rebase.c:1326
+#: builtin/rebase.c:1321
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr "usar la base de fusión de upstream y la rama como base actual"
 
-#: builtin/rebase.c:1328
+#: builtin/rebase.c:1323
 msgid "allow pre-rebase hook to run"
 msgstr "permitir ejecutar hook pre-rebase"
 
-#: builtin/rebase.c:1330
+#: builtin/rebase.c:1325
 msgid "be quiet. implies --no-stat"
 msgstr "ser silencioso implica --no-stat"
 
-#: builtin/rebase.c:1336
+#: builtin/rebase.c:1331
 msgid "do not show diffstat of what changed upstream"
 msgstr "no mostrar un diffstat de lo que cambió en upstream"
 
-#: builtin/rebase.c:1339
+#: builtin/rebase.c:1334
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "agregar una línea \"Firmado-por\" al mensaje de cada commit"
 
-#: builtin/rebase.c:1342
+#: builtin/rebase.c:1337
 msgid "make committer date match author date"
 msgstr "hacer que la fecha del commit concuerde con la fecha de autoría"
 
-#: builtin/rebase.c:1344
+#: builtin/rebase.c:1339
 msgid "ignore author date and use current date"
 msgstr "ignorar la fecha del autor y usar la fecha actual"
 
-#: builtin/rebase.c:1346
+#: builtin/rebase.c:1341
 msgid "synonym of --reset-author-date"
 msgstr "sinónimo para --reset-author-date"
 
-#: builtin/rebase.c:1348 builtin/rebase.c:1352
+#: builtin/rebase.c:1343 builtin/rebase.c:1347
 msgid "passed to 'git apply'"
 msgstr "pasado a 'git-apply'"
 
-#: builtin/rebase.c:1350
+#: builtin/rebase.c:1345
 msgid "ignore changes in whitespace"
 msgstr "ignorar cambios en espacios en blanco"
 
-#: builtin/rebase.c:1354 builtin/rebase.c:1357
+#: builtin/rebase.c:1349 builtin/rebase.c:1352
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "cherry-pick todos los commits, incluso si no han cambiado"
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1354
 msgid "continue"
 msgstr "continuar"
 
-#: builtin/rebase.c:1362
+#: builtin/rebase.c:1357
 msgid "skip current patch and continue"
 msgstr "saltar el parche y continuar"
 
-#: builtin/rebase.c:1364
+#: builtin/rebase.c:1359
 msgid "abort and check out the original branch"
 msgstr "aborta y revisa la rama original"
 
-#: builtin/rebase.c:1367
+#: builtin/rebase.c:1362
 msgid "abort but keep HEAD where it is"
 msgstr "aborta pero mantiene HEAD donde está"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1363
 msgid "edit the todo list during an interactive rebase"
 msgstr "editar la lista de pendientes durante el rebase interactivo"
 
-#: builtin/rebase.c:1371
+#: builtin/rebase.c:1366
 msgid "show the patch file being applied or merged"
 msgstr "muestra el archivo parche siendo aplicado o fusionado"
 
-#: builtin/rebase.c:1374
+#: builtin/rebase.c:1369
 msgid "use apply strategies to rebase"
 msgstr "usar estrategias de apply para el rebase"
 
-#: builtin/rebase.c:1378
+#: builtin/rebase.c:1373
 msgid "use merging strategies to rebase"
 msgstr "usar estrategias de fusión para el rebase"
 
-#: builtin/rebase.c:1382
+#: builtin/rebase.c:1377
 msgid "let the user edit the list of commits to rebase"
 msgstr "permitir al usuario editar la lista de commits para rebasar"
 
-#: builtin/rebase.c:1386
+#: builtin/rebase.c:1381
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(DEPRECADO) intentar recrear merges en lugar de ignorarlos"
 
-#: builtin/rebase.c:1391
+#: builtin/rebase.c:1386
 msgid "how to handle commits that become empty"
 msgstr "como manejar commits que se vuelven vacíos"
 
-#: builtin/rebase.c:1398
+#: builtin/rebase.c:1393
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "mover commits que comienzan con squash!/fixup! bajo -i"
 
-#: builtin/rebase.c:1405
+#: builtin/rebase.c:1400
 msgid "add exec lines after each commit of the editable list"
 msgstr "agregar líneas exec tras cada acommit de la lista editable"
 
-#: builtin/rebase.c:1409
+#: builtin/rebase.c:1404
 msgid "allow rebasing commits with empty messages"
 msgstr "permitir rebase commits con mensajes vacíos"
 
-#: builtin/rebase.c:1413
+#: builtin/rebase.c:1408
 msgid "try to rebase merges instead of skipping them"
 msgstr "intentar fusiones por rebase en lugar de saltarlas"
 
-#: builtin/rebase.c:1416
+#: builtin/rebase.c:1411
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "use 'merge-base --fork-point' para refinar upstream"
 
-#: builtin/rebase.c:1418
+#: builtin/rebase.c:1413
 msgid "use the given merge strategy"
 msgstr "usar la estrategia de merge dada"
 
-#: builtin/rebase.c:1420 builtin/revert.c:115
+#: builtin/rebase.c:1415 builtin/revert.c:115
 msgid "option"
 msgstr "opción"
 
-#: builtin/rebase.c:1421
+#: builtin/rebase.c:1416
 msgid "pass the argument through to the merge strategy"
 msgstr "pasar el argumento para la estrategia de fusión"
 
-#: builtin/rebase.c:1424
+#: builtin/rebase.c:1419
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "hacer rebase a todos los commits alcanzables hasta la raíz(raíces)"
 
-#: builtin/rebase.c:1429
+#: builtin/rebase.c:1424
 msgid "apply all changes, even those already present upstream"
 msgstr ""
 "aplicar todos los cambios, incluso aquellos que ya están presentes en "
 "upstream"
 
-#: builtin/rebase.c:1446
-msgid ""
-"the rebase.useBuiltin support has been removed!\n"
-"See its entry in 'git help config' for details."
-msgstr ""
-"el soporte para rebase.useBuiltin ha sido eliminado!\n"
-"Vea su entrada en 'git help config' para detalles."
-
-#: builtin/rebase.c:1452
+#: builtin/rebase.c:1442
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "Parece que 'git am' está en progreso. No se puede rebasar."
 
-#: builtin/rebase.c:1493
+#: builtin/rebase.c:1483
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges está deprecado. Use --rebase-merges en su lugar."
 
-#: builtin/rebase.c:1498
+#: builtin/rebase.c:1488
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "no se puede combinar '--keep-base' con '--onto'"
 
-#: builtin/rebase.c:1500
+#: builtin/rebase.c:1490
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "no se puede combinar '--keep-base' con '--root'"
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1494
 msgid "cannot combine '--root' with '--fork-point'"
 msgstr "no se puede combinar '--root' con '--fork-point'"
 
-#: builtin/rebase.c:1507
+#: builtin/rebase.c:1497
 msgid "No rebase in progress?"
 msgstr "¿No hay rebase en progreso?"
 
-#: builtin/rebase.c:1511
+#: builtin/rebase.c:1501
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "La acción --edit-todo sólo puede ser usada al rebasar interactivamente."
 
-#: builtin/rebase.c:1534 t/helper/test-fast-rebase.c:123
+#: builtin/rebase.c:1524 t/helper/test-fast-rebase.c:123
 msgid "Cannot read HEAD"
 msgstr "No se puede leer el HEAD"
 
-#: builtin/rebase.c:1546
+#: builtin/rebase.c:1536
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -19937,16 +20240,16 @@
 "Tienes que editar todos los conflictos de fusión y luego\n"
 "marcarlos como resueltos usando git add"
 
-#: builtin/rebase.c:1565
+#: builtin/rebase.c:1555
 msgid "could not discard worktree changes"
 msgstr "no se pudo descartar los cambios del árbol de trabajo"
 
-#: builtin/rebase.c:1584
+#: builtin/rebase.c:1574
 #, c-format
 msgid "could not move back to %s"
 msgstr "no se puede regresar a %s"
 
-#: builtin/rebase.c:1630
+#: builtin/rebase.c:1620
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -19959,7 +20262,7 @@
 "valuable there.\n"
 msgstr ""
 "Parece que ya hay un directorio %s, y\n"
-"me pregunto si estás en medio de otro rebase. Si ese es el \n"
+"me pregunto si estás en medio de otro rebase. Si ese es el\n"
 "caso, por favor intenta\n"
 "\t%s\n"
 "Si no es el caso, por favor\n"
@@ -19967,135 +20270,135 @@
 "y ejecútame nuevamente. Me estoy deteniendo en caso de que tengas\n"
 "algo de valor ahí.\n"
 
-#: builtin/rebase.c:1658
+#: builtin/rebase.c:1648
 msgid "switch `C' expects a numerical value"
 msgstr "switch `C' espera un valor numérico"
 
-#: builtin/rebase.c:1700
+#: builtin/rebase.c:1690
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Modo desconocido: %s"
 
-#: builtin/rebase.c:1739
+#: builtin/rebase.c:1729
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy requiere --merge o --interactive"
 
-#: builtin/rebase.c:1769
+#: builtin/rebase.c:1759
 msgid "cannot combine apply options with merge options"
 msgstr "no se pueden combinar opciones de apply con opciones de merge"
 
-#: builtin/rebase.c:1782
+#: builtin/rebase.c:1772
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "Backend de rebase desconocido: %s"
 
-#: builtin/rebase.c:1812
+#: builtin/rebase.c:1802
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec requiere --exec o --interactive"
 
-#: builtin/rebase.c:1832
+#: builtin/rebase.c:1822
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "no se puede combinar '--preserve-merges' con '--rebase-merges'"
 
-#: builtin/rebase.c:1836
+#: builtin/rebase.c:1826
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "error: no se puede combinar '--preserve-merges' con '--reschedule-failed-"
 "exec'"
 
-#: builtin/rebase.c:1860
+#: builtin/rebase.c:1850
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "upstream inválido '%s'"
 
-#: builtin/rebase.c:1866
+#: builtin/rebase.c:1856
 msgid "Could not create new root commit"
 msgstr "No se pudo crear commit raíz nuevo"
 
-#: builtin/rebase.c:1892
+#: builtin/rebase.c:1882
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "'%s': necesita exactamente una base de fusión con rama"
 
-#: builtin/rebase.c:1895
+#: builtin/rebase.c:1885
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s': necesita exactamente una base de fusión"
 
-#: builtin/rebase.c:1903
+#: builtin/rebase.c:1893
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "No apunta a un commit válido '%s'"
 
-#: builtin/rebase.c:1931
+#: builtin/rebase.c:1921
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "fatal: no existe la rama/commit: '%s'"
 
-#: builtin/rebase.c:1939 builtin/submodule--helper.c:40
-#: builtin/submodule--helper.c:2414
+#: builtin/rebase.c:1929 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:2415
 #, c-format
 msgid "No such ref: %s"
 msgstr "No existe ref: %s"
 
-#: builtin/rebase.c:1950
+#: builtin/rebase.c:1940
 msgid "Could not resolve HEAD to a revision"
 msgstr "No se pudo resolver HEAD a una revisión"
 
-#: builtin/rebase.c:1971
+#: builtin/rebase.c:1961
 msgid "Please commit or stash them."
 msgstr "Por favor, confírmalos o guárdalos."
 
-#: builtin/rebase.c:2007
+#: builtin/rebase.c:1997
 #, c-format
 msgid "could not switch to %s"
 msgstr "no se pudo cambiar a %s"
 
-#: builtin/rebase.c:2018
+#: builtin/rebase.c:2008
 msgid "HEAD is up to date."
 msgstr "HEAD está actualizado."
 
-#: builtin/rebase.c:2020
+#: builtin/rebase.c:2010
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "La rama actual %s está actualizada.\n"
 
-#: builtin/rebase.c:2028
+#: builtin/rebase.c:2018
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD está actualizado, rebase forzado."
 
-#: builtin/rebase.c:2030
+#: builtin/rebase.c:2020
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "Rama actual %s está actualizada, rebase forzado.\n"
 
-#: builtin/rebase.c:2038
+#: builtin/rebase.c:2028
 msgid "The pre-rebase hook refused to rebase."
 msgstr "El hook pre-rebase rechazó el rebase."
 
-#: builtin/rebase.c:2045
+#: builtin/rebase.c:2035
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Cambios a %s:\n"
 
-#: builtin/rebase.c:2048
+#: builtin/rebase.c:2038
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Cambios desde %s a %s:\n"
 
-#: builtin/rebase.c:2073
+#: builtin/rebase.c:2063
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "En primer lugar, rebobinando HEAD para después reproducir tus cambios encima "
 "de ésta...\n"
 
-#: builtin/rebase.c:2082
+#: builtin/rebase.c:2072
 msgid "Could not detach HEAD"
 msgstr "No se puede desacoplar HEAD"
 
-#: builtin/rebase.c:2091
+#: builtin/rebase.c:2081
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Avance rápido de %s a %s.\n"
@@ -20158,11 +20461,11 @@
 "\n"
 "Para suprimir este mensaje, puedes configurarlo en 'refuse'."
 
-#: builtin/receive-pack.c:2481
+#: builtin/receive-pack.c:2479
 msgid "quiet"
 msgstr "tranquilo"
 
-#: builtin/receive-pack.c:2495
+#: builtin/receive-pack.c:2493
 msgid "You must specify a directory."
 msgstr "Se tiene que especificar un directorio."
 
@@ -20399,7 +20702,7 @@
 "\t%s:%d\n"
 "ahora nombra al remoto inexistente '%s'"
 
-#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:946
+#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:943
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "No existe el remoto '%s'"
@@ -20747,14 +21050,14 @@
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
 msgstr ""
-"Re empaquetados incrementales son incompatibles con índices bitmap. Use \n"
+"Re empaquetados incrementales son incompatibles con índices bitmap. Use\n"
 "--no-write-bitmap-index o deshabilite la configuración pack.writebitmaps."
 
 #: builtin/repack.c:198
 msgid "could not start pack-objects to repack promisor objects"
 msgstr "no se puede iniciar pack-objects para reempaquetar objetos promisores"
 
-#: builtin/repack.c:270 builtin/repack.c:446
+#: builtin/repack.c:270 builtin/repack.c:630
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack: Esperando líneas de ID de objeto en full hex solo desde pack-objects."
@@ -20764,106 +21067,129 @@
 msgstr ""
 "no se puede finalizar pack-objects para reempaquetar objetos promisores"
 
-#: builtin/repack.c:322
+#: builtin/repack.c:309
+#, c-format
+msgid "cannot open index for %s"
+msgstr "no se puede abrir index para %s"
+
+#: builtin/repack.c:368
+#, c-format
+msgid "pack %s too large to consider in geometric progression"
+msgstr "pack %s es muy grande para considerar en la progresión geométrica"
+
+#: builtin/repack.c:401 builtin/repack.c:408 builtin/repack.c:413
+#, c-format
+msgid "pack %s too large to roll up"
+msgstr "pack %s es muy grande para hacer un roll up"
+
+#: builtin/repack.c:460
 msgid "pack everything in a single pack"
 msgstr "empaquetar todo en un único paquete"
 
-#: builtin/repack.c:324
+#: builtin/repack.c:462
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "lo mismo que -a, y pierde objetos inaccesibles"
 
-#: builtin/repack.c:327
+#: builtin/repack.c:465
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "eliminar paquetes redundantes, y ejecutar git-prune-packed"
 
-#: builtin/repack.c:329
+#: builtin/repack.c:467
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "pasar --no-reuse-delta a git-pack-objects"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:469
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "pasar --no-reuse-object a git-pack-objects"
 
-#: builtin/repack.c:333
+#: builtin/repack.c:471
 msgid "do not run git-update-server-info"
 msgstr "no ejecutar git-update-server-info"
 
-#: builtin/repack.c:336
+#: builtin/repack.c:474
 msgid "pass --local to git-pack-objects"
 msgstr "pasar --local a git-pack-objects"
 
-#: builtin/repack.c:338
+#: builtin/repack.c:476
 msgid "write bitmap index"
 msgstr "escribir un índice de bitmap"
 
-#: builtin/repack.c:340
+#: builtin/repack.c:478
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "pasar --delta-islands a git-pack-objects"
 
-#: builtin/repack.c:341
+#: builtin/repack.c:479
 msgid "approxidate"
 msgstr "aproxime"
 
-#: builtin/repack.c:342
+#: builtin/repack.c:480
 msgid "with -A, do not loosen objects older than this"
 msgstr "con -A, no perder objetos más antiguos que este"
 
-#: builtin/repack.c:344
+#: builtin/repack.c:482
 msgid "with -a, repack unreachable objects"
 msgstr "con -a, re empaquetar objetos inalcanzables"
 
-#: builtin/repack.c:346
+#: builtin/repack.c:484
 msgid "size of the window used for delta compression"
 msgstr "tamaño de la ventana usado para la compresión delta"
 
-#: builtin/repack.c:347 builtin/repack.c:353
+#: builtin/repack.c:485 builtin/repack.c:491
 msgid "bytes"
 msgstr "bytes"
 
-#: builtin/repack.c:348
+#: builtin/repack.c:486
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "lo mismo que arriba, pero limita el tamaño de memoria en lugar de contar "
 "entradas"
 
-#: builtin/repack.c:350
+#: builtin/repack.c:488
 msgid "limits the maximum delta depth"
 msgstr "limita la profundidad máxima del delta"
 
-#: builtin/repack.c:352
+#: builtin/repack.c:490
 msgid "limits the maximum number of threads"
 msgstr "limita el número máximo de hilos"
 
-#: builtin/repack.c:354
+#: builtin/repack.c:492
 msgid "maximum size of each packfile"
 msgstr "tamaño máximo de cada paquete"
 
-#: builtin/repack.c:356
+#: builtin/repack.c:494
 msgid "repack objects in packs marked with .keep"
 msgstr "re-empaquetar objetos en paquetes marcados con .keep"
 
-#: builtin/repack.c:358
+#: builtin/repack.c:496
 msgid "do not repack this pack"
 msgstr "no reempaquetar este paquete"
 
-#: builtin/repack.c:368
+#: builtin/repack.c:498
+msgid "find a geometric progression with factor <N>"
+msgstr "encontrar una progresión geométrica con factor <N>"
+
+#: builtin/repack.c:508
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "no se pueden borrar paquetes en un repositorio de objetos-preciosos"
 
-#: builtin/repack.c:372
+#: builtin/repack.c:512
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable y -A son incompatibles"
 
-#: builtin/repack.c:455
+#: builtin/repack.c:527
+msgid "--geometric is incompatible with -A, -a"
+msgstr "--geometric es incompatible con -A, -a"
+
+#: builtin/repack.c:639
 msgid "Nothing new to pack."
 msgstr "Nada nuevo para empaquetar."
 
-#: builtin/repack.c:485
+#: builtin/repack.c:669
 #, c-format
 msgid "missing required file: %s"
 msgstr "falta archivo requerido: %s"
 
-#: builtin/repack.c:487
+#: builtin/repack.c:671
 #, c-format
 msgid "could not unlink: %s"
 msgstr "no se pudo desvincular: %s"
@@ -21196,8 +21522,8 @@
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "No se puede realziar un reset %s  en medio de una fusión."
 
-#: builtin/reset.c:295 builtin/stash.c:587 builtin/stash.c:661
-#: builtin/stash.c:685
+#: builtin/reset.c:295 builtin/stash.c:589 builtin/stash.c:663
+#: builtin/stash.c:687
 msgid "be quiet, only report errors"
 msgstr "ser silencioso, solo reportar errores"
 
@@ -21282,19 +21608,19 @@
 msgid "Could not write new index file."
 msgstr "No se puede escribir un nuevo archivo índice."
 
-#: builtin/rev-list.c:534
+#: builtin/rev-list.c:538
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "no se puede combinar --exclude-promisor-objects y --missing"
 
-#: builtin/rev-list.c:595
+#: builtin/rev-list.c:599
 msgid "object filtering requires --objects"
 msgstr "filtrado de objetos requiere --objects"
 
-#: builtin/rev-list.c:651
+#: builtin/rev-list.c:659
 msgid "rev-list does not support display of notes"
 msgstr "rev-list no soporta mostrar notas"
 
-#: builtin/rev-list.c:656
+#: builtin/rev-list.c:664
 msgid "marked counting is incompatible with --objects"
 msgstr "conteo de marcas es incompatible con --objects"
 
@@ -21407,19 +21733,19 @@
 msgid "keep redundant, empty commits"
 msgstr "mantener commits redundantes, vacíos"
 
-#: builtin/revert.c:239
+#: builtin/revert.c:237
 msgid "revert failed"
 msgstr "falló al revertir"
 
-#: builtin/revert.c:252
+#: builtin/revert.c:250
 msgid "cherry-pick failed"
 msgstr "cherry-pick falló"
 
-#: builtin/rm.c:19
+#: builtin/rm.c:20
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<opciones>] [--] <archivo>..."
 
-#: builtin/rm.c:207
+#: builtin/rm.c:208
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -21433,7 +21759,7 @@
 "los siguientes archivos tienen contenido diferente a los mismos\n"
 "y a HEAD:"
 
-#: builtin/rm.c:212
+#: builtin/rm.c:213
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -21441,13 +21767,13 @@
 "\n"
 "(usa -f para forzar su eliminación)"
 
-#: builtin/rm.c:216
+#: builtin/rm.c:217
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "el siguiente archivo tiene cambios en stage en el índice:"
 msgstr[1] "los siguientes archivos tienen cambios en stage en el índice:"
 
-#: builtin/rm.c:220 builtin/rm.c:229
+#: builtin/rm.c:221 builtin/rm.c:230
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -21455,48 +21781,48 @@
 "\n"
 "(usa --cached para conservar el archivo, o -f para forzar su eliminación)"
 
-#: builtin/rm.c:226
+#: builtin/rm.c:227
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "el siguiente archivo tiene modificaciones locales:"
 msgstr[1] "los siguientes archivos tienen modificaciones locales:"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "do not list removed files"
 msgstr "no listar archivos eliminado"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "only remove from the index"
 msgstr "solo eliminar del índice"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "override the up-to-date check"
 msgstr "sobrescribir el check de actualizado"
 
-#: builtin/rm.c:246
+#: builtin/rm.c:247
 msgid "allow recursive removal"
 msgstr "permitir eliminar de forma recursiva"
 
-#: builtin/rm.c:248
+#: builtin/rm.c:249
 msgid "exit with a zero status even if nothing matched"
 msgstr "salir con estado cero incluso si nada coincide"
 
-#: builtin/rm.c:282
+#: builtin/rm.c:283
 msgid "No pathspec was given. Which files should I remove?"
 msgstr "Se entregó un nuevo pathspec. ¿Qué archivos debería eliminar?"
 
-#: builtin/rm.c:305
+#: builtin/rm.c:310
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "por favor agrega el stage de tus cambios a .gitmodules o realiza un stash "
 "para proceder"
 
-#: builtin/rm.c:323
+#: builtin/rm.c:331
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "no eliminando '%s' de manera recursiva sin -r"
 
-#: builtin/rm.c:362
+#: builtin/rm.c:379
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: no es posible eliminar %s"
@@ -21773,106 +22099,114 @@
 msgid "show refs from stdin that aren't in local repository"
 msgstr "mostrar refs de stdin que no están en el repositorio local"
 
-#: builtin/sparse-checkout.c:21
+#: builtin/sparse-checkout.c:22
 msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
 msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <opciones>"
 
-#: builtin/sparse-checkout.c:45
+#: builtin/sparse-checkout.c:46
 msgid "git sparse-checkout list"
 msgstr "git sparse-checkout list"
 
-#: builtin/sparse-checkout.c:71
+#: builtin/sparse-checkout.c:72
 msgid "this worktree is not sparse (sparse-checkout file may not exist)"
 msgstr ""
 "este árbol de trabajo no tiene sparse (archivo sparese-checkout tal vez no "
 "existe)"
 
-#: builtin/sparse-checkout.c:223
+#: builtin/sparse-checkout.c:227
 msgid "failed to create directory for sparse-checkout file"
 msgstr "falló al crear directorio para el archivo sparse-checkout"
 
-#: builtin/sparse-checkout.c:264
+#: builtin/sparse-checkout.c:268
 msgid "unable to upgrade repository format to enable worktreeConfig"
 msgstr ""
 "no es posible actualizar el formato de repositorio para habilitar "
 "worktreeConfig"
 
-#: builtin/sparse-checkout.c:266
+#: builtin/sparse-checkout.c:270
 msgid "failed to set extensions.worktreeConfig setting"
 msgstr "falló al configurar opción extensions.worktreeConfig"
 
-#: builtin/sparse-checkout.c:283
-msgid "git sparse-checkout init [--cone]"
-msgstr "git sparse-checkout init [--cone]"
+#: builtin/sparse-checkout.c:290
+msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
 
-#: builtin/sparse-checkout.c:302
+#: builtin/sparse-checkout.c:310
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "inicializa el sparse-checkout en modo cono"
 
-#: builtin/sparse-checkout.c:339
+#: builtin/sparse-checkout.c:312
+msgid "toggle the use of a sparse index"
+msgstr "activar el uso de un índice sparse"
+
+#: builtin/sparse-checkout.c:340
+msgid "failed to modify sparse-index config"
+msgstr "falló al modificar la configuración del índice sparse"
+
+#: builtin/sparse-checkout.c:361
 #, c-format
 msgid "failed to open '%s'"
 msgstr "falló al abrir '%s'"
 
-#: builtin/sparse-checkout.c:396
+#: builtin/sparse-checkout.c:419
 #, c-format
 msgid "could not normalize path %s"
 msgstr "no se pudo normalizar la ruta %s"
 
-#: builtin/sparse-checkout.c:408
+#: builtin/sparse-checkout.c:431
 msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
 msgstr "git sparse-checkout (set|add) (--stdin | <patrones>)"
 
-#: builtin/sparse-checkout.c:433
+#: builtin/sparse-checkout.c:456
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "no es posible dequote para la cadena de estilo C '%s'"
 
-#: builtin/sparse-checkout.c:487 builtin/sparse-checkout.c:511
+#: builtin/sparse-checkout.c:510 builtin/sparse-checkout.c:534
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "no se pudo cargar patrones de sparse-checkout existentes"
 
-#: builtin/sparse-checkout.c:556
+#: builtin/sparse-checkout.c:579
 msgid "read patterns from standard in"
 msgstr "leer patrones de standard in"
 
-#: builtin/sparse-checkout.c:571
+#: builtin/sparse-checkout.c:594
 msgid "git sparse-checkout reapply"
 msgstr "git sparse-checkout reapply"
 
-#: builtin/sparse-checkout.c:590
+#: builtin/sparse-checkout.c:613
 msgid "git sparse-checkout disable"
 msgstr "git sparse-checkout disable"
 
-#: builtin/sparse-checkout.c:618
+#: builtin/sparse-checkout.c:644
 msgid "error while refreshing working directory"
 msgstr "error al refrescar directorio de trabajo"
 
-#: builtin/stash.c:22 builtin/stash.c:38
+#: builtin/stash.c:24 builtin/stash.c:40
 msgid "git stash list [<options>]"
 msgstr "git stash list [<opciones>]"
 
-#: builtin/stash.c:23 builtin/stash.c:43
+#: builtin/stash.c:25 builtin/stash.c:45
 msgid "git stash show [<options>] [<stash>]"
 msgstr "git stash show [<opciones>] [<stash>]"
 
-#: builtin/stash.c:24 builtin/stash.c:48
+#: builtin/stash.c:26 builtin/stash.c:50
 msgid "git stash drop [-q|--quiet] [<stash>]"
 msgstr "git stash drop [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:25
+#: builtin/stash.c:27
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:26 builtin/stash.c:63
+#: builtin/stash.c:28 builtin/stash.c:65
 msgid "git stash branch <branchname> [<stash>]"
 msgstr "git stash branch <nombre-rama> [<stash>]"
 
-#: builtin/stash.c:27 builtin/stash.c:68
+#: builtin/stash.c:29 builtin/stash.c:70
 msgid "git stash clear"
 msgstr "git stash clear"
 
-#: builtin/stash.c:28
+#: builtin/stash.c:30
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
@@ -21884,7 +22218,7 @@
 "          [--pathspec-from-file=<archivo> [--pathspec-file-nul]]\n"
 "          [--] [<pathspec>...]]"
 
-#: builtin/stash.c:32 builtin/stash.c:85
+#: builtin/stash.c:34 builtin/stash.c:87
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
@@ -21892,19 +22226,19 @@
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<mensaje>]"
 
-#: builtin/stash.c:53
+#: builtin/stash.c:55
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:58
+#: builtin/stash.c:60
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:73
+#: builtin/stash.c:75
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <mensaje>] [-q|--quiet] <commit>"
 
-#: builtin/stash.c:78
+#: builtin/stash.c:80
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
@@ -21914,30 +22248,30 @@
 "          [-u|--include-untracked] [-a|--all] [-m|--message <mensaje>]\n"
 "          [--] [<pathspec>...]]"
 
-#: builtin/stash.c:128
+#: builtin/stash.c:130
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "'%s' no es un commit estilo stash"
 
-#: builtin/stash.c:148
+#: builtin/stash.c:150
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "Se especificaron demasiadas revisiones: %s"
 
-#: builtin/stash.c:162
+#: builtin/stash.c:164
 msgid "No stash entries found."
 msgstr "No se encontraron entradas de stash."
 
-#: builtin/stash.c:176
+#: builtin/stash.c:178
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "%s no es una referencia válida"
 
-#: builtin/stash.c:225
+#: builtin/stash.c:227
 msgid "git stash clear with arguments is unimplemented"
 msgstr "git stash clear con argumentos no está implementado"
 
-#: builtin/stash.c:429
+#: builtin/stash.c:431
 #, c-format
 msgid ""
 "WARNING: Untracked file in way of tracked file!  Renaming\n"
@@ -21949,150 +22283,166 @@
 "             %s ->%s\n"
 "          Para hacer espacio.\n"
 
-#: builtin/stash.c:490
+#: builtin/stash.c:492
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "no se puede aplicar un stash en medio de un merge"
 
-#: builtin/stash.c:501
+#: builtin/stash.c:503
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "no se pudo generar diff %s^!."
 
-#: builtin/stash.c:508
+#: builtin/stash.c:510
 msgid "conflicts in index. Try without --index."
 msgstr "conflictos en índice. Intente sin --index."
 
-#: builtin/stash.c:514
+#: builtin/stash.c:516
 msgid "could not save index tree"
 msgstr "no se puede guardar el índice del árbol"
 
-#: builtin/stash.c:523
+#: builtin/stash.c:525
 msgid "could not restore untracked files from stash"
 msgstr "no se pueden restaurar archivos no rastreados de la entrada stash"
 
-#: builtin/stash.c:537
+#: builtin/stash.c:539
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Fusionando %s con %s"
 
-#: builtin/stash.c:547
+#: builtin/stash.c:549
 msgid "Index was not unstashed."
 msgstr "El índice no fue sacado de stash."
 
-#: builtin/stash.c:589 builtin/stash.c:687
+#: builtin/stash.c:591 builtin/stash.c:689
 msgid "attempt to recreate the index"
 msgstr "intento de recrear el index"
 
-#: builtin/stash.c:633
+#: builtin/stash.c:635
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "Botado %s (%s)"
 
-#: builtin/stash.c:636
+#: builtin/stash.c:638
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: No se pudo borrar entrada stash"
 
-#: builtin/stash.c:649
+#: builtin/stash.c:651
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' no es una referencia stash"
 
-#: builtin/stash.c:699
+#: builtin/stash.c:701
 msgid "The stash entry is kept in case you need it again."
 msgstr "La entrada de stash se guardó en caso de ser necesario nuevamente."
 
-#: builtin/stash.c:722
+#: builtin/stash.c:724
 msgid "No branch name specified"
 msgstr "No se especificó el nombre de la rama"
 
-#: builtin/stash.c:866 builtin/stash.c:903
+#: builtin/stash.c:808
+msgid "failed to parse tree"
+msgstr "falló al analizar el árbol"
+
+#: builtin/stash.c:819
+msgid "failed to unpack trees"
+msgstr "falló al desempaquetar árboles"
+
+#: builtin/stash.c:839
+msgid "include untracked files in the stash"
+msgstr "incluir archivos no rastreados en el stash"
+
+#: builtin/stash.c:842
+msgid "only show untracked files in the stash"
+msgstr "solo mostrar archivos no rastreados en el stash"
+
+#: builtin/stash.c:932 builtin/stash.c:969
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "No se puede actualizar %s con %s"
 
-#: builtin/stash.c:884 builtin/stash.c:1538 builtin/stash.c:1603
+#: builtin/stash.c:950 builtin/stash.c:1606 builtin/stash.c:1671
 msgid "stash message"
 msgstr "mensaje de stash"
 
-#: builtin/stash.c:894
+#: builtin/stash.c:960
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" requiere un argumento <commit>"
 
-#: builtin/stash.c:1109
+#: builtin/stash.c:1175
 msgid "No changes selected"
 msgstr "Sin cambios seleccionados"
 
-#: builtin/stash.c:1209
+#: builtin/stash.c:1275
 msgid "You do not have the initial commit yet"
 msgstr "Aún no tienes un commit inicial"
 
-#: builtin/stash.c:1236
+#: builtin/stash.c:1302
 msgid "Cannot save the current index state"
 msgstr "No se puede guardar el estado actual del índice"
 
-#: builtin/stash.c:1245
+#: builtin/stash.c:1311
 msgid "Cannot save the untracked files"
 msgstr "No se pueden guardar los archivos no rastreados"
 
-#: builtin/stash.c:1256 builtin/stash.c:1265
+#: builtin/stash.c:1322 builtin/stash.c:1331
 msgid "Cannot save the current worktree state"
 msgstr "No se puede guardar el estado actual del árbol de trabajo"
 
-#: builtin/stash.c:1293
+#: builtin/stash.c:1359
 msgid "Cannot record working tree state"
 msgstr "No se puede grabar el estado del árbol de trabajo"
 
-#: builtin/stash.c:1342
+#: builtin/stash.c:1408
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "No se puede usar --patch y --include-untracked o --all al mismo tiempo"
 
-#: builtin/stash.c:1358
+#: builtin/stash.c:1426
 msgid "Did you forget to 'git add'?"
 msgstr "¿Olvidaste 'git add'?"
 
-#: builtin/stash.c:1373
+#: builtin/stash.c:1441
 msgid "No local changes to save"
 msgstr "No hay cambios locales para guardar"
 
-#: builtin/stash.c:1380
+#: builtin/stash.c:1448
 msgid "Cannot initialize stash"
 msgstr "No se puede inicializar stash"
 
-#: builtin/stash.c:1395
+#: builtin/stash.c:1463
 msgid "Cannot save the current status"
 msgstr "No se puede guardar el estado actual"
 
-#: builtin/stash.c:1400
+#: builtin/stash.c:1468
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Directorio de trabajo guardado y estado de índice %s"
 
-#: builtin/stash.c:1490
+#: builtin/stash.c:1558
 msgid "Cannot remove worktree changes"
 msgstr "No se pueden eliminar cambios del árbol de trabajo"
 
-#: builtin/stash.c:1529 builtin/stash.c:1594
+#: builtin/stash.c:1597 builtin/stash.c:1662
 msgid "keep index"
 msgstr "mantener index"
 
-#: builtin/stash.c:1531 builtin/stash.c:1596
+#: builtin/stash.c:1599 builtin/stash.c:1664
 msgid "stash in patch mode"
 msgstr "stash en modo patch"
 
-#: builtin/stash.c:1532 builtin/stash.c:1597
+#: builtin/stash.c:1600 builtin/stash.c:1665
 msgid "quiet mode"
 msgstr "modo tranquilo"
 
-#: builtin/stash.c:1534 builtin/stash.c:1599
+#: builtin/stash.c:1602 builtin/stash.c:1667
 msgid "include untracked files in stash"
 msgstr "incluir archivos sin seguimiento en stash"
 
-#: builtin/stash.c:1536 builtin/stash.c:1601
+#: builtin/stash.c:1604 builtin/stash.c:1669
 msgid "include ignore files"
 msgstr "incluir archivos ignorados"
 
-#: builtin/stash.c:1636
+#: builtin/stash.c:1704
 msgid ""
 "the stash.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -22117,7 +22467,7 @@
 msgid "prepend comment character and space to each line"
 msgstr "anteponer carácter de comentario y espacio a cada línea"
 
-#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2423
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2424
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Se esperaba un nombre de ref completo, se obtuvo %s"
@@ -22131,7 +22481,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "no se puede quitar un componente del url '%s'"
 
-#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1819
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1820
 msgid "alternative anchor for relative paths"
 msgstr "ancho alternativo para rutas relativas"
 
@@ -22139,18 +22489,18 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<ruta>] [<ruta>...]"
 
-#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:629
-#: builtin/submodule--helper.c:652
+#: builtin/submodule--helper.c:473 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "No se encontró url para la ruta del submódulo '%s' en .gitmodules"
 
-#: builtin/submodule--helper.c:524
+#: builtin/submodule--helper.c:525
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Entrando '%s'\n"
 
-#: builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:528
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -22159,7 +22509,7 @@
 "run_command devolvió estado no-cero para %s\n"
 "."
 
-#: builtin/submodule--helper.c:549
+#: builtin/submodule--helper.c:550
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -22170,20 +22520,20 @@
 "anidados de %s\n"
 "."
 
-#: builtin/submodule--helper.c:565
+#: builtin/submodule--helper.c:566
 msgid "suppress output of entering each submodule command"
 msgstr "suprime la salida al inicializar cada comando de submódulo"
 
-#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:888
-#: builtin/submodule--helper.c:1487
+#: builtin/submodule--helper.c:568 builtin/submodule--helper.c:889
+#: builtin/submodule--helper.c:1488
 msgid "recurse into nested submodules"
 msgstr "recursar en submódulos anidados"
 
-#: builtin/submodule--helper.c:572
+#: builtin/submodule--helper.c:573
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <comando>"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:600
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -22192,57 +22542,57 @@
 "no se pudo encontrar configuración '%s'. Asumiendo que este repositorio es "
 "su propio upstream autoritativo."
 
-#: builtin/submodule--helper.c:666
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Falló al registrar el url para la ruta del submódulo '%s'"
 
-#: builtin/submodule--helper.c:670
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Submódulo '%s' (%s) registrado para ruta '%s'\n"
 
-#: builtin/submodule--helper.c:680
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "peligro: modo de actualización de comandos sugerido para el submódulo '%s'\n"
 
-#: builtin/submodule--helper.c:687
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Error al registrar el modo de actualización para la ruta del submódulo '%s'"
 
-#: builtin/submodule--helper.c:709
+#: builtin/submodule--helper.c:710
 msgid "suppress output for initializing a submodule"
 msgstr "suprime la salida para inicializar un submódulo"
 
-#: builtin/submodule--helper.c:714
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<opciones>] [<path>]"
 
-#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:922
+#: builtin/submodule--helper.c:788 builtin/submodule--helper.c:923
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "no se ha encontrado mapeo de submódulos en .gitmodules para la ruta '%s'"
 
-#: builtin/submodule--helper.c:835
+#: builtin/submodule--helper.c:836
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "no pudo resolver ref de HEAD dentro del submódulo '%s'"
 
-#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1457
+#: builtin/submodule--helper.c:863 builtin/submodule--helper.c:1458
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "falló al recursar en el submódulo '%s'"
 
-#: builtin/submodule--helper.c:886 builtin/submodule--helper.c:1623
+#: builtin/submodule--helper.c:887 builtin/submodule--helper.c:1624
 msgid "suppress submodule status output"
 msgstr "suprimir output del estado del submódulo"
 
-#: builtin/submodule--helper.c:887
+#: builtin/submodule--helper.c:888
 msgid ""
 "use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -22250,100 +22600,100 @@
 "usar el commit guardado en el índice en lugar del guardado en el submódulo "
 "HEAD"
 
-#: builtin/submodule--helper.c:893
+#: builtin/submodule--helper.c:894
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<ruta>...]"
 
-#: builtin/submodule--helper.c:917
+#: builtin/submodule--helper.c:918
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <ruta>"
 
-#: builtin/submodule--helper.c:989
+#: builtin/submodule--helper.c:990
 #, c-format
 msgid "* %s %s(blob)->%s(submodule)"
 msgstr "* %s %s(blob)->%s(submodule)"
 
-#: builtin/submodule--helper.c:992
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "* %s %s(submodule)->%s(blob)"
 msgstr "* %s %s(submodule)->%s(blob)"
 
-#: builtin/submodule--helper.c:1005
+#: builtin/submodule--helper.c:1006
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1056
 #, c-format
 msgid "couldn't hash object from '%s'"
 msgstr "no se pudo realizar hash del objeto '%s'"
 
-#: builtin/submodule--helper.c:1059
+#: builtin/submodule--helper.c:1060
 #, c-format
 msgid "unexpected mode %o\n"
 msgstr "modo %o inesperado\n"
 
-#: builtin/submodule--helper.c:1300
+#: builtin/submodule--helper.c:1301
 msgid "use the commit stored in the index instead of the submodule HEAD"
 msgstr ""
 "usar el commit guardado en el índice en lugar del guardado en el submódulo "
 "HEAD"
 
-#: builtin/submodule--helper.c:1302
+#: builtin/submodule--helper.c:1303
 msgid "to compare the commit in the index with that in the submodule HEAD"
 msgstr ""
 "usar el commit guardado en el índice para comparar con el guardado en el "
 "submódulo HEAD"
 
-#: builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1305
 msgid "skip submodules with 'ignore_config' value set to 'all'"
 msgstr "omitir submódulos con el valor 'ignore_config' establecido en 'all'"
 
-#: builtin/submodule--helper.c:1306
+#: builtin/submodule--helper.c:1307
 msgid "limit the summary size"
 msgstr "limitar el tamaño de resumen"
 
-#: builtin/submodule--helper.c:1311
+#: builtin/submodule--helper.c:1312
 msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 msgstr "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 
-#: builtin/submodule--helper.c:1335
+#: builtin/submodule--helper.c:1336
 msgid "could not fetch a revision for HEAD"
 msgstr "no se puede obtener la revisión para HEAD"
 
-#: builtin/submodule--helper.c:1340
+#: builtin/submodule--helper.c:1341
 msgid "--cached and --files are mutually exclusive"
 msgstr "--cached y --files son mutuamente exclusivos"
 
-#: builtin/submodule--helper.c:1407
+#: builtin/submodule--helper.c:1408
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Sincronizando url del submódulo para '%s'\n"
 
-#: builtin/submodule--helper.c:1413
+#: builtin/submodule--helper.c:1414
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "falló al registrar el url para la ruta del submódulo '%s'"
 
-#: builtin/submodule--helper.c:1427
+#: builtin/submodule--helper.c:1428
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "error al conseguir el remoto por defecto para el submódulo '%s'"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1439
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "error al actualizar el remoto para el submódulo '%s'"
 
-#: builtin/submodule--helper.c:1485
+#: builtin/submodule--helper.c:1486
 msgid "suppress output of synchronizing submodule url"
 msgstr "suprime la salida del url del submódulo que se sincroniza"
 
-#: builtin/submodule--helper.c:1492
+#: builtin/submodule--helper.c:1493
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<ruta>]"
 
-#: builtin/submodule--helper.c:1546
+#: builtin/submodule--helper.c:1547
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -22352,7 +22702,7 @@
 "El árbol de trabajo del submódulo '%s' contiene un directorio .git (use 'rm -"
 "rf' si realmente quieres eliminarlo incluyendo todo en su historia)"
 
-#: builtin/submodule--helper.c:1558
+#: builtin/submodule--helper.c:1559
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -22361,46 +22711,46 @@
 "El árbol de trabajo del submódulo '%s' contiene modificaciones locales; usa "
 "'-f' para descartarlas"
 
-#: builtin/submodule--helper.c:1566
+#: builtin/submodule--helper.c:1567
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Directorio '%s' limpiado\n"
 
-#: builtin/submodule--helper.c:1568
+#: builtin/submodule--helper.c:1569
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "No se pudo eliminar el árbol de trabajo del submódulo '%s'\n"
 
-#: builtin/submodule--helper.c:1579
+#: builtin/submodule--helper.c:1580
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "no se pudo crear directorio vacío de submódulo %s"
 
-#: builtin/submodule--helper.c:1595
+#: builtin/submodule--helper.c:1596
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Submódulo '%s' (%s) no registrado para ruta '%s'\n"
 
-#: builtin/submodule--helper.c:1624
+#: builtin/submodule--helper.c:1625
 msgid "remove submodule working trees even if they contain local changes"
 msgstr ""
 "remover árboles de trabajo de submódulos incluso si contienen cambios locales"
 
-#: builtin/submodule--helper.c:1625
+#: builtin/submodule--helper.c:1626
 msgid "unregister all submodules"
 msgstr "quitar todos los submódulos"
 
-#: builtin/submodule--helper.c:1630
+#: builtin/submodule--helper.c:1631
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<ruta>...]]"
 
-#: builtin/submodule--helper.c:1644
+#: builtin/submodule--helper.c:1645
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Usa '--all' si realmente quieres des-inicializar todos los submódulos"
 
-#: builtin/submodule--helper.c:1713
+#: builtin/submodule--helper.c:1714
 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"
@@ -22414,46 +22764,46 @@
 "con\n"
 "'--reference-if-able' en lugar de '--reference'."
 
-#: builtin/submodule--helper.c:1752 builtin/submodule--helper.c:1755
+#: builtin/submodule--helper.c:1753 builtin/submodule--helper.c:1756
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "submódulo '%s' no puede agregar alterno: %s"
 
-#: builtin/submodule--helper.c:1791
+#: builtin/submodule--helper.c:1792
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Valor '%s' para submodule.alternateErrorStrategy no es reconocido"
 
-#: builtin/submodule--helper.c:1798
+#: builtin/submodule--helper.c:1799
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Valor '%s' para submodule.alternateLocation no es reconocido"
 
-#: builtin/submodule--helper.c:1822
+#: builtin/submodule--helper.c:1823
 msgid "where the new submodule will be cloned to"
 msgstr "a donde el nuevo submódulo será clonado"
 
-#: builtin/submodule--helper.c:1825
+#: builtin/submodule--helper.c:1826
 msgid "name of the new submodule"
 msgstr "nombre del nuevo submódulo"
 
-#: builtin/submodule--helper.c:1828
+#: builtin/submodule--helper.c:1829
 msgid "url where to clone the submodule from"
 msgstr "url de dónde clonar el submódulo"
 
-#: builtin/submodule--helper.c:1836
+#: builtin/submodule--helper.c:1837
 msgid "depth for shallow clones"
 msgstr "profundidad para clones superficiales"
 
-#: builtin/submodule--helper.c:1839 builtin/submodule--helper.c:2348
+#: builtin/submodule--helper.c:1840 builtin/submodule--helper.c:2349
 msgid "force cloning progress"
 msgstr "forzar el proceso de clonado"
 
-#: builtin/submodule--helper.c:1841 builtin/submodule--helper.c:2350
+#: builtin/submodule--helper.c:1842 builtin/submodule--helper.c:2351
 msgid "disallow cloning into non-empty directory"
 msgstr "no permitir clonar en directorios no vacíos"
 
-#: builtin/submodule--helper.c:1848
+#: builtin/submodule--helper.c:1849
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
@@ -22463,104 +22813,104 @@
 "<repositorio>] [--name <nombre>] [--depth <profundidad>] [--single-branch] --"
 "url <url> --path <ruta>"
 
-#: builtin/submodule--helper.c:1873
+#: builtin/submodule--helper.c:1874
 #, c-format
 msgid "refusing to create/use '%s' in another submodule's git dir"
 msgstr "rechazando crear/usar '%s' en el directorio de git de otro submódulo"
 
-#: builtin/submodule--helper.c:1884
+#: builtin/submodule--helper.c:1885
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "clon de '%s' en la ruta de submódulo '%s' falló"
 
-#: builtin/submodule--helper.c:1888
+#: builtin/submodule--helper.c:1889
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "directorio no está vacío: '%s'"
 
-#: builtin/submodule--helper.c:1900
+#: builtin/submodule--helper.c:1901
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "no se pudo obtener el directorio de submódulo para '%s'"
 
-#: builtin/submodule--helper.c:1936
+#: builtin/submodule--helper.c:1937
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "Modo de actualización inválido '%s' para ruta de submódulo '%s'"
 
-#: builtin/submodule--helper.c:1940
+#: builtin/submodule--helper.c:1941
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Modo de actualización inválido '%s' configurado para ruta de submódulo '%s'"
 
-#: builtin/submodule--helper.c:2041
+#: builtin/submodule--helper.c:2042
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Ruta de submódulo '%s' no inicializada"
 
-#: builtin/submodule--helper.c:2045
+#: builtin/submodule--helper.c:2046
 msgid "Maybe you want to use 'update --init'?"
 msgstr "¿Tal vez quieres usar 'update --init'?"
 
-#: builtin/submodule--helper.c:2075
+#: builtin/submodule--helper.c:2076
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Saltando submódulo %s no fusionado"
 
-#: builtin/submodule--helper.c:2104
+#: builtin/submodule--helper.c:2105
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Saltando submódulo '%s'"
 
-#: builtin/submodule--helper.c:2254
+#: builtin/submodule--helper.c:2255
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Falló al clonar '%s'. Reintento programado"
 
-#: builtin/submodule--helper.c:2265
+#: builtin/submodule--helper.c:2266
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Falló al clonar '%s' una segunda vez, abortando"
 
-#: builtin/submodule--helper.c:2327 builtin/submodule--helper.c:2573
+#: builtin/submodule--helper.c:2328 builtin/submodule--helper.c:2574
 msgid "path into the working tree"
 msgstr "ruta hacia el árbol de trabajo"
 
-#: builtin/submodule--helper.c:2330
+#: builtin/submodule--helper.c:2331
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "ruta hacia el árbol de trabajo, a través de extremos de submódulos anidados"
 
-#: builtin/submodule--helper.c:2334
+#: builtin/submodule--helper.c:2335
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout o none"
 
-#: builtin/submodule--helper.c:2340
+#: builtin/submodule--helper.c:2341
 msgid "create a shallow clone truncated to the specified number of revisions"
 msgstr "crea un clon superficial truncado al número especificado de revisión"
 
-#: builtin/submodule--helper.c:2343
+#: builtin/submodule--helper.c:2344
 msgid "parallel jobs"
 msgstr "trabajos paralelos"
 
-#: builtin/submodule--helper.c:2345
+#: builtin/submodule--helper.c:2346
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "si el clon inicial debe seguir la recomendación superficial"
 
-#: builtin/submodule--helper.c:2346
+#: builtin/submodule--helper.c:2347
 msgid "don't print cloning progress"
 msgstr "no mostrar el progreso de clonado"
 
-#: builtin/submodule--helper.c:2357
+#: builtin/submodule--helper.c:2358
 msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update-clone [--prefix=<ruta>] [<ruta>...]"
 
-#: builtin/submodule--helper.c:2370
+#: builtin/submodule--helper.c:2371
 msgid "bad value for update parameter"
 msgstr "mal valor para parámetro update"
 
-#: builtin/submodule--helper.c:2418
+#: builtin/submodule--helper.c:2419
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -22569,85 +22919,85 @@
 "Rama de submódulo (%s) configurada para heredar rama del superproyecto, pero "
 "el superproyecto no está en ninguna rama"
 
-#: builtin/submodule--helper.c:2541
+#: builtin/submodule--helper.c:2542
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "no se pudo conseguir un handle para el submódulo '%s'"
 
-#: builtin/submodule--helper.c:2574
+#: builtin/submodule--helper.c:2575
 msgid "recurse into submodules"
 msgstr "recurrir a submódulos"
 
-#: builtin/submodule--helper.c:2580
+#: builtin/submodule--helper.c:2581
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<opciones>] [<path>...]"
 
-#: builtin/submodule--helper.c:2636
+#: builtin/submodule--helper.c:2637
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "revisar is es seguro escribir el archivo .gitmodules"
 
-#: builtin/submodule--helper.c:2639
+#: builtin/submodule--helper.c:2640
 msgid "unset the config in the .gitmodules file"
 msgstr "desconfigura la opción en elarchivo .gitmodules"
 
-#: builtin/submodule--helper.c:2644
+#: builtin/submodule--helper.c:2645
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <nombre> [<valor>]"
 
-#: builtin/submodule--helper.c:2645
+#: builtin/submodule--helper.c:2646
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <nombre>"
 
-#: builtin/submodule--helper.c:2646
+#: builtin/submodule--helper.c:2647
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2665 git-submodule.sh:150
+#: builtin/submodule--helper.c:2666 git-submodule.sh:150
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 "por favor asegúrate que el archivo .gitmodules está en el árbol de trabajo"
 
-#: builtin/submodule--helper.c:2681
+#: builtin/submodule--helper.c:2682
 msgid "suppress output for setting url of a submodule"
 msgstr "suprime la salida para inicializar la url de un submódulo"
 
-#: builtin/submodule--helper.c:2685
+#: builtin/submodule--helper.c:2686
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
 msgstr "git submodule--helper set-url [--quiet] <ruta> <nueva url>"
 
-#: builtin/submodule--helper.c:2718
+#: builtin/submodule--helper.c:2719
 msgid "set the default tracking branch to master"
 msgstr "configurar la rama de rastreo por defecto a master"
 
-#: builtin/submodule--helper.c:2720
+#: builtin/submodule--helper.c:2721
 msgid "set the default tracking branch"
 msgstr "configurar la rama de rastreo por defecto"
 
-#: builtin/submodule--helper.c:2724
+#: builtin/submodule--helper.c:2725
 msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
 msgstr "git submodule--helper set-branch [-q|--quiet] (-d|--default) <ruta>"
 
-#: builtin/submodule--helper.c:2725
+#: builtin/submodule--helper.c:2726
 msgid ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <rama> <ruta>"
 
-#: builtin/submodule--helper.c:2732
+#: builtin/submodule--helper.c:2733
 msgid "--branch or --default required"
 msgstr "--branch o --default requeridos"
 
-#: builtin/submodule--helper.c:2735
+#: builtin/submodule--helper.c:2736
 msgid "--branch and --default are mutually exclusive"
 msgstr "--branch y --default son mutuamente exclusivos"
 
-#: builtin/submodule--helper.c:2792 git.c:441 git.c:714
+#: builtin/submodule--helper.c:2793 git.c:449 git.c:724
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s no soporta --super-prefix"
 
-#: builtin/submodule--helper.c:2798
+#: builtin/submodule--helper.c:2799
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' no es un comando submodule--helper válido"
@@ -22660,23 +23010,23 @@
 msgid "git symbolic-ref -d [-q] <name>"
 msgstr "git symbolic-ref -d [-q] <nombre>"
 
-#: builtin/symbolic-ref.c:40
+#: builtin/symbolic-ref.c:42
 msgid "suppress error message for non-symbolic (detached) refs"
 msgstr "suprimir mensajes de error para refs no simbólicos (desacoplados)"
 
-#: builtin/symbolic-ref.c:41
+#: builtin/symbolic-ref.c:43
 msgid "delete symbolic ref"
 msgstr "eliminar referencia simbólica"
 
-#: builtin/symbolic-ref.c:42
+#: builtin/symbolic-ref.c:44
 msgid "shorten ref output"
 msgstr "salida de referencia más corta"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
 msgid "reason"
 msgstr "razón"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
 msgid "reason of the update"
 msgstr "razón de la actualización"
 
@@ -22708,17 +23058,17 @@
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<formato>] <nombre-de-tag>..."
 
-#: builtin/tag.c:89
+#: builtin/tag.c:100
 #, c-format
 msgid "tag '%s' not found."
 msgstr "tag '%s' no encontrado."
 
-#: builtin/tag.c:124
+#: builtin/tag.c:135
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Etiqueta '%s' eliminada (era %s)\n"
 
-#: builtin/tag.c:159
+#: builtin/tag.c:170
 #, c-format
 msgid ""
 "\n"
@@ -22731,7 +23081,7 @@
 "  %s\n"
 "Las líneas que comienzan con '%c' serán ignoradas.\n"
 
-#: builtin/tag.c:163
+#: builtin/tag.c:174
 #, c-format
 msgid ""
 "\n"
@@ -22746,11 +23096,11 @@
 "Las líneas que comienzan con '%c' serán conservadas; puedes eliminarlas por "
 "ti mismo si quieres hacerlo.\n"
 
-#: builtin/tag.c:230
+#: builtin/tag.c:241
 msgid "unable to sign the tag"
 msgstr "incapaz de firmar tag"
 
-#: builtin/tag.c:248
+#: builtin/tag.c:259
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -22763,139 +23113,139 @@
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:264
+#: builtin/tag.c:275
 msgid "bad object type."
 msgstr "tipo de objeto erróneo."
 
-#: builtin/tag.c:317
+#: builtin/tag.c:328
 msgid "no tag message?"
 msgstr "¿Sin mensaje de tag?"
 
-#: builtin/tag.c:324
+#: builtin/tag.c:335
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "El mensaje del tag ha sido dejado en %s\n"
 
-#: builtin/tag.c:435
+#: builtin/tag.c:446
 msgid "list tag names"
 msgstr "listar nombres de tags"
 
-#: builtin/tag.c:437
+#: builtin/tag.c:448
 msgid "print <n> lines of each tag message"
 msgstr "imprimir <n> líneas de cada mensaje de tag"
 
-#: builtin/tag.c:439
+#: builtin/tag.c:450
 msgid "delete tags"
 msgstr "eliminar tags"
 
-#: builtin/tag.c:440
+#: builtin/tag.c:451
 msgid "verify tags"
 msgstr "verificar tags"
 
-#: builtin/tag.c:442
+#: builtin/tag.c:453
 msgid "Tag creation options"
 msgstr "Opciones de creación de tags"
 
-#: builtin/tag.c:444
+#: builtin/tag.c:455
 msgid "annotated tag, needs a message"
 msgstr "tags anotadas necesitan un mensaje"
 
-#: builtin/tag.c:446
+#: builtin/tag.c:457
 msgid "tag message"
 msgstr "mensaje de tag"
 
-#: builtin/tag.c:448
+#: builtin/tag.c:459
 msgid "force edit of tag message"
 msgstr "forzar la edición del mensaje de tag"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:460
 msgid "annotated and GPG-signed tag"
 msgstr "tag anotado y firmado con GPG"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:463
 msgid "use another key to sign the tag"
 msgstr "usar otra clave para firmar el tag"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:464
 msgid "replace the tag if exists"
 msgstr "remplazar tag si existe"
 
-#: builtin/tag.c:454 builtin/update-ref.c:505
+#: builtin/tag.c:465 builtin/update-ref.c:505
 msgid "create a reflog"
 msgstr "crear un reflog"
 
-#: builtin/tag.c:456
+#: builtin/tag.c:467
 msgid "Tag listing options"
 msgstr "Opciones de listado de tag"
 
-#: builtin/tag.c:457
+#: builtin/tag.c:468
 msgid "show tag list in columns"
 msgstr "mostrar lista de tags en columnas"
 
-#: builtin/tag.c:458 builtin/tag.c:460
+#: builtin/tag.c:469 builtin/tag.c:471
 msgid "print only tags that contain the commit"
 msgstr "mostrar solo tags que contienen el commit"
 
-#: builtin/tag.c:459 builtin/tag.c:461
+#: builtin/tag.c:470 builtin/tag.c:472
 msgid "print only tags that don't contain the commit"
 msgstr "mostrar solo tags que no contienen el commit"
 
-#: builtin/tag.c:462
+#: builtin/tag.c:473
 msgid "print only tags that are merged"
 msgstr "sólo imprimir las tags que están fusionadas"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:474
 msgid "print only tags that are not merged"
 msgstr "sólo imprimir las tags que no están fusionadas"
 
-#: builtin/tag.c:467
+#: builtin/tag.c:478
 msgid "print only tags of the object"
 msgstr "sólo imprimir tags de el objeto"
 
-#: builtin/tag.c:515
+#: builtin/tag.c:526
 msgid "--column and -n are incompatible"
 msgstr "--column y -n son incompatibles"
 
-#: builtin/tag.c:537
+#: builtin/tag.c:548
 msgid "-n option is only allowed in list mode"
 msgstr "opción -n solo es permitida en modo lista"
 
-#: builtin/tag.c:539
+#: builtin/tag.c:550
 msgid "--contains option is only allowed in list mode"
 msgstr "opción --contains solo es permitido en modo lista"
 
-#: builtin/tag.c:541
+#: builtin/tag.c:552
 msgid "--no-contains option is only allowed in list mode"
 msgstr "opción --no-contains solo es permitida en modo lista"
 
-#: builtin/tag.c:543
+#: builtin/tag.c:554
 msgid "--points-at option is only allowed in list mode"
 msgstr "opción --points-at solo es permitida en modo lista"
 
-#: builtin/tag.c:545
+#: builtin/tag.c:556
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr "opciones --merged y --no-merged  solo están permitidas en modo lista"
 
-#: builtin/tag.c:556
+#: builtin/tag.c:567
 msgid "only one -F or -m option is allowed."
 msgstr "sólo se permite una de las opciones, -m ó -F."
 
-#: builtin/tag.c:581
+#: builtin/tag.c:592
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' no es un nombre de tag válido."
 
-#: builtin/tag.c:586
+#: builtin/tag.c:597
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "el tag '%s' ya existe"
 
-#: builtin/tag.c:617
+#: builtin/tag.c:628
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Etiqueta '%s' actualizada (era %s)\n"
 
-#: builtin/unpack-objects.c:502
+#: builtin/unpack-objects.c:504
 msgid "Unpacking objects"
 msgstr "Desempaquetando objetos"
 
@@ -22959,147 +23309,147 @@
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<opciones>] [--] [<archivo>...]"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:976
 msgid "continue refresh even when index needs update"
 msgstr ""
 "continuar refresh (Actualización) incluso cuando el índice necesita "
 "actualización"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:979
 msgid "refresh: ignore submodules"
 msgstr "refresh: ignora submódulos"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:982
 msgid "do not ignore new files"
 msgstr "no ignorar archivos nuevos"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:984
 msgid "let files replace directories and vice-versa"
 msgstr "permitir que archivos remplacen directorios y vice-versa"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:986
 msgid "notice files missing from worktree"
 msgstr "avisar de archivos faltando en el árbol de trabajo"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:988
 msgid "refresh even if index contains unmerged entries"
 msgstr "ejecutar refresh incluso si el índice contiene entradas sin cambios"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:991
 msgid "refresh stat information"
 msgstr "refresh información de estado"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:995
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "como --refresh, pero ignora configuración assume-unchanged"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:999
 msgid "<mode>,<object>,<path>"
 msgstr "<modo>,<objeto>,<ruta>"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1000
 msgid "add the specified entry to the index"
 msgstr "agregar la entrada especificada al índice"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1010
 msgid "mark files as \"not changing\""
 msgstr "marcar archivos como \"not changing\""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1013
 msgid "clear assumed-unchanged bit"
 msgstr "limpiar bit assumed-unchanged"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1016
 msgid "mark files as \"index-only\""
 msgstr "marcar archivos como \"index-only\""
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1019
 msgid "clear skip-worktree bit"
 msgstr "limpiar bit skip-worktree"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1022
 msgid "do not touch index-only entries"
 msgstr "no tocar entradas index-only"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1024
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "agregar solo al índice; no agregar contenido a la base de datos de objetos"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1026
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "eliminar rutas nombradas incluso si están presentes en el árbol de trabajo"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1028
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "con --stdin: las líneas de entrada son terminadas con bytes nulos"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1030
 msgid "read list of paths to be updated from standard input"
 msgstr "leer la lista de rutas para ser actualizada desde standard input"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1034
 msgid "add entries from standard input to the index"
 msgstr "agregar entradas de standard input al índice"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1038
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "repoblar stages #2 y #3 para las rutas listadas"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1042
 msgid "only update entries that differ from HEAD"
 msgstr "solo actualizar entradas que difieren de HEAD"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1046
 msgid "ignore files missing from worktree"
 msgstr "ignorar archivos faltantes en el árbol de trabajo"
 
-#: builtin/update-index.c:1047
+#: builtin/update-index.c:1049
 msgid "report actions to standard output"
 msgstr "reportar acciones por standard output"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1051
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(para porcelanas) olvidar conflictos sin resolver guardados"
 
-#: builtin/update-index.c:1053
+#: builtin/update-index.c:1055
 msgid "write index in this format"
 msgstr "escribir índice en este formato"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1057
 msgid "enable or disable split index"
 msgstr "activar o desactivar índice dividido"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1059
 msgid "enable/disable untracked cache"
 msgstr "habilitar o deshabilitar caché no rastreado"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1061
 msgid "test if the filesystem supports untracked cache"
 msgstr "probar si el filesystem soporta caché no rastreado"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1063
 msgid "enable untracked cache without testing the filesystem"
 msgstr "habilitar caché no rastreado sin probar el filesystem"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1065
 msgid "write out the index even if is not flagged as changed"
 msgstr "escribir el índice incluso si no está marcado como cambiado"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1067
 msgid "enable or disable file system monitor"
 msgstr "activar o desactivar monitor de sistema de archivos"
 
-#: builtin/update-index.c:1067
+#: builtin/update-index.c:1069
 msgid "mark files as fsmonitor valid"
 msgstr "marcar archivos como válidos para fsmonitor"
 
-#: builtin/update-index.c:1070
+#: builtin/update-index.c:1072
 msgid "clear fsmonitor valid bit"
 msgstr "limpia el bit de validación fsmonitor"
 
-#: builtin/update-index.c:1173
+#: builtin/update-index.c:1175
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -23107,7 +23457,7 @@
 "core.splitIndex está configurado en false; remuévelo o cámbialo, si "
 "realmente quieres habilitar el índice partido"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1184
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -23115,7 +23465,7 @@
 "core.splitIndex está configurado en true; remuévelo o cámbialo, si realmente "
 "quieres deshabilitar el índice partido"
 
-#: builtin/update-index.c:1194
+#: builtin/update-index.c:1196
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -23123,11 +23473,11 @@
 "core.untrackedCache está configurado en true; remuévelo o cámbialo, si "
 "realmente quieres deshabilitar el chaché no rastreado"
 
-#: builtin/update-index.c:1198
+#: builtin/update-index.c:1200
 msgid "Untracked cache disabled"
 msgstr "Caché no rastreado deshabilitado"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1208
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -23135,29 +23485,29 @@
 "core.untrackedCache está configurado en false; remuévelo o cámbialo, si "
 "realmente quieres habilitar el caché no rastreado"
 
-#: builtin/update-index.c:1210
+#: builtin/update-index.c:1212
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Caché no rastreado habilitado para '%s'"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1220
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor no está configurado; actívalo si realmente quieres habilitar "
 "fsmonitor"
 
-#: builtin/update-index.c:1222
+#: builtin/update-index.c:1224
 msgid "fsmonitor enabled"
 msgstr "fsmonitor activado"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1227
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor está configurado; remuévelo si realmente quieres deshabilitar "
 "el fsmonitor"
 
-#: builtin/update-index.c:1229
+#: builtin/update-index.c:1231
 msgid "fsmonitor disabled"
 msgstr "fsmonitor desactivado"
 
@@ -23279,7 +23629,7 @@
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <ruta>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:933
+#: builtin/worktree.c:61 builtin/worktree.c:935
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "falló al borrar '%s'"
@@ -23351,107 +23701,107 @@
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Preparando árbol de trabajo (HEAD desacoplado %s)"
 
-#: builtin/worktree.c:480
+#: builtin/worktree.c:482
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 "hacer checkout a <rama> incluso si ya ha hecho checkout en otro árbol de "
 "trabajo"
 
-#: builtin/worktree.c:483
+#: builtin/worktree.c:485
 msgid "create a new branch"
 msgstr "crear una nueva rama"
 
-#: builtin/worktree.c:485
+#: builtin/worktree.c:487
 msgid "create or reset a branch"
 msgstr "crear o restablecer una rama"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:489
 msgid "populate the new working tree"
 msgstr "popular el nuevo árbol de trabajo"
 
-#: builtin/worktree.c:488
+#: builtin/worktree.c:490
 msgid "keep the new working tree locked"
 msgstr "mantener el nuevo árbol de trabajo bloqueado"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "configurando modo tracking (mirar git-branch(1))"
 
-#: builtin/worktree.c:494
+#: builtin/worktree.c:496
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr ""
 "intentar emparejar el nuevo nombre de rama con una rama de rastreo remoto"
 
-#: builtin/worktree.c:502
+#: builtin/worktree.c:504
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B, y --detach son mutuamente exclusivas"
 
-#: builtin/worktree.c:563
+#: builtin/worktree.c:565
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "--[no-]track solo puede ser usado si una nueva rama es creada"
 
-#: builtin/worktree.c:680
+#: builtin/worktree.c:682
 msgid "show extended annotations and reasons, if available"
 msgstr "mostrar anotaciones ampliadas y motivos, si están disponibles"
 
-#: builtin/worktree.c:682
+#: builtin/worktree.c:684
 msgid "add 'prunable' annotation to worktrees older than <time>"
 msgstr ""
 "agregue la anotación 'podable' a los árboles de trabajo anteriores a <tiempo>"
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:693
 msgid "--verbose and --porcelain are mutually exclusive"
 msgstr "--verbose and --porcelain son mutuamente exclusivas"
 
-#: builtin/worktree.c:718
+#: builtin/worktree.c:720
 msgid "reason for locking"
 msgstr "razón para bloquear"
 
-#: builtin/worktree.c:730 builtin/worktree.c:763 builtin/worktree.c:837
-#: builtin/worktree.c:961
+#: builtin/worktree.c:732 builtin/worktree.c:765 builtin/worktree.c:839
+#: builtin/worktree.c:963
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' no es un árbol de trabajo"
 
-#: builtin/worktree.c:732 builtin/worktree.c:765
+#: builtin/worktree.c:734 builtin/worktree.c:767
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "El árbol de trabajo principal no puede ser bloqueado ni desbloqueado"
 
-#: builtin/worktree.c:737
+#: builtin/worktree.c:739
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' ya está bloqueado; razón: %s"
 
-#: builtin/worktree.c:739
+#: builtin/worktree.c:741
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' ya está bloqueado"
 
-#: builtin/worktree.c:767
+#: builtin/worktree.c:769
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' no está bloqueado"
 
-#: builtin/worktree.c:808
+#: builtin/worktree.c:810
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 "árboles de trabajo conteniendo submódulos no puede ser movidos o eliminado"
 
-#: builtin/worktree.c:816
+#: builtin/worktree.c:818
 msgid "force move even if worktree is dirty or locked"
 msgstr "forzar move incluso si el árbol de trabajo está sucio o bloqueado"
 
-#: builtin/worktree.c:839 builtin/worktree.c:963
+#: builtin/worktree.c:841 builtin/worktree.c:965
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' es un árbol de trabajo principal"
 
-#: builtin/worktree.c:844
+#: builtin/worktree.c:846
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "no se pudo descubrir el nombre de destino de '%s'"
 
-#: builtin/worktree.c:857
+#: builtin/worktree.c:859
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -23460,7 +23810,7 @@
 "no se puede mover un árbol de trabajo bloqueado, motivo del bloqueo: %s\n"
 "use 'move -f -f' para sobreescribir o desbloquear primero"
 
-#: builtin/worktree.c:859
+#: builtin/worktree.c:861
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -23468,37 +23818,37 @@
 "no se puede mover un árbol de trabajo bloqueado;\n"
 "use 'move -f -f' para sobreescribir o desbloquear primero"
 
-#: builtin/worktree.c:862
+#: builtin/worktree.c:864
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "falló validación, no se puede mover el árbol de trabajo: %s"
 
-#: builtin/worktree.c:867
+#: builtin/worktree.c:869
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "falló al mover '%s' a '%s'"
 
-#: builtin/worktree.c:913
+#: builtin/worktree.c:915
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "falló al ejecutar 'git status' en '%s'"
 
-#: builtin/worktree.c:917
+#: builtin/worktree.c:919
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 "'%s' contiene archivos no rastreados o modificados, use --force para borrarlo"
 
-#: builtin/worktree.c:922
+#: builtin/worktree.c:924
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "no se pudo ejecutar 'git status' en '%s', código %d"
 
-#: builtin/worktree.c:945
+#: builtin/worktree.c:947
 msgid "force removal even if worktree is dirty or locked"
 msgstr "forzar remoción incluso si el árbol de trabajo está sucio o bloqueado"
 
-#: builtin/worktree.c:968
+#: builtin/worktree.c:970
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -23507,7 +23857,7 @@
 "no se pueden eliminar árbol de trabajo bloqueado, razón del bloqueo: %s\n"
 "use 'remove -f -f' para sobreescribir o desbloquear primero"
 
-#: builtin/worktree.c:970
+#: builtin/worktree.c:972
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -23515,17 +23865,17 @@
 "no se pueden eliminar árbol de trabajo bloqueado;\n"
 "use 'remove -f -f' para sobreescribir o desbloquear primero"
 
-#: builtin/worktree.c:973
+#: builtin/worktree.c:975
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "falló validación, no se puede eliminar árbol de trabajo: %s"
 
-#: builtin/worktree.c:997
+#: builtin/worktree.c:999
 #, c-format
 msgid "repair: %s: %s"
 msgstr "reparar: %s: %s"
 
-#: builtin/worktree.c:1000
+#: builtin/worktree.c:1002
 #, c-format
 msgid "error: %s: %s"
 msgstr "error: %s: %s"
@@ -23546,48 +23896,6 @@
 msgid "only useful for debugging"
 msgstr "sólo útil para depurar"
 
-#: http-fetch.c:118
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr "argumento para --packfile tiene que se un hash válido (se obtuvo '%s')"
-
-#: http-fetch.c:128
-msgid "not a git repository"
-msgstr "no es un repositorio git"
-
-#: http-fetch.c:134
-msgid "--packfile requires --index-pack-args"
-msgstr "--packfile requiere --index-pack-args"
-
-#: http-fetch.c:143
-msgid "--index-pack-args can only be used with --packfile"
-msgstr "--index-pack-args solo se puede usar con --packfile"
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr "opciones no manejadas"
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr "error al preparar revisiones"
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr "commit %s no está marcado como alcanzable"
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr "demasiados commits marcados como alcanzables"
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr "test-tool serve-v2 [<opciones>]"
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr "salir inmediatamente tras anunciar capacidades"
-
 #: git.c:28
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -23644,22 +23952,27 @@
 msgid "-c expects a configuration string\n"
 msgstr "-c espera un string de configuración\n"
 
-#: git.c:292
+#: git.c:260
+#, c-format
+msgid "no config key given for --config-env\n"
+msgstr "no se entregó una llave de config para --config-env\n"
+
+#: git.c:300
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "no se entregó directorio para -C\n"
 
-#: git.c:318
+#: git.c:326
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "opción %s desconocida\n"
 
-#: git.c:367
+#: git.c:375
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "al expandir el alias '%s':'%s'"
 
-#: git.c:376
+#: git.c:384
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -23668,39 +23981,39 @@
 "alias '%s' cambia las variables de entorno.\n"
 "Puedes usar '!git' en el alias para hacer esto"
 
-#: git.c:383
+#: git.c:391
 #, c-format
 msgid "empty alias for %s"
 msgstr "alias vacío para %s"
 
-#: git.c:386
+#: git.c:394
 #, c-format
 msgid "recursive alias: %s"
 msgstr "alias recursivo: %s"
 
-#: git.c:468
+#: git.c:476
 msgid "write failure on standard output"
 msgstr "error de escritura en standard output"
 
-#: git.c:470
+#: git.c:478
 msgid "unknown write failure on standard output"
 msgstr "error desconocido de escritura en standard output"
 
-#: git.c:472
+#: git.c:480
 msgid "close failed on standard output"
 msgstr "cierre falló en standard output"
 
-#: git.c:823
+#: git.c:833
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "bucle de alias detectado: expansión de '%s' no termina: %s"
 
-#: git.c:873
+#: git.c:883
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "no se puede manejar %s como un builtin"
 
-#: git.c:886
+#: git.c:896
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -23711,16 +24024,166 @@
 "\n"
 "\n"
 
-#: git.c:906
+#: git.c:916
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "expansión del alias '%s' falló; '%s' no es un comando de git\n"
 
-#: git.c:918
+#: git.c:928
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "falló al ejecutar comando '%s': %s\n"
 
+#: http-fetch.c:118
+#, c-format
+msgid "argument to --packfile must be a valid hash (got '%s')"
+msgstr "argumento para --packfile tiene que se un hash válido (se obtuvo '%s')"
+
+#: http-fetch.c:128
+msgid "not a git repository"
+msgstr "no es un repositorio git"
+
+#: http-fetch.c:134
+msgid "--packfile requires --index-pack-args"
+msgstr "--packfile requiere --index-pack-args"
+
+#: http-fetch.c:143
+msgid "--index-pack-args can only be used with --packfile"
+msgstr "--index-pack-args solo se puede usar con --packfile"
+
+#: t/helper/test-fast-rebase.c:141
+msgid "unhandled options"
+msgstr "opciones no manejadas"
+
+#: t/helper/test-fast-rebase.c:146
+msgid "error preparing revisions"
+msgstr "error al preparar revisiones"
+
+#: t/helper/test-reach.c:154
+#, c-format
+msgid "commit %s is not marked reachable"
+msgstr "commit %s no está marcado como alcanzable"
+
+#: t/helper/test-reach.c:164
+msgid "too many commits marked reachable"
+msgstr "demasiados commits marcados como alcanzables"
+
+#: t/helper/test-serve-v2.c:7
+msgid "test-tool serve-v2 [<options>]"
+msgstr "test-tool serve-v2 [<opciones>]"
+
+#: t/helper/test-serve-v2.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr "salir inmediatamente tras anunciar capacidades"
+
+#: t/helper/test-simple-ipc.c:262
+#, c-format
+msgid "socket/pipe already in use: '%s'"
+msgstr "socket/pipe ya está en uso: '%s'"
+
+#: t/helper/test-simple-ipc.c:264
+#, c-format
+msgid "could not start server on: '%s'"
+msgstr "no se pudo iniciar el servidor en: '%s'"
+
+#: t/helper/test-simple-ipc.c:295 t/helper/test-simple-ipc.c:331
+msgid "could not spawn daemon in the background"
+msgstr "no se puede generar demonio en el background"
+
+#: t/helper/test-simple-ipc.c:356
+msgid "waitpid failed"
+msgstr "falló waitpid"
+
+#: t/helper/test-simple-ipc.c:376
+msgid "daemon not online yet"
+msgstr "demonio no está en línea todavía"
+
+#: t/helper/test-simple-ipc.c:406
+msgid "daemon failed to start"
+msgstr "falló al iniciar demonio"
+
+#: t/helper/test-simple-ipc.c:410
+msgid "waitpid is confused"
+msgstr "waitpid está confundido"
+
+#: t/helper/test-simple-ipc.c:541
+msgid "daemon has not shutdown yet"
+msgstr "demonio no se ha apagado todavía"
+
+#: t/helper/test-simple-ipc.c:682
+msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
+msgstr "test-helper simple-ipc is-active  [<nombre>] [<opciones>]"
+
+#: t/helper/test-simple-ipc.c:683
+msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
+msgstr "test-helper simple-ipc run-daemon   [<nombre>] [<hilos>]"
+
+#: t/helper/test-simple-ipc.c:684
+msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
+msgstr ""
+"test-helper simple-ipc start-daemon [<nombre>] [<hilos>] [<espera-maxima>]"
+
+#: t/helper/test-simple-ipc.c:685
+msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
+msgstr "test-helper simple-ipc stop-daemon  [<nombre>] [<espera-maxima>]"
+
+#: t/helper/test-simple-ipc.c:686
+msgid "test-helper simple-ipc send         [<name>] [<token>]"
+msgstr "test-helper simple-ipc send         [<nombre>] [<token>]"
+
+#: t/helper/test-simple-ipc.c:687
+msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
+msgstr ""
+"test-helper simple-ipc sendbytes    [<nombre>] [<cuenta de bytes>] [<byte>]"
+
+#: t/helper/test-simple-ipc.c:688
+msgid ""
+"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
+"[<batchsize>]"
+msgstr ""
+"test-helper simple-ipc multiple     [<nombre>] [<hilos>] [<cuenta de bytes>] "
+"[<tamaño de batch>]"
+
+#: t/helper/test-simple-ipc.c:696
+msgid "name or pathname of unix domain socket"
+msgstr "nombre o ruta de nombre de socket de dominio unix"
+
+#: t/helper/test-simple-ipc.c:698
+msgid "named-pipe name"
+msgstr "nombre de named-pipe"
+
+#: t/helper/test-simple-ipc.c:700
+msgid "number of threads in server thread pool"
+msgstr "número de hilos en el pool de hilos del servidor"
+
+#: t/helper/test-simple-ipc.c:701
+msgid "seconds to wait for daemon to start or stop"
+msgstr "segundos a esperar para que el dominio empiece o se detenga"
+
+#: t/helper/test-simple-ipc.c:703
+msgid "number of bytes"
+msgstr "número de bytes"
+
+#: t/helper/test-simple-ipc.c:704
+msgid "number of requests per thread"
+msgstr "númeor de peticiones por hilo"
+
+#: t/helper/test-simple-ipc.c:706
+msgid "byte"
+msgstr "byte"
+
+#: t/helper/test-simple-ipc.c:706
+msgid "ballast character"
+msgstr "caracter lastre"
+
+#: t/helper/test-simple-ipc.c:707
+msgid "token"
+msgstr "token"
+
+#: t/helper/test-simple-ipc.c:707
+msgid "command token to send to the server"
+msgstr "comando token para enviar al servidor"
+
 #: http.c:399
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
@@ -23759,7 +24222,7 @@
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "No se pudo configurar backend SSL para '%s': ya configurado"
 
-#: http.c:2025
+#: http.c:2035
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -23913,43 +24376,43 @@
 msgid "no libc information available\n"
 msgstr "no hay información disponible de libc\n"
 
-#: list-objects-filter-options.h:91
+#: list-objects-filter-options.h:94
 msgid "args"
 msgstr "args"
 
-#: list-objects-filter-options.h:92
+#: list-objects-filter-options.h:95
 msgid "object filtering"
 msgstr "filtrado de objeto"
 
-#: parse-options.h:183
+#: parse-options.h:184
 msgid "expiry-date"
 msgstr "fecha de expiración"
 
-#: parse-options.h:197
+#: parse-options.h:198
 msgid "no-op (backward compatibility)"
 msgstr "no-op (compatibilidad con versiones anteriores)"
 
-#: parse-options.h:309
+#: parse-options.h:310
 msgid "be more verbose"
 msgstr "ser más verboso"
 
-#: parse-options.h:311
+#: parse-options.h:312
 msgid "be more quiet"
 msgstr "ser más discreto"
 
-#: parse-options.h:317
+#: parse-options.h:318
 msgid "use <n> digits to display object names"
 msgstr "use <n> dígitos para mostrar los nombres de los objetos"
 
-#: parse-options.h:336
+#: parse-options.h:337
 msgid "how to strip spaces and #comments from message"
 msgstr "cómo quitar espacios y #comentarios de mensajes"
 
-#: parse-options.h:337
+#: parse-options.h:338
 msgid "read pathspec from file"
 msgstr "leer pathspec de archivo"
 
-#: parse-options.h:338
+#: parse-options.h:339
 msgid ""
 "with --pathspec-from-file, pathspec elements are separated with NUL character"
 msgstr ""
@@ -24503,7 +24966,7 @@
 
 #: command-list.h:180
 msgid "Switch branches"
-msgstr "Cambiar branches"
+msgstr "Cambiar de branch"
 
 #: command-list.h:181
 msgid "Read, modify and delete symbolic refs"
@@ -24644,11 +25107,11 @@
 
 #: command-list.h:214
 msgid "Specifying revisions and ranges for Git"
-msgstr "Especificando revisiones y rangos para Git"
+msgstr "Especificar revisiones y rangos para Git"
 
 #: command-list.h:215
 msgid "Mounting one repository inside another"
-msgstr "Montando un repositorio dentro de otro"
+msgstr "Montar un repositorio dentro de otro"
 
 #: command-list.h:216
 msgid "A tutorial introduction to Git: part two"
@@ -24656,7 +25119,7 @@
 
 #: command-list.h:217
 msgid "A tutorial introduction to Git"
-msgstr "Un tutorial de introducción para Git"
+msgstr "Un tutorial de introducción a Git"
 
 #: command-list.h:218
 msgid "An overview of recommended workflows with Git"
@@ -24920,7 +25383,7 @@
 "Your changes are safe in the stash.\n"
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
-"Aplicando autostash resultó en conflictos.\n"
+"Aplicar autostash resultó en conflictos.\n"
 "Tus cambios están seguros en el stash.\n"
 "Puedes ejecutar \"git stash pop\" o \"git stash drop\" en cualquier "
 "momento.\n"
@@ -24961,7 +25424,7 @@
 "x, exec <commit> = ejecuta comando ( el resto de la línea) usando un shell\n"
 "d, drop <commit> = eliminar commit\n"
 "l, label <label> = poner label al HEAD actual con un nombre\n"
-"t, reset <label> = reiniciar HEAD a el label\n"
+"t, reset <label> = reiniciar HEAD al label\n"
 "m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
 ".       crea un commit de fusión usando el mensaje original de\n"
 ".       fusión (o la línea de oneline, si no se especifica un mensaje\n"
@@ -25168,7 +25631,7 @@
 "  git rebase --continue\n"
 msgstr ""
 "Tienes cambios en el área de stage de tu árbol de trabajo.\n"
-"Si estos cambios están destinados a \n"
+"Si estos cambios están destinados a\n"
 "ser aplastados en el commit previo, ejecuta:\n"
 "\n"
 "  git commit --amend $gpg_sign_opt_quoted\n"
@@ -25322,7 +25785,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
-"Si el parche aplica limpiamente, el hunk editado sera marcado\n"
+"Si el parche aplica limpiamente, el hunk editado será marcado\n"
 "inmediatamente para el área de stage."
 
 #: git-add--interactive.perl:1059
@@ -25330,7 +25793,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
-"Si el parche aplica limpiamente, el hunk editado sera marcado\n"
+"Si el parche aplica limpiamente, el hunk editado será marcado\n"
 "inmediatamente para aplicar stash."
 
 #: git-add--interactive.perl:1062
@@ -25338,7 +25801,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
-"Si el parche aplica limpiamente, el hunk editado sera marcado\n"
+"Si el parche aplica limpiamente, el hunk editado será marcado\n"
 "inmediatamente para sacar del área de stage."
 
 #: git-add--interactive.perl:1065 git-add--interactive.perl:1074
@@ -25347,7 +25810,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
-"Si el parche aplica de forma limpia, el hunk editado sera marcado \n"
+"Si el parche aplica de forma limpia, el hunk editado será marcado\n"
 "inmediatamente para aplicar."
 
 #: git-add--interactive.perl:1068 git-add--interactive.perl:1071
@@ -25356,7 +25819,7 @@
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
-"Si el parche aplica de forma limpia, el hunk editado sera marcado\n"
+"Si el parche aplica de forma limpia, el hunk editado será marcado\n"
 "inmediatamente para descarte."
 
 #: git-add--interactive.perl:1114
@@ -25392,9 +25855,9 @@
 msgstr ""
 "y - aplicar stage a este hunk\n"
 "n - no aplicar stage a este hunk\n"
-"q - quit; no aplicar stage a este hunk o ninguno de los restantes\n"
-"a - aplicar stage a este hunk y a todos los posteriores en el archivo \n"
-"d - no aplicar stage a este hunk o a ninguno de los posteriores en este "
+"q - quit; no aplicar stage a este hunk ni ninguno de los restantes\n"
+"a - aplicar stage a este hunk y a todos los posteriores en el archivo\n"
+"d - no aplicar stage a este hunk ni a ninguno de los posteriores en este "
 "archivo"
 
 #: git-add--interactive.perl:1257
@@ -25409,7 +25872,7 @@
 "n - no aplicar stash a este hunk\n"
 "q - quit; no aplicar stash a este hunk o a ninguno de los restantes\n"
 "a - aplicar stash a este hunk y a todos los posteriores en el archivo\n"
-"d - no aplicar stash a este hunk o ninguno de los posteriores en el archivo"
+"d - no aplicar stash a este hunk ni ninguno de los posteriores en el archivo"
 
 #: git-add--interactive.perl:1263
 msgid ""
@@ -25421,9 +25884,9 @@
 msgstr ""
 "y - sacar desde hunk del área de stage\n"
 "n - no sacar este hunk del area de stage\n"
-"q - quit; no sacar del area de stage este hunk o ninguno de los restantes\n"
+"q - quit; no sacar del area de stage este hunk ni ninguno de los restantes\n"
 "a - sacar del area de stage este hunk y todos los posteriores en el archivo\n"
-"d - no sacar del area de stage este hunk o ninguno de los posteriores en el "
+"d - no sacar del area de stage este hunk ni ninguno de los posteriores en el "
 "archivo"
 
 #: git-add--interactive.perl:1269
@@ -25436,9 +25899,9 @@
 msgstr ""
 "y - aplicar este hunk al índice\n"
 "n - no aplicar este hunk al índice\n"
-"q - quit; no aplicar este hunk o ninguno de los restantes\n"
+"q - quit; no aplicar este hunk ni ninguno de los restantes\n"
 "a - aplicar este hunk y todos los posteriores en el archivo\n"
-"d - no aplicar este hunko ninguno de los posteriores en el archivo"
+"d - no aplicar este hunk ni ninguno de los posteriores en el archivo"
 
 #: git-add--interactive.perl:1275 git-add--interactive.perl:1293
 msgid ""
@@ -25450,9 +25913,9 @@
 msgstr ""
 "y - descartar este hunk del árbol de trabajo\n"
 "n - no descartar este hunk del árbol de trabajo\n"
-"q - quit; no descartar este hunk o ninguno de los que restantes\n"
+"q - quit; no descartar este hunk ni ninguno de los que restantes\n"
 "a - descartar este hunk y todos los posteriores en este archivo\n"
-"d - no descartar este hunk o ninguno de los posteriores en el archivo"
+"d - no descartar este hunk ni ninguno de los posteriores en el archivo"
 
 #: git-add--interactive.perl:1281
 msgid ""
@@ -25464,9 +25927,9 @@
 msgstr ""
 "y - descartar este hunk del índice y el árbol de trabajo\n"
 "n - no descartar este hunk del índice ni el árbol de trabajo\n"
-"q - quit; no descartar este hunk o ninguno de los que quedan\n"
+"q - quit; no descartar este hunk ni ninguno de los que queden\n"
 "a - descartar este hunk y todos los posteriores en este archivo\n"
-"d - no descartar este hunk o ninguno posterior en el archivo"
+"d - no descartar este hunk ni ninguno posterior en el archivo"
 
 #: git-add--interactive.perl:1287
 msgid ""
@@ -25478,9 +25941,9 @@
 msgstr ""
 "y - aplicar este hunk al índice y al árbol de trabajo\n"
 "n - no aplicar este hunk al índice y al árbol de trabajo\n"
-"q - quit;  no aplicar este hunk o ninguno de los restantes\n"
+"q - quit;  no aplicar este hunk ni ninguno de los restantes\n"
 "a - aplicar este hunk y todos los posteriores en el archivo\n"
-"d - no aplicar este hunk o ninguno de los siguientes en este archivo"
+"d - no aplicar este hunk ni ninguno de los siguientes en este archivo"
 
 #: git-add--interactive.perl:1299
 msgid ""
@@ -25492,9 +25955,9 @@
 msgstr ""
 "y - aplicar este hunk al índice y al árbol de trabajo\n"
 "n - no aplicar este hunk al índice y al árbol de trabajo\n"
-"q - quit;  no aplicar este hunk o ninguno de los restantes\n"
+"q - quit;  no aplicar este hunk ni ninguno de los restantes\n"
 "a - aplicar este hunk y todos los posteriores en el archivo\n"
-"d - no aplicar este hunk o ninguno de los siguientes en este archivo"
+"d - no aplicar este hunk ni ninguno de los siguientes en este archivo"
 
 #: git-add--interactive.perl:1314
 msgid ""
@@ -25646,27 +26109,32 @@
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "el offset del tiempo local es mayor o igual a 24 horas\n"
 
-#: git-send-email.perl:223 git-send-email.perl:229
-msgid "the editor exited uncleanly, aborting everything"
-msgstr "el editor se cerro inapropiadamente, abortando todo"
+#: git-send-email.perl:222
+#, perl-format
+msgid "fatal: command '%s' died with exit code %d"
+msgstr "fatal: comando '%s' murió con código de salida %d"
 
-#: git-send-email.perl:312
+#: git-send-email.perl:235
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "el editor se cerró inapropiadamente, abortando todo"
+
+#: git-send-email.perl:321
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr ""
 "'%s' contiene una versión intermedia del correo que se estaba generando.\n"
 
-#: git-send-email.perl:317
+#: git-send-email.perl:326
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' contiene el email generado.\n"
 
-#: git-send-email.perl:410
+#: git-send-email.perl:419
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases no es compatible con otras opciones.\n"
 
-#: git-send-email.perl:484
+#: git-send-email.perl:493
 msgid ""
 "fatal: found configuration options for 'sendmail'\n"
 "git-send-email is configured with the sendemail.* options - note the 'e'.\n"
@@ -25678,11 +26146,11 @@
 "Establezca sendemail.forbidSendmailVariables en false para deshabilitar esta "
 "verificación.\n"
 
-#: git-send-email.perl:489 git-send-email.perl:691
+#: git-send-email.perl:498 git-send-email.perl:700
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "No se puede ejecutar git format-patch desde fuera del repositorio.\n"
 
-#: git-send-email.perl:492
+#: git-send-email.perl:501
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
@@ -25690,37 +26158,37 @@
 "`batch-size` y `relogin` deben ser especificados juntos (via la línea de "
 "comando o por opción de configuración)\n"
 
-#: git-send-email.perl:505
+#: git-send-email.perl:514
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Campo --suppress-cc desconocido: '%s'\n"
 
-#: git-send-email.perl:536
+#: git-send-email.perl:545
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Configuración --confirm desconocida: '%s'\n"
 
-#: git-send-email.perl:564
+#: git-send-email.perl:573
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "peligro: alias de sendmail  con comillas no es soportado: %s\n"
 
-#: git-send-email.perl:566
+#: git-send-email.perl:575
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "peligro: `:include:` no soportado: %s\n"
 
-#: git-send-email.perl:568
+#: git-send-email.perl:577
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
-msgstr "advertencia: redirección `/file` o `|pipe` no soportada : %s\n"
+msgstr "advertencia: redirección `/file` o `|pipe` no soportada: %s\n"
 
-#: git-send-email.perl:573
+#: git-send-email.perl:582
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "advertencia: línea sendmail no reconocida: %s\n"
 
-#: git-send-email.perl:657
+#: git-send-email.perl:666
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -25729,47 +26197,38 @@
 "    * Saying \"./%s\" if you mean a file; or\n"
 "    * Giving --format-patch option if you mean a range.\n"
 msgstr ""
-"Archivo '%s' existe pero podría ser el rango de commits \n"
+"Archivo '%s' existe pero podría ser el rango de commits\n"
 "para producir los parches.  Por favor elimina la ambigüedad...\n"
 "\n"
 "    * Diciendo \"./%s\" si se quiere decir un archivo; o\n"
 "    * Agregando la opción --format-patch si se quiere decir un rango.\n"
 
-#: git-send-email.perl:678
+#: git-send-email.perl:687
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Falló al abrir directorio %s: %s"
 
-#: git-send-email.perl:702
-#, perl-format
-msgid ""
-"fatal: %s: %s\n"
-"warning: no patches were sent\n"
-msgstr ""
-"fatal: %s: %s\n"
-"peligro: no se mandaron parches\n"
-
-#: git-send-email.perl:713
+#: git-send-email.perl:720
 msgid ""
 "\n"
 "No patch files specified!\n"
 "\n"
 msgstr ""
 "\n"
-"No se especificaron parches!\n"
+"¡No se especificaron parches!\n"
 "\n"
 
-#: git-send-email.perl:726
+#: git-send-email.perl:733
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "¿No hay línea de subject en %s?"
 
-#: git-send-email.perl:736
+#: git-send-email.perl:743
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Falló al abrir para escritura %s: %s"
 
-#: git-send-email.perl:747
+#: git-send-email.perl:754
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -25783,27 +26242,27 @@
 "\n"
 "Limpiar el contenido de body si no deseas mandar un resumen.\n"
 
-#: git-send-email.perl:771
+#: git-send-email.perl:778
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Falló al abrir %s: %s"
 
-#: git-send-email.perl:788
+#: git-send-email.perl:795
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Falló al abrir %s.final: %s"
 
-#: git-send-email.perl:831
+#: git-send-email.perl:838
 msgid "Summary email is empty, skipping it\n"
 msgstr "Archivo de resumen está vacío, saltando al siguiente\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:866
+#: git-send-email.perl:873
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "¿Estás seguro de que deseas usar <%s> [y/N]? "
 
-#: git-send-email.perl:921
+#: git-send-email.perl:928
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -25811,11 +26270,11 @@
 "Los siguientes archivos son 8bit, pero no declaran un Content-Transfer-"
 "Encoding.\n"
 
-#: git-send-email.perl:926
+#: git-send-email.perl:933
 msgid "Which 8bit encoding should I declare [UTF-8]? "
-msgstr "¿Que codificación de 8bit debería declarar [UTF-8]? "
+msgstr "¿Qué codificación de 8bit debería declarar [UTF-8]? "
 
-#: git-send-email.perl:934
+#: git-send-email.perl:941
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -25825,25 +26284,25 @@
 msgstr ""
 "Rehusando mandar el parche porque\n"
 "\t%s\n"
-"tiene el template  '*** SUBJECT HERE ***'. Agrega --force si realmente lo "
-"deseas mandar.\n"
+"tiene el asunto de template  '*** SUBJECT HERE ***'. Agrega --force si"
+"realmente lo deseas mandar.\n"
 
-#: git-send-email.perl:953
+#: git-send-email.perl:960
 msgid "To whom should the emails be sent (if anyone)?"
-msgstr "¿A quien se deben mandar los correos (si existe)?"
+msgstr "¿A quién se deben mandar los correos (si existe)?"
 
-#: git-send-email.perl:971
+#: git-send-email.perl:978
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "fatal: alias '%s' se expande a si mismo\n"
 
-#: git-send-email.perl:983
+#: git-send-email.perl:990
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr ""
-"¿Qué id de mensaje será usado como En-Respuesta-Para en el primer email (si "
+"¿Qué id de mensaje será usado como In-Reply-To en el primer email (si "
 "existe alguno)? "
 
-#: git-send-email.perl:1041 git-send-email.perl:1049
+#: git-send-email.perl:1048 git-send-email.perl:1056
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "error: no es posible extraer una dirección válida de %s\n"
@@ -25851,16 +26310,16 @@
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1053
+#: git-send-email.perl:1060
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
-msgstr "¿Que hacer con esta dirección? ([q]salir|[d]botar|[e]ditar): "
+msgstr "¿Qué hacer con esta dirección? ([q]salir|[d]botar|[e]ditar): "
 
-#: git-send-email.perl:1370
+#: git-send-email.perl:1377
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "Ruta CA \"%s\" no existe"
 
-#: git-send-email.perl:1453
+#: git-send-email.perl:1460
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -25888,133 +26347,180 @@
 #. 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:1468
+#: git-send-email.perl:1475
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "¿Mandar este email? ([y]si||[n]o|[e]editar|[q]salir|[a]todo): "
 
-#: git-send-email.perl:1471
+#: git-send-email.perl:1478
 msgid "Send this email reply required"
 msgstr "Necesitas mandar esta respuesta de email"
 
-#: git-send-email.perl:1499
+#: git-send-email.perl:1506
 msgid "The required SMTP server is not properly defined."
 msgstr "El servidor SMTP no esta definido adecuadamente."
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1553
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "¡El servidor no soporta STARTTLS! %s"
 
-#: git-send-email.perl:1551 git-send-email.perl:1555
+#: git-send-email.perl:1558 git-send-email.perl:1562
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "¡Falló STARTTLS! %s"
 
-#: git-send-email.perl:1564
+#: git-send-email.perl:1571
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
-"No es posible inicializar SMTP adecuadamente. Verificar config y usar ---"
-"smtp-debug."
+"No es posible inicializar SMTP adecuadamente. Verificar config y usar --smtp-debug."
 
-#: git-send-email.perl:1582
+#: git-send-email.perl:1589
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "Falló al enviar %s\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1592
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Dry-Sent %s\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1592
 #, perl-format
 msgid "Sent %s\n"
 msgstr "Enviado %s\n"
 
-#: git-send-email.perl:1587
+#: git-send-email.perl:1594
 msgid "Dry-OK. Log says:\n"
 msgstr "Dry-OK. Log dice:\n"
 
-#: git-send-email.perl:1587
+#: git-send-email.perl:1594
 msgid "OK. Log says:\n"
 msgstr "OK. Log dice:\n"
 
-#: git-send-email.perl:1599
+#: git-send-email.perl:1606
 msgid "Result: "
 msgstr "Resultado: "
 
-#: git-send-email.perl:1602
+#: git-send-email.perl:1609
 msgid "Result: OK\n"
 msgstr "Resultado: OK\n"
 
-#: git-send-email.perl:1620
+#: git-send-email.perl:1627
 #, perl-format
 msgid "can't open file %s"
 msgstr "no se puede abrir el archivo %s"
 
-#: git-send-email.perl:1667 git-send-email.perl:1687
+#: git-send-email.perl:1674 git-send-email.perl:1694
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
-msgstr "(mbox) Agregando cc: %s de línea '%s'\n"
+msgstr "(mbox) Agregando cc: %s de la línea '%s'\n"
 
-#: git-send-email.perl:1673
+#: git-send-email.perl:1680
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) Agregando para: %s de la línea '%s'\n"
 
-#: git-send-email.perl:1730
+#: git-send-email.perl:1737
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) Agregando cc: %s de la línea '%s'\n"
 
-#: git-send-email.perl:1765
+#: git-send-email.perl:1772
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) Agregando cc: %s de la línea '%s'\n"
 
-#: git-send-email.perl:1876
+#: git-send-email.perl:1883
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) no se pudo ejecutar '%s'"
 
-#: git-send-email.perl:1883
+#: git-send-email.perl:1890
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Agregando %s: %s de: '%s'\n"
 
-#: git-send-email.perl:1887
+#: git-send-email.perl:1894
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
-msgstr "(%s) falló al cerrar el pipe para '%s'"
+msgstr "(%s) falló al cerrar el pipe a '%s'"
 
-#: git-send-email.perl:1917
+#: git-send-email.perl:1924
 msgid "cannot send message as 7bit"
 msgstr "no se puede mandar mensaje como 7bit"
 
-#: git-send-email.perl:1925
+#: git-send-email.perl:1932
 msgid "invalid transfer encoding"
 msgstr "codificación de transferencia inválida"
 
-#: git-send-email.perl:1966 git-send-email.perl:2018 git-send-email.perl:2028
+#: git-send-email.perl:1966
+#, perl-format
+msgid ""
+"fatal: %s: rejected by sendemail-validate hook\n"
+"%s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"fatal: %s: rechazado por hook sendmail-validate\n"
+"%s\n"
+"peligro: no se mandaron parches\n"
+
+#: git-send-email.perl:1976 git-send-email.perl:2029 git-send-email.perl:2039
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "no es posible abrir %s: %s\n"
 
-#: git-send-email.perl:1969
+#: git-send-email.perl:1979
 #, perl-format
-msgid "%s: patch contains a line longer than 998 characters"
-msgstr "%s: el parche contiene una línea con más de 998 caracteres"
+msgid ""
+"fatal: %s:%d is longer than 998 characters\n"
+"warning: no patches were sent\n"
+msgstr ""
+"fatal: %s: %d es más grande que 998 caracteres\n"
+"peligro: no se mandaron parches\n"
 
-#: git-send-email.perl:1986
+#: git-send-email.perl:1997
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "Saltando %s con el sufijo de backup '%s'.\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1990
+#: git-send-email.perl:2001
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
-msgstr "¿Realmente deseas mandar %s?[y|N]: "
+msgstr "¿Realmente deseas mandar %s? [y|N]: "
+
+#~ msgid "--cached and --3way cannot be used together."
+#~ msgstr "--cached y --3way no se pueden utilizar juntas."
+
+#~ msgid "both"
+#~ msgstr "ambos"
+
+#~ msgid "one"
+#~ msgstr "uno"
+
+#, c-format
+#~ msgid "Already up to date!"
+#~ msgstr "¡Ya está actualizado!"
+
+#~ msgid "Already up to date. Yeeah!"
+#~ msgstr "Ya está actualizado. ¡Oh, yeaahh!"
+
+#~ msgid "--batch-size option is only for 'repack' subcommand"
+#~ msgstr "opción --batch-size es solo para el subcomando 'repack'"
+
+#~ msgid "Percentage by which creation is weighted"
+#~ msgstr "Porcentaje por el cual la creación es pesada"
+
+#~ msgid ""
+#~ "the rebase.useBuiltin support has been removed!\n"
+#~ "See its entry in 'git help config' for details."
+#~ msgstr ""
+#~ "el soporte para rebase.useBuiltin ha sido eliminado!\n"
+#~ "Vea su entrada en 'git help config' para detalles."
+
+#, perl-format
+#~ msgid "%s: patch contains a line longer than 998 characters"
+#~ msgstr "%s: el parche contiene una línea con más de 998 caracteres"
 
 #~ msgid "store only"
 #~ msgstr "solo guardar"
@@ -26452,7 +26958,7 @@
 #~ "If the patch applies cleanly, the edited hunk will immediately be\n"
 #~ "marked for staging.\n"
 #~ msgstr ""
-#~ "Si el parche aplica limpiamente, el hunk editado sera marcado\n"
+#~ "Si el parche aplica limpiamente, el hunk editado será marcado\n"
 #~ "inmediatamente para el área de stage.\n"
 
 #~ msgid ""
@@ -26464,8 +26970,8 @@
 #~ msgstr ""
 #~ "y - aplicar stage a este hunk\n"
 #~ "n - no aplicar stage a este hunk\n"
-#~ "q - quit; no aplicar stage a este hunk o ninguno de los restantes\n"
-#~ "a - aplicar stage a este hunk y a todos los posteriores en el archivo \n"
+#~ "q - quit; no aplicar stage a este hunk ni ninguno de los restantes\n"
+#~ "a - aplicar stage a este hunk y a todos los posteriores en el archivo\n"
 #~ "d - no aplicar stage a este hunk o a ninguno de los posteriores en este "
 #~ "archivo\n"
 
@@ -26659,7 +27165,7 @@
 #~ "valuable there."
 #~ msgstr ""
 #~ "Parece que ya hay un directorio $state_dir_base, y\n"
-#~ "me pregunto si está en medio de otro rebase. Si ese es el \n"
+#~ "me pregunto si está en medio de otro rebase. Si ese es el\n"
 #~ "caso, por favor intente\n"
 #~ "\t$cmd_live_rebase\n"
 #~ "Si no es el caso, por favor\n"
diff --git a/po/fr.po b/po/fr.po
index 336dc60..6c3630c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -25124,7 +25124,7 @@
 "    * Saying \"./%s\" if you mean a file; or\n"
 "    * Giving --format-patch option if you mean a range.\n"
 msgstr ""
-"Le fichier '%s' existe mais ce pourrait aussi être la plage de commmits\n"
+"Le fichier '%s' existe mais ce pourrait aussi être la plage de commits\n"
 "pour lequel les patches sont à produire. Veuillez préciser...\n"
 "\n"
 "    * en indiquant \"./%s\" si vous désignez un fichier, ou\n"
diff --git a/po/id.po b/po/id.po
index 50e2e1d..2fb14c0 100644
--- a/po/id.po
+++ b/po/id.po
@@ -12822,7 +12822,7 @@
 
 #: builtin/commit.c:437 builtin/commit.c:460 builtin/commit.c:508
 msgid "unable to write new_index file"
-msgstr "tidak dapat menulis berkas indeks baru"
+msgstr "tidak dapat menulis berkas new_index"
 
 #: builtin/commit.c:489
 msgid "cannot do a partial commit during a merge."
@@ -13330,7 +13330,7 @@
 "not exceeded, and then \"git restore --staged :/\" to recover."
 msgstr ""
 "repositori sudah diperbarui, tetapi tidak dapat menulis\n"
-"berkas indeks baru. Periksa bahwa disk tidak penuh dan kuota\n"
+"berkas new_index. Periksa bahwa disk tidak penuh dan kuota\n"
 "tidak terlampaui, lalu \"git restore --staged :/\" untuk pulihkan."
 
 #: builtin/config.c:11
@@ -21717,7 +21717,7 @@
 
 #: builtin/submodule--helper.c:918
 msgid "git submodule--helper name <path>"
-msgstr "git submodule==helper name <jalur>"
+msgstr "git submodule--helper name <jalur>"
 
 #: builtin/submodule--helper.c:990
 #, c-format
diff --git a/po/sv.po b/po/sv.po
index 4a9f2f3..d5bf6f5 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -17352,7 +17352,7 @@
 
 #: builtin/mailinfo.c:64
 msgid "re-code metadata to i18n.commitEncoding"
-msgstr "koda om metadata till i18n.commmitEncoding"
+msgstr "koda om metadata till i18n.commitEncoding"
 
 #: builtin/mailinfo.c:67
 msgid "disable charset re-coding of metadata"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index fdaaea8..d6f61ea 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -115,7 +115,7 @@
 #   shallow repository               |  浅(克隆)仓库
 #   signed tag                       |  签名标签
 #   smart HTTP protocol              |  智能 HTTP 协议
-#   squash                           |  压缩
+#   squash                           |  挤压
 #   stage                            |  n. 暂存区(即索引); v. 暂存
 #   stash                            |  n. 贮藏区; v. 贮藏
 #   submodule                        |  子模组
@@ -141,8 +141,8 @@
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2021-03-04 22:41+0800\n"
-"PO-Revision-Date: 2021-03-14 23:21+0800\n"
+"POT-Creation-Date: 2021-05-17 16:02+0800\n"
+"PO-Revision-Date: 2021-06-05 22:10+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -156,9 +156,9 @@
 msgid "Huh (%s)?"
 msgstr "嗯(%s)?"
 
-#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3292
-#: sequencer.c:3743 sequencer.c:3898 builtin/rebase.c:1538
-#: builtin/rebase.c:1963
+#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3493
+#: sequencer.c:3944 sequencer.c:4099 builtin/rebase.c:1528
+#: builtin/rebase.c:1953
 msgid "could not read index"
 msgstr "不能读取索引"
 
@@ -186,7 +186,7 @@
 msgid "could not stage '%s'"
 msgstr "不能暂存 '%s'"
 
-#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3486
+#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3687
 msgid "could not write index"
 msgstr "不能写入索引"
 
@@ -202,7 +202,7 @@
 msgid "note: %s is untracked now.\n"
 msgstr "说明:%s 现已成为未跟踪的。\n"
 
-#: add-interactive.c:729 apply.c:4125 builtin/checkout.c:295
+#: add-interactive.c:729 apply.c:4127 builtin/checkout.c:298
 #: builtin/reset.c:145
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
@@ -342,12 +342,12 @@
 msgid "unstaged"
 msgstr "未缓存"
 
-#: add-interactive.c:1144 apply.c:4987 apply.c:4990 builtin/am.c:2257
-#: builtin/am.c:2260 builtin/bugreport.c:134 builtin/clone.c:124
-#: builtin/fetch.c:150 builtin/merge.c:285 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
+#: add-interactive.c:1144 apply.c:4994 apply.c:4997 builtin/am.c:2308
+#: builtin/am.c:2311 builtin/bugreport.c:135 builtin/clone.c:128
+#: builtin/fetch.c:152 builtin/merge.c:285 builtin/pull.c:190
+#: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1819
+#: builtin/submodule--helper.c:1822 builtin/submodule--helper.c:2327
+#: builtin/submodule--helper.c:2330 builtin/submodule--helper.c:2573
 #: git-add--interactive.perl:213
 msgid "path"
 msgstr "路径"
@@ -854,7 +854,7 @@
 msgid "'git apply' failed"
 msgstr "'git apply' 失败"
 
-#: advice.c:143
+#: advice.c:145
 #, c-format
 msgid ""
 "\n"
@@ -863,37 +863,37 @@
 "\n"
 "使用 \"git config advice.%s false\" 来关闭此消息"
 
-#: advice.c:159
+#: advice.c:161
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%s提示:%.*s%s\n"
 
-#: advice.c:250
+#: advice.c:252
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
-#: advice.c:252
+#: advice.c:254
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:254
+#: advice.c:256
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:256
+#: advice.c:258
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:258
+#: advice.c:260
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:260
+#: advice.c:262
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
-#: advice.c:268
+#: advice.c:270
 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."
@@ -901,23 +901,36 @@
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:276
+#: advice.c:278
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:281 builtin/merge.c:1370
+#: advice.c:283 builtin/merge.c:1374
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: advice.c:283
+#: advice.c:285
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:284
+#: advice.c:286
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:290
+#: advice.c:296
+#, c-format
+msgid ""
+"The following pathspecs didn't match any eligible path, but they do match "
+"index\n"
+"entries outside the current sparse checkout:\n"
+msgstr "以下路径规格不匹配任何适合的路径,但它们和当前稀疏检出之外的索引条目匹配:\n"
+
+#: advice.c:303
+msgid ""
+"Disable or modify the sparsity rules if you intend to update such entries."
+msgstr "如果您打算更新此类条目,请禁用或修改稀疏规则。"
+
+#: advice.c:310
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -964,82 +977,78 @@
 msgid "unclosed quote"
 msgstr "未关闭的引号"
 
-#: apply.c:69
+#: apply.c:70
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "未能识别的空白字符选项 '%s'"
 
-#: apply.c:85
+#: apply.c:86
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: apply.c:135
+#: apply.c:136
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject 和 --3way 不能同时使用。"
 
-#: apply.c:137
-msgid "--cached and --3way cannot be used together."
-msgstr "--cached 和 --3way 不能同时使用。"
-
-#: apply.c:140
+#: apply.c:139
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
-#: apply.c:151
+#: apply.c:150
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
-#: apply.c:154
+#: apply.c:153
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
-#: apply.c:801
+#: apply.c:800
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
-#: apply.c:810
+#: apply.c:809
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec 返回 %d,输入为:%s"
 
-#: apply.c:884
+#: apply.c:883
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: apply.c:922
+#: apply.c:921
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
 
-#: apply.c:928
+#: apply.c:927
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: apply.c:929
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: apply.c:934
+#: apply.c:933
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
-#: apply.c:963
+#: apply.c:962
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
-#: apply.c:1282
+#: apply.c:1281
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
-#: apply.c:1372
+#: apply.c:1371
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -1050,92 +1059,92 @@
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1385
+#: apply.c:1384
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1481
+#: apply.c:1480
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: apply.c:1550
+#: apply.c:1549
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: apply.c:1753
+#: apply.c:1752
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: apply.c:1755
+#: apply.c:1754
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: apply.c:1789
+#: apply.c:1788
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: apply.c:1826
+#: apply.c:1825
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: apply.c:1828
+#: apply.c:1827
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: apply.c:1831
+#: apply.c:1830
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: apply.c:1978
+#: apply.c:1977
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: apply.c:2015
+#: apply.c:2014
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: apply.c:2177
+#: apply.c:2176
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: apply.c:2263
+#: apply.c:2262
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2267
+#: apply.c:2266
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2936
+#: apply.c:2935
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3057
+#: apply.c:3056
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "块 #%d 成功应用于 %d(偏移 %d 行)"
 msgstr[1] "块 #%d 成功应用于 %d(偏移 %d 行)"
 
-#: apply.c:3069
+#: apply.c:3068
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: apply.c:3075
+#: apply.c:3074
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1144,432 +1153,438 @@
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3097
+#: apply.c:3096
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3105
+#: apply.c:3104
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3152
+#: apply.c:3151
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3163
+#: apply.c:3162
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。"
 
-#: apply.c:3171
+#: apply.c:3170
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
-#: apply.c:3189
+#: apply.c:3188
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必需的目标文件 %1$s"
 
-#: apply.c:3202
+#: apply.c:3201
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3209
+#: apply.c:3208
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: apply.c:3230
+#: apply.c:3229
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3353
+#: apply.c:3352
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:86 pack-revindex.c:213
+#: apply.c:3404 apply.c:3415 apply.c:3461 midx.c:98 pack-revindex.c:214
 #: setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3413
+#: apply.c:3412
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3442 apply.c:3685
+#: apply.c:3441 apply.c:3687
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3528 apply.c:3700
+#: apply.c:3527 apply.c:3702
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3537 apply.c:3708 apply.c:3952
+#: apply.c:3536 apply.c:3710 apply.c:3954
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3572
-msgid "repository lacks the necessary blob to fall back on 3-way merge."
-msgstr "仓库缺乏必要的数据对象以进行三方合并。"
+#: apply.c:3571
+msgid "repository lacks the necessary blob to perform 3-way merge."
+msgstr "仓库缺乏执行三方合并所必需的数据对象。"
 
-#: apply.c:3575
+#: apply.c:3574
 #, c-format
-msgid "Falling back to three-way merge...\n"
-msgstr "回落到三方合并...\n"
+msgid "Performing three-way merge...\n"
+msgstr "执行三方合并...\n"
 
-#: apply.c:3591 apply.c:3595
+#: apply.c:3590 apply.c:3594
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3607
+#: apply.c:3606
 #, c-format
-msgid "Failed to fall back on three-way merge...\n"
-msgstr "无法回落到三方合并...\n"
+msgid "Failed to perform three-way merge...\n"
+msgstr "无法执行三方合并...\n"
 
-#: apply.c:3621
+#: apply.c:3620
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3626
+#: apply.c:3625
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3652
+#: apply.c:3642
+#, c-format
+msgid "Falling back to direct application...\n"
+msgstr "回落到直接应用...\n"
+
+#: apply.c:3654
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3725
+#: apply.c:3727
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3727
+#: apply.c:3729
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: apply.c:3892 apply.c:3894 read-cache.c:832 read-cache.c:858
-#: read-cache.c:1313
+#: apply.c:3894 apply.c:3896 read-cache.c:861 read-cache.c:890
+#: read-cache.c:1351
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3950
+#: apply.c:3952
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3954
+#: apply.c:3956
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3974
+#: apply.c:3976
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: apply.c:3979
+#: apply.c:3981
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "%2$s 的新模式(%1$o)和 %4$s 的旧模式(%3$o)不匹配"
 
-#: apply.c:3999
+#: apply.c:4001
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:4003
+#: apply.c:4005
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:4018
+#: apply.c:4020
 #, c-format
 msgid "Checking patch %s..."
 msgstr "正在检查补丁 %s..."
 
-#: apply.c:4110
+#: apply.c:4112
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4117
+#: apply.c:4119
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s 的模式变更,但它不在当前 HEAD 中"
 
-#: apply.c:4120
+#: apply.c:4122
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
-#: apply.c:4129
+#: apply.c:4131
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4139
+#: apply.c:4141
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4277
+#: apply.c:4279
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4311
+#: apply.c:4313
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4317
+#: apply.c:4319
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能对新建文件 '%s' 调用 stat"
 
-#: apply.c:4325
+#: apply.c:4327
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4331 apply.c:4476
+#: apply.c:4333 apply.c:4478
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4374 builtin/bisect--helper.c:523
+#: apply.c:4376 builtin/bisect--helper.c:523
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "写入 '%s' 失败"
 
-#: apply.c:4378
+#: apply.c:4380
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4448
+#: apply.c:4450
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4546
+#: apply.c:4548
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4554
+#: apply.c:4556
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4557
+#: apply.c:4559
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 msgstr[1] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 
-#: apply.c:4568
+#: apply.c:4570
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4576 builtin/fetch.c:933 builtin/fetch.c:1334
+#: apply.c:4578 builtin/fetch.c:993 builtin/fetch.c:1394
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4590
+#: apply.c:4592
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4594
+#: apply.c:4596
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4718
+#: apply.c:4725
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4726
+#: apply.c:4733
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4746
+#: apply.c:4753
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4903
+#: apply.c:4910
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
-#: apply.c:4930
+#: apply.c:4937
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4936 apply.c:4951
+#: apply.c:4943 apply.c:4958
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行新增了空白字符误用。"
 msgstr[1] "%d 行新增了空白字符误用。"
 
-#: apply.c:4944
+#: apply.c:4951
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "修复空白错误后,应用了 %d 行。"
 msgstr[1] "修复空白错误后,应用了 %d 行。"
 
-#: apply.c:4960 builtin/add.c:626 builtin/mv.c:304 builtin/rm.c:406
+#: apply.c:4967 builtin/add.c:679 builtin/mv.c:304 builtin/rm.c:423
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4988
+#: apply.c:4995
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4991
+#: apply.c:4998
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4993 builtin/am.c:2266
+#: apply.c:5000 builtin/am.c:2317
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4994
+#: apply.c:5001
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4997
+#: apply.c:5004
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4999
+#: apply.c:5006
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: apply.c:5003
+#: apply.c:5010
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:5005
+#: apply.c:5012
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: apply.c:5007
+#: apply.c:5014
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: apply.c:5009
+#: apply.c:5016
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:5011
+#: apply.c:5018
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
-#: apply.c:5013
+#: apply.c:5020
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:5015
+#: apply.c:5022
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:5018
+#: apply.c:5025
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: apply.c:5020
-msgid "attempt three-way merge if a patch does not apply"
-msgstr "如果一个补丁不能应用则尝试三方合并"
+#: apply.c:5027
+msgid "attempt three-way merge, fall back on normal patch if that fails"
+msgstr "尝试三路合并,如果失败则尝试正常补丁模式"
 
-#: apply.c:5022
+#: apply.c:5029
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:5025 builtin/checkout-index.c:195 builtin/ls-files.c:540
+#: apply.c:5032 builtin/checkout-index.c:196 builtin/ls-files.c:617
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:5027
+#: apply.c:5034
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:5028 builtin/am.c:2245 builtin/interpret-trailers.c:98
-#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3577 builtin/rebase.c:1352
+#: apply.c:5035 builtin/am.c:2293 builtin/am.c:2296
+#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3831
+#: builtin/rebase.c:1347
 msgid "action"
 msgstr "动作"
 
-#: apply.c:5029
+#: apply.c:5036
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:5032 apply.c:5035
+#: apply.c:5039 apply.c:5042
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:5038
+#: apply.c:5045
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:5040
+#: apply.c:5047
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:5042
+#: apply.c:5049
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:5044
+#: apply.c:5051
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:5045 builtin/add.c:337 builtin/check-ignore.c:22
-#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:757
-#: builtin/log.c:2286 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5052 builtin/add.c:364 builtin/check-ignore.c:22
+#: builtin/commit.c:1474 builtin/count-objects.c:98 builtin/fsck.c:755
+#: builtin/log.c:2295 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:5047
+#: apply.c:5054
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:5050
+#: apply.c:5057
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:5052 builtin/am.c:2254
+#: apply.c:5059 builtin/am.c:2305
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:5053
+#: apply.c:5060
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
@@ -1635,141 +1650,141 @@
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:192
+#: archive.c:188
 #, c-format
 msgid "cannot read %s"
 msgstr "不能读取 %s"
 
-#: archive.c:345 sequencer.c:459 sequencer.c:1744 sequencer.c:2894
-#: sequencer.c:3335 sequencer.c:3444 builtin/am.c:249 builtin/commit.c:786
-#: builtin/merge.c:1139
+#: archive.c:342 sequencer.c:460 sequencer.c:1915 sequencer.c:3095
+#: sequencer.c:3536 sequencer.c:3645 builtin/am.c:261 builtin/commit.c:833
+#: builtin/merge.c:1143
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: archive.c:430 builtin/add.c:189 builtin/add.c:602 builtin/rm.c:315
+#: archive.c:427 builtin/add.c:205 builtin/add.c:646 builtin/rm.c:328
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
 
-#: archive.c:454
+#: archive.c:451
 #, c-format
 msgid "no such ref: %.*s"
 msgstr "无此引用:%.*s"
 
-#: archive.c:460
+#: archive.c:457
 #, c-format
 msgid "not a valid object name: %s"
 msgstr "不是一个有效的对象名:%s"
 
-#: archive.c:473
+#: archive.c:470
 #, c-format
 msgid "not a tree object: %s"
 msgstr "不是一个树对象:%s"
 
-#: archive.c:485
+#: archive.c:482
 msgid "current working directory is untracked"
 msgstr "当前工作目录未被跟踪"
 
-#: archive.c:526
+#: archive.c:523
 #, c-format
 msgid "File not found: %s"
 msgstr "文件未找到:%s"
 
-#: archive.c:528
+#: archive.c:525
 #, c-format
 msgid "Not a regular file: %s"
 msgstr "不是一个常规文件:%s"
 
-#: archive.c:555
+#: archive.c:552
 msgid "fmt"
 msgstr "格式"
 
-#: archive.c:555
+#: archive.c:552
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:556 builtin/log.c:1764
+#: archive.c:553 builtin/log.c:1772
 msgid "prefix"
 msgstr "前缀"
 
-#: archive.c:557
+#: archive.c:554
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:558 archive.c:561 builtin/blame.c:884 builtin/blame.c:888
+#: archive.c:555 archive.c:558 builtin/blame.c:884 builtin/blame.c:888
 #: builtin/blame.c:889 builtin/commit-tree.c:117 builtin/config.c:135
 #: builtin/fast-export.c:1207 builtin/fast-export.c:1209
-#: builtin/fast-export.c:1213 builtin/grep.c:920 builtin/hash-object.c:105
-#: builtin/ls-files.c:576 builtin/ls-files.c:579 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:190
+#: builtin/fast-export.c:1213 builtin/grep.c:922 builtin/hash-object.c:105
+#: builtin/ls-files.c:653 builtin/ls-files.c:656 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:191
 msgid "file"
 msgstr "文件"
 
-#: archive.c:559
+#: archive.c:556
 msgid "add untracked file to archive"
 msgstr "将未跟踪文件添加到归档"
 
-#: archive.c:562 builtin/archive.c:90
+#: archive.c:559 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
-#: archive.c:564
+#: archive.c:561
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
-#: archive.c:565
+#: archive.c:562
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
-#: archive.c:567
+#: archive.c:564
 msgid "set compression level"
 msgstr "设置压缩级别"
 
-#: archive.c:570
+#: archive.c:567
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:572 builtin/archive.c:91 builtin/clone.c:114 builtin/clone.c:117
-#: builtin/submodule--helper.c:1830 builtin/submodule--helper.c:2335
+#: archive.c:569 builtin/archive.c:91 builtin/clone.c:118 builtin/clone.c:121
+#: builtin/submodule--helper.c:1831 builtin/submodule--helper.c:2336
 msgid "repo"
 msgstr "仓库"
 
-#: archive.c:573 builtin/archive.c:92
+#: archive.c:570 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: archive.c:574 builtin/archive.c:93 builtin/difftool.c:714
+#: archive.c:571 builtin/archive.c:93 builtin/difftool.c:718
 #: builtin/notes.c:498
 msgid "command"
 msgstr "命令"
 
-#: archive.c:575 builtin/archive.c:94
+#: archive.c:572 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
-#: archive.c:582
+#: archive.c:579
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
-#: archive.c:584
+#: archive.c:581
 msgid "Option --exec can only be used together with --remote"
 msgstr "选项 --exec 只能和 --remote 同时使用"
 
-#: archive.c:586
+#: archive.c:583
 msgid "Unexpected option --output"
 msgstr "未知参数 --output"
 
-#: archive.c:588
+#: archive.c:585
 msgid "Options --add-file and --remote cannot be used together"
 msgstr "选项 --add-file 和 --remote 不能同时使用"
 
-#: archive.c:610
+#: archive.c:607
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "未知归档格式 '%s'"
 
-#: archive.c:619
+#: archive.c:616
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "参数不支持此格式 '%s':-%d"
@@ -1779,12 +1794,12 @@
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s 不是一个有效的属性名"
 
-#: attr.c:359
+#: attr.c:363
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "不允许 %s:%s:%d"
 
-#: attr.c:399
+#: attr.c:403
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1866,7 +1881,7 @@
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:287
+#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:298
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
@@ -1911,37 +1926,37 @@
 msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
-#: blame.c:2777
+#: blame.c:2776
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: blame.c:2791
+#: blame.c:2790
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: blame.c:2812
+#: blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: blame.c:2821 bundle.c:213 ref-filter.c:2206 remote.c:2041 sequencer.c:2146
-#: sequencer.c:4641 submodule.c:856 builtin/commit.c:1045 builtin/log.c:411
-#: builtin/log.c:1016 builtin/log.c:1624 builtin/log.c:2045 builtin/log.c:2335
-#: builtin/merge.c:424 builtin/pack-objects.c:3395 builtin/pack-objects.c:3410
-#: builtin/shortlog.c:255
+#: blame.c:2820 bundle.c:213 ref-filter.c:2207 remote.c:2041 sequencer.c:2333
+#: sequencer.c:4866 submodule.c:857 builtin/commit.c:1106 builtin/log.c:411
+#: builtin/log.c:1018 builtin/log.c:1626 builtin/log.c:2054 builtin/log.c:2344
+#: builtin/merge.c:428 builtin/pack-objects.c:3183 builtin/pack-objects.c:3646
+#: builtin/pack-objects.c:3661 builtin/shortlog.c:255
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: blame.c:2839
+#: blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
 
-#: blame.c:2850
+#: blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
-#: blame.c:2861
+#: blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "不能为路径 %2$s 读取数据对象 %1$s"
@@ -2069,12 +2084,12 @@
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
-#: branch.c:365
+#: branch.c:366
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
-#: branch.c:388
+#: branch.c:389
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "工作区 %s 的 HEAD 指向没有被更新"
@@ -2099,8 +2114,8 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2398 sequencer.c:3184
-#: builtin/commit.c:814
+#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2593 sequencer.c:3385
+#: builtin/commit.c:861
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -2158,7 +2173,7 @@
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "不能写入,归档包版本 %d 不支持算法 %s"
 
-#: bundle.c:510 builtin/log.c:210 builtin/log.c:1926 builtin/shortlog.c:396
+#: bundle.c:510 builtin/log.c:210 builtin/log.c:1935 builtin/shortlog.c:396
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
@@ -2200,252 +2215,252 @@
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit-graph.c:197 midx.c:46
+#: commit-graph.c:204 midx.c:47
 msgid "invalid hash version"
 msgstr "无效的哈希版本"
 
-#: commit-graph.c:255
+#: commit-graph.c:262
 msgid "commit-graph file is too small"
 msgstr "提交图形文件太小"
 
-#: commit-graph.c:348
+#: commit-graph.c:355
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "提交图形签名 %X 和签名 %X 不匹配"
 
-#: commit-graph.c:355
+#: commit-graph.c:362
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "提交图形版本 %X 和版本 %X 不匹配"
 
-#: commit-graph.c:362
+#: commit-graph.c:369
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "提交图形哈希版本 %X 和版本 %X 不匹配"
 
-#: commit-graph.c:379
+#: commit-graph.c:386
 #, c-format
 msgid "commit-graph file is too small to hold %u chunks"
 msgstr "提交图形文件太小,容不下 %u 个块"
 
-#: commit-graph.c:472
+#: commit-graph.c:482
 msgid "commit-graph has no base graphs chunk"
 msgstr "提交图形没有基础图形块"
 
-#: commit-graph.c:482
+#: commit-graph.c:492
 msgid "commit-graph chain does not match"
 msgstr "提交图形链不匹配"
 
-#: commit-graph.c:530
+#: commit-graph.c:540
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr "无效的提交图形链:行 '%s' 不是一个哈希值"
 
-#: commit-graph.c:554
+#: commit-graph.c:564
 msgid "unable to find all commit-graph files"
 msgstr "无法找到所有提交图形文件"
 
-#: commit-graph.c:735 commit-graph.c:772
+#: commit-graph.c:745 commit-graph.c:782
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr "无效的提交位置。提交图形可能已损坏"
 
-#: commit-graph.c:756
+#: commit-graph.c:766
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
-#: commit-graph.c:789
+#: commit-graph.c:799
 msgid "commit-graph requires overflow generation data but has none"
 msgstr "提交图需要溢出世代数据,但是没有"
 
-#: commit-graph.c:1065 builtin/am.c:1292
+#: commit-graph.c:1075 builtin/am.c:1340
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: commit-graph.c:1327 builtin/pack-objects.c:2872
+#: commit-graph.c:1337 builtin/pack-objects.c:2897
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "无法获得对象 %s 类型"
 
-#: commit-graph.c:1358
+#: commit-graph.c:1368
 msgid "Loading known commits in commit graph"
 msgstr "正在加载提交图中的已知提交"
 
-#: commit-graph.c:1375
+#: commit-graph.c:1385
 msgid "Expanding reachable commits in commit graph"
 msgstr "正在扩展提交图中的可达提交"
 
-#: commit-graph.c:1395
+#: commit-graph.c:1405
 msgid "Clearing commit marks in commit graph"
 msgstr "正在清除提交图中的提交标记"
 
-#: commit-graph.c:1414
+#: commit-graph.c:1424
 msgid "Computing commit graph topological levels"
 msgstr "正在计算提交图拓扑级别"
 
-#: commit-graph.c:1467
+#: commit-graph.c:1477
 msgid "Computing commit graph generation numbers"
 msgstr "正在计算提交图世代数字"
 
-#: commit-graph.c:1548
+#: commit-graph.c:1558
 msgid "Computing commit changed paths Bloom filters"
 msgstr "计算提交变更路径的布隆过滤器"
 
-#: commit-graph.c:1625
+#: commit-graph.c:1635
 msgid "Collecting referenced commits"
 msgstr "正在收集引用的提交"
 
-#: commit-graph.c:1650
+#: commit-graph.c:1660
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "正在 %d 个包中查找提交图的提交"
 msgstr[1] "正在 %d 个包中查找提交图的提交"
 
-#: commit-graph.c:1663
+#: commit-graph.c:1673
 #, c-format
 msgid "error adding pack %s"
 msgstr "添加包 %s 出错"
 
-#: commit-graph.c:1667
+#: commit-graph.c:1677
 #, c-format
 msgid "error opening index for %s"
 msgstr "为 %s 打开索引出错"
 
-#: commit-graph.c:1704
+#: commit-graph.c:1714
 msgid "Finding commits for commit graph among packed objects"
 msgstr "正在打包对象中查找提交图的提交"
 
-#: commit-graph.c:1722
+#: commit-graph.c:1732
 msgid "Finding extra edges in commit graph"
 msgstr "正在查找提交图中额外的边"
 
-#: commit-graph.c:1771
+#: commit-graph.c:1781
 msgid "failed to write correct number of base graph ids"
 msgstr "无法写入正确数量的基础图形 ID"
 
-#: commit-graph.c:1802 midx.c:794
+#: commit-graph.c:1812 midx.c:906
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
-#: commit-graph.c:1815
+#: commit-graph.c:1825
 msgid "unable to create temporary graph layer"
 msgstr "无法创建临时图层"
 
-#: commit-graph.c:1820
+#: commit-graph.c:1830
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "无法为 '%s' 调整共享权限"
 
-#: commit-graph.c:1879
+#: commit-graph.c:1887
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "正在用 %d 步写出提交图"
 msgstr[1] "正在用 %d 步写出提交图"
 
-#: commit-graph.c:1915
+#: commit-graph.c:1923
 msgid "unable to open commit-graph chain file"
 msgstr "无法打开提交图形链文件"
 
-#: commit-graph.c:1931
+#: commit-graph.c:1939
 msgid "failed to rename base commit-graph file"
 msgstr "无法重命名基础提交图形文件"
 
-#: commit-graph.c:1951
+#: commit-graph.c:1959
 msgid "failed to rename temporary commit-graph file"
 msgstr "无法重命名临时提交图形文件"
 
-#: commit-graph.c:2084
+#: commit-graph.c:2092
 msgid "Scanning merged commits"
 msgstr "正在扫描合并提交"
 
-#: commit-graph.c:2128
+#: commit-graph.c:2136
 msgid "Merging commit-graph"
 msgstr "正在合并提交图形"
 
-#: commit-graph.c:2235
+#: commit-graph.c:2244
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr "正尝试写提交图,但是 'core.commitGraph' 被禁用"
 
-#: commit-graph.c:2342
+#: commit-graph.c:2351
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
-#: commit-graph.c:2440
+#: commit-graph.c:2450
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr "提交图文件的校验码错误,可能已经损坏"
 
-#: commit-graph.c:2450
+#: commit-graph.c:2460
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "提交图形的对象 ID 顺序不正确:%s 然后 %s"
 
-#: commit-graph.c:2460 commit-graph.c:2475
+#: commit-graph.c:2470 commit-graph.c:2485
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr "提交图形有不正确的扇出值:fanout[%d] = %u != %u"
 
-#: commit-graph.c:2467
+#: commit-graph.c:2477
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "无法从提交图形中解析提交 %s"
 
-#: commit-graph.c:2485
+#: commit-graph.c:2495
 msgid "Verifying commits in commit graph"
 msgstr "正在校验提交图中的提交"
 
-#: commit-graph.c:2500
+#: commit-graph.c:2510
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr "无法从提交图形的对象库中解析提交 %s"
 
-#: commit-graph.c:2507
+#: commit-graph.c:2517
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr "提交图形中的提交 %s 的根树对象 ID 是 %s != %s"
 
-#: commit-graph.c:2517
+#: commit-graph.c:2527
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr "提交 %s 的提交图形父提交列表太长了"
 
-#: commit-graph.c:2526
+#: commit-graph.c:2536
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "%s 的提交图形父提交是 %s != %s"
 
-#: commit-graph.c:2540
+#: commit-graph.c:2550
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr "提交 %s 的提交图形父提交列表过早终止"
 
-#: commit-graph.c:2545
+#: commit-graph.c:2555
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
 msgstr "提交图形中提交 %s 的世代号是零,但其它地方非零"
 
-#: commit-graph.c:2549
+#: commit-graph.c:2559
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
 msgstr "提交图形中提交 %s 的世代号非零,但其它地方是零"
 
-#: commit-graph.c:2566
+#: commit-graph.c:2576
 #, c-format
 msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
 msgstr "提交图形中的提交 %s 的世代号是 %<PRIuMAX> < %<PRIuMAX>"
 
-#: commit-graph.c:2572
+#: commit-graph.c:2582
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr "提交图形中提交 %s 的提交日期是 %<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:52 sequencer.c:2887 builtin/am.c:359 builtin/am.c:403
-#: builtin/am.c:1371 builtin/am.c:2018 builtin/replace.c:457
+#: commit.c:52 sequencer.c:3088 builtin/am.c:371 builtin/am.c:416
+#: builtin/am.c:421 builtin/am.c:1419 builtin/am.c:2066 builtin/replace.c:457
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -2475,27 +2490,27 @@
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
-#: commit.c:1223
+#: commit.c:1237
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: commit.c:1227
+#: commit.c:1241
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: commit.c:1230
+#: commit.c:1244
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有 GPG 签名。"
 
-#: commit.c:1233
+#: commit.c:1247
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: commit.c:1487
+#: commit.c:1501
 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"
@@ -2562,7 +2577,7 @@
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
-#: config.c:472 sequencer.c:2588
+#: config.c:472 sequencer.c:2785
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
@@ -2679,70 +2694,70 @@
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1194
+#: config.c:1257
 #, c-format
 msgid "bad boolean config value '%s' for '%s'"
 msgstr "'%2$s' 的错误的布尔取值 '%1$s'"
 
-#: config.c:1289
+#: config.c:1275
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展用户目录:'%s'"
 
-#: config.c:1298
+#: config.c:1284
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
 
-#: config.c:1391
+#: config.c:1377
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "缩写长度超出范围:%d"
 
-#: config.c:1405 config.c:1416
+#: config.c:1391 config.c:1402
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:1508
+#: config.c:1494
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar 应该是一个字符"
 
-#: config.c:1541
+#: config.c:1527
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1613
+#: config.c:1599
 #, c-format
 msgid "malformed value for %s"
 msgstr "%s 的取值格式错误"
 
-#: config.c:1639
+#: config.c:1625
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "%s 的取值格式错误:%s"
 
-#: config.c:1640
+#: config.c:1626
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
-#: config.c:1701 builtin/pack-objects.c:3666
+#: config.c:1687 builtin/pack-objects.c:3924
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1823
+#: config.c:1809
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
-#: config.c:1826
+#: config.c:1812
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
-#: config.c:1843
+#: config.c:1829
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
@@ -2752,105 +2767,105 @@
 msgid "failed to parse %s"
 msgstr "解析 %s 失败"
 
-#: config.c:1927
+#: config.c:1929
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:2290
+#: config.c:2293
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2464
+#: config.c:2467
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2509
+#: config.c:2512
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
-#: config.c:2555
+#: config.c:2558
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:2557
+#: config.c:2560
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:2641
+#: config.c:2644
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
-#: config.c:2673
+#: config.c:2676
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2702
+#: config.c:2705
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "写入新的配置文件 %s 失败"
 
-#: config.c:2954 config.c:3280
+#: config.c:2957 config.c:3283
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
-#: config.c:2965
+#: config.c:2968
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
-#: config.c:3002 builtin/config.c:361
+#: config.c:3005 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
-#: config.c:3027
+#: config.c:3030
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
-#: config.c:3040 config.c:3293
+#: config.c:3043 config.c:3296
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:3051
+#: config.c:3054
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "不能 mmap '%s'"
 
-#: config.c:3060 config.c:3298
+#: config.c:3063 config.c:3301
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
-#: config.c:3145 config.c:3395
+#: config.c:3148 config.c:3398
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
-#: config.c:3179
+#: config.c:3182
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:3181 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
+#: config.c:3184 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: config.c:3271
+#: config.c:3274
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
-#: config.c:3438
+#: config.c:3441
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
@@ -3026,7 +3041,7 @@
 msgid "unable to fork"
 msgstr "无法 fork"
 
-#: connected.c:108 builtin/fsck.c:191 builtin/prune.c:45
+#: connected.c:108 builtin/fsck.c:188 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "正在检查连通性"
 
@@ -3042,17 +3057,17 @@
 msgid "failed to close rev-list's stdin"
 msgstr "关闭 rev-list 的标准输入失败"
 
-#: convert.c:194
+#: convert.c:183
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr "非法的 crlf 动作 %d"
 
-#: convert.c:207
+#: convert.c:196
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr "%s 中的 CRLF 将被 LF 替换"
 
-#: convert.c:209
+#: convert.c:198
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -3061,12 +3076,12 @@
 "%s 中的 CRLF 将被 LF 替换。<\n"
 "在工作区中该文件仍保持原有的换行符。"
 
-#: convert.c:217
+#: convert.c:206
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "文件 %s 中的 LF 将被 CRLF 替换"
 
-#: convert.c:219
+#: convert.c:208
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -3075,12 +3090,12 @@
 "%s 中的 LF 将被 CRLF 替换。\n"
 "在工作区中该文件仍保持原有的换行符"
 
-#: convert.c:284
+#: convert.c:273
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "如果使用 %2$s 编码,禁止在 '%1$s' 中使用 BOM"
 
-#: convert.c:291
+#: convert.c:280
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
@@ -3088,12 +3103,12 @@
 msgstr ""
 "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%.*s 作为工作区编码。"
 
-#: convert.c:304
+#: convert.c:293
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "如果编码为 %2$s,需要在 '%1$s' 中使用 BOM"
 
-#: convert.c:306
+#: convert.c:295
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -3102,66 +3117,66 @@
 "文件 '%s' 缺失一个字节顺序标记(BOM)。请使用 UTF-%sBE or UTF-%sLE(取决于字"
 "节序)作为工作区编码。"
 
-#: convert.c:419 convert.c:490
+#: convert.c:408 convert.c:479
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "无法对 '%s' 进行从 %s 到 %s 的编码"
 
-#: convert.c:462
+#: convert.c:451
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "将'%s' 的编码从 %s 到 %s 来回转换不一致"
 
-#: convert.c:665
+#: convert.c:654
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "不能 fork 以执行外部过滤器 '%s'"
 
-#: convert.c:685
+#: convert.c:674
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "不能将输入传递给外部过滤器 '%s'"
 
-#: convert.c:692
+#: convert.c:681
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "外部过滤器 '%s' 失败码 %d"
 
-#: convert.c:727 convert.c:730
+#: convert.c:716 convert.c:719
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "从外部过滤器 '%s' 读取失败"
 
-#: convert.c:733 convert.c:788
+#: convert.c:722 convert.c:777
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "外部过滤器 '%s' 失败"
 
-#: convert.c:837
+#: convert.c:826
 msgid "unexpected filter type"
 msgstr "意外的过滤类型"
 
-#: convert.c:848
+#: convert.c:837
 msgid "path name too long for external filter"
 msgstr "外部过滤器的路径名太长"
 
-#: convert.c:940
+#: convert.c:934
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
 "been filtered"
 msgstr "外部过滤器 '%s' 不再可用,但并非所有路径都已过滤"
 
-#: convert.c:1240
+#: convert.c:1234
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false 不是有效的工作区编码"
 
-#: convert.c:1428 convert.c:1462
+#: convert.c:1414 convert.c:1447
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s:clean 过滤器 '%s' 失败"
 
-#: convert.c:1508
+#: convert.c:1490
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s:smudge 过滤器 %s 失败"
@@ -3286,28 +3301,28 @@
 msgid "Marked %d islands, done.\n"
 msgstr "已标记 %d 个数据岛,结束。\n"
 
-#: diff-merges.c:70
+#: diff-merges.c:80
 #, c-format
 msgid "unknown value for --diff-merges: %s"
 msgstr "未知的 --diff-merges 取值:%s"
 
-#: diff-lib.c:534
+#: diff-lib.c:538
 msgid "--merge-base does not work with ranges"
 msgstr "--merge-base 不适用于范围"
 
-#: diff-lib.c:536
+#: diff-lib.c:540
 msgid "--merge-base only works with commits"
 msgstr "--merge-base 仅适用于提交"
 
-#: diff-lib.c:553
+#: diff-lib.c:557
 msgid "unable to get HEAD"
 msgstr "不能解析 HEAD"
 
-#: diff-lib.c:560
+#: diff-lib.c:564
 msgid "no merge base found"
 msgstr "未找到合并基线"
 
-#: diff-lib.c:562
+#: diff-lib.c:566
 msgid "multiple merge bases found"
 msgstr "找到了多条合并基线"
 
@@ -3370,35 +3385,35 @@
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:4276
+#: diff.c:4278
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:4628
+#: diff.c:4630
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:4631
+#: diff.c:4633
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G、-S 和 --find-object 是互斥的"
 
-#: diff.c:4710
+#: diff.c:4712
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4758
+#: diff.c:4760
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "无效的 --stat 值:%s"
 
-#: diff.c:4763 diff.c:4768 diff.c:4773 diff.c:4778 diff.c:5306
+#: diff.c:4765 diff.c:4770 diff.c:4775 diff.c:4780 diff.c:5308
 #: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s 期望一个数字值"
 
-#: diff.c:4795
+#: diff.c:4797
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3407,200 +3422,200 @@
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4880
+#: diff.c:4882
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "--diff-filter=%2$s 中未知的变更类 '%1$c'"
 
-#: diff.c:4904
+#: diff.c:4906
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "ws-error-highlight=%.*s 之后未知的值"
 
-#: diff.c:4918
+#: diff.c:4920
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "不能解析 '%s'"
 
-#: diff.c:4968 diff.c:4974
+#: diff.c:4970 diff.c:4976
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s 期望 <n>/<m> 格式"
 
-#: diff.c:4986
+#: diff.c:4988
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s 期望一个字符,得到 '%s'"
 
-#: diff.c:5007
+#: diff.c:5009
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "坏的 --color-moved 参数:%s"
 
-#: diff.c:5026
+#: diff.c:5028
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "--color-moved-ws 中的无效模式 '%s' "
 
-#: diff.c:5066
+#: diff.c:5068
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
 msgstr ""
 "diff-algorithm 选项有 \"myers\"、\"minimal\"、\"patience\" 和 \"histogram\""
 
-#: diff.c:5102 diff.c:5122
+#: diff.c:5104 diff.c:5124
 #, c-format
 msgid "invalid argument to %s"
 msgstr "%s 的参数无效"
 
-#: diff.c:5226
+#: diff.c:5228
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "选项 -I 的正则表达式无效:'%s'"
 
-#: diff.c:5275
+#: diff.c:5277
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5331
+#: diff.c:5333
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "坏的 --word-diff 参数:%s"
 
-#: diff.c:5367
+#: diff.c:5369
 msgid "Diff output format options"
 msgstr "差异输出格式化选项"
 
-#: diff.c:5369 diff.c:5375
+#: diff.c:5371 diff.c:5377
 msgid "generate patch"
 msgstr "生成补丁"
 
-#: diff.c:5372 builtin/log.c:179
+#: diff.c:5374 builtin/log.c:179
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: diff.c:5377 diff.c:5491 diff.c:5498
+#: diff.c:5379 diff.c:5493 diff.c:5500
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5378 diff.c:5381
+#: diff.c:5380 diff.c:5383
 msgid "generate diffs with <n> lines context"
 msgstr "生成含 <n> 行上下文的差异"
 
-#: diff.c:5383
+#: diff.c:5385
 msgid "generate the diff in raw format"
 msgstr "生成原始格式的差异"
 
-#: diff.c:5386
+#: diff.c:5388
 msgid "synonym for '-p --raw'"
 msgstr "和 '-p --raw' 同义"
 
-#: diff.c:5390
+#: diff.c:5392
 msgid "synonym for '-p --stat'"
 msgstr "和 '-p --stat' 同义"
 
-#: diff.c:5394
+#: diff.c:5396
 msgid "machine friendly --stat"
 msgstr "机器友好的 --stat"
 
-#: diff.c:5397
+#: diff.c:5399
 msgid "output only the last line of --stat"
 msgstr "只输出 --stat 的最后一行"
 
-#: diff.c:5399 diff.c:5407
+#: diff.c:5401 diff.c:5409
 msgid "<param1,param2>..."
 msgstr "<参数1,参数2>..."
 
-#: diff.c:5400
+#: diff.c:5402
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr "输出每个子目录相对变更的分布"
 
-#: diff.c:5404
+#: diff.c:5406
 msgid "synonym for --dirstat=cumulative"
 msgstr "和 --dirstat=cumulative 同义"
 
-#: diff.c:5408
+#: diff.c:5410
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "是 --dirstat=files,param1,param2... 的同义词"
 
-#: diff.c:5412
+#: diff.c:5414
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr "如果变更中引入冲突定界符或空白错误,给出警告"
 
-#: diff.c:5415
+#: diff.c:5417
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "精简摘要,例如创建、重命名和模式变更"
 
-#: diff.c:5418
+#: diff.c:5420
 msgid "show only names of changed files"
 msgstr "只显示变更文件的文件名"
 
-#: diff.c:5421
+#: diff.c:5423
 msgid "show only names and status of changed files"
 msgstr "只显示变更文件的文件名和状态"
 
-#: diff.c:5423
+#: diff.c:5425
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<宽度>[,<文件名宽度>[,<次数>]]"
 
-#: diff.c:5424
+#: diff.c:5426
 msgid "generate diffstat"
 msgstr "生成差异统计(diffstat)"
 
-#: diff.c:5426 diff.c:5429 diff.c:5432
+#: diff.c:5428 diff.c:5431 diff.c:5434
 msgid "<width>"
 msgstr "<宽度>"
 
-#: diff.c:5427
+#: diff.c:5429
 msgid "generate diffstat with a given width"
 msgstr "使用给定的长度生成差异统计"
 
-#: diff.c:5430
+#: diff.c:5432
 msgid "generate diffstat with a given name width"
 msgstr "使用给定的文件名长度生成差异统计"
 
-#: diff.c:5433
+#: diff.c:5435
 msgid "generate diffstat with a given graph width"
 msgstr "使用给定的图形长度生成差异统计"
 
-#: diff.c:5435
+#: diff.c:5437
 msgid "<count>"
 msgstr "<次数>"
 
-#: diff.c:5436
+#: diff.c:5438
 msgid "generate diffstat with limited lines"
 msgstr "生成有限行数的差异统计"
 
-#: diff.c:5439
+#: diff.c:5441
 msgid "generate compact summary in diffstat"
 msgstr "生成差异统计的简洁摘要"
 
-#: diff.c:5442
+#: diff.c:5444
 msgid "output a binary diff that can be applied"
 msgstr "输出一个可以应用的二进制差异"
 
-#: diff.c:5445
+#: diff.c:5447
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr "在 \"index\" 行显示完整的前后对象名称"
 
-#: diff.c:5447
+#: diff.c:5449
 msgid "show colored diff"
 msgstr "显示带颜色的差异"
 
-#: diff.c:5448
+#: diff.c:5450
 msgid "<kind>"
 msgstr "<类型>"
 
-#: diff.c:5449
+#: diff.c:5451
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
 msgstr "对于差异中的上下文、旧的和新的行,加亮显示错误的空白字符"
 
-#: diff.c:5452
+#: diff.c:5454
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3608,311 +3623,311 @@
 "在 --raw 或者 --numstat 中,不对路径字符转码并使用 NUL 字符做为输出字段的分隔"
 "符"
 
-#: diff.c:5455 diff.c:5458 diff.c:5461 diff.c:5570
+#: diff.c:5457 diff.c:5460 diff.c:5463 diff.c:5572
 msgid "<prefix>"
 msgstr "<前缀>"
 
-#: diff.c:5456
+#: diff.c:5458
 msgid "show the given source prefix instead of \"a/\""
 msgstr "显示给定的源前缀取代 \"a/\""
 
-#: diff.c:5459
+#: diff.c:5461
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "显示给定的目标前缀取代 \"b/\""
 
-#: diff.c:5462
+#: diff.c:5464
 msgid "prepend an additional prefix to every line of output"
 msgstr "输出的每一行附加前缀"
 
-#: diff.c:5465
+#: diff.c:5467
 msgid "do not show any source or destination prefix"
 msgstr "不显示任何源和目标前缀"
 
-#: diff.c:5468
+#: diff.c:5470
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr "显示指定行数的差异块间的上下文"
 
-#: diff.c:5472 diff.c:5477 diff.c:5482
+#: diff.c:5474 diff.c:5479 diff.c:5484
 msgid "<char>"
 msgstr "<字符>"
 
-#: diff.c:5473
+#: diff.c:5475
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "指定一个字符取代 '+' 来表示新的一行"
 
-#: diff.c:5478
+#: diff.c:5480
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "指定一个字符取代 '-' 来表示旧的一行"
 
-#: diff.c:5483
+#: diff.c:5485
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "指定一个字符取代 ' ' 来表示一行上下文"
 
-#: diff.c:5486
+#: diff.c:5488
 msgid "Diff rename options"
 msgstr "差异重命名选项"
 
-#: diff.c:5487
+#: diff.c:5489
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5488
+#: diff.c:5490
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "将完全重写的变更打破为成对的删除和创建"
 
-#: diff.c:5492
+#: diff.c:5494
 msgid "detect renames"
 msgstr "检测重命名"
 
-#: diff.c:5496
+#: diff.c:5498
 msgid "omit the preimage for deletes"
 msgstr "省略删除操作的差异输出"
 
-#: diff.c:5499
+#: diff.c:5501
 msgid "detect copies"
 msgstr "检测拷贝"
 
-#: diff.c:5503
+#: diff.c:5505
 msgid "use unmodified files as source to find copies"
 msgstr "使用未修改的文件做为发现拷贝的源"
 
-#: diff.c:5505
+#: diff.c:5507
 msgid "disable rename detection"
 msgstr "禁用重命名探测"
 
-#: diff.c:5508
+#: diff.c:5510
 msgid "use empty blobs as rename source"
 msgstr "使用空的数据对象做为重命名的源"
 
-#: diff.c:5510
+#: diff.c:5512
 msgid "continue listing the history of a file beyond renames"
 msgstr "继续列出文件重命名以外的历史记录"
 
-#: diff.c:5513
+#: diff.c:5515
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
 msgstr "如果重命名/拷贝目标超过给定的限制,禁止重命名/拷贝检测"
 
-#: diff.c:5515
+#: diff.c:5517
 msgid "Diff algorithm options"
 msgstr "差异算法选项"
 
-#: diff.c:5517
+#: diff.c:5519
 msgid "produce the smallest possible diff"
 msgstr "生成尽可能小的差异"
 
-#: diff.c:5520
+#: diff.c:5522
 msgid "ignore whitespace when comparing lines"
 msgstr "行比较时忽略空白字符"
 
-#: diff.c:5523
+#: diff.c:5525
 msgid "ignore changes in amount of whitespace"
 msgstr "忽略空白字符的变更"
 
-#: diff.c:5526
+#: diff.c:5528
 msgid "ignore changes in whitespace at EOL"
 msgstr "忽略行尾的空白字符变更"
 
-#: diff.c:5529
+#: diff.c:5531
 msgid "ignore carrier-return at the end of line"
 msgstr "忽略行尾的回车符(CR)"
 
-#: diff.c:5532
+#: diff.c:5534
 msgid "ignore changes whose lines are all blank"
 msgstr "忽略整行都是空白的变更"
 
-#: diff.c:5534 diff.c:5556 diff.c:5559 diff.c:5604
+#: diff.c:5536 diff.c:5558 diff.c:5561 diff.c:5606
 msgid "<regex>"
 msgstr "<正则>"
 
-#: diff.c:5535
+#: diff.c:5537
 msgid "ignore changes whose all lines match <regex>"
 msgstr "忽略所有行都和正则表达式匹配的变更"
 
-#: diff.c:5538
+#: diff.c:5540
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "启发式转换差异边界以便阅读"
 
-#: diff.c:5541
+#: diff.c:5543
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "使用 \"patience diff\" 算法生成差异"
 
-#: diff.c:5545
+#: diff.c:5547
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "使用 \"histogram diff\" 算法生成差异"
 
-#: diff.c:5547
+#: diff.c:5549
 msgid "<algorithm>"
 msgstr "<算法>"
 
-#: diff.c:5548
+#: diff.c:5550
 msgid "choose a diff algorithm"
 msgstr "选择一个差异算法"
 
-#: diff.c:5550
+#: diff.c:5552
 msgid "<text>"
 msgstr "<文本>"
 
-#: diff.c:5551
+#: diff.c:5553
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "使用 \"anchored diff\" 算法生成差异"
 
-#: diff.c:5553 diff.c:5562 diff.c:5565
+#: diff.c:5555 diff.c:5564 diff.c:5567
 msgid "<mode>"
 msgstr "<模式>"
 
-#: diff.c:5554
+#: diff.c:5556
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr "显示单词差异,使用 <模式> 分隔变更的单词"
 
-#: diff.c:5557
+#: diff.c:5559
 msgid "use <regex> to decide what a word is"
 msgstr "使用 <正则表达式> 确定何为一个词"
 
-#: diff.c:5560
+#: diff.c:5562
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "相当于 --word-diff=color --word-diff-regex=<正则>"
 
-#: diff.c:5563
+#: diff.c:5565
 msgid "moved lines of code are colored differently"
 msgstr "移动的代码行用不同方式着色"
 
-#: diff.c:5566
+#: diff.c:5568
 msgid "how white spaces are ignored in --color-moved"
 msgstr "在 --color-moved 下如何忽略空白字符"
 
-#: diff.c:5569
+#: diff.c:5571
 msgid "Other diff options"
 msgstr "其它差异选项"
 
-#: diff.c:5571
+#: diff.c:5573
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr "当从子目录运行,排除目录之外的变更并显示相对路径"
 
-#: diff.c:5575
+#: diff.c:5577
 msgid "treat all files as text"
 msgstr "把所有文件当做文本处理"
 
-#: diff.c:5577
+#: diff.c:5579
 msgid "swap two inputs, reverse the diff"
 msgstr "交换两个输入,反转差异"
 
-#: diff.c:5579
+#: diff.c:5581
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "有差异时退出码为 1,否则为 0"
 
-#: diff.c:5581
+#: diff.c:5583
 msgid "disable all output of the program"
 msgstr "禁用本程序的所有输出"
 
-#: diff.c:5583
+#: diff.c:5585
 msgid "allow an external diff helper to be executed"
 msgstr "允许执行一个外置的差异助手"
 
-#: diff.c:5585
+#: diff.c:5587
 msgid "run external text conversion filters when comparing binary files"
 msgstr "当比较二进制文件时,运行外部的文本转换过滤器"
 
-#: diff.c:5587
+#: diff.c:5589
 msgid "<when>"
 msgstr "<何时>"
 
-#: diff.c:5588
+#: diff.c:5590
 msgid "ignore changes to submodules in the diff generation"
 msgstr "在生成差异时,忽略子模组的更改"
 
-#: diff.c:5591
+#: diff.c:5593
 msgid "<format>"
 msgstr "<格式>"
 
-#: diff.c:5592
+#: diff.c:5594
 msgid "specify how differences in submodules are shown"
 msgstr "指定子模组的差异如何显示"
 
-#: diff.c:5596
+#: diff.c:5598
 msgid "hide 'git add -N' entries from the index"
 msgstr "隐藏索引中 'git add -N' 条目"
 
-#: diff.c:5599
+#: diff.c:5601
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "将索引中 'git add -N' 条目当做真实的"
 
-#: diff.c:5601
+#: diff.c:5603
 msgid "<string>"
 msgstr "<字符串>"
 
-#: diff.c:5602
+#: diff.c:5604
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
 msgstr "查找改变了指定字符串出现次数的差异"
 
-#: diff.c:5605
+#: diff.c:5607
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
 msgstr "查找改变指定正则匹配出现次数的差异"
 
-#: diff.c:5608
+#: diff.c:5610
 msgid "show all changes in the changeset with -S or -G"
 msgstr "显示使用 -S 或 -G 的变更集的所有变更"
 
-#: diff.c:5611
+#: diff.c:5613
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "将 -S 的 <string> 当做扩展的 POSIX 正则表达式"
 
-#: diff.c:5614
+#: diff.c:5616
 msgid "control the order in which files appear in the output"
 msgstr "控制输出中的文件显示顺序"
 
-#: diff.c:5615 diff.c:5618
+#: diff.c:5617 diff.c:5620
 msgid "<path>"
 msgstr "<路径>"
 
-#: diff.c:5616
+#: diff.c:5618
 msgid "show the change in the specified path first"
 msgstr "先显示指定路径的变更"
 
-#: diff.c:5619
+#: diff.c:5621
 msgid "skip the output to the specified path"
 msgstr "跳过指定路径的输出"
 
-#: diff.c:5621
+#: diff.c:5623
 msgid "<object-id>"
 msgstr "<对象 ID>"
 
-#: diff.c:5622
+#: diff.c:5624
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
 msgstr "查找改变指定对象出现次数的差异"
 
-#: diff.c:5624
+#: diff.c:5626
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5625
+#: diff.c:5627
 msgid "select files by diff type"
 msgstr "通过差异类型选择文件"
 
-#: diff.c:5627
+#: diff.c:5629
 msgid "<file>"
 msgstr "<文件>"
 
-#: diff.c:5628
+#: diff.c:5630
 msgid "Output to a specific file"
 msgstr "输出到一个指定的文件"
 
-#: diff.c:6285
+#: diff.c:6287
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
-#: diff.c:6288
+#: diff.c:6290
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
-#: diff.c:6291
+#: diff.c:6293
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3923,7 +3938,7 @@
 msgid "failed to read orderfile '%s'"
 msgstr "读取排序文件 '%s' 失败"
 
-#: diffcore-rename.c:786
+#: diffcore-rename.c:1418
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
@@ -3956,35 +3971,35 @@
 msgid "disabling cone pattern matching"
 msgstr "禁止 cone 模式匹配"
 
-#: dir.c:1198
+#: dir.c:1206
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
-#: dir.c:2305
+#: dir.c:2314
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2605
+#: dir.c:2614
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2729
+#: dir.c:2738
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
-#: dir.c:3534
+#: dir.c:3543
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
-#: dir.c:3579 dir.c:3584
+#: dir.c:3590 dir.c:3595
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3613
+#: dir.c:3624
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
@@ -3994,11 +4009,11 @@
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "提示:等待您的编辑器关闭文件...%c"
 
-#: entry.c:177
+#: entry.c:179
 msgid "Filtering content"
 msgstr "过滤内容"
 
-#: entry.c:478
+#: entry.c:500
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
@@ -4018,249 +4033,257 @@
 msgid "too many args to run %s"
 msgstr "执行 %s 的参数太多"
 
-#: fetch-pack.c:177
+#: fetch-pack.c:182
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack:应为 shallow 列表"
 
-#: fetch-pack.c:180
+#: fetch-pack.c:185
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr "git fetch-pack:在浅克隆列表之后期望一个 flush 包"
 
-#: fetch-pack.c:191
+#: fetch-pack.c:196
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack:期望 ACK/NAK,却得到 flush 包"
 
-#: fetch-pack.c:211
+#: fetch-pack.c:216
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
-#: fetch-pack.c:222
+#: fetch-pack.c:227
 msgid "unable to write to remote"
 msgstr "无法写到远程"
 
-#: fetch-pack.c:283
+#: fetch-pack.c:288
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc 需要 multi_ack_detailed"
 
-#: fetch-pack.c:378 fetch-pack.c:1457
+#: fetch-pack.c:383 fetch-pack.c:1423
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:384 fetch-pack.c:1463
+#: fetch-pack.c:389 fetch-pack.c:1429
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:386 fetch-pack.c:1465
+#: fetch-pack.c:391 fetch-pack.c:1431
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:389 fetch-pack.c:1468
+#: fetch-pack.c:394 fetch-pack.c:1434
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:391 fetch-pack.c:1470
+#: fetch-pack.c:396 fetch-pack.c:1436
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:394 fetch-pack.c:1474
+#: fetch-pack.c:399 fetch-pack.c:1440
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "应为 shallow/unshallow,却得到 %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:439
 #, c-format
 msgid "got %s %d %s"
 msgstr "得到 %s %d %s"
 
-#: fetch-pack.c:451
+#: fetch-pack.c:456
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
-#: fetch-pack.c:482
+#: fetch-pack.c:487
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:495 progress.c:339
+#: fetch-pack.c:500 progress.c:339
 msgid "done"
 msgstr "完成"
 
-#: fetch-pack.c:507
+#: fetch-pack.c:512
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "得到 %s (%d) %s"
 
-#: fetch-pack.c:543
+#: fetch-pack.c:548
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:758
+#: fetch-pack.c:763
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:844
+#: fetch-pack.c:849
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: fetch-pack.c:852
+#: fetch-pack.c:857
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:946
+#: fetch-pack.c:951
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
-#: fetch-pack.c:952
+#: fetch-pack.c:957
 msgid "fetch-pack: invalid index-pack output"
 msgstr "fetch-pack:无效的 index-pack 输出"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:974
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:976
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:1031
+#: fetch-pack.c:1019
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:1039 fetch-pack.c:1045 fetch-pack.c:1048 fetch-pack.c:1054
-#: fetch-pack.c:1058 fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070
-#: fetch-pack.c:1074 fetch-pack.c:1078 fetch-pack.c:1082 fetch-pack.c:1086
-#: fetch-pack.c:1092 fetch-pack.c:1098 fetch-pack.c:1103 fetch-pack.c:1108
+#: fetch-pack.c:1027 fetch-pack.c:1033 fetch-pack.c:1036 fetch-pack.c:1042
+#: fetch-pack.c:1046 fetch-pack.c:1050 fetch-pack.c:1054 fetch-pack.c:1058
+#: fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070 fetch-pack.c:1074
+#: fetch-pack.c:1080 fetch-pack.c:1086 fetch-pack.c:1091 fetch-pack.c:1096
 #, c-format
 msgid "Server supports %s"
 msgstr "服务器支持 %s"
 
-#: fetch-pack.c:1041
+#: fetch-pack.c:1029
 msgid "Server does not support shallow clients"
-msgstr "服务器不支持 shalllow 客户端"
+msgstr "服务器不支持浅客户端"
 
-#: fetch-pack.c:1101
+#: fetch-pack.c:1089
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:1106
+#: fetch-pack.c:1094
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:1110
+#: fetch-pack.c:1098
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:1112
+#: fetch-pack.c:1100
 msgid "Server does not support this repository's object format"
 msgstr "服务器不支持这个仓库的对象格式"
 
-#: fetch-pack.c:1125
+#: fetch-pack.c:1113
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1138 fetch-pack.c:1682
+#: fetch-pack.c:1122 fetch-pack.c:1469 builtin/clone.c:1238
+msgid "source repository is shallow, reject to clone."
+msgstr "源仓库是浅克隆,拒绝克隆。"
+
+#: fetch-pack.c:1128 fetch-pack.c:1651
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1265
+#: fetch-pack.c:1242
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "不匹配的算法:客户端 %s,服务端 %s"
 
-#: fetch-pack.c:1269
+#: fetch-pack.c:1246
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "服务器不支持算法 '%s'"
 
-#: fetch-pack.c:1289
+#: fetch-pack.c:1279
 msgid "Server does not support shallow requests"
-msgstr "服务器不支持 shalllow 请求"
+msgstr "服务器不支持浅克隆请求"
 
-#: fetch-pack.c:1296
+#: fetch-pack.c:1286
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
-#: fetch-pack.c:1335
+#: fetch-pack.c:1329 fetch-pack.c:2034
 msgid "unable to write request to remote"
 msgstr "无法将请求写到远程"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1347
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
-#: fetch-pack.c:1359
+#: fetch-pack.c:1353
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
-#: fetch-pack.c:1420
+#: fetch-pack.c:1387
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
-#: fetch-pack.c:1425
+#: fetch-pack.c:1392
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
-#: fetch-pack.c:1435
+#: fetch-pack.c:1402
 msgid "expected packfile to be sent after 'ready'"
 msgstr "预期在 'ready' 之后发送 packfile"
 
-#: fetch-pack.c:1437
+#: fetch-pack.c:1404
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "在没有 'ready' 不应该发送其它小节"
 
-#: fetch-pack.c:1479
+#: fetch-pack.c:1445
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
-#: fetch-pack.c:1526
+#: fetch-pack.c:1494
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
-#: fetch-pack.c:1531
+#: fetch-pack.c:1499
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
-#: fetch-pack.c:1536
+#: fetch-pack.c:1504
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
-#: fetch-pack.c:1566
+#: fetch-pack.c:1534
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack:预期响应结束包"
 
-#: fetch-pack.c:1960
+#: fetch-pack.c:1930
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1983 builtin/clone.c:693
+#: fetch-pack.c:1953 builtin/clone.c:697
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
-#: fetch-pack.c:2010
+#: fetch-pack.c:2056
+msgid "unexpected 'ready' from remote"
+msgstr "来自远程的意外的 'ready'"
+
+#: fetch-pack.c:2079
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:2013
+#: fetch-pack.c:2082
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
@@ -4283,7 +4306,7 @@
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
 
-#: grep.c:543
+#: grep.c:531
 msgid ""
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
@@ -4291,18 +4314,18 @@
 "给定的模式包含 NULL 字符(通过 -f <文件> 参数)。只有 PCRE v2 下的 -P 支持此"
 "功能"
 
-#: grep.c:1906
+#: grep.c:1893
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1923 setup.c:176 builtin/clone.c:412 builtin/diff.c:90
-#: builtin/rm.c:135
+#: grep.c:1910 setup.c:176 builtin/clone.c:416 builtin/diff.c:90
+#: builtin/rm.c:136
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "对 '%s' 调用 stat 失败"
 
-#: grep.c:1934
+#: grep.c:1921
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
@@ -4524,47 +4547,52 @@
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:454 builtin/commit.c:634
+#: ident.c:454 builtin/commit.c:647
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
-#: list-objects-filter-options.c:81
+#: list-objects-filter-options.c:83
 msgid "expected 'tree:<depth>'"
 msgstr "期望 'tree:<深度>'"
 
-#: list-objects-filter-options.c:96
+#: list-objects-filter-options.c:98
 msgid "sparse:path filters support has been dropped"
 msgstr "sparse:path 过滤器支持已被删除"
 
-#: list-objects-filter-options.c:109
+#: list-objects-filter-options.c:105
+#, c-format
+msgid "'%s' for 'object:type=<type>' isnot a valid object type"
+msgstr "'object:type=<type>' 的值 '%s' 不是有效的对象类型"
+
+#: list-objects-filter-options.c:124
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "无效的过滤器表达式 '%s'"
 
-#: list-objects-filter-options.c:125
+#: list-objects-filter-options.c:140
 #, c-format
 msgid "must escape char in sub-filter-spec: '%c'"
 msgstr "必须对 sub-filter-spec 中的字符进行转义:'%c'"
 
-#: list-objects-filter-options.c:167
+#: list-objects-filter-options.c:182
 msgid "expected something after combine:"
 msgstr "期望在组合后有一些东西:"
 
-#: list-objects-filter-options.c:249
+#: list-objects-filter-options.c:264
 msgid "multiple filter-specs cannot be combined"
 msgstr "不能混用多种过滤规格"
 
-#: list-objects-filter-options.c:361
+#: list-objects-filter-options.c:376
 msgid "unable to upgrade repository format to support partial clone"
 msgstr "无法升级仓库格式以支持部分克隆"
 
-#: list-objects-filter.c:492
+#: list-objects-filter.c:532
 #, c-format
 msgid "unable to access sparse blob in '%s'"
 msgstr "不能访问 '%s' 中的稀疏数据对象"
 
-#: list-objects-filter.c:495
+#: list-objects-filter.c:535
 #, c-format
 msgid "unable to parse sparse filter data in %s"
 msgstr "无法解析 %s 中的稀疏过滤器数据"
@@ -4579,7 +4607,7 @@
 msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr "树 %2$s 中的条目 '%1$s' 具有数据对象的模式,但不是一个数据对象"
 
-#: list-objects.c:375
+#: list-objects.c:395
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "无法为提交 %s 加载根树"
@@ -4616,32 +4644,41 @@
 msgid "expected flush after ls-refs arguments"
 msgstr "在 ls-refs 参数后应该有一个 flush 包"
 
-#: merge-ort.c:888 merge-recursive.c:1191
+#: mailinfo.c:1050
+msgid "quoted CRLF detected"
+msgstr "检测到被引用的 CRLF"
+
+#: mailinfo.c:1254 builtin/am.c:176 builtin/mailinfo.c:46
+#, c-format
+msgid "bad action '%s' for '%s'"
+msgstr "'%2$s' 的错误动作 '%1$s'"
+
+#: merge-ort.c:1116 merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "无法合并子模组 %s (没有检出)"
 
-#: merge-ort.c:897 merge-recursive.c:1198
+#: merge-ort.c:1125 merge-recursive.c:1212
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "无法合并子模组 %s(提交不存在)"
 
-#: merge-ort.c:906 merge-recursive.c:1205
+#: merge-ort.c:1134 merge-recursive.c:1219
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "无法合并子模组 %s (提交未跟随合并基线)"
 
-#: merge-ort.c:916 merge-ort.c:923
+#: merge-ort.c:1144 merge-ort.c:1151
 #, c-format
 msgid "Note: Fast-forwarding submodule %s to %s"
 msgstr "注意:快进子模组 %s 到 %s"
 
-#: merge-ort.c:944
+#: merge-ort.c:1172
 #, c-format
 msgid "Failed to merge submodule %s"
 msgstr "无法合并子模组 %s"
 
-#: merge-ort.c:951
+#: merge-ort.c:1179
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but a possible merge resolution exists:\n"
@@ -4650,7 +4687,7 @@
 "无法合并子模组 %s,但是存在一个可能的合并方案:\n"
 "%s\n"
 
-#: merge-ort.c:955 merge-recursive.c:1259
+#: merge-ort.c:1183 merge-recursive.c:1273
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4666,7 +4703,7 @@
 "\n"
 "以接受此建议。\n"
 
-#: merge-ort.c:968
+#: merge-ort.c:1196
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but multiple possible merges exist:\n"
@@ -4675,21 +4712,21 @@
 "无法合并子模组 %s,但是存在多个可能的合并:\n"
 "%s"
 
-#: merge-ort.c:1127 merge-recursive.c:1341
+#: merge-ort.c:1415 merge-recursive.c:1362
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-ort.c:1132 merge-recursive.c:1346
+#: merge-ort.c:1420 merge-recursive.c:1367
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-ort.c:1139 merge-recursive.c:1378
+#: merge-ort.c:1427 merge-recursive.c:1400
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-ort.c:1278 merge-recursive.c:2100
+#: merge-ort.c:1566 merge-recursive.c:2122
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4698,7 +4735,7 @@
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
-#: merge-ort.c:1288 merge-recursive.c:2110
+#: merge-ort.c:1576 merge-recursive.c:2132
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4707,22 +4744,24 @@
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
-#: merge-ort.c:1471
+#: merge-ort.c:1634
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to rename %s to; it was "
 "renamed to multiple other directories, with no destination getting a "
 "majority of the files."
-msgstr "冲突(分割的目录重命名):不清楚重命名 %s 到哪里,因为它被重命名到多个其他目录中,没有一个目标目录中包含多数文件。"
+msgstr ""
+"冲突(分割的目录重命名):不清楚重命名 %s 到哪里,因为它被重命名到多个其他目"
+"录中,没有一个目标目录中包含多数文件。"
 
-#: merge-ort.c:1637 merge-recursive.c:2447
+#: merge-ort.c:1788 merge-recursive.c:2468
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。"
 
-#: merge-ort.c:1781 merge-recursive.c:3215
+#: merge-ort.c:1932 merge-recursive.c:3244
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4730,7 +4769,7 @@
 msgstr ""
 "路径已更新:%s 添加到 %s,位于一个被重命名到 %s 的目录中,将其移动到 %s。"
 
-#: merge-ort.c:1788 merge-recursive.c:3222
+#: merge-ort.c:1939 merge-recursive.c:3251
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4739,7 +4778,7 @@
 "路径已更新:%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,将其移"
 "动到 %5$s。"
 
-#: merge-ort.c:1801 merge-recursive.c:3218
+#: merge-ort.c:1952 merge-recursive.c:3247
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4748,7 +4787,7 @@
 "冲突(文件位置):%s 添加到 %s,位于一个被重命名为 %s 的目录中,建议将其移动"
 "到 %s。"
 
-#: merge-ort.c:1809 merge-recursive.c:3225
+#: merge-ort.c:1960 merge-recursive.c:3254
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4757,79 +4796,100 @@
 "冲突(文件位置):%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,"
 "建议将其移动到 %5$s。"
 
-#: merge-ort.c:1952
+#: merge-ort.c:2103
 #, c-format
 msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
-msgstr "冲突(重命名/重命名):%1$s 重命名为 %3$s 中的 %2$s,以及在 %5$s 中的 %4$s。"
+msgstr ""
+"冲突(重命名/重命名):%1$s 重命名为 %3$s 中的 %2$s,以及在 %5$s 中的 %4$s。"
 
-#: merge-ort.c:2047
+#: merge-ort.c:2198
 #, c-format
 msgid ""
 "CONFLICT (rename involved in collision): rename of %s -> %s has content "
 "conflicts AND collides with another path; this may result in nested conflict "
 "markers."
-msgstr "冲突(重命名卷入冲突):重命名 %s -> %s 有内容冲突并且和另外一个路径碰撞,这可能导致嵌套的冲突标签。"
+msgstr ""
+"冲突(重命名卷入冲突):重命名 %s -> %s 有内容冲突并且和另外一个路径碰撞,这"
+"可能导致嵌套的冲突标签。"
 
-#: merge-ort.c:2066 merge-ort.c:2090
+#: merge-ort.c:2217 merge-ort.c:2241
 #, c-format
 msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
 msgstr "冲突(重命名/删除):%1$s 在 %3$s 中重命名为 %2$s,但在 %4$s 中删除。"
 
-#: merge-ort.c:2735
+#: merge-ort.c:2550 merge-recursive.c:3002
+#, c-format
+msgid "cannot read object %s"
+msgstr "不能读取对象 %s"
+
+#: merge-ort.c:2553 merge-recursive.c:3005
+#, c-format
+msgid "object %s is not a blob"
+msgstr "对象 %s 不是一个数据对象"
+
+#: merge-ort.c:2981
 #, c-format
 msgid ""
 "CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
 "%s instead."
 msgstr "冲突(文件/目录):目录已存在于 %2$s 中的 %1$s,将其移动到 %3$s。"
 
-#: merge-ort.c:2808
+#: merge-ort.c:3055
 #, c-format
 msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed %s "
+"CONFLICT (distinct types): %s had different types on each side; renamed both "
 "of them so each can be recorded somewhere."
-msgstr "冲突(不同类型):%s 在每一侧有不同的类型,重命名它们中的%s以便每个被记录在不同位置。"
+msgstr "冲突(不同类型):%s 在两侧有不同的类型,将两者都重命名以便它们能记录在不同位置。"
 
-#: merge-ort.c:2812
-msgid "both"
-msgstr "双方"
+#: merge-ort.c:3062
+#, c-format
+msgid ""
+"CONFLICT (distinct types): %s had different types on each side; renamed one "
+"of them so each can be recorded somewhere."
+msgstr "冲突(不同类型):%s 在两侧有不同的类型,将其中之一重命名以便它们能记录在不同位置。"
 
-#: merge-ort.c:2812
-msgid "one"
-msgstr "一个"
-
-#: merge-ort.c:2907 merge-recursive.c:3052
+#: merge-ort.c:3162 merge-recursive.c:3081
 msgid "content"
 msgstr "内容"
 
-#: merge-ort.c:2909 merge-recursive.c:3056
+#: merge-ort.c:3164 merge-recursive.c:3085
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-ort.c:2911 merge-recursive.c:3101
+#: merge-ort.c:3166 merge-recursive.c:3130
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-ort.c:2913 merge-recursive.c:3102
+#: merge-ort.c:3168 merge-recursive.c:3131
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-ort.c:2938
+#: merge-ort.c:3198
 #, c-format
 msgid ""
 "CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
 "of %s left in tree."
-msgstr "冲突(修改/删除):%1$s 在 %2$s 中被删除,在 %3$s 中被修改。%5$s 的 %4$s 版本在树中被保留。"
+msgstr ""
+"冲突(修改/删除):%1$s 在 %2$s 中被删除,在 %3$s 中被修改。%5$s 的 %4$s 版本"
+"在树中被保留。"
+
+#: merge-ort.c:3433
+#, c-format
+msgid ""
+"Note: %s not up to date and in way of checking out conflicted version; old "
+"copy renamed to %s"
+msgstr "注意:%s 不是最新的,并且与要检出的版本冲突。旧副本重命名为 %s"
 
 #. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
 #. base, and 2-3) the trees for the two trees we're merging.
 #.
-#: merge-ort.c:3406
+#: merge-ort.c:3730
 #, c-format
 msgid "collecting merge info failed for trees %s, %s, %s"
 msgstr "无法收集树 %s、%s、%s 的合并信息"
 
-#: merge-ort-wrappers.c:13 merge-recursive.c:3661
+#: merge-ort-wrappers.c:13 merge-recursive.c:3699
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4838,10 +4898,9 @@
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
-#: merge-ort-wrappers.c:33 merge-recursive.c:3436
-#, c-format
-msgid "Already up to date!"
-msgstr "已经是最新的!"
+#: merge-ort-wrappers.c:33 merge-recursive.c:3465 builtin/merge.c:402
+msgid "Already up to date."
+msgstr "已经是最新的。"
 
 #: merge-recursive.c:356
 msgid "(bad commit)\n"
@@ -4857,85 +4916,85 @@
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "add_cacheinfo 无法刷新路径 '%s',合并终止。"
 
-#: merge-recursive.c:874
+#: merge-recursive.c:876
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "创建路径 '%s'%s 失败"
 
-#: merge-recursive.c:885
+#: merge-recursive.c:887
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:899 merge-recursive.c:918
+#: merge-recursive.c:901 merge-recursive.c:920
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:908
+#: merge-recursive.c:910
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:949 builtin/cat-file.c:41
+#: merge-recursive.c:951 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:954
+#: merge-recursive.c:956
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:979
+#: merge-recursive.c:981
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "打开 '%s' 失败:%s"
 
-#: merge-recursive.c:990
+#: merge-recursive.c:992
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "创建符号链接 '%s' 失败:%s"
 
-#: merge-recursive.c:995
+#: merge-recursive.c:997
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:1213 merge-recursive.c:1225
+#: merge-recursive.c:1227 merge-recursive.c:1239
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "子模组 %s 快进到如下提交:"
 
-#: merge-recursive.c:1216 merge-recursive.c:1228
+#: merge-recursive.c:1230 merge-recursive.c:1242
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
-#: merge-recursive.c:1251
+#: merge-recursive.c:1265
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr "无法合并子模组 %s (没发现合并跟随的提交)"
 
-#: merge-recursive.c:1255
+#: merge-recursive.c:1269
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "无法合并子模组 %s(非快进)"
 
-#: merge-recursive.c:1256
+#: merge-recursive.c:1270
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "找到子模组的一个可能的合并方案:\n"
 
-#: merge-recursive.c:1268
+#: merge-recursive.c:1282
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "无法合并子模组 %s (发现多个合并)"
 
-#: merge-recursive.c:1402
+#: merge-recursive.c:1424
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr "错误:拒绝丢失未跟踪文件 '%s',而是写入 %s。"
 
-#: merge-recursive.c:1474
+#: merge-recursive.c:1496
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -4944,7 +5003,7 @@
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本被保留。"
 
-#: merge-recursive.c:1479
+#: merge-recursive.c:1501
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -4953,7 +5012,7 @@
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本被保留。"
 
-#: merge-recursive.c:1486
+#: merge-recursive.c:1508
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -4962,7 +5021,7 @@
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本保留在 %8$s 中。"
 
-#: merge-recursive.c:1491
+#: merge-recursive.c:1513
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -4971,40 +5030,40 @@
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本保留在 %9$s 中。"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1548
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1548
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1577 merge-recursive.c:2484 merge-recursive.c:3129
+#: merge-recursive.c:1599 merge-recursive.c:2505 merge-recursive.c:3158
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "拒绝丢失脏文件 '%s'"
 
-#: merge-recursive.c:1587
+#: merge-recursive.c:1609
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "拒绝在 '%s' 处失去未跟踪文件,即使它存在于重命名中。"
 
-#: merge-recursive.c:1645
+#: merge-recursive.c:1667
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1698
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1681
+#: merge-recursive.c:1703
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "拒绝丢失未跟踪文件 '%s',而是添加为 %s"
 
-#: merge-recursive.c:1708
+#: merge-recursive.c:1730
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -5013,18 +5072,18 @@
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1713
+#: merge-recursive.c:1735
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1805
+#: merge-recursive.c:1827
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
 "%5$s"
 
-#: merge-recursive.c:2068
+#: merge-recursive.c:2090
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -5034,7 +5093,7 @@
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
-#: merge-recursive.c:2202
+#: merge-recursive.c:2224
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -5043,89 +5102,79 @@
 "冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 "
 "%4$s->%5$s"
 
-#: merge-recursive.c:2973
-#, c-format
-msgid "cannot read object %s"
-msgstr "不能读取对象 %s"
-
-#: merge-recursive.c:2976
-#, c-format
-msgid "object %s is not a blob"
-msgstr "对象 %s 不是一个数据对象"
-
-#: merge-recursive.c:3040
+#: merge-recursive.c:3069
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:3040
+#: merge-recursive.c:3069
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:3079
+#: merge-recursive.c:3108
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:3132
+#: merge-recursive.c:3161
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:3339
+#: merge-recursive.c:3368
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:3362
+#: merge-recursive.c:3391
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:3367
+#: merge-recursive.c:3396
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:3374
+#: merge-recursive.c:3403
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr "冲突(%1$s):在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s"
 
-#: merge-recursive.c:3383
+#: merge-recursive.c:3412
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:3392
+#: merge-recursive.c:3421
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "冲突(add/add):合并冲突于 %s"
 
-#: merge-recursive.c:3445
+#: merge-recursive.c:3474
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:3539
+#: merge-recursive.c:3568
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:3552
+#: merge-recursive.c:3581
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:3602
+#: merge-recursive.c:3631
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:3758
+#: merge-recursive.c:3796
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:3776 builtin/merge.c:712 builtin/merge.c:896
-#: builtin/stash.c:471
+#: merge-recursive.c:3814 builtin/merge.c:716 builtin/merge.c:900
+#: builtin/stash.c:473
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -5133,176 +5182,195 @@
 msgid "failed to read the cache"
 msgstr "读取缓存失败"
 
-#: merge.c:109 rerere.c:704 builtin/am.c:1883 builtin/am.c:1917
-#: builtin/checkout.c:575 builtin/checkout.c:828 builtin/clone.c:817
-#: builtin/stash.c:265
+#: merge.c:109 rerere.c:704 builtin/am.c:1931 builtin/am.c:1965
+#: builtin/checkout.c:595 builtin/checkout.c:849 builtin/clone.c:821
+#: builtin/stash.c:267
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: midx.c:62
+#: midx.c:74
 msgid "multi-pack-index OID fanout is of the wrong size"
 msgstr "多包索引的对象ID扇出表大小错误"
 
-#: midx.c:93
+#: midx.c:105
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "多包索引文件 %s 太小"
 
-#: midx.c:109
+#: midx.c:121
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "多包索引签名 0x%08x 和签名 0x%08x 不匹配"
 
-#: midx.c:114
+#: midx.c:126
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "multi-pack-index 版本 %d 不能被识别"
 
-#: midx.c:119
+#: midx.c:131
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr "多包索引哈希版本 %u 和版本 %u 不匹配"
 
-#: midx.c:136
+#: midx.c:148
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "多包索引缺少必需的包名块"
 
-#: midx.c:138
+#: midx.c:150
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "多包索引缺少必需的对象 ID 扇出块"
 
-#: midx.c:140
+#: midx.c:152
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "多包索引缺少必需的对象 ID 查询块"
 
-#: midx.c:142
+#: midx.c:154
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "多包索引缺少必需的对象偏移块"
 
-#: midx.c:158
+#: midx.c:170
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "多包索引包名无序:'%s' 在 '%s' 之前"
 
-#: midx.c:202
+#: midx.c:214
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "错的 pack-int-id:%u(共有 %u 个包)"
 
-#: midx.c:252
+#: midx.c:264
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "多包索引存储一个64位偏移,但是 off_t 太小"
 
-#: midx.c:467
+#: midx.c:490
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "添加包文件 '%s' 失败"
 
-#: midx.c:473
+#: midx.c:496
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "打开包索引 '%s' 失败"
 
-#: midx.c:533
+#: midx.c:564
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "在包文件中定位对象 %d 失败"
 
-#: midx.c:821
+#: midx.c:880 builtin/index-pack.c:1535
+msgid "cannot store reverse index file"
+msgstr "无法存储反向索引文件"
+
+#: midx.c:933
 msgid "Adding packfiles to multi-pack-index"
 msgstr "添加包文件到多包索引"
 
-#: midx.c:855
+#: midx.c:979
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "没有看到要丢弃的包文件 %s"
 
-#: midx.c:904
+#: midx.c:1024
+#, c-format
+msgid "unknown preferred pack: '%s'"
+msgstr "未知的首选包:'%s'"
+
+#: midx.c:1029
+#, c-format
+msgid "preferred pack '%s' is expired"
+msgstr "首选包 '%s' 已过期"
+
+#: midx.c:1045
 msgid "no pack files to index."
 msgstr "没有要索引的包文件。"
 
-#: midx.c:965
+#: midx.c:1125 builtin/clean.c:37
+#, c-format
+msgid "failed to remove %s"
+msgstr "删除 %s 失败"
+
+#: midx.c:1156
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "清理位于 %s 的多包索引失败"
 
-#: midx.c:1021
+#: midx.c:1214
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr "多包索引文件存在,但无法解析"
 
-#: midx.c:1029
+#: midx.c:1222
 msgid "Looking for referenced packfiles"
 msgstr "正在查找引用的包文件"
 
-#: midx.c:1044
+#: midx.c:1237
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr "对象 ID 扇出无序:fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1049
+#: midx.c:1242
 msgid "the midx contains no oid"
 msgstr "midx 不包含 oid"
 
-#: midx.c:1058
+#: midx.c:1251
 msgid "Verifying OID order in multi-pack-index"
 msgstr "校验多包索引中的 OID 顺序"
 
-#: midx.c:1067
+#: midx.c:1260
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "对象 ID 查询无序:oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1087
+#: midx.c:1280
 msgid "Sorting objects by packfile"
 msgstr "通过包文件为对象排序"
 
-#: midx.c:1094
+#: midx.c:1287
 msgid "Verifying object offsets"
 msgstr "校验对象偏移"
 
-#: midx.c:1110
+#: midx.c:1303
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "为 oid[%d] = %s 加载包条目失败"
 
-#: midx.c:1116
+#: midx.c:1309
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "为包文件 %s 加载包索引失败"
 
-#: midx.c:1125
+#: midx.c:1318
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "oid[%d] = %s 错误的对象偏移:%<PRIx64> != %<PRIx64>"
 
-#: midx.c:1150
+#: midx.c:1343
 msgid "Counting referenced objects"
 msgstr "正在对引用对象计数"
 
-#: midx.c:1160
+#: midx.c:1353
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "正在查找和删除未引用的包文件"
 
-#: midx.c:1351
+#: midx.c:1544
 msgid "could not start pack-objects"
 msgstr "不能开始 pack-objects"
 
-#: midx.c:1371
+#: midx.c:1564
 msgid "could not finish pack-objects"
 msgstr "不能结束 pack-objects"
 
-#: name-hash.c:538
+#: name-hash.c:542
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "不能创建 lazy_dir 线程:%s"
 
-#: name-hash.c:560
+#: name-hash.c:564
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "不能创建 lazy_name 线程:%s"
 
-#: name-hash.c:566
+#: name-hash.c:570
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "不能加入 lasy_name 线程:%s"
@@ -5346,256 +5414,256 @@
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
-#: object-file.c:480
+#: object-file.c:526
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr "对象目录 %s 不存在,检查 .git/objects/info/alternates"
 
-#: object-file.c:531
+#: object-file.c:577
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "无法规范化备用对象路径:%s"
 
-#: object-file.c:603
+#: object-file.c:649
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s:忽略备用对象库,嵌套太深"
 
-#: object-file.c:610
+#: object-file.c:656
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "无法规范化对象目录: %s"
 
-#: object-file.c:653
+#: object-file.c:699
 msgid "unable to fdopen alternates lockfile"
 msgstr "无法 fdopen 替换锁文件"
 
-#: object-file.c:671
+#: object-file.c:717
 msgid "unable to read alternates file"
 msgstr "无法读取替代文件"
 
-#: object-file.c:678
+#: object-file.c:724
 msgid "unable to move new alternates file into place"
 msgstr "无法将新的替代文件移动到位"
 
-#: object-file.c:713
+#: object-file.c:759
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: object-file.c:734
+#: object-file.c:780
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: object-file.c:740
+#: object-file.c:786
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: object-file.c:746
+#: object-file.c:792
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: object-file.c:754
+#: object-file.c:800
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被移植"
 
-#: object-file.c:814
+#: object-file.c:860
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "解析备用引用时无效的行:%s"
 
-#: object-file.c:964
+#: object-file.c:1010
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "尝试 mmap %<PRIuMAX>,超过了最大值 %<PRIuMAX>"
 
-#: object-file.c:985
+#: object-file.c:1031
 msgid "mmap failed"
 msgstr "mmap 失败"
 
-#: object-file.c:1149
+#: object-file.c:1195
 #, c-format
 msgid "object file %s is empty"
 msgstr "对象文件 %s 为空"
 
-#: object-file.c:1284 object-file.c:2477
+#: object-file.c:1330 object-file.c:2524
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "损坏的松散对象 '%s'"
 
-#: object-file.c:1286 object-file.c:2481
+#: object-file.c:1332 object-file.c:2528
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "松散对象 '%s' 后面有垃圾数据"
 
-#: object-file.c:1328
+#: object-file.c:1374
 msgid "invalid object type"
 msgstr "无效的对象类型"
 
-#: object-file.c:1412
+#: object-file.c:1458
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "无法用 --allow-unknown-type 参数解开 %s 头信息"
 
-#: object-file.c:1415
+#: object-file.c:1461
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "无法解开 %s 头部"
 
-#: object-file.c:1421
+#: object-file.c:1467
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "无法用 --allow-unknown-type 参数解析 %s 头信息"
 
-#: object-file.c:1424
+#: object-file.c:1470
 #, c-format
 msgid "unable to parse %s header"
 msgstr "无法解析 %s 头部"
 
-#: object-file.c:1651
+#: object-file.c:1697
 #, c-format
 msgid "failed to read object %s"
 msgstr "读取对象 %s 失败"
 
-#: object-file.c:1655
+#: object-file.c:1701
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "找不到 %2$s 的替代 %1$s"
 
-#: object-file.c:1659
+#: object-file.c:1705
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "松散对象 %s(保存在 %s)已损坏"
 
-#: object-file.c:1663
+#: object-file.c:1709
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "打包对象 %s(保存在 %s)已损坏"
 
-#: object-file.c:1768
+#: object-file.c:1814
 #, c-format
 msgid "unable to write file %s"
 msgstr "无法写文件 %s"
 
-#: object-file.c:1775
+#: object-file.c:1821
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "无法为 '%s' 设置权限"
 
-#: object-file.c:1782
+#: object-file.c:1828
 msgid "file write error"
 msgstr "文件写错误"
 
-#: object-file.c:1802
+#: object-file.c:1848
 msgid "error when closing loose object file"
 msgstr "关闭松散对象文件时出错"
 
-#: object-file.c:1867
+#: object-file.c:1913
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr "权限不足,无法在仓库对象库 %s 中添加对象"
 
-#: object-file.c:1869
+#: object-file.c:1915
 msgid "unable to create temporary file"
 msgstr "无法创建临时文件"
 
-#: object-file.c:1893
+#: object-file.c:1939
 msgid "unable to write loose object file"
 msgstr "不能写松散对象文件"
 
-#: object-file.c:1899
+#: object-file.c:1945
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "不能压缩新对象 %s(%d)"
 
-#: object-file.c:1903
+#: object-file.c:1949
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "在对象 %s 上调用 deflateEnd 失败(%d)"
 
-#: object-file.c:1907
+#: object-file.c:1953
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "被 %s 的不稳定对象源数据搞糊涂了"
 
-#: object-file.c:1917 builtin/pack-objects.c:1097
+#: object-file.c:1963 builtin/pack-objects.c:1097
 #, c-format
 msgid "failed utime() on %s"
 msgstr "在 %s 上调用 utime() 失败"
 
-#: object-file.c:1994
+#: object-file.c:2040
 #, c-format
 msgid "cannot read object for %s"
 msgstr "不能读取对象 %s"
 
-#: object-file.c:2045
+#: object-file.c:2091
 msgid "corrupt commit"
 msgstr "损坏的提交"
 
-#: object-file.c:2053
+#: object-file.c:2099
 msgid "corrupt tag"
 msgstr "损坏的标签"
 
-#: object-file.c:2153
+#: object-file.c:2199
 #, c-format
 msgid "read error while indexing %s"
 msgstr "索引 %s 时读取错误"
 
-#: object-file.c:2156
+#: object-file.c:2202
 #, c-format
 msgid "short read while indexing %s"
 msgstr "索引 %s 时读入不完整"
 
-#: object-file.c:2229 object-file.c:2239
+#: object-file.c:2275 object-file.c:2285
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s:插入数据库失败"
 
-#: object-file.c:2245
+#: object-file.c:2291
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s:不支持的文件类型"
 
-#: object-file.c:2269
+#: object-file.c:2315
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s 不是一个有效的对象"
 
-#: object-file.c:2271
+#: object-file.c:2317
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
-#: object-file.c:2298 builtin/index-pack.c:192
+#: object-file.c:2344 builtin/index-pack.c:192
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: object-file.c:2488 object-file.c:2541
+#: object-file.c:2535 object-file.c:2588
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "%s 的哈希值不匹配(预期 %s)"
 
-#: object-file.c:2512
+#: object-file.c:2559
 #, c-format
 msgid "unable to mmap %s"
 msgstr "不能 mmap %s"
 
-#: object-file.c:2517
+#: object-file.c:2564
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "无法解压缩 %s 的头部"
 
-#: object-file.c:2523
+#: object-file.c:2570
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "无法解析 %s 的头部"
 
-#: object-file.c:2534
+#: object-file.c:2581
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "无法解压缩 %s 的内容"
@@ -5706,71 +5774,71 @@
 msgid "object %s is a %s, not a %s"
 msgstr "对象 %s 是一个 %s,不是一个 %s"
 
-#: object.c:233
+#: object.c:232
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "对象 %s 有未知的类型 id %d"
 
-#: object.c:246
+#: object.c:245
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
-#: object.c:266 object.c:278
+#: object.c:265 object.c:277
 #, c-format
 msgid "hash mismatch %s"
 msgstr "哈希值与 %s 不匹配"
 
-#: pack-bitmap.c:843 pack-bitmap.c:849 builtin/pack-objects.c:2226
+#: pack-bitmap.c:844 pack-bitmap.c:850 builtin/pack-objects.c:2251
 #, c-format
 msgid "unable to get size of %s"
 msgstr "无法得到 %s 的大小"
 
-#: pack-bitmap.c:1489 builtin/rev-list.c:92
+#: pack-bitmap.c:1547 builtin/rev-list.c:92
 #, c-format
 msgid "unable to get disk usage of %s"
 msgstr "无法得到 %s 的磁盘使用量"
 
-#: pack-revindex.c:220
+#: pack-revindex.c:221
 #, c-format
 msgid "reverse-index file %s is too small"
 msgstr "反向索引文件 %s 太小"
 
-#: pack-revindex.c:225
+#: pack-revindex.c:226
 #, c-format
 msgid "reverse-index file %s is corrupt"
 msgstr "反向索引文件 %s 损坏"
 
-#: pack-revindex.c:233
+#: pack-revindex.c:234
 #, c-format
 msgid "reverse-index file %s has unknown signature"
 msgstr "反向索引文件 %s 有错误的签名"
 
-#: pack-revindex.c:237
+#: pack-revindex.c:238
 #, c-format
 msgid "reverse-index file %s has unsupported version %<PRIu32>"
 msgstr "反向索引文件 %s 不支持的版本 %<PRIu32>"
 
-#: pack-revindex.c:242
+#: pack-revindex.c:243
 #, c-format
 msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
 msgstr "反向索引文件 %s 有不支持的哈希 ID %<PRIu32>"
 
-#: pack-write.c:236
+#: pack-write.c:250
 msgid "cannot both write and verify reverse index"
 msgstr "无法同时写入和校验反向索引"
 
-#: pack-write.c:257
+#: pack-write.c:271
 #, c-format
 msgid "could not stat: %s"
 msgstr "不能调用 stat:%s"
 
-#: pack-write.c:269
+#: pack-write.c:283
 #, c-format
 msgid "failed to make %s readable"
 msgstr "无法设置 %s 为可读"
 
-#: pack-write.c:508
+#: pack-write.c:522
 #, c-format
 msgid "could not write '%s' promisor file"
 msgstr "无法写入 '%s' 承诺者文件"
@@ -5779,12 +5847,12 @@
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: packfile.c:1934
+#: packfile.c:1937
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
-#: packfile.c:1938
+#: packfile.c:1941
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
@@ -5849,31 +5917,31 @@
 msgid "did you mean `--%s` (with two dashes)?"
 msgstr "你的意思是 `--%s`(有两个短线)?"
 
-#: parse-options.c:666 parse-options.c:971
+#: parse-options.c:668 parse-options.c:988
 #, c-format
 msgid "alias of --%s"
 msgstr "--%s 的别名"
 
-#: parse-options.c:862
+#: parse-options.c:879
 #, c-format
 msgid "unknown option `%s'"
 msgstr "未知选项 `%s'"
 
-#: parse-options.c:864
+#: parse-options.c:881
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "未知开关 `%c'"
 
-#: parse-options.c:866
+#: parse-options.c:883
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "字符串中未知的非 ascii 字符选项:`%s'"
 
-#: parse-options.c:890
+#: parse-options.c:907
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:909
+#: parse-options.c:926
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
@@ -5881,18 +5949,18 @@
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:915
+#: parse-options.c:932
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:918
+#: parse-options.c:935
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:957
+#: parse-options.c:974
 msgid "-NUM"
 msgstr "-数字"
 
@@ -5901,78 +5969,78 @@
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
 
-#: pathspec.c:130
+#: pathspec.c:151
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr "转义字符 '\\' 不能作为属性值的最后一个字符"
 
-#: pathspec.c:148
+#: pathspec.c:169
 msgid "Only one 'attr:' specification is allowed."
 msgstr "只允许一个 'attr:' 规格。"
 
-#: pathspec.c:151
+#: pathspec.c:172
 msgid "attr spec must not be empty"
 msgstr "属性规格不能为空"
 
-#: pathspec.c:194
+#: pathspec.c:215
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "无效的属性名 %s"
 
-#: pathspec.c:259
+#: pathspec.c:280
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容"
 
-#: pathspec.c:266
+#: pathspec.c:287
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
 
-#: pathspec.c:306
+#: pathspec.c:327
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "路径规格包含无效的神奇前缀"
 
-#: pathspec.c:327
+#: pathspec.c:348
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
 
-#: pathspec.c:332
+#: pathspec.c:353
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'"
 
-#: pathspec.c:370
+#: pathspec.c:391
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
 
-#: pathspec.c:429
+#: pathspec.c:450
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s:'literal' 和 'glob' 不兼容"
 
-#: pathspec.c:445
+#: pathspec.c:466
 #, c-format
 msgid "%s: '%s' is outside repository at '%s'"
 msgstr "%s:'%s' 在位于 '%s' 的仓库之外"
 
-#: pathspec.c:521
+#: pathspec.c:542
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s'(助记符:'%c')"
 
-#: pathspec.c:531
+#: pathspec.c:552
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
 
-#: pathspec.c:598
+#: pathspec.c:619
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
 
-#: pathspec.c:643
+#: pathspec.c:664
 #, c-format
 msgid "line is badly quoted: %s"
 msgstr "行被错误地引用:%s"
@@ -5993,7 +6061,7 @@
 msgid "flush packet write failed"
 msgstr "flush 包写错误"
 
-#: pkt-line.c:153 pkt-line.c:239
+#: pkt-line.c:153 pkt-line.c:265
 msgid "protocol error: impossibly long line"
 msgstr "协议错误:不可能的长行"
 
@@ -6001,33 +6069,34 @@
 msgid "packet write with format failed"
 msgstr "格式化包写入错误"
 
-#: pkt-line.c:203
+#: pkt-line.c:204
 msgid "packet write failed - data exceeds max packet size"
 msgstr "写数据包失败:数据超过了包的最大长度"
 
-#: pkt-line.c:210 pkt-line.c:217
-msgid "packet write failed"
-msgstr "数据包写入失败"
+#: pkt-line.c:222
+#, c-format
+msgid "packet write failed: %s"
+msgstr "数据包写入失败:%s"
 
-#: pkt-line.c:302
+#: pkt-line.c:328 pkt-line.c:329
 msgid "read error"
 msgstr "读取错误"
 
-#: pkt-line.c:310
+#: pkt-line.c:339 pkt-line.c:340
 msgid "the remote end hung up unexpectedly"
 msgstr "远端意外挂断了"
 
-#: pkt-line.c:338
+#: pkt-line.c:369 pkt-line.c:371
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "协议错误:错误的行长度字符串:%.4s"
 
-#: pkt-line.c:352 pkt-line.c:357
+#: pkt-line.c:386 pkt-line.c:388 pkt-line.c:394 pkt-line.c:396
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "协议错误:错误的行长度 %d"
 
-#: pkt-line.c:373 sideband.c:165
+#: pkt-line.c:413 sideband.c:165
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
@@ -6041,7 +6110,7 @@
 msgid "unable to create threaded lstat: %s"
 msgstr "无法创建线程 lstat:%s"
 
-#: pretty.c:984
+#: pretty.c:988
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
@@ -6062,6 +6131,10 @@
 msgid "promisor remote name cannot begin with '/': %s"
 msgstr "promisor 远程名称不能以 '/' 开始:%s"
 
+#: protocol-caps.c:103
+msgid "object-info: expected flush after arguments"
+msgstr "object-info:在参数之后应有一个 flush"
+
 #: prune-packed.c:35
 msgid "Removing duplicate objects"
 msgstr "正在删除重复对象"
@@ -6074,7 +6147,7 @@
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
-#: range-diff.c:101 sequencer.c:5318
+#: range-diff.c:101 sequencer.c:5551
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
@@ -6104,50 +6177,50 @@
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
 
-#: read-cache.c:682
+#: read-cache.c:708
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "将不会添加文件别名 '%s'('%s' 已经存在于索引中)"
 
-#: read-cache.c:698
+#: read-cache.c:724
 msgid "cannot create an empty blob in the object database"
 msgstr "不能在对象数据库中创建空的数据对象"
 
-#: read-cache.c:720
+#: read-cache.c:746
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr "%s:只能添加常规文件、符号链接或 git 目录"
 
-#: read-cache.c:725
+#: read-cache.c:751
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "'%s' 没有检出一个提交"
 
-#: read-cache.c:777
+#: read-cache.c:803
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "无法索引文件 '%s'"
 
-#: read-cache.c:796
+#: read-cache.c:822
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "无法在索引中添加 '%s'"
 
-#: read-cache.c:807
+#: read-cache.c:833
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "无法对 %s 执行 stat"
 
-#: read-cache.c:1318
+#: read-cache.c:1356
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' 看起来既是文件又是目录"
 
-#: read-cache.c:1532
+#: read-cache.c:1571
 msgid "Refresh index"
 msgstr "刷新索引"
 
-#: read-cache.c:1657
+#: read-cache.c:1700
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -6156,7 +6229,7 @@
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1667
+#: read-cache.c:1710
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -6165,140 +6238,144 @@
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1723
+#: read-cache.c:1766
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "坏的签名 0x%08x"
 
-#: read-cache.c:1726
+#: read-cache.c:1769
 #, c-format
 msgid "bad index version %d"
 msgstr "坏的索引版本 %d"
 
-#: read-cache.c:1735
+#: read-cache.c:1778
 msgid "bad index file sha1 signature"
 msgstr "坏的索引文件 sha1 签名"
 
-#: read-cache.c:1765
+#: read-cache.c:1812
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "索引使用不被支持的 %.4s 扩展"
 
 # 	
-#: read-cache.c:1767
+#: read-cache.c:1814
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "忽略 %.4s 扩展"
 
-#: read-cache.c:1804
+#: read-cache.c:1851
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "未知的索引条目格式 0x%08x"
 
-#: read-cache.c:1820
+#: read-cache.c:1867
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "索引中靠近路径 '%s' 有错误的名称字段"
 
-#: read-cache.c:1877
+#: read-cache.c:1924
 msgid "unordered stage entries in index"
 msgstr "索引中有未排序的暂存条目"
 
-#: read-cache.c:1880
+#: read-cache.c:1927
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "合并文件 '%s' 有多个暂存条目"
 
-#: read-cache.c:1883
+#: read-cache.c:1930
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "'%s' 的未排序暂存条目"
 
-#: read-cache.c:1989 read-cache.c:2280 rerere.c:549 rerere.c:583 rerere.c:1095
-#: submodule.c:1634 builtin/add.c:546 builtin/check-ignore.c:181
-#: builtin/checkout.c:504 builtin/checkout.c:690 builtin/clean.c:991
-#: builtin/commit.c:364 builtin/diff-tree.c:122 builtin/grep.c:505
-#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
+#: read-cache.c:2036 read-cache.c:2333 rerere.c:549 rerere.c:583 rerere.c:1095
+#: submodule.c:1635 builtin/add.c:575 builtin/check-ignore.c:183
+#: builtin/checkout.c:522 builtin/checkout.c:711 builtin/clean.c:991
+#: builtin/commit.c:377 builtin/diff-tree.c:122 builtin/grep.c:505
+#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:291
 #: builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: read-cache.c:2133
+#: read-cache.c:2180
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "无法创建 load_cache_entries 线程:%s"
 
-#: read-cache.c:2146
+#: read-cache.c:2193
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "无法加入 load_cache_entries 线程:%s"
 
-#: read-cache.c:2179
+#: read-cache.c:2226
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s:打开索引文件失败"
 
-#: read-cache.c:2183
+#: read-cache.c:2230
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s:不能对打开的索引执行 stat 操作"
 
-#: read-cache.c:2187
+#: read-cache.c:2234
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s:索引文件比预期的小"
 
-#: read-cache.c:2191
+#: read-cache.c:2238
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s:无法对索引文件执行 map 操作"
 
-#: read-cache.c:2233
+#: read-cache.c:2280
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "无法创建 load_index_extensions 线程:%s"
 
-#: read-cache.c:2260
+#: read-cache.c:2307
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "无法加入 load_index_extensions 线程:%s"
 
-#: read-cache.c:2292
+#: read-cache.c:2345
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "无法刷新共享索引 '%s'"
 
-#: read-cache.c:2339
+#: read-cache.c:2392
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "损坏的索引,期望在 %2$s 中的 %1$s,得到 %3$s"
 
-#: read-cache.c:3035 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1141
+#: read-cache.c:3095 strbuf.c:1173 wrapper.c:633 builtin/merge.c:1145
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:3138 sequencer.c:2487 sequencer.c:4239
+#: read-cache.c:3138
+msgid "failed to convert to a sparse-index"
+msgstr "无法转换为稀疏索引"
+
+#: read-cache.c:3209 sequencer.c:2684 sequencer.c:4441
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:3151
+#: read-cache.c:3222
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
-#: read-cache.c:3163
+#: read-cache.c:3234
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: read-cache.c:3188
+#: read-cache.c:3263
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "不能修复 '%s' 的权限位"
 
-#: read-cache.c:3337
+#: read-cache.c:3412
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s:不能落到暂存区 #0"
@@ -6326,7 +6403,10 @@
 "r, reword <commit> = use commit, but edit the commit message\n"
 "e, edit <commit> = use commit, but stop for amending\n"
 "s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
+"                   commit's log message, unless -C is used, in which case\n"
+"                   keep only this commit's message; -c is same as -C but\n"
+"                   opens the editor\n"
 "x, exec <command> = run command (the rest of the line) using shell\n"
 "b, break = stop here (continue rebase later with 'git rebase --continue')\n"
 "d, drop <commit> = remove commit\n"
@@ -6335,17 +6415,20 @@
 "m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
 ".       create a merge commit using the original merge commit's\n"
 ".       message (or the oneline, if no original merge commit was\n"
-".       specified). Use -c <commit> to reword the commit message.\n"
+".       specified); use -c <commit> to reword the commit message\n"
 "\n"
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
 "\n"
 "命令:\n"
 "p, pick <提交> = 使用提交\n"
-"r, reword <提交> = 使用提交,但修改提交说明\n"
-"e, edit <提交> = 使用提交,进入 shell 以便进行提交修补\n"
-"s, squash <提交> = 使用提交,但融合到前一个提交\n"
-"f, fixup <提交> = 类似于 \"squash\",但丢弃提交说明日志\n"
+"r, reword <提交> = 使用提交,但编辑提交说明\n"
+"e, edit <提交> = 使用提交,但停止以便在 shell 中修补提交\n"
+"s, squash <提交> = 使用提交,但挤压到前一个提交\n"
+"f, fixup [-C | -c] <提交> = 类似于 \"squash\",但只保留前一个提交\n"
+"                   的提交说明,除非使用了 -C 参数,此情况下则只\n"
+"                   保留本提交说明。使用 -c 和 -C 类似,但会打开\n"
+"                   编辑器修改提交说明\n"
 "x, exec <命令> = 使用 shell 运行命令(此行剩余部分)\n"
 "b, break = 在此处停止(使用 'git rebase --continue' 继续变基)\n"
 "d, drop <提交> = 删除提交\n"
@@ -6358,14 +6441,14 @@
 "\n"
 "可以对这些行重新排序,将从上至下执行。\n"
 
-#: rebase-interactive.c:63
+#: rebase-interactive.c:66
 #, c-format
 msgid "Rebase %s onto %s (%d command)"
 msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] "变基 %s 到 %s(%d 个提交)"
 msgstr[1] "变基 %s 到 %s(%d 个提交)"
 
-#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
+#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:218
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -6373,7 +6456,7 @@
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
-#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
+#: rebase-interactive.c:78 git-rebase--preserve-merges.sh:222
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -6381,7 +6464,7 @@
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
-#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
+#: rebase-interactive.c:84 git-rebase--preserve-merges.sh:861
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -6395,7 +6478,7 @@
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
+#: rebase-interactive.c:89 git-rebase--preserve-merges.sh:938
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -6405,19 +6488,19 @@
 "然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 
-#: rebase-interactive.c:110 rerere.c:469 rerere.c:676 sequencer.c:3615
-#: sequencer.c:3641 sequencer.c:5424 builtin/fsck.c:329 builtin/rebase.c:272
+#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3816
+#: sequencer.c:3842 sequencer.c:5657 builtin/fsck.c:327 builtin/rebase.c:271
 #, c-format
 msgid "could not write '%s'"
 msgstr "不能写入 '%s'"
 
-#: rebase-interactive.c:116 builtin/rebase.c:204 builtin/rebase.c:230
-#: builtin/rebase.c:254
+#: rebase-interactive.c:119 builtin/rebase.c:203 builtin/rebase.c:229
+#: builtin/rebase.c:253
 #, c-format
 msgid "could not write '%s'."
 msgstr "不能写入 '%s'。"
 
-#: rebase-interactive.c:193
+#: rebase-interactive.c:196
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -6426,7 +6509,7 @@
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
-#: rebase-interactive.c:200
+#: rebase-interactive.c:203
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -6442,14 +6525,14 @@
 "可选值有:ignore、warn、error。\n"
 "\n"
 
-#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2402
-#: builtin/rebase.c:190 builtin/rebase.c:215 builtin/rebase.c:241
-#: builtin/rebase.c:266
+#: rebase-interactive.c:236 rebase-interactive.c:241 sequencer.c:2597
+#: builtin/rebase.c:189 builtin/rebase.c:214 builtin/rebase.c:240
+#: builtin/rebase.c:265
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: ref-filter.c:42 wt-status.c:1975
+#: ref-filter.c:42 wt-status.c:1978
 msgid "gone"
 msgstr "丢失"
 
@@ -6604,111 +6687,111 @@
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(if) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:806
+#: ref-filter.c:807
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(then) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:808
+#: ref-filter.c:809
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "格式:%%(then) 元素用了多次"
 
-#: ref-filter.c:810
+#: ref-filter.c:811
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "格式:%%(then) 元素用在了 %%(else) 之后"
 
-#: ref-filter.c:838
+#: ref-filter.c:839
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:840
+#: ref-filter.c:841
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:842
+#: ref-filter.c:843
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "格式:%%(else) 元素用了多次"
 
-#: ref-filter.c:857
+#: ref-filter.c:858
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
 
-#: ref-filter.c:914
+#: ref-filter.c:915
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
-#: ref-filter.c:1555
+#: ref-filter.c:1556
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1558
+#: ref-filter.c:1559
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(非分支,正变基分离头指针 %s)"
 
-#: ref-filter.c:1561
+#: ref-filter.c:1562
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 
-#: ref-filter.c:1565
+#: ref-filter.c:1566
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针在 %s 分离)"
 
-#: ref-filter.c:1568
+#: ref-filter.c:1569
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针自 %s 分离)"
 
-#: ref-filter.c:1571
+#: ref-filter.c:1572
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1603 ref-filter.c:1812
+#: ref-filter.c:1604 ref-filter.c:1813
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1613
+#: ref-filter.c:1614
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:1996
+#: ref-filter.c:1997
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
-#: ref-filter.c:2085
+#: ref-filter.c:2086
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:2090 refs.c:676
+#: ref-filter.c:2091 refs.c:676
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: ref-filter.c:2430
+#: ref-filter.c:2431
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2529
+#: ref-filter.c:2525
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
-#: ref-filter.c:2534
+#: ref-filter.c:2530
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "选项 `%s' 必须指向一个提交"
@@ -6824,7 +6907,7 @@
 #: refspec.c:170
 #, c-format
 msgid "invalid refspec '%s'"
-msgstr "无效的引用表达式:'%s'"
+msgstr "无效的引用规格:'%s'"
 
 #: remote.c:351
 #, c-format
@@ -6867,12 +6950,12 @@
 #: remote.c:1083
 #, c-format
 msgid "src refspec %s does not match any"
-msgstr "源引用表达式 %s 没有匹配"
+msgstr "源引用规格 %s 没有匹配"
 
 #: remote.c:1088
 #, c-format
 msgid "src refspec %s matches more than one"
-msgstr "源引用表达式 %s 匹配超过一个"
+msgstr "源引用规格 %s 匹配超过一个"
 
 #. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
@@ -6907,7 +6990,7 @@
 "Did you mean to create a new branch by pushing to\n"
 "'%s:refs/heads/%s'?"
 msgstr ""
-"引用表达式的 <src> 是一个提交对象。您是想创建一个新的分支而向\n"
+"引用规格的 <src> 是一个提交对象。您是想创建一个新的分支而向\n"
 "'%s:refs/heads/%s' 推送么?"
 
 #: remote.c:1128
@@ -6917,7 +7000,7 @@
 "Did you mean to create a new tag by pushing to\n"
 "'%s:refs/tags/%s'?"
 msgstr ""
-"引用表达式的 <src> 是一个标签对象。您是想创建一个新的标签而向\n"
+"引用规格的 <src> 是一个标签对象。您是想创建一个新的标签而向\n"
 "'%s:refs/tags/%s' 推送么?"
 
 #: remote.c:1133
@@ -6927,7 +7010,7 @@
 "Did you mean to tag a new tree by pushing to\n"
 "'%s:refs/tags/%s'?"
 msgstr ""
-"引用表达式的 <src> 是一个树对象。您是想为这个树对象创建标签而向\n"
+"引用规格的 <src> 是一个树对象。您是想为这个树对象创建标签而向\n"
 "'%s:refs/tags/%s' 推送么?"
 
 #: remote.c:1138
@@ -6937,7 +7020,7 @@
 "Did you mean to tag a new blob by pushing to\n"
 "'%s:refs/tags/%s'?"
 msgstr ""
-"引用表达式的 <src> 是一个数据对象。您是想为这个数据对象创建标签而向\n"
+"引用规格的 <src> 是一个数据对象。您是想为这个数据对象创建标签而向\n"
 "'%s:refs/tags/%s' 推送么?"
 
 #: remote.c:1174
@@ -6953,7 +7036,7 @@
 #: remote.c:1197
 #, c-format
 msgid "dst refspec %s matches more than one"
-msgstr "目标引用表达式 %s 匹配超过一个"
+msgstr "目标引用规格 %s 匹配超过一个"
 
 #: remote.c:1204
 #, c-format
@@ -7158,8 +7241,8 @@
 msgid "Recorded preimage for '%s'"
 msgstr "为 '%s' 记录 preimage"
 
-#: rerere.c:865 submodule.c:2088 builtin/log.c:1991
-#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
+#: rerere.c:865 submodule.c:2089 builtin/log.c:2000
+#: builtin/submodule--helper.c:1879 builtin/submodule--helper.c:1891
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
@@ -7197,25 +7280,25 @@
 msgid "could not determine HEAD revision"
 msgstr "不能确定 HEAD 版本"
 
-#: reset.c:70 reset.c:76 sequencer.c:3468
+#: reset.c:70 reset.c:76 sequencer.c:3669
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
-#: revision.c:2338
+#: revision.c:2343
 msgid "--unpacked=<packfile> no longer supported"
 msgstr "不再支持 --unpacked=<packfile>"
 
-#: revision.c:2668
+#: revision.c:2683
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2671
+#: revision.c:2686
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2877
+#: revision.c:2892
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L 尚不支持 -p 和 -s 之外的差异格式"
 
@@ -7223,12 +7306,12 @@
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:1274
+#: run-command.c:1275
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "不能创建 async 线程:%s"
 
-#: run-command.c:1338
+#: run-command.c:1345
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -7237,79 +7320,87 @@
 "因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
 "配置 `git config advice.ignoredHook false` 来关闭这条警告。"
 
-#: send-pack.c:146
+#: send-pack.c:150
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr "读取远程解包状态时收到意外的 flush 包"
 
-#: send-pack.c:148
+#: send-pack.c:152
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "不能解析远程解包状态:%s"
 
-#: send-pack.c:150
+#: send-pack.c:154
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "远程解包失败:%s"
 
-#: send-pack.c:374
+#: send-pack.c:378
 msgid "failed to sign the push certificate"
 msgstr "为推送证书签名失败"
 
-#: send-pack.c:467
+#: send-pack.c:433
+msgid "send-pack: unable to fork off fetch subprocess"
+msgstr "send-pack:无法派生 fetch 子进程"
+
+#: send-pack.c:455
+msgid "push negotiation failed; proceeding anyway with push"
+msgstr "推送协商失败,但还是继续推送"
+
+#: send-pack.c:520
 msgid "the receiving end does not support this repository's hash algorithm"
 msgstr "接收端不支持这个仓库的哈希算法"
 
-#: send-pack.c:476
+#: send-pack.c:529
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
-#: send-pack.c:478
+#: send-pack.c:531
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr "未发送推送证书,因为接收端不支持签名推送"
 
-#: send-pack.c:490
+#: send-pack.c:543
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
-#: send-pack.c:495
+#: send-pack.c:548
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:195
+#: sequencer.c:196
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
-#: sequencer.c:323
+#: sequencer.c:324
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:343 builtin/rebase.c:757 builtin/rebase.c:1602 builtin/rm.c:385
+#: sequencer.c:344 builtin/rebase.c:757 builtin/rebase.c:1592 builtin/rm.c:402
 #, c-format
 msgid "could not remove '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:353
+#: sequencer.c:354
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:355
+#: sequencer.c:356
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:357
+#: sequencer.c:358
 msgid "rebase"
 msgstr "变基"
 
-#: sequencer.c:359
+#: sequencer.c:360
 #, c-format
 msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
-#: sequencer.c:418
+#: sequencer.c:419
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -7317,7 +7408,7 @@
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:421
+#: sequencer.c:422
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -7326,43 +7417,43 @@
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:434 sequencer.c:3070
+#: sequencer.c:435 sequencer.c:3271
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:436 sequencer.c:2869 sequencer.c:3074 sequencer.c:3088
-#: sequencer.c:3345 sequencer.c:5334 strbuf.c:1168 wrapper.c:631
+#: sequencer.c:437 sequencer.c:3070 sequencer.c:3275 sequencer.c:3289
+#: sequencer.c:3546 sequencer.c:5567 strbuf.c:1170 wrapper.c:631
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:441
+#: sequencer.c:442
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:446 sequencer.c:2874 sequencer.c:3076 sequencer.c:3090
-#: sequencer.c:3353
+#: sequencer.c:447 sequencer.c:3075 sequencer.c:3277 sequencer.c:3291
+#: sequencer.c:3554
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:485
+#: sequencer.c:486
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
-#: sequencer.c:489
+#: sequencer.c:490
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
-#: sequencer.c:521
+#: sequencer.c:522
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 
-#: sequencer.c:560 builtin/tag.c:598
+#: sequencer.c:561 builtin/tag.c:609
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
@@ -7370,65 +7461,65 @@
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase".
 #.
-#: sequencer.c:670
+#: sequencer.c:671
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:684
+#: sequencer.c:685
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
-#: sequencer.c:698
+#: sequencer.c:699
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:778
+#: sequencer.c:779
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "在 '%.*s' 中没有 key"
 
-#: sequencer.c:789
+#: sequencer.c:790
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "无法为 '%s' 的值去引号"
 
-#: sequencer.c:826 wrapper.c:201 wrapper.c:371 builtin/am.c:710
-#: builtin/am.c:802 builtin/merge.c:1136 builtin/rebase.c:910
+#: sequencer.c:827 wrapper.c:201 wrapper.c:371 builtin/am.c:728
+#: builtin/am.c:820 builtin/merge.c:1140 builtin/rebase.c:910
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
 
-#: sequencer.c:836
+#: sequencer.c:837
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "已经给出 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:841
+#: sequencer.c:842
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "已经给出 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:846
+#: sequencer.c:847
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "已经给出 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:850
+#: sequencer.c:851
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "未知变量 '%s'"
 
-#: sequencer.c:855
+#: sequencer.c:856
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "缺少 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:857
+#: sequencer.c:858
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "缺少 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:859
+#: sequencer.c:860
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "缺少 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:924
+#: sequencer.c:925
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -7445,7 +7536,7 @@
 "  git rebase --continue\n"
 msgstr ""
 "您的工作区中存在已暂存的修改\n"
-"如果这些修改需要被并入前一个提交,执行:\n"
+"如果这些修改需要被挤压到前一个提交,执行:\n"
 "\n"
 "  git commit --amend %s\n"
 "\n"
@@ -7457,11 +7548,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:1211
+#: sequencer.c:1212
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
-#: sequencer.c:1217
+#: sequencer.c:1218
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7485,7 +7576,7 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1230
+#: sequencer.c:1231
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7508,339 +7599,343 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1272
+#: sequencer.c:1273
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:1274
+#: sequencer.c:1275
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1320
+#: sequencer.c:1321
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1322
+#: sequencer.c:1323
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1326
+#: sequencer.c:1327
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1347
+#: sequencer.c:1348
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1349
+#: sequencer.c:1350
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s 不是一个提交!"
 
-#: sequencer.c:1353 sequencer.c:1431 builtin/commit.c:1577
+#: sequencer.c:1354 sequencer.c:1432 builtin/commit.c:1692
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1409 sequencer.c:2108
+#: sequencer.c:1410 sequencer.c:2295
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1420 builtin/am.c:1566 builtin/merge.c:702
+#: sequencer.c:1421 builtin/am.c:1614 builtin/merge.c:706
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入树对象"
 
-#: sequencer.c:1453 sequencer.c:1573
+#: sequencer.c:1454 sequencer.c:1574
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "不能从 '%s' 读取提交说明"
 
-#: sequencer.c:1484 sequencer.c:1516
+#: sequencer.c:1485 sequencer.c:1517
 #, c-format
 msgid "invalid author identity '%s'"
 msgstr "无效的作者身份 '%s'"
 
-#: sequencer.c:1490
+#: sequencer.c:1491
 msgid "corrupt author: missing date information"
 msgstr "损坏的作者:缺失日期信息"
 
-#: sequencer.c:1529 builtin/am.c:1593 builtin/commit.c:1678 builtin/merge.c:905
-#: builtin/merge.c:930 t/helper/test-fast-rebase.c:78
+#: sequencer.c:1530 builtin/am.c:1641 builtin/commit.c:1806 builtin/merge.c:909
+#: builtin/merge.c:934 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "写提交对象失败"
 
-#: sequencer.c:1556 sequencer.c:4291 t/helper/test-fast-rebase.c:198
+#: sequencer.c:1557 sequencer.c:4493 t/helper/test-fast-rebase.c:198
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:1605
+#: sequencer.c:1606
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1610
+#: sequencer.c:1611
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1693 sequencer.c:1804
+#: sequencer.c:1694 sequencer.c:1975
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:1751 sequencer.c:1776
-#, c-format
-msgid "This is a combination of %d commits."
-msgstr "这是一个 %d 个提交的组合。"
-
-#: sequencer.c:1761
-msgid "need a HEAD to fixup"
-msgstr "需要一个 HEAD 来修复"
-
-#: sequencer.c:1763 sequencer.c:3380
-msgid "could not read HEAD"
-msgstr "不能读取 HEAD"
-
-#: sequencer.c:1765
-msgid "could not read HEAD's commit message"
-msgstr "不能读取 HEAD 的提交说明"
-
-#: sequencer.c:1771
-#, c-format
-msgid "cannot write '%s'"
-msgstr "不能写 '%s'"
-
-#: sequencer.c:1778 git-rebase--preserve-merges.sh:486
+#: sequencer.c:1736 git-rebase--preserve-merges.sh:486
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1786
-#, c-format
-msgid "could not read commit message of %s"
-msgstr "不能读取 %s 的提交说明"
-
-#: sequencer.c:1793
+#: sequencer.c:1737
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1799
+#: sequencer.c:1738
+msgid "The 1st commit message will be skipped:"
+msgstr "第一个提交说明将被跳过:"
+
+#: sequencer.c:1739
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
-#: sequencer.c:1887
+#: sequencer.c:1740
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "这是一个 %d 个提交的组合。"
+
+#: sequencer.c:1887 sequencer.c:1944
+#, c-format
+msgid "cannot write '%s'"
+msgstr "不能写 '%s'"
+
+#: sequencer.c:1934
+msgid "need a HEAD to fixup"
+msgstr "需要一个 HEAD 来修复"
+
+#: sequencer.c:1936 sequencer.c:3581
+msgid "could not read HEAD"
+msgstr "不能读取 HEAD"
+
+#: sequencer.c:1938
+msgid "could not read HEAD's commit message"
+msgstr "不能读取 HEAD 的提交说明"
+
+#: sequencer.c:1962
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "不能读取 %s 的提交说明"
+
+#: sequencer.c:2072
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:1894
+#: sequencer.c:2079
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
-#: sequencer.c:1913
+#: sequencer.c:2098
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:1921 sequencer.c:1929
+#: sequencer.c:2106 sequencer.c:2114
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:1935
+#: sequencer.c:2120
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1954
+#: sequencer.c:2139
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:2019
+#: sequencer.c:2205
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
-#: sequencer.c:2079
+#: sequencer.c:2265
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:2080
+#: sequencer.c:2266
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:2100
+#: sequencer.c:2287
 #, c-format
 msgid "dropping %s %s -- patch contents already upstream\n"
 msgstr "丢弃 %s %s -- 补丁内容已在上游\n"
 
-#: sequencer.c:2158
+#: sequencer.c:2345
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:2165
+#: sequencer.c:2352
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:2242
+#: sequencer.c:2425
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s 不接受参数:'%s'"
 
-#: sequencer.c:2251
+#: sequencer.c:2434
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:2282
+#: sequencer.c:2477
 #, c-format
 msgid "could not parse '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:2343
+#: sequencer.c:2538
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:2354
+#: sequencer.c:2549
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:2440
+#: sequencer.c:2635
 msgid "cancelling a cherry picking in progress"
 msgstr "正在取消一个进行中的拣选"
 
-#: sequencer.c:2449
+#: sequencer.c:2644
 msgid "cancelling a revert in progress"
 msgstr "正在取消一个进行中的还原"
 
-#: sequencer.c:2493
+#: sequencer.c:2690
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
-#: sequencer.c:2495
+#: sequencer.c:2692
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:2500
+#: sequencer.c:2697
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:2511
+#: sequencer.c:2708
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:2513
+#: sequencer.c:2710
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:2591
+#: sequencer.c:2788
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:2698
+#: sequencer.c:2897
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
-#: sequencer.c:2718
+#: sequencer.c:2917
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:2811 sequencer.c:4644
+#: sequencer.c:3012 sequencer.c:4869
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:2828
+#: sequencer.c:3029
 msgid "revert is already in progress"
 msgstr "一个还原操作已在进行"
 
-#: sequencer.c:2830
+#: sequencer.c:3031
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "尝试 \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2833
+#: sequencer.c:3034
 msgid "cherry-pick is already in progress"
 msgstr "拣选操作已在进行"
 
-#: sequencer.c:2835
+#: sequencer.c:3036
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "尝试 \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2849
+#: sequencer.c:3050
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:2864
+#: sequencer.c:3065
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:2924 sequencer.c:4379
+#: sequencer.c:3125 sequencer.c:4582
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:2926 sequencer.c:2937
+#: sequencer.c:3127 sequencer.c:3138
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:2928 sequencer.c:2972
+#: sequencer.c:3129 sequencer.c:3173
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:2958 builtin/grep.c:757
+#: sequencer.c:3159 builtin/grep.c:759
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:2960
+#: sequencer.c:3161
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:2961
+#: sequencer.c:3162
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:2967
+#: sequencer.c:3168
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:2978
+#: sequencer.c:3179
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
-#: sequencer.c:3019
+#: sequencer.c:3220
 msgid "no revert in progress"
 msgstr "没有正在进行的还原"
 
-#: sequencer.c:3028
+#: sequencer.c:3229
 msgid "no cherry-pick in progress"
 msgstr "没有正在进行的拣选"
 
-#: sequencer.c:3038
+#: sequencer.c:3239
 msgid "failed to skip the commit"
 msgstr "无法跳过这个提交"
 
-#: sequencer.c:3045
+#: sequencer.c:3246
 msgid "there is nothing to skip"
 msgstr "没有要跳过的"
 
-#: sequencer.c:3048
+#: sequencer.c:3249
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -7849,16 +7944,16 @@
 "您已经提交了么?\n"
 "试试 \"git %s --continue\""
 
-#: sequencer.c:3210 sequencer.c:4271
+#: sequencer.c:3411 sequencer.c:4473
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:3227
+#: sequencer.c:3428
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:3235
+#: sequencer.c:3436
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -7877,28 +7972,27 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3245
+#: sequencer.c:3446
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
-#: sequencer.c:3252
+#: sequencer.c:3453
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
-#: sequencer.c:3266 sequencer.c:3270 builtin/difftool.c:640
+#: sequencer.c:3467 sequencer.c:3471 builtin/difftool.c:644
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:3282
+#: sequencer.c:3483
 #, c-format
 msgid "Executing: %s\n"
 msgstr "正在执行:%s\n"
 
-#  译者:注意保持前导空格
-#: sequencer.c:3297
+#: sequencer.c:3498
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -7913,11 +8007,11 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3303
+#: sequencer.c:3504
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
-#: sequencer.c:3309
+#: sequencer.c:3510
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -7934,90 +8028,90 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3370
+#: sequencer.c:3571
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
-#: sequencer.c:3424
+#: sequencer.c:3625
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
-#: sequencer.c:3429
+#: sequencer.c:3630
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
-#: sequencer.c:3513
+#: sequencer.c:3714
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:3546
+#: sequencer.c:3747
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
-#: sequencer.c:3568
+#: sequencer.c:3769
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
-#: sequencer.c:3577
+#: sequencer.c:3778
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
-#: sequencer.c:3589
+#: sequencer.c:3790
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
-#: sequencer.c:3605
+#: sequencer.c:3806
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "不能获取 '%s' 的提交说明"
 
-#: sequencer.c:3788
+#: sequencer.c:3989
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "甚至不能尝试合并 '%.*s'"
 
-#: sequencer.c:3804
+#: sequencer.c:4005
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
-#: sequencer.c:3878
+#: sequencer.c:4079
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: sequencer.c:3881
+#: sequencer.c:4082
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "意外的 stash 响应:'%s'"
 
-#: sequencer.c:3887
+#: sequencer.c:4088
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "不能为 '%s' 创建目录"
 
-#: sequencer.c:3890
+#: sequencer.c:4091
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "创建了 autostash:%s\n"
 
-#: sequencer.c:3894
+#: sequencer.c:4095
 msgid "could not reset --hard"
 msgstr "无法 reset --hard"
 
-#: sequencer.c:3919
+#: sequencer.c:4120
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:3931
+#: sequencer.c:4132
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:3934
+#: sequencer.c:4135
 #, c-format
 msgid ""
 "%s\n"
@@ -8028,29 +8122,29 @@
 "您的修改在贮藏区中很安全。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:3939
+#: sequencer.c:4140
 msgid "Applying autostash resulted in conflicts."
 msgstr "应用自动贮藏导致冲突。"
 
-#: sequencer.c:3940
+#: sequencer.c:4141
 msgid "Autostash exists; creating a new stash entry."
 msgstr "自动贮藏已经存在;正在创建一个新的贮藏条目。"
 
-#: sequencer.c:4033 git-rebase--preserve-merges.sh:769
+#: sequencer.c:4234 git-rebase--preserve-merges.sh:769
 msgid "could not detach HEAD"
 msgstr "不能分离头指针"
 
-#: sequencer.c:4048
+#: sequencer.c:4249
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "停止在 HEAD\n"
 
-#: sequencer.c:4050
+#: sequencer.c:4251
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "停止在 %s\n"
 
-#: sequencer.c:4058
+#: sequencer.c:4259
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -8070,58 +8164,58 @@
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:4104
+#: sequencer.c:4305
 #, c-format
 msgid "Rebasing (%d/%d)%s"
 msgstr "正在变基(%d/%d)%s"
 
-#: sequencer.c:4149
+#: sequencer.c:4351
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
-#: sequencer.c:4220
+#: sequencer.c:4422
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:4279
+#: sequencer.c:4481
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:4284
+#: sequencer.c:4486
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:4298
+#: sequencer.c:4500
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
-#: sequencer.c:4358
+#: sequencer.c:4560
 #, c-format
 msgid "Successfully rebased and updated %s.\n"
 msgstr "成功变基并更新 %s。\n"
 
-#: sequencer.c:4391
+#: sequencer.c:4612
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:4400
+#: sequencer.c:4621
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:4402
+#: sequencer.c:4623
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:4404
+#: sequencer.c:4625
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:4407
+#: sequencer.c:4628
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -8130,50 +8224,50 @@
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:4443 sequencer.c:4482
+#: sequencer.c:4664 sequencer.c:4703
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
-#: sequencer.c:4498
+#: sequencer.c:4719
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:4505
+#: sequencer.c:4726
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:4621
+#: sequencer.c:4846
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:4625
+#: sequencer.c:4850
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:4660
+#: sequencer.c:4885
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:5137
+#: sequencer.c:5362
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:5140
+#: sequencer.c:5365
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:5382 sequencer.c:5399
+#: sequencer.c:5615 sequencer.c:5632
 msgid "nothing to do"
 msgstr "无事可做"
 
-#: sequencer.c:5418
+#: sequencer.c:5651
 msgid "could not skip unnecessary pick commands"
 msgstr "无法跳过不必要的拣选"
 
-#: sequencer.c:5512
+#: sequencer.c:5751
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
@@ -8316,7 +8410,7 @@
 "不是 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:1362
+#: setup.c:1370
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -8325,56 +8419,69 @@
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: setup.c:1409
+#: setup.c:1417
 msgid "open /dev/null or dup failed"
 msgstr "不能打开或者复制 /dev/null"
 
-#: setup.c:1424
+#: setup.c:1432
 msgid "fork failed"
 msgstr "fork 失败"
 
-#: setup.c:1429
+#: setup.c:1437 t/helper/test-simple-ipc.c:285
 msgid "setsid failed"
 msgstr "setsid 失败"
 
+#: sparse-index.c:151
+msgid "attempting to use sparse-index without cone mode"
+msgstr "尝试在没有 cone 模式下使用稀疏索引"
+
+#: sparse-index.c:156
+msgid "unable to update cache-tree, staying full"
+msgstr "不能更新缓存树,保持完整"
+
+#: sparse-index.c:239
+#, c-format
+msgid "index entry is a directory, but not sparse (%08x)"
+msgstr "索引条目是一个目录,但不是稀疏的 (%08x)"
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:848
+#: strbuf.c:850
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u GiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:850
+#: strbuf.c:852
 #, c-format
 msgid "%u.%2.2u GiB/s"
 msgstr "%u.%2.2u GiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:858
+#: strbuf.c:860
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u MiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:860
+#: strbuf.c:862
 #, c-format
 msgid "%u.%2.2u MiB/s"
 msgstr "%u.%2.2u MiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:867
+#: strbuf.c:869
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u KiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:869
+#: strbuf.c:871
 #, c-format
 msgid "%u.%2.2u KiB/s"
 msgstr "%u.%2.2u KiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:875
+#: strbuf.c:877
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
@@ -8382,20 +8489,20 @@
 msgstr[1] "%u 字节"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:877
+#: strbuf.c:879
 #, c-format
 msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u 字节/秒"
 msgstr[1] "%u 字节/秒"
 
-#: strbuf.c:1166 wrapper.c:199 wrapper.c:369 builtin/am.c:719
+#: strbuf.c:1168 wrapper.c:199 wrapper.c:369 builtin/am.c:737
 #: builtin/rebase.c:866
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: strbuf.c:1175
+#: strbuf.c:1177
 #, c-format
 msgid "could not edit '%s'"
 msgstr "不能编辑 '%s'"
@@ -8442,70 +8549,70 @@
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:327
+#: submodule.c:328
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "位于未检出的子模组 '%s'"
 
-#: submodule.c:358
+#: submodule.c:359
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:435
+#: submodule.c:436
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "坏的 --ignore-submodules 参数:%s"
 
-#: submodule.c:817
+#: submodule.c:818
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
 "same. Skipping it."
 msgstr "提交 %s 中位于路径 '%s' 的子模组和同名的子模组冲突。 跳过它。"
 
-#: submodule.c:920
+#: submodule.c:921
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
-#: submodule.c:1005
+#: submodule.c:1006
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
 "submodule %s"
 msgstr "无法在子模组 %s 中执行 'git rev-list <提交> --not --remotes -n 1'"
 
-#: submodule.c:1128
+#: submodule.c:1129
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "处理子模组 '%s' 失败"
 
-#: submodule.c:1157 builtin/branch.c:689 builtin/submodule--helper.c:2469
+#: submodule.c:1158 builtin/branch.c:691 builtin/submodule--helper.c:2470
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1168
+#: submodule.c:1169
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "正在推送子模组 '%s'\n"
 
-#: submodule.c:1171
+#: submodule.c:1172
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "无法推送子模组 '%s'\n"
 
-#: submodule.c:1463
+#: submodule.c:1464
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "正在获取子模组 %s%s\n"
 
-#: submodule.c:1497
+#: submodule.c:1498
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "无法访问子模组 '%s'\n"
 
-#: submodule.c:1652
+#: submodule.c:1653
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8514,77 +8621,77 @@
 "获取子模组时的错误:\n"
 "%s"
 
-#: submodule.c:1677
+#: submodule.c:1678
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "无法将 '%s' 识别为 git 仓库"
 
-#: submodule.c:1694
+#: submodule.c:1695
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "无法在子模组 %s 中执行 'git status --porcelain=2'"
 
-#: submodule.c:1735
+#: submodule.c:1736
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "在子模组 %s 中执行 'git status --porcelain=2' 失败"
 
-#: submodule.c:1810
+#: submodule.c:1811
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中启动 'git status'"
 
-#: submodule.c:1823
+#: submodule.c:1824
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中执行 'git status'"
 
-#: submodule.c:1838
+#: submodule.c:1839
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "无法在子模组 '%s' 中取消 core.worktree 的设置"
 
-#: submodule.c:1865 submodule.c:2175
+#: submodule.c:1866 submodule.c:2176
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:1886
+#: submodule.c:1887
 msgid "could not reset submodule index"
 msgstr "无法重置子模组索引"
 
-#: submodule.c:1928
+#: submodule.c:1929
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:1980
+#: submodule.c:1981
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
-#: submodule.c:2048
+#: submodule.c:2049
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr "子模组 git 目录 '%s' 位于 git 目录 '%.*s' 中"
 
-#: submodule.c:2069
+#: submodule.c:2070
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
-#: submodule.c:2081 submodule.c:2140
+#: submodule.c:2082 submodule.c:2141
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
-#: submodule.c:2085
+#: submodule.c:2086
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "禁止移动 '%s' 到现存 git 目录中"
 
-#: submodule.c:2092
+#: submodule.c:2093
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -8595,65 +8702,71 @@
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:2220
+#: submodule.c:2221
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:2260
+#: submodule.c:2261
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
 
-#: trailer.c:236
+#: symlinks.c:244
+#, c-format
+msgid "failed to lstat '%s'"
+msgstr "无法执行 lstat '%s'"
+
+#: trailer.c:244
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "执行 trailer 命令 '%s' 失败"
 
-#: trailer.c:483 trailer.c:488 trailer.c:493 trailer.c:547 trailer.c:551
-#: trailer.c:555
+#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
+#: trailer.c:570
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:537 trailer.c:542 builtin/remote.c:299 builtin/remote.c:324
+#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:299
+#: builtin/remote.c:324
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
 
-#: trailer.c:728
+#: trailer.c:743
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "尾注 '%.*s' 的键为空"
 
-#: trailer.c:748
+#: trailer.c:763
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "不能读取输入文件 '%s'"
 
-#: trailer.c:751 builtin/mktag.c:91
+#: trailer.c:766 builtin/mktag.c:88
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
-#: trailer.c:1009 wrapper.c:676
+#: trailer.c:1024 wrapper.c:676
 #, c-format
 msgid "could not stat %s"
 msgstr "不能对 %s 调用 stat"
 
-#: trailer.c:1011
+#: trailer.c:1026
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "文件 %s 不是一个正规文件"
 
-#: trailer.c:1013
+#: trailer.c:1028
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "文件 %s 用户不可写"
 
-#: trailer.c:1025
+#: trailer.c:1040
 msgid "could not open temporary file"
 msgstr "不能打开临时文件"
 
-#: trailer.c:1065
+#: trailer.c:1080
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
@@ -8700,7 +8813,7 @@
 msgid "error while running fast-import"
 msgstr "执行 fast-import 出错"
 
-#: transport-helper.c:549 transport-helper.c:1237
+#: transport-helper.c:549 transport-helper.c:1247
 #, c-format
 msgid "could not read ref %s"
 msgstr "无法读取引用 %s"
@@ -8718,7 +8831,7 @@
 msgid "invalid remote service path"
 msgstr "无效的远程服务路径"
 
-#: transport-helper.c:661 transport.c:1447
+#: transport-helper.c:661 transport.c:1471
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
@@ -8727,68 +8840,72 @@
 msgid "can't connect to subservice %s"
 msgstr "不能连接到子服务 %s"
 
-#: transport-helper.c:745
+#: transport-helper.c:693 transport.c:397
+msgid "--negotiate-only requires protocol v2"
+msgstr "--negotiate-only 需要协议 v2"
+
+#: transport-helper.c:755
 msgid "'option' without a matching 'ok/error' directive"
 msgstr "'option' 缺乏一个匹配的 'ok/error' 指令"
 
-#: transport-helper.c:788
+#: transport-helper.c:798
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "预期 ok/error,助手说 '%s'"
 
-#: transport-helper.c:845
+#: transport-helper.c:855
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "助手报告 %s 的意外状态"
 
-#: transport-helper.c:928
+#: transport-helper.c:938
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "助手 %s 不支持 dry-run"
 
-#: transport-helper.c:931
+#: transport-helper.c:941
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "助手 %s 不支持 --signed"
 
-#: transport-helper.c:934
+#: transport-helper.c:944
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "助手 %s 不支持 --signed=if-asked"
 
-#: transport-helper.c:939
+#: transport-helper.c:949
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "助手 %s 不支持 --atomic"
 
-#: transport-helper.c:943
+#: transport-helper.c:953
 #, c-format
 msgid "helper %s does not support --%s"
 msgstr "助手 %s 不支持 --%s"
 
-#: transport-helper.c:950
+#: transport-helper.c:960
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "助手 %s 不支持 'push-option'"
 
-#: transport-helper.c:1050
+#: transport-helper.c:1060
 msgid "remote-helper doesn't support push; refspec needed"
-msgstr "remote-heper 不支持 push,需要引用表达式"
+msgstr "remote-heper 不支持推送,需要引用规格"
 
-#: transport-helper.c:1055
+#: transport-helper.c:1065
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "助手 %s 不支持 'force'"
 
-#: transport-helper.c:1102
+#: transport-helper.c:1112
 msgid "couldn't run fast-export"
 msgstr "无法执行 fast-export"
 
-#: transport-helper.c:1107
+#: transport-helper.c:1117
 msgid "error while running fast-export"
 msgstr "执行 fast-export 时出错"
 
-#: transport-helper.c:1132
+#: transport-helper.c:1142
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -8797,52 +8914,52 @@
 "没有共同的引用并且也没有指定,什么也不会做。\n"
 "也许您应该指定一个分支。\n"
 
-#: transport-helper.c:1214
+#: transport-helper.c:1224
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "不支持的对象格式 '%s'"
 
-#: transport-helper.c:1223
+#: transport-helper.c:1233
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
-#: transport-helper.c:1375
+#: transport-helper.c:1385
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
-#: transport-helper.c:1402
+#: transport-helper.c:1412
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
-#: transport-helper.c:1451
+#: transport-helper.c:1461
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
-#: transport-helper.c:1455
+#: transport-helper.c:1465
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
-#: transport-helper.c:1474 transport-helper.c:1478
+#: transport-helper.c:1484 transport-helper.c:1488
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
-#: transport-helper.c:1515
+#: transport-helper.c:1525
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
-#: transport-helper.c:1519
+#: transport-helper.c:1529
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
-#: transport-helper.c:1537 transport-helper.c:1546
+#: transport-helper.c:1547 transport-helper.c:1556
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
@@ -8861,44 +8978,48 @@
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:269
+#: transport.c:272
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "查看 'git help config' 中的 protocol.version 获取更多信息"
 
-#: transport.c:270
+#: transport.c:273
 msgid "server options require protocol version 2 or later"
 msgstr "服务端选项需要版本 2 协议或更高"
 
-#: transport.c:727
+#: transport.c:400
+msgid "server does not support wait-for-done"
+msgstr "服务器不支持 wait-for-done"
+
+#: transport.c:751
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
-#: transport.c:802
+#: transport.c:826
 msgid "support for protocol v2 not implemented yet"
 msgstr "协议 v2 的支持尚未实现"
 
-#: transport.c:936
+#: transport.c:960
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "配置 '%s' 的取值未知:%s"
 
-#: transport.c:1002
+#: transport.c:1026
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "传输 '%s' 不允许"
 
-#: transport.c:1055
+#: transport.c:1079
 msgid "git-over-rsync is no longer supported"
 msgstr "不再支持 git-over-rsync"
 
-#: transport.c:1157
+#: transport.c:1181
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
-#: transport.c:1161
+#: transport.c:1185
 #, c-format
 msgid ""
 "\n"
@@ -8925,11 +9046,11 @@
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:1169
+#: transport.c:1193
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport.c:1316
+#: transport.c:1340
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
@@ -8949,7 +9070,7 @@
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
-#: unpack-trees.c:113
+#: unpack-trees.c:115
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -8958,7 +9079,7 @@
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s请在切换分支前提交或贮藏您的修改。"
 
-#: unpack-trees.c:115
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -8967,7 +9088,7 @@
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:118
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -8976,7 +9097,7 @@
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s请在合并前提交或贮藏您的修改。"
 
-#: unpack-trees.c:120
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -8985,7 +9106,7 @@
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%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"
@@ -8994,7 +9115,7 @@
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s请在 %s 之前提交或贮藏您的修改。"
 
-#: unpack-trees.c:125
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -9003,7 +9124,7 @@
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:130
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -9012,7 +9133,7 @@
 "更新如下目录将会丢失其中未跟踪的文件:\n"
 "%s"
 
-#: unpack-trees.c:134
+#: unpack-trees.c:136
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -9021,7 +9142,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s请在切换分支之前移动或删除。"
 
-#: unpack-trees.c:136
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -9030,7 +9151,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:139
+#: unpack-trees.c:141
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -9039,7 +9160,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:141
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -9048,7 +9169,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:144
+#: unpack-trees.c:146
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -9057,7 +9178,7 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:146
+#: unpack-trees.c:148
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -9066,7 +9187,7 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:152
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -9076,7 +9197,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s请在切换分支前移动或删除。"
 
-#: unpack-trees.c:154
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -9086,7 +9207,7 @@
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:157
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -9095,7 +9216,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:159
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -9104,7 +9225,7 @@
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:162
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -9113,7 +9234,7 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:164
+#: unpack-trees.c:166
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -9122,12 +9243,12 @@
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:172
+#: unpack-trees.c:174
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:177
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -9136,7 +9257,7 @@
 "无法更新子模组:\n"
 "%s"
 
-#: unpack-trees.c:178
+#: unpack-trees.c:180
 #, c-format
 msgid ""
 "The following paths are not up to date and were left despite sparse "
@@ -9146,7 +9267,7 @@
 "尽管存在稀疏检出模板,以下路径不是最新,因而保留:\n"
 "%s"
 
-#: unpack-trees.c:180
+#: unpack-trees.c:182
 #, c-format
 msgid ""
 "The following paths are unmerged and were left despite sparse patterns:\n"
@@ -9155,7 +9276,7 @@
 "尽管存在稀疏检出模板,以下路径处于未合并状态,因而保留:\n"
 "%s"
 
-#: unpack-trees.c:182
+#: unpack-trees.c:184
 #, c-format
 msgid ""
 "The following paths were already present and thus not updated despite sparse "
@@ -9165,23 +9286,23 @@
 "尽管存在稀疏检出模板,以下路径已经存在,因而未更新:\n"
 "%s"
 
-#: unpack-trees.c:262
+#: unpack-trees.c:264
 #, c-format
 msgid "Aborting\n"
 msgstr "正在终止\n"
 
-#: unpack-trees.c:289
+#: unpack-trees.c:291
 #, c-format
 msgid ""
 "After fixing the above paths, you may want to run `git sparse-checkout "
 "reapply`.\n"
 msgstr "在修复上述路径之后,你可能要执行 `git sparse-checkout reapply`。\n"
 
-#: unpack-trees.c:350
+#: unpack-trees.c:352
 msgid "Updating files"
 msgstr "正在更新文件"
 
-#: unpack-trees.c:382
+#: unpack-trees.c:384
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -9190,11 +9311,16 @@
 "以下路径发生碰撞(如:在不区分大小写的文件系统上的区分大小写的路径),\n"
 "并且碰撞组中只有一个文件存在工作区中:\n"
 
-#: unpack-trees.c:1498
+#: unpack-trees.c:1519
 msgid "Updating index flags"
 msgstr "正在更新索引标志"
 
-#: upload-pack.c:1543
+#: unpack-trees.c:2608
+#, c-format
+msgid "worktree and untracked commit have duplicate entries: %s"
+msgstr "工作树和未跟踪提交具有重复条目:%s"
+
+#: upload-pack.c:1548
 msgid "expected flush after fetch arguments"
 msgstr "在 fetch 参数之后应该有一个 flush 包"
 
@@ -9231,7 +9357,7 @@
 msgid "Fetching objects"
 msgstr "正在获取对象"
 
-#: worktree.c:238 builtin/am.c:2103
+#: worktree.c:238 builtin/am.c:2151
 #, c-format
 msgid "failed to read '%s'"
 msgstr "读取 '%s' 失败"
@@ -9376,11 +9502,11 @@
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:211 wt-status.c:1072
+#: wt-status.c:211 wt-status.c:1075
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:234 wt-status.c:1081
+#: wt-status.c:234 wt-status.c:1084
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
@@ -9486,22 +9612,22 @@
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:905
+#: wt-status.c:908
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
-#: wt-status.c:936
+#: wt-status.c:939
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:938
+#: wt-status.c:941
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:1020
+#: wt-status.c:1023
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -9509,7 +9635,7 @@
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
-#: wt-status.c:1112
+#: wt-status.c:1115
 #, c-format
 msgid ""
 "\n"
@@ -9520,77 +9646,77 @@
 "花了 %.2f 秒才计算出分支的领先/落后范围。\n"
 "为避免,您可以使用 '--no-ahead-behind'。\n"
 
-#: wt-status.c:1142
+#: wt-status.c:1145
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1145
+#: wt-status.c:1148
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1147
+#: wt-status.c:1150
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: wt-status.c:1151
+#: wt-status.c:1154
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1154
+#: wt-status.c:1157
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:1163
+#: wt-status.c:1166
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:1166
+#: wt-status.c:1169
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1170
+#: wt-status.c:1173
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1172
+#: wt-status.c:1175
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1174
+#: wt-status.c:1177
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1307
+#: wt-status.c:1310
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
-#: wt-status.c:1309
+#: wt-status.c:1312
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1312
+#: wt-status.c:1315
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
 msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
-#: wt-status.c:1323
+#: wt-status.c:1326
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1328
+#: wt-status.c:1331
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1331
+#: wt-status.c:1334
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -9598,202 +9724,202 @@
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1339
+#: wt-status.c:1342
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1351
+#: wt-status.c:1354
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1356
+#: wt-status.c:1359
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1369
+#: wt-status.c:1372
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1371
+#: wt-status.c:1374
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1373
+#: wt-status.c:1376
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1380
+#: wt-status.c:1383
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1384
+#: wt-status.c:1387
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1389
+#: wt-status.c:1392
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1392
+#: wt-status.c:1395
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1396
+#: wt-status.c:1399
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1401
+#: wt-status.c:1404
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1404
+#: wt-status.c:1407
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1406
+#: wt-status.c:1409
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1417
+#: wt-status.c:1420
 msgid "Cherry-pick currently in progress."
 msgstr "拣选操作正在进行中。"
 
-#: wt-status.c:1420
+#: wt-status.c:1423
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1427
+#: wt-status.c:1430
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1430
+#: wt-status.c:1433
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (执行 \"git cherry-pick --continue\" 以继续)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1433
+#: wt-status.c:1436
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1435
+#: wt-status.c:1438
 msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
 msgstr "  (使用 \"git cherry-pick --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1437
+#: wt-status.c:1440
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1447
+#: wt-status.c:1450
 msgid "Revert currently in progress."
 msgstr "还原操作正在行中。"
 
-#: wt-status.c:1450
+#: wt-status.c:1453
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1456
+#: wt-status.c:1459
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并执行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1459
+#: wt-status.c:1462
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (执行 \"git revert --continue\" 以继续)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1462
+#: wt-status.c:1465
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:执行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1464
+#: wt-status.c:1467
 msgid "  (use \"git revert --skip\" to skip this patch)"
 msgstr "  (使用 \"git revert --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1466
+#: wt-status.c:1469
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1476
+#: wt-status.c:1479
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1480
+#: wt-status.c:1483
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1483
+#: wt-status.c:1486
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1494
+#: wt-status.c:1497
 #, c-format
 msgid "You are in a sparse checkout with %d%% of tracked files present."
 msgstr "您处于稀疏签出状态,包含 %d%% 的跟踪文件"
 
-#: wt-status.c:1733
+#: wt-status.c:1736
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1740
+#: wt-status.c:1743
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1742
+#: wt-status.c:1745
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1747
+#: wt-status.c:1750
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1749
+#: wt-status.c:1752
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1752
+#: wt-status.c:1755
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1769
+#: wt-status.c:1772
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1770
+#: wt-status.c:1773
 msgid "No commits yet"
 msgstr "尚无提交"
 
-#: wt-status.c:1784
+#: wt-status.c:1787
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1786
+#: wt-status.c:1789
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1790
+#: wt-status.c:1793
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -9803,102 +9929,117 @@
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1796
+#: wt-status.c:1799
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1798
+#: wt-status.c:1801
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1804
+#: wt-status.c:1807
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1809
+#: wt-status.c:1812
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
-#: wt-status.c:1813
+#: wt-status.c:1816
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1817
+#: wt-status.c:1820
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1821
+#: wt-status.c:1824
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1825
+#: wt-status.c:1828
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1829 wt-status.c:1835
+#: wt-status.c:1832 wt-status.c:1838
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1832
+#: wt-status.c:1835
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1837
+#: wt-status.c:1840
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1942
+#: wt-status.c:1945
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
-#: wt-status.c:1946
+#: wt-status.c:1949
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:1977
+#: wt-status.c:1980
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1979 wt-status.c:1987
+#: wt-status.c:1982 wt-status.c:1990
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1982 wt-status.c:1985
+#: wt-status.c:1985 wt-status.c:1988
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2507
+#: wt-status.c:2511
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
-#: wt-status.c:2513
+#: wt-status.c:2517
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2515
+#: wt-status.c:2519
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:457
+#: compat/simple-ipc/ipc-unix-socket.c:178
+msgid "could not send IPC command"
+msgstr "无法发送 IPC 命令"
+
+#: compat/simple-ipc/ipc-unix-socket.c:185
+msgid "could not read IPC response"
+msgstr "无法读取 IPC 响应"
+
+#: compat/simple-ipc/ipc-unix-socket.c:862
+#, c-format
+msgid "could not start accept_thread '%s'"
+msgstr "无法启动 accept_thread '%s'"
+
+#: compat/simple-ipc/ipc-unix-socket.c:874
+#, c-format
+msgid "could not start worker[0] for '%s'"
+msgstr "无法启动 '%s' 的 worker[0]"
+
+#: compat/precompose_utf8.c:58 builtin/clone.c:461
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "删除 '%s' 失败"
@@ -9907,131 +10048,131 @@
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<选项>] [--] <路径规格>..."
 
-#: builtin/add.c:58
+#: builtin/add.c:61
 #, c-format
 msgid "cannot chmod %cx '%s'"
 msgstr "不能 chmod %cx '%s'"
 
-#: builtin/add.c:96
+#: builtin/add.c:99
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:101 builtin/commit.c:285
+#: builtin/add.c:104 builtin/commit.c:297
 msgid "updating files failed"
 msgstr "更新文件失败"
 
-#: builtin/add.c:111
+#: builtin/add.c:114
 #, c-format
 msgid "remove '%s'\n"
 msgstr "删除 '%s'\n"
 
-#: builtin/add.c:186
+#: builtin/add.c:198
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:280 builtin/rev-parse.c:991
+#: builtin/add.c:307 builtin/rev-parse.c:991
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
-#: builtin/add.c:291
+#: builtin/add.c:318
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "无法为写入打开 '%s'。"
 
-#: builtin/add.c:295
+#: builtin/add.c:322
 msgid "Could not write patch"
 msgstr "不能生成补丁"
 
-#: builtin/add.c:298
+#: builtin/add.c:325
 msgid "editing patch failed"
 msgstr "编辑补丁失败"
 
-#: builtin/add.c:301
+#: builtin/add.c:328
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: builtin/add.c:303
+#: builtin/add.c:330
 msgid "Empty patch. Aborted."
 msgstr "空补丁。异常终止。"
 
-#: builtin/add.c:308
+#: builtin/add.c:335
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "不能应用 '%s'"
 
-#: builtin/add.c:316
+#: builtin/add.c:343
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:336 builtin/clean.c:904 builtin/fetch.c:169 builtin/mv.c:124
+#: builtin/add.c:363 builtin/clean.c:904 builtin/fetch.c:173 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:559
-#: builtin/remote.c:1427 builtin/rm.c:242 builtin/send-pack.c:190
+#: builtin/remote.c:1427 builtin/rm.c:243 builtin/send-pack.c:190
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:339
+#: builtin/add.c:366
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:340 builtin/checkout.c:1546 builtin/reset.c:308
+#: builtin/add.c:367 builtin/checkout.c:1567 builtin/reset.c:308
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
-#: builtin/add.c:341
+#: builtin/add.c:368
 msgid "edit current diff and apply"
 msgstr "编辑当前差异并应用"
 
-#: builtin/add.c:342
+#: builtin/add.c:369
 msgid "allow adding otherwise ignored files"
 msgstr "允许添加忽略的文件"
 
-#: builtin/add.c:343
+#: builtin/add.c:370
 msgid "update tracked files"
 msgstr "更新已跟踪的文件"
 
-#: builtin/add.c:344
+#: builtin/add.c:371
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "对已跟踪文件(暗含 -u)重新归一换行符"
 
-#: builtin/add.c:345
+#: builtin/add.c:372
 msgid "record only the fact that the path will be added later"
 msgstr "只记录,该路径稍后再添加"
 
-#: builtin/add.c:346
+#: builtin/add.c:373
 msgid "add changes from all tracked and untracked files"
 msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/add.c:349
+#: builtin/add.c:376
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
 
-#: builtin/add.c:351
+#: builtin/add.c:378
 msgid "don't add, only refresh the index"
 msgstr "不添加,只刷新索引"
 
-#: builtin/add.c:352
+#: builtin/add.c:379
 msgid "just skip files which cannot be added because of errors"
 msgstr "跳过因出错不能添加的文件"
 
-#: builtin/add.c:353
+#: builtin/add.c:380
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:355 builtin/update-index.c:1004
+#: builtin/add.c:382 builtin/update-index.c:1006
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/add.c:357
+#: builtin/add.c:384
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
-#: builtin/add.c:359
+#: builtin/add.c:386
 msgid "backend for `git stash -p`"
 msgstr "`git stash -p` 的后端"
 
-#: builtin/add.c:377
+#: builtin/add.c:404
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -10059,12 +10200,12 @@
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
-#: builtin/add.c:405
+#: builtin/add.c:432
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
-#: builtin/add.c:424
+#: builtin/add.c:451
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -10074,47 +10215,51 @@
 "运行下面的命令来关闭本消息\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:433
+#: builtin/add.c:460
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:461 builtin/commit.c:345
+#: builtin/add.c:488
+msgid "--dry-run is incompatible with --interactive/--patch"
+msgstr "--dry-run 与 --interactive/--patch 不兼容"
+
+#: builtin/add.c:490 builtin/commit.c:357
 msgid "--pathspec-from-file is incompatible with --interactive/--patch"
 msgstr "--pathspec-from-file 与 --interactive/--patch 不兼容"
 
-#: builtin/add.c:478
+#: builtin/add.c:507
 msgid "--pathspec-from-file is incompatible with --edit"
 msgstr "--pathspec-from-file 与 --edit 不兼容"
 
-#: builtin/add.c:490
+#: builtin/add.c:519
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:493
+#: builtin/add.c:522
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:497
+#: builtin/add.c:526
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/add.c:515 builtin/checkout.c:1714 builtin/commit.c:351
-#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1569
+#: builtin/add.c:544 builtin/checkout.c:1735 builtin/commit.c:363
+#: builtin/reset.c:328 builtin/rm.c:273 builtin/stash.c:1637
 msgid "--pathspec-from-file is incompatible with pathspec arguments"
 msgstr "--pathspec-from-file 与路径表达式参数不兼容"
 
-#: builtin/add.c:522 builtin/checkout.c:1726 builtin/commit.c:357
-#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1575
+#: builtin/add.c:551 builtin/checkout.c:1747 builtin/commit.c:369
+#: builtin/reset.c:334 builtin/rm.c:279 builtin/stash.c:1643
 msgid "--pathspec-file-nul requires --pathspec-from-file"
 msgstr "--pathspec-file-nul 需要 --pathspec-from-file"
 
-#: builtin/add.c:526
+#: builtin/add.c:555
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:528
+#: builtin/add.c:557
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10124,105 +10269,105 @@
 "运行下面的命令来关闭本消息\n"
 "\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:352
+#: builtin/am.c:364
 msgid "could not parse author script"
 msgstr "不能解析作者脚本"
 
-#: builtin/am.c:436
+#: builtin/am.c:454
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' 被 applypatch-msg 钩子删除"
 
-#: builtin/am.c:478
+#: builtin/am.c:496
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
-#: builtin/am.c:516
+#: builtin/am.c:534
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 
-#: builtin/am.c:542
+#: builtin/am.c:560
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:730
+#: builtin/am.c:748
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
-#: builtin/am.c:795
+#: builtin/am.c:813
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
-#: builtin/am.c:843
+#: builtin/am.c:861
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:848 builtin/am.c:860
+#: builtin/am.c:866 builtin/am.c:878
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:855
+#: builtin/am.c:873
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:948
+#: builtin/am.c:966
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:953 builtin/clone.c:410
+#: builtin/am.c:971 builtin/clone.c:414
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "创建目录 '%s' 失败"
 
-#: builtin/am.c:958
+#: builtin/am.c:976
 msgid "Failed to split patches."
 msgstr "拆分补丁失败。"
 
-#: builtin/am.c:1089
+#: builtin/am.c:1125
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/am.c:1090
+#: builtin/am.c:1126
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/am.c:1091
+#: builtin/am.c:1127
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
-#: builtin/am.c:1174
+#: builtin/am.c:1222
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr "补丁使用 format=flowed 格式发送,行尾的空格可能会丢失。"
 
-#: builtin/am.c:1202
+#: builtin/am.c:1250
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
-#: builtin/am.c:1267
+#: builtin/am.c:1315
 #, c-format
 msgid "missing author line in commit %s"
 msgstr "在提交 %s 中缺失作者行"
 
-#: builtin/am.c:1270
+#: builtin/am.c:1318
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
-#: builtin/am.c:1489
+#: builtin/am.c:1537
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: builtin/am.c:1491
+#: builtin/am.c:1539
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1510
+#: builtin/am.c:1558
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -10230,65 +10375,64 @@
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1516
+#: builtin/am.c:1564
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "回落到基础版本上打补丁及进行三方合并..."
 
-#: builtin/am.c:1542
+#: builtin/am.c:1590
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1574
+#: builtin/am.c:1622
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1626 builtin/am.c:1630
+#: builtin/am.c:1674 builtin/am.c:1678
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "无法继续:%s 不存在。"
 
-#: builtin/am.c:1648
+#: builtin/am.c:1696
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
-#  译者:注意保持句尾空格
 #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1658
+#: builtin/am.c:1706
 #, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/am.c:1704 builtin/commit.c:395
+#: builtin/am.c:1752 builtin/commit.c:408
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1708
+#: builtin/am.c:1756
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
-#: builtin/am.c:1748 builtin/am.c:1816
+#: builtin/am.c:1796 builtin/am.c:1864
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1765
+#: builtin/am.c:1813
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1771
+#: builtin/am.c:1819
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/am.c:1775
+#: builtin/am.c:1823
 msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr "用 'git am --show-current-patch=diff' 命令查看失败的补丁"
 
-#: builtin/am.c:1819
+#: builtin/am.c:1867
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -10298,7 +10442,7 @@
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
-#: builtin/am.c:1826
+#: builtin/am.c:1874
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -10309,171 +10453,175 @@
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
-#: builtin/am.c:1933 builtin/am.c:1937 builtin/am.c:1949 builtin/reset.c:347
+#: builtin/am.c:1981 builtin/am.c:1985 builtin/am.c:1997 builtin/reset.c:347
 #: builtin/reset.c:355
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/am.c:1985
+#: builtin/am.c:2033
 msgid "failed to clean index"
 msgstr "清空索引失败"
 
-#: builtin/am.c:2029
+#: builtin/am.c:2077
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/am.c:2136
+#: builtin/am.c:2184
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2226
 #, c-format
 msgid "Invalid value for --show-current-patch: %s"
 msgstr "无效的 --show-current-patch 值:%s"
 
-#: builtin/am.c:2182
+#: builtin/am.c:2230
 #, c-format
 msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s"
 msgstr "--show-current-patch=%s 和 --show-current-patch=%s 不兼容"
 
-#: builtin/am.c:2213
+#: builtin/am.c:2261
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2214
+#: builtin/am.c:2262
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2220
+#: builtin/am.c:2268
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2270
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2272
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/am.c:2225 builtin/init-db.c:560 builtin/prune-packed.c:16
-#: builtin/repack.c:334 builtin/stash.c:882
+#: builtin/am.c:2273 builtin/init-db.c:546 builtin/prune-packed.c:16
+#: builtin/repack.c:472 builtin/stash.c:948
 msgid "be quiet"
 msgstr "静默模式"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2275
 msgid "add a Signed-off-by trailer to the commit message"
 msgstr "在提交说明中添加 Signed-off-by 尾注"
 
-#: builtin/am.c:2230
+#: builtin/am.c:2278
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2280
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/am.c:2234
+#: builtin/am.c:2282
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/am.c:2236
+#: builtin/am.c:2284
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2286
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/am.c:2241
+#: builtin/am.c:2289
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/am.c:2244
+#: builtin/am.c:2292
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
-#: builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252 builtin/am.c:2255
-#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267
-#: builtin/am.c:2273
+#: builtin/am.c:2294
+msgid "pass it through git-mailinfo"
+msgstr "传递给 git-mailinfo"
+
+#: builtin/am.c:2297 builtin/am.c:2300 builtin/am.c:2303 builtin/am.c:2306
+#: builtin/am.c:2309 builtin/am.c:2312 builtin/am.c:2315 builtin/am.c:2318
+#: builtin/am.c:2324
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2263 builtin/commit.c:1395 builtin/fmt-merge-msg.c:17
-#: builtin/fmt-merge-msg.c:20 builtin/grep.c:904 builtin/merge.c:261
+#: builtin/am.c:2314 builtin/commit.c:1505 builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:906 builtin/merge.c:261
 #: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
-#: builtin/rebase.c:1347 builtin/repack.c:345 builtin/repack.c:349
-#: builtin/repack.c:351 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:436 parse-options.h:154 parse-options.h:175
-#: parse-options.h:316
+#: builtin/rebase.c:1342 builtin/repack.c:483 builtin/repack.c:487
+#: builtin/repack.c:489 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:447 parse-options.h:155 parse-options.h:176
+#: parse-options.h:317
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2269 builtin/branch.c:670 builtin/bugreport.c:136
-#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:470
+#: builtin/am.c:2320 builtin/branch.c:672 builtin/bugreport.c:137
+#: builtin/for-each-ref.c:40 builtin/replace.c:556 builtin/tag.c:481
 #: builtin/verify-tag.c:38
 msgid "format"
 msgstr "格式"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2321
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2327
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2329
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2332
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2335
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
-#: builtin/am.c:2287
+#: builtin/am.c:2338
 msgid "restore the original branch and abort the patching operation"
 msgstr "恢复原始分支并终止打补丁操作"
 
-#: builtin/am.c:2290
+#: builtin/am.c:2341
 msgid "abort the patching operation but keep HEAD where it is"
 msgstr "终止补丁操作但保持 HEAD 不变"
 
-#: builtin/am.c:2294
+#: builtin/am.c:2345
 msgid "show the patch being applied"
 msgstr "显示正在应用的补丁"
 
-#: builtin/am.c:2299
+#: builtin/am.c:2350
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
-#: builtin/am.c:2301
+#: builtin/am.c:2352
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2303 builtin/commit-tree.c:120 builtin/commit.c:1515
-#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:538
-#: builtin/rebase.c:1400 builtin/revert.c:117 builtin/tag.c:451
+#: builtin/am.c:2354 builtin/commit-tree.c:120 builtin/commit.c:1630
+#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:537
+#: builtin/rebase.c:1395 builtin/revert.c:117 builtin/tag.c:462
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2304 builtin/rebase.c:539 builtin/rebase.c:1401
+#: builtin/am.c:2355 builtin/rebase.c:538 builtin/rebase.c:1396
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
-#: builtin/am.c:2307
+#: builtin/am.c:2358
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/am.c:2325
+#: builtin/am.c:2376
 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."
@@ -10481,16 +10629,16 @@
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
-#: builtin/am.c:2332
+#: builtin/am.c:2383
 msgid "failed to read the index"
 msgstr "读取索引失败"
 
-#: builtin/am.c:2347
+#: builtin/am.c:2398
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/am.c:2371
+#: builtin/am.c:2422
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -10499,11 +10647,11 @@
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
-#: builtin/am.c:2377
+#: builtin/am.c:2428
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
-#: builtin/am.c:2387
+#: builtin/am.c:2438
 msgid "interactive mode requires patches on the command line"
 msgstr "交互式模式需要命令行上提供补丁"
 
@@ -10676,7 +10824,6 @@
 msgid "bisecting only with a %s commit"
 msgstr "在只有一个 %s 提交的情况下二分查找"
 
-#  译者:注意保持句尾空格
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
@@ -10705,7 +10852,7 @@
 "命令 'git bisect terms' 的参数 %s 无效。\n"
 "支持的选项有:--term-good|--term-old 和 --term-bad|--term-new。"
 
-#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1014
+#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1021
 msgid "revision walk setup failed\n"
 msgstr "版本遍历设置失败\n"
 
@@ -10754,7 +10901,6 @@
 msgid "You need to start by \"git bisect start\"\n"
 msgstr "您需要执行 \"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.
@@ -10772,86 +10918,91 @@
 msgid "'git bisect %s' can take only one argument."
 msgstr "'git bisect %s' 只能带一个参数。"
 
-#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:878
+#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:880
 #, c-format
 msgid "Bad rev input: %s"
 msgstr "坏的版本输入:%s"
 
-#: builtin/bisect--helper.c:912
+#: builtin/bisect--helper.c:887
+#, c-format
+msgid "Bad rev input (not a commit): %s"
+msgstr "坏的版本输入(不是提交):%s"
+
+#: builtin/bisect--helper.c:919
 msgid "We are not bisecting."
 msgstr "我们没有在二分查找。"
 
-#: builtin/bisect--helper.c:962
+#: builtin/bisect--helper.c:969
 #, c-format
 msgid "'%s'?? what are you talking about?"
 msgstr "'%s'?? 您在说什么?"
 
-#: builtin/bisect--helper.c:974
+#: builtin/bisect--helper.c:981
 #, c-format
 msgid "cannot read file '%s' for replaying"
 msgstr "不能读取文件 '%s' 来重放"
 
-#: builtin/bisect--helper.c:1047
+#: builtin/bisect--helper.c:1054
 msgid "reset the bisection state"
 msgstr "清除二分查找状态"
 
-#: builtin/bisect--helper.c:1049
+#: builtin/bisect--helper.c:1056
 msgid "check whether bad or good terms exist"
 msgstr "检查坏的或好的术语是否存在"
 
-#: builtin/bisect--helper.c:1051
+#: builtin/bisect--helper.c:1058
 msgid "print out the bisect terms"
 msgstr "打印二分查找术语"
 
-#: builtin/bisect--helper.c:1053
+#: builtin/bisect--helper.c:1060
 msgid "start the bisect session"
 msgstr "启动二分查找过程"
 
-#: builtin/bisect--helper.c:1055
+#: builtin/bisect--helper.c:1062
 msgid "find the next bisection commit"
 msgstr "查询下一个二分查找提交"
 
-#: builtin/bisect--helper.c:1057
+#: builtin/bisect--helper.c:1064
 msgid "mark the state of ref (or refs)"
 msgstr "标记引用的状态"
 
-#: builtin/bisect--helper.c:1059
+#: builtin/bisect--helper.c:1066
 msgid "list the bisection steps so far"
 msgstr "列出到目前为止的二分查找步骤"
 
-#: builtin/bisect--helper.c:1061
+#: builtin/bisect--helper.c:1068
 msgid "replay the bisection process from the given file"
 msgstr "从给定文件重放二分查找进程"
 
-#: builtin/bisect--helper.c:1063
+#: builtin/bisect--helper.c:1070
 msgid "skip some commits for checkout"
 msgstr "跳过要检出的一些提交"
 
-#: builtin/bisect--helper.c:1065
+#: builtin/bisect--helper.c:1072
 msgid "no log for BISECT_WRITE"
 msgstr "BISECT_WRITE 无日志"
 
-#: builtin/bisect--helper.c:1080
+#: builtin/bisect--helper.c:1087
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset 无需参数或者需要一个提交"
 
-#: builtin/bisect--helper.c:1085
+#: builtin/bisect--helper.c:1092
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check 需要 2 或 3 个参数"
 
-#: builtin/bisect--helper.c:1091
+#: builtin/bisect--helper.c:1098
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms 需要 0 或 1 个参数"
 
-#: builtin/bisect--helper.c:1100
+#: builtin/bisect--helper.c:1107
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next 需要 0 个参数"
 
-#: builtin/bisect--helper.c:1111
+#: builtin/bisect--helper.c:1118
 msgid "--bisect-log requires 0 arguments"
 msgstr "--bisect-log 需要 0 个参数"
 
-#: builtin/bisect--helper.c:1116
+#: builtin/bisect--helper.c:1123
 msgid "no logfile given"
 msgstr "未提供日志文件"
 
@@ -10902,9 +11053,9 @@
 msgid "show work cost statistics"
 msgstr "显示工作消耗统计"
 
-#: builtin/blame.c:871 builtin/checkout.c:1503 builtin/clone.c:92
-#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:175
-#: builtin/merge.c:297 builtin/multi-pack-index.c:27 builtin/pull.c:119
+#: builtin/blame.c:871 builtin/checkout.c:1524 builtin/clone.c:94
+#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:179
+#: builtin/merge.c:297 builtin/multi-pack-index.c:55 builtin/pull.c:119
 #: builtin/push.c:575 builtin/send-pack.c:198
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
@@ -10953,7 +11104,7 @@
 msgid "ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:883 builtin/log.c:1812
+#: builtin/blame.c:883 builtin/log.c:1820
 msgid "rev"
 msgstr "版本"
 
@@ -11131,74 +11282,74 @@
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:438 builtin/tag.c:61
+#: builtin/branch.c:440 builtin/tag.c:63
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
-#: builtin/branch.c:469
+#: builtin/branch.c:471
 msgid "could not resolve HEAD"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/branch.c:475
+#: builtin/branch.c:477
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) 指向 refs/heads/ 之外"
 
-#: builtin/branch.c:490
+#: builtin/branch.c:492
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:494
+#: builtin/branch.c:496
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:511
+#: builtin/branch.c:513
 msgid "cannot copy the current branch while not on any."
 msgstr "无法拷贝当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:513
+#: builtin/branch.c:515
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:524
+#: builtin/branch.c:526
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:553
+#: builtin/branch.c:555
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:555
+#: builtin/branch.c:557
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
-#: builtin/branch.c:559
+#: builtin/branch.c:561
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "已为错误命名的分支 '%s' 创建了一个副本"
 
-#: builtin/branch.c:562
+#: builtin/branch.c:564
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "已将错误命名的分支 '%s' 重命名"
 
-#: builtin/branch.c:568
+#: builtin/branch.c:570
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:577
+#: builtin/branch.c:579
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新配置文件失败"
 
-#: builtin/branch.c:579
+#: builtin/branch.c:581
 msgid "Branch is copied, but update of config-file failed"
 msgstr "分支已拷贝,但更新配置文件失败"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:597
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11209,209 +11360,209 @@
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:631
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:633
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:634
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:635
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:637
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:637 builtin/rebase.c:534
+#: builtin/branch.c:639 builtin/rebase.c:533
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:639
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:640
 msgid "unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:641
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:642
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:642 builtin/branch.c:644
+#: builtin/branch.c:644 builtin/branch.c:646
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:643 builtin/branch.c:645
+#: builtin/branch.c:645 builtin/branch.c:647
 msgid "print only branches that don't contain the commit"
 msgstr "只打印不包含该提交的分支"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:650
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:651
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:653
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:654
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:655
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:656
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:657
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:656
+#: builtin/branch.c:658
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:659
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:658
+#: builtin/branch.c:660
 msgid "show current branch name"
 msgstr "显示当前分支名"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:661
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:663
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:664
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:665
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:666
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:667
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:667 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:669 builtin/for-each-ref.c:44 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:466
+#: builtin/tag.c:477
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:670
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:669 builtin/for-each-ref.c:48 builtin/tag.c:473
+#: builtin/branch.c:671 builtin/for-each-ref.c:50 builtin/tag.c:484
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:670 builtin/for-each-ref.c:38 builtin/tag.c:471
+#: builtin/branch.c:672 builtin/for-each-ref.c:40 builtin/tag.c:482
 #: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/branch.c:693 builtin/clone.c:790
+#: builtin/branch.c:695 builtin/clone.c:794
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:717
+#: builtin/branch.c:719
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:732 builtin/branch.c:788 builtin/branch.c:797
+#: builtin/branch.c:734 builtin/branch.c:790 builtin/branch.c:799
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:764
+#: builtin/branch.c:766
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:771
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:776
+#: builtin/branch.c:778
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:779
+#: builtin/branch.c:781
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:794
+#: builtin/branch.c:796
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
-#: builtin/branch.c:803
+#: builtin/branch.c:805
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
-#: builtin/branch.c:808
+#: builtin/branch.c:810
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
-#: builtin/branch.c:812
+#: builtin/branch.c:814
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "无法设置 HEAD 的上游为 %s,因为 HEAD 没有指向任何分支。"
 
-#: builtin/branch.c:815 builtin/branch.c:838
+#: builtin/branch.c:817 builtin/branch.c:840
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:819
+#: builtin/branch.c:821
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:832
+#: builtin/branch.c:834
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:838
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:842
+#: builtin/branch.c:844
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:852
+#: builtin/branch.c:854
 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>?"
@@ -11419,7 +11570,7 @@
 "'git branch' 的 -a 和 -r 选项不带一个分支名。\n"
 "您是否想要使用:-a|-r --list <模式>?"
 
-#: builtin/branch.c:856
+#: builtin/branch.c:858
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -11485,38 +11636,38 @@
 "请检查下面错误报告中余下的内容。\n"
 "您可以删除任何您不想共享的内容。\n"
 
-#: builtin/bugreport.c:135
+#: builtin/bugreport.c:136
 msgid "specify a destination for the bugreport file"
 msgstr "指定错误报告文件的目标位置"
 
-#: builtin/bugreport.c:137
+#: builtin/bugreport.c:138
 msgid "specify a strftime format suffix for the filename"
 msgstr "指定文件的 strftime 格式后缀"
 
-#: builtin/bugreport.c:159
+#: builtin/bugreport.c:160
 #, c-format
 msgid "could not create leading directories for '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/bugreport.c:166
+#: builtin/bugreport.c:167
 msgid "System Info"
 msgstr "系统信息"
 
-#: builtin/bugreport.c:169
+#: builtin/bugreport.c:170
 msgid "Enabled Hooks"
 msgstr "启用的钩子"
 
-#: builtin/bugreport.c:176
+#: builtin/bugreport.c:177
 #, c-format
 msgid "couldn't create a new file at '%s'"
 msgstr "不能在 '%s' 创建新文件"
 
-#: builtin/bugreport.c:179
+#: builtin/bugreport.c:180
 #, c-format
 msgid "unable to write to %s"
 msgstr "无法写入 %s"
 
-#: builtin/bugreport.c:189
+#: builtin/bugreport.c:190
 #, c-format
 msgid "Created new report at '%s'.\n"
 msgstr "在 '%s' 创建了新报告。\n"
@@ -11537,19 +11688,19 @@
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <文件> [<引用名>...]"
 
-#: builtin/bundle.c:67 builtin/pack-objects.c:3495
+#: builtin/bundle.c:67 builtin/pack-objects.c:3747
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3497
+#: builtin/bundle.c:69 builtin/pack-objects.c:3749
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/bundle.c:71 builtin/pack-objects.c:3499
+#: builtin/bundle.c:71 builtin/pack-objects.c:3751
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/bundle.c:74 builtin/pack-objects.c:3502
+#: builtin/bundle.c:74 builtin/pack-objects.c:3754
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
@@ -11691,8 +11842,8 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1499 builtin/gc.c:549
-#: builtin/worktree.c:489
+#: builtin/check-ignore.c:21 builtin/checkout.c:1520 builtin/gc.c:549
+#: builtin/worktree.c:491
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -11704,27 +11855,27 @@
 msgid "ignore index when checking"
 msgstr "检查时忽略索引"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:165
 msgid "cannot specify pathnames with --stdin"
 msgstr "不能同时指定路径及 --stdin 参数"
 
-#: builtin/check-ignore.c:166
+#: builtin/check-ignore.c:168
 msgid "-z only makes sense with --stdin"
 msgstr "-z 需要和 --stdin 参数共用才有意义"
 
-#: builtin/check-ignore.c:168
+#: builtin/check-ignore.c:170
 msgid "no path specified"
 msgstr "未指定路径"
 
-#: builtin/check-ignore.c:172
+#: builtin/check-ignore.c:174
 msgid "--quiet is only valid with a single pathname"
 msgstr "参数 --quiet 只在提供一个路径名时有效"
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:176
 msgid "cannot have both --quiet and --verbose"
 msgstr "不能同时提供 --quiet 和 --verbose 参数"
 
-#: builtin/check-ignore.c:177
+#: builtin/check-ignore.c:179
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching 选项只在使用 --verbose 时有效"
 
@@ -11745,6 +11896,21 @@
 msgid "no contacts specified"
 msgstr "未指定联系地址"
 
+#: builtin/checkout--worker.c:110
+msgid "git checkout--worker [<options>]"
+msgstr "git checkout--worker [<选项>]"
+
+#: builtin/checkout--worker.c:118 builtin/checkout-index.c:201
+#: builtin/column.c:31 builtin/submodule--helper.c:1825
+#: builtin/submodule--helper.c:1828 builtin/submodule--helper.c:1836
+#: builtin/submodule--helper.c:2334 builtin/worktree.c:719
+msgid "string"
+msgstr "字符串"
+
+#: builtin/checkout--worker.c:119 builtin/checkout-index.c:202
+msgid "when creating files, prepend <string>"
+msgstr "在创建文件时,在前面加上 <字符串>"
+
 #: builtin/checkout-index.c:152
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<选项>] [--] [<文件>...]"
@@ -11753,157 +11919,146 @@
 msgid "stage should be between 1 and 3 or all"
 msgstr "索引值应该取值 1 到 3 或者 all"
 
-#: builtin/checkout-index.c:186
+#: builtin/checkout-index.c:187
 msgid "check out all files in the index"
 msgstr "检出索引区的所有文件"
 
-#: builtin/checkout-index.c:187
+#: builtin/checkout-index.c:188
 msgid "force overwrite of existing files"
 msgstr "强制覆盖现有的文件"
 
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:190
 msgid "no warning for existing files and files not in index"
 msgstr "存在或不在索引中的文件都没有警告"
 
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:192
 msgid "don't checkout new files"
 msgstr "不检出新文件"
 
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:194
 msgid "update stat information in the index file"
 msgstr "更新索引中文件的状态信息"
 
-#: builtin/checkout-index.c:197
+#: builtin/checkout-index.c:198
 msgid "read list of paths from the standard input"
 msgstr "从标准输入读取路径列表"
 
-#: builtin/checkout-index.c:199
+#: builtin/checkout-index.c:200
 msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
-#: builtin/checkout-index.c:200 builtin/column.c:31
-#: builtin/submodule--helper.c:1824 builtin/submodule--helper.c:1827
-#: builtin/submodule--helper.c:1835 builtin/submodule--helper.c:2333
-#: builtin/worktree.c:717
-msgid "string"
-msgstr "字符串"
-
-#: builtin/checkout-index.c:201
-msgid "when creating files, prepend <string>"
-msgstr "在创建文件时,在前面加上 <字符串>"
-
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:204
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
-#: builtin/checkout.c:31
+#: builtin/checkout.c:33
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:34
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:37
+#: builtin/checkout.c:39
 msgid "git switch [<options>] [<branch>]"
 msgstr "git switch [<选项>] [<分支>]"
 
-#: builtin/checkout.c:42
+#: builtin/checkout.c:44
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<选项>] [--source=<分支>] <文件>..."
 
-#: builtin/checkout.c:188 builtin/checkout.c:227
+#: builtin/checkout.c:190 builtin/checkout.c:229
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
-#: builtin/checkout.c:190 builtin/checkout.c:229
+#: builtin/checkout.c:192 builtin/checkout.c:231
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
-#: builtin/checkout.c:206
+#: builtin/checkout.c:208
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必需的版本"
 
-#: builtin/checkout.c:258
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必需的版本"
 
-#: builtin/checkout.c:275
+#: builtin/checkout.c:278
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:291
+#: builtin/checkout.c:294
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:396
+#: builtin/checkout.c:414
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "重新创建了 %d 个合并冲突"
 msgstr[1] "重新创建了 %d 个合并冲突"
 
-#: builtin/checkout.c:401
+#: builtin/checkout.c:419
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "从 %2$s 更新了 %1$d 个路径"
 msgstr[1] "从 %2$s 更新了 %1$d 个路径"
 
-#: builtin/checkout.c:408
+#: builtin/checkout.c:426
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "从索引区更新了 %d 个路径"
 msgstr[1] "从索引区更新了 %d 个路径"
 
-#: builtin/checkout.c:431 builtin/checkout.c:434 builtin/checkout.c:437
-#: builtin/checkout.c:441
+#: builtin/checkout.c:449 builtin/checkout.c:452 builtin/checkout.c:455
+#: builtin/checkout.c:459
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:444 builtin/checkout.c:447
+#: builtin/checkout.c:462 builtin/checkout.c:465
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
-#: builtin/checkout.c:451
+#: builtin/checkout.c:469
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:455
+#: builtin/checkout.c:473
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "'%s' 或 '%s' 都没有指定"
 
-#: builtin/checkout.c:459
+#: builtin/checkout.c:477
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "未指定 '%2$s' 时,必须使用 '%1$s'"
 
-#: builtin/checkout.c:464 builtin/checkout.c:469
+#: builtin/checkout.c:482 builtin/checkout.c:487
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "'%s' 或 '%s' 不能和 %s 一起使用"
 
-#: builtin/checkout.c:543 builtin/checkout.c:550
+#: builtin/checkout.c:563 builtin/checkout.c:570
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:718
+#: builtin/checkout.c:739
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:772
+#: builtin/checkout.c:793
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -11912,51 +12067,51 @@
 "不能继续,下列文件有暂存的修改:\n"
 "%s"
 
-#: builtin/checkout.c:865
+#: builtin/checkout.c:886
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:907
+#: builtin/checkout.c:928
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:911 builtin/clone.c:721 t/helper/test-fast-rebase.c:202
+#: builtin/checkout.c:932 builtin/clone.c:725 t/helper/test-fast-rebase.c:202
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:915
+#: builtin/checkout.c:936
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:918
+#: builtin/checkout.c:939
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:922
+#: builtin/checkout.c:943
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:924 builtin/checkout.c:1355
+#: builtin/checkout.c:945 builtin/checkout.c:1376
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:926
+#: builtin/checkout.c:947
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:977
+#: builtin/checkout.c:998
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:983
+#: builtin/checkout.c:1004
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -11977,7 +12132,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1002
+#: builtin/checkout.c:1023
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -12004,19 +12159,19 @@
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:1037
+#: builtin/checkout.c:1058
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:1041
+#: builtin/checkout.c:1062
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1350
+#: builtin/checkout.c:1102 builtin/checkout.c:1371
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1184
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -12025,7 +12180,7 @@
 "'%s' 既可以是一个本地文件,也可以是一个跟踪分支。\n"
 "请使用 --(和可选的 --no-guess)来消除歧义"
 
-#: builtin/checkout.c:1170
+#: builtin/checkout.c:1191
 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"
@@ -12044,51 +12199,51 @@
 "如果您总是喜欢使用模糊的简短分支名 <名称>,而不喜欢如 'origin' 的远程\n"
 "名称,可以在配置中设置 checkout.defaultRemote=origin。"
 
-#: builtin/checkout.c:1180
+#: builtin/checkout.c:1201
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "'%s' 匹配多个(%d 个)远程跟踪分支"
 
-#: builtin/checkout.c:1246
+#: builtin/checkout.c:1267
 msgid "only one reference expected"
 msgstr "只期望一个引用"
 
-#: builtin/checkout.c:1263
+#: builtin/checkout.c:1284
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1309 builtin/worktree.c:270 builtin/worktree.c:438
+#: builtin/checkout.c:1330 builtin/worktree.c:270 builtin/worktree.c:438
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1322 builtin/checkout.c:1688
+#: builtin/checkout.c:1343 builtin/checkout.c:1709
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1369
+#: builtin/checkout.c:1390
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "期望一个分支,得到标签 '%s'"
 
-#: builtin/checkout.c:1371
+#: builtin/checkout.c:1392
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "期望一个分支,得到远程分支 '%s'"
 
-#: builtin/checkout.c:1372 builtin/checkout.c:1380
+#: builtin/checkout.c:1393 builtin/checkout.c:1401
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "期望一个分支,得到 '%s'"
 
-#: builtin/checkout.c:1375
+#: builtin/checkout.c:1396
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "期望一个分支,得到提交 '%s'"
 
-#: builtin/checkout.c:1391
+#: builtin/checkout.c:1412
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -12096,7 +12251,7 @@
 "不能在合并时切换分支\n"
 "考虑使用 \"git merge --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1395
+#: builtin/checkout.c:1416
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -12104,7 +12259,7 @@
 "不能在一个 am 会话期间切换分支\n"
 "考虑使用 \"git am --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1399
+#: builtin/checkout.c:1420
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -12112,7 +12267,7 @@
 "不能在变基时切换分支\n"
 "考虑使用 \"git rebase --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1403
+#: builtin/checkout.c:1424
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -12120,7 +12275,7 @@
 "不能在拣选时切换分支\n"
 "考虑使用 \"git cherry-pick --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1407
+#: builtin/checkout.c:1428
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -12128,207 +12283,207 @@
 "不能在还原时切换分支\n"
 "考虑使用 \"git revert --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1432
 msgid "you are switching branch while bisecting"
 msgstr "您在执行二分查找时切换分支"
 
-#: builtin/checkout.c:1418
+#: builtin/checkout.c:1439
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1421 builtin/checkout.c:1425 builtin/checkout.c:1429
+#: builtin/checkout.c:1442 builtin/checkout.c:1446 builtin/checkout.c:1450
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1433 builtin/checkout.c:1436 builtin/checkout.c:1439
-#: builtin/checkout.c:1444 builtin/checkout.c:1449
+#: builtin/checkout.c:1454 builtin/checkout.c:1457 builtin/checkout.c:1460
+#: builtin/checkout.c:1465 builtin/checkout.c:1470
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1446
+#: builtin/checkout.c:1467
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' 不带 <起始点>"
 
-#: builtin/checkout.c:1454
+#: builtin/checkout.c:1475
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1461
+#: builtin/checkout.c:1482
 msgid "missing branch or commit argument"
 msgstr "缺少分支或提交参数"
 
-#: builtin/checkout.c:1504
+#: builtin/checkout.c:1525
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1505 builtin/log.c:1799 parse-options.h:322
+#: builtin/checkout.c:1526 builtin/log.c:1807 parse-options.h:323
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1506
+#: builtin/checkout.c:1527
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1518 builtin/worktree.c:486
+#: builtin/checkout.c:1539 builtin/worktree.c:488
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1519
+#: builtin/checkout.c:1540
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1521
+#: builtin/checkout.c:1542
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1523
+#: builtin/checkout.c:1544
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1523
+#: builtin/checkout.c:1544
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1525 builtin/merge.c:301
+#: builtin/checkout.c:1546 builtin/merge.c:301
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1528
+#: builtin/checkout.c:1549
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1541
+#: builtin/checkout.c:1562
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1544
+#: builtin/checkout.c:1565
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1548
+#: builtin/checkout.c:1569
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1603
+#: builtin/checkout.c:1624
 #, c-format
 msgid "-%c, -%c and --orphan are mutually exclusive"
 msgstr "-%c、-%c 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1607
+#: builtin/checkout.c:1628
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p 和 --overlay 互斥"
 
-#: builtin/checkout.c:1644
+#: builtin/checkout.c:1665
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1649
+#: builtin/checkout.c:1670
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "缺少分支名,尝试 -%c"
 
-#: builtin/checkout.c:1681
+#: builtin/checkout.c:1702
 #, c-format
 msgid "could not resolve %s"
 msgstr "无法解析 %s"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1718
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1704
+#: builtin/checkout.c:1725
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'"
 
-#: builtin/checkout.c:1708
+#: builtin/checkout.c:1729
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1717
+#: builtin/checkout.c:1738
 msgid "--pathspec-from-file is incompatible with --detach"
 msgstr "--pathspec-from-file 与 --detach 不兼容"
 
-#: builtin/checkout.c:1720 builtin/reset.c:325 builtin/stash.c:1566
+#: builtin/checkout.c:1741 builtin/reset.c:325 builtin/stash.c:1634
 msgid "--pathspec-from-file is incompatible with --patch"
 msgstr "--pathspec-from-file 与 --patch 不兼容"
 
-#: builtin/checkout.c:1733
+#: builtin/checkout.c:1754
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。"
 
-#: builtin/checkout.c:1738
+#: builtin/checkout.c:1759
 msgid "you must specify path(s) to restore"
 msgstr "您必须指定一个要恢复的路径"
 
-#: builtin/checkout.c:1764 builtin/checkout.c:1766 builtin/checkout.c:1815
-#: builtin/checkout.c:1817 builtin/clone.c:122 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2719 builtin/worktree.c:482
-#: builtin/worktree.c:484
+#: builtin/checkout.c:1785 builtin/checkout.c:1787 builtin/checkout.c:1836
+#: builtin/checkout.c:1838 builtin/clone.c:126 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2720 builtin/worktree.c:484
+#: builtin/worktree.c:486
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1765
+#: builtin/checkout.c:1786
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1767
+#: builtin/checkout.c:1788
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1768
+#: builtin/checkout.c:1789
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1770
+#: builtin/checkout.c:1791
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "二次猜测 'git checkout <无此分支>'(默认)"
 
-#: builtin/checkout.c:1771
+#: builtin/checkout.c:1792
 msgid "use overlay mode (default)"
 msgstr "使用叠加模式(默认)"
 
-#: builtin/checkout.c:1816
+#: builtin/checkout.c:1837
 msgid "create and switch to a new branch"
 msgstr "创建并切换一个新分支"
 
-#: builtin/checkout.c:1818
+#: builtin/checkout.c:1839
 msgid "create/reset and switch to a branch"
 msgstr "创建/重置并切换一个分支"
 
-#: builtin/checkout.c:1820
+#: builtin/checkout.c:1841
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "二次猜测 'git switch <无此分支>'"
 
-#: builtin/checkout.c:1822
+#: builtin/checkout.c:1843
 msgid "throw away local modifications"
 msgstr "丢弃本地修改"
 
-#: builtin/checkout.c:1856
+#: builtin/checkout.c:1877
 msgid "which tree-ish to checkout from"
 msgstr "要检出哪一个树"
 
-#: builtin/checkout.c:1858
+#: builtin/checkout.c:1879
 msgid "restore the index"
 msgstr "恢复索引"
 
-#: builtin/checkout.c:1860
+#: builtin/checkout.c:1881
 msgid "restore the working tree (default)"
 msgstr "恢复工作区(默认)"
 
-#: builtin/checkout.c:1862
+#: builtin/checkout.c:1883
 msgid "ignore unmerged entries"
 msgstr "忽略未合并条目"
 
-#: builtin/checkout.c:1863
+#: builtin/checkout.c:1884
 msgid "use overlay mode"
 msgstr "使用叠加模式"
 
@@ -12358,11 +12513,6 @@
 msgid "Would skip repository %s\n"
 msgstr "将忽略仓库 %s\n"
 
-#: builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr "删除 %s 失败"
-
 #: builtin/clean.c:38
 #, c-format
 msgid "could not lstat %s\n"
@@ -12473,8 +12623,8 @@
 msgstr "删除整个目录"
 
 #: builtin/clean.c:909 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:922 builtin/log.c:184 builtin/log.c:186
-#: builtin/ls-files.c:573 builtin/name-rev.c:526 builtin/name-rev.c:528
+#: builtin/grep.c:924 builtin/log.c:184 builtin/log.c:186
+#: builtin/ls-files.c:650 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "模式"
@@ -12513,162 +12663,167 @@
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:96
+msgid "don't clone shallow repository"
+msgstr "不克隆浅仓库"
+
+#: builtin/clone.c:98
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:95 builtin/clone.c:97 builtin/init-db.c:555
+#: builtin/clone.c:99 builtin/clone.c:101 builtin/init-db.c:541
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:103
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:105
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:103
+#: builtin/clone.c:107
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:105
+#: builtin/clone.c:109
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "pathspec"
 msgstr "路径规格"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:112 builtin/init-db.c:552
+#: builtin/clone.c:116 builtin/init-db.c:538
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:113 builtin/init-db.c:553
+#: builtin/clone.c:117 builtin/init-db.c:539
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:115 builtin/clone.c:117 builtin/submodule--helper.c:1831
-#: builtin/submodule--helper.c:2336
+#: builtin/clone.c:119 builtin/clone.c:121 builtin/submodule--helper.c:1832
+#: builtin/submodule--helper.c:2337
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:119 builtin/submodule--helper.c:1833
-#: builtin/submodule--helper.c:2338
+#: builtin/clone.c:123 builtin/submodule--helper.c:1834
+#: builtin/submodule--helper.c:2339
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:120 builtin/column.c:27 builtin/init-db.c:563
-#: builtin/merge-file.c:46 builtin/pack-objects.c:3561 builtin/repack.c:357
+#: builtin/clone.c:124 builtin/column.c:27 builtin/init-db.c:549
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3815 builtin/repack.c:495
+#: t/helper/test-simple-ipc.c:696 t/helper/test-simple-ipc.c:698
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:125
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:127
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:129
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:126 builtin/fetch.c:176 builtin/grep.c:861
+#: builtin/clone.c:130 builtin/fetch.c:180 builtin/grep.c:863
 #: builtin/pull.c:208
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:131
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:128 builtin/fetch.c:178 builtin/pack-objects.c:3550
+#: builtin/clone.c:132 builtin/fetch.c:182 builtin/pack-objects.c:3804
 #: builtin/pull.c:211
 msgid "time"
 msgstr "时间"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:133
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:130 builtin/fetch.c:180 builtin/fetch.c:203
-#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1323
+#: builtin/clone.c:134 builtin/fetch.c:184 builtin/fetch.c:207
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1318
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:131 builtin/fetch.c:181 builtin/pull.c:215
+#: builtin/clone.c:135 builtin/fetch.c:185 builtin/pull.c:215
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
-#: builtin/clone.c:133 builtin/submodule--helper.c:1843
-#: builtin/submodule--helper.c:2352
+#: builtin/clone.c:137 builtin/submodule--helper.c:1844
+#: builtin/submodule--helper.c:2353
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:135
+#: builtin/clone.c:139
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:141
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:138 builtin/init-db.c:561
+#: builtin/clone.c:142 builtin/init-db.c:547
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:139 builtin/init-db.c:562
+#: builtin/clone.c:143 builtin/init-db.c:548
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:140
+#: builtin/clone.c:144
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:141
+#: builtin/clone.c:145
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
+#: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
 #: builtin/pull.c:230 builtin/push.c:584 builtin/send-pack.c:196
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
+#: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
 #: builtin/pull.c:231 builtin/push.c:584 builtin/send-pack.c:197
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/clone.c:144 builtin/fetch.c:199 builtin/pull.c:234
+#: builtin/clone.c:148 builtin/fetch.c:203 builtin/pull.c:234
 #: builtin/push.c:585
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:146 builtin/fetch.c:201 builtin/pull.c:237
+#: builtin/clone.c:150 builtin/fetch.c:205 builtin/pull.c:237
 #: builtin/push.c:587
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:150
+#: builtin/clone.c:154
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "任何克隆的子模组将使用它们的远程跟踪分支"
 
-#: builtin/clone.c:152
+#: builtin/clone.c:156
 msgid "initialize sparse-checkout file to include only files at root"
 msgstr "初始化稀疏检出文件,只包含根目录文件"
 
-#: builtin/clone.c:288
+#: builtin/clone.c:292
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -12676,42 +12831,42 @@
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: builtin/clone.c:341
+#: builtin/clone.c:345
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
-#: builtin/clone.c:414
+#: builtin/clone.c:418
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:432
+#: builtin/clone.c:436
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "无法在 '%s' 上启动迭代器"
 
-#: builtin/clone.c:463
+#: builtin/clone.c:467
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "创建链接 '%s' 失败"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:471
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "拷贝文件至 '%s' 失败"
 
-#: builtin/clone.c:472
+#: builtin/clone.c:476
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "无法在 '%s' 上迭代"
 
-#: builtin/clone.c:499
+#: builtin/clone.c:503
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:513
+#: builtin/clone.c:517
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -12721,144 +12876,144 @@
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git restore --source=HEAD :/' 重试\n"
 
-#: builtin/clone.c:590
+#: builtin/clone.c:594
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:709
+#: builtin/clone.c:713
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:757
+#: builtin/clone.c:761
 msgid "failed to initialize sparse-checkout"
 msgstr "无法初始化稀疏检出"
 
-#: builtin/clone.c:780
+#: builtin/clone.c:784
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:812
+#: builtin/clone.c:816
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:887
+#: builtin/clone.c:894
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:950
+#: builtin/clone.c:957
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:952
+#: builtin/clone.c:959
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:993 builtin/receive-pack.c:2493
+#: builtin/clone.c:1001 builtin/receive-pack.c:2491
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1005
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:1010
+#: builtin/clone.c:1018
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:1013
+#: builtin/clone.c:1021
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:1026
+#: builtin/clone.c:1035
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:1030 builtin/fetch.c:1951
+#: builtin/clone.c:1039 builtin/fetch.c:2011
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:1040
+#: builtin/clone.c:1049
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:1046
+#: builtin/clone.c:1055
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr "仓库路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:1060
+#: builtin/clone.c:1069
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:1075 builtin/clone.c:1096 builtin/difftool.c:271
-#: builtin/log.c:1986 builtin/worktree.c:282 builtin/worktree.c:314
+#: builtin/clone.c:1084 builtin/clone.c:1105 builtin/difftool.c:272
+#: builtin/log.c:1995 builtin/worktree.c:282 builtin/worktree.c:314
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:1080
+#: builtin/clone.c:1089
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:1100
+#: builtin/clone.c:1109
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:1102
+#: builtin/clone.c:1111
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1126
+#: builtin/clone.c:1135
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容"
 
-#: builtin/clone.c:1170 builtin/remote.c:200 builtin/remote.c:705
+#: builtin/clone.c:1188 builtin/remote.c:200 builtin/remote.c:705
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
 
-#: builtin/clone.c:1211
+#: builtin/clone.c:1229
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1213
+#: builtin/clone.c:1231
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1215
+#: builtin/clone.c:1233
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1217
+#: builtin/clone.c:1235
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1220
+#: builtin/clone.c:1240
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1225
+#: builtin/clone.c:1245
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1315 builtin/clone.c:1323
+#: builtin/clone.c:1337 builtin/clone.c:1345
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1326
+#: builtin/clone.c:1348
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -12875,19 +13030,19 @@
 msgstr "要使用的布局"
 
 #: builtin/column.c:30
-msgid "Maximum width"
+msgid "maximum width"
 msgstr "最大宽度"
 
 #: builtin/column.c:31
-msgid "Padding space on left border"
+msgid "padding space on left border"
 msgstr "左边框的填充空间"
 
 #: builtin/column.c:32
-msgid "Padding space on right border"
+msgid "padding space on right border"
 msgstr "右边框的填充空间"
 
 #: builtin/column.c:33
-msgid "Padding space between columns"
+msgid "padding space between columns"
 msgstr "两列之间的填充空间"
 
 #: builtin/column.c:51
@@ -12917,7 +13072,7 @@
 msgstr "无法找到和 %s 匹配的对象目录"
 
 #: builtin/commit-graph.c:80 builtin/commit-graph.c:210
-#: builtin/commit-graph.c:316 builtin/fetch.c:187 builtin/log.c:1768
+#: builtin/commit-graph.c:316 builtin/fetch.c:191 builtin/log.c:1776
 msgid "dir"
 msgstr "目录"
 
@@ -13011,7 +13166,7 @@
 msgid "duplicate parent %s ignored"
 msgstr "忽略重复的父提交 %s"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:557
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:559
 #, c-format
 msgid "not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -13039,13 +13194,13 @@
 msgid "id of a parent commit object"
 msgstr "父提交对象 ID"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:282
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1537
-#: builtin/tag.c:445
+#: builtin/commit-tree.c:114 builtin/commit.c:1614 builtin/merge.c:282
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1605
+#: builtin/tag.c:456
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1504
+#: builtin/commit-tree.c:115 builtin/commit.c:1614
 msgid "commit message"
 msgstr "提交说明"
 
@@ -13053,7 +13208,7 @@
 msgid "read commit log message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:299
+#: builtin/commit-tree.c:121 builtin/commit.c:1631 builtin/merge.c:299
 #: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
@@ -13126,110 +13281,115 @@
 "    git cherry-pick --skip\n"
 "\n"
 
-#: builtin/commit.c:312
+#: builtin/commit.c:324
 msgid "failed to unpack HEAD tree object"
 msgstr "解包 HEAD 树对象失败"
 
-#: builtin/commit.c:348
+#: builtin/commit.c:360
 msgid "--pathspec-from-file with -a does not make sense"
 msgstr "--pathspec-from-file 和 -a 在一起没有意义"
 
-#: builtin/commit.c:361
+#: builtin/commit.c:374
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:373
+#: builtin/commit.c:386
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:382
+#: builtin/commit.c:395
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:397
+#: builtin/commit.c:410
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:399
+#: builtin/commit.c:412
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:424 builtin/commit.c:447 builtin/commit.c:495
+#: builtin/commit.c:437 builtin/commit.c:460 builtin/commit.c:508
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:476
+#: builtin/commit.c:489
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:478
+#: builtin/commit.c:491
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:480
+#: builtin/commit.c:493
 msgid "cannot do a partial commit during a rebase."
 msgstr "在变基过程中不能做部分提交。"
 
-#: builtin/commit.c:488
+#: builtin/commit.c:501
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:507
+#: builtin/commit.c:520
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:605
+#: builtin/commit.c:618
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:607
+#: builtin/commit.c:620
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有格式错误的作者信息"
 
-#: builtin/commit.c:626
+#: builtin/commit.c:639
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:679
+#: builtin/commit.c:692
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:717 builtin/commit.c:750 builtin/commit.c:1097
+#: builtin/commit.c:746 builtin/commit.c:780 builtin/commit.c:1158
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:729 builtin/shortlog.c:413
+#: builtin/commit.c:758 builtin/shortlog.c:413
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:731
+#: builtin/commit.c:760
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:735
+#: builtin/commit.c:764
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:766 builtin/commit.c:782
+#: builtin/commit.c:801
+#, c-format
+msgid "cannot combine -m with --fixup:%s"
+msgstr "不能将 -m 和 --fixup 组合使用:%s"
+
+#: builtin/commit.c:813 builtin/commit.c:829
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:773
+#: builtin/commit.c:820
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:833
+#: builtin/commit.c:880
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:853
+#: builtin/commit.c:900
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
@@ -13242,7 +13402,7 @@
 "\tgit update-ref -d MERGE_HEAD\n"
 "然后重试。\n"
 
-#: builtin/commit.c:858
+#: builtin/commit.c:905
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
@@ -13255,7 +13415,7 @@
 "\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "然后重试。\n"
 
-#: builtin/commit.c:868
+#: builtin/commit.c:915
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13264,7 +13424,7 @@
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:876
+#: builtin/commit.c:923
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13275,324 +13435,373 @@
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:893
+#: builtin/commit.c:940
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:901
+#: builtin/commit.c:948
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:908
+#: builtin/commit.c:955
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:926
+#: builtin/commit.c:973
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:997
+#: builtin/commit.c:1018
+msgid "unable to pass trailers to --trailers"
+msgstr "无法将尾注传递给 --trailers"
+
+#: builtin/commit.c:1058
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:1011 builtin/tag.c:308
+#: builtin/commit.c:1072 builtin/tag.c:319
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1055
+#: builtin/commit.c:1116
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1069
+#: builtin/commit.c:1130
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1087 builtin/commit.c:1331
+#: builtin/commit.c:1148 builtin/commit.c:1441
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1127
+#: builtin/commit.c:1188
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1171
+#: builtin/commit.c:1219
+msgid "You are in the middle of a merge -- cannot reword."
+msgstr "您正处于一个合并过程中 -- 无法改写说明。"
+
+#: builtin/commit.c:1221
+msgid "You are in the middle of a cherry-pick -- cannot reword."
+msgstr "您正处于一个拣选过程中 -- 无法改写说明。"
+
+#: builtin/commit.c:1224
+#, c-format
+msgid "cannot combine reword option of --fixup with path '%s'"
+msgstr "不能将 --fixup 的 reword 选项和路径 '%s' 组合使用"
+
+#: builtin/commit.c:1226
+msgid ""
+"reword option of --fixup is mutually exclusive with --patch/--interactive/--"
+"all/--include/--only"
+msgstr "--fixup 的 reword 选项和 --patch/--interactive/--all/--include/--only 互斥"
+
+#: builtin/commit.c:1245
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1180
+#: builtin/commit.c:1254
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1257
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1185
+#: builtin/commit.c:1259
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1187
+#: builtin/commit.c:1261
 msgid "You are in the middle of a rebase -- cannot amend."
 msgstr "您正处于一个变基过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1190
+#: builtin/commit.c:1264
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1274
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1202
+#: builtin/commit.c:1276
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
 
-#: builtin/commit.c:1211
+#: builtin/commit.c:1285
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1229
+#: builtin/commit.c:1303
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1235
+#: builtin/commit.c:1331
+#, c-format
+msgid "unknown option: --fixup=%s:%s"
+msgstr "未知选项:--fixup=%s:%s"
+
+#: builtin/commit.c:1345
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "路径  '%s ...' 和 -a 选项同时使用没有意义"
 
-#: builtin/commit.c:1366 builtin/commit.c:1527
+#: builtin/commit.c:1476 builtin/commit.c:1642
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1368 builtin/commit.c:1529
+#: builtin/commit.c:1478 builtin/commit.c:1644
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1370
+#: builtin/commit.c:1480
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1372 builtin/commit.c:1531
+#: builtin/commit.c:1482 builtin/commit.c:1646
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
-#: builtin/commit.c:1374
+#: builtin/commit.c:1484
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1374 builtin/commit.c:1533 builtin/push.c:560
-#: builtin/worktree.c:679
+#: builtin/commit.c:1484 builtin/commit.c:1648 builtin/push.c:560
+#: builtin/worktree.c:681
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1377 builtin/commit.c:1535
+#: builtin/commit.c:1487 builtin/commit.c:1650
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1380 builtin/commit.c:1538
+#: builtin/commit.c:1490 builtin/commit.c:1653
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1382 builtin/commit.c:1386 builtin/commit.c:1541
+#: builtin/commit.c:1492 builtin/commit.c:1496 builtin/commit.c:1656
 #: builtin/fast-export.c:1198 builtin/fast-export.c:1201
-#: builtin/fast-export.c:1204 builtin/rebase.c:1412 parse-options.h:336
+#: builtin/fast-export.c:1204 builtin/rebase.c:1407 parse-options.h:337
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1383 builtin/commit.c:1541
+#: builtin/commit.c:1493 builtin/commit.c:1656
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1387
+#: builtin/commit.c:1497
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1389 parse-options.h:192
+#: builtin/commit.c:1499 parse-options.h:193
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1390
+#: builtin/commit.c:1500
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1392
+#: builtin/commit.c:1502
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1393
+#: builtin/commit.c:1503
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
-#: builtin/commit.c:1395
+#: builtin/commit.c:1505
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
-#: builtin/commit.c:1415
+#: builtin/commit.c:1525
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1607
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1608
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1610
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1501 builtin/merge.c:286 builtin/tag.c:447
+#: builtin/commit.c:1611 builtin/merge.c:286 builtin/tag.c:458
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1612
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1612
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1503 builtin/gc.c:550
+#: builtin/commit.c:1613 builtin/gc.c:550
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1613
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1505 builtin/commit.c:1506 builtin/commit.c:1507
-#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:90
+#: builtin/commit.c:1615 builtin/commit.c:1616 builtin/commit.c:1622
+#: parse-options.h:329 ref-filter.h:90
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1505
+#: builtin/commit.c:1615
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1506
+#: builtin/commit.c:1616
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1507
-msgid "use autosquash formatted message to fixup specified commit"
-msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
+#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
+#. and only translate <commit>.
+#.
+#: builtin/commit.c:1621
+msgid "[(amend|reword):]commit"
+msgstr "[(amend|reword):]提交"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1621
+msgid ""
+"use autosquash formatted message to fixup or amend/reword specified commit"
+msgstr "使用自动挤压格式的提交说明对指定的提交进行修正、修补或改写说明"
+
+#: builtin/commit.c:1622
 msgid "use autosquash formatted message to squash specified commit"
-msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
+msgstr "使用自动挤压格式的提交说明用以挤压至指定的提交"
 
-#: builtin/commit.c:1509
+#: builtin/commit.c:1623
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1510 builtin/log.c:1743 builtin/merge.c:302
+#: builtin/commit.c:1624 builtin/interpret-trailers.c:111
+msgid "trailer"
+msgstr "尾注"
+
+#: builtin/commit.c:1624
+msgid "add custom trailer(s)"
+msgstr "添加自定义尾注"
+
+#: builtin/commit.c:1625 builtin/log.c:1751 builtin/merge.c:302
 #: builtin/pull.c:145 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "添加 Signed-off-by 尾注"
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1626
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1512
+#: builtin/commit.c:1627
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
-#: builtin/commit.c:1514
+#: builtin/commit.c:1629
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1634
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1635
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1636
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1637
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1638
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1524
+#: builtin/commit.c:1639
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1525
+#: builtin/commit.c:1640
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1526
+#: builtin/commit.c:1641
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1539
+#: builtin/commit.c:1654
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1540
+#: builtin/commit.c:1655
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1547
+#: builtin/commit.c:1662
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1549
+#: builtin/commit.c:1664
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1737
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1744
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1765
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1657
+#: builtin/commit.c:1772
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1662
+#: builtin/commit.c:1777
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1696
+#: builtin/commit.c:1788
+#, c-format
+msgid "Aborting commit due to empty commit message body.\n"
+msgstr "因提交说明的正文为空而终止提交。\n"
+
+#: builtin/commit.c:1824
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -13929,7 +14138,7 @@
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
-#: builtin/credential-cache--daemon.c:226
+#: builtin/credential-cache--daemon.c:227
 #, c-format
 msgid ""
 "The permissions on your socket directory are too loose; other\n"
@@ -13942,11 +14151,11 @@
 "\n"
 "\tchmod 0700 %s"
 
-#: builtin/credential-cache--daemon.c:275
+#: builtin/credential-cache--daemon.c:276
 msgid "print debugging messages to stderr"
 msgstr "输出调试信息到标准错误"
 
-#: builtin/credential-cache--daemon.c:315
+#: builtin/credential-cache--daemon.c:316
 msgid "credential-cache--daemon unavailable; no unix socket support"
 msgstr "credential-cache--daemon 不可用,不支持 unix 套接字"
 
@@ -14150,7 +14359,7 @@
 msgid "Not a git repository"
 msgstr "不是 git 仓库"
 
-#: builtin/diff.c:532 builtin/grep.c:682
+#: builtin/diff.c:532 builtin/grep.c:684
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
@@ -14170,31 +14379,31 @@
 msgid "%s...%s: multiple merge bases, using %s"
 msgstr "%s...%s:多条合并基线,使用 %s"
 
-#: builtin/difftool.c:30
+#: builtin/difftool.c:31
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>...]"
 
-#: builtin/difftool.c:260
+#: builtin/difftool.c:261
 #, c-format
 msgid "failed: %d"
 msgstr "失败:%d"
 
-#: builtin/difftool.c:302
+#: builtin/difftool.c:303
 #, c-format
 msgid "could not read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: builtin/difftool.c:304
+#: builtin/difftool.c:305
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "无法读取符号链接文件 %s"
 
-#: builtin/difftool.c:312
+#: builtin/difftool.c:313
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "无法读取符号链接 %2$s 指向的对象 %1$s"
 
-#: builtin/difftool.c:412
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -14202,83 +14411,83 @@
 "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--"
 "cc')。"
 
-#: builtin/difftool.c:633
+#: builtin/difftool.c:637
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "两个文件都被修改:'%s' 和 '%s'。"
 
-#: builtin/difftool.c:635
+#: builtin/difftool.c:639
 msgid "working tree file has been left."
 msgstr "工作区文件被留了下来。"
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:650
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "临时文件存在于 '%s'。"
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:651
 msgid "you may want to cleanup or recover these."
 msgstr "您可能想要清理或者恢复它们。"
 
-#: builtin/difftool.c:696
+#: builtin/difftool.c:700
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "使用 `diff.guitool` 代替 `diff.tool`"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:702
 msgid "perform a full-directory diff"
 msgstr "执行一个全目录差异比较"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:704
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:709
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:710
 msgid "tool"
 msgstr "工具"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:711
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:713
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
 
-#: builtin/difftool.c:712
+#: builtin/difftool.c:716
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出"
 
-#: builtin/difftool.c:715
+#: builtin/difftool.c:719
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
-#: builtin/difftool.c:716
+#: builtin/difftool.c:720
 msgid "passed to `diff`"
 msgstr "传递给 `diff`"
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:735
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool 要求工作区或者 --no-index"
 
-#: builtin/difftool.c:738
+#: builtin/difftool.c:742
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dir-diff 和 --no-index 不兼容"
 
-#: builtin/difftool.c:741
+#: builtin/difftool.c:745
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui、--tool 和 --extcmd 互斥"
 
-#: builtin/difftool.c:749
+#: builtin/difftool.c:753
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
-#: builtin/difftool.c:756
+#: builtin/difftool.c:760
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
@@ -14366,7 +14575,7 @@
 msgid "skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1222 builtin/log.c:1815
+#: builtin/fast-export.c:1222 builtin/log.c:1823
 msgid "refspec"
 msgstr "引用规格"
 
@@ -14456,194 +14665,202 @@
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:122
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel 不能为负数"
 
-#: builtin/fetch.c:143 builtin/pull.c:185
+#: builtin/fetch.c:145 builtin/pull.c:185
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:145 builtin/pull.c:245
+#: builtin/fetch.c:147 builtin/pull.c:245
 msgid "set upstream for git pull/fetch"
 msgstr "为 git pull/fetch 设置上游"
 
-#: builtin/fetch.c:147 builtin/pull.c:188
+#: builtin/fetch.c:149 builtin/pull.c:188
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:149
+#: builtin/fetch.c:151
 msgid "use atomic transaction to update references"
 msgstr "使用原子事务更新引用"
 
-#: builtin/fetch.c:151 builtin/pull.c:191
+#: builtin/fetch.c:153 builtin/pull.c:191
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:152
+#: builtin/fetch.c:154
 msgid "force overwrite of local reference"
 msgstr "强制覆盖本地引用"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:156
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:156 builtin/pull.c:195
+#: builtin/fetch.c:158 builtin/pull.c:195
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:158
+#: builtin/fetch.c:160
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:160
+#: builtin/fetch.c:162
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:162 builtin/pull.c:198
+#: builtin/fetch.c:164
+msgid "modify the refspec to place all refs within refs/prefetch/"
+msgstr "修改引用规格以将所有引用放入 refs/prefetch/"
+
+#: builtin/fetch.c:166 builtin/pull.c:198
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
-#: builtin/fetch.c:164
+#: builtin/fetch.c:168
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:165 builtin/fetch.c:190 builtin/pull.c:122
+#: builtin/fetch.c:169 builtin/fetch.c:194 builtin/pull.c:122
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:166
+#: builtin/fetch.c:170
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:171
+#: builtin/fetch.c:175
 msgid "write fetched references to the FETCH_HEAD file"
 msgstr "将获取到的引用写入 FETCH_HEAD 文件"
 
-#: builtin/fetch.c:172 builtin/pull.c:206
+#: builtin/fetch.c:176 builtin/pull.c:206
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:174
+#: builtin/fetch.c:178
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:177 builtin/fetch.c:183 builtin/pull.c:209
+#: builtin/fetch.c:181 builtin/fetch.c:187 builtin/pull.c:209
 #: builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:179 builtin/pull.c:212
+#: builtin/fetch.c:183 builtin/pull.c:212
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:185 builtin/pull.c:221
+#: builtin/fetch.c:189 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:188
+#: builtin/fetch.c:192
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:191
+#: builtin/fetch.c:195
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:195 builtin/pull.c:224
+#: builtin/fetch.c:199 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:196 builtin/pull.c:226
+#: builtin/fetch.c:200 builtin/pull.c:226
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:197 builtin/pull.c:227
+#: builtin/fetch.c:201 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:204 builtin/pull.c:240
+#: builtin/fetch.c:208 builtin/pull.c:240
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
 
-#: builtin/fetch.c:207 builtin/fetch.c:209
+#: builtin/fetch.c:210
+msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
+msgstr "不获取包文件;而是打印协商的祖先提交"
+
+#: builtin/fetch.c:213 builtin/fetch.c:215
 msgid "run 'maintenance --auto' after fetching"
 msgstr "获取后执行 'maintenance --auto'"
 
-#: builtin/fetch.c:211 builtin/pull.c:243
+#: builtin/fetch.c:217 builtin/pull.c:243
 msgid "check for forced-updates on all updated branches"
 msgstr "在所有更新分支上检查强制更新"
 
-#: builtin/fetch.c:213
+#: builtin/fetch.c:219
 msgid "write the commit-graph after fetching"
 msgstr "抓取后写提交图"
 
-#: builtin/fetch.c:215
+#: builtin/fetch.c:221
 msgid "accept refspecs from stdin"
-msgstr "从标准输入获取引用表达式"
+msgstr "从标准输入获取引用规格"
 
-#: builtin/fetch.c:526
+#: builtin/fetch.c:586
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:697
+#: builtin/fetch.c:757
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:856
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:800
+#: builtin/fetch.c:860
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:813 builtin/fetch.c:829 builtin/fetch.c:901
+#: builtin/fetch.c:873 builtin/fetch.c:889 builtin/fetch.c:961
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:814
+#: builtin/fetch.c:874
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:824
+#: builtin/fetch.c:884
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:825 builtin/fetch.c:862 builtin/fetch.c:884
-#: builtin/fetch.c:896
+#: builtin/fetch.c:885 builtin/fetch.c:922 builtin/fetch.c:944
+#: builtin/fetch.c:956
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:829
+#: builtin/fetch.c:889
 msgid "would clobber existing tag"
 msgstr "会破坏现有的标签"
 
-#: builtin/fetch.c:851
+#: builtin/fetch.c:911
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:854
+#: builtin/fetch.c:914
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:857
+#: builtin/fetch.c:917
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:896
+#: builtin/fetch.c:956
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:901
+#: builtin/fetch.c:961
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:1005
+#: builtin/fetch.c:1065
 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"
@@ -14653,7 +14870,7 @@
 "要重新启用,请使用 '--show-forced-updates' 选项或运行\n"
 "'git config fetch.showForcedUpdates true'。"
 
-#: builtin/fetch.c:1009
+#: builtin/fetch.c:1069
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -14664,22 +14881,22 @@
 "花了 %.2f 秒来检查强制更新。您可以使用 '--no-show-forced-updates'\n"
 "或运行 'git config fetch.showForcedUpdates false' 以避免此项检查。\n"
 
-#: builtin/fetch.c:1041
+#: builtin/fetch.c:1101
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必需的对象\n"
 
-#: builtin/fetch.c:1069
+#: builtin/fetch.c:1129
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:1146 builtin/fetch.c:1297
+#: builtin/fetch.c:1206 builtin/fetch.c:1357
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:1168
+#: builtin/fetch.c:1228
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -14689,57 +14906,57 @@
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:1267
+#: builtin/fetch.c:1327
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为悬空状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:1268
+#: builtin/fetch.c:1328
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为悬空状态)"
 
-#: builtin/fetch.c:1300
+#: builtin/fetch.c:1360
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:1301 builtin/remote.c:1118
+#: builtin/fetch.c:1361 builtin/remote.c:1118
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1384
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:1343
+#: builtin/fetch.c:1403
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1346
+#: builtin/fetch.c:1406
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1558
+#: builtin/fetch.c:1618
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "检测到多分支,和 --set-upstream 不兼容"
 
-#: builtin/fetch.c:1573
+#: builtin/fetch.c:1633
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "没有为一个远程跟踪分支设置上游"
 
-#: builtin/fetch.c:1575
+#: builtin/fetch.c:1635
 msgid "not setting upstream for a remote tag"
 msgstr "没有为一个远程标签设置上游"
 
-#: builtin/fetch.c:1577
+#: builtin/fetch.c:1637
 msgid "unknown branch type"
 msgstr "未知的分支类型"
 
-#: builtin/fetch.c:1579
+#: builtin/fetch.c:1639
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -14747,75 +14964,83 @@
 "未发现源分支。\n"
 "您需要使用 --set-upstream 选项指定一个分支。"
 
-#: builtin/fetch.c:1708 builtin/fetch.c:1771
+#: builtin/fetch.c:1768 builtin/fetch.c:1831
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1718 builtin/fetch.c:1773 builtin/remote.c:101
+#: builtin/fetch.c:1778 builtin/fetch.c:1833 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1730
+#: builtin/fetch.c:1790
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "无法获取 '%s'(退出码:%d)\n"
 
-#: builtin/fetch.c:1834
+#: builtin/fetch.c:1894
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,用以获取新提交。"
 
-#: builtin/fetch.c:1870
+#: builtin/fetch.c:1930
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1935
+#: builtin/fetch.c:1995
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1937
+#: builtin/fetch.c:1997
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1942
+#: builtin/fetch.c:2002
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1944
+#: builtin/fetch.c:2004
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1961
+#: builtin/fetch.c:2021
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1963
+#: builtin/fetch.c:2023
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1972
+#: builtin/fetch.c:2032
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1979
+#: builtin/fetch.c:2039
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
-#: builtin/fetch.c:1997
+#: builtin/fetch.c:2055
+msgid "must supply remote when using --negotiate-only"
+msgstr "在使用 --negotiate-only 时必须提供远程仓库"
+
+#: builtin/fetch.c:2060
+msgid "Protocol does not support --negotiate-only, exiting."
+msgstr "协议不支持 --negotiate-only,退出。"
+
+#: builtin/fetch.c:2079
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
 msgstr "只可以将 --filter 用于在 extensions.partialClone 中配置的远程仓库"
 
-#: builtin/fetch.c:2001
+#: builtin/fetch.c:2083
 msgid "--atomic can only be used when fetching from one remote"
 msgstr "--atomic 仅在从一个远程仓库获取的时候可用"
 
-#: builtin/fetch.c:2005
+#: builtin/fetch.c:2087
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin 仅在从一个远程仓库获取的时候可用"
 
@@ -14860,47 +15085,47 @@
 msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
 msgstr "git for-each-ref [--contains [<提交>]] [--no-contains [<提交>]]"
 
-#: builtin/for-each-ref.c:28
+#: builtin/for-each-ref.c:30
 msgid "quote placeholders suitably for shells"
 msgstr "引用占位符适用于 shells"
 
-#: builtin/for-each-ref.c:30
+#: builtin/for-each-ref.c:32
 msgid "quote placeholders suitably for perl"
 msgstr "引用占位符适用于 perl"
 
-#: builtin/for-each-ref.c:32
+#: builtin/for-each-ref.c:34
 msgid "quote placeholders suitably for python"
 msgstr "引用占位符适用于 python"
 
-#: builtin/for-each-ref.c:34
+#: builtin/for-each-ref.c:36
 msgid "quote placeholders suitably for Tcl"
 msgstr "引用占位符适用于 Tcl"
 
-#: builtin/for-each-ref.c:37
+#: builtin/for-each-ref.c:39
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:472
+#: builtin/for-each-ref.c:41 builtin/tag.c:483
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
-#: builtin/for-each-ref.c:42
+#: builtin/for-each-ref.c:44
 msgid "print only refs which points at the given object"
 msgstr "只打印指向给定对象的引用"
 
-#: builtin/for-each-ref.c:44
+#: builtin/for-each-ref.c:46
 msgid "print only refs that are merged"
 msgstr "只打印已经合并的引用"
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:47
 msgid "print only refs that are not merged"
 msgstr "只打印没有合并的引用"
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:48
 msgid "print only refs which contain the commit"
 msgstr "只打印包含该提交的引用"
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:49
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
@@ -14920,32 +15145,32 @@
 msgid "missing --config=<config>"
 msgstr "缺少 --config=<配置>"
 
-#: builtin/fsck.c:69 builtin/fsck.c:130 builtin/fsck.c:131
+#: builtin/fsck.c:69 builtin/fsck.c:127 builtin/fsck.c:128
 msgid "unknown"
 msgstr "未知"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:83 builtin/fsck.c:103
+#: builtin/fsck.c:78 builtin/fsck.c:100
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "%s %s 错误:%s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:97
+#: builtin/fsck.c:94
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "%s %s 警告:%s"
 
-#: builtin/fsck.c:126 builtin/fsck.c:129
+#: builtin/fsck.c:123 builtin/fsck.c:126
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "来自 %7s %s 的损坏的链接"
 
-#: builtin/fsck.c:138
+#: builtin/fsck.c:135
 msgid "wrong object type in link"
 msgstr "链接中错误的对象类型"
 
-#: builtin/fsck.c:154
+#: builtin/fsck.c:151
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -14954,211 +15179,211 @@
 "损坏的链接来自于 %7s %s\n"
 "              到 %7s %s"
 
-#: builtin/fsck.c:265
+#: builtin/fsck.c:263
 #, c-format
 msgid "missing %s %s"
 msgstr "缺失 %s %s"
 
-#: builtin/fsck.c:292
+#: builtin/fsck.c:290
 #, c-format
 msgid "unreachable %s %s"
 msgstr "不可达 %s %s"
 
-#: builtin/fsck.c:312
+#: builtin/fsck.c:310
 #, c-format
 msgid "dangling %s %s"
 msgstr "悬空 %s %s"
 
-#: builtin/fsck.c:322
+#: builtin/fsck.c:320
 msgid "could not create lost-found"
 msgstr "不能创建 lost-found"
 
-#: builtin/fsck.c:333
+#: builtin/fsck.c:331
 #, c-format
 msgid "could not finish '%s'"
 msgstr "不能完成 '%s'"
 
-#: builtin/fsck.c:350
+#: builtin/fsck.c:348
 #, c-format
 msgid "Checking %s"
 msgstr "正在检查 %s"
 
-#: builtin/fsck.c:388
+#: builtin/fsck.c:386
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "正在检查连通性(%d 个对象)"
 
-#: builtin/fsck.c:407
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking %s %s"
 msgstr "正在检查 %s %s"
 
-#: builtin/fsck.c:412
+#: builtin/fsck.c:410
 msgid "broken links"
 msgstr "损坏的链接"
 
-#: builtin/fsck.c:421
+#: builtin/fsck.c:419
 #, c-format
 msgid "root %s"
 msgstr "根 %s"
 
-#: builtin/fsck.c:429
+#: builtin/fsck.c:427
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "标记 %s %s (%s) 于 %s"
 
-#: builtin/fsck.c:458
+#: builtin/fsck.c:456
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s:对象损坏或丢失"
 
-#: builtin/fsck.c:483
+#: builtin/fsck.c:481
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s:无效的引用日志条目 %s"
 
-#: builtin/fsck.c:497
+#: builtin/fsck.c:495
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "正在检查引用日志 %s->%s"
 
-#: builtin/fsck.c:531
+#: builtin/fsck.c:529
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s:无效的 sha1 指针 %s"
 
-#: builtin/fsck.c:538
+#: builtin/fsck.c:536
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s:不是一个提交"
 
-#: builtin/fsck.c:592
+#: builtin/fsck.c:590
 msgid "notice: No default references"
 msgstr "注意:无默认引用"
 
-#: builtin/fsck.c:607
+#: builtin/fsck.c:605
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s:对象损坏或丢失:%s"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:618
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s:不能解析对象:%s"
 
-#: builtin/fsck.c:640
+#: builtin/fsck.c:638
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "坏的 sha1 文件:%s"
 
-#: builtin/fsck.c:655
+#: builtin/fsck.c:653
 msgid "Checking object directory"
 msgstr "正在检查对象目录"
 
-#: builtin/fsck.c:658
+#: builtin/fsck.c:656
 msgid "Checking object directories"
 msgstr "正在检查对象目录"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:671
 #, c-format
 msgid "Checking %s link"
 msgstr "正在检查 %s 链接"
 
-#: builtin/fsck.c:678 builtin/index-pack.c:865
+#: builtin/fsck.c:676 builtin/index-pack.c:866
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:683
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s 指向奇怪的东西(%s)"
 
-#: builtin/fsck.c:691
+#: builtin/fsck.c:689
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s:分离头指针的指向不存在"
 
-#: builtin/fsck.c:695
+#: builtin/fsck.c:693
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "注意:%s 指向一个尚未诞生的分支(%s)"
 
-#: builtin/fsck.c:707
+#: builtin/fsck.c:705
 msgid "Checking cache tree"
 msgstr "正在检查缓存树"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:710
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s:cache-tree 中无效的 sha1 指针"
 
-#: builtin/fsck.c:721
+#: builtin/fsck.c:719
 msgid "non-tree in cache-tree"
 msgstr "cache-tree 中非树对象"
 
-#: builtin/fsck.c:752
+#: builtin/fsck.c:750
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:758
+#: builtin/fsck.c:756
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:759
+#: builtin/fsck.c:757
 msgid "show dangling objects"
 msgstr "显示悬空的对象"
 
-#: builtin/fsck.c:760
+#: builtin/fsck.c:758
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:761
+#: builtin/fsck.c:759
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:762
+#: builtin/fsck.c:760
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:763
+#: builtin/fsck.c:761
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:764
+#: builtin/fsck.c:762
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:765
+#: builtin/fsck.c:763
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:766 builtin/mktag.c:78
+#: builtin/fsck.c:764 builtin/mktag.c:75
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:768
+#: builtin/fsck.c:766
 msgid "write dangling objects in .git/lost-found"
 msgstr "将悬空对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:769 builtin/prune.c:134
+#: builtin/fsck.c:767 builtin/prune.c:134
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:770
+#: builtin/fsck.c:768
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:829 builtin/index-pack.c:261
+#: builtin/fsck.c:827 builtin/index-pack.c:262
 msgid "Checking objects"
 msgstr "正在检查对象"
 
-#: builtin/fsck.c:857
+#: builtin/fsck.c:855
 #, c-format
 msgid "%s: object missing"
 msgstr "%s:对象缺失"
 
-#: builtin/fsck.c:868
+#: builtin/fsck.c:866
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "无效的参数:期望 sha1,得到 '%s'"
@@ -15177,12 +15402,12 @@
 msgid "failed to parse '%s' value '%s'"
 msgstr "无法解析 '%s' 值 '%s'"
 
-#: builtin/gc.c:487 builtin/init-db.c:58
+#: builtin/gc.c:487 builtin/init-db.c:57
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:562
+#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:573
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
@@ -15277,143 +15502,143 @@
 msgid "failed to write commit-graph"
 msgstr "无法写入提交图"
 
-#: builtin/gc.c:914
-msgid "failed to fill remotes"
-msgstr "无法填充远程仓库"
+#: builtin/gc.c:905
+msgid "failed to prefetch remotes"
+msgstr "无法预先获取远程仓库"
 
-#: builtin/gc.c:1037
+#: builtin/gc.c:1022
 msgid "failed to start 'git pack-objects' process"
 msgstr "无法启动 'git pack-objects' 进程"
 
-#: builtin/gc.c:1054
+#: builtin/gc.c:1039
 msgid "failed to finish 'git pack-objects' process"
 msgstr "无法完成 'git pack-objects' 进程"
 
-#: builtin/gc.c:1106
+#: builtin/gc.c:1091
 msgid "failed to write multi-pack-index"
 msgstr "无法写入多包索引"
 
-#: builtin/gc.c:1124
+#: builtin/gc.c:1109
 msgid "'git multi-pack-index expire' failed"
 msgstr "'git multi-pack-index expire' 失败"
 
-#: builtin/gc.c:1185
+#: builtin/gc.c:1170
 msgid "'git multi-pack-index repack' failed"
 msgstr "'git multi-pack-index repack' 失败"
 
-#: builtin/gc.c:1194
+#: builtin/gc.c:1179
 msgid ""
 "skipping incremental-repack task because core.multiPackIndex is disabled"
 msgstr "跳过增量重新打包任务,因为 core.multiPackIndex 被禁用"
 
-#: builtin/gc.c:1298
+#: builtin/gc.c:1283
 #, c-format
 msgid "lock file '%s' exists, skipping maintenance"
 msgstr "锁文件 '%s' 已存在,跳过维护"
 
-#: builtin/gc.c:1328
+#: builtin/gc.c:1313
 #, c-format
 msgid "task '%s' failed"
 msgstr "任务 '%s' 失败"
 
-#: builtin/gc.c:1410
+#: builtin/gc.c:1395
 #, c-format
 msgid "'%s' is not a valid task"
 msgstr "'%s' 不是一个有效的任务"
 
-#: builtin/gc.c:1415
+#: builtin/gc.c:1400
 #, c-format
 msgid "task '%s' cannot be selected multiple times"
 msgstr "任务 '%s' 不能被多次选择"
 
-#: builtin/gc.c:1430
+#: builtin/gc.c:1415
 msgid "run tasks based on the state of the repository"
 msgstr "基于仓库状态来运行任务"
 
-#: builtin/gc.c:1431
+#: builtin/gc.c:1416
 msgid "frequency"
 msgstr "频率"
 
-#: builtin/gc.c:1432
+#: builtin/gc.c:1417
 msgid "run tasks based on frequency"
 msgstr "基于频率运行任务"
 
-#: builtin/gc.c:1435
+#: builtin/gc.c:1420
 msgid "do not report progress or other information over stderr"
 msgstr "不通过标准错误报告进度或其它信息"
 
-#: builtin/gc.c:1436
+#: builtin/gc.c:1421
 msgid "task"
 msgstr "任务"
 
-#: builtin/gc.c:1437
+#: builtin/gc.c:1422
 msgid "run a specific task"
 msgstr "运行一个特定的任务"
 
-#: builtin/gc.c:1454
+#: builtin/gc.c:1439
 msgid "use at most one of --auto and --schedule=<frequency>"
 msgstr "最多使用 --auto 和 --schedule=<频率> 其中之一"
 
-#: builtin/gc.c:1497
+#: builtin/gc.c:1482
 msgid "failed to run 'git config'"
 msgstr "无法运行 'git config'"
 
-#: builtin/gc.c:1562
+#: builtin/gc.c:1547
 #, c-format
 msgid "failed to expand path '%s'"
 msgstr "无法扩展路径 '%s'"
 
-#: builtin/gc.c:1591
+#: builtin/gc.c:1576
 msgid "failed to start launchctl"
 msgstr "无法启动 launchctl"
 
-#: builtin/gc.c:1628
+#: builtin/gc.c:1613
 #, c-format
 msgid "failed to create directories for '%s'"
 msgstr "无法为 '%s' 创建目录"
 
-#: builtin/gc.c:1689
+#: builtin/gc.c:1674
 #, c-format
 msgid "failed to bootstrap service %s"
 msgstr "无法引导服务 %s"
 
-#: builtin/gc.c:1760
+#: builtin/gc.c:1745
 msgid "failed to create temp xml file"
 msgstr "无法创建临时 XML 文件"
 
-#: builtin/gc.c:1850
+#: builtin/gc.c:1835
 msgid "failed to start schtasks"
 msgstr "无法启动计划任务"
 
-#: builtin/gc.c:1894
+#: builtin/gc.c:1879
 msgid "failed to run 'crontab -l'; your system might not support 'cron'"
 msgstr "无法执行 'crontab -l',您的系统可能不支持 'cron'"
 
-#: builtin/gc.c:1911
+#: builtin/gc.c:1896
 msgid "failed to run 'crontab'; your system might not support 'cron'"
 msgstr "无法运行 'crontab',您的系统可能不支持 'cron'"
 
-#: builtin/gc.c:1915
+#: builtin/gc.c:1900
 msgid "failed to open stdin of 'crontab'"
 msgstr "无法打开 'crontab' 的标准输入"
 
-#: builtin/gc.c:1956
+#: builtin/gc.c:1942
 msgid "'crontab' died"
 msgstr "'crontab' 终止"
 
-#: builtin/gc.c:1990
+#: builtin/gc.c:1976
 msgid "another process is scheduling background maintenance"
 msgstr "另外一个进程正运行于后台维护"
 
-#: builtin/gc.c:2009
+#: builtin/gc.c:2000
 msgid "failed to add repo to global config"
 msgstr "无法将仓库添加到全局配置"
 
-#: builtin/gc.c:2019
+#: builtin/gc.c:2010
 msgid "git maintenance <subcommand> [<options>]"
 msgstr "git maintenance <子命令> [<选项>]"
 
-#: builtin/gc.c:2038
+#: builtin/gc.c:2029
 #, c-format
 msgid "invalid subcommand: %s"
 msgstr "无效子命令:%s"
@@ -15436,259 +15661,258 @@
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:285 builtin/index-pack.c:1589 builtin/index-pack.c:1808
-#: builtin/pack-objects.c:2944
+#: builtin/grep.c:285 builtin/index-pack.c:1590 builtin/index-pack.c:1793
+#: builtin/pack-objects.c:2969
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/grep.c:473 builtin/grep.c:601 builtin/grep.c:641
+#: builtin/grep.c:473 builtin/grep.c:603 builtin/grep.c:643
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:658
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:737
+#: builtin/grep.c:739
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:838
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:838
+#: builtin/grep.c:840
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:840
+#: builtin/grep.c:842
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:842
+#: builtin/grep.c:844
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:844
+#: builtin/grep.c:846
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
-#: builtin/grep.c:847
+#: builtin/grep.c:849
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:851
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:853
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:855
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:857
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:860
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:862
 msgid "search in subdirectories (default)"
 msgstr "在子目录中寻找(默认)"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:864
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:868
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:871
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:874
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:877
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:880
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:881
 msgid "show column number of first match"
 msgstr "显示第一个匹配的列号"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:882
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:881
+#: builtin/grep.c:883
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:883
+#: builtin/grep.c:885
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:887
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:892
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:892
+#: builtin/grep.c:894
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:897
 msgid "show only matching parts of a line"
 msgstr "只显示行中的匹配的部分"
 
-#: builtin/grep.c:897
+#: builtin/grep.c:899
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:900
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:902
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:904
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:905
+#: builtin/grep.c:907
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:908
+#: builtin/grep.c:910
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:912
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:914
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:913
+#: builtin/grep.c:915
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:918
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:920
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:921
+#: builtin/grep.c:923
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:923
+#: builtin/grep.c:925
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:925
+#: builtin/grep.c:927
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:937
+#: builtin/grep.c:939
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:939
+#: builtin/grep.c:941
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:942
+#: builtin/grep.c:944
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:942
+#: builtin/grep.c:944
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:946
+#: builtin/grep.c:948
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:1012
+#: builtin/grep.c:1014
 msgid "no pattern given"
 msgstr "未提供匹配模式"
 
-#: builtin/grep.c:1048
+#: builtin/grep.c:1050
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index 或 --untracked 不能和版本同时使用"
 
-#: builtin/grep.c:1056
+#: builtin/grep.c:1058
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
-#: builtin/grep.c:1086
+#: builtin/grep.c:1088
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "--untracked 不支持和 --recurse-submodules 共用"
 
-#: builtin/grep.c:1090
+#: builtin/grep.c:1092
 msgid "invalid option combination, ignoring --threads"
 msgstr "无效的选项组合,忽略 --threads"
 
-#: builtin/grep.c:1093 builtin/pack-objects.c:3672
+#: builtin/grep.c:1095 builtin/pack-objects.c:3930
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
-#: builtin/grep.c:1096 builtin/index-pack.c:1586 builtin/pack-objects.c:2941
+#: builtin/grep.c:1098 builtin/index-pack.c:1587 builtin/pack-objects.c:2966
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:1130
+#: builtin/grep.c:1132
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:1156
+#: builtin/grep.c:1158
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用"
 
-#: builtin/grep.c:1159
+#: builtin/grep.c:1161
 msgid "--untracked cannot be used with --cached"
 msgstr "--untracked 不能与 --cached 同时使用"
 
-#: builtin/grep.c:1165
+#: builtin/grep.c:1167
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容"
 
-#: builtin/grep.c:1173
+#: builtin/grep.c:1175
 msgid "both --cached and trees are given"
 msgstr "同时给出了 --cached 和树对象"
 
@@ -15819,12 +16043,12 @@
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:520 builtin/help.c:531 git.c:340
+#: builtin/help.c:520 builtin/help.c:531 git.c:348
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' 是 '%s' 的别名"
 
-#: builtin/help.c:534 git.c:372
+#: builtin/help.c:534 git.c:380
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "坏的 alias.%s 字符串:%s"
@@ -15838,396 +16062,392 @@
 msgid "'git help config' for more information"
 msgstr "'git help config' 获取更多信息"
 
-#: builtin/index-pack.c:221
+#: builtin/index-pack.c:222
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:241
+#: builtin/index-pack.c:242
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "未能获取预期的对象 %s"
 
-#: builtin/index-pack.c:244
+#: builtin/index-pack.c:245
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:应为类型 %s,却是 %s"
 
-#: builtin/index-pack.c:294
+#: builtin/index-pack.c:295
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:304
+#: builtin/index-pack.c:305
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:305
+#: builtin/index-pack.c:306
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:318
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:324 builtin/pack-objects.c:624
+#: builtin/index-pack.c:325 builtin/pack-objects.c:624
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
+#: builtin/index-pack.c:328 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
-#: builtin/index-pack.c:342
+#: builtin/index-pack.c:343
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:348
+#: builtin/index-pack.c:349
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:362
+#: builtin/index-pack.c:363
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:364
+#: builtin/index-pack.c:365
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:382
+#: builtin/index-pack.c:383
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
-#: builtin/index-pack.c:488
+#: builtin/index-pack.c:489
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:537
+#: builtin/index-pack.c:538
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:545
+#: builtin/index-pack.c:546
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:554
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:584
+#: builtin/index-pack.c:585
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:586
+#: builtin/index-pack.c:587
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
-#: builtin/index-pack.c:612
+#: builtin/index-pack.c:613
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: 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
+#: builtin/index-pack.c:758 builtin/index-pack.c:764 builtin/index-pack.c:788
+#: builtin/index-pack.c:827 builtin/index-pack.c:836
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:760 builtin/pack-objects.c:171
+#: builtin/index-pack.c:761 builtin/pack-objects.c:171
 #: builtin/pack-objects.c:231 builtin/pack-objects.c:326
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:824
+#: builtin/index-pack.c:825
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
-#: builtin/index-pack.c:832
+#: builtin/index-pack.c:833
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:849 builtin/index-pack.c:868
+#: builtin/index-pack.c:850 builtin/index-pack.c:869
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
-#: builtin/index-pack.c:870
+#: builtin/index-pack.c:871
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:931 builtin/index-pack.c:978
+#: builtin/index-pack.c:932 builtin/index-pack.c:979
 msgid "failed to apply delta"
 msgstr "应用 delta 失败"
 
-#: builtin/index-pack.c:1161
+#: builtin/index-pack.c:1162
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1161
+#: builtin/index-pack.c:1162
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1196
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1200
+#: builtin/index-pack.c:1201
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
-#: builtin/index-pack.c:1203
+#: builtin/index-pack.c:1204
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1215
+#: builtin/index-pack.c:1216
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1238
+#: builtin/index-pack.c:1239
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2707
+#: builtin/index-pack.c:1250 builtin/pack-objects.c:2732
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1282
+#: builtin/index-pack.c:1283
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1288
+#: builtin/index-pack.c:1289
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "完成 %d 个本地对象"
 msgstr[1] "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1300
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1304
+#: builtin/index-pack.c:1305
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "包有 %d 个未解决的 delta"
 msgstr[1] "包有 %d 个未解决的 delta"
 
-#: builtin/index-pack.c:1328
+#: builtin/index-pack.c:1329
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1424
+#: builtin/index-pack.c:1425
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1446
 #, c-format
 msgid "packfile name '%s' does not end with '.%s'"
 msgstr "包文件名 '%s' 没有以 '.%s' 结尾"
 
-#: builtin/index-pack.c:1469
+#: builtin/index-pack.c:1470
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "无法写入 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1477
+#: builtin/index-pack.c:1478
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "无法关闭已写入的 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1503
+#: builtin/index-pack.c:1504
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1517
+#: builtin/index-pack.c:1518
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1525
+#: builtin/index-pack.c:1526
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1534
-msgid "cannot store reverse index file"
-msgstr "无法存储反向索引文件"
-
-#: builtin/index-pack.c:1580 builtin/pack-objects.c:2952
+#: builtin/index-pack.c:1581 builtin/pack-objects.c:2977
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1650
+#: builtin/index-pack.c:1651
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1652
+#: builtin/index-pack.c:1653
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1700
+#: builtin/index-pack.c:1701
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta:%d 个对象"
 msgstr[1] "非 delta:%d 个对象"
 
-#: builtin/index-pack.c:1707
+#: builtin/index-pack.c:1708
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
-#: builtin/index-pack.c:1765
+#: builtin/index-pack.c:1750
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1819 builtin/index-pack.c:1822
-#: builtin/index-pack.c:1838 builtin/index-pack.c:1842
+#: builtin/index-pack.c:1804 builtin/index-pack.c:1807
+#: builtin/index-pack.c:1823 builtin/index-pack.c:1827
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1848 builtin/init-db.c:392 builtin/init-db.c:625
+#: builtin/index-pack.c:1833 builtin/init-db.c:378 builtin/init-db.c:613
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "未知的哈希算法 '%s'"
 
-#: builtin/index-pack.c:1867
+#: builtin/index-pack.c:1852
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1869
+#: builtin/index-pack.c:1854
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要 git 仓库"
 
-#: builtin/index-pack.c:1871
+#: builtin/index-pack.c:1856
 msgid "--object-format cannot be used with --stdin"
 msgstr "--object-format 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1886
+#: builtin/index-pack.c:1871
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/index-pack.c:1956 builtin/unpack-objects.c:582
+#: builtin/index-pack.c:1937 builtin/unpack-objects.c:584
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
-#: builtin/init-db.c:64
+#: builtin/init-db.c:63
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "不能对模版 '%s' 调用 stat"
 
-#: builtin/init-db.c:69
+#: builtin/init-db.c:68
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: builtin/init-db.c:81
+#: builtin/init-db.c:80
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "不能读取链接 '%s'"
 
-#: builtin/init-db.c:83
+#: builtin/init-db.c:82
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "不能自 '%s' 到 '%s' 创建符号链接"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:88
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: builtin/init-db.c:93
+#: builtin/init-db.c:92
 #, c-format
 msgid "ignoring template %s"
 msgstr "忽略模版 %s"
 
-#: builtin/init-db.c:124
+#: builtin/init-db.c:123
 #, c-format
 msgid "templates not found in %s"
 msgstr "没有在 %s 中找到模版"
 
-#: builtin/init-db.c:139
+#: builtin/init-db.c:138
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "没有从 '%s' 复制模版:%s"
 
-#: builtin/init-db.c:275
+#: builtin/init-db.c:262
 #, c-format
 msgid "invalid initial branch name: '%s'"
 msgstr "无效的初始分支名:'%s'"
 
-#: builtin/init-db.c:367
+#: builtin/init-db.c:353
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "不能处理 %d 类型的文件"
 
-#: builtin/init-db.c:370
+#: builtin/init-db.c:356
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "不能移动 %s 至 %s"
 
-#: builtin/init-db.c:386
+#: builtin/init-db.c:372
 msgid "attempt to reinitialize repository with different hash"
 msgstr "尝试用不同的哈希算法重新初始化仓库"
 
-#: builtin/init-db.c:410 builtin/init-db.c:413
+#: builtin/init-db.c:396 builtin/init-db.c:399
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
-#: builtin/init-db.c:445
+#: builtin/init-db.c:431
 #, c-format
 msgid "re-init: ignored --initial-branch=%s"
 msgstr "re-init:已忽略 --initial-branch=%s"
 
-#: builtin/init-db.c:476
+#: builtin/init-db.c:462
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "重新初始化已存在的共享 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:477
+#: builtin/init-db.c:463
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "重新初始化已存在的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:481
+#: builtin/init-db.c:467
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "已初始化空的共享 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:468
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "已初始化空的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:531
+#: builtin/init-db.c:517
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -16235,53 +16455,53 @@
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:557
+#: builtin/init-db.c:543
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:558
+#: builtin/init-db.c:544
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 仓库是多个用户之间共享的"
 
-#: builtin/init-db.c:564
+#: builtin/init-db.c:550
 msgid "override the name of the initial branch"
 msgstr "覆盖初始分支名称"
 
-#: builtin/init-db.c:565 builtin/verify-pack.c:74
+#: builtin/init-db.c:551 builtin/verify-pack.c:74
 msgid "hash"
 msgstr "hash"
 
-#: builtin/init-db.c:566 builtin/show-index.c:22 builtin/verify-pack.c:75
+#: builtin/init-db.c:552 builtin/show-index.c:22 builtin/verify-pack.c:75
 msgid "specify the hash algorithm to use"
 msgstr "指定要使用的哈希算法"
 
-#: builtin/init-db.c:573
+#: builtin/init-db.c:559
 msgid "--separate-git-dir and --bare are mutually exclusive"
 msgstr "--separate-git-dir 和 --bare 是互斥的"
 
-#: builtin/init-db.c:602 builtin/init-db.c:607
+#: builtin/init-db.c:590 builtin/init-db.c:595
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:611 builtin/init-db.c:666
+#: builtin/init-db.c:599 builtin/init-db.c:654
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:638
+#: builtin/init-db.c:626
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "不允许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)"
 
-#: builtin/init-db.c:690
+#: builtin/init-db.c:678
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 
-#: builtin/init-db.c:695
+#: builtin/init-db.c:683
 msgid "--separate-git-dir incompatible with bare repository"
 msgstr "--separate-git-dir 不能用于纯仓库"
 
@@ -16333,10 +16553,6 @@
 msgid "do not treat --- specially"
 msgstr "不要对 --- 特殊处理"
 
-#: builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr "尾注"
-
 #: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr "要添加的尾注"
@@ -16397,80 +16613,80 @@
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:566
+#: builtin/log.c:568
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:581 builtin/log.c:671
+#: builtin/log.c:583 builtin/log.c:673
 #, c-format
 msgid "could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:696
+#: builtin/log.c:698
 #, c-format
 msgid "unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:841
+#: builtin/log.c:843
 #, c-format
 msgid "%s: invalid cover from description mode"
 msgstr "%s:从描述生成附函的模式无效"
 
-#: builtin/log.c:848
+#: builtin/log.c:850
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:977
+#: builtin/log.c:979
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:994
+#: builtin/log.c:996
 msgid "need exactly one range"
 msgstr "只需要一个范围"
 
-#: builtin/log.c:1004
+#: builtin/log.c:1006
 msgid "not a range"
 msgstr "不是一个范围"
 
-#: builtin/log.c:1168
+#: builtin/log.c:1170
 msgid "cover letter needs email format"
 msgstr "附函需要邮件地址格式"
 
-#: builtin/log.c:1174
+#: builtin/log.c:1176
 msgid "failed to create cover-letter file"
 msgstr "无法创建附函文件"
 
-#: builtin/log.c:1261
+#: builtin/log.c:1263
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1288
+#: builtin/log.c:1290
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1346
+#: builtin/log.c:1348
 msgid "two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1497 builtin/log.c:2317 builtin/log.c:2319 builtin/log.c:2331
+#: builtin/log.c:1499 builtin/log.c:2326 builtin/log.c:2328 builtin/log.c:2340
 #, c-format
 msgid "unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1508 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1510 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "无法将 '%s' 解析为一个有效引用"
 
-#: builtin/log.c:1517
+#: builtin/log.c:1519
 msgid "could not find exact merge base"
 msgstr "不能找到准确的合并基线"
 
-#: builtin/log.c:1527
+#: builtin/log.c:1529
 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"
@@ -16480,394 +16696,398 @@
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交"
 
-#: builtin/log.c:1550
+#: builtin/log.c:1552
 msgid "failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1569
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1579
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1635
+#: builtin/log.c:1637
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1692
+#: builtin/log.c:1700
 msgid "failed to infer range-diff origin of current series"
 msgstr "无法推断当前系列的 range-diff 起始"
 
-#: builtin/log.c:1694
+#: builtin/log.c:1702
 #, c-format
 msgid "using '%s' as range-diff origin of current series"
 msgstr "使用 '%s' 作为当前系列的 range-diff 源"
 
-#: builtin/log.c:1738
+#: builtin/log.c:1746
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1741
+#: builtin/log.c:1749
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1745
+#: builtin/log.c:1753
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1747
+#: builtin/log.c:1755
 msgid "generate a cover letter"
 msgstr "生成一封附函"
 
-#: builtin/log.c:1749
+#: builtin/log.c:1757
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1750
+#: builtin/log.c:1758
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1751
+#: builtin/log.c:1759
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1753
+#: builtin/log.c:1761
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1755
+#: builtin/log.c:1762
+msgid "reroll-count"
+msgstr "重制-计数"
+
+#: builtin/log.c:1763
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1757
+#: builtin/log.c:1765
 msgid "max length of output filename"
 msgstr "输出文件名的最大长度"
 
-#: builtin/log.c:1759
+#: builtin/log.c:1767
 msgid "use [RFC PATCH] instead of [PATCH]"
 msgstr "使用 [RFC PATCH] 代替 [PATCH]"
 
-#: builtin/log.c:1762
+#: builtin/log.c:1770
 msgid "cover-from-description-mode"
 msgstr "从分支描述获取附函的模式"
 
-#: builtin/log.c:1763
+#: builtin/log.c:1771
 msgid "generate parts of a cover letter based on a branch's description"
 msgstr "基于一个分支描述生成部分附函"
 
-#: builtin/log.c:1765
+#: builtin/log.c:1773
 msgid "use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1768
+#: builtin/log.c:1776
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1771
+#: builtin/log.c:1779
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1774
+#: builtin/log.c:1782
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1776
+#: builtin/log.c:1784
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1778
+#: builtin/log.c:1786
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1780
+#: builtin/log.c:1788
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1782
+#: builtin/log.c:1790
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1783
+#: builtin/log.c:1791
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1784
+#: builtin/log.c:1792
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1785 builtin/log.c:1786
+#: builtin/log.c:1793 builtin/log.c:1794
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1793
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1786
+#: builtin/log.c:1794
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1787
+#: builtin/log.c:1795
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1788
+#: builtin/log.c:1796
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1790
+#: builtin/log.c:1798
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1791
+#: builtin/log.c:1799
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1792 builtin/log.c:1795
+#: builtin/log.c:1800 builtin/log.c:1803
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1793
+#: builtin/log.c:1801
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1796
+#: builtin/log.c:1804
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1800
+#: builtin/log.c:1808
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1802
+#: builtin/log.c:1810
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1803
+#: builtin/log.c:1811
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1804
+#: builtin/log.c:1812
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1805
+#: builtin/log.c:1813
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1808
+#: builtin/log.c:1816
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1809
+#: builtin/log.c:1817
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1811
+#: builtin/log.c:1819
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1813
+#: builtin/log.c:1821
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <rev> 的差异"
 
-#: builtin/log.c:1816
+#: builtin/log.c:1824
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <refspec> 的差异"
 
-#: builtin/log.c:1818
+#: builtin/log.c:1826 builtin/range-diff.c:28
 msgid "percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
-#: builtin/log.c:1904
+#: builtin/log.c:1913
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1919
+#: builtin/log.c:1928
 msgid "-n and -k are mutually exclusive"
 msgstr "-n 和 -k 互斥"
 
-#: builtin/log.c:1921
+#: builtin/log.c:1930
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
-#: builtin/log.c:1929
+#: builtin/log.c:1938
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1931
+#: builtin/log.c:1940
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1933
+#: builtin/log.c:1942
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1955
+#: builtin/log.c:1964
 msgid "--stdout, --output, and --output-directory are mutually exclusive"
 msgstr "--stdout、--output 和 --output-directory 是互斥的"
 
-#: builtin/log.c:2078
+#: builtin/log.c:2087
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:2082
+#: builtin/log.c:2091
 msgid "Interdiff:"
 msgstr "版本间差异:"
 
-#: builtin/log.c:2083
+#: builtin/log.c:2092
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "对 v%d 的版本差异:"
 
-#: builtin/log.c:2089
+#: builtin/log.c:2098
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor 需要 --range-diff"
 
-#: builtin/log.c:2093
+#: builtin/log.c:2102
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:2101
+#: builtin/log.c:2110
 msgid "Range-diff:"
 msgstr "范围差异:"
 
-#: builtin/log.c:2102
+#: builtin/log.c:2111
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "对 v%d 的范围差异:"
 
-#: builtin/log.c:2113
+#: builtin/log.c:2122
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:2149
+#: builtin/log.c:2158
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:2193
+#: builtin/log.c:2202
 msgid "failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:2252
+#: builtin/log.c:2261
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:2306
+#: builtin/log.c:2315
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/ls-files.c:486
+#: builtin/ls-files.c:563
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:619
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:544
+#: builtin/ls-files.c:621
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:546
+#: builtin/ls-files.c:623
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "使用小写字母表示 'fsmonitor clean' 文件"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:625
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:627
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:552
+#: builtin/ls-files.c:629
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:631
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:633
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:636
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:638
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:640
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:642
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:644
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:570
+#: builtin/ls-files.c:647
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:572
+#: builtin/ls-files.c:649
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:574
+#: builtin/ls-files.c:651
 msgid "skip files matching pattern"
 msgstr "跳过和模式匹配的文件"
 
-#: builtin/ls-files.c:577
+#: builtin/ls-files.c:654
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:580
+#: builtin/ls-files.c:657
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:582
+#: builtin/ls-files.c:659
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:586
+#: builtin/ls-files.c:663
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:589
+#: builtin/ls-files.c:666
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
-#: builtin/ls-files.c:591
+#: builtin/ls-files.c:668
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:592
+#: builtin/ls-files.c:669
 msgid "tree-ish"
 msgstr "树对象"
 
-#: builtin/ls-files.c:593
+#: builtin/ls-files.c:670
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树对象> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:595
+#: builtin/ls-files.c:672
 msgid "show debugging data"
 msgstr "显示调试数据"
 
-#: builtin/ls-files.c:597
+#: builtin/ls-files.c:674
 msgid "suppress duplicate entries"
 msgstr "抑制重复条目"
 
@@ -16885,7 +17105,7 @@
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1404
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1399
 msgid "exec"
 msgstr "exec"
 
@@ -16953,6 +17173,55 @@
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
+#. TRANSLATORS: keep <> in "<" mail ">" info.
+#: builtin/mailinfo.c:14
+msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
+msgstr "git mailinfo [<选项>] <消息> <补丁> < mail >info"
+
+#: builtin/mailinfo.c:58
+msgid "keep subject"
+msgstr "保持主题"
+
+#: builtin/mailinfo.c:60
+msgid "keep non patch brackets in subject"
+msgstr "在主题中保持无补丁括号标注"
+
+#: builtin/mailinfo.c:62
+msgid "copy Message-ID to the end of commit message"
+msgstr "拷贝 Message-ID 至提交说明结尾"
+
+#: builtin/mailinfo.c:64
+msgid "re-code metadata to i18n.commitEncoding"
+msgstr "将元数据重新编码为 i18n.commitEncoding"
+
+#: builtin/mailinfo.c:67
+msgid "disable charset re-coding of metadata"
+msgstr "禁用元数据的字符集重新编码"
+
+#: builtin/mailinfo.c:69
+msgid "encoding"
+msgstr "编码"
+
+#: builtin/mailinfo.c:70
+msgid "re-code metadata to this encoding"
+msgstr "将元数据用此编码重新编码"
+
+#: builtin/mailinfo.c:72
+msgid "use scissors"
+msgstr "使用剪刀标记"
+
+#: builtin/mailinfo.c:73
+msgid "<action>"
+msgstr "<动作>"
+
+#: builtin/mailinfo.c:74
+msgid "action when quoted CR is found"
+msgstr "找到引用的 CR 时的操作"
+
+#: builtin/mailinfo.c:77
+msgid "use headers in message's body"
+msgstr "在消息正文中使用标头"
+
 #: builtin/mailsplit.c:241
 #, c-format
 msgid "empty mbox: '%s'"
@@ -17146,7 +17415,7 @@
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
 #: builtin/merge.c:278 builtin/notes.c:787 builtin/pull.c:168
-#: builtin/rebase.c:541 builtin/rebase.c:1418 builtin/revert.c:114
+#: builtin/rebase.c:540 builtin/rebase.c:1413 builtin/revert.c:114
 msgid "strategy"
 msgstr "策略"
 
@@ -17204,56 +17473,55 @@
 msgid "read-tree failed"
 msgstr "读取树失败"
 
-#  译者:注意保持前导空格
-#: builtin/merge.c:399
-msgid " (nothing to squash)"
-msgstr " (无可压缩)"
+#: builtin/merge.c:400
+msgid "Already up to date. (nothing to squash)"
+msgstr "已经是最新的。(无可挤压)"
 
-#: builtin/merge.c:410
+#: builtin/merge.c:414
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
-msgstr "压缩提交 -- 未更新 HEAD\n"
+msgstr "挤压提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:460
+#: builtin/merge.c:464
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:511
+#: builtin/merge.c:515
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:598
+#: builtin/merge.c:602
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:724
+#: builtin/merge.c:728
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:737
+#: builtin/merge.c:741
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:756 t/helper/test-fast-rebase.c:209
+#: builtin/merge.c:760 t/helper/test-fast-rebase.c:209
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:808
+#: builtin/merge.c:812
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:817
+#: builtin/merge.c:821
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:823
+#: builtin/merge.c:827
 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"
@@ -17263,83 +17531,83 @@
 "合并到主题分支。\n"
 "\n"
 
-#: builtin/merge.c:828
+#: builtin/merge.c:832
 msgid "An empty message aborts the commit.\n"
 msgstr "空的提交说明会终止提交。\n"
 
-#: builtin/merge.c:831
+#: builtin/merge.c:835
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
 "the commit.\n"
 msgstr "以 '%c' 开始的行将被忽略,而空的提交说明将终止提交。\n"
 
-#: builtin/merge.c:884
+#: builtin/merge.c:888
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:899
+#: builtin/merge.c:903
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:999
+#: builtin/merge.c:1003
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:1001
+#: builtin/merge.c:1005
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:1003
+#: builtin/merge.c:1007
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:1008
+#: builtin/merge.c:1012
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1065
+#: builtin/merge.c:1069
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1168
+#: builtin/merge.c:1172
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
-#: builtin/merge.c:1202
+#: builtin/merge.c:1206
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1312
+#: builtin/merge.c:1316
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1316
+#: builtin/merge.c:1320
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1338
 msgid "--quit expects no arguments"
 msgstr "--quit 不带参数"
 
-#: builtin/merge.c:1347
+#: builtin/merge.c:1351
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1351
+#: builtin/merge.c:1355
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1371
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17347,7 +17615,7 @@
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1374
+#: builtin/merge.c:1378
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17355,96 +17623,88 @@
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1381
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1391
+#: builtin/merge.c:1395
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 和 --no-ff 组合使用。"
 
-#: builtin/merge.c:1393
+#: builtin/merge.c:1397
 msgid "You cannot combine --squash with --commit."
 msgstr "您不能将 --squash 和 --commit 组合使用。"
 
-#: builtin/merge.c:1409
+#: builtin/merge.c:1413
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1426
+#: builtin/merge.c:1430
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1428
+#: builtin/merge.c:1432
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1433
+#: builtin/merge.c:1437
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1435
+#: builtin/merge.c:1439
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1516
+#: builtin/merge.c:1520
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1525
-msgid "Already up to date."
-msgstr "已经是最新的。"
-
-#: builtin/merge.c:1535
+#: builtin/merge.c:1539
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1581
+#: builtin/merge.c:1585
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1588
+#: builtin/merge.c:1592
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1613
-msgid "Already up to date. Yeeah!"
-msgstr "已经是最新的。耶!"
-
-#: builtin/merge.c:1619
+#: builtin/merge.c:1623
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1647 builtin/merge.c:1712
+#: builtin/merge.c:1651 builtin/merge.c:1716
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1651
+#: builtin/merge.c:1655
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1703
+#: builtin/merge.c:1707
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1705
+#: builtin/merge.c:1709
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1714
+#: builtin/merge.c:1718
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1728
+#: builtin/merge.c:1732
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -17453,40 +17713,40 @@
 msgid "git mktag"
 msgstr "git mktag"
 
-#: builtin/mktag.c:30
+#: builtin/mktag.c:27
 #, c-format
 msgid "warning: tag input does not pass fsck: %s"
 msgstr "警告:标签输入未通过 fsck:%s"
 
-#: builtin/mktag.c:41
+#: builtin/mktag.c:38
 #, c-format
 msgid "error: tag input does not pass fsck: %s"
 msgstr "错误:标签输入未通过 fsck:%s"
 
-#: builtin/mktag.c:44
+#: builtin/mktag.c:41
 #, c-format
 msgid "%d (FSCK_IGNORE?) should never trigger this callback"
 msgstr "%d(忽略 FSCK?)不应该触发这个调用"
 
-#: builtin/mktag.c:59
+#: builtin/mktag.c:56
 #, c-format
 msgid "could not read tagged object '%s'"
 msgstr "不能读取被标记的对象 '%s'"
 
-#: builtin/mktag.c:62
+#: builtin/mktag.c:59
 #, c-format
 msgid "object '%s' tagged as '%s', but is a '%s' type"
 msgstr "对象 '%s' 被标记为 '%s',然而是一个 '%s' 类型"
 
-#: builtin/mktag.c:99
+#: builtin/mktag.c:97
 msgid "tag on stdin did not pass our strict fsck check"
 msgstr "标准输入上的标签未通过我们严格的 fsck 检查"
 
-#: builtin/mktag.c:102
+#: builtin/mktag.c:100
 msgid "tag on stdin did not refer to a valid object"
 msgstr "标准输入上的标签未指向一个有效的对象"
 
-#: builtin/mktag.c:105 builtin/tag.c:232
+#: builtin/mktag.c:103 builtin/tag.c:243
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
@@ -17506,36 +17766,41 @@
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
-#: builtin/multi-pack-index.c:9
-msgid ""
-"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
-"size=<size>)"
-msgstr ""
-"git multi-pack-index [<选项>] (write|verify|expire|repack --batch-size=<大小"
-">)"
+#: builtin/multi-pack-index.c:10
+msgid "git multi-pack-index [<options>] write [--preferred-pack=<pack>]"
+msgstr "git multi-pack-index [<选项>] write [--preferred-pack=<包>]"
 
-#: builtin/multi-pack-index.c:26
+#: builtin/multi-pack-index.c:13
+msgid "git multi-pack-index [<options>] verify"
+msgstr "git multi-pack-index [<选项>] verify"
+
+#: builtin/multi-pack-index.c:16
+msgid "git multi-pack-index [<options>] expire"
+msgstr "git multi-pack-index [<选项>] expire"
+
+#: builtin/multi-pack-index.c:19
+msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
+msgstr "git multi-pack-index [<选项>] repack [--batch-size=<尺寸>]"
+
+#: builtin/multi-pack-index.c:54
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "包含成对包文件和包索引的对象目录"
 
-#: builtin/multi-pack-index.c:29
+#: builtin/multi-pack-index.c:69
+msgid "preferred-pack"
+msgstr "首选包"
+
+#: builtin/multi-pack-index.c:70
+msgid "pack for reuse when computing a multi-pack bitmap"
+msgstr "在计算多包位图时打包以供重用"
+
+#: builtin/multi-pack-index.c:128
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
 msgstr "在 repack 期间,将较小尺寸的包文件收集到大于此大小的批次中"
 
-#: builtin/multi-pack-index.c:50 builtin/notes.c:376 builtin/notes.c:431
-#: builtin/notes.c:509 builtin/notes.c:521 builtin/notes.c:598
-#: builtin/notes.c:665 builtin/notes.c:815 builtin/notes.c:963
-#: builtin/notes.c:985 builtin/prune-packed.c:25 builtin/tag.c:575
-msgid "too many arguments"
-msgstr "太多参数"
-
-#: builtin/multi-pack-index.c:60
-msgid "--batch-size option is only for 'repack' subcommand"
-msgstr "--batch-size 选项仅用于 'repack' 子命令"
-
-#: builtin/multi-pack-index.c:69
+#: builtin/multi-pack-index.c:180
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "未识别的子命令:%s"
@@ -17631,7 +17896,7 @@
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:483
+#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:667
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -17820,7 +18085,7 @@
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:242 builtin/tag.c:565
+#: builtin/notes.c:242 builtin/tag.c:576
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
@@ -17860,6 +18125,13 @@
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %2$s(在 refs/notes/ 之外)%1$s注解"
 
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509
+#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665
+#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985
+#: builtin/prune-packed.c:25 builtin/tag.c:586
+msgid "too many arguments"
+msgstr "太多参数"
+
 #: builtin/notes.c:389 builtin/notes.c:678
 #, c-format
 msgid "no note found for object %s."
@@ -18039,7 +18311,7 @@
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
-#: builtin/notes.c:897 builtin/tag.c:578
+#: builtin/notes.c:897 builtin/tag.c:589
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
@@ -18073,7 +18345,7 @@
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1034 builtin/stash.c:1671
+#: builtin/notes.c:1034 builtin/stash.c:1739
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
@@ -18093,7 +18365,8 @@
 msgid ""
 "write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
 "pack %s"
-msgstr "write_reuse_object:无法定位 %1$s,预期在包 %3$s 中的偏移量 %2$<PRIuMAX> 上"
+msgstr ""
+"write_reuse_object:无法定位 %1$s,预期在包 %3$s 中的偏移量 %2$<PRIuMAX> 上"
 
 #: builtin/pack-objects.c:448
 #, c-format
@@ -18138,63 +18411,63 @@
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:1358
+#: builtin/pack-objects.c:1383
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:1806
+#: builtin/pack-objects.c:1831
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "%s 压缩中 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:1815
+#: builtin/pack-objects.c:1840
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "%s 的 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:2096
+#: builtin/pack-objects.c:2121
 msgid "Counting objects"
 msgstr "对象计数中"
 
-#: builtin/pack-objects.c:2241
+#: builtin/pack-objects.c:2266
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "无法解析对象 %s 头信息"
 
-#: builtin/pack-objects.c:2311 builtin/pack-objects.c:2327
-#: builtin/pack-objects.c:2337
+#: builtin/pack-objects.c:2336 builtin/pack-objects.c:2352
+#: builtin/pack-objects.c:2362
 #, c-format
 msgid "object %s cannot be read"
 msgstr "对象 %s 无法读取"
 
-#: builtin/pack-objects.c:2314 builtin/pack-objects.c:2341
+#: builtin/pack-objects.c:2339 builtin/pack-objects.c:2366
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr "对象 %s 不一致的对象长度(%<PRIuMAX> vs %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2351
+#: builtin/pack-objects.c:2376
 msgid "suboptimal pack - out of memory"
 msgstr "次优(suboptimal)打包 - 内存不足"
 
-#: builtin/pack-objects.c:2666
+#: builtin/pack-objects.c:2691
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "使用 %d 个线程进行压缩"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2830
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "无法为标签 %s 压缩对象"
 
-#: builtin/pack-objects.c:2891
+#: builtin/pack-objects.c:2916
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2897
+#: builtin/pack-objects.c:2922
 msgid "inconsistency with delta count"
 msgstr "不一致的差异计数"
 
-#: builtin/pack-objects.c:2976
+#: builtin/pack-objects.c:3001
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -18203,13 +18476,23 @@
 "uploadpack.blobpackfileuri 的取值必须是 '<object-hash> <pack-hash> <uri>' 格"
 "式(得到 '%s')"
 
-#: builtin/pack-objects.c:2979
+#: builtin/pack-objects.c:3004
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
 msgstr "对象已经在另外的 uploadpack.blobpackfileuri 中配置(得到 '%s')"
 
-#: builtin/pack-objects.c:3008
+#: builtin/pack-objects.c:3039
+#, c-format
+msgid "could not get type of object %s in pack %s"
+msgstr "无法获得包 %2$s 中对象 %1$s 的类型"
+
+#: builtin/pack-objects.c:3161 builtin/pack-objects.c:3175
+#, c-format
+msgid "could not find pack '%s'"
+msgstr "不能找到包 '%s'"
+
+#: builtin/pack-objects.c:3218
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -18218,7 +18501,7 @@
 "预期边界对象(edge object)ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:3014
+#: builtin/pack-objects.c:3224
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -18227,234 +18510,246 @@
 "预期对象 ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:3112
+#: builtin/pack-objects.c:3322
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
-#: builtin/pack-objects.c:3171 builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3381 builtin/pack-objects.c:3490
 msgid "cannot open pack index"
 msgstr "无法打开包文件索引"
 
-#: builtin/pack-objects.c:3202
+#: builtin/pack-objects.c:3412
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "无法检查 %s 处的松散对象"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3498
 msgid "unable to force loose object"
 msgstr "无法强制松散对象"
 
-#: builtin/pack-objects.c:3380
+#: builtin/pack-objects.c:3628
 #, c-format
 msgid "not a rev '%s'"
 msgstr "不是一个版本 '%s'"
 
-#: builtin/pack-objects.c:3383
+#: builtin/pack-objects.c:3631
 #, c-format
 msgid "bad revision '%s'"
 msgstr "坏的版本 '%s'"
 
-#: builtin/pack-objects.c:3408
+#: builtin/pack-objects.c:3659
 msgid "unable to add recent objects"
 msgstr "无法添加最近的对象"
 
-#: builtin/pack-objects.c:3461
+#: builtin/pack-objects.c:3712
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:3465
+#: builtin/pack-objects.c:3716
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:3503
+#: builtin/pack-objects.c:3755
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
 
-#: builtin/pack-objects.c:3504
+#: builtin/pack-objects.c:3756
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:3507
+#: builtin/pack-objects.c:3759
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:3509
+#: builtin/pack-objects.c:3761
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:3511
+#: builtin/pack-objects.c:3763
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:3513
+#: builtin/pack-objects.c:3765
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:3515
+#: builtin/pack-objects.c:3767
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:3517
+#: builtin/pack-objects.c:3769
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:3519
+#: builtin/pack-objects.c:3771
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:3521
+#: builtin/pack-objects.c:3773
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:3523
+#: builtin/pack-objects.c:3775
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:3525
+#: builtin/pack-objects.c:3777
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:3527
+#: builtin/pack-objects.c:3779
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:3529
+#: builtin/pack-objects.c:3781
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:3531
+#: builtin/pack-objects.c:3783
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:3534
+#: builtin/pack-objects.c:3786
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:3537
+#: builtin/pack-objects.c:3789
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:3540
+#: builtin/pack-objects.c:3792
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:3543
+#: builtin/pack-objects.c:3795
+msgid "read packs from stdin"
+msgstr "从标准输入读取包"
+
+#: builtin/pack-objects.c:3797
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:3545
+#: builtin/pack-objects.c:3799
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:3547
+#: builtin/pack-objects.c:3801
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:3549
+#: builtin/pack-objects.c:3803
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:3551
+#: builtin/pack-objects.c:3805
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:3554
+#: builtin/pack-objects.c:3808
 msgid "use the sparse reachability algorithm"
 msgstr "使用稀疏可达性算法"
 
-#: builtin/pack-objects.c:3556
+#: builtin/pack-objects.c:3810
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:3558
+#: builtin/pack-objects.c:3812
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:3560
+#: builtin/pack-objects.c:3814
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:3562
+#: builtin/pack-objects.c:3816
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
-#: builtin/pack-objects.c:3564
+#: builtin/pack-objects.c:3818
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:3566
+#: builtin/pack-objects.c:3820
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
-#: builtin/pack-objects.c:3568
+#: builtin/pack-objects.c:3822
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:3570
+#: builtin/pack-objects.c:3824
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:3574
+#: builtin/pack-objects.c:3828
 msgid "write a bitmap index if possible"
 msgstr "如果可能,写 bitmap 索引"
 
-#: builtin/pack-objects.c:3578
+#: builtin/pack-objects.c:3832
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
-#: builtin/pack-objects.c:3581
+#: builtin/pack-objects.c:3835
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
-#: builtin/pack-objects.c:3583
+#: builtin/pack-objects.c:3837
 msgid "respect islands during delta compression"
 msgstr "在增量压缩时参考数据岛"
 
-#: builtin/pack-objects.c:3585
+#: builtin/pack-objects.c:3839
 msgid "protocol"
 msgstr "协议"
 
-#: builtin/pack-objects.c:3586
+#: builtin/pack-objects.c:3840
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr "使用此协议排除任何已配置的 uploadpack.blobpackfileuri"
 
-#: builtin/pack-objects.c:3617
+#: builtin/pack-objects.c:3873
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "增量链深度 %d 太深了,强制为 %d"
 
-#: builtin/pack-objects.c:3622
+#: builtin/pack-objects.c:3878
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "配置 pack.deltaCacheLimit 太高了,强制为 %d"
 
-#: builtin/pack-objects.c:3676
+#: builtin/pack-objects.c:3934
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
 
-#: builtin/pack-objects.c:3678
+#: builtin/pack-objects.c:3936
 msgid "minimum pack size limit is 1 MiB"
 msgstr "最小的包文件大小是 1 MiB"
 
-#: builtin/pack-objects.c:3683
+#: builtin/pack-objects.c:3941
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin 不能用于创建一个可索引包"
 
-#: builtin/pack-objects.c:3686
+#: builtin/pack-objects.c:3944
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable 和 --unpack-unreachable 不兼容"
 
-#: builtin/pack-objects.c:3692
+#: builtin/pack-objects.c:3950
 msgid "cannot use --filter without --stdout"
 msgstr "不能在没有 --stdout 的情况下使用 --filter"
 
-#: builtin/pack-objects.c:3752
+#: builtin/pack-objects.c:3952
+msgid "cannot use --filter with --stdin-packs"
+msgstr "不能同时使用 --filter 和 --stdin-packs"
+
+#: builtin/pack-objects.c:3956
+msgid "cannot use internal rev list with --stdin-packs"
+msgstr "不能同时使用内部版本列表和 --stdin-packs"
+
+#: builtin/pack-objects.c:4015
 msgid "Enumerating objects"
 msgstr "枚举对象中"
 
-#: builtin/pack-objects.c:3783
+#: builtin/pack-objects.c:4052
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -18533,11 +18828,11 @@
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:158 builtin/rebase.c:492 builtin/revert.c:126
+#: builtin/pull.c:158 builtin/rebase.c:491 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:167 parse-options.h:339
+#: builtin/pull.c:167 parse-options.h:340
 msgid "automatically stash/stash pop before and after"
 msgstr "在操作前后执行自动贮藏和弹出贮藏"
 
@@ -18585,7 +18880,7 @@
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:456 builtin/rebase.c:1253
+#: builtin/pull.c:456 builtin/rebase.c:1248
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
@@ -18602,7 +18897,7 @@
 msgstr "详见 git-pull(1)。"
 
 #: builtin/pull.c:463 builtin/pull.c:469 builtin/pull.c:478
-#: builtin/rebase.c:1259
+#: builtin/rebase.c:1254
 msgid "<remote>"
 msgstr "<远程>"
 
@@ -18610,7 +18905,7 @@
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:471 builtin/rebase.c:1251
+#: builtin/pull.c:471 builtin/rebase.c:1246
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
@@ -19017,10 +19312,6 @@
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<选项>] <base> <old-tip> <new-tip>"
 
-#: builtin/range-diff.c:28
-msgid "Percentage by which creation is weighted"
-msgstr "创建权重的百分比"
-
 #: builtin/range-diff.c:30
 msgid "use simple diff colors"
 msgstr "使用简单差异颜色"
@@ -19154,188 +19445,188 @@
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:195 builtin/rebase.c:219 builtin/rebase.c:246
+#: builtin/rebase.c:194 builtin/rebase.c:218 builtin/rebase.c:245
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
-#: builtin/rebase.c:312
+#: builtin/rebase.c:311
 #, c-format
 msgid "could not create temporary %s"
 msgstr "无法创建临时的 %s"
 
-#: builtin/rebase.c:318
+#: builtin/rebase.c:317
 msgid "could not mark as interactive"
 msgstr "无法标记为交互式"
 
-#: builtin/rebase.c:371
+#: builtin/rebase.c:370
 msgid "could not generate todo list"
 msgstr "无法生成待办列表"
 
-#: builtin/rebase.c:413
+#: builtin/rebase.c:412
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "使用 --upstream 或 --onto 必须提供一个基线提交"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:481
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<选项>]"
 
-#: builtin/rebase.c:495 builtin/rebase.c:1394
+#: builtin/rebase.c:494 builtin/rebase.c:1389
 msgid "keep commits which start empty"
 msgstr "保留初始为空的提交"
 
-#: builtin/rebase.c:499 builtin/revert.c:128
+#: builtin/rebase.c:498 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
-#: builtin/rebase.c:501
+#: builtin/rebase.c:500
 msgid "rebase merge commits"
 msgstr "对合并提交变基"
 
-#: builtin/rebase.c:503
+#: builtin/rebase.c:502
 msgid "keep original branch points of cousins"
 msgstr "保持兄弟提交的原始分支点"
 
-#: builtin/rebase.c:505
+#: builtin/rebase.c:504
 msgid "move commits that begin with squash!/fixup!"
 msgstr "移动以 squash!/fixup! 开头的提交"
 
-#: builtin/rebase.c:506
+#: builtin/rebase.c:505
 msgid "sign commits"
 msgstr "签名提交"
 
-#: builtin/rebase.c:508 builtin/rebase.c:1333
+#: builtin/rebase.c:507 builtin/rebase.c:1328
 msgid "display a diffstat of what changed upstream"
 msgstr "显示上游变化的差异统计"
 
-#: builtin/rebase.c:510
+#: builtin/rebase.c:509
 msgid "continue rebase"
 msgstr "继续变基"
 
-#: builtin/rebase.c:512
+#: builtin/rebase.c:511
 msgid "skip commit"
 msgstr "跳过提交"
 
-#: builtin/rebase.c:513
+#: builtin/rebase.c:512
 msgid "edit the todo list"
 msgstr "变基待办列表"
 
-#: builtin/rebase.c:515
+#: builtin/rebase.c:514
 msgid "show the current patch"
 msgstr "显示当前补丁"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:517
 msgid "shorten commit ids in the todo list"
 msgstr "缩短待办列表中的提交号"
 
-#: builtin/rebase.c:520
+#: builtin/rebase.c:519
 msgid "expand commit ids in the todo list"
 msgstr "扩展待办列表中的提交号"
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:521
 msgid "check the todo list"
 msgstr "检查待办列表"
 
-#: builtin/rebase.c:524
+#: builtin/rebase.c:523
 msgid "rearrange fixup/squash lines"
 msgstr "重新排列 fixup/squash 行"
 
-#: builtin/rebase.c:526
+#: builtin/rebase.c:525
 msgid "insert exec commands in todo list"
 msgstr "在待办列表中插入 exec 执行命令"
 
-#: builtin/rebase.c:527
+#: builtin/rebase.c:526
 msgid "onto"
 msgstr "onto"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:529
 msgid "restrict-revision"
 msgstr "restrict-revision"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:529
 msgid "restrict revision"
 msgstr "限制版本"
 
-#: builtin/rebase.c:532
+#: builtin/rebase.c:531
 msgid "squash-onto"
 msgstr "squash-onto"
 
-#: builtin/rebase.c:533
+#: builtin/rebase.c:532
 msgid "squash onto"
 msgstr "squash onto"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:534
 msgid "the upstream commit"
 msgstr "上游提交"
 
-#: builtin/rebase.c:537
+#: builtin/rebase.c:536
 msgid "head-name"
 msgstr "head-name"
 
-#: builtin/rebase.c:537
+#: builtin/rebase.c:536
 msgid "head name"
 msgstr "head 名称"
 
-#: builtin/rebase.c:542
+#: builtin/rebase.c:541
 msgid "rebase strategy"
 msgstr "变基策略"
 
-#: builtin/rebase.c:543
+#: builtin/rebase.c:542
 msgid "strategy-opts"
 msgstr "strategy-opts"
 
-#: builtin/rebase.c:544
+#: builtin/rebase.c:543
 msgid "strategy options"
 msgstr "策略选项"
 
-#: builtin/rebase.c:545
+#: builtin/rebase.c:544
 msgid "switch-to"
 msgstr "切换到"
 
-#: builtin/rebase.c:546
+#: builtin/rebase.c:545
 msgid "the branch or commit to checkout"
 msgstr "要检出的分支或提交"
 
-#: builtin/rebase.c:547
+#: builtin/rebase.c:546
 msgid "onto-name"
 msgstr "onto-name"
 
-#: builtin/rebase.c:547
+#: builtin/rebase.c:546
 msgid "onto name"
 msgstr "onto name"
 
-#: builtin/rebase.c:548
+#: builtin/rebase.c:547
 msgid "cmd"
 msgstr "cmd"
 
-#: builtin/rebase.c:548
+#: builtin/rebase.c:547
 msgid "the command to run"
 msgstr "要执行的命令"
 
-#: builtin/rebase.c:551 builtin/rebase.c:1427
+#: builtin/rebase.c:550 builtin/rebase.c:1422
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "自动重新安排任何失败的 `exec`"
 
-#: builtin/rebase.c:567
+#: builtin/rebase.c:566
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
 
-#: builtin/rebase.c:583
+#: builtin/rebase.c:582
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s 需要合并后端"
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:625
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "无法获取 'onto':'%s'"
 
-#: builtin/rebase.c:643
+#: builtin/rebase.c:642
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "无效的原始 head:'%s'"
 
-#: builtin/rebase.c:668
+#: builtin/rebase.c:667
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "忽略无效的 allow_rerere_autoupdate:'%s'"
@@ -19371,14 +19662,14 @@
 "\n"
 "因此 git 无法对其变基。"
 
-#: builtin/rebase.c:1227
+#: builtin/rebase.c:1222
 #, c-format
 msgid ""
 "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
 "\"."
 msgstr "无法识别的空类型 '%s';有效值有 \"drop\"、\"keep\" 和 \"ask\"。"
 
-#: builtin/rebase.c:1245
+#: builtin/rebase.c:1240
 #, c-format
 msgid ""
 "%s\n"
@@ -19395,7 +19686,7 @@
 "    git rebase '<branch>'\n"
 "\n"
 
-#: builtin/rebase.c:1261
+#: builtin/rebase.c:1256
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -19408,189 +19699,180 @@
 "    git branch --set-upstream-to=%s/<branch> %s\n"
 "\n"
 
-#: builtin/rebase.c:1291
+#: builtin/rebase.c:1286
 msgid "exec commands cannot contain newlines"
 msgstr "exec 命令不能包含换行符"
 
-#: builtin/rebase.c:1295
+#: builtin/rebase.c:1290
 msgid "empty exec command"
 msgstr "空的 exec 命令"
 
-#: builtin/rebase.c:1324
+#: builtin/rebase.c:1319
 msgid "rebase onto given branch instead of upstream"
 msgstr "变基到给定的分支而非上游"
 
-#: builtin/rebase.c:1326
+#: builtin/rebase.c:1321
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr "使用上游和分支的合并基线做为当前基线"
 
-#: builtin/rebase.c:1328
+#: builtin/rebase.c:1323
 msgid "allow pre-rebase hook to run"
 msgstr "允许执行 pre-rebase 钩子"
 
-#: builtin/rebase.c:1330
+#: builtin/rebase.c:1325
 msgid "be quiet. implies --no-stat"
 msgstr "安静。暗示 --no-stat"
 
-#: builtin/rebase.c:1336
+#: builtin/rebase.c:1331
 msgid "do not show diffstat of what changed upstream"
 msgstr "不显示上游变化的差异统计"
 
-#: builtin/rebase.c:1339
+#: builtin/rebase.c:1334
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "为每一个提交添加 Signed-off-by 尾注"
 
-#: builtin/rebase.c:1342
+#: builtin/rebase.c:1337
 msgid "make committer date match author date"
 msgstr "使提交者日期和作者日期一致"
 
-#: builtin/rebase.c:1344
+#: builtin/rebase.c:1339
 msgid "ignore author date and use current date"
 msgstr "忽略作者日期,使用当前日期"
 
-#: builtin/rebase.c:1346
+#: builtin/rebase.c:1341
 msgid "synonym of --reset-author-date"
 msgstr "--reset-author-date 的同义词"
 
-#: builtin/rebase.c:1348 builtin/rebase.c:1352
+#: builtin/rebase.c:1343 builtin/rebase.c:1347
 msgid "passed to 'git apply'"
 msgstr "传递给 'git apply'"
 
-#: builtin/rebase.c:1350
+#: builtin/rebase.c:1345
 msgid "ignore changes in whitespace"
 msgstr "忽略空白字符的变更"
 
-#: builtin/rebase.c:1354 builtin/rebase.c:1357
+#: builtin/rebase.c:1349 builtin/rebase.c:1352
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "拣选所有提交,即使未修改"
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1354
 msgid "continue"
 msgstr "继续"
 
-#: builtin/rebase.c:1362
+#: builtin/rebase.c:1357
 msgid "skip current patch and continue"
 msgstr "跳过当前补丁并继续"
 
-#  译者:注意保持前导空格
-#: builtin/rebase.c:1364
+#: builtin/rebase.c:1359
 msgid "abort and check out the original branch"
 msgstr "终止并检出原有分支"
 
-#: builtin/rebase.c:1367
+#: builtin/rebase.c:1362
 msgid "abort but keep HEAD where it is"
 msgstr "终止但保持 HEAD 不变"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1363
 msgid "edit the todo list during an interactive rebase"
 msgstr "在交互式变基中编辑待办列表"
 
-#: builtin/rebase.c:1371
+#: builtin/rebase.c:1366
 msgid "show the patch file being applied or merged"
 msgstr "显示正在应用或合并的补丁文件"
 
-#: builtin/rebase.c:1374
+#: builtin/rebase.c:1369
 msgid "use apply strategies to rebase"
 msgstr "使用应用策略进行变基"
 
-#: builtin/rebase.c:1378
+#: builtin/rebase.c:1373
 msgid "use merging strategies to rebase"
 msgstr "使用合并策略进行变基"
 
-#: builtin/rebase.c:1382
+#: builtin/rebase.c:1377
 msgid "let the user edit the list of commits to rebase"
 msgstr "让用户编辑要变基的提交列表"
 
-#: builtin/rebase.c:1386
+#: builtin/rebase.c:1381
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(已弃用)尝试重建合并提交而非忽略它们"
 
-#: builtin/rebase.c:1391
+#: builtin/rebase.c:1386
 msgid "how to handle commits that become empty"
 msgstr "如何处理成为空提交的提交"
 
-#: builtin/rebase.c:1398
+#: builtin/rebase.c:1393
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "在 -i 交互模式下,移动以 squash!/fixup! 开头的提交"
 
-#: builtin/rebase.c:1405
+#: builtin/rebase.c:1400
 msgid "add exec lines after each commit of the editable list"
 msgstr "可编辑列表的每一个提交下面增加一行 exec"
 
-#: builtin/rebase.c:1409
+#: builtin/rebase.c:1404
 msgid "allow rebasing commits with empty messages"
 msgstr "允许针对空提交说明的提交变基"
 
-#: builtin/rebase.c:1413
+#: builtin/rebase.c:1408
 msgid "try to rebase merges instead of skipping them"
 msgstr "尝试对合并提交变基而不是忽略它们"
 
-#: builtin/rebase.c:1416
+#: builtin/rebase.c:1411
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "使用 'merge-base --fork-point' 来优化上游"
 
-#: builtin/rebase.c:1418
+#: builtin/rebase.c:1413
 msgid "use the given merge strategy"
 msgstr "使用给定的合并策略"
 
-#: builtin/rebase.c:1420 builtin/revert.c:115
+#: builtin/rebase.c:1415 builtin/revert.c:115
 msgid "option"
 msgstr "选项"
 
-#: builtin/rebase.c:1421
+#: builtin/rebase.c:1416
 msgid "pass the argument through to the merge strategy"
 msgstr "将参数传递给合并策略"
 
-#: builtin/rebase.c:1424
+#: builtin/rebase.c:1419
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "将所有可达的提交变基到根提交"
 
-#: builtin/rebase.c:1429
+#: builtin/rebase.c:1424
 msgid "apply all changes, even those already present upstream"
 msgstr "应用所有更改,甚至那些已在上游存在的"
 
-#: builtin/rebase.c:1446
-msgid ""
-"the rebase.useBuiltin support has been removed!\n"
-"See its entry in 'git help config' for details."
-msgstr ""
-"对 rebase.useBuiltin 的支持已被删除!\n"
-"详见 'git help config' 中的条目。"
-
-#: builtin/rebase.c:1452
+#: builtin/rebase.c:1442
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "看起来 'git-am' 正在执行中。无法变基。"
 
-#: builtin/rebase.c:1493
+#: builtin/rebase.c:1483
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr "git rebase --preserve-merges 被弃用。用 --rebase-merges 代替。"
 
-#: builtin/rebase.c:1498
+#: builtin/rebase.c:1488
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "不能将 '--keep-base' 和 '--onto' 组合使用"
 
-#: builtin/rebase.c:1500
+#: builtin/rebase.c:1490
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "不能将 '--keep-base' 和 '--root' 组合使用"
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1494
 msgid "cannot combine '--root' with '--fork-point'"
 msgstr "不能将 '--root' 和 '--fork-point' 组合使用"
 
-#: builtin/rebase.c:1507
+#: builtin/rebase.c:1497
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: builtin/rebase.c:1511
+#: builtin/rebase.c:1501
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: builtin/rebase.c:1534 t/helper/test-fast-rebase.c:123
+#: builtin/rebase.c:1524 t/helper/test-fast-rebase.c:123
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: builtin/rebase.c:1546
+#: builtin/rebase.c:1536
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -19598,16 +19880,16 @@
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: builtin/rebase.c:1565
+#: builtin/rebase.c:1555
 msgid "could not discard worktree changes"
 msgstr "无法丢弃工作区变更"
 
-#: builtin/rebase.c:1584
+#: builtin/rebase.c:1574
 #, c-format
 msgid "could not move back to %s"
 msgstr "无法移回 %s"
 
-#: builtin/rebase.c:1630
+#: builtin/rebase.c:1620
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -19626,132 +19908,132 @@
 "\t%s\n"
 "然后再重新执行。 为避免丢失重要数据,我已经停止当前操作。\n"
 
-#: builtin/rebase.c:1658
+#: builtin/rebase.c:1648
 msgid "switch `C' expects a numerical value"
 msgstr "开关 `C' 期望一个数字值"
 
-#: builtin/rebase.c:1700
+#: builtin/rebase.c:1690
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "未知模式:%s"
 
-#: builtin/rebase.c:1739
+#: builtin/rebase.c:1729
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy 需要 --merge 或 --interactive"
 
-#: builtin/rebase.c:1769
+#: builtin/rebase.c:1759
 msgid "cannot combine apply options with merge options"
 msgstr "不能组合使用应用选项和合并选项"
 
-#: builtin/rebase.c:1782
+#: builtin/rebase.c:1772
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "未知的变基后端:%s"
 
-#: builtin/rebase.c:1812
+#: builtin/rebase.c:1802
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec 需要 --exec 或 --interactive"
 
-#: builtin/rebase.c:1832
+#: builtin/rebase.c:1822
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "不能将 '--preserve-merges' 和 '--rebase-merges' 同时使用"
 
-#: builtin/rebase.c:1836
+#: builtin/rebase.c:1826
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "错误:不能将 '--preserve-merges' 和 '--reschedule-failed-exec' 同时使用"
 
-#: builtin/rebase.c:1860
+#: builtin/rebase.c:1850
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "无效的上游 '%s'"
 
-#: builtin/rebase.c:1866
+#: builtin/rebase.c:1856
 msgid "Could not create new root commit"
 msgstr "不能创建新的根提交"
 
-#: builtin/rebase.c:1892
+#: builtin/rebase.c:1882
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "'%s':只需要与分支的一个合并基线"
 
-#: builtin/rebase.c:1895
+#: builtin/rebase.c:1885
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s':只需要一个合并基线"
 
-#: builtin/rebase.c:1903
+#: builtin/rebase.c:1893
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "没有指向一个有效的提交 '%s'"
 
-#: builtin/rebase.c:1931
+#: builtin/rebase.c:1921
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "致命错误:无此分支/提交 '%s'"
 
-#: builtin/rebase.c:1939 builtin/submodule--helper.c:40
-#: builtin/submodule--helper.c:2414
+#: builtin/rebase.c:1929 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:2415
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/rebase.c:1950
+#: builtin/rebase.c:1940
 msgid "Could not resolve HEAD to a revision"
 msgstr "无法将 HEAD 解析为一个版本"
 
-#: builtin/rebase.c:1971
+#: builtin/rebase.c:1961
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: builtin/rebase.c:2007
+#: builtin/rebase.c:1997
 #, c-format
 msgid "could not switch to %s"
 msgstr "无法切换到 %s"
 
-#: builtin/rebase.c:2018
+#: builtin/rebase.c:2008
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
-#: builtin/rebase.c:2020
+#: builtin/rebase.c:2010
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "当前分支 %s 是最新的。\n"
 
-#: builtin/rebase.c:2028
+#: builtin/rebase.c:2018
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
-#: builtin/rebase.c:2030
+#: builtin/rebase.c:2020
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "当前分支 %s 是最新的,强制变基。\n"
 
-#: builtin/rebase.c:2038
+#: builtin/rebase.c:2028
 msgid "The pre-rebase hook refused to rebase."
 msgstr "pre-rebase 钩子拒绝了变基操作。"
 
-#: builtin/rebase.c:2045
+#: builtin/rebase.c:2035
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "到 %s 的变更:\n"
 
-#: builtin/rebase.c:2048
+#: builtin/rebase.c:2038
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "从 %s 到 %s 的变更:\n"
 
-#: builtin/rebase.c:2073
+#: builtin/rebase.c:2063
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr "首先,回退头指针以便在其上重放您的工作...\n"
 
-#: builtin/rebase.c:2082
+#: builtin/rebase.c:2072
 msgid "Could not detach HEAD"
 msgstr "无法分离头指针"
 
-#: builtin/rebase.c:2091
+#: builtin/rebase.c:2081
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "快进 %s 到 %s。\n"
@@ -19805,11 +20087,11 @@
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:2481
+#: builtin/receive-pack.c:2479
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:2495
+#: builtin/receive-pack.c:2493
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
@@ -20043,7 +20325,7 @@
 "\t%s:%d\n"
 "现在在为不存在的远程名 '%s' 命名"
 
-#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:946
+#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:943
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "没有此远程仓库:'%s'"
@@ -20213,7 +20495,6 @@
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
-#  译者:中文字符串拼接,可删除前导空格
 #: builtin/remote.c:1259
 msgid "(not queried)"
 msgstr "(未查询)"
@@ -20396,7 +20677,7 @@
 msgid "could not start pack-objects to repack promisor objects"
 msgstr "无法开始 pack-objects 来重新打包 promisor 对象"
 
-#: builtin/repack.c:270 builtin/repack.c:446
+#: builtin/repack.c:270 builtin/repack.c:630
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr "repack:期望来自 pack-objects 的完整十六进制对象 ID。"
 
@@ -20404,104 +20685,127 @@
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr "无法完成 pack-objects 来重新打包 promisor 对象"
 
-#: builtin/repack.c:322
+#: builtin/repack.c:309
+#, c-format
+msgid "cannot open index for %s"
+msgstr "不能打开 %s 的索引"
+
+#: builtin/repack.c:368
+#, c-format
+msgid "pack %s too large to consider in geometric progression"
+msgstr "包 %s 太大,不在几何级数中考虑"
+
+#: builtin/repack.c:401 builtin/repack.c:408 builtin/repack.c:413
+#, c-format
+msgid "pack %s too large to roll up"
+msgstr "包 %s 太大导致数字溢出"
+
+#: builtin/repack.c:460
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:324
+#: builtin/repack.c:462
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:327
+#: builtin/repack.c:465
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
-#: builtin/repack.c:329
+#: builtin/repack.c:467
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:469
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:333
+#: builtin/repack.c:471
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:336
+#: builtin/repack.c:474
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:338
+#: builtin/repack.c:476
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:340
+#: builtin/repack.c:478
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --delta-islands"
 
-#: builtin/repack.c:341
+#: builtin/repack.c:479
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:342
+#: builtin/repack.c:480
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:344
+#: builtin/repack.c:482
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:346
+#: builtin/repack.c:484
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:347 builtin/repack.c:353
+#: builtin/repack.c:485 builtin/repack.c:491
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:348
+#: builtin/repack.c:486
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
-#: builtin/repack.c:350
+#: builtin/repack.c:488
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:352
+#: builtin/repack.c:490
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
-#: builtin/repack.c:354
+#: builtin/repack.c:492
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:356
+#: builtin/repack.c:494
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:358
+#: builtin/repack.c:496
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
-#: builtin/repack.c:368
+#: builtin/repack.c:498
+msgid "find a geometric progression with factor <N>"
+msgstr "使用因子 <n> 查找几何级数"
+
+#: builtin/repack.c:508
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:372
+#: builtin/repack.c:512
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:455
+#: builtin/repack.c:527
+msgid "--geometric is incompatible with -A, -a"
+msgstr "--geometric 和 -A、-a 不兼容"
+
+#: builtin/repack.c:639
 msgid "Nothing new to pack."
 msgstr "没有新的要打包。"
 
-#: builtin/repack.c:485
+#: builtin/repack.c:669
 #, c-format
 msgid "missing required file: %s"
 msgstr "缺少需要的文件:%s"
 
-#: builtin/repack.c:487
+#: builtin/repack.c:671
 #, c-format
 msgid "could not unlink: %s"
 msgstr "不能删除:%s"
@@ -20831,8 +21135,8 @@
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
-#: builtin/reset.c:295 builtin/stash.c:587 builtin/stash.c:661
-#: builtin/stash.c:685
+#: builtin/reset.c:295 builtin/stash.c:589 builtin/stash.c:663
+#: builtin/stash.c:687
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
@@ -20915,19 +21219,19 @@
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:534
+#: builtin/rev-list.c:538
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "不能同时使用 --exclude-promisor-objects 和 --missing 选项"
 
-#: builtin/rev-list.c:595
+#: builtin/rev-list.c:599
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
-#: builtin/rev-list.c:651
+#: builtin/rev-list.c:659
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
-#: builtin/rev-list.c:656
+#: builtin/rev-list.c:664
 msgid "marked counting is incompatible with --objects"
 msgstr "标记计数和 --objects 不兼容"
 
@@ -21039,19 +21343,19 @@
 msgid "keep redundant, empty commits"
 msgstr "保持多余的、空的提交"
 
-#: builtin/revert.c:239
+#: builtin/revert.c:237
 msgid "revert failed"
 msgstr "还原失败"
 
-#: builtin/revert.c:252
+#: builtin/revert.c:250
 msgid "cherry-pick failed"
 msgstr "拣选失败"
 
-#: builtin/rm.c:19
+#: builtin/rm.c:20
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<选项>] [--] <文件>..."
 
-#: builtin/rm.c:207
+#: builtin/rm.c:208
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -21061,7 +21365,7 @@
 msgstr[0] "如下文件其暂存的内容和工作区及 HEAD 中的都不一样:"
 msgstr[1] "如下文件其暂存的内容和工作区及 HEAD 中的都不一样:"
 
-#: builtin/rm.c:212
+#: builtin/rm.c:213
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -21069,13 +21373,13 @@
 "\n"
 "(使用 -f 强制删除)"
 
-#: builtin/rm.c:216
+#: builtin/rm.c:217
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "下列文件索引中有变更"
 msgstr[1] "下列文件索引中有变更"
 
-#: builtin/rm.c:220 builtin/rm.c:229
+#: builtin/rm.c:221 builtin/rm.c:230
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -21083,46 +21387,46 @@
 "\n"
 "(使用 --cached 保留本地文件,或用 -f 强制删除)"
 
-#: builtin/rm.c:226
+#: builtin/rm.c:227
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "如下文件有本地修改:"
 msgstr[1] "如下文件有本地修改:"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "do not list removed files"
 msgstr "不列出删除的文件"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "only remove from the index"
 msgstr "只从索引区删除"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "override the up-to-date check"
 msgstr "忽略文件更新状态检查"
 
-#: builtin/rm.c:246
+#: builtin/rm.c:247
 msgid "allow recursive removal"
 msgstr "允许递归删除"
 
-#: builtin/rm.c:248
+#: builtin/rm.c:249
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
-#: builtin/rm.c:282
+#: builtin/rm.c:283
 msgid "No pathspec was given. Which files should I remove?"
 msgstr "没有提供路径规格。我应该删除哪些文件?"
 
-#: builtin/rm.c:305
+#: builtin/rm.c:310
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或贮藏后再继续"
 
-#: builtin/rm.c:323
+#: builtin/rm.c:331
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "未提供 -r 选项不会递归删除 '%s'"
 
-#: builtin/rm.c:362
+#: builtin/rm.c:379
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
@@ -21397,102 +21701,110 @@
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
-#: builtin/sparse-checkout.c:21
+#: builtin/sparse-checkout.c:22
 msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
 msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <选项>"
 
-#: builtin/sparse-checkout.c:45
+#: builtin/sparse-checkout.c:46
 msgid "git sparse-checkout list"
 msgstr "git sparse-checkout list"
 
-#: builtin/sparse-checkout.c:71
+#: builtin/sparse-checkout.c:72
 msgid "this worktree is not sparse (sparse-checkout file may not exist)"
 msgstr "本工作区不是稀疏模式(稀疏检出文件可能不存在)"
 
-#: builtin/sparse-checkout.c:223
+#: builtin/sparse-checkout.c:227
 msgid "failed to create directory for sparse-checkout file"
 msgstr "无法为稀疏检出文件创建目录"
 
-#: builtin/sparse-checkout.c:264
+#: builtin/sparse-checkout.c:268
 msgid "unable to upgrade repository format to enable worktreeConfig"
 msgstr "无法升级仓库格式以启用 worktreeConfig"
 
-#: builtin/sparse-checkout.c:266
+#: builtin/sparse-checkout.c:270
 msgid "failed to set extensions.worktreeConfig setting"
 msgstr "无法设置 extensions.worktreeConfig"
 
-#: builtin/sparse-checkout.c:283
-msgid "git sparse-checkout init [--cone]"
-msgstr "git sparse-checkout init [--cone]"
+#: builtin/sparse-checkout.c:290
+msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
 
-#: builtin/sparse-checkout.c:302
+#: builtin/sparse-checkout.c:310
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "初始化稀疏检出为 cone 模式"
 
-#: builtin/sparse-checkout.c:339
+#: builtin/sparse-checkout.c:312
+msgid "toggle the use of a sparse index"
+msgstr "切换稀疏索引的使用"
+
+#: builtin/sparse-checkout.c:340
+msgid "failed to modify sparse-index config"
+msgstr "无法修改 sparse-index 配置"
+
+#: builtin/sparse-checkout.c:361
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
 
-#: builtin/sparse-checkout.c:396
+#: builtin/sparse-checkout.c:419
 #, c-format
 msgid "could not normalize path %s"
 msgstr "无法规范化路径 %s"
 
-#: builtin/sparse-checkout.c:408
+#: builtin/sparse-checkout.c:431
 msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
 msgstr "git sparse-checkout (set|add) (--stdin | <模式>)"
 
-#: builtin/sparse-checkout.c:433
+#: builtin/sparse-checkout.c:456
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "无法为 C 语言风格的字符串 '%s' 去引号"
 
-#: builtin/sparse-checkout.c:487 builtin/sparse-checkout.c:511
+#: builtin/sparse-checkout.c:510 builtin/sparse-checkout.c:534
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "无法加载现存的稀疏检出模式"
 
-#: builtin/sparse-checkout.c:556
+#: builtin/sparse-checkout.c:579
 msgid "read patterns from standard in"
 msgstr "从标准输入读取模式"
 
-#: builtin/sparse-checkout.c:571
+#: builtin/sparse-checkout.c:594
 msgid "git sparse-checkout reapply"
 msgstr "git sparse-checkout reapply"
 
-#: builtin/sparse-checkout.c:590
+#: builtin/sparse-checkout.c:613
 msgid "git sparse-checkout disable"
 msgstr "git sparse-checkout disable"
 
-#: builtin/sparse-checkout.c:618
+#: builtin/sparse-checkout.c:644
 msgid "error while refreshing working directory"
 msgstr "刷新工作目录时出错"
 
-#: builtin/stash.c:22 builtin/stash.c:38
+#: builtin/stash.c:24 builtin/stash.c:40
 msgid "git stash list [<options>]"
 msgstr "git stash list [<选项>]"
 
-#: builtin/stash.c:23 builtin/stash.c:43
+#: builtin/stash.c:25 builtin/stash.c:45
 msgid "git stash show [<options>] [<stash>]"
 msgstr "git stash show [<选项>] [<stash>]"
 
-#: builtin/stash.c:24 builtin/stash.c:48
+#: builtin/stash.c:26 builtin/stash.c:50
 msgid "git stash drop [-q|--quiet] [<stash>]"
 msgstr "git stash drop [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:25
+#: builtin/stash.c:27
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:26 builtin/stash.c:63
+#: builtin/stash.c:28 builtin/stash.c:65
 msgid "git stash branch <branchname> [<stash>]"
 msgstr "git stash branch <分支名> [<stash>]"
 
-#: builtin/stash.c:27 builtin/stash.c:68
+#: builtin/stash.c:29 builtin/stash.c:70
 msgid "git stash clear"
 msgstr "git stash clear"
 
-#: builtin/stash.c:28
+#: builtin/stash.c:30
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
@@ -21504,7 +21816,7 @@
 "          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
 "          [--] [<路径规格>...]]"
 
-#: builtin/stash.c:32 builtin/stash.c:85
+#: builtin/stash.c:34 builtin/stash.c:87
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
@@ -21512,19 +21824,19 @@
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<消息>]"
 
-#: builtin/stash.c:53
+#: builtin/stash.c:55
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:58
+#: builtin/stash.c:60
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:73
+#: builtin/stash.c:75
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <消息>] [-q|--quiet] <提交>"
 
-#: builtin/stash.c:78
+#: builtin/stash.c:80
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
@@ -21534,30 +21846,30 @@
 "          [-u|--include-untracked] [-a|--all] [-m|--message <消息>]\n"
 "          [--] [<路径规格>...]]"
 
-#: builtin/stash.c:128
+#: builtin/stash.c:130
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "'%s' 不像是一个贮藏提交"
 
-#: builtin/stash.c:148
+#: builtin/stash.c:150
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "指定了太多的版本:%s"
 
-#: builtin/stash.c:162
+#: builtin/stash.c:164
 msgid "No stash entries found."
 msgstr "未发现贮藏条目。"
 
-#: builtin/stash.c:176
+#: builtin/stash.c:178
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "%s 不是一个有效的引用名"
 
-#: builtin/stash.c:225
+#: builtin/stash.c:227
 msgid "git stash clear with arguments is unimplemented"
 msgstr "git stash clear 不支持参数"
 
-#: builtin/stash.c:429
+#: builtin/stash.c:431
 #, c-format
 msgid ""
 "WARNING: Untracked file in way of tracked file!  Renaming\n"
@@ -21568,150 +21880,166 @@
 "            %s -> %s\n"
 "         以腾出空间。\n"
 
-#: builtin/stash.c:490
+#: builtin/stash.c:492
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程中应用贮藏"
 
-#: builtin/stash.c:501
+#: builtin/stash.c:503
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "无法生成差异 %s^!."
 
-#: builtin/stash.c:508
+#: builtin/stash.c:510
 msgid "conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不用 --index。"
 
-#: builtin/stash.c:514
+#: builtin/stash.c:516
 msgid "could not save index tree"
 msgstr "不能保存索引树"
 
-#: builtin/stash.c:523
+#: builtin/stash.c:525
 msgid "could not restore untracked files from stash"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
-#: builtin/stash.c:537
+#: builtin/stash.c:539
 #, c-format
 msgid "Merging %s with %s"
 msgstr "正在合并 %s 和 %s"
 
-#: builtin/stash.c:547
+#: builtin/stash.c:549
 msgid "Index was not unstashed."
 msgstr "索引未从贮藏中恢复。"
 
-#: builtin/stash.c:589 builtin/stash.c:687
+#: builtin/stash.c:591 builtin/stash.c:689
 msgid "attempt to recreate the index"
 msgstr "尝试重建索引"
 
-#: builtin/stash.c:633
+#: builtin/stash.c:635
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "丢弃了 %s(%s)"
 
-#: builtin/stash.c:636
+#: builtin/stash.c:638
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s:无法丢弃贮藏条目"
 
-#: builtin/stash.c:649
+#: builtin/stash.c:651
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' 不是一个贮藏引用"
 
-#: builtin/stash.c:699
+#: builtin/stash.c:701
 msgid "The stash entry is kept in case you need it again."
 msgstr "贮藏条目被保留以备您再次需要。"
 
-#: builtin/stash.c:722
+#: builtin/stash.c:724
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: builtin/stash.c:866 builtin/stash.c:903
+#: builtin/stash.c:808
+msgid "failed to parse tree"
+msgstr "无法解析树"
+
+#: builtin/stash.c:819
+msgid "failed to unpack trees"
+msgstr "无法解包目录树"
+
+#: builtin/stash.c:839
+msgid "include untracked files in the stash"
+msgstr "在贮藏中包含未跟踪文件"
+
+#: builtin/stash.c:842
+msgid "only show untracked files in the stash"
+msgstr "仅显示贮藏中的未跟踪文件"
+
+#: builtin/stash.c:932 builtin/stash.c:969
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "无法用 %2$s 更新 %1$s"
 
-#: builtin/stash.c:884 builtin/stash.c:1538 builtin/stash.c:1603
+#: builtin/stash.c:950 builtin/stash.c:1606 builtin/stash.c:1671
 msgid "stash message"
 msgstr "贮藏说明"
 
-#: builtin/stash.c:894
+#: builtin/stash.c:960
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" 需要一个 <提交> 参数"
 
-#: builtin/stash.c:1109
+#: builtin/stash.c:1175
 msgid "No changes selected"
 msgstr "没有选择变更"
 
-#: builtin/stash.c:1209
+#: builtin/stash.c:1275
 msgid "You do not have the initial commit yet"
 msgstr "您尚未建立初始提交"
 
-#: builtin/stash.c:1236
+#: builtin/stash.c:1302
 msgid "Cannot save the current index state"
 msgstr "无法保存当前索引状态"
 
-#: builtin/stash.c:1245
+#: builtin/stash.c:1311
 msgid "Cannot save the untracked files"
 msgstr "无法保存未跟踪文件"
 
-#: builtin/stash.c:1256 builtin/stash.c:1265
+#: builtin/stash.c:1322 builtin/stash.c:1331
 msgid "Cannot save the current worktree state"
 msgstr "无法保存当前工作区状态"
 
-#: builtin/stash.c:1293
+#: builtin/stash.c:1359
 msgid "Cannot record working tree state"
 msgstr "不能记录工作区状态"
 
-#: builtin/stash.c:1342
+#: builtin/stash.c:1408
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
 
-#: builtin/stash.c:1358
+#: builtin/stash.c:1426
 msgid "Did you forget to 'git add'?"
 msgstr "您是否忘了执行 'git add'?"
 
-#: builtin/stash.c:1373
+#: builtin/stash.c:1441
 msgid "No local changes to save"
 msgstr "没有要保存的本地修改"
 
-#: builtin/stash.c:1380
+#: builtin/stash.c:1448
 msgid "Cannot initialize stash"
 msgstr "无法初始化贮藏"
 
-#: builtin/stash.c:1395
+#: builtin/stash.c:1463
 msgid "Cannot save the current status"
 msgstr "无法保存当前状态"
 
-#: builtin/stash.c:1400
+#: builtin/stash.c:1468
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "保存工作目录和索引状态 %s"
 
-#: builtin/stash.c:1490
+#: builtin/stash.c:1558
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
-#: builtin/stash.c:1529 builtin/stash.c:1594
+#: builtin/stash.c:1597 builtin/stash.c:1662
 msgid "keep index"
 msgstr "保持索引"
 
-#: builtin/stash.c:1531 builtin/stash.c:1596
+#: builtin/stash.c:1599 builtin/stash.c:1664
 msgid "stash in patch mode"
 msgstr "以补丁模式贮藏"
 
-#: builtin/stash.c:1532 builtin/stash.c:1597
+#: builtin/stash.c:1600 builtin/stash.c:1665
 msgid "quiet mode"
 msgstr "静默模式"
 
-#: builtin/stash.c:1534 builtin/stash.c:1599
+#: builtin/stash.c:1602 builtin/stash.c:1667
 msgid "include untracked files in stash"
 msgstr "贮藏中包含未跟踪文件"
 
-#: builtin/stash.c:1536 builtin/stash.c:1601
+#: builtin/stash.c:1604 builtin/stash.c:1669
 msgid "include ignore files"
 msgstr "包含忽略的文件"
 
-#: builtin/stash.c:1636
+#: builtin/stash.c:1704
 msgid ""
 "the stash.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -21735,7 +22063,7 @@
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2423
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2424
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
@@ -21749,7 +22077,7 @@
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1819
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1820
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
@@ -21757,18 +22085,18 @@
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:629
-#: builtin/submodule--helper.c:652
+#: builtin/submodule--helper.c:473 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:524
+#: builtin/submodule--helper.c:525
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "进入 '%s'\n"
 
-#: builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:528
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -21777,7 +22105,7 @@
 "对 %s 执行 run_command 返回非零值。\n"
 "."
 
-#: builtin/submodule--helper.c:549
+#: builtin/submodule--helper.c:550
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -21787,169 +22115,169 @@
 "在递归 %s 的子模组执行 run_command 时返回非零值。\n"
 "."
 
-#: builtin/submodule--helper.c:565
+#: builtin/submodule--helper.c:566
 msgid "suppress output of entering each submodule command"
 msgstr "抑制进入每一个子模组命令的输出"
 
-#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:888
-#: builtin/submodule--helper.c:1487
+#: builtin/submodule--helper.c:568 builtin/submodule--helper.c:889
+#: builtin/submodule--helper.c:1488
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:572
+#: builtin/submodule--helper.c:573
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <命令>"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:600
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:666
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:670
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)已对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:680
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:687
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:709
+#: builtin/submodule--helper.c:710
 msgid "suppress output for initializing a submodule"
 msgstr "抑制子模组初始化的输出"
 
-#: builtin/submodule--helper.c:714
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<选项>] [<路径>]"
 
-#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:922
+#: builtin/submodule--helper.c:788 builtin/submodule--helper.c:923
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:835
+#: builtin/submodule--helper.c:836
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "无法解析子模组 '%s' 的 HEAD 引用"
 
-#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1457
+#: builtin/submodule--helper.c:863 builtin/submodule--helper.c:1458
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "递归子模组 '%s' 失败"
 
-#: builtin/submodule--helper.c:886 builtin/submodule--helper.c:1623
+#: builtin/submodule--helper.c:887 builtin/submodule--helper.c:1624
 msgid "suppress submodule status output"
 msgstr "抑制子模组状态输出"
 
-#: builtin/submodule--helper.c:887
+#: builtin/submodule--helper.c:888
 msgid ""
 "use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:893
+#: builtin/submodule--helper.c:894
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
 
-#: builtin/submodule--helper.c:917
+#: builtin/submodule--helper.c:918
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:989
+#: builtin/submodule--helper.c:990
 #, c-format
 msgid "* %s %s(blob)->%s(submodule)"
 msgstr "* %s %s(数据对象)->%s(子模组)"
 
-#: builtin/submodule--helper.c:992
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "* %s %s(submodule)->%s(blob)"
 msgstr "* %s %s(子模组)->%s(数据对象)"
 
-#: builtin/submodule--helper.c:1005
+#: builtin/submodule--helper.c:1006
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1056
 #, c-format
 msgid "couldn't hash object from '%s'"
 msgstr "不能从 '%s' 创建哈希对象"
 
-#: builtin/submodule--helper.c:1059
+#: builtin/submodule--helper.c:1060
 #, c-format
 msgid "unexpected mode %o\n"
 msgstr "意外的模式 %o\n"
 
-#: builtin/submodule--helper.c:1300
+#: builtin/submodule--helper.c:1301
 msgid "use the commit stored in the index instead of the submodule HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:1302
+#: builtin/submodule--helper.c:1303
 msgid "to compare the commit in the index with that in the submodule HEAD"
 msgstr "比较存储在索引和子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1305
 msgid "skip submodules with 'ignore_config' value set to 'all'"
 msgstr "跳过设置了 'ignore_config' 为 'all' 的子模组"
 
-#: builtin/submodule--helper.c:1306
+#: builtin/submodule--helper.c:1307
 msgid "limit the summary size"
 msgstr "限制总结的大小"
 
-#: builtin/submodule--helper.c:1311
+#: builtin/submodule--helper.c:1312
 msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 msgstr "git submodule--helper summary [<选项>] [<提交>] [--] [<路径>]"
 
-#: builtin/submodule--helper.c:1335
+#: builtin/submodule--helper.c:1336
 msgid "could not fetch a revision for HEAD"
 msgstr "不能为 HEAD 获取一个版本"
 
-#: builtin/submodule--helper.c:1340
+#: builtin/submodule--helper.c:1341
 msgid "--cached and --files are mutually exclusive"
 msgstr "--cached 和 --files 是互斥的"
 
-#: builtin/submodule--helper.c:1407
+#: builtin/submodule--helper.c:1408
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "为 '%s' 同步子模组 url\n"
 
-#: builtin/submodule--helper.c:1413
+#: builtin/submodule--helper.c:1414
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:1427
+#: builtin/submodule--helper.c:1428
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "无法得到子模组 '%s' 的默认远程关联"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1439
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "无法为子模组 '%s' 更新远程关联"
 
-#: builtin/submodule--helper.c:1485
+#: builtin/submodule--helper.c:1486
 msgid "suppress output of synchronizing submodule url"
 msgstr "抑制子模组 URL 同步的输出"
 
-#: builtin/submodule--helper.c:1492
+#: builtin/submodule--helper.c:1493
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]"
 
-#: builtin/submodule--helper.c:1546
+#: builtin/submodule--helper.c:1547
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -21958,52 +22286,52 @@
 "子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
 "-rf' 命令)"
 
-#: builtin/submodule--helper.c:1558
+#: builtin/submodule--helper.c:1559
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr "子模组工作区 '%s' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: builtin/submodule--helper.c:1566
+#: builtin/submodule--helper.c:1567
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
-#: builtin/submodule--helper.c:1568
+#: builtin/submodule--helper.c:1569
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "无法移除子模组工作区 '%s'\n"
 
-#: builtin/submodule--helper.c:1579
+#: builtin/submodule--helper.c:1580
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "不能创建空的子模组目录 %s"
 
-#: builtin/submodule--helper.c:1595
+#: builtin/submodule--helper.c:1596
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:1624
+#: builtin/submodule--helper.c:1625
 msgid "remove submodule working trees even if they contain local changes"
 msgstr "删除子模组工作区,即使包含本地修改"
 
-#: builtin/submodule--helper.c:1625
+#: builtin/submodule--helper.c:1626
 msgid "unregister all submodules"
 msgstr "将所有子模组取消注册"
 
-#: builtin/submodule--helper.c:1630
+#: builtin/submodule--helper.c:1631
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]"
 
-#: builtin/submodule--helper.c:1644
+#: builtin/submodule--helper.c:1645
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: builtin/submodule--helper.c:1713
+#: builtin/submodule--helper.c:1714
 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"
@@ -22015,46 +22343,46 @@
 "Git 不使用备用仓库克隆,或者等效地使用 '--reference-if-able' 而非\n"
 "'--reference' 来克隆。"
 
-#: builtin/submodule--helper.c:1752 builtin/submodule--helper.c:1755
+#: builtin/submodule--helper.c:1753 builtin/submodule--helper.c:1756
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:1791
+#: builtin/submodule--helper.c:1792
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1798
+#: builtin/submodule--helper.c:1799
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1822
+#: builtin/submodule--helper.c:1823
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:1825
+#: builtin/submodule--helper.c:1826
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:1828
+#: builtin/submodule--helper.c:1829
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:1836
+#: builtin/submodule--helper.c:1837
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1839 builtin/submodule--helper.c:2348
+#: builtin/submodule--helper.c:1840 builtin/submodule--helper.c:2349
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:1841 builtin/submodule--helper.c:2350
+#: builtin/submodule--helper.c:1842 builtin/submodule--helper.c:2351
 msgid "disallow cloning into non-empty directory"
 msgstr "不允许克隆到一个非空目录"
 
-#: builtin/submodule--helper.c:1848
+#: builtin/submodule--helper.c:1849
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
@@ -22063,186 +22391,186 @@
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] [--single-branch] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:1873
+#: builtin/submodule--helper.c:1874
 #, c-format
 msgid "refusing to create/use '%s' in another submodule's git dir"
 msgstr "拒绝在另一个子模组的 git dir 中创建/使用 '%s'"
 
-#: builtin/submodule--helper.c:1884
+#: builtin/submodule--helper.c:1885
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:1888
+#: builtin/submodule--helper.c:1889
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "目录非空:'%s'"
 
-#: builtin/submodule--helper.c:1900
+#: builtin/submodule--helper.c:1901
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:1936
+#: builtin/submodule--helper.c:1937
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "子模组 '%2$s' 的更新模式 '%1$s' 无效"
 
-#: builtin/submodule--helper.c:1940
+#: builtin/submodule--helper.c:1941
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr "为子模组 '%2$s' 配置的更新模式 '%1$s' 无效"
 
-#: builtin/submodule--helper.c:2041
+#: builtin/submodule--helper.c:2042
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:2045
+#: builtin/submodule--helper.c:2046
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:2075
+#: builtin/submodule--helper.c:2076
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:2104
+#: builtin/submodule--helper.c:2105
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:2254
+#: builtin/submodule--helper.c:2255
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:2265
+#: builtin/submodule--helper.c:2266
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:2327 builtin/submodule--helper.c:2573
+#: builtin/submodule--helper.c:2328 builtin/submodule--helper.c:2574
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:2330
+#: builtin/submodule--helper.c:2331
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:2334
+#: builtin/submodule--helper.c:2335
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:2340
+#: builtin/submodule--helper.c:2341
 msgid "create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:2343
+#: builtin/submodule--helper.c:2344
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:2345
+#: builtin/submodule--helper.c:2346
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:2346
+#: builtin/submodule--helper.c:2347
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:2357
+#: builtin/submodule--helper.c:2358
 msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update-clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:2370
+#: builtin/submodule--helper.c:2371
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:2418
+#: builtin/submodule--helper.c:2419
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr "子模组(%s)的分支配置为继承上级项目的分支,但是上级项目不在任何分支上"
 
-#: builtin/submodule--helper.c:2541
+#: builtin/submodule--helper.c:2542
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "无法获得子模组 '%s' 的仓库句柄"
 
-#: builtin/submodule--helper.c:2574
+#: builtin/submodule--helper.c:2575
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:2580
+#: builtin/submodule--helper.c:2581
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<选项>] [<路径>...]"
 
-#: builtin/submodule--helper.c:2636
+#: builtin/submodule--helper.c:2637
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "检查写入 .gitmodules 文件是否安全"
 
-#: builtin/submodule--helper.c:2639
+#: builtin/submodule--helper.c:2640
 msgid "unset the config in the .gitmodules file"
 msgstr "取消 .gitmodules 文件中的设置"
 
-#: builtin/submodule--helper.c:2644
+#: builtin/submodule--helper.c:2645
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <名称> [<值>]"
 
-#: builtin/submodule--helper.c:2645
+#: builtin/submodule--helper.c:2646
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <名称>"
 
-#: builtin/submodule--helper.c:2646
+#: builtin/submodule--helper.c:2647
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2665 git-submodule.sh:150
+#: builtin/submodule--helper.c:2666 git-submodule.sh:150
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "请确认 .gitmodules 文件在工作区里"
 
-#: builtin/submodule--helper.c:2681
+#: builtin/submodule--helper.c:2682
 msgid "suppress output for setting url of a submodule"
 msgstr "抑制设置子模组 URL 的输出"
 
-#: builtin/submodule--helper.c:2685
+#: builtin/submodule--helper.c:2686
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
 msgstr "git submodule--helper set-url [--quiet] <路径> <新地址>"
 
-#: builtin/submodule--helper.c:2718
+#: builtin/submodule--helper.c:2719
 msgid "set the default tracking branch to master"
 msgstr "设置默认跟踪分支为 master"
 
-#: builtin/submodule--helper.c:2720
+#: builtin/submodule--helper.c:2721
 msgid "set the default tracking branch"
 msgstr "设置默认跟踪分支"
 
-#: builtin/submodule--helper.c:2724
+#: builtin/submodule--helper.c:2725
 msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
 msgstr "git submodule--helper set-branch [-q|--quiet] (-d|--default) <路径>"
 
-#: builtin/submodule--helper.c:2725
+#: builtin/submodule--helper.c:2726
 msgid ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <分支> <路径>"
 
-#: builtin/submodule--helper.c:2732
+#: builtin/submodule--helper.c:2733
 msgid "--branch or --default required"
 msgstr "需要 --branch 或 --default"
 
-#: builtin/submodule--helper.c:2735
+#: builtin/submodule--helper.c:2736
 msgid "--branch and --default are mutually exclusive"
 msgstr "--branch 和 --default 是互斥的"
 
-#: builtin/submodule--helper.c:2792 git.c:441 git.c:714
+#: builtin/submodule--helper.c:2793 git.c:449 git.c:724
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
-#: builtin/submodule--helper.c:2798
+#: builtin/submodule--helper.c:2799
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -22255,23 +22583,23 @@
 msgid "git symbolic-ref -d [-q] <name>"
 msgstr "git symbolic-ref -d [-q] <名称>"
 
-#: builtin/symbolic-ref.c:40
+#: builtin/symbolic-ref.c:42
 msgid "suppress error message for non-symbolic (detached) refs"
 msgstr "不显示非符号(分离的)引用的错误信息"
 
-#: builtin/symbolic-ref.c:41
+#: builtin/symbolic-ref.c:43
 msgid "delete symbolic ref"
 msgstr "删除符号引用"
 
-#: builtin/symbolic-ref.c:42
+#: builtin/symbolic-ref.c:44
 msgid "shorten ref output"
 msgstr "缩短引用输出"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
 msgid "reason"
 msgstr "原因"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
 msgid "reason of the update"
 msgstr "更新的原因"
 
@@ -22302,17 +22630,17 @@
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<格式>] <标签名>..."
 
-#: builtin/tag.c:89
+#: builtin/tag.c:100
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:124
+#: builtin/tag.c:135
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:159
+#: builtin/tag.c:170
 #, c-format
 msgid ""
 "\n"
@@ -22325,7 +22653,7 @@
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:163
+#: builtin/tag.c:174
 #, c-format
 msgid ""
 "\n"
@@ -22339,11 +22667,11 @@
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:230
+#: builtin/tag.c:241
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:248
+#: builtin/tag.c:259
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -22356,139 +22684,139 @@
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:264
+#: builtin/tag.c:275
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:317
+#: builtin/tag.c:328
 msgid "no tag message?"
 msgstr "无标签说明?"
 
-#: builtin/tag.c:324
+#: builtin/tag.c:335
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:435
+#: builtin/tag.c:446
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:437
+#: builtin/tag.c:448
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:439
+#: builtin/tag.c:450
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:440
+#: builtin/tag.c:451
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:442
+#: builtin/tag.c:453
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:444
+#: builtin/tag.c:455
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:446
+#: builtin/tag.c:457
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:448
+#: builtin/tag.c:459
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:460
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:463
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:464
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:454 builtin/update-ref.c:505
+#: builtin/tag.c:465 builtin/update-ref.c:505
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:456
+#: builtin/tag.c:467
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:457
+#: builtin/tag.c:468
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:458 builtin/tag.c:460
+#: builtin/tag.c:469 builtin/tag.c:471
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
-#: builtin/tag.c:459 builtin/tag.c:461
+#: builtin/tag.c:470 builtin/tag.c:472
 msgid "print only tags that don't contain the commit"
 msgstr "只打印不包含该提交的标签"
 
-#: builtin/tag.c:462
+#: builtin/tag.c:473
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:474
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:467
+#: builtin/tag.c:478
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
-#: builtin/tag.c:515
+#: builtin/tag.c:526
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:537
+#: builtin/tag.c:548
 msgid "-n option is only allowed in list mode"
 msgstr "-n 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:539
+#: builtin/tag.c:550
 msgid "--contains option is only allowed in list mode"
 msgstr "--contains 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:541
+#: builtin/tag.c:552
 msgid "--no-contains option is only allowed in list mode"
 msgstr "--no-contains 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:543
+#: builtin/tag.c:554
 msgid "--points-at option is only allowed in list mode"
 msgstr "--points-at 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:545
+#: builtin/tag.c:556
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr "--merged 和 --no-merged 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:556
+#: builtin/tag.c:567
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:581
+#: builtin/tag.c:592
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:586
+#: builtin/tag.c:597
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:617
+#: builtin/tag.c:628
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
 
-#: builtin/unpack-objects.c:502
+#: builtin/unpack-objects.c:504
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
@@ -22549,157 +22877,157 @@
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:976
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:979
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:982
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:984
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:986
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:988
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:991
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:995
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:999
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1000
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1010
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1013
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1016
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1019
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1022
 msgid "do not touch index-only entries"
 msgstr "不要触碰仅索引条目"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1024
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1026
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1028
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1030
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1034
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1038
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1042
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1046
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1047
+#: builtin/update-index.c:1049
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1051
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1053
+#: builtin/update-index.c:1055
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1057
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1059
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1061
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1063
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1065
 msgid "write out the index even if is not flagged as changed"
 msgstr "即使没有被标记为已更改,也要写出索引"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1067
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1067
+#: builtin/update-index.c:1069
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1070
+#: builtin/update-index.c:1072
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1173
+#: builtin/update-index.c:1175
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 "core.splitIndex 被设置为 false。如果您确实要启用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1184
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 "core.splitIndex 被设置为 true。如果您确实要禁用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1194
+#: builtin/update-index.c:1196
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -22707,11 +23035,11 @@
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1198
+#: builtin/update-index.c:1200
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1208
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -22719,25 +23047,25 @@
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1210
+#: builtin/update-index.c:1212
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1220
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置该选项"
 
-#: builtin/update-index.c:1222
+#: builtin/update-index.c:1224
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1227
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除该选项"
 
-#: builtin/update-index.c:1229
+#: builtin/update-index.c:1231
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -22857,7 +23185,7 @@
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <路径>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:933
+#: builtin/worktree.c:61 builtin/worktree.c:935
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "删除 '%s' 失败"
@@ -22928,102 +23256,102 @@
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
-#: builtin/worktree.c:480
+#: builtin/worktree.c:482
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出 <分支>,即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:483
+#: builtin/worktree.c:485
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:485
+#: builtin/worktree.c:487
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:489
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:488
+#: builtin/worktree.c:490
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "设置跟踪模式(参见 git-branch(1))"
 
-#: builtin/worktree.c:494
+#: builtin/worktree.c:496
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "尝试为新分支名匹配一个远程跟踪分支"
 
-#: builtin/worktree.c:502
+#: builtin/worktree.c:504
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
-#: builtin/worktree.c:563
+#: builtin/worktree.c:565
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "只能在创建新分支时使用选项 --[no-]track "
 
-#: builtin/worktree.c:680
+#: builtin/worktree.c:682
 msgid "show extended annotations and reasons, if available"
 msgstr "显示扩展的注释和原因(如果有)"
 
-#: builtin/worktree.c:682
+#: builtin/worktree.c:684
 msgid "add 'prunable' annotation to worktrees older than <time>"
 msgstr "向早于 <时间> 的工作区添添加“可修剪”注释"
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:693
 msgid "--verbose and --porcelain are mutually exclusive"
 msgstr "--verbose 和 --porcelain 互斥"
 
-#: builtin/worktree.c:718
+#: builtin/worktree.c:720
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:730 builtin/worktree.c:763 builtin/worktree.c:837
-#: builtin/worktree.c:961
+#: builtin/worktree.c:732 builtin/worktree.c:765 builtin/worktree.c:839
+#: builtin/worktree.c:963
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:732 builtin/worktree.c:765
+#: builtin/worktree.c:734 builtin/worktree.c:767
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:737
+#: builtin/worktree.c:739
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
-#: builtin/worktree.c:739
+#: builtin/worktree.c:741
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:767
+#: builtin/worktree.c:769
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
-#: builtin/worktree.c:808
+#: builtin/worktree.c:810
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "不能移动或删除包含子模组的工作区"
 
-#: builtin/worktree.c:816
+#: builtin/worktree.c:818
 msgid "force move even if worktree is dirty or locked"
 msgstr "强制移动,即使工作区是脏的或已锁定"
 
-#: builtin/worktree.c:839 builtin/worktree.c:963
+#: builtin/worktree.c:841 builtin/worktree.c:965
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' 是一个主工作区"
 
-#: builtin/worktree.c:844
+#: builtin/worktree.c:846
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "无法从 '%s' 算出目标名称"
 
-#: builtin/worktree.c:857
+#: builtin/worktree.c:859
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -23032,7 +23360,7 @@
 "无法移动一个锁定的工作区,锁定原因:%s\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:859
+#: builtin/worktree.c:861
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -23040,36 +23368,36 @@
 "无法移动一个锁定的工作区,\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:862
+#: builtin/worktree.c:864
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "验证失败,无法移动工作区:%s"
 
-#: builtin/worktree.c:867
+#: builtin/worktree.c:869
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "移动 '%s' 到 '%s' 失败"
 
-#: builtin/worktree.c:913
+#: builtin/worktree.c:915
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "在 '%s' 中执行 'git status' 失败"
 
-#: builtin/worktree.c:917
+#: builtin/worktree.c:919
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr "'%s' 包含修改或未跟踪的文件,使用 --force 删除"
 
-#: builtin/worktree.c:922
+#: builtin/worktree.c:924
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "在 '%s' 中执行 'git status' 失败,退出码 %d"
 
-#: builtin/worktree.c:945
+#: builtin/worktree.c:947
 msgid "force removal even if worktree is dirty or locked"
 msgstr "强制删除,即使工作区是脏的或已锁定"
 
-#: builtin/worktree.c:968
+#: builtin/worktree.c:970
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -23078,7 +23406,7 @@
 "无法删除一个锁定的工作区,锁定原因:%s\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:970
+#: builtin/worktree.c:972
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -23086,17 +23414,17 @@
 "无法删除一个锁定的工作区,\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:973
+#: builtin/worktree.c:975
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
 
-#: builtin/worktree.c:997
+#: builtin/worktree.c:999
 #, c-format
 msgid "repair: %s: %s"
 msgstr "修理:%s:%s"
 
-#: builtin/worktree.c:1000
+#: builtin/worktree.c:1002
 #, c-format
 msgid "error: %s: %s"
 msgstr "错误:%s:%s"
@@ -23117,48 +23445,6 @@
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: http-fetch.c:118
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr "--packfile 的参数必须是有效的哈希值(得到 '%s')"
-
-#: http-fetch.c:128
-msgid "not a git repository"
-msgstr "不是 git 仓库"
-
-#: http-fetch.c:134
-msgid "--packfile requires --index-pack-args"
-msgstr "--packfile 需要 --index-pack-args"
-
-#: http-fetch.c:143
-msgid "--index-pack-args can only be used with --packfile"
-msgstr "--index-pack-args 只能和 --packfile 一起使用"
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr "未处理的选项"
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr "准备版本时错误"
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr "提交 %s 没有标记为可达"
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr "太多提交标记为可达"
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr "test-tool serve-v2 [<选项>]"
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr "对能力广告之后立即退出"
-
 #: git.c:28
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -23171,7 +23457,8 @@
 msgstr ""
 "git [--version] [--help] [-C <路径>] [-c <名称>=<取值>]\n"
 "           [--exec-path[=<路径>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]\n"
+"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
+"bare]\n"
 "           [--git-dir=<路径>] [--work-tree=<路径>] [--namespace=<名称>]\n"
 "           [--super-prefix=<路径>] [--config-env=<名称>=<环境变量>]\n"
 "           <命令> [<参数>]"
@@ -23213,22 +23500,27 @@
 msgid "-c expects a configuration string\n"
 msgstr "应为 -c 提供一个配置字符串\n"
 
-#: git.c:292
+#: git.c:260
+#, c-format
+msgid "no config key given for --config-env\n"
+msgstr "没有为 --config-env 提供配置名称\n"
+
+#: git.c:300
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "没有为 -C 提供目录\n"
 
-#: git.c:318
+#: git.c:326
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
-#: git.c:367
+#: git.c:375
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "在扩展别名 '%s' 时:'%s'"
 
-#: git.c:376
+#: git.c:384
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -23237,39 +23529,39 @@
 "别名 '%s' 修改环境变量。您可以使用在别名中\n"
 "使用 '!git'"
 
-#: git.c:383
+#: git.c:391
 #, c-format
 msgid "empty alias for %s"
 msgstr "%s 的空别名"
 
-#: git.c:386
+#: git.c:394
 #, c-format
 msgid "recursive alias: %s"
 msgstr "递归的别名:%s"
 
-#: git.c:468
+#: git.c:476
 msgid "write failure on standard output"
 msgstr "在标准输出写入失败"
 
-#: git.c:470
+#: git.c:478
 msgid "unknown write failure on standard output"
 msgstr "到标准输出的未知写入错误"
 
-#: git.c:472
+#: git.c:480
 msgid "close failed on standard output"
 msgstr "标准输出关闭失败"
 
-#: git.c:823
+#: git.c:833
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "检测到别名循环:'%s'的扩展未终止:%s"
 
-#: git.c:873
+#: git.c:883
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "不能作为内置命令处理 %s"
 
-#: git.c:886
+#: git.c:896
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -23278,16 +23570,162 @@
 "用法:%s\n"
 "\n"
 
-#: git.c:906
+#: git.c:916
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "展开别名命令 '%s' 失败,'%s' 不是一个 git 命令\n"
 
-#: git.c:918
+#: git.c:928
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "运行命令 '%s' 失败:%s\n"
 
+#: http-fetch.c:118
+#, c-format
+msgid "argument to --packfile must be a valid hash (got '%s')"
+msgstr "--packfile 的参数必须是有效的哈希值(得到 '%s')"
+
+#: http-fetch.c:128
+msgid "not a git repository"
+msgstr "不是 git 仓库"
+
+#: http-fetch.c:134
+msgid "--packfile requires --index-pack-args"
+msgstr "--packfile 需要 --index-pack-args"
+
+#: http-fetch.c:143
+msgid "--index-pack-args can only be used with --packfile"
+msgstr "--index-pack-args 只能和 --packfile 一起使用"
+
+#: t/helper/test-fast-rebase.c:141
+msgid "unhandled options"
+msgstr "未处理的选项"
+
+#: t/helper/test-fast-rebase.c:146
+msgid "error preparing revisions"
+msgstr "准备版本时错误"
+
+#: t/helper/test-reach.c:154
+#, c-format
+msgid "commit %s is not marked reachable"
+msgstr "提交 %s 没有标记为可达"
+
+#: t/helper/test-reach.c:164
+msgid "too many commits marked reachable"
+msgstr "太多提交标记为可达"
+
+#: t/helper/test-serve-v2.c:7
+msgid "test-tool serve-v2 [<options>]"
+msgstr "test-tool serve-v2 [<选项>]"
+
+#: t/helper/test-serve-v2.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr "通告能力之后立即退出"
+
+#: t/helper/test-simple-ipc.c:262
+#, c-format
+msgid "socket/pipe already in use: '%s'"
+msgstr "套接字/管道已在使用:'%s'"
+
+#: t/helper/test-simple-ipc.c:264
+#, c-format
+msgid "could not start server on: '%s'"
+msgstr "不能启动服务于:'%s'"
+
+#: t/helper/test-simple-ipc.c:295 t/helper/test-simple-ipc.c:331
+msgid "could not spawn daemon in the background"
+msgstr "无法在后台生成守护进程"
+
+#: t/helper/test-simple-ipc.c:356
+msgid "waitpid failed"
+msgstr "waitpid 失败"
+
+#: t/helper/test-simple-ipc.c:376
+msgid "daemon not online yet"
+msgstr "守护进程尚未上线"
+
+#: t/helper/test-simple-ipc.c:406
+msgid "daemon failed to start"
+msgstr "守护进程无法启动"
+
+#: t/helper/test-simple-ipc.c:410
+msgid "waitpid is confused"
+msgstr "waitpid 迷惑了"
+
+#: t/helper/test-simple-ipc.c:541
+msgid "daemon has not shutdown yet"
+msgstr "守护进程尚未关闭"
+
+#: t/helper/test-simple-ipc.c:682
+msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
+msgstr "test-helper simple-ipc is-active    [<名字>] [<选项>]"
+
+#: t/helper/test-simple-ipc.c:683
+msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
+msgstr "test-helper simple-ipc run-daemon   [<名字>] [<线程>]"
+
+#: t/helper/test-simple-ipc.c:684
+msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
+msgstr "test-helper simple-ipc start-daemon [<名字>] [<线程>] [<最大等待>]"
+
+#: t/helper/test-simple-ipc.c:685
+msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
+msgstr "test-helper simple-ipc stop-daemon  [<名字>] [<最大等待>]"
+
+#: t/helper/test-simple-ipc.c:686
+msgid "test-helper simple-ipc send         [<name>] [<token>]"
+msgstr "test-helper simple-ipc send         [<名字>] [<令牌>]"
+
+#: t/helper/test-simple-ipc.c:687
+msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
+msgstr "test-helper simple-ipc sendbytes    [<名字>] [<字节数>] [<字节>]"
+
+#: t/helper/test-simple-ipc.c:688
+msgid ""
+"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
+"[<batchsize>]"
+msgstr "test-helper simple-ipc multiple     [<名字>] [<线程>] [<字节计数>] [<批处理大小>]"
+
+#: t/helper/test-simple-ipc.c:696
+msgid "name or pathname of unix domain socket"
+msgstr "unix 域套接字的名称或路径名"
+
+#: t/helper/test-simple-ipc.c:698
+msgid "named-pipe name"
+msgstr "命名管道的名字"
+
+#: t/helper/test-simple-ipc.c:700
+msgid "number of threads in server thread pool"
+msgstr "服务器线程池中的线程数"
+
+#: t/helper/test-simple-ipc.c:701
+msgid "seconds to wait for daemon to start or stop"
+msgstr "等待守护进程启动或停止的秒数"
+
+#: t/helper/test-simple-ipc.c:703
+msgid "number of bytes"
+msgstr "字节数目"
+
+#: t/helper/test-simple-ipc.c:704
+msgid "number of requests per thread"
+msgstr "每个线程的请求数"
+
+#: t/helper/test-simple-ipc.c:706
+msgid "byte"
+msgstr "字节"
+
+#: t/helper/test-simple-ipc.c:706
+msgid "ballast character"
+msgstr "ballast character"
+
+#: t/helper/test-simple-ipc.c:707
+msgid "token"
+msgstr "令牌"
+
+#: t/helper/test-simple-ipc.c:707
+msgid "command token to send to the server"
+msgstr "发送到服务器的命令令牌"
+
 #: http.c:399
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
@@ -23324,7 +23762,7 @@
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "无法将 SSL 后端设置为 '%s':已经设置"
 
-#: http.c:2025
+#: http.c:2035
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -23426,7 +23864,7 @@
 
 #: remote-curl.c:1132
 msgid "dumb http transport does not support shallow capabilities"
-msgstr "哑 http 传输不支持 shalllow 能力"
+msgstr "哑 http 传输不支持浅克隆能力"
 
 #: remote-curl.c:1147
 msgid "fetch failed."
@@ -23475,43 +23913,43 @@
 msgid "no libc information available\n"
 msgstr "libc 信息不可用\n"
 
-#: list-objects-filter-options.h:91
+#: list-objects-filter-options.h:94
 msgid "args"
 msgstr "参数"
 
-#: list-objects-filter-options.h:92
+#: list-objects-filter-options.h:95
 msgid "object filtering"
 msgstr "对象过滤"
 
-#: parse-options.h:183
+#: parse-options.h:184
 msgid "expiry-date"
 msgstr "到期时间"
 
-#: parse-options.h:197
+#: parse-options.h:198
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:309
+#: parse-options.h:310
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:311
+#: parse-options.h:312
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:317
+#: parse-options.h:318
 msgid "use <n> digits to display object names"
 msgstr "用 <n> 位数字显示对象名"
 
-#: parse-options.h:336
+#: parse-options.h:337
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: parse-options.h:337
+#: parse-options.h:338
 msgid "read pathspec from file"
 msgstr "从文件读取路径表达式"
 
-#: parse-options.h:338
+#: parse-options.h:339
 msgid ""
 "with --pathspec-from-file, pathspec elements are separated with NUL character"
 msgstr "使用 --pathspec-from-file,路径表达式用空字符分隔"
@@ -24478,7 +24916,7 @@
 "p, pick <提交> = 使用提交\n"
 "r, reword <提交> = 使用提交,但修改提交说明\n"
 "e, edit <提交> = 使用提交,但停下来修补\n"
-"s, squash <提交> = 使用提交,但融合到前一个提交\n"
+"s, squash <提交> = 使用提交,但挤压到前一个提交\n"
 "f, fixup <提交> = 类似于 \"squash\",但丢弃提交说明日志\n"
 "x, exec <命令> = 使用 shell 运行命令(此行剩余部分)\n"
 "d, drop <提交> = 删除提交\n"
@@ -24542,7 +24980,7 @@
 #: git-rebase--preserve-merges.sh:421
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
-msgstr "拒绝压缩一个合并:$sha1"
+msgstr "拒绝挤压一个合并:$sha1"
 
 #: git-rebase--preserve-merges.sh:439
 #, sh-format
@@ -24623,7 +25061,6 @@
 msgid "and made changes to the index and/or the working tree"
 msgstr "并且修改索引和/或工作区"
 
-#  译者:注意保持前导空格
 #: git-rebase--preserve-merges.sh:685
 msgid ""
 "You can fix the problem, and then run\n"
@@ -24684,7 +25121,7 @@
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"您已暂存了工作区的修改。如果这些修改要压缩到前一个提交,执行:\n"
+"您已暂存了工作区的修改。如果这些修改要挤压到前一个提交,执行:\n"
 "\n"
 "  git commit --amend $gpg_sign_opt_quoted\n"
 "\n"
@@ -25132,26 +25569,31 @@
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "本地时间偏移量大于等于 24 小时\n"
 
-#: git-send-email.perl:223 git-send-email.perl:229
+#: git-send-email.perl:222
+#, perl-format
+msgid "fatal: command '%s' died with exit code %d"
+msgstr "致命错误:命令 '%s' 已终止,退出代码为 %d"
+
+#: git-send-email.perl:235
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "编辑器非正常退出,终止所有操作"
 
-#: git-send-email.perl:312
+#: git-send-email.perl:321
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr "'%s' 包含您正在编写的一个中间版本的邮件。\n"
 
-#: git-send-email.perl:317
+#: git-send-email.perl:326
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' 包含编辑的邮件。\n"
 
-#: git-send-email.perl:410
+#: git-send-email.perl:419
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases 和其它选项不兼容\n"
 
-#: git-send-email.perl:484
+#: git-send-email.perl:493
 msgid ""
 "fatal: found configuration options for 'sendmail'\n"
 "git-send-email is configured with the sendemail.* options - note the 'e'.\n"
@@ -25161,47 +25603,47 @@
 "git-send-email 通过 sendemail.* 选项进行设置,注意字母 'e'。\n"
 "设置 sendemail.forbidSendmailVariables 为 false 来禁用这项检查。\n"
 
-#: git-send-email.perl:489 git-send-email.perl:691
+#: git-send-email.perl:498 git-send-email.perl:700
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "不能在仓库之外运行 git format-patch\n"
 
-#: git-send-email.perl:492
+#: git-send-email.perl:501
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
 msgstr "`batch-size` 和 `relogin` 必须同时定义(通过命令行或者配置选项)\n"
 
-#: git-send-email.perl:505
+#: git-send-email.perl:514
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "未知的 --suppress-cc 字段:'%s'\n"
 
-#: git-send-email.perl:536
+#: git-send-email.perl:545
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "未知的 --confirm 设置:'%s'\n"
 
-#: git-send-email.perl:564
+#: git-send-email.perl:573
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "警告:不支持带引号的 sendmail 别名:%s\n"
 
-#: git-send-email.perl:566
+#: git-send-email.perl:575
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "警告:不支持 `:include:`:%s\n"
 
-#: git-send-email.perl:568
+#: git-send-email.perl:577
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "警告:不支持 `/file` 或 `|pipe` 重定向:%s\n"
 
-#: git-send-email.perl:573
+#: git-send-email.perl:582
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "警告:不能识别的 sendmail 行:%s\n"
 
-#: git-send-email.perl:657
+#: git-send-email.perl:666
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -25216,21 +25658,12 @@
 "    * 如果含义为一个文件,使用 \"./%s\",或者\n"
 "    * 如果含义为一个范围,使用 --format-patch 选项。\n"
 
-#: git-send-email.perl:678
+#: git-send-email.perl:687
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "无法打开目录 %s: %s"
 
-#: git-send-email.perl:702
-#, perl-format
-msgid ""
-"fatal: %s: %s\n"
-"warning: no patches were sent\n"
-msgstr ""
-"致命错误:%s:%s\n"
-"警告:补丁未能发送\n"
-
-#: git-send-email.perl:713
+#: git-send-email.perl:720
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -25240,17 +25673,17 @@
 "未指定补丁文件!\n"
 "\n"
 
-#: git-send-email.perl:726
+#: git-send-email.perl:733
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "在 %s 中没有标题行?"
 
-#: git-send-email.perl:736
+#: git-send-email.perl:743
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "为写入打开 %s 失败: %s"
 
-#: git-send-email.perl:747
+#: git-send-email.perl:754
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -25263,37 +25696,37 @@
 "\n"
 "如果您不想发送摘要,清除内容。\n"
 
-#: git-send-email.perl:771
+#: git-send-email.perl:778
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "无法打开 %s: %s"
 
-#: git-send-email.perl:788
+#: git-send-email.perl:795
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "无法打开 %s.final: %s"
 
-#: git-send-email.perl:831
+#: git-send-email.perl:838
 msgid "Summary email is empty, skipping it\n"
 msgstr "摘要邮件为空,跳过\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:866
+#: git-send-email.perl:873
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "您确认要使用 <%s> [y/N]?"
 
-#: git-send-email.perl:921
+#: git-send-email.perl:928
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr "如下文件含 8bit 内容,但没有声明一个 Content-Transfer-Encoding。\n"
 
-#: git-send-email.perl:926
+#: git-send-email.perl:933
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]?"
 
-#: git-send-email.perl:934
+#: git-send-email.perl:941
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -25305,20 +25738,20 @@
 "\t%s\n"
 "包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送,使用参数 --force。\n"
 
-#: git-send-email.perl:953
+#: git-send-email.perl:960
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "邮件将要发送给谁?"
 
-#: git-send-email.perl:971
+#: git-send-email.perl:978
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "致命错误:别名 '%s' 扩展为它自己\n"
 
-#: git-send-email.perl:983
+#: git-send-email.perl:990
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID 被用作第一封邮件的 In-Reply-To ?"
 
-#: git-send-email.perl:1041 git-send-email.perl:1049
+#: git-send-email.perl:1048 git-send-email.perl:1056
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
@@ -25326,16 +25759,16 @@
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1053
+#: git-send-email.perl:1060
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 
-#: git-send-email.perl:1370
+#: git-send-email.perl:1377
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
-#: git-send-email.perl:1453
+#: git-send-email.perl:1460
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -25360,128 +25793,143 @@
 #. 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:1468
+#: git-send-email.perl:1475
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "发送这封邮件?([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 
-#: git-send-email.perl:1471
+#: git-send-email.perl:1478
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
-#: git-send-email.perl:1499
+#: git-send-email.perl:1506
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1553
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
-#: git-send-email.perl:1551 git-send-email.perl:1555
+#: git-send-email.perl:1558 git-send-email.perl:1562
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
-#: git-send-email.perl:1564
+#: git-send-email.perl:1571
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
 
-#: git-send-email.perl:1582
+#: git-send-email.perl:1589
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "无法发送 %s\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1592
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1592
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
-#: git-send-email.perl:1587
+#: git-send-email.perl:1594
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
-#: git-send-email.perl:1587
+#: git-send-email.perl:1594
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
-#: git-send-email.perl:1599
+#: git-send-email.perl:1606
 msgid "Result: "
 msgstr "结果:"
 
-#: git-send-email.perl:1602
+#: git-send-email.perl:1609
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
-#: git-send-email.perl:1620
+#: git-send-email.perl:1627
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
-#: git-send-email.perl:1667 git-send-email.perl:1687
+#: git-send-email.perl:1674 git-send-email.perl:1694
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1673
+#: git-send-email.perl:1680
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) 添加 to:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1730
+#: git-send-email.perl:1737
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1765
+#: git-send-email.perl:1772
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) 添加 cc: %s 自行 '%s'\n"
 
-#: git-send-email.perl:1876
+#: git-send-email.perl:1883
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) 不能执行 '%s'"
 
-#: git-send-email.perl:1883
+#: git-send-email.perl:1890
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) 添加 %s: %s 自:'%s'\n"
 
-#: git-send-email.perl:1887
+#: git-send-email.perl:1894
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) 无法关闭管道至 '%s'"
 
-#: git-send-email.perl:1917
+#: git-send-email.perl:1924
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
-#: git-send-email.perl:1925
+#: git-send-email.perl:1932
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:1966 git-send-email.perl:2018 git-send-email.perl:2028
+#: git-send-email.perl:1966
+#, perl-format
+msgid ""
+"fatal: %s: rejected by sendemail-validate hook\n"
+"%s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"致命错误:%s:被 sendemail-validate 挂钩拒绝\n"
+"%s\n"
+"警告:补丁未能发送\n"
+
+#: git-send-email.perl:1976 git-send-email.perl:2029 git-send-email.perl:2039
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "不能打开 %s:%s\n"
 
-#: git-send-email.perl:1969
+#: git-send-email.perl:1979
 #, perl-format
-msgid "%s: patch contains a line longer than 998 characters"
-msgstr "%s:补丁包含一个超过 998 字符的行"
+msgid ""
+"fatal: %s:%d is longer than 998 characters\n"
+"warning: no patches were sent\n"
+msgstr ""
+"致命错误:%s:%d 超过 998 字符\n"
+"警告:补丁未能发送\n"
 
-#: git-send-email.perl:1986
+#: git-send-email.perl:1997
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "略过 %s 含备份后缀 '%s'。\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1990
+#: git-send-email.perl:2001
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "您真的要发送 %s?[y|N]:"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 77a5d57..cb5db0a 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -4291,7 +4291,7 @@
 
 #: fetch-pack.c:1029
 msgid "Server does not support shallow clients"
-msgstr "伺服器不支援 shalllow 用戶端"
+msgstr "伺服器不支援 shallow 用戶端"
 
 #: fetch-pack.c:1089
 msgid "Server does not support --shallow-since"
@@ -4333,7 +4333,7 @@
 
 #: fetch-pack.c:1279
 msgid "Server does not support shallow requests"
-msgstr "伺服器不支援 shalllow 請求"
+msgstr "伺服器不支援 shallow 請求"
 
 #: fetch-pack.c:1286
 msgid "Server supports filter"
@@ -23992,7 +23992,7 @@
 
 #: remote-curl.c:1132
 msgid "dumb http transport does not support shallow capabilities"
-msgstr "啞 http 傳輸不支援 shalllow 能力"
+msgstr "啞 http 傳輸不支援 shallow 能力"
 
 #: remote-curl.c:1147
 msgid "fetch failed."