Imported Upstream version 2.25.0
[platform/upstream/git.git] / po / git.pot
index 14c6327..2d1ec76 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-06-04 08:24+0800\n"
+"POT-Creation-Date: 2019-12-30 08:48+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,71 +18,473 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: advice.c:103
+#: add-interactive.c:347
+#, c-format
+msgid "Huh (%s)?"
+msgstr ""
+
+#: add-interactive.c:500 add-interactive.c:801 sequencer.c:3216
+#: sequencer.c:3656 builtin/rebase.c:871 builtin/rebase.c:1643
+#: builtin/rebase.c:2019 builtin/rebase.c:2063
+msgid "could not read index"
+msgstr ""
+
+#: add-interactive.c:555 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr ""
+
+#: add-interactive.c:613 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr ""
+
+#: add-interactive.c:614 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr ""
+
+#: add-interactive.c:651 git-add--interactive.perl:643
+msgid "Update"
+msgstr ""
+
+#: add-interactive.c:668 add-interactive.c:856
+#, c-format
+msgid "could not stage '%s'"
+msgstr ""
+
+#: add-interactive.c:674 add-interactive.c:863 sequencer.c:3409
+#: builtin/rebase.c:895
+msgid "could not write index"
+msgstr ""
+
+#: add-interactive.c:677 git-add--interactive.perl:628
+#, c-format, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: add-interactive.c:695 git-add--interactive.perl:678
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr ""
+
+#: add-interactive.c:700 apply.c:4108 builtin/checkout.c:281
+#: builtin/reset.c:144
+#, c-format
+msgid "make_cache_entry failed for path '%s'"
+msgstr ""
+
+#: add-interactive.c:730 git-add--interactive.perl:655
+msgid "Revert"
+msgstr ""
+
+#: add-interactive.c:746
+msgid "Could not parse HEAD^{tree}"
+msgstr ""
+
+#: add-interactive.c:784 git-add--interactive.perl:631
+#, c-format, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: add-interactive.c:835 git-add--interactive.perl:695
+#, c-format
+msgid "No untracked files.\n"
+msgstr ""
+
+#: add-interactive.c:839 git-add--interactive.perl:689
+msgid "Add untracked"
+msgstr ""
+
+#: add-interactive.c:866 git-add--interactive.perl:625
+#, c-format, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: add-interactive.c:896
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr ""
+
+#: add-interactive.c:908 add-patch.c:1331 git-add--interactive.perl:1366
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr ""
+
+#: add-interactive.c:910 add-patch.c:1329 git-add--interactive.perl:1368
+#, c-format
+msgid "No changes.\n"
+msgstr ""
+
+#: add-interactive.c:914 git-add--interactive.perl:1376
+msgid "Patch update"
+msgstr ""
+
+#: add-interactive.c:953 git-add--interactive.perl:1754
+msgid "Review diff"
+msgstr ""
+
+#: add-interactive.c:981
+msgid "show paths with changes"
+msgstr ""
+
+#: add-interactive.c:983
+msgid "add working tree state to the staged set of changes"
+msgstr ""
+
+#: add-interactive.c:985
+msgid "revert staged set of changes back to the HEAD version"
+msgstr ""
+
+#: add-interactive.c:987
+msgid "pick hunks and update selectively"
+msgstr ""
+
+#: add-interactive.c:989
+msgid "view diff between HEAD and index"
+msgstr ""
+
+#: add-interactive.c:991
+msgid "add contents of untracked files to the staged set of changes"
+msgstr ""
+
+#: add-interactive.c:999 add-interactive.c:1048
+msgid "Prompt help:"
+msgstr ""
+
+#: add-interactive.c:1001
+msgid "select a single item"
+msgstr ""
+
+#: add-interactive.c:1003
+msgid "select a range of items"
+msgstr ""
+
+#: add-interactive.c:1005
+msgid "select multiple ranges"
+msgstr ""
+
+#: add-interactive.c:1007 add-interactive.c:1052
+msgid "select item based on unique prefix"
+msgstr ""
+
+#: add-interactive.c:1009
+msgid "unselect specified items"
+msgstr ""
+
+#: add-interactive.c:1011
+msgid "choose all items"
+msgstr ""
+
+#: add-interactive.c:1013
+msgid "(empty) finish selecting"
+msgstr ""
+
+#: add-interactive.c:1050
+msgid "select a numbered item"
+msgstr ""
+
+#: add-interactive.c:1054
+msgid "(empty) select nothing"
+msgstr ""
+
+#: add-interactive.c:1062 builtin/clean.c:822 git-add--interactive.perl:1851
+msgid "*** Commands ***"
+msgstr ""
+
+#: add-interactive.c:1063 builtin/clean.c:823 git-add--interactive.perl:1848
+msgid "What now"
+msgstr ""
+
+#: add-interactive.c:1115 git-add--interactive.perl:213
+msgid "staged"
+msgstr ""
+
+#: add-interactive.c:1115 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr ""
+
+#: add-interactive.c:1115 apply.c:4965 apply.c:4968 builtin/am.c:2197
+#: builtin/am.c:2200 builtin/clone.c:123 builtin/fetch.c:144
+#: builtin/merge.c:273 builtin/pull.c:209 builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1382
+#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:1878
+#: builtin/submodule--helper.c:2119 git-add--interactive.perl:213
+msgid "path"
+msgstr ""
+
+#: add-interactive.c:1122
+msgid "could not refresh index"
+msgstr ""
+
+#: add-interactive.c:1136 builtin/clean.c:787 git-add--interactive.perl:1765
+#, c-format
+msgid "Bye.\n"
+msgstr ""
+
+#: add-patch.c:15
+#, c-format
+msgid "Stage mode change [y,n,a,q,d%s,?]? "
+msgstr ""
+
+#: add-patch.c:16
+#, c-format
+msgid "Stage deletion [y,n,a,q,d%s,?]? "
+msgstr ""
+
+#: add-patch.c:17
+#, c-format
+msgid "Stage this hunk [y,n,a,q,d%s,?]? "
+msgstr ""
+
+#: add-patch.c:111
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr ""
+
+#: add-patch.c:130 add-patch.c:134
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr ""
+
+#: add-patch.c:176
+msgid "could not parse diff"
+msgstr ""
+
+#: add-patch.c:194
+msgid "could not parse colored diff"
+msgstr ""
+
+#: add-patch.c:508
+#, c-format
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr ""
+
+#: add-patch.c:523
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr ""
+
+#: add-patch.c:799 git-add--interactive.perl:1112
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+
+#: add-patch.c:803
+#, c-format
+msgid ""
+"---\n"
+"To remove '%c' lines, make them ' ' lines (context).\n"
+"To remove '%c' lines, delete them.\n"
+"Lines starting with %c will be removed.\n"
+msgstr ""
+
+#: add-patch.c:810
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging.\n"
+msgstr ""
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: add-patch.c:818 git-add--interactive.perl:1126
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+
+#: add-patch.c:851
+msgid "could not parse hunk header"
+msgstr ""
+
+#: add-patch.c:895 add-patch.c:1294
+msgid "'git apply --cached' failed"
+msgstr ""
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#.
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: add-patch.c:952 git-add--interactive.perl:1239
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+
+#: add-patch.c:1009
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this and all the remaining hunks\n"
+"d - do not stage this hunk nor any of the remaining hunks\n"
+msgstr ""
+
+#: add-patch.c:1016
+msgid ""
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+
+#: add-patch.c:1137 add-patch.c:1147
+msgid "No previous hunk"
+msgstr ""
+
+#: add-patch.c:1142 add-patch.c:1152
+msgid "No next hunk"
+msgstr ""
+
+#: add-patch.c:1158
+msgid "No other hunks to goto"
+msgstr ""
+
+#: add-patch.c:1169 git-add--interactive.perl:1577
+msgid "go to which hunk (<ret> to see more)? "
+msgstr ""
+
+#: add-patch.c:1170 git-add--interactive.perl:1579
+msgid "go to which hunk? "
+msgstr ""
+
+#: add-patch.c:1181
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr ""
+
+#: add-patch.c:1186
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] ""
+msgstr[1] ""
+
+#: add-patch.c:1195
+msgid "No other hunks to search"
+msgstr ""
+
+#: add-patch.c:1201 git-add--interactive.perl:1623
+msgid "search for regex? "
+msgstr ""
+
+#: add-patch.c:1216
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr ""
+
+#: add-patch.c:1233
+msgid "No hunk matches the given pattern"
+msgstr ""
+
+#: add-patch.c:1240
+msgid "Sorry, cannot split this hunk"
+msgstr ""
+
+#: add-patch.c:1244
+#, c-format
+msgid "Split into %d hunks."
+msgstr ""
+
+#: add-patch.c:1248
+msgid "Sorry, cannot edit this hunk"
+msgstr ""
+
+#: advice.c:111
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr ""
 
-#: advice.c:156
+#: advice.c:164
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:158
+#: advice.c:166
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:160
+#: advice.c:168
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:162
+#: advice.c:170
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:164
+#: advice.c:172
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:166
+#: advice.c:174
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 
-#: advice.c:174
+#: advice.c:182
 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."
 msgstr ""
 
-#: advice.c:182
+#: advice.c:190
 msgid "Exiting because of an unresolved conflict."
 msgstr ""
 
-#: advice.c:187 builtin/merge.c:1320
+#: advice.c:195 builtin/merge.c:1332
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr ""
 
-#: advice.c:189
+#: advice.c:197
 msgid "Please, commit your changes before merging."
 msgstr ""
 
-#: advice.c:190
+#: advice.c:198
 msgid "Exiting because of unfinished merge."
 msgstr ""
 
-#: advice.c:196
+#: advice.c:204
 #, c-format
 msgid ""
-"Note: checking out '%s'.\n"
+"Note: switching to '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by performing another checkout.\n"
+"state without impacting any branches by switching back to a branch.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -b with the checkout command again. Example:\n"
+"do so (now or later) by using -c with the switch command. Example:\n"
+"\n"
+"  git switch -c <new-branch-name>\n"
 "\n"
-"  git checkout -b <new-branch-name>\n"
+"Or undo this operation with:\n"
+"\n"
+"  git switch -\n"
+"\n"
+"Turn off this advice by setting config variable advice.detachedHead to "
+"false\n"
 "\n"
 msgstr ""
 
@@ -94,92 +496,82 @@ msgstr ""
 msgid "unclosed quote"
 msgstr ""
 
-#: apply.c:63
+#: apply.c:69
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr ""
 
-#: apply.c:79
+#: apply.c:85
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr ""
 
-#: apply.c:129
+#: apply.c:135
 msgid "--reject and --3way cannot be used together."
 msgstr ""
 
-#: apply.c:131
+#: apply.c:137
 msgid "--cached and --3way cannot be used together."
 msgstr ""
 
-#: apply.c:134
+#: apply.c:140
 msgid "--3way outside a repository"
 msgstr ""
 
-#: apply.c:145
+#: apply.c:151
 msgid "--index outside a repository"
 msgstr ""
 
-#: apply.c:148
+#: apply.c:154
 msgid "--cached outside a repository"
 msgstr ""
 
-#: apply.c:829
+#: apply.c:801
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr ""
 
-#: apply.c:838
+#: apply.c:810
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr ""
 
-#: apply.c:912
+#: apply.c:884
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr ""
 
-#: apply.c:950
+#: apply.c:922
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 
-#: apply.c:956
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
 
-#: apply.c:957
+#: apply.c:929
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr ""
 
-#: apply.c:962
+#: apply.c:934
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr ""
 
-#: apply.c:991
+#: apply.c:963
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr ""
 
-#: apply.c:1310
+#: apply.c:1282
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr ""
 
-#: apply.c:1482
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr ""
-
-#: apply.c:1551
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
-
-#: apply.c:1571
+#: apply.c:1372
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -190,350 +582,355 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:1584
+#: apply.c:1385
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 
-#: apply.c:1772
+#: apply.c:1481
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr ""
+
+#: apply.c:1550
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr ""
+
+#: apply.c:1753
 msgid "new file depends on old contents"
 msgstr ""
 
-#: apply.c:1774
+#: apply.c:1755
 msgid "deleted file still has contents"
 msgstr ""
 
-#: apply.c:1808
+#: apply.c:1789
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr ""
 
-#: apply.c:1845
+#: apply.c:1826
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr ""
 
-#: apply.c:1847
+#: apply.c:1828
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr ""
 
-#: apply.c:1850
+#: apply.c:1831
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr ""
 
-#: apply.c:1997
+#: apply.c:1978
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr ""
 
-#: apply.c:2034
+#: apply.c:2015
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr ""
 
-#: apply.c:2196
+#: apply.c:2177
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr ""
 
-#: apply.c:2282
+#: apply.c:2263
 #, c-format
 msgid "unable to read symlink %s"
 msgstr ""
 
-#: apply.c:2286
+#: apply.c:2267
 #, c-format
 msgid "unable to open or read %s"
 msgstr ""
 
-#: apply.c:2945
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr ""
 
-#: apply.c:3066
+#: apply.c:3057
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:3078
+#: apply.c:3069
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr ""
 
-#: apply.c:3084
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr ""
 
-#: apply.c:3106
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr ""
 
-#: apply.c:3114
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 
-#: apply.c:3161
+#: apply.c:3152
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 
-#: apply.c:3171
+#: apply.c:3162
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 
-#: apply.c:3179
+#: apply.c:3170
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr ""
 
-#: apply.c:3197
+#: apply.c:3188
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr ""
 
-#: apply.c:3210
+#: apply.c:3201
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr ""
 
-#: apply.c:3216
+#: apply.c:3207
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 
-#: apply.c:3237
+#: apply.c:3228
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr ""
 
-#: apply.c:3360
+#: apply.c:3351
 #, c-format
 msgid "cannot checkout %s"
 msgstr ""
 
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
+#: apply.c:3403 apply.c:3414 apply.c:3460 midx.c:61 setup.c:280
 #, c-format
 msgid "failed to read %s"
 msgstr ""
 
-#: apply.c:3420
+#: apply.c:3411
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3449 apply.c:3692
+#: apply.c:3440 apply.c:3683
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr ""
 
-#: apply.c:3535 apply.c:3707
+#: apply.c:3526 apply.c:3698
 #, c-format
 msgid "%s: does not exist in index"
 msgstr ""
 
-#: apply.c:3544 apply.c:3715
+#: apply.c:3535 apply.c:3706
 #, c-format
 msgid "%s: does not match index"
 msgstr ""
 
-#: apply.c:3579
+#: apply.c:3570
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 
-#: apply.c:3582
+#: apply.c:3573
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr ""
 
-#: apply.c:3598 apply.c:3602
+#: apply.c:3589 apply.c:3593
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr ""
 
-#: apply.c:3614
+#: apply.c:3605
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr ""
 
-#: apply.c:3628
+#: apply.c:3619
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr ""
 
-#: apply.c:3633
+#: apply.c:3624
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr ""
 
-#: apply.c:3659
+#: apply.c:3650
 msgid "removal patch leaves file contents"
 msgstr ""
 
-#: apply.c:3732
+#: apply.c:3723
 #, c-format
 msgid "%s: wrong type"
 msgstr ""
 
-#: apply.c:3734
+#: apply.c:3725
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr ""
 
-#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
-#: read-cache.c:1309
+#: apply.c:3876 apply.c:3878 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1320
 #, c-format
 msgid "invalid path '%s'"
 msgstr ""
 
-#: apply.c:3943
+#: apply.c:3934
 #, c-format
 msgid "%s: already exists in index"
 msgstr ""
 
-#: apply.c:3946
+#: apply.c:3937
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr ""
 
-#: apply.c:3966
+#: apply.c:3957
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr ""
 
-#: apply.c:3971
+#: apply.c:3962
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 
-#: apply.c:3991
+#: apply.c:3982
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3995
+#: apply.c:3986
 #, c-format
 msgid "%s: patch does not apply"
 msgstr ""
 
-#: apply.c:4010
+#: apply.c:4001
 #, c-format
 msgid "Checking patch %s..."
 msgstr ""
 
-#: apply.c:4102
+#: apply.c:4093
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 
-#: apply.c:4109
+#: apply.c:4100
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr ""
 
-#: apply.c:4112
+#: apply.c:4103
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr ""
 
-#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr ""
-
-#: apply.c:4121
+#: apply.c:4112
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr ""
 
-#: apply.c:4131
+#: apply.c:4122
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr ""
 
-#: apply.c:4269
+#: apply.c:4260
 #, c-format
 msgid "unable to remove %s from index"
 msgstr ""
 
-#: apply.c:4303
+#: apply.c:4294
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr ""
 
-#: apply.c:4309
+#: apply.c:4300
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr ""
 
-#: apply.c:4317
+#: apply.c:4308
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 
-#: apply.c:4323 apply.c:4468
+#: apply.c:4314 apply.c:4459
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr ""
 
-#: apply.c:4366
+#: apply.c:4357
 #, c-format
 msgid "failed to write to '%s'"
 msgstr ""
 
-#: apply.c:4370
+#: apply.c:4361
 #, c-format
 msgid "closing file '%s'"
 msgstr ""
 
-#: apply.c:4440
+#: apply.c:4431
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr ""
 
-#: apply.c:4538
+#: apply.c:4529
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr ""
 
-#: apply.c:4546
+#: apply.c:4537
 msgid "internal error"
 msgstr ""
 
-#: apply.c:4549
+#: apply.c:4540
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4560
+#: apply.c:4551
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr ""
 
-#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4559 builtin/fetch.c:901 builtin/fetch.c:1192
 #, c-format
 msgid "cannot open %s"
 msgstr ""
 
-#: apply.c:4582
+#: apply.c:4573
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr ""
 
-#: apply.c:4586
+#: apply.c:4577
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr ""
@@ -551,166 +948,157 @@ msgstr ""
 msgid "unable to read index file"
 msgstr ""
 
-#: apply.c:4879
+#: apply.c:4881
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr ""
 
-#: apply.c:4906
+#: apply.c:4908
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4912 apply.c:4927
+#: apply.c:4914 apply.c:4929
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4920
+#: apply.c:4922
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4938 builtin/add.c:579 builtin/mv.c:301 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr ""
 
-#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
-#: builtin/pull.c:207 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
-#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
-msgid "path"
-msgstr ""
-
-#: apply.c:4964
+#: apply.c:4966
 msgid "don't apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4967
+#: apply.c:4969
 msgid "apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4969 builtin/am.c:2219
+#: apply.c:4971 builtin/am.c:2206
 msgid "num"
 msgstr ""
 
-#: apply.c:4970
+#: apply.c:4972
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 
-#: apply.c:4973
+#: apply.c:4975
 msgid "ignore additions made by the patch"
 msgstr ""
 
-#: apply.c:4975
+#: apply.c:4977
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 
-#: apply.c:4979
+#: apply.c:4981
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 
-#: apply.c:4981
+#: apply.c:4983
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 
-#: apply.c:4983
+#: apply.c:4985
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 
-#: apply.c:4985
+#: apply.c:4987
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 
-#: apply.c:4987
+#: apply.c:4989
 msgid "mark new files with `git add --intent-to-add`"
 msgstr ""
 
-#: apply.c:4989
+#: apply.c:4991
 msgid "apply a patch without touching the working tree"
 msgstr ""
 
-#: apply.c:4991
+#: apply.c:4993
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 
-#: apply.c:4994
+#: apply.c:4996
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 
-#: apply.c:4996
+#: apply.c:4998
 msgid "attempt three-way merge if a patch does not apply"
 msgstr ""
 
-#: apply.c:4998
+#: apply.c:5000
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 
-#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5003 builtin/checkout-index.c:173 builtin/ls-files.c:524
 msgid "paths are separated with NUL character"
 msgstr ""
 
-#: apply.c:5003
+#: apply.c:5005
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 
-#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
-#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
+#: apply.c:5006 builtin/am.c:2185 builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
+#: builtin/pack-objects.c:3310 builtin/rebase.c:1474
 msgid "action"
 msgstr ""
 
-#: apply.c:5005
+#: apply.c:5007
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 
-#: apply.c:5008 apply.c:5011
+#: apply.c:5010 apply.c:5013
 msgid "ignore changes in whitespace when finding context"
 msgstr ""
 
-#: apply.c:5014
+#: apply.c:5016
 msgid "apply the patch in reverse"
 msgstr ""
 
-#: apply.c:5016
+#: apply.c:5018
 msgid "don't expect at least one line of context"
 msgstr ""
 
-#: apply.c:5018
+#: apply.c:5020
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 
-#: apply.c:5020
+#: apply.c:5022
 msgid "allow overlapping hunks"
 msgstr ""
 
-#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5023 builtin/add.c:309 builtin/check-ignore.c:22
+#: builtin/commit.c:1355 builtin/count-objects.c:98 builtin/fsck.c:774
+#: builtin/log.c:2166 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr ""
 
-#: apply.c:5023
+#: apply.c:5025
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 
-#: apply.c:5026
+#: apply.c:5028
 msgid "do not trust the line counts in the hunk headers"
 msgstr ""
 
-#: apply.c:5028 builtin/am.c:2207
+#: apply.c:5030 builtin/am.c:2194
 msgid "root"
 msgstr ""
 
-#: apply.c:5029
+#: apply.c:5031
 msgid "prepend <root> to all filenames"
 msgstr ""
 
@@ -731,7 +1119,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr ""
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:180 builtin/add.c:555 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr ""
@@ -751,162 +1139,163 @@ msgstr ""
 msgid "not a tree object: %s"
 msgstr ""
 
-#: archive.c:424
+#: archive.c:426
 msgid "current working directory is untracked"
 msgstr ""
 
-#: archive.c:455
+#: archive.c:457
 msgid "fmt"
 msgstr ""
 
-#: archive.c:455
+#: archive.c:457
 msgid "archive format"
 msgstr ""
 
-#: archive.c:456 builtin/log.c:1557
+#: archive.c:458 builtin/log.c:1653
 msgid "prefix"
 msgstr ""
 
-#: archive.c:457
+#: archive.c:459
 msgid "prepend prefix to each pathname in the archive"
 msgstr ""
 
-#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822
-#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
-#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
-#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
+#: archive.c:460 builtin/blame.c:861 builtin/blame.c:865 builtin/blame.c:866
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1162
+#: builtin/fast-export.c:1164 builtin/fast-export.c:1168 builtin/grep.c:899
+#: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563
+#: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123
+#: parse-options.h:190
 msgid "file"
 msgstr ""
 
-#: archive.c:459 builtin/archive.c:90
+#: archive.c:461 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr ""
 
-#: archive.c:461
+#: archive.c:463
 msgid "read .gitattributes in working directory"
 msgstr ""
 
-#: archive.c:462
+#: archive.c:464
 msgid "report archived files on stderr"
 msgstr ""
 
-#: archive.c:463
+#: archive.c:465
 msgid "store only"
 msgstr ""
 
-#: archive.c:464
+#: archive.c:466
 msgid "compress faster"
 msgstr ""
 
-#: archive.c:472
+#: archive.c:474
 msgid "compress better"
 msgstr ""
 
-#: archive.c:475
+#: archive.c:477
 msgid "list supported archive formats"
 msgstr ""
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
+#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1391 builtin/submodule--helper.c:1884
 msgid "repo"
 msgstr ""
 
-#: archive.c:478 builtin/archive.c:92
+#: archive.c:480 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr ""
 
-#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707
+#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:715
 #: builtin/notes.c:498
 msgid "command"
 msgstr ""
 
-#: archive.c:480 builtin/archive.c:94
+#: archive.c:482 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr ""
 
-#: archive.c:487
+#: archive.c:489
 msgid "Unexpected option --remote"
 msgstr ""
 
-#: archive.c:489
+#: archive.c:491
 msgid "Option --exec can only be used together with --remote"
 msgstr ""
 
-#: archive.c:491
+#: archive.c:493
 msgid "Unexpected option --output"
 msgstr ""
 
-#: archive.c:513
+#: archive.c:515
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr ""
 
-#: archive.c:520
+#: archive.c:522
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr ""
 
-#: archive-tar.c:125 archive-zip.c:345
+#: archive-tar.c:125 archive-zip.c:350
 #, c-format
 msgid "cannot stream blob %s"
 msgstr ""
 
-#: archive-tar.c:260 archive-zip.c:363
+#: archive-tar.c:266 archive-zip.c:368
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr ""
 
-#: archive-tar.c:287 archive-zip.c:353
+#: archive-tar.c:293 archive-zip.c:358
 #, c-format
 msgid "cannot read %s"
 msgstr ""
 
-#: archive-tar.c:459
+#: archive-tar.c:465
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr ""
 
-#: archive-tar.c:462
+#: archive-tar.c:468
 msgid "unable to redirect descriptor"
 msgstr ""
 
-#: archive-tar.c:469
+#: archive-tar.c:475
 #, c-format
 msgid "'%s' filter reported error"
 msgstr ""
 
-#: archive-zip.c:314
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr ""
 
-#: archive-zip.c:318
+#: archive-zip.c:323
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr ""
 
-#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
+#: archive-zip.c:479 builtin/pack-objects.c:230 builtin/pack-objects.c:233
 #, c-format
 msgid "deflate error (%d)"
 msgstr ""
 
-#: archive-zip.c:609
+#: archive-zip.c:614
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr ""
 
-#: attr.c:211
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr ""
 
-#: attr.c:368
+#: attr.c:369
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr ""
 
-#: attr.c:408
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -974,12 +1363,12 @@ msgstr ""
 msgid "a %s revision is needed"
 msgstr ""
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254
 #, c-format
 msgid "could not create file '%s'"
 msgstr ""
 
-#: bisect.c:928 builtin/merge.c:146
+#: bisect.c:928 builtin/merge.c:148
 #, c-format
 msgid "could not read file '%s'"
 msgstr ""
@@ -1017,37 +1406,37 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: blame.c:1794
+#: blame.c:2700
 msgid "--contents and --reverse do not blend well."
 msgstr ""
 
-#: blame.c:1808
+#: blame.c:2714
 msgid "cannot use --contents with final commit object name"
 msgstr ""
 
-#: blame.c:1829
+#: blame.c:2735
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 
-#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
-#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
-#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415
-#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
+#: blame.c:2744 bundle.c:167 ref-filter.c:2203 remote.c:1941 sequencer.c:2093
+#: sequencer.c:4460 builtin/commit.c:1040 builtin/log.c:388 builtin/log.c:991
+#: builtin/log.c:1520 builtin/log.c:1925 builtin/log.c:2215 builtin/merge.c:411
+#: builtin/pack-objects.c:3128 builtin/pack-objects.c:3143
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr ""
 
-#: blame.c:1856
+#: blame.c:2762
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 
-#: blame.c:1867
+#: blame.c:2773
 #, c-format
 msgid "no such path %s in %s"
 msgstr ""
 
-#: blame.c:1878
+#: blame.c:2784
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr ""
@@ -1166,12 +1555,12 @@ msgstr ""
 msgid "Not a valid branch point: '%s'."
 msgstr ""
 
-#: branch.c:359
+#: branch.c:364
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr ""
 
-#: branch.c:382
+#: branch.c:387
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr ""
@@ -1186,8 +1575,8 @@ msgstr ""
 msgid "unrecognized header: %s%s (%d)"
 msgstr ""
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
-#: builtin/commit.c:788
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2344 sequencer.c:3108
+#: builtin/commit.c:811
 #, c-format
 msgid "could not open '%s'"
 msgstr ""
@@ -1196,60 +1585,64 @@ msgstr ""
 msgid "Repository lacks these prerequisite commits:"
 msgstr ""
 
-#: bundle.c:194
+#: bundle.c:146
+msgid "need a repository to verify a bundle"
+msgstr ""
+
+#: bundle.c:197
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: bundle.c:201
+#: bundle.c:204
 msgid "The bundle records a complete history."
 msgstr ""
 
-#: bundle.c:203
+#: bundle.c:206
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: bundle.c:269
+#: bundle.c:273
 msgid "unable to dup bundle descriptor"
 msgstr ""
 
-#: bundle.c:276
+#: bundle.c:280
 msgid "Could not spawn pack-objects"
 msgstr ""
 
-#: bundle.c:287
+#: bundle.c:291
 msgid "pack-objects died"
 msgstr ""
 
-#: bundle.c:329
+#: bundle.c:333
 msgid "rev-list died"
 msgstr ""
 
-#: bundle.c:378
+#: bundle.c:382
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr ""
 
-#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
+#: bundle.c:461 builtin/log.c:203 builtin/log.c:1814 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr ""
 
-#: bundle.c:465
+#: bundle.c:469
 msgid "Refusing to create empty bundle."
 msgstr ""
 
-#: bundle.c:475
+#: bundle.c:479
 #, c-format
 msgid "cannot create '%s'"
 msgstr ""
 
-#: bundle.c:500
+#: bundle.c:504
 msgid "index-pack died"
 msgstr ""
 
@@ -1258,13 +1651,13 @@ msgstr ""
 msgid "invalid color value: %.*s"
 msgstr ""
 
-#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
+#: commit.c:51 sequencer.c:2811 builtin/am.c:354 builtin/am.c:398
+#: builtin/am.c:1366 builtin/am.c:2009 builtin/replace.c:456
 #, c-format
 msgid "could not parse %s"
 msgstr ""
 
-#: commit.c:52
+#: commit.c:53
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr ""
@@ -1281,215 +1674,280 @@ msgid ""
 "\"git config advice.graftFileDeprecated false\""
 msgstr ""
 
-#: commit.c:1128
+#: commit.c:1152
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 
-#: commit.c:1131
+#: commit.c:1155
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 
-#: commit.c:1134
+#: commit.c:1158
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr ""
 
-#: commit.c:1137
+#: commit.c:1161
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr ""
 
-#: commit.c:1391
+#: commit.c:1415
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
 
-#: commit-graph.c:105
+#: commit-graph.c:130
 msgid "commit-graph file is too small"
 msgstr ""
 
-#: commit-graph.c:170
+#: commit-graph.c:195
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr ""
 
-#: commit-graph.c:177
+#: commit-graph.c:202
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr ""
 
-#: commit-graph.c:184
+#: commit-graph.c:209
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr ""
 
-#: commit-graph.c:207
+#: commit-graph.c:232
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
 
-#: commit-graph.c:218
+#: commit-graph.c:243
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr ""
 
-#: commit-graph.c:255
+#: commit-graph.c:286
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr ""
 
-#: commit-graph.c:390
+#: commit-graph.c:350
+msgid "commit-graph has no base graphs chunk"
+msgstr ""
+
+#: commit-graph.c:360
+msgid "commit-graph chain does not match"
+msgstr ""
+
+#: commit-graph.c:407
+#, c-format
+msgid "invalid commit-graph chain: line '%s' not a hash"
+msgstr ""
+
+#: commit-graph.c:433
+msgid "unable to find all commit-graph files"
+msgstr ""
+
+#: commit-graph.c:564 commit-graph.c:624
+msgid "invalid commit position. commit-graph is likely corrupt"
+msgstr ""
+
+#: commit-graph.c:585
 #, c-format
 msgid "could not find commit %s"
 msgstr ""
 
-#: commit-graph.c:732 builtin/pack-objects.c:2649
+#: commit-graph.c:858 builtin/am.c:1287
+#, c-format
+msgid "unable to parse commit %s"
+msgstr ""
+
+#: commit-graph.c:1017 builtin/pack-objects.c:2641
 #, c-format
 msgid "unable to get type of object %s"
 msgstr ""
 
-#: commit-graph.c:765
+#: commit-graph.c:1049
 msgid "Loading known commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:781
+#: commit-graph.c:1066
 msgid "Expanding reachable commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:793
+#: commit-graph.c:1085
 msgid "Clearing commit marks in commit graph"
 msgstr ""
 
-#: commit-graph.c:813
+#: commit-graph.c:1104
 msgid "Computing commit graph generation numbers"
 msgstr ""
 
-#: commit-graph.c:930
+#: commit-graph.c:1179
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: commit-graph.c:943
+#: commit-graph.c:1192
 #, c-format
 msgid "error adding pack %s"
 msgstr ""
 
-#: commit-graph.c:945
+#: commit-graph.c:1196
 #, c-format
 msgid "error opening index for %s"
 msgstr ""
 
-#: commit-graph.c:959
+#: commit-graph.c:1220
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: commit-graph.c:991
-msgid "Finding commits for commit graph among packed objects"
+#: commit-graph.c:1240
+#, c-format
+msgid "invalid commit object id: %s"
 msgstr ""
 
-#: commit-graph.c:1004
-msgid "Counting distinct commits in commit graph"
+#: commit-graph.c:1255
+msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 
-#: commit-graph.c:1017
-#, c-format
-msgid "the commit graph format cannot write %d commits"
+#: commit-graph.c:1270
+msgid "Counting distinct commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:1026
+#: commit-graph.c:1300
 msgid "Finding extra edges in commit graph"
 msgstr ""
 
-#: commit-graph.c:1050
-msgid "too many commits to write graph"
+#: commit-graph.c:1346
+msgid "failed to write correct number of base graph ids"
 msgstr ""
 
-#: commit-graph.c:1057 midx.c:819
+#: commit-graph.c:1379 midx.c:814
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr ""
 
-#: commit-graph.c:1097
+#: commit-graph.c:1391 builtin/index-pack.c:306 builtin/repack.c:248
+#, c-format
+msgid "unable to create '%s'"
+msgstr ""
+
+#: commit-graph.c:1451
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: commit-graph.c:1162
+#: commit-graph.c:1492
+msgid "unable to open commit-graph chain file"
+msgstr ""
+
+#: commit-graph.c:1504
+msgid "failed to rename base commit-graph file"
+msgstr ""
+
+#: commit-graph.c:1524
+msgid "failed to rename temporary commit-graph file"
+msgstr ""
+
+#: commit-graph.c:1635
+msgid "Scanning merged commits"
+msgstr ""
+
+#: commit-graph.c:1646
+#, c-format
+msgid "unexpected duplicate commit id %s"
+msgstr ""
+
+#: commit-graph.c:1670
+msgid "Merging commit-graph"
+msgstr ""
+
+#: commit-graph.c:1860
+#, c-format
+msgid "the commit graph format cannot write %d commits"
+msgstr ""
+
+#: commit-graph.c:1871
+msgid "too many commits to write graph"
+msgstr ""
+
+#: commit-graph.c:1961
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 
-#: commit-graph.c:1172
+#: commit-graph.c:1971
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr ""
 
-#: commit-graph.c:1182 commit-graph.c:1197
+#: commit-graph.c:1981 commit-graph.c:1996
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
 
-#: commit-graph.c:1189
+#: commit-graph.c:1988
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr ""
 
-#: commit-graph.c:1206
+#: commit-graph.c:2006
 msgid "Verifying commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:1219
+#: commit-graph.c:2020
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 
-#: commit-graph.c:1226
+#: commit-graph.c:2027
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 
-#: commit-graph.c:1236
+#: commit-graph.c:2037
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 
-#: commit-graph.c:1242
+#: commit-graph.c:2046
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr ""
 
-#: commit-graph.c:1255
+#: commit-graph.c:2059
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 
-#: commit-graph.c:1260
+#: commit-graph.c:2064
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
 msgstr ""
 
-#: commit-graph.c:1264
+#: commit-graph.c:2068
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
 msgstr ""
 
-#: commit-graph.c:1279
+#: commit-graph.c:2083
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
 msgstr ""
 
-#: commit-graph.c:1285
+#: commit-graph.c:2089
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
@@ -1498,7 +1956,7 @@ msgstr ""
 msgid "memory exhausted"
 msgstr ""
 
-#: config.c:123
+#: config.c:124
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -1508,294 +1966,289 @@ msgid ""
 "This might be due to circular includes."
 msgstr ""
 
-#: config.c:139
+#: config.c:140
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr ""
 
-#: config.c:150
+#: config.c:151
 msgid "relative config includes must come from files"
 msgstr ""
 
-#: config.c:190
+#: config.c:197
 msgid "relative config include conditionals must come from files"
 msgstr ""
 
-#: config.c:348
+#: config.c:376
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr ""
 
-#: config.c:354
+#: config.c:382
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr ""
 
-#: config.c:378 sequencer.c:2459
+#: config.c:406 sequencer.c:2530
 #, c-format
 msgid "invalid key: %s"
 msgstr ""
 
-#: config.c:384
+#: config.c:412
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr ""
 
-#: config.c:420 config.c:432
+#: config.c:448 config.c:460
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr ""
 
-#: config.c:467
+#: config.c:495
 #, c-format
 msgid "bogus format in %s"
 msgstr ""
 
-#: config.c:793
+#: config.c:821
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr ""
 
-#: config.c:797
+#: config.c:825
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr ""
 
-#: config.c:801
+#: config.c:829
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr ""
 
-#: config.c:805
+#: config.c:833
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr ""
 
-#: config.c:809
+#: config.c:837
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr ""
 
-#: config.c:813
+#: config.c:841
 #, c-format
 msgid "bad config line %d in %s"
 msgstr ""
 
-#: config.c:952
+#: config.c:978
 msgid "out of range"
 msgstr ""
 
-#: config.c:952
+#: config.c:978
 msgid "invalid unit"
 msgstr ""
 
-#: config.c:958
+#: config.c:979
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr ""
 
-#: config.c:963
+#: config.c:998
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 
-#: config.c:966
+#: config.c:1001
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 
-#: config.c:969
+#: config.c:1004
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 
-#: config.c:972
+#: config.c:1007
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 
-#: config.c:975
+#: config.c:1010
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 
-#: config.c:978
+#: config.c:1013
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 
-#: config.c:1073
+#: config.c:1108
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr ""
 
-#: config.c:1082
+#: config.c:1117
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr ""
 
-#: config.c:1173
+#: config.c:1208
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr ""
 
-#: config.c:1187 config.c:1198
+#: config.c:1222 config.c:1233
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr ""
 
-#: config.c:1290
+#: config.c:1325
 msgid "core.commentChar should only be one character"
 msgstr ""
 
-#: config.c:1323
+#: config.c:1358
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr ""
 
-#: config.c:1395
+#: config.c:1430
 #, c-format
 msgid "malformed value for %s"
 msgstr ""
 
-#: config.c:1421
+#: config.c:1456
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr ""
 
-#: config.c:1422
+#: config.c:1457
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr ""
 
-#: config.c:1483 builtin/pack-objects.c:3397
+#: config.c:1518 builtin/pack-objects.c:3394
 #, c-format
 msgid "bad pack compression level %d"
 msgstr ""
 
-#: config.c:1604
+#: config.c:1639
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr ""
 
-#: config.c:1607
+#: config.c:1642
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr ""
 
-#: config.c:1624
+#: config.c:1659
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr ""
 
-#: config.c:1654
+#: config.c:1689
 #, c-format
 msgid "failed to parse %s"
 msgstr ""
 
-#: config.c:1710
+#: config.c:1745
 msgid "unable to parse command-line config"
 msgstr ""
 
-#: config.c:2059
+#: config.c:2096
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 
-#: config.c:2229
+#: config.c:2266
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr ""
 
-#: config.c:2272
-#, c-format
-msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
-
-#: config.c:2298
+#: config.c:2311
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr ""
 
-#: config.c:2344
+#: config.c:2357
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 
-#: config.c:2346
+#: config.c:2359
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 
-#: config.c:2427
+#: config.c:2440
 #, c-format
 msgid "invalid section name '%s'"
 msgstr ""
 
-#: config.c:2459
+#: config.c:2472
 #, c-format
 msgid "%s has multiple values"
 msgstr ""
 
-#: config.c:2488
+#: config.c:2501
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr ""
 
-#: config.c:2740 config.c:3064
+#: config.c:2753 config.c:3077
 #, c-format
 msgid "could not lock config file %s"
 msgstr ""
 
-#: config.c:2751
+#: config.c:2764
 #, c-format
 msgid "opening %s"
 msgstr ""
 
-#: config.c:2786 builtin/config.c:328
+#: config.c:2799 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr ""
 
-#: config.c:2811
+#: config.c:2824
 #, c-format
 msgid "invalid config file %s"
 msgstr ""
 
-#: config.c:2824 config.c:3077
+#: config.c:2837 config.c:3090
 #, c-format
 msgid "fstat on %s failed"
 msgstr ""
 
-#: config.c:2835
+#: config.c:2848
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr ""
 
-#: config.c:2844 config.c:3082
+#: config.c:2857 config.c:3095
 #, c-format
 msgid "chmod on %s failed"
 msgstr ""
 
-#: config.c:2929 config.c:3179
+#: config.c:2942 config.c:3192
 #, c-format
 msgid "could not write config file %s"
 msgstr ""
 
-#: config.c:2963
+#: config.c:2976
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr ""
 
-#: config.c:2965 builtin/remote.c:782
+#: config.c:2978 builtin/remote.c:781
 #, c-format
 msgid "could not unset '%s'"
 msgstr ""
 
-#: config.c:3055
+#: config.c:3068
 #, c-format
 msgid "invalid section name: %s"
 msgstr ""
 
-#: config.c:3222
+#: config.c:3235
 #, c-format
 msgid "missing value for '%s'"
 msgstr ""
@@ -1911,7 +2364,7 @@ msgstr ""
 msgid "unknown port %s"
 msgstr ""
 
-#: connect.c:845 connect.c:1171
+#: connect.c:845 connect.c:1175
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr ""
@@ -1926,86 +2379,86 @@ msgstr ""
 msgid "cannot start proxy %s"
 msgstr ""
 
-#: connect.c:924
+#: connect.c:928
 msgid "no path specified; see 'git help pull' for valid url syntax"
 msgstr ""
 
-#: connect.c:1119
+#: connect.c:1123
 msgid "ssh variant 'simple' does not support -4"
 msgstr ""
 
-#: connect.c:1131
+#: connect.c:1135
 msgid "ssh variant 'simple' does not support -6"
 msgstr ""
 
-#: connect.c:1148
+#: connect.c:1152
 msgid "ssh variant 'simple' does not support setting port"
 msgstr ""
 
-#: connect.c:1260
+#: connect.c:1264
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr ""
 
-#: connect.c:1307
+#: connect.c:1311
 msgid "unable to fork"
 msgstr ""
 
-#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:89 builtin/fsck.c:208 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr ""
 
-#: connected.c:97
+#: connected.c:101
 msgid "Could not run 'git rev-list'"
 msgstr ""
 
-#: connected.c:117
+#: connected.c:121
 msgid "failed write to rev-list"
 msgstr ""
 
-#: connected.c:124
+#: connected.c:128
 msgid "failed to close rev-list's stdin"
 msgstr ""
 
-#: convert.c:193
+#: convert.c:194
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr ""
 
-#: convert.c:206
+#: convert.c:207
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr ""
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
 "The file will have its original line endings in your working directory"
 msgstr ""
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr ""
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
 "The file will have its original line endings in your working directory"
 msgstr ""
 
-#: convert.c:279
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr ""
 
-#: convert.c:286
+#: convert.c:291
 #, c-format
 msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
-"tree-encoding."
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
+"working-tree-encoding."
 msgstr ""
 
 #: convert.c:304
@@ -2020,117 +2473,117 @@ msgid ""
 "%sLE (depending on the byte order) as working-tree-encoding."
 msgstr ""
 
-#: convert.c:424 convert.c:495
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr ""
 
-#: convert.c:467
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr ""
 
-#: convert.c:673
+#: convert.c:668
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr ""
 
-#: convert.c:693
+#: convert.c:688
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr ""
 
-#: convert.c:700
+#: convert.c:695
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr ""
 
-#: convert.c:735 convert.c:738
+#: convert.c:730 convert.c:733
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr ""
 
-#: convert.c:741 convert.c:796
+#: convert.c:736 convert.c:791
 #, c-format
 msgid "external filter '%s' failed"
 msgstr ""
 
-#: convert.c:844
+#: convert.c:839
 msgid "unexpected filter type"
 msgstr ""
 
-#: convert.c:855
+#: convert.c:850
 msgid "path name too long for external filter"
 msgstr ""
 
-#: convert.c:929
+#: convert.c:924
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
 "been filtered"
 msgstr ""
 
-#: convert.c:1228
+#: convert.c:1223
 msgid "true/false are no valid working-tree-encodings"
 msgstr ""
 
-#: convert.c:1398 convert.c:1432
+#: convert.c:1411 convert.c:1445
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr ""
 
-#: convert.c:1476
+#: convert.c:1489
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr ""
 
-#: date.c:137
+#: date.c:138
 msgid "in the future"
 msgstr ""
 
-#: date.c:143
+#: date.c:144
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:150
+#: date.c:151
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:157
+#: date.c:158
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:164
+#: date.c:165
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:170
+#: date.c:171
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:177
+#: date.c:178
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:188
+#: date.c:189
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
@@ -2138,14 +2591,14 @@ msgstr[0] ""
 msgstr[1] ""
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:191
+#: date.c:192
 #, c-format
 msgid "%s, %<PRIuMAX> month ago"
 msgid_plural "%s, %<PRIuMAX> months ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:196 date.c:201
+#: date.c:197 date.c:202
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -2171,7 +2624,7 @@ msgstr ""
 msgid "island regex from config has too many capture groups (max=%d)"
 msgstr ""
 
-#: delta-islands.c:466
+#: delta-islands.c:467
 #, c-format
 msgid "Marked %d islands, done.\n"
 msgstr ""
@@ -2181,7 +2634,7 @@ msgstr ""
 msgid "failed to read orderfile '%s'"
 msgstr ""
 
-#: diffcore-rename.c:544
+#: diffcore-rename.c:543
 msgid "Performing inexact rename detection"
 msgstr ""
 
@@ -2236,562 +2689,581 @@ msgid ""
 "%s"
 msgstr ""
 
-#: diff.c:4210
+#: diff.c:4202
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr ""
 
-#: diff.c:4555
+#: diff.c:4547
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 
-#: diff.c:4558
+#: diff.c:4550
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr ""
 
-#: diff.c:4636
+#: diff.c:4628
 msgid "--follow requires exactly one pathspec"
 msgstr ""
 
-#: diff.c:4684
+#: diff.c:4676
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr ""
 
-#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
+#: diff.c:4681 diff.c:4686 diff.c:4691 diff.c:4696 diff.c:5209
 #: parse-options.c:199 parse-options.c:203
 #, c-format
 msgid "%s expects a numerical value"
 msgstr ""
 
-#: diff.c:4721
+#: diff.c:4713
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
 
-#: diff.c:4806
+#: diff.c:4798
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr ""
 
-#: diff.c:4830
+#: diff.c:4822
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr ""
 
-#: diff.c:4844
+#: diff.c:4836
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr ""
 
-#: diff.c:4894 diff.c:4900
+#: diff.c:4886 diff.c:4892
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr ""
 
-#: diff.c:4912
+#: diff.c:4904
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr ""
 
-#: diff.c:4933
+#: diff.c:4925
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr ""
 
-#: diff.c:4952
+#: diff.c:4944
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr ""
 
-#: diff.c:4992
+#: diff.c:4984
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
 msgstr ""
 
-#: diff.c:5028 diff.c:5048
+#: diff.c:5020 diff.c:5040
 #, c-format
 msgid "invalid argument to %s"
 msgstr ""
 
-#: diff.c:5186
+#: diff.c:5178
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr ""
 
-#: diff.c:5242
+#: diff.c:5234
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr ""
 
-#: diff.c:5265
+#: diff.c:5257
 msgid "Diff output format options"
 msgstr ""
 
-#: diff.c:5267 diff.c:5273
+#: diff.c:5259 diff.c:5265
 msgid "generate patch"
 msgstr ""
 
-#: diff.c:5270 builtin/log.c:167
+#: diff.c:5262 builtin/log.c:173
 msgid "suppress diff output"
 msgstr ""
 
-#: diff.c:5275 diff.c:5389 diff.c:5396
+#: diff.c:5267 diff.c:5381 diff.c:5388
 msgid "<n>"
 msgstr ""
 
-#: diff.c:5276 diff.c:5279
+#: diff.c:5268 diff.c:5271
 msgid "generate diffs with <n> lines context"
 msgstr ""
 
-#: diff.c:5281
+#: diff.c:5273
 msgid "generate the diff in raw format"
 msgstr ""
 
-#: diff.c:5284
+#: diff.c:5276
 msgid "synonym for '-p --raw'"
 msgstr ""
 
-#: diff.c:5288
+#: diff.c:5280
 msgid "synonym for '-p --stat'"
 msgstr ""
 
-#: diff.c:5292
+#: diff.c:5284
 msgid "machine friendly --stat"
 msgstr ""
 
-#: diff.c:5295
+#: diff.c:5287
 msgid "output only the last line of --stat"
 msgstr ""
 
-#: diff.c:5297 diff.c:5305
+#: diff.c:5289 diff.c:5297
 msgid "<param1,param2>..."
 msgstr ""
 
-#: diff.c:5298
+#: diff.c:5290
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 
-#: diff.c:5302
+#: diff.c:5294
 msgid "synonym for --dirstat=cumulative"
 msgstr ""
 
-#: diff.c:5306
+#: diff.c:5298
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr ""
 
-#: diff.c:5310
+#: diff.c:5302
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 
-#: diff.c:5313
+#: diff.c:5305
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 
-#: diff.c:5316
+#: diff.c:5308
 msgid "show only names of changed files"
 msgstr ""
 
-#: diff.c:5319
+#: diff.c:5311
 msgid "show only names and status of changed files"
 msgstr ""
 
-#: diff.c:5321
+#: diff.c:5313
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr ""
 
-#: diff.c:5322
+#: diff.c:5314
 msgid "generate diffstat"
 msgstr ""
 
-#: diff.c:5324 diff.c:5327 diff.c:5330
+#: diff.c:5316 diff.c:5319 diff.c:5322
 msgid "<width>"
 msgstr ""
 
-#: diff.c:5325
+#: diff.c:5317
 msgid "generate diffstat with a given width"
 msgstr ""
 
-#: diff.c:5328
+#: diff.c:5320
 msgid "generate diffstat with a given name width"
 msgstr ""
 
-#: diff.c:5331
+#: diff.c:5323
 msgid "generate diffstat with a given graph width"
 msgstr ""
 
-#: diff.c:5333
+#: diff.c:5325
 msgid "<count>"
 msgstr ""
 
-#: diff.c:5334
+#: diff.c:5326
 msgid "generate diffstat with limited lines"
 msgstr ""
 
-#: diff.c:5337
+#: diff.c:5329
 msgid "generate compact summary in diffstat"
 msgstr ""
 
-#: diff.c:5340
+#: diff.c:5332
 msgid "output a binary diff that can be applied"
 msgstr ""
 
-#: diff.c:5343
+#: diff.c:5335
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 
-#: diff.c:5345
+#: diff.c:5337
 msgid "show colored diff"
 msgstr ""
 
-#: diff.c:5346
+#: diff.c:5338
 msgid "<kind>"
 msgstr ""
 
-#: diff.c:5347
+#: diff.c:5339
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
 msgstr ""
 
-#: diff.c:5350
+#: diff.c:5342
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
 msgstr ""
 
-#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465
+#: diff.c:5345 diff.c:5348 diff.c:5351 diff.c:5457
 msgid "<prefix>"
 msgstr ""
 
-#: diff.c:5354
+#: diff.c:5346
 msgid "show the given source prefix instead of \"a/\""
 msgstr ""
 
-#: diff.c:5357
+#: diff.c:5349
 msgid "show the given destination prefix instead of \"b/\""
 msgstr ""
 
-#: diff.c:5360
+#: diff.c:5352
 msgid "prepend an additional prefix to every line of output"
 msgstr ""
 
-#: diff.c:5363
+#: diff.c:5355
 msgid "do not show any source or destination prefix"
 msgstr ""
 
-#: diff.c:5366
+#: diff.c:5358
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 
-#: diff.c:5370 diff.c:5375 diff.c:5380
+#: diff.c:5362 diff.c:5367 diff.c:5372
 msgid "<char>"
 msgstr ""
 
-#: diff.c:5371
+#: diff.c:5363
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr ""
 
-#: diff.c:5376
+#: diff.c:5368
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr ""
 
-#: diff.c:5381
+#: diff.c:5373
 msgid "specify the character to indicate a context instead of ' '"
 msgstr ""
 
-#: diff.c:5384
+#: diff.c:5376
 msgid "Diff rename options"
 msgstr ""
 
-#: diff.c:5385
+#: diff.c:5377
 msgid "<n>[/<m>]"
 msgstr ""
 
-#: diff.c:5386
+#: diff.c:5378
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr ""
 
-#: diff.c:5390
+#: diff.c:5382
 msgid "detect renames"
 msgstr ""
 
-#: diff.c:5394
+#: diff.c:5386
 msgid "omit the preimage for deletes"
 msgstr ""
 
-#: diff.c:5397
+#: diff.c:5389
 msgid "detect copies"
 msgstr ""
 
-#: diff.c:5401
+#: diff.c:5393
 msgid "use unmodified files as source to find copies"
 msgstr ""
 
-#: diff.c:5403
+#: diff.c:5395
 msgid "disable rename detection"
 msgstr ""
 
-#: diff.c:5406
+#: diff.c:5398
 msgid "use empty blobs as rename source"
 msgstr ""
 
-#: diff.c:5408
+#: diff.c:5400
 msgid "continue listing the history of a file beyond renames"
 msgstr ""
 
-#: diff.c:5411
+#: diff.c:5403
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
 msgstr ""
 
-#: diff.c:5413
+#: diff.c:5405
 msgid "Diff algorithm options"
 msgstr ""
 
-#: diff.c:5415
+#: diff.c:5407
 msgid "produce the smallest possible diff"
 msgstr ""
 
-#: diff.c:5418
+#: diff.c:5410
 msgid "ignore whitespace when comparing lines"
 msgstr ""
 
-#: diff.c:5421
+#: diff.c:5413
 msgid "ignore changes in amount of whitespace"
 msgstr ""
 
-#: diff.c:5424
+#: diff.c:5416
 msgid "ignore changes in whitespace at EOL"
 msgstr ""
 
-#: diff.c:5427
+#: diff.c:5419
 msgid "ignore carrier-return at the end of line"
 msgstr ""
 
-#: diff.c:5430
+#: diff.c:5422
 msgid "ignore changes whose lines are all blank"
 msgstr ""
 
-#: diff.c:5433
+#: diff.c:5425
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 
-#: diff.c:5436
+#: diff.c:5428
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr ""
 
-#: diff.c:5440
+#: diff.c:5432
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr ""
 
-#: diff.c:5442
+#: diff.c:5434
 msgid "<algorithm>"
 msgstr ""
 
-#: diff.c:5443
+#: diff.c:5435
 msgid "choose a diff algorithm"
 msgstr ""
 
-#: diff.c:5445
+#: diff.c:5437
 msgid "<text>"
 msgstr ""
 
-#: diff.c:5446
+#: diff.c:5438
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr ""
 
-#: diff.c:5448 diff.c:5457 diff.c:5460
+#: diff.c:5440 diff.c:5449 diff.c:5452
 msgid "<mode>"
 msgstr ""
 
-#: diff.c:5449
+#: diff.c:5441
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 
-#: diff.c:5451 diff.c:5454 diff.c:5499
+#: diff.c:5443 diff.c:5446 diff.c:5491
 msgid "<regex>"
 msgstr ""
 
-#: diff.c:5452
+#: diff.c:5444
 msgid "use <regex> to decide what a word is"
 msgstr ""
 
-#: diff.c:5455
+#: diff.c:5447
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr ""
 
-#: diff.c:5458
+#: diff.c:5450
 msgid "moved lines of code are colored differently"
 msgstr ""
 
-#: diff.c:5461
+#: diff.c:5453
 msgid "how white spaces are ignored in --color-moved"
 msgstr ""
 
-#: diff.c:5464
+#: diff.c:5456
 msgid "Other diff options"
 msgstr ""
 
-#: diff.c:5466
+#: diff.c:5458
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 
-#: diff.c:5470
+#: diff.c:5462
 msgid "treat all files as text"
 msgstr ""
 
-#: diff.c:5472
+#: diff.c:5464
 msgid "swap two inputs, reverse the diff"
 msgstr ""
 
-#: diff.c:5474
+#: diff.c:5466
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr ""
 
-#: diff.c:5476
+#: diff.c:5468
 msgid "disable all output of the program"
 msgstr ""
 
-#: diff.c:5478
+#: diff.c:5470
 msgid "allow an external diff helper to be executed"
 msgstr ""
 
-#: diff.c:5480
+#: diff.c:5472
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 
-#: diff.c:5482
+#: diff.c:5474
 msgid "<when>"
 msgstr ""
 
-#: diff.c:5483
+#: diff.c:5475
 msgid "ignore changes to submodules in the diff generation"
 msgstr ""
 
-#: diff.c:5486
+#: diff.c:5478
 msgid "<format>"
 msgstr ""
 
-#: diff.c:5487
+#: diff.c:5479
 msgid "specify how differences in submodules are shown"
 msgstr ""
 
-#: diff.c:5491
+#: diff.c:5483
 msgid "hide 'git add -N' entries from the index"
 msgstr ""
 
-#: diff.c:5494
+#: diff.c:5486
 msgid "treat 'git add -N' entries as real in the index"
 msgstr ""
 
-#: diff.c:5496
+#: diff.c:5488
 msgid "<string>"
 msgstr ""
 
-#: diff.c:5497
+#: diff.c:5489
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
 msgstr ""
 
-#: diff.c:5500
+#: diff.c:5492
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
 msgstr ""
 
-#: diff.c:5503
+#: diff.c:5495
 msgid "show all changes in the changeset with -S or -G"
 msgstr ""
 
-#: diff.c:5506
+#: diff.c:5498
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 
-#: diff.c:5509
+#: diff.c:5501
 msgid "control the order in which files appear in the output"
 msgstr ""
 
-#: diff.c:5510
+#: diff.c:5502
 msgid "<object-id>"
 msgstr ""
 
-#: diff.c:5511
+#: diff.c:5503
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
 msgstr ""
 
-#: diff.c:5513
+#: diff.c:5505
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr ""
 
-#: diff.c:5514
+#: diff.c:5506
 msgid "select files by diff type"
 msgstr ""
 
-#: diff.c:5516
+#: diff.c:5508
 msgid "<file>"
 msgstr ""
 
-#: diff.c:5517
+#: diff.c:5509
 msgid "Output to a specific file"
 msgstr ""
 
-#: diff.c:6150
+#: diff.c:6164
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 
-#: diff.c:6153
+#: diff.c:6167
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 
-#: diff.c:6156
+#: diff.c:6170
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 
-#: dir.c:537
+#: dir.c:554
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr ""
 
-#: dir.c:926
+#: dir.c:664
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr ""
+
+#: dir.c:682 dir.c:696
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr ""
+
+#: dir.c:714
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr ""
+
+#: dir.c:724
+msgid "disabling cone pattern matching"
+msgstr ""
+
+#: dir.c:1101
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr ""
 
-#: dir.c:1843
+#: dir.c:2078
 #, c-format
 msgid "could not open directory '%s'"
 msgstr ""
 
-#: dir.c:2085
+#: dir.c:2415
 msgid "failed to get kernel name and information"
 msgstr ""
 
-#: dir.c:2209
+#: dir.c:2539
 msgid "untracked cache is disabled on this system or location"
 msgstr ""
 
-#: dir.c:3013
+#: dir.c:3343
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr ""
 
-#: dir.c:3058 dir.c:3063
+#: dir.c:3388 dir.c:3393
 #, c-format
 msgid "could not create directories for %s"
 msgstr ""
 
-#: dir.c:3092
+#: dir.c:3422
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr ""
@@ -2810,12 +3282,12 @@ msgstr ""
 msgid "could not stat file '%s'"
 msgstr ""
 
-#: environment.c:150
+#: environment.c:149
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr ""
 
-#: environment.c:332
+#: environment.c:331
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr ""
@@ -2825,289 +3297,267 @@ msgstr ""
 msgid "too many args to run %s"
 msgstr ""
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
-msgstr ""
-
-#: fetch-pack.c:151
+#: fetch-pack.c:150
 msgid "git fetch-pack: expected shallow list"
 msgstr ""
 
-#: fetch-pack.c:154
+#: fetch-pack.c:153
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr ""
 
-#: fetch-pack.c:165
+#: fetch-pack.c:164
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr ""
 
-#: fetch-pack.c:185
+#: fetch-pack.c:184
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr ""
 
-#: fetch-pack.c:196
+#: fetch-pack.c:195
 msgid "unable to write to remote"
 msgstr ""
 
-#: fetch-pack.c:258
+#: fetch-pack.c:257
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr ""
 
-#: fetch-pack.c:360 fetch-pack.c:1271
+#: fetch-pack.c:356 fetch-pack.c:1340
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr ""
 
-#: fetch-pack.c:366 fetch-pack.c:1277
+#: fetch-pack.c:362 fetch-pack.c:1346
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr ""
 
-#: fetch-pack.c:368 fetch-pack.c:1279
+#: fetch-pack.c:364 fetch-pack.c:1348
 #, c-format
 msgid "object not found: %s"
 msgstr ""
 
-#: fetch-pack.c:371 fetch-pack.c:1282
+#: fetch-pack.c:367 fetch-pack.c:1351
 #, c-format
 msgid "error in object: %s"
 msgstr ""
 
-#: fetch-pack.c:373 fetch-pack.c:1284
+#: fetch-pack.c:369 fetch-pack.c:1353
 #, c-format
 msgid "no shallow found: %s"
 msgstr ""
 
-#: fetch-pack.c:376 fetch-pack.c:1288
+#: fetch-pack.c:372 fetch-pack.c:1357
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr ""
 
-#: fetch-pack.c:417
+#: fetch-pack.c:414
 #, c-format
 msgid "got %s %d %s"
 msgstr ""
 
-#: fetch-pack.c:434
+#: fetch-pack.c:431
 #, c-format
 msgid "invalid commit %s"
 msgstr ""
 
-#: fetch-pack.c:465
+#: fetch-pack.c:462
 msgid "giving up"
 msgstr ""
 
-#: fetch-pack.c:477 progress.c:284
+#: fetch-pack.c:475 progress.c:323
 msgid "done"
 msgstr ""
 
-#: fetch-pack.c:489
+#: fetch-pack.c:487
 #, c-format
 msgid "got %s (%d) %s"
 msgstr ""
 
-#: fetch-pack.c:535
+#: fetch-pack.c:533
 #, c-format
 msgid "Marking %s as complete"
 msgstr ""
 
-#: fetch-pack.c:744
+#: fetch-pack.c:754
 #, c-format
 msgid "already have %s (%s)"
 msgstr ""
 
-#: fetch-pack.c:783
+#: fetch-pack.c:818
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr ""
 
-#: fetch-pack.c:791
+#: fetch-pack.c:826
 msgid "protocol error: bad pack header"
 msgstr ""
 
-#: fetch-pack.c:859
+#: fetch-pack.c:900
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr ""
 
-#: fetch-pack.c:875
+#: fetch-pack.c:916
 #, c-format
 msgid "%s failed"
 msgstr ""
 
-#: fetch-pack.c:877
+#: fetch-pack.c:918
 msgid "error in sideband demultiplexer"
 msgstr ""
 
-#: fetch-pack.c:906
-msgid "Server does not support shallow clients"
-msgstr ""
-
-#: fetch-pack.c:910
-msgid "Server supports multi_ack_detailed"
-msgstr ""
-
-#: fetch-pack.c:913
-msgid "Server supports no-done"
-msgstr ""
-
-#: fetch-pack.c:919
-msgid "Server supports multi_ack"
-msgstr ""
-
-#: fetch-pack.c:923
-msgid "Server supports side-band-64k"
-msgstr ""
-
-#: fetch-pack.c:927
-msgid "Server supports side-band"
-msgstr ""
-
-#: fetch-pack.c:931
-msgid "Server supports allow-tip-sha1-in-want"
-msgstr ""
-
-#: fetch-pack.c:935
-msgid "Server supports allow-reachable-sha1-in-want"
-msgstr ""
-
-#: fetch-pack.c:945
-msgid "Server supports ofs-delta"
+#: fetch-pack.c:965
+#, c-format
+msgid "Server version is %.*s"
 msgstr ""
 
-#: fetch-pack.c:951 fetch-pack.c:1144
-msgid "Server supports filter"
+#: fetch-pack.c:970 fetch-pack.c:976 fetch-pack.c:979 fetch-pack.c:985
+#: fetch-pack.c:989 fetch-pack.c:993 fetch-pack.c:997 fetch-pack.c:1001
+#: fetch-pack.c:1005 fetch-pack.c:1009 fetch-pack.c:1013 fetch-pack.c:1017
+#: fetch-pack.c:1023 fetch-pack.c:1029 fetch-pack.c:1034 fetch-pack.c:1039
+#, c-format
+msgid "Server supports %s"
 msgstr ""
 
-#: fetch-pack.c:959
-#, c-format
-msgid "Server version is %.*s"
+#: fetch-pack.c:972
+msgid "Server does not support shallow clients"
 msgstr ""
 
-#: fetch-pack.c:965
+#: fetch-pack.c:1032
 msgid "Server does not support --shallow-since"
 msgstr ""
 
-#: fetch-pack.c:969
+#: fetch-pack.c:1037
 msgid "Server does not support --shallow-exclude"
 msgstr ""
 
-#: fetch-pack.c:971
+#: fetch-pack.c:1041
 msgid "Server does not support --deepen"
 msgstr ""
 
-#: fetch-pack.c:988
+#: fetch-pack.c:1058
 msgid "no common commits"
 msgstr ""
 
-#: fetch-pack.c:1000 fetch-pack.c:1449
+#: fetch-pack.c:1070 fetch-pack.c:1536
 msgid "git fetch-pack: fetch failed."
 msgstr ""
 
-#: fetch-pack.c:1138
+#: fetch-pack.c:1209
 msgid "Server does not support shallow requests"
 msgstr ""
 
-#: fetch-pack.c:1171
+#: fetch-pack.c:1216
+msgid "Server supports filter"
+msgstr ""
+
+#: fetch-pack.c:1239
 msgid "unable to write request to remote"
 msgstr ""
 
-#: fetch-pack.c:1189
+#: fetch-pack.c:1257
 #, c-format
 msgid "error reading section header '%s'"
 msgstr ""
 
-#: fetch-pack.c:1195
+#: fetch-pack.c:1263
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr ""
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1303
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr ""
 
-#: fetch-pack.c:1239
+#: fetch-pack.c:1308
 #, c-format
 msgid "error processing acks: %d"
 msgstr ""
 
-#: fetch-pack.c:1249
+#: fetch-pack.c:1318
 msgid "expected packfile to be sent after 'ready'"
 msgstr ""
 
-#: fetch-pack.c:1251
+#: fetch-pack.c:1320
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr ""
 
-#: fetch-pack.c:1293
+#: fetch-pack.c:1362
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr ""
 
-#: fetch-pack.c:1340
+#: fetch-pack.c:1409
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr ""
 
-#: fetch-pack.c:1345
+#: fetch-pack.c:1414
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr ""
 
-#: fetch-pack.c:1350
+#: fetch-pack.c:1419
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr ""
 
-#: fetch-pack.c:1676
+#: fetch-pack.c:1762
 msgid "no matching remote head"
 msgstr ""
 
-#: fetch-pack.c:1699 builtin/clone.c:673
+#: fetch-pack.c:1785 builtin/clone.c:688
 msgid "remote did not send all necessary objects"
 msgstr ""
 
-#: fetch-pack.c:1726
+#: fetch-pack.c:1812
 #, c-format
 msgid "no such remote ref %s"
 msgstr ""
 
-#: fetch-pack.c:1729
+#: fetch-pack.c:1815
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr ""
 
-#: gpg-interface.c:318
-msgid "gpg failed to sign the data"
-msgstr ""
-
-#: gpg-interface.c:344
+#: gpg-interface.c:223
 msgid "could not create temporary file"
 msgstr ""
 
-#: gpg-interface.c:347
+#: gpg-interface.c:226
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr ""
 
-#: graph.c:97
+#: gpg-interface.c:390
+msgid "gpg failed to sign the data"
+msgstr ""
+
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr ""
 
-#: grep.c:2113
+#: grep.c:668
+msgid ""
+"given pattern contains NULL byte (via -f <file>). This is only supported "
+"with -P under PCRE v2"
+msgstr ""
+
+#: grep.c:2124
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr ""
 
-#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82
+#: grep.c:2141 setup.c:165 builtin/clone.c:411 builtin/diff.c:82
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr ""
 
-#: grep.c:2141
+#: grep.c:2152
 #, c-format
 msgid "'%s': short read"
 msgstr ""
@@ -3157,7 +3607,7 @@ msgid "Low-level Commands / Interrogators"
 msgstr ""
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr ""
 
 #: help.c:38
@@ -3177,7 +3627,7 @@ msgstr ""
 msgid "These are common Git commands used in various situations:"
 msgstr ""
 
-#: help.c:363 git.c:97
+#: help.c:363 git.c:98
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr ""
@@ -3243,12 +3693,12 @@ msgstr[1] ""
 msgid "git version [<options>]"
 msgstr ""
 
-#: help.c:782
+#: help.c:783
 #, c-format
 msgid "%s: %s - %s"
 msgstr ""
 
-#: help.c:786
+#: help.c:787
 msgid ""
 "\n"
 "Did you mean this?"
@@ -3301,40 +3751,60 @@ msgstr ""
 msgid "name consists only of disallowed characters: %s"
 msgstr ""
 
-#: ident.c:436 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:631
 #, c-format
 msgid "invalid date format: %s"
 msgstr ""
 
-#: list-objects.c:129
+#: list-objects.c:127
 #, c-format
 msgid "entry '%s' in tree %s has tree mode, but is not a tree"
 msgstr ""
 
-#: list-objects.c:142
+#: list-objects.c:140
 #, c-format
 msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr ""
 
-#: list-objects.c:378
+#: list-objects.c:375
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr ""
 
-#: list-objects-filter-options.c:36
-msgid "multiple filter-specs cannot be combined"
+#: list-objects-filter.c:492
+#, c-format
+msgid "unable to access sparse blob in '%s'"
+msgstr ""
+
+#: list-objects-filter.c:495
+#, c-format
+msgid "unable to parse sparse filter data in %s"
 msgstr ""
 
 #: list-objects-filter-options.c:58
 msgid "expected 'tree:<depth>'"
 msgstr ""
 
-#: list-objects-filter-options.c:84
+#: list-objects-filter-options.c:73
 msgid "sparse:path filters support has been dropped"
 msgstr ""
 
-#: list-objects-filter-options.c:158
-msgid "cannot change partial clone promisor remote"
+#: list-objects-filter-options.c:86
+#, c-format
+msgid "invalid filter-spec '%s'"
+msgstr ""
+
+#: list-objects-filter-options.c:102
+#, c-format
+msgid "must escape char in sub-filter-spec: '%c'"
+msgstr ""
+
+#: list-objects-filter-options.c:144
+msgid "expected something after combine:"
+msgstr ""
+
+#: list-objects-filter-options.c:226
+msgid "multiple filter-specs cannot be combined"
 msgstr ""
 
 #: lockfile.c:151
@@ -3358,114 +3828,110 @@ msgstr ""
 msgid "failed to read the cache"
 msgstr ""
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
-#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
+#: merge.c:107 rerere.c:720 builtin/am.c:1874 builtin/am.c:1908
+#: builtin/checkout.c:539 builtin/checkout.c:798 builtin/clone.c:809
 #: builtin/stash.c:264
 msgid "unable to write new index file"
 msgstr ""
 
-#: merge-recursive.c:322
+#: merge-recursive.c:367
 msgid "(bad commit)\n"
 msgstr ""
 
-#: merge-recursive.c:345
+#: merge-recursive.c:390
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr ""
 
-#: merge-recursive.c:354
+#: merge-recursive.c:399
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr ""
 
-#: merge-recursive.c:437
-msgid "error building trees"
-msgstr ""
-
-#: merge-recursive.c:861
+#: merge-recursive.c:885
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr ""
 
-#: merge-recursive.c:872
+#: merge-recursive.c:896
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr ""
 
-#: merge-recursive.c:886 merge-recursive.c:905
+#: merge-recursive.c:910 merge-recursive.c:929
 msgid ": perhaps a D/F conflict?"
 msgstr ""
 
-#: merge-recursive.c:895
+#: merge-recursive.c:919
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr ""
 
-#: merge-recursive.c:936 builtin/cat-file.c:40
+#: merge-recursive.c:960 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:939
+#: merge-recursive.c:965
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:963
+#: merge-recursive.c:990
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:974
+#: merge-recursive.c:1001
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:979
+#: merge-recursive.c:1006
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:1175
+#: merge-recursive.c:1199
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr ""
 
-#: merge-recursive.c:1182
+#: merge-recursive.c:1206
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr ""
 
-#: merge-recursive.c:1189
+#: merge-recursive.c:1213
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 
-#: merge-recursive.c:1197 merge-recursive.c:1209
+#: merge-recursive.c:1221 merge-recursive.c:1233
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr ""
 
-#: merge-recursive.c:1200 merge-recursive.c:1212
+#: merge-recursive.c:1224 merge-recursive.c:1236
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr ""
 
-#: merge-recursive.c:1235
+#: merge-recursive.c:1259
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 
-#: merge-recursive.c:1239
+#: merge-recursive.c:1263
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr ""
 
-#: merge-recursive.c:1240
+#: merge-recursive.c:1264
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr ""
 
-#: merge-recursive.c:1243
+#: merge-recursive.c:1267
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3476,108 +3942,108 @@ msgid ""
 "which will accept this suggestion.\n"
 msgstr ""
 
-#: merge-recursive.c:1252
+#: merge-recursive.c:1276
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr ""
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1349
 msgid "Failed to execute internal merge"
 msgstr ""
 
-#: merge-recursive.c:1330
+#: merge-recursive.c:1354
 #, c-format
 msgid "Unable to add %s to database"
 msgstr ""
 
-#: merge-recursive.c:1362
+#: merge-recursive.c:1386
 #, c-format
 msgid "Auto-merging %s"
 msgstr ""
 
-#: merge-recursive.c:1385
+#: merge-recursive.c:1410
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 
-#: merge-recursive.c:1457
+#: merge-recursive.c:1482
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree."
 msgstr ""
 
-#: merge-recursive.c:1462
+#: merge-recursive.c:1487
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
 msgstr ""
 
-#: merge-recursive.c:1469
+#: merge-recursive.c:1494
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree at %s."
 msgstr ""
 
-#: merge-recursive.c:1474
+#: merge-recursive.c:1499
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree at %s."
 msgstr ""
 
-#: merge-recursive.c:1509
+#: merge-recursive.c:1534
 msgid "rename"
 msgstr ""
 
-#: merge-recursive.c:1509
+#: merge-recursive.c:1534
 msgid "renamed"
 msgstr ""
 
-#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
+#: merge-recursive.c:1614 merge-recursive.c:2530 merge-recursive.c:3175
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr ""
 
-#: merge-recursive.c:1599
+#: merge-recursive.c:1624
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr ""
 
-#: merge-recursive.c:1657
+#: merge-recursive.c:1682
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 
-#: merge-recursive.c:1687
+#: merge-recursive.c:1713
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1692
+#: merge-recursive.c:1718
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1711
+#: merge-recursive.c:1737
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
 "\"->\"%s\" in \"%s\"%s"
 msgstr ""
 
-#: merge-recursive.c:1716
+#: merge-recursive.c:1742
 msgid " (left unresolved)"
 msgstr ""
 
-#: merge-recursive.c:1825
+#: merge-recursive.c:1851
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 
-#: merge-recursive.c:2030
+#: merge-recursive.c:2114
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3585,310 +4051,339 @@ msgid ""
 "getting a majority of the files."
 msgstr ""
 
-#: merge-recursive.c:2062
+#: merge-recursive.c:2146
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
 "implicit directory rename(s) putting the following path(s) there: %s."
 msgstr ""
 
-#: merge-recursive.c:2072
+#: merge-recursive.c:2156
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
 "implicit directory renames tried to put these paths there: %s"
 msgstr ""
 
-#: merge-recursive.c:2164
+#: merge-recursive.c:2248
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
 ">%s in %s"
 msgstr ""
 
-#: merge-recursive.c:2408
+#: merge-recursive.c:2493
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr ""
 
-#: merge-recursive.c:2929
+#: merge-recursive.c:3019
 #, c-format
 msgid "cannot read object %s"
 msgstr ""
 
-#: merge-recursive.c:2932
+#: merge-recursive.c:3022
 #, c-format
 msgid "object %s is not a blob"
 msgstr ""
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3086
 msgid "modify"
 msgstr ""
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3086
 msgid "modified"
 msgstr ""
 
-#: merge-recursive.c:3008
+#: merge-recursive.c:3098
 msgid "content"
 msgstr ""
 
-#: merge-recursive.c:3012
+#: merge-recursive.c:3102
 msgid "add/add"
 msgstr ""
 
-#: merge-recursive.c:3035
+#: merge-recursive.c:3125
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr ""
 
-#: merge-recursive.c:3057 git-submodule.sh:937
+#: merge-recursive.c:3147 git-submodule.sh:993
 msgid "submodule"
 msgstr ""
 
-#: merge-recursive.c:3058
+#: merge-recursive.c:3148
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:3088
+#: merge-recursive.c:3178
 #, c-format
 msgid "Adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:3170
+#: merge-recursive.c:3261
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
 "moving it to %s."
 msgstr ""
 
-#: merge-recursive.c:3173
+#: merge-recursive.c:3264
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
 "in %s, suggesting it should perhaps be moved to %s."
 msgstr ""
 
-#: merge-recursive.c:3177
+#: merge-recursive.c:3268
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
 "%s; moving it to %s."
 msgstr ""
 
-#: merge-recursive.c:3180
+#: merge-recursive.c:3271
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
 "was renamed in %s, suggesting it should perhaps be moved to %s."
 msgstr ""
 
-#: merge-recursive.c:3294
+#: merge-recursive.c:3385
 #, c-format
 msgid "Removing %s"
 msgstr ""
 
-#: merge-recursive.c:3317
+#: merge-recursive.c:3408
 msgid "file/directory"
 msgstr ""
 
-#: merge-recursive.c:3322
+#: merge-recursive.c:3413
 msgid "directory/file"
 msgstr ""
 
-#: merge-recursive.c:3329
+#: merge-recursive.c:3420
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 
-#: merge-recursive.c:3338
+#: merge-recursive.c:3429
 #, c-format
 msgid "Adding %s"
 msgstr ""
 
-#: merge-recursive.c:3347
+#: merge-recursive.c:3438
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:3385
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-
-#: merge-recursive.c:3396
+#: merge-recursive.c:3482
 msgid "Already up to date!"
 msgstr ""
 
-#: merge-recursive.c:3405
+#: merge-recursive.c:3491
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr ""
 
-#: merge-recursive.c:3504
+#: merge-recursive.c:3595
 msgid "Merging:"
 msgstr ""
 
-#: merge-recursive.c:3517
+#: merge-recursive.c:3608
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: merge-recursive.c:3556
+#: merge-recursive.c:3658
 msgid "merge returned no commit"
 msgstr ""
 
-#: merge-recursive.c:3622
+#: merge-recursive.c:3717
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"  %s"
+msgstr ""
+
+#: merge-recursive.c:3814
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr ""
 
-#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
+#: merge-recursive.c:3832 builtin/merge.c:694 builtin/merge.c:874
 msgid "Unable to write index."
 msgstr ""
 
-#: midx.c:66
+#: midx.c:68
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr ""
 
-#: midx.c:82
+#: midx.c:84
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 
-#: midx.c:87
+#: midx.c:89
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr ""
 
-#: midx.c:92
+#: midx.c:94
 #, c-format
 msgid "hash version %u does not match"
 msgstr ""
 
-#: midx.c:106
+#: midx.c:108
 msgid "invalid chunk offset (too large)"
 msgstr ""
 
-#: midx.c:130
+#: midx.c:132
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr ""
 
-#: midx.c:143
+#: midx.c:145
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr ""
 
-#: midx.c:145
+#: midx.c:147
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr ""
 
-#: midx.c:147
+#: midx.c:149
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr ""
 
-#: midx.c:149
+#: midx.c:151
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr ""
 
-#: midx.c:163
+#: midx.c:165
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr ""
 
-#: midx.c:208
+#: midx.c:210
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr ""
 
-#: midx.c:258
+#: midx.c:260
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
 
-#: midx.c:286
+#: midx.c:288
 msgid "error preparing packfile from multi-pack-index"
 msgstr ""
 
-#: midx.c:457
+#: midx.c:472
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr ""
 
-#: midx.c:463
+#: midx.c:478
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr ""
 
-#: midx.c:557
+#: midx.c:538
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr ""
 
-#: midx.c:993
+#: midx.c:842
+msgid "Adding packfiles to multi-pack-index"
+msgstr ""
+
+#: midx.c:875
+#, c-format
+msgid "did not see pack-file %s to drop"
+msgstr ""
+
+#: midx.c:973
+msgid "Writing chunks to multi-pack-index"
+msgstr ""
+
+#: midx.c:1052
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr ""
 
-#: midx.c:1048
+#: midx.c:1108
 msgid "Looking for referenced packfiles"
 msgstr ""
 
-#: midx.c:1063
+#: midx.c:1123
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr ""
 
-#: midx.c:1067
-msgid "Verifying OID order in MIDX"
+#: midx.c:1128
+msgid "Verifying OID order in multi-pack-index"
 msgstr ""
 
-#: midx.c:1076
+#: midx.c:1137
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr ""
 
-#: midx.c:1095
+#: midx.c:1157
 msgid "Sorting objects by packfile"
 msgstr ""
 
-#: midx.c:1101
+#: midx.c:1164
 msgid "Verifying object offsets"
 msgstr ""
 
-#: midx.c:1117
+#: midx.c:1180
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr ""
 
-#: midx.c:1123
+#: midx.c:1186
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr ""
 
-#: midx.c:1132
+#: midx.c:1195
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 
-#: name-hash.c:531
+#: midx.c:1220
+msgid "Counting referenced objects"
+msgstr ""
+
+#: midx.c:1230
+msgid "Finding and deleting unreferenced packfiles"
+msgstr ""
+
+#: midx.c:1388
+msgid "could not start pack-objects"
+msgstr ""
+
+#: midx.c:1407
+msgid "could not finish pack-objects"
+msgstr ""
+
+#: name-hash.c:537
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr ""
 
-#: name-hash.c:553
+#: name-hash.c:559
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr ""
 
-#: name-hash.c:559
+#: name-hash.c:565
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr ""
@@ -3929,41 +4424,41 @@ msgstr ""
 msgid "Bad %s value: '%s'"
 msgstr ""
 
-#: object.c:54
+#: object.c:53
 #, c-format
 msgid "invalid object type \"%s\""
 msgstr ""
 
-#: object.c:174
+#: object.c:173
 #, c-format
 msgid "object %s is a %s, not a %s"
 msgstr ""
 
-#: object.c:234
+#: object.c:233
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr ""
 
-#: object.c:247
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr ""
 
-#: object.c:267 object.c:278
+#: object.c:266 object.c:277
 #, c-format
 msgid "hash mismatch %s"
 msgstr ""
 
-#: packfile.c:617
+#: packfile.c:641
 msgid "offset before end of packfile (broken .idx?)"
 msgstr ""
 
-#: packfile.c:1868
+#: packfile.c:1888
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 
-#: packfile.c:1872
+#: packfile.c:1892
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -4008,26 +4503,26 @@ msgstr ""
 msgid "did you mean `--%s` (with two dashes ?)"
 msgstr ""
 
-#: parse-options.c:859
+#: parse-options.c:860
 #, c-format
 msgid "unknown option `%s'"
 msgstr ""
 
-#: parse-options.c:861
+#: parse-options.c:862
 #, c-format
 msgid "unknown switch `%c'"
 msgstr ""
 
-#: parse-options.c:863
+#: parse-options.c:864
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr ""
 
-#: parse-options.c:887
+#: parse-options.c:888
 msgid "..."
 msgstr ""
 
-#: parse-options.c:906
+#: parse-options.c:907
 #, c-format
 msgid "usage: %s"
 msgstr ""
@@ -4035,21 +4530,21 @@ msgstr ""
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:912
+#: parse-options.c:913
 #, c-format
 msgid "   or: %s"
 msgstr ""
 
-#: parse-options.c:915
+#: parse-options.c:916
 #, c-format
 msgid "    %s"
 msgstr ""
 
-#: parse-options.c:954
+#: parse-options.c:955
 msgid "-NUM"
 msgstr ""
 
-#: parse-options.c:968
+#: parse-options.c:969
 #, c-format
 msgid "alias of --%s"
 msgstr ""
@@ -4074,82 +4569,87 @@ msgstr ""
 msgid "malformed object name '%s'"
 msgstr ""
 
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr ""
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr ""
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr ""
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr ""
 
-#: pathspec.c:257
+#: pathspec.c:259
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 
-#: pathspec.c:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr ""
 
-#: pathspec.c:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr ""
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr ""
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr ""
 
-#: pathspec.c:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr ""
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr ""
 
-#: pathspec.c:440
+#: pathspec.c:442
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr ""
 
-#: pathspec.c:514
+#: pathspec.c:516
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr ""
 
-#: pathspec.c:524
+#: pathspec.c:526
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 
-#: pathspec.c:591
+#: pathspec.c:593
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr ""
 
+#: pathspec.c:638
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr ""
+
 #: pkt-line.c:92
 msgid "unable to write flush packet"
 msgstr ""
@@ -4210,28 +4710,42 @@ msgstr ""
 msgid "unable to create threaded lstat: %s"
 msgstr ""
 
-#: pretty.c:966
+#: pretty.c:981
 msgid "unable to parse --pretty format"
 msgstr ""
 
-#: range-diff.c:56
+#: promisor-remote.c:23
+msgid "Remote with no URL"
+msgstr ""
+
+#: promisor-remote.c:58
+#, c-format
+msgid "promisor remote name cannot begin with '/': %s"
+msgstr ""
+
+#: range-diff.c:75
 msgid "could not start `log`"
 msgstr ""
 
-#: range-diff.c:59
+#: range-diff.c:77
 msgid "could not read `log` output"
 msgstr ""
 
-#: range-diff.c:74 sequencer.c:4897
+#: range-diff.c:96 sequencer.c:5163
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr ""
 
-#: range-diff.c:224
+#: range-diff.c:122
+#, c-format
+msgid "could not parse git header '%.*s'"
+msgstr ""
+
+#: range-diff.c:285
 msgid "failed to generate diff"
 msgstr ""
 
-#: range-diff.c:455 range-diff.c:457
+#: range-diff.c:518 range-diff.c:520
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr ""
@@ -4270,162 +4784,161 @@ msgstr ""
 msgid "unable to stat '%s'"
 msgstr ""
 
-#: read-cache.c:1314
+#: read-cache.c:1325
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr ""
 
-#: read-cache.c:1499
+#: read-cache.c:1531
 msgid "Refresh index"
 msgstr ""
 
-#: read-cache.c:1613
+#: read-cache.c:1646
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:1623
+#: read-cache.c:1656
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:1679
+#: read-cache.c:1712
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr ""
 
-#: read-cache.c:1682
+#: read-cache.c:1715
 #, c-format
 msgid "bad index version %d"
 msgstr ""
 
-#: read-cache.c:1691
+#: read-cache.c:1724
 msgid "bad index file sha1 signature"
 msgstr ""
 
-#: read-cache.c:1721
+#: read-cache.c:1754
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr ""
 
-#: read-cache.c:1723
+#: read-cache.c:1756
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr ""
 
-#: read-cache.c:1760
+#: read-cache.c:1793
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr ""
 
-#: read-cache.c:1776
+#: read-cache.c:1809
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr ""
 
-#: read-cache.c:1833
+#: read-cache.c:1866
 msgid "unordered stage entries in index"
 msgstr ""
 
-#: read-cache.c:1836
+#: read-cache.c:1869
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr ""
 
-#: read-cache.c:1839
+#: read-cache.c:1872
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr ""
 
-#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
-#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
-#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
-#: builtin/submodule--helper.c:330
+#: read-cache.c:1978 read-cache.c:2266 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:499 builtin/check-ignore.c:178 builtin/checkout.c:470
+#: builtin/checkout.c:654 builtin/clean.c:967 builtin/commit.c:367
+#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
+#: builtin/reset.c:246 builtin/rm.c:271 builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr ""
 
-#: read-cache.c:2087
+#: read-cache.c:2119
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr ""
 
-#: read-cache.c:2100
+#: read-cache.c:2132
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr ""
 
-#: read-cache.c:2133
+#: read-cache.c:2165
 #, c-format
 msgid "%s: index file open failed"
 msgstr ""
 
-#: read-cache.c:2137
+#: read-cache.c:2169
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr ""
 
-#: read-cache.c:2141
+#: read-cache.c:2173
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr ""
 
-#: read-cache.c:2145
+#: read-cache.c:2177
 #, c-format
 msgid "%s: unable to map index file"
 msgstr ""
 
-#: read-cache.c:2187
+#: read-cache.c:2219
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr ""
 
-#: read-cache.c:2214
+#: read-cache.c:2246
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr ""
 
-#: read-cache.c:2246
+#: read-cache.c:2278
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr ""
 
-#: read-cache.c:2293
+#: read-cache.c:2325
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr ""
 
-#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117
+#: read-cache.c:3021 strbuf.c:1145 wrapper.c:622 builtin/merge.c:1119
 #, c-format
 msgid "could not close '%s'"
 msgstr ""
 
-#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
+#: read-cache.c:3124 sequencer.c:2429 sequencer.c:4069
 #, c-format
 msgid "could not stat '%s'"
 msgstr ""
 
-#: read-cache.c:3105
+#: read-cache.c:3137
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr ""
 
-#: read-cache.c:3117
+#: read-cache.c:3149
 #, c-format
 msgid "unable to unlink: %s"
 msgstr ""
 
-#: read-cache.c:3142
+#: read-cache.c:3174
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr ""
 
-#: read-cache.c:3291
+#: read-cache.c:3323
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr ""
@@ -4465,19 +4978,19 @@ msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
 msgstr ""
 
-#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
 msgstr ""
 
-#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4486,19 +4999,19 @@ msgid ""
 "\n"
 msgstr ""
 
-#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 msgstr ""
 
-#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
 msgid "Note that empty commits are commented out"
 msgstr ""
 
-#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
-#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3536
+#: sequencer.c:3562 sequencer.c:5263 builtin/fsck.c:346 builtin/rebase.c:254
 #, c-format
 msgid "could not write '%s'"
 msgstr ""
@@ -4526,97 +5039,99 @@ msgid ""
 "\n"
 msgstr ""
 
-#: refs.c:192
+#: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr ""
 
-#: refs.c:597
+#: refs.c:667
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr ""
 
-#: refs.c:599 ref-filter.c:1982
+#: refs.c:669 ref-filter.c:2098
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr ""
 
-#: refs.c:734
+#: refs.c:804
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr ""
 
-#: refs.c:744 refs.c:795
+#: refs.c:814 refs.c:865
 #, c-format
 msgid "could not read ref '%s'"
 msgstr ""
 
-#: refs.c:750
+#: refs.c:820
 #, c-format
 msgid "ref '%s' already exists"
 msgstr ""
 
-#: refs.c:755
+#: refs.c:825
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr ""
 
-#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
-#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
+#: refs.c:833 sequencer.c:405 sequencer.c:2793 sequencer.c:2997
+#: sequencer.c:3011 sequencer.c:3269 sequencer.c:5179 strbuf.c:1142
+#: wrapper.c:620
 #, c-format
 msgid "could not write to '%s'"
 msgstr ""
 
-#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993
+#: refs.c:860 strbuf.c:1140 wrapper.c:188 wrapper.c:358 builtin/am.c:714
+#: builtin/rebase.c:1031
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr ""
 
-#: refs.c:797
+#: refs.c:867
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr ""
 
-#: refs.c:928
+#: refs.c:998
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr ""
 
-#: refs.c:934
+#: refs.c:1004
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr ""
 
-#: refs.c:993
+#: refs.c:1063
 #, c-format
 msgid "log for %s is empty"
 msgstr ""
 
-#: refs.c:1085
+#: refs.c:1155
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr ""
 
-#: refs.c:1161
+#: refs.c:1231
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr ""
 
-#: refs.c:1942
+#: refs.c:2023
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr ""
 
-#: refs.c:1974
+#: refs.c:2055
 msgid "ref updates forbidden inside quarantine environment"
 msgstr ""
 
-#: refs.c:2070 refs.c:2100
+#: refs.c:2151 refs.c:2181
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr ""
 
-#: refs.c:2076 refs.c:2111
+#: refs.c:2157 refs.c:2192
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr ""
@@ -4626,13 +5141,13 @@ msgstr ""
 msgid "could not remove reference %s"
 msgstr ""
 
-#: refs/files-backend.c:1248 refs/packed-backend.c:1532
-#: refs/packed-backend.c:1542
+#: refs/files-backend.c:1248 refs/packed-backend.c:1541
+#: refs/packed-backend.c:1551
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr ""
 
-#: refs/files-backend.c:1251 refs/packed-backend.c:1545
+#: refs/files-backend.c:1251 refs/packed-backend.c:1554
 #, c-format
 msgid "could not delete references: %s"
 msgstr ""
@@ -4642,315 +5157,299 @@ msgstr ""
 msgid "invalid refspec '%s'"
 msgstr ""
 
-#: ref-filter.c:39 wt-status.c:1909
+#: ref-filter.c:42 wt-status.c:1938
 msgid "gone"
 msgstr ""
 
-#: ref-filter.c:40
+#: ref-filter.c:43
 #, c-format
 msgid "ahead %d"
 msgstr ""
 
-#: ref-filter.c:41
+#: ref-filter.c:44
 #, c-format
 msgid "behind %d"
 msgstr ""
 
-#: ref-filter.c:42
+#: ref-filter.c:45
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr ""
 
-#: ref-filter.c:138
+#: ref-filter.c:165
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr ""
 
-#: ref-filter.c:140
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr ""
 
-#: ref-filter.c:162
+#: ref-filter.c:189
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr ""
 
-#: ref-filter.c:166
+#: ref-filter.c:193
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr ""
 
-#: ref-filter.c:168
+#: ref-filter.c:195
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr ""
 
-#: ref-filter.c:223
+#: ref-filter.c:250
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:245
+#: ref-filter.c:272
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr ""
 
-#: ref-filter.c:253
+#: ref-filter.c:280
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:265
+#: ref-filter.c:292
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:274
+#: ref-filter.c:301
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:296
+#: ref-filter.c:323
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr ""
 
-#: ref-filter.c:325
+#: ref-filter.c:352
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr ""
 
-#: ref-filter.c:327
+#: ref-filter.c:354
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr ""
 
-#: ref-filter.c:342
+#: ref-filter.c:369
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr ""
 
-#: ref-filter.c:346
+#: ref-filter.c:373
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr ""
 
-#: ref-filter.c:376
+#: ref-filter.c:403
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr ""
 
-#: ref-filter.c:388
+#: ref-filter.c:415
 #, c-format
 msgid "unrecognized position:%s"
 msgstr ""
 
-#: ref-filter.c:395
+#: ref-filter.c:422
 #, c-format
 msgid "unrecognized width:%s"
 msgstr ""
 
-#: ref-filter.c:404
+#: ref-filter.c:431
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr ""
 
-#: ref-filter.c:412
+#: ref-filter.c:439
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr ""
 
-#: ref-filter.c:430
+#: ref-filter.c:457
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr ""
 
-#: ref-filter.c:531
+#: ref-filter.c:559
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:558
+#: ref-filter.c:586
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:562
+#: ref-filter.c:590
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr ""
 
-#: ref-filter.c:686
+#: ref-filter.c:714
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr ""
 
-#: ref-filter.c:749
+#: ref-filter.c:777
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr ""
 
-#: ref-filter.c:751
+#: ref-filter.c:779
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr ""
 
-#: ref-filter.c:753
+#: ref-filter.c:781
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr ""
 
-#: ref-filter.c:781
+#: ref-filter.c:809
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr ""
 
-#: ref-filter.c:783
+#: ref-filter.c:811
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr ""
 
-#: ref-filter.c:785
+#: ref-filter.c:813
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr ""
 
-#: ref-filter.c:800
+#: ref-filter.c:828
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr ""
 
-#: ref-filter.c:857
+#: ref-filter.c:885
 #, c-format
 msgid "malformed format string %s"
 msgstr ""
 
-#: ref-filter.c:1453
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr ""
-
-#: ref-filter.c:1456
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr ""
-
-#: ref-filter.c:1459
+#: ref-filter.c:1488
 #, c-format
-msgid "(no branch, bisect started on %s)"
+msgid "no branch, rebasing %s"
 msgstr ""
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached at " in wt-status.c
-#.
-#: ref-filter.c:1467
+#: ref-filter.c:1491
 #, c-format
-msgid "(HEAD detached at %s)"
+msgid "no branch, rebasing detached HEAD %s"
 msgstr ""
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached from " in wt-status.c
-#.
-#: ref-filter.c:1474
+#: ref-filter.c:1494
 #, c-format
-msgid "(HEAD detached from %s)"
+msgid "no branch, bisect started on %s"
 msgstr ""
 
-#: ref-filter.c:1478
-msgid "(no branch)"
+#: ref-filter.c:1504
+msgid "no branch"
 msgstr ""
 
-#: ref-filter.c:1512 ref-filter.c:1669
+#: ref-filter.c:1540 ref-filter.c:1749
 #, c-format
 msgid "missing object %s for %s"
 msgstr ""
 
-#: ref-filter.c:1522
+#: ref-filter.c:1550
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr ""
 
-#: ref-filter.c:1888
+#: ref-filter.c:2004
 #, c-format
 msgid "malformed object at '%s'"
 msgstr ""
 
-#: ref-filter.c:1977
+#: ref-filter.c:2093
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr ""
 
-#: ref-filter.c:2263
+#: ref-filter.c:2389
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr ""
 
-#: ref-filter.c:2363
+#: ref-filter.c:2489
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr ""
 
-#: ref-filter.c:2366
+#: ref-filter.c:2492
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr ""
 
-#: ref-filter.c:2376
+#: ref-filter.c:2502
 #, c-format
 msgid "malformed object name %s"
 msgstr ""
 
-#: ref-filter.c:2381
+#: ref-filter.c:2507
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr ""
 
-#: remote.c:363
+#: remote.c:366
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
 msgstr ""
 
-#: remote.c:410
+#: remote.c:413
 msgid "more than one receivepack given, using the first"
 msgstr ""
 
-#: remote.c:418
+#: remote.c:421
 msgid "more than one uploadpack given, using the first"
 msgstr ""
 
-#: remote.c:608
+#: remote.c:611
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr ""
 
-#: remote.c:612
+#: remote.c:615
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr ""
 
-#: remote.c:616
+#: remote.c:619
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr ""
 
-#: remote.c:684
+#: remote.c:687
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr ""
 
-#: remote.c:694
+#: remote.c:697
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr ""
 
-#: remote.c:1000
+#: remote.c:1003
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr ""
 
-#: remote.c:1005
+#: remote.c:1008
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr ""
@@ -4959,7 +5458,7 @@ msgstr ""
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
 #. the <src>.
 #.
-#: remote.c:1020
+#: remote.c:1023
 #, c-format
 msgid ""
 "The destination you provided is not a full refname (i.e.,\n"
@@ -4973,7 +5472,7 @@ msgid ""
 "Neither worked, so we gave up. You must fully qualify the ref."
 msgstr ""
 
-#: remote.c:1040
+#: remote.c:1043
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -4981,7 +5480,7 @@ msgid ""
 "'%s:refs/heads/%s'?"
 msgstr ""
 
-#: remote.c:1045
+#: remote.c:1048
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -4989,7 +5488,7 @@ msgid ""
 "'%s:refs/tags/%s'?"
 msgstr ""
 
-#: remote.c:1050
+#: remote.c:1053
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -4997,7 +5496,7 @@ msgid ""
 "'%s:refs/tags/%s'?"
 msgstr ""
 
-#: remote.c:1055
+#: remote.c:1058
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -5005,114 +5504,114 @@ msgid ""
 "'%s:refs/tags/%s'?"
 msgstr ""
 
-#: remote.c:1091
+#: remote.c:1094
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr ""
 
-#: remote.c:1102
+#: remote.c:1105
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
 msgstr ""
 
-#: remote.c:1114
+#: remote.c:1117
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr ""
 
-#: remote.c:1121
+#: remote.c:1124
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr ""
 
-#: remote.c:1624 remote.c:1725
+#: remote.c:1627 remote.c:1728
 msgid "HEAD does not point to a branch"
 msgstr ""
 
-#: remote.c:1633
+#: remote.c:1636
 #, c-format
 msgid "no such branch: '%s'"
 msgstr ""
 
-#: remote.c:1636
+#: remote.c:1639
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr ""
 
-#: remote.c:1642
+#: remote.c:1645
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 
-#: remote.c:1657
+#: remote.c:1660
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 
-#: remote.c:1669
+#: remote.c:1672
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr ""
 
-#: remote.c:1679
+#: remote.c:1682
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr ""
 
-#: remote.c:1692
+#: remote.c:1695
 msgid "push has no destination (push.default is 'nothing')"
 msgstr ""
 
-#: remote.c:1714
+#: remote.c:1717
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 
-#: remote.c:1840
+#: remote.c:1843
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr ""
 
-#: remote.c:1853
+#: remote.c:1856
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr ""
 
-#: remote.c:2016
+#: remote.c:2019
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 
-#: remote.c:2020
+#: remote.c:2023
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr ""
 
-#: remote.c:2023
+#: remote.c:2026
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr ""
 
-#: remote.c:2027
+#: remote.c:2030
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr ""
 
-#: remote.c:2030
+#: remote.c:2033
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr ""
 
-#: remote.c:2034
+#: remote.c:2037
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2040
+#: remote.c:2043
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr ""
 
-#: remote.c:2043
+#: remote.c:2046
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -5120,11 +5619,11 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2051
+#: remote.c:2054
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr ""
 
-#: remote.c:2054
+#: remote.c:2057
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -5135,11 +5634,11 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2064
+#: remote.c:2067
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 
-#: remote.c:2247
+#: remote.c:2250
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr ""
@@ -5217,8 +5716,8 @@ msgstr ""
 msgid "Recorded preimage for '%s'"
 msgstr ""
 
-#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
-#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2067 builtin/log.c:1871
+#: builtin/submodule--helper.c:1436 builtin/submodule--helper.c:1448
 #, c-format
 msgid "could not create directory '%s'"
 msgstr ""
@@ -5252,153 +5751,158 @@ msgstr ""
 msgid "unable to open rr-cache directory"
 msgstr ""
 
-#: revision.c:2476
+#: revision.c:2497
 msgid "your current branch appears to be broken"
 msgstr ""
 
-#: revision.c:2479
+#: revision.c:2500
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr ""
 
-#: revision.c:2679
+#: revision.c:2708
 msgid "--first-parent is incompatible with --bisect"
 msgstr ""
 
-#: revision.c:2683
+#: revision.c:2712
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr ""
 
-#: run-command.c:763
+#: run-command.c:762
 msgid "open /dev/null failed"
 msgstr ""
 
-#: run-command.c:1269
+#: run-command.c:1268
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr ""
 
-#: run-command.c:1333
+#: run-command.c:1332
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
 "You can disable this warning with `git config advice.ignoredHook false`."
 msgstr ""
 
-#: send-pack.c:141
+#: send-pack.c:144
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 
-#: send-pack.c:143
+#: send-pack.c:146
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr ""
 
-#: send-pack.c:145
+#: send-pack.c:148
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr ""
 
-#: send-pack.c:306
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgstr ""
 
-#: send-pack.c:420
+#: send-pack.c:423
 msgid "the receiving end does not support --signed push"
 msgstr ""
 
-#: send-pack.c:422
+#: send-pack.c:425
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr ""
 
-#: send-pack.c:434
+#: send-pack.c:437
 msgid "the receiving end does not support --atomic push"
 msgstr ""
 
-#: send-pack.c:439
+#: send-pack.c:442
 msgid "the receiving end does not support push options"
 msgstr ""
 
-#: sequencer.c:187
+#: sequencer.c:189
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr ""
 
-#: sequencer.c:292
+#: sequencer.c:294
 #, c-format
 msgid "could not delete '%s'"
 msgstr ""
 
-#: sequencer.c:318
+#: sequencer.c:313 builtin/rebase.c:781 builtin/rebase.c:1706 builtin/rm.c:369
+#, c-format
+msgid "could not remove '%s'"
+msgstr ""
+
+#: sequencer.c:323
 msgid "revert"
 msgstr ""
 
-#: sequencer.c:320
+#: sequencer.c:325
 msgid "cherry-pick"
 msgstr ""
 
-#: sequencer.c:322
+#: sequencer.c:327
 msgid "rebase -i"
 msgstr ""
 
-#: sequencer.c:324
+#: sequencer.c:329
 #, c-format
 msgid "unknown action: %d"
 msgstr ""
 
-#: sequencer.c:382
+#: sequencer.c:387
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
 
-#: sequencer.c:385
+#: sequencer.c:390
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 "and commit the result with 'git commit'"
 msgstr ""
 
-#: sequencer.c:398 sequencer.c:2801
+#: sequencer.c:403 sequencer.c:2993
 #, c-format
 msgid "could not lock '%s'"
 msgstr ""
 
-#: sequencer.c:405
+#: sequencer.c:410
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr ""
 
-#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
-#: sequencer.c:3084
+#: sequencer.c:415 sequencer.c:2798 sequencer.c:2999 sequencer.c:3013
+#: sequencer.c:3277
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr ""
 
-#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
-#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
-#: builtin/merge.c:1115 builtin/rebase.c:567
+#: sequencer.c:438 sequencer.c:1707 sequencer.c:2818 sequencer.c:3259
+#: sequencer.c:3368 builtin/am.c:244 builtin/commit.c:783 builtin/merge.c:1117
+#: builtin/rebase.c:589
 #, c-format
 msgid "could not read '%s'"
 msgstr ""
 
-#: sequencer.c:459
+#: sequencer.c:464
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr ""
 
-#: sequencer.c:463
+#: sequencer.c:468
 msgid "commit your changes or stash them to proceed."
 msgstr ""
 
-#: sequencer.c:495
+#: sequencer.c:500
 #, c-format
 msgid "%s: fast-forward"
 msgstr ""
 
-#: sequencer.c:534 builtin/tag.c:555
+#: sequencer.c:539 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr ""
@@ -5406,70 +5910,69 @@ msgstr ""
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:629
+#: sequencer.c:633
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr ""
 
-#: sequencer.c:646
+#: sequencer.c:650
 msgid "unable to update cache tree"
 msgstr ""
 
-#: sequencer.c:660
+#: sequencer.c:664
 msgid "could not resolve HEAD commit"
 msgstr ""
 
-#: sequencer.c:740
+#: sequencer.c:744
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr ""
 
-#: sequencer.c:751
+#: sequencer.c:755
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr ""
 
-#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
-#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
+#: sequencer.c:792 wrapper.c:190 wrapper.c:360 builtin/am.c:705
+#: builtin/am.c:797 builtin/merge.c:1114 builtin/rebase.c:1074
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr ""
 
-#: sequencer.c:798
+#: sequencer.c:802
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr ""
 
-#: sequencer.c:803
+#: sequencer.c:807
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr ""
 
-#: sequencer.c:808
+#: sequencer.c:812
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr ""
 
-#: sequencer.c:812
+#: sequencer.c:816
 #, c-format
 msgid "unknown variable '%s'"
 msgstr ""
 
-#: sequencer.c:817
+#: sequencer.c:821
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr ""
 
-#: sequencer.c:819
+#: sequencer.c:823
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr ""
 
-#: sequencer.c:821
+#: sequencer.c:825
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr ""
 
-#: sequencer.c:881
-#, c-format
-msgid "invalid date format '%s' in '%s'"
+#: sequencer.c:902 sequencer.c:1427
+msgid "malformed ident line"
 msgstr ""
 
-#: sequencer.c:898
+#: sequencer.c:925
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5486,15 +5989,11 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:992
-msgid "writing root commit"
-msgstr ""
-
-#: sequencer.c:1213
+#: sequencer.c:1218
 msgid "'prepare-commit-msg' hook failed"
 msgstr ""
 
-#: sequencer.c:1220
+#: sequencer.c:1224
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5509,7 +6008,7 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 
-#: sequencer.c:1233
+#: sequencer.c:1237
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5523,305 +6022,350 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 
-#: sequencer.c:1275
+#: sequencer.c:1279
 msgid "couldn't look up newly created commit"
 msgstr ""
 
-#: sequencer.c:1277
+#: sequencer.c:1281
 msgid "could not parse newly created commit"
 msgstr ""
 
-#: sequencer.c:1323
+#: sequencer.c:1327
 msgid "unable to resolve HEAD after creating commit"
 msgstr ""
 
-#: sequencer.c:1325
+#: sequencer.c:1329
 msgid "detached HEAD"
 msgstr ""
 
-#: sequencer.c:1329
+#: sequencer.c:1333
 msgid " (root-commit)"
 msgstr ""
 
-#: sequencer.c:1350
+#: sequencer.c:1354
 msgid "could not parse HEAD"
 msgstr ""
 
-#: sequencer.c:1352
+#: sequencer.c:1356
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr ""
 
-#: sequencer.c:1356 builtin/commit.c:1551
+#: sequencer.c:1360 sequencer.c:1458 builtin/commit.c:1569
 msgid "could not parse HEAD commit"
 msgstr ""
 
-#: sequencer.c:1408 sequencer.c:2001
+#: sequencer.c:1411 sequencer.c:2055
 msgid "unable to parse commit author"
 msgstr ""
 
-#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688
+#: sequencer.c:1431
+msgid "corrupted author without date information"
+msgstr ""
+
+#: sequencer.c:1447 builtin/am.c:1561 builtin/merge.c:684
 msgid "git write-tree failed to write a tree"
 msgstr ""
 
-#: sequencer.c:1435 sequencer.c:1496
+#: sequencer.c:1480 sequencer.c:1550
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr ""
 
-#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882
-#: builtin/merge.c:906
+#: sequencer.c:1516 builtin/am.c:1583 builtin/commit.c:1668 builtin/merge.c:883
+#: builtin/merge.c:908
 msgid "failed to write commit object"
 msgstr ""
 
-#: sequencer.c:1523
+#: sequencer.c:1577
 #, c-format
 msgid "could not parse commit %s"
 msgstr ""
 
-#: sequencer.c:1528
+#: sequencer.c:1582
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:1602 sequencer.c:1712
+#: sequencer.c:1656 sequencer.c:1767
 #, c-format
 msgid "unknown command: %d"
 msgstr ""
 
-#: sequencer.c:1659 sequencer.c:1684
+#: sequencer.c:1714 sequencer.c:1739
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr ""
 
-#: sequencer.c:1669
+#: sequencer.c:1724
 msgid "need a HEAD to fixup"
 msgstr ""
 
-#: sequencer.c:1671 sequencer.c:3111
+#: sequencer.c:1726 sequencer.c:3304
 msgid "could not read HEAD"
 msgstr ""
 
-#: sequencer.c:1673
+#: sequencer.c:1728
 msgid "could not read HEAD's commit message"
 msgstr ""
 
-#: sequencer.c:1679
+#: sequencer.c:1734
 #, c-format
 msgid "cannot write '%s'"
 msgstr ""
 
-#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1741 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr ""
 
-#: sequencer.c:1694
+#: sequencer.c:1749
 #, c-format
 msgid "could not read commit message of %s"
 msgstr ""
 
-#: sequencer.c:1701
+#: sequencer.c:1756
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr ""
 
-#: sequencer.c:1707
+#: sequencer.c:1762
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr ""
 
-#: sequencer.c:1795
+#: sequencer.c:1850
 msgid "your index file is unmerged."
 msgstr ""
 
-#: sequencer.c:1802
+#: sequencer.c:1857
 msgid "cannot fixup root commit"
 msgstr ""
 
-#: sequencer.c:1821
+#: sequencer.c:1876
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr ""
 
-#: sequencer.c:1829 sequencer.c:1837
+#: sequencer.c:1884 sequencer.c:1892
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr ""
 
-#: sequencer.c:1843
+#: sequencer.c:1898
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr ""
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1862
+#: sequencer.c:1917
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:1927
+#: sequencer.c:1982
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:1982
+#: sequencer.c:2037
 #, c-format
 msgid "could not revert %s... %s"
 msgstr ""
 
-#: sequencer.c:1983
+#: sequencer.c:2038
 #, c-format
 msgid "could not apply %s... %s"
 msgstr ""
 
-#: sequencer.c:2042
+#: sequencer.c:2105
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr ""
 
-#: sequencer.c:2049
+#: sequencer.c:2112
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr ""
 
-#: sequencer.c:2118
+#: sequencer.c:2189
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr ""
 
-#: sequencer.c:2127
+#: sequencer.c:2198
 #, c-format
 msgid "missing arguments for %s"
 msgstr ""
 
-#: sequencer.c:2164
+#: sequencer.c:2235
 #, c-format
 msgid "could not parse '%.*s'"
 msgstr ""
 
-#: sequencer.c:2226
+#: sequencer.c:2289
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr ""
 
-#: sequencer.c:2237
+#: sequencer.c:2300
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr ""
 
-#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178
-#: builtin/rebase.c:204 builtin/rebase.c:229
+#: sequencer.c:2348 builtin/rebase.c:172 builtin/rebase.c:197
+#: builtin/rebase.c:223 builtin/rebase.c:248
 #, c-format
 msgid "could not read '%s'."
 msgstr ""
 
-#: sequencer.c:2360
+#: sequencer.c:2384
+msgid "cancelling a cherry picking in progress"
+msgstr ""
+
+#: sequencer.c:2391
+msgid "cancelling a revert in progress"
+msgstr ""
+
+#: sequencer.c:2435
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: sequencer.c:2362
+#: sequencer.c:2437
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:2367
+#: sequencer.c:2442
 msgid "no commits parsed."
 msgstr ""
 
-#: sequencer.c:2378
+#: sequencer.c:2453
 msgid "cannot cherry-pick during a revert."
 msgstr ""
 
-#: sequencer.c:2380
+#: sequencer.c:2455
 msgid "cannot revert during a cherry-pick."
 msgstr ""
 
-#: sequencer.c:2462
+#: sequencer.c:2533
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr ""
 
-#: sequencer.c:2549
+#: sequencer.c:2630
 msgid "unusable squash-onto"
 msgstr ""
 
-#: sequencer.c:2565
+#: sequencer.c:2646
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:2648 sequencer.c:4227
+#: sequencer.c:2736 sequencer.c:4463
 msgid "empty commit set passed"
 msgstr ""
 
-#: sequencer.c:2656
-msgid "a cherry-pick or revert is already in progress"
+#: sequencer.c:2752
+msgid "revert is already in progress"
+msgstr ""
+
+#: sequencer.c:2754
+#, c-format
+msgid "try \"git revert (--continue | %s--abort | --quit)\""
+msgstr ""
+
+#: sequencer.c:2757
+msgid "cherry-pick is already in progress"
 msgstr ""
 
-#: sequencer.c:2657
-msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
+#: sequencer.c:2759
+#, c-format
+msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr ""
 
-#: sequencer.c:2660
+#: sequencer.c:2773
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr ""
 
-#: sequencer.c:2674
+#: sequencer.c:2788
 msgid "could not lock HEAD"
 msgstr ""
 
-#: sequencer.c:2729 sequencer.c:3979
+#: sequencer.c:2848 sequencer.c:4209
 msgid "no cherry-pick or revert in progress"
 msgstr ""
 
-#: sequencer.c:2731
+#: sequencer.c:2850 sequencer.c:2861
 msgid "cannot resolve HEAD"
 msgstr ""
 
-#: sequencer.c:2733 sequencer.c:2768
+#: sequencer.c:2852 sequencer.c:2896
 msgid "cannot abort from a branch yet to be born"
 msgstr ""
 
-#: sequencer.c:2754 builtin/grep.c:732
+#: sequencer.c:2882 builtin/grep.c:736
 #, c-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: sequencer.c:2756
+#: sequencer.c:2884
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr ""
 
-#: sequencer.c:2757
+#: sequencer.c:2885
 msgid "unexpected end of file"
 msgstr ""
 
-#: sequencer.c:2763
+#: sequencer.c:2891
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr ""
 
-#: sequencer.c:2774
+#: sequencer.c:2902
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 
-#: sequencer.c:2903 sequencer.c:3894
+#: sequencer.c:2943
+msgid "no revert in progress"
+msgstr ""
+
+#: sequencer.c:2951
+msgid "no cherry-pick in progress"
+msgstr ""
+
+#: sequencer.c:2961
+msgid "failed to skip the commit"
+msgstr ""
+
+#: sequencer.c:2968
+msgid "there is nothing to skip"
+msgstr ""
+
+#: sequencer.c:2971
+#, c-format
+msgid ""
+"have you committed already?\n"
+"try \"git %s --continue\""
+msgstr ""
+
+#: sequencer.c:3095 sequencer.c:4121
 #, c-format
 msgid "could not update %s"
 msgstr ""
 
-#: sequencer.c:2941 sequencer.c:3874
+#: sequencer.c:3134 sequencer.c:4101
 msgid "cannot read HEAD"
 msgstr ""
 
-#: sequencer.c:2958
+#: sequencer.c:3151
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:2966
+#: sequencer.c:3159
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -5833,27 +6377,22 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:2976
+#: sequencer.c:3169
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr ""
 
-#: sequencer.c:2983
+#: sequencer.c:3176
 #, c-format
 msgid "Could not merge %.*s"
 msgstr ""
 
-#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
+#: sequencer.c:3190 sequencer.c:3194 builtin/difftool.c:641
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580
-#: builtin/rebase.c:1940 builtin/rebase.c:1995
-msgid "could not read index"
-msgstr ""
-
-#: sequencer.c:3028
+#: sequencer.c:3221
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -5863,11 +6402,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:3034
+#: sequencer.c:3227
 msgid "and made changes to the index and/or the working tree\n"
 msgstr ""
 
-#: sequencer.c:3040
+#: sequencer.c:3233
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -5878,76 +6417,72 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:3101
+#: sequencer.c:3294
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr ""
 
-#: sequencer.c:3155
+#: sequencer.c:3348
 msgid "writing fake root commit"
 msgstr ""
 
-#: sequencer.c:3160
+#: sequencer.c:3353
 msgid "writing squash-onto"
 msgstr ""
 
-#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
+#: sequencer.c:3391 builtin/rebase.c:876 builtin/rebase.c:882
 #, c-format
 msgid "failed to find tree of %s"
 msgstr ""
 
-#: sequencer.c:3216 builtin/rebase.c:863
-msgid "could not write index"
-msgstr ""
-
-#: sequencer.c:3243
+#: sequencer.c:3436
 #, c-format
 msgid "could not resolve '%s'"
 msgstr ""
 
-#: sequencer.c:3271
+#: sequencer.c:3467
 msgid "cannot merge without a current revision"
 msgstr ""
 
-#: sequencer.c:3293
+#: sequencer.c:3489
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr ""
 
-#: sequencer.c:3302
+#: sequencer.c:3498
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr ""
 
-#: sequencer.c:3314
+#: sequencer.c:3510
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 
-#: sequencer.c:3329
+#: sequencer.c:3526
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr ""
 
-#: sequencer.c:3478
+#: sequencer.c:3688
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr ""
 
-#: sequencer.c:3494
+#: sequencer.c:3704
 msgid "merge: Unable to write new index file"
 msgstr ""
 
-#: sequencer.c:3562 builtin/rebase.c:711
+#: sequencer.c:3773 builtin/rebase.c:733
 #, c-format
 msgid "Applied autostash.\n"
 msgstr ""
 
-#: sequencer.c:3574
+#: sequencer.c:3785
 #, c-format
 msgid "cannot store %s"
 msgstr ""
 
-#: sequencer.c:3577 builtin/rebase.c:727
+#: sequencer.c:3788 builtin/rebase.c:749 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -5955,31 +6490,31 @@ msgid ""
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
 
-#: sequencer.c:3638
+#: sequencer.c:3849
 #, c-format
 msgid "could not checkout %s"
 msgstr ""
 
-#: sequencer.c:3652
+#: sequencer.c:3863
 #, c-format
 msgid "%s: not a valid OID"
 msgstr ""
 
-#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3868 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr ""
 
-#: sequencer.c:3672
+#: sequencer.c:3883
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr ""
 
-#: sequencer.c:3674
+#: sequencer.c:3885
 #, c-format
 msgid "Stopped at %s\n"
 msgstr ""
 
-#: sequencer.c:3682
+#: sequencer.c:3893
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -5992,121 +6527,121 @@ msgid ""
 "    git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:3759
+#: sequencer.c:3979
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr ""
 
-#: sequencer.c:3837
+#: sequencer.c:4050
 #, c-format
 msgid "unknown command %d"
 msgstr ""
 
-#: sequencer.c:3882
+#: sequencer.c:4109
 msgid "could not read orig-head"
 msgstr ""
 
-#: sequencer.c:3887
+#: sequencer.c:4114
 msgid "could not read 'onto'"
 msgstr ""
 
-#: sequencer.c:3901
+#: sequencer.c:4128
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr ""
 
-#: sequencer.c:3991
+#: sequencer.c:4221
 msgid "cannot rebase: You have unstaged changes."
 msgstr ""
 
-#: sequencer.c:4000
+#: sequencer.c:4230
 msgid "cannot amend non-existing commit"
 msgstr ""
 
-#: sequencer.c:4002
+#: sequencer.c:4232
 #, c-format
 msgid "invalid file: '%s'"
 msgstr ""
 
-#: sequencer.c:4004
+#: sequencer.c:4234
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr ""
 
-#: sequencer.c:4007
+#: sequencer.c:4237
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 
-#: sequencer.c:4043 sequencer.c:4081
+#: sequencer.c:4273 sequencer.c:4312
 #, c-format
 msgid "could not write file: '%s'"
 msgstr ""
 
-#: sequencer.c:4096
+#: sequencer.c:4327
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: sequencer.c:4103
+#: sequencer.c:4334
 msgid "could not commit staged changes."
 msgstr ""
 
-#: sequencer.c:4204
+#: sequencer.c:4440
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr ""
 
-#: sequencer.c:4208
+#: sequencer.c:4444
 #, c-format
 msgid "%s: bad revision"
 msgstr ""
 
-#: sequencer.c:4243
+#: sequencer.c:4479
 msgid "can't revert as initial commit"
 msgstr ""
 
-#: sequencer.c:4686
+#: sequencer.c:4952
 msgid "make_script: unhandled options"
 msgstr ""
 
-#: sequencer.c:4689
+#: sequencer.c:4955
 msgid "make_script: error preparing revisions"
 msgstr ""
 
-#: sequencer.c:4847
+#: sequencer.c:5113
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
 "Or you can abort the rebase with 'git rebase --abort'.\n"
 msgstr ""
 
-#: sequencer.c:4959 sequencer.c:4976
+#: sequencer.c:5226 sequencer.c:5243
 msgid "nothing to do"
 msgstr ""
 
-#: sequencer.c:4990
+#: sequencer.c:5257
 msgid "could not skip unnecessary pick commands"
 msgstr ""
 
-#: sequencer.c:5073
+#: sequencer.c:5351
 msgid "the script was already rearranged."
 msgstr ""
 
-#: setup.c:123
+#: setup.c:124
 #, c-format
 msgid "'%s' is outside repository"
 msgstr ""
 
-#: setup.c:173
+#: setup.c:174
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
 "Use 'git <command> -- <path>...' to specify paths that do not exist locally."
 msgstr ""
 
-#: setup.c:186
+#: setup.c:187
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -6114,12 +6649,12 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:235
+#: setup.c:236
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 
-#: setup.c:254
+#: setup.c:255
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -6127,388 +6662,450 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:390
+#: setup.c:391
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 
-#: setup.c:394
+#: setup.c:395
 msgid "this operation must be run in a work tree"
 msgstr ""
 
-#: setup.c:540
+#: setup.c:541
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr ""
 
-#: setup.c:548
+#: setup.c:549
 msgid "unknown repository extensions found:"
 msgstr ""
 
-#: setup.c:567
+#: setup.c:568
 #, c-format
 msgid "error opening '%s'"
 msgstr ""
 
-#: setup.c:569
+#: setup.c:570
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr ""
 
-#: setup.c:571
+#: setup.c:572
 #, c-format
 msgid "error reading %s"
 msgstr ""
 
-#: setup.c:573
+#: setup.c:574
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr ""
 
-#: setup.c:575
+#: setup.c:576
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr ""
 
-#: setup.c:577
+#: setup.c:578
 #, c-format
 msgid "not a git repository: %s"
 msgstr ""
 
-#: setup.c:676
+#: setup.c:677
 #, c-format
 msgid "'$%s' too big"
 msgstr ""
 
-#: setup.c:690
+#: setup.c:691
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr ""
 
-#: setup.c:719 setup.c:721 setup.c:752
+#: setup.c:720 setup.c:722 setup.c:753
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr ""
 
-#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
+#: setup.c:725 setup.c:781 setup.c:791 setup.c:830 setup.c:838
 msgid "cannot come back to cwd"
 msgstr ""
 
-#: setup.c:851
+#: setup.c:852
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr ""
 
-#: setup.c:1083
+#: setup.c:1090
 msgid "Unable to read current working directory"
 msgstr ""
 
-#: setup.c:1092 setup.c:1098
+#: setup.c:1099 setup.c:1105
 #, c-format
 msgid "cannot change to '%s'"
 msgstr ""
 
-#: setup.c:1103
+#: setup.c:1110
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr ""
 
-#: setup.c:1109
+#: setup.c:1116
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
 "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
 msgstr ""
 
-#: setup.c:1220
+#: setup.c:1227
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
 "The owner of files must always have read and write permissions."
 msgstr ""
 
-#: setup.c:1264
+#: setup.c:1271
 msgid "open /dev/null or dup failed"
 msgstr ""
 
-#: setup.c:1279
+#: setup.c:1286
 msgid "fork failed"
 msgstr ""
 
-#: setup.c:1284
+#: setup.c:1291
 msgid "setsid failed"
 msgstr ""
 
-#: sha1-file.c:453
+#: sha1-file.c:452
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 
-#: sha1-file.c:504
+#: sha1-file.c:503
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr ""
 
-#: sha1-file.c:576
+#: sha1-file.c:575
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr ""
 
-#: sha1-file.c:583
+#: sha1-file.c:582
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr ""
 
-#: sha1-file.c:626
+#: sha1-file.c:625
 msgid "unable to fdopen alternates lockfile"
 msgstr ""
 
-#: sha1-file.c:644
+#: sha1-file.c:643
 msgid "unable to read alternates file"
 msgstr ""
 
-#: sha1-file.c:651
+#: sha1-file.c:650
 msgid "unable to move new alternates file into place"
 msgstr ""
 
-#: sha1-file.c:686
+#: sha1-file.c:685
 #, c-format
 msgid "path '%s' does not exist"
 msgstr ""
 
-#: sha1-file.c:712
+#: sha1-file.c:711
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 
-#: sha1-file.c:718
+#: sha1-file.c:717
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr ""
 
-#: sha1-file.c:724
+#: sha1-file.c:723
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 
-#: sha1-file.c:732
+#: sha1-file.c:731
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 
-#: sha1-file.c:846
+#: sha1-file.c:791
+#, c-format
+msgid "invalid line while parsing alternate refs: %s"
+msgstr ""
+
+#: sha1-file.c:943
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr ""
 
-#: sha1-file.c:871
+#: sha1-file.c:964
 msgid "mmap failed"
 msgstr ""
 
-#: sha1-file.c:1035
+#: sha1-file.c:1128
 #, c-format
 msgid "object file %s is empty"
 msgstr ""
 
-#: sha1-file.c:1159 sha1-file.c:2297
+#: sha1-file.c:1252 sha1-file.c:2392
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr ""
 
-#: sha1-file.c:1161 sha1-file.c:2301
+#: sha1-file.c:1254 sha1-file.c:2396
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr ""
 
-#: sha1-file.c:1203
+#: sha1-file.c:1296
 msgid "invalid object type"
 msgstr ""
 
-#: sha1-file.c:1287
+#: sha1-file.c:1380
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr ""
 
-#: sha1-file.c:1290
+#: sha1-file.c:1383
 #, c-format
 msgid "unable to unpack %s header"
 msgstr ""
 
-#: sha1-file.c:1296
+#: sha1-file.c:1389
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr ""
 
-#: sha1-file.c:1299
+#: sha1-file.c:1392
 #, c-format
 msgid "unable to parse %s header"
 msgstr ""
 
-#: sha1-file.c:1490
+#: sha1-file.c:1584
 #, c-format
 msgid "failed to read object %s"
 msgstr ""
 
-#: sha1-file.c:1494
+#: sha1-file.c:1588
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr ""
 
-#: sha1-file.c:1498
+#: sha1-file.c:1592
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr ""
 
-#: sha1-file.c:1502
+#: sha1-file.c:1596
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr ""
 
-#: sha1-file.c:1604
+#: sha1-file.c:1699
 #, c-format
 msgid "unable to write file %s"
 msgstr ""
 
-#: sha1-file.c:1611
+#: sha1-file.c:1706
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr ""
 
-#: sha1-file.c:1618
+#: sha1-file.c:1713
 msgid "file write error"
 msgstr ""
 
-#: sha1-file.c:1637
+#: sha1-file.c:1732
 msgid "error when closing loose object file"
 msgstr ""
 
-#: sha1-file.c:1702
+#: sha1-file.c:1797
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 
-#: sha1-file.c:1704
+#: sha1-file.c:1799
 msgid "unable to create temporary file"
 msgstr ""
 
-#: sha1-file.c:1728
+#: sha1-file.c:1823
 msgid "unable to write loose object file"
 msgstr ""
 
-#: sha1-file.c:1734
+#: sha1-file.c:1829
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr ""
 
-#: sha1-file.c:1738
+#: sha1-file.c:1833
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr ""
 
-#: sha1-file.c:1742
+#: sha1-file.c:1837
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr ""
 
-#: sha1-file.c:1752 builtin/pack-objects.c:920
+#: sha1-file.c:1847 builtin/pack-objects.c:925
 #, c-format
 msgid "failed utime() on %s"
 msgstr ""
 
-#: sha1-file.c:1827
+#: sha1-file.c:1922
 #, c-format
 msgid "cannot read object for %s"
 msgstr ""
 
-#: sha1-file.c:1867
+#: sha1-file.c:1962
 msgid "corrupt commit"
 msgstr ""
 
-#: sha1-file.c:1875
+#: sha1-file.c:1970
 msgid "corrupt tag"
 msgstr ""
 
-#: sha1-file.c:1974
+#: sha1-file.c:2069
 #, c-format
 msgid "read error while indexing %s"
 msgstr ""
 
-#: sha1-file.c:1977
+#: sha1-file.c:2072
 #, c-format
 msgid "short read while indexing %s"
 msgstr ""
 
-#: sha1-file.c:2050 sha1-file.c:2059
+#: sha1-file.c:2145 sha1-file.c:2154
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr ""
 
-#: sha1-file.c:2065
+#: sha1-file.c:2160
 #, c-format
 msgid "%s: unsupported file type"
 msgstr ""
 
-#: sha1-file.c:2089
+#: sha1-file.c:2184
 #, c-format
 msgid "%s is not a valid object"
 msgstr ""
 
-#: sha1-file.c:2091
+#: sha1-file.c:2186
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr ""
 
-#: sha1-file.c:2118 builtin/index-pack.c:154
+#: sha1-file.c:2213 builtin/index-pack.c:155
 #, c-format
 msgid "unable to open %s"
 msgstr ""
 
-#: sha1-file.c:2308 sha1-file.c:2360
+#: sha1-file.c:2403 sha1-file.c:2455
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr ""
 
-#: sha1-file.c:2332
+#: sha1-file.c:2427
 #, c-format
 msgid "unable to mmap %s"
 msgstr ""
 
-#: sha1-file.c:2337
+#: sha1-file.c:2432
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr ""
 
-#: sha1-file.c:2343
+#: sha1-file.c:2438
 #, c-format
 msgid "unable to parse header of %s"
 msgstr ""
 
-#: sha1-file.c:2354
+#: sha1-file.c:2449
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr ""
 
-#: sha1-name.c:490
+#: sha1-name.c:487
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr ""
 
-#: sha1-name.c:501
+#: sha1-name.c:498
 msgid "The candidates are:"
 msgstr ""
 
-#: sha1-name.c:800
+#: sha1-name.c:797
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
 "may be created by mistake. For example,\n"
 "\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
+"  git switch -c $br $(git rev-parse ...)\n"
 "\n"
 "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
 "examine these refs and maybe delete them. Turn this message off by\n"
 "running \"git config advice.objectNameWarning false\""
 msgstr ""
 
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte
+#: strbuf.c:822
+#, c-format
+msgid "%u.%2.2u GiB"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
+#: strbuf.c:824
+#, c-format
+msgid "%u.%2.2u GiB/s"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte
+#: strbuf.c:832
+#, c-format
+msgid "%u.%2.2u MiB"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
+#: strbuf.c:834
+#, c-format
+msgid "%u.%2.2u MiB/s"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte
+#: strbuf.c:841
+#, c-format
+msgid "%u.%2.2u KiB"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
+#: strbuf.c:843
+#, c-format
+msgid "%u.%2.2u KiB/s"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 byte
+#: strbuf.c:849
+#, c-format
+msgid "%u byte"
+msgid_plural "%u bytes"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: IEC 80000-13:2008 byte/second
+#: strbuf.c:851
+#, c-format
+msgid "%u byte/s"
+msgid_plural "%u bytes/s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: strbuf.c:1149
+#, c-format
+msgid "could not edit '%s'"
+msgstr ""
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -6542,7 +7139,7 @@ msgstr ""
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr ""
 
-#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:2016
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr ""
 
@@ -6581,18 +7178,28 @@ msgstr ""
 msgid "Submodule '%s' could not be updated."
 msgstr ""
 
-#: submodule.c:2008
+#: submodule.c:2027
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr ""
+
+#: submodule.c:2048
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr ""
 
-#: submodule.c:2020 submodule.c:2076
+#: submodule.c:2060 submodule.c:2119
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr ""
 
-#: submodule.c:2027
+#: submodule.c:2064
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr ""
+
+#: submodule.c:2071
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -6600,40 +7207,40 @@ msgid ""
 "'%s'\n"
 msgstr ""
 
-#: submodule.c:2111
+#: submodule.c:2154
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr ""
 
-#: submodule.c:2155
+#: submodule.c:2198
 msgid "could not start ls-files in .."
 msgstr ""
 
-#: submodule.c:2194
+#: submodule.c:2237
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr ""
 
-#: submodule-config.c:232
+#: submodule-config.c:236
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr ""
 
-#: submodule-config.c:299
+#: submodule-config.c:303
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr ""
 
-#: submodule-config.c:397
+#: submodule-config.c:401
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 
-#: submodule-config.c:486
+#: submodule-config.c:498
 #, c-format
 msgid "invalid value for %s"
 msgstr ""
 
-#: submodule-config.c:755
+#: submodule-config.c:769
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr ""
@@ -6668,7 +7275,7 @@ msgstr ""
 msgid "could not read from stdin"
 msgstr ""
 
-#: trailer.c:1011 wrapper.c:701
+#: trailer.c:1011 wrapper.c:665
 #, c-format
 msgid "could not stat %s"
 msgstr ""
@@ -6697,54 +7304,54 @@ msgstr ""
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr ""
 
-#: transport.c:142
+#: transport.c:145
 #, c-format
 msgid "could not read bundle '%s'"
 msgstr ""
 
-#: transport.c:208
+#: transport.c:214
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr ""
 
-#: transport.c:259
+#: transport.c:266
 msgid "see protocol.version in 'git help config' for more details"
 msgstr ""
 
-#: transport.c:260
+#: transport.c:267
 msgid "server options require protocol version 2 or later"
 msgstr ""
 
-#: transport.c:625
+#: transport.c:632
 msgid "could not parse transport.color.* config"
 msgstr ""
 
-#: transport.c:698
+#: transport.c:705
 msgid "support for protocol v2 not implemented yet"
 msgstr ""
 
-#: transport.c:825
+#: transport.c:831
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr ""
 
-#: transport.c:891
+#: transport.c:897
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr ""
 
-#: transport.c:945
+#: transport.c:949
 msgid "git-over-rsync is no longer supported"
 msgstr ""
 
-#: transport.c:1040
+#: transport.c:1044
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr ""
 
-#: transport.c:1044
+#: transport.c:1048
 #, c-format
 msgid ""
 "\n"
@@ -6760,183 +7367,183 @@ msgid ""
 "\n"
 msgstr ""
 
-#: transport.c:1052
+#: transport.c:1056
 msgid "Aborting."
 msgstr ""
 
-#: transport.c:1193
+#: transport.c:1201
 msgid "failed to push all needed submodules"
 msgstr ""
 
-#: transport.c:1326 transport-helper.c:645
+#: transport.c:1345 transport-helper.c:656
 msgid "operation not supported by protocol"
 msgstr ""
 
-#: transport.c:1430
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
-#: transport-helper.c:51 transport-helper.c:80
+#: transport-helper.c:61 transport-helper.c:90
 msgid "full write to remote helper failed"
 msgstr ""
 
-#: transport-helper.c:134
+#: transport-helper.c:144
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr ""
 
-#: transport-helper.c:150 transport-helper.c:559
+#: transport-helper.c:160 transport-helper.c:570
 msgid "can't dup helper output fd"
 msgstr ""
 
-#: transport-helper.c:201
+#: transport-helper.c:211
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
 "version of Git"
 msgstr ""
 
-#: transport-helper.c:207
+#: transport-helper.c:217
 msgid "this remote helper should implement refspec capability"
 msgstr ""
 
-#: transport-helper.c:274 transport-helper.c:414
+#: transport-helper.c:284 transport-helper.c:424
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr ""
 
-#: transport-helper.c:403
+#: transport-helper.c:413
 #, c-format
 msgid "%s also locked %s"
 msgstr ""
 
-#: transport-helper.c:481
+#: transport-helper.c:492
 msgid "couldn't run fast-import"
 msgstr ""
 
-#: transport-helper.c:504
+#: transport-helper.c:515
 msgid "error while running fast-import"
 msgstr ""
 
-#: transport-helper.c:533 transport-helper.c:1099
+#: transport-helper.c:544 transport-helper.c:1133
 #, c-format
 msgid "could not read ref %s"
 msgstr ""
 
-#: transport-helper.c:578
+#: transport-helper.c:589
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr ""
 
-#: transport-helper.c:600
+#: transport-helper.c:611
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 
-#: transport-helper.c:602
+#: transport-helper.c:613
 msgid "invalid remote service path"
 msgstr ""
 
-#: transport-helper.c:648
+#: transport-helper.c:659
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr ""
 
-#: transport-helper.c:720
+#: transport-helper.c:735
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr ""
 
-#: transport-helper.c:773
+#: transport-helper.c:788
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr ""
 
-#: transport-helper.c:834
+#: transport-helper.c:849
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr ""
 
-#: transport-helper.c:837
+#: transport-helper.c:852
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr ""
 
-#: transport-helper.c:840
+#: transport-helper.c:855
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr ""
 
-#: transport-helper.c:847
+#: transport-helper.c:860
+#, c-format
+msgid "helper %s does not support --atomic"
+msgstr ""
+
+#: transport-helper.c:866
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr ""
 
-#: transport-helper.c:939
+#: transport-helper.c:964
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 
-#: transport-helper.c:944
+#: transport-helper.c:969
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr ""
 
-#: transport-helper.c:991
+#: transport-helper.c:1016
 msgid "couldn't run fast-export"
 msgstr ""
 
-#: transport-helper.c:996
+#: transport-helper.c:1021
 msgid "error while running fast-export"
 msgstr ""
 
-#: transport-helper.c:1021
+#: transport-helper.c:1046
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
 "Perhaps you should specify a branch such as 'master'.\n"
 msgstr ""
 
-#: transport-helper.c:1085
+#: transport-helper.c:1119
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr ""
 
-#: transport-helper.c:1238
+#: transport-helper.c:1271
 #, c-format
 msgid "read(%s) failed"
 msgstr ""
 
-#: transport-helper.c:1265
+#: transport-helper.c:1298
 #, c-format
 msgid "write(%s) failed"
 msgstr ""
 
-#: transport-helper.c:1314
+#: transport-helper.c:1347
 #, c-format
 msgid "%s thread failed"
 msgstr ""
 
-#: transport-helper.c:1318
+#: transport-helper.c:1351
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr ""
 
-#: transport-helper.c:1337 transport-helper.c:1341
+#: transport-helper.c:1370 transport-helper.c:1374
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr ""
 
-#: transport-helper.c:1378
+#: transport-helper.c:1411
 #, c-format
 msgid "%s process failed to wait"
 msgstr ""
 
-#: transport-helper.c:1382
+#: transport-helper.c:1415
 #, c-format
 msgid "%s process failed"
 msgstr ""
 
-#: transport-helper.c:1400 transport-helper.c:1409
+#: transport-helper.c:1433 transport-helper.c:1442
 msgid "can't start thread for copying data"
 msgstr ""
 
@@ -6952,102 +7559,107 @@ msgstr ""
 msgid "empty filename in tree entry"
 msgstr ""
 
-#: tree-walk.c:116
+#: tree-walk.c:48
+#, c-format
+msgid "filename in tree entry contains backslash: '%s'"
+msgstr ""
+
+#: tree-walk.c:124
 msgid "too-short tree file"
 msgstr ""
 
-#: unpack-trees.c:111
+#: unpack-trees.c:110
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%sPlease commit your changes or stash them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:113
+#: unpack-trees.c:112
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:116
+#: unpack-trees.c:115
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%sPlease commit your changes or stash them before you merge."
 msgstr ""
 
-#: unpack-trees.c:118
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:121
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%sPlease commit your changes or stash them before you %s."
 msgstr ""
 
-#: unpack-trees.c:123
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:128
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:132
+#: unpack-trees.c:131
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:134
+#: unpack-trees.c:133
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:137
+#: unpack-trees.c:136
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr ""
 
-#: unpack-trees.c:139
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:142
+#: unpack-trees.c:141
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr ""
 
-#: unpack-trees.c:144
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:150
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7055,7 +7667,7 @@ msgid ""
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:152
+#: unpack-trees.c:151
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7063,47 +7675,47 @@ msgid ""
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:155
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr ""
 
-#: unpack-trees.c:157
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:160
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr ""
 
-#: unpack-trees.c:162
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:170
+#: unpack-trees.c:169
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr ""
 
-#: unpack-trees.c:173
+#: unpack-trees.c:172
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:175
+#: unpack-trees.c:174
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -7111,7 +7723,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:177
+#: unpack-trees.c:176
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -7119,29 +7731,33 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:179
+#: unpack-trees.c:178
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:256
+#: unpack-trees.c:255
 #, c-format
 msgid "Aborting\n"
 msgstr ""
 
-#: unpack-trees.c:318
-msgid "Checking out files"
+#: unpack-trees.c:317
+msgid "Updating files"
 msgstr ""
 
-#: unpack-trees.c:350
+#: unpack-trees.c:349
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
 "colliding group is in the working tree:\n"
 msgstr ""
 
+#: unpack-trees.c:1441
+msgid "Updating index flags"
+msgstr ""
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr ""
@@ -7171,434 +7787,446 @@ msgstr ""
 msgid "invalid '..' path segment"
 msgstr ""
 
-#: worktree.c:255 builtin/am.c:2097
+#: worktree.c:258 builtin/am.c:2084
 #, c-format
 msgid "failed to read '%s'"
 msgstr ""
 
-#: worktree.c:301
+#: worktree.c:304
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 
-#: worktree.c:312
+#: worktree.c:315
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 
-#: worktree.c:324
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr ""
 
-#: worktree.c:330
+#: worktree.c:333
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr ""
 
-#: worktree.c:338
+#: worktree.c:341
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr ""
 
-#: wrapper.c:223 wrapper.c:393
+#: wrapper.c:186 wrapper.c:356
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr ""
 
-#: wrapper.c:424 wrapper.c:624
+#: wrapper.c:387 wrapper.c:588
 #, c-format
 msgid "unable to access '%s'"
 msgstr ""
 
-#: wrapper.c:632
+#: wrapper.c:596
 msgid "unable to get current working directory"
 msgstr ""
 
-#: wt-status.c:156
+#: wt-status.c:158
 msgid "Unmerged paths:"
 msgstr ""
 
-#: wt-status.c:183 wt-status.c:210
+#: wt-status.c:187 wt-status.c:219
+msgid "  (use \"git restore --staged <file>...\" to unstage)"
+msgstr ""
+
+#: wt-status.c:190 wt-status.c:222
 #, c-format
-msgid "  (use \"git reset %s <file>...\" to unstage)"
+msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
 msgstr ""
 
-#: wt-status.c:185 wt-status.c:212
+#: wt-status.c:193 wt-status.c:225
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr ""
 
-#: wt-status.c:189
+#: wt-status.c:197
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:191 wt-status.c:195
+#: wt-status.c:199 wt-status.c:203
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 
-#: wt-status.c:193
+#: wt-status.c:201
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:204 wt-status.c:1064
+#: wt-status.c:211 wt-status.c:1074
 msgid "Changes to be committed:"
 msgstr ""
 
-#: wt-status.c:222 wt-status.c:1073
+#: wt-status.c:234 wt-status.c:1083
 msgid "Changes not staged for commit:"
 msgstr ""
 
-#: wt-status.c:226
+#: wt-status.c:238
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 
-#: wt-status.c:228
+#: wt-status.c:240
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 
-#: wt-status.c:229
+#: wt-status.c:241
 msgid ""
-"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+"  (use \"git restore <file>...\" to discard changes in working directory)"
 msgstr ""
 
-#: wt-status.c:231
+#: wt-status.c:243
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 
-#: wt-status.c:243
+#: wt-status.c:254
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 
-#: wt-status.c:258
+#: wt-status.c:268
 msgid "both deleted:"
 msgstr ""
 
-#: wt-status.c:260
+#: wt-status.c:270
 msgid "added by us:"
 msgstr ""
 
-#: wt-status.c:262
+#: wt-status.c:272
 msgid "deleted by them:"
 msgstr ""
 
-#: wt-status.c:264
+#: wt-status.c:274
 msgid "added by them:"
 msgstr ""
 
-#: wt-status.c:266
+#: wt-status.c:276
 msgid "deleted by us:"
 msgstr ""
 
-#: wt-status.c:268
+#: wt-status.c:278
 msgid "both added:"
 msgstr ""
 
-#: wt-status.c:270
+#: wt-status.c:280
 msgid "both modified:"
 msgstr ""
 
-#: wt-status.c:280
+#: wt-status.c:290
 msgid "new file:"
 msgstr ""
 
-#: wt-status.c:282
+#: wt-status.c:292
 msgid "copied:"
 msgstr ""
 
-#: wt-status.c:284
+#: wt-status.c:294
 msgid "deleted:"
 msgstr ""
 
-#: wt-status.c:286
+#: wt-status.c:296
 msgid "modified:"
 msgstr ""
 
-#: wt-status.c:288
+#: wt-status.c:298
 msgid "renamed:"
 msgstr ""
 
-#: wt-status.c:290
+#: wt-status.c:300
 msgid "typechange:"
 msgstr ""
 
-#: wt-status.c:292
+#: wt-status.c:302
 msgid "unknown:"
 msgstr ""
 
-#: wt-status.c:294
+#: wt-status.c:304
 msgid "unmerged:"
 msgstr ""
 
-#: wt-status.c:374
+#: wt-status.c:384
 msgid "new commits, "
 msgstr ""
 
-#: wt-status.c:376
+#: wt-status.c:386
 msgid "modified content, "
 msgstr ""
 
-#: wt-status.c:378
+#: wt-status.c:388
 msgid "untracked content, "
 msgstr ""
 
-#: wt-status.c:896
+#: wt-status.c:906
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:928
+#: wt-status.c:938
 msgid "Submodules changed but not updated:"
 msgstr ""
 
-#: wt-status.c:930
+#: wt-status.c:940
 msgid "Submodule changes to be committed:"
 msgstr ""
 
-#: wt-status.c:1012
+#: wt-status.c:1022
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
 msgstr ""
 
-#: wt-status.c:1119
+#: wt-status.c:1114
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to compute the branch ahead/behind values.\n"
+"You can use '--no-ahead-behind' to avoid this.\n"
+msgstr ""
+
+#: wt-status.c:1144
 msgid "You have unmerged paths."
 msgstr ""
 
-#: wt-status.c:1122
+#: wt-status.c:1147
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr ""
 
-#: wt-status.c:1124
+#: wt-status.c:1149
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr ""
 
-#: wt-status.c:1128
+#: wt-status.c:1153
 msgid "All conflicts fixed but you are still merging."
 msgstr ""
 
-#: wt-status.c:1131
+#: wt-status.c:1156
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr ""
 
-#: wt-status.c:1140
+#: wt-status.c:1165
 msgid "You are in the middle of an am session."
 msgstr ""
 
-#: wt-status.c:1143
+#: wt-status.c:1168
 msgid "The current patch is empty."
 msgstr ""
 
-#: wt-status.c:1147
+#: wt-status.c:1172
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr ""
 
-#: wt-status.c:1149
+#: wt-status.c:1174
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1151
+#: wt-status.c:1176
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr ""
 
-#: wt-status.c:1284
+#: wt-status.c:1309
 msgid "git-rebase-todo is missing."
 msgstr ""
 
-#: wt-status.c:1286
+#: wt-status.c:1311
 msgid "No commands done."
 msgstr ""
 
-#: wt-status.c:1289
+#: wt-status.c:1314
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1300
+#: wt-status.c:1325
 #, c-format
 msgid "  (see more in file %s)"
 msgstr ""
 
-#: wt-status.c:1305
+#: wt-status.c:1330
 msgid "No commands remaining."
 msgstr ""
 
-#: wt-status.c:1308
+#: wt-status.c:1333
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1316
+#: wt-status.c:1341
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr ""
 
-#: wt-status.c:1328
+#: wt-status.c:1353
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1333
+#: wt-status.c:1358
 msgid "You are currently rebasing."
 msgstr ""
 
-#: wt-status.c:1346
+#: wt-status.c:1371
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1348
+#: wt-status.c:1373
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1350
+#: wt-status.c:1375
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 
-#: wt-status.c:1357
+#: wt-status.c:1382
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1361
+#: wt-status.c:1386
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1366
+#: wt-status.c:1391
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1369
+#: wt-status.c:1394
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1373
+#: wt-status.c:1398
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1378
+#: wt-status.c:1403
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1381
+#: wt-status.c:1406
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 
-#: wt-status.c:1383
+#: wt-status.c:1408
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 
-#: wt-status.c:1394
+#: wt-status.c:1419
 msgid "Cherry-pick currently in progress."
 msgstr ""
 
-#: wt-status.c:1397
+#: wt-status.c:1422
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr ""
 
-#: wt-status.c:1404
+#: wt-status.c:1429
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1407
+#: wt-status.c:1432
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr ""
 
-#: wt-status.c:1410
+#: wt-status.c:1435
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1412
+#: wt-status.c:1437
+msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
+msgstr ""
+
+#: wt-status.c:1439
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 
-#: wt-status.c:1422
+#: wt-status.c:1449
 msgid "Revert currently in progress."
 msgstr ""
 
-#: wt-status.c:1425
+#: wt-status.c:1452
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr ""
 
-#: wt-status.c:1431
+#: wt-status.c:1458
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1434
+#: wt-status.c:1461
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr ""
 
-#: wt-status.c:1437
+#: wt-status.c:1464
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1439
+#: wt-status.c:1466
+msgid "  (use \"git revert --skip\" to skip this patch)"
+msgstr ""
+
+#: wt-status.c:1468
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 
-#: wt-status.c:1449
+#: wt-status.c:1478
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 
-#: wt-status.c:1453
+#: wt-status.c:1482
 msgid "You are currently bisecting."
 msgstr ""
 
-#: wt-status.c:1456
+#: wt-status.c:1485
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 
-#: wt-status.c:1665
+#: wt-status.c:1694
 msgid "On branch "
 msgstr ""
 
-#: wt-status.c:1672
+#: wt-status.c:1701
 msgid "interactive rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1674
+#: wt-status.c:1703
 msgid "rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1679
-msgid "HEAD detached at "
-msgstr ""
-
-#: wt-status.c:1681
-msgid "HEAD detached from "
-msgstr ""
-
-#: wt-status.c:1684
+#: wt-status.c:1713
 msgid "Not currently on any branch."
 msgstr ""
 
-#: wt-status.c:1701
+#: wt-status.c:1730
 msgid "Initial commit"
 msgstr ""
 
-#: wt-status.c:1702
+#: wt-status.c:1731
 msgid "No commits yet"
 msgstr ""
 
-#: wt-status.c:1716
+#: wt-status.c:1745
 msgid "Untracked files"
 msgstr ""
 
-#: wt-status.c:1718
+#: wt-status.c:1747
 msgid "Ignored files"
 msgstr ""
 
-#: wt-status.c:1722
+#: wt-status.c:1751
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -7606,216 +8234,221 @@ msgid ""
 "new files yourself (see 'git help status')."
 msgstr ""
 
-#: wt-status.c:1728
+#: wt-status.c:1757
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr ""
 
-#: wt-status.c:1730
+#: wt-status.c:1759
 msgid " (use -u option to show untracked files)"
 msgstr ""
 
-#: wt-status.c:1736
+#: wt-status.c:1765
 msgid "No changes"
 msgstr ""
 
-#: wt-status.c:1741
+#: wt-status.c:1770
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 
-#: wt-status.c:1744
+#: wt-status.c:1773
 #, c-format
 msgid "no changes added to commit\n"
 msgstr ""
 
-#: wt-status.c:1747
+#: wt-status.c:1776
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr ""
 
-#: wt-status.c:1750
+#: wt-status.c:1779
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 
-#: wt-status.c:1753
+#: wt-status.c:1782
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 
-#: wt-status.c:1756 wt-status.c:1761
+#: wt-status.c:1785 wt-status.c:1790
 #, c-format
 msgid "nothing to commit\n"
 msgstr ""
 
-#: wt-status.c:1759
+#: wt-status.c:1788
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 
-#: wt-status.c:1763
+#: wt-status.c:1792
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr ""
 
-#: wt-status.c:1876
+#: wt-status.c:1905
 msgid "No commits yet on "
 msgstr ""
 
-#: wt-status.c:1880
+#: wt-status.c:1909
 msgid "HEAD (no branch)"
 msgstr ""
 
-#: wt-status.c:1911
+#: wt-status.c:1940
 msgid "different"
 msgstr ""
 
-#: wt-status.c:1913 wt-status.c:1921
+#: wt-status.c:1942 wt-status.c:1950
 msgid "behind "
 msgstr ""
 
-#: wt-status.c:1916 wt-status.c:1919
+#: wt-status.c:1945 wt-status.c:1948
 msgid "ahead "
 msgstr ""
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2443
+#: wt-status.c:2470
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr ""
 
-#: wt-status.c:2449
+#: wt-status.c:2476
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 
-#: wt-status.c:2451
+#: wt-status.c:2478
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 
-#: builtin/add.c:25
+#: compat/precompose_utf8.c:58 builtin/clone.c:455
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr ""
+
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr ""
 
-#: builtin/add.c:84
+#: builtin/add.c:87
 #, c-format
 msgid "unexpected diff status %c"
 msgstr ""
 
-#: builtin/add.c:89 builtin/commit.c:285
+#: builtin/add.c:92 builtin/commit.c:288
 msgid "updating files failed"
 msgstr ""
 
-#: builtin/add.c:99
+#: builtin/add.c:102
 #, c-format
 msgid "remove '%s'\n"
 msgstr ""
 
-#: builtin/add.c:174
+#: builtin/add.c:177
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 
-#: builtin/add.c:234 builtin/rev-parse.c:896
+#: builtin/add.c:252 builtin/rev-parse.c:899
 msgid "Could not read the index"
 msgstr ""
 
-#: builtin/add.c:245
+#: builtin/add.c:263
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr ""
 
-#: builtin/add.c:249
+#: builtin/add.c:267
 msgid "Could not write patch"
 msgstr ""
 
-#: builtin/add.c:252
+#: builtin/add.c:270
 msgid "editing patch failed"
 msgstr ""
 
-#: builtin/add.c:255
+#: builtin/add.c:273
 #, c-format
 msgid "Could not stat '%s'"
 msgstr ""
 
-#: builtin/add.c:257
+#: builtin/add.c:275
 msgid "Empty patch. Aborted."
 msgstr ""
 
-#: builtin/add.c:262
+#: builtin/add.c:280
 #, c-format
 msgid "Could not apply '%s'"
 msgstr ""
 
-#: builtin/add.c:270
+#: builtin/add.c:288
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 
-#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
-#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
+#: builtin/add.c:308 builtin/clean.c:910 builtin/fetch.c:163 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:223 builtin/push.c:548
+#: builtin/remote.c:1344 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr ""
 
-#: builtin/add.c:293
+#: builtin/add.c:311
 msgid "interactive picking"
 msgstr ""
 
-#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
+#: builtin/add.c:312 builtin/checkout.c:1482 builtin/reset.c:307
 msgid "select hunks interactively"
 msgstr ""
 
-#: builtin/add.c:295
+#: builtin/add.c:313
 msgid "edit current diff and apply"
 msgstr ""
 
-#: builtin/add.c:296
+#: builtin/add.c:314
 msgid "allow adding otherwise ignored files"
 msgstr ""
 
-#: builtin/add.c:297
+#: builtin/add.c:315
 msgid "update tracked files"
 msgstr ""
 
-#: builtin/add.c:298
+#: builtin/add.c:316
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr ""
 
-#: builtin/add.c:299
+#: builtin/add.c:317
 msgid "record only the fact that the path will be added later"
 msgstr ""
 
-#: builtin/add.c:300
+#: builtin/add.c:318
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 
-#: builtin/add.c:303
+#: builtin/add.c:321
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 
-#: builtin/add.c:305
+#: builtin/add.c:323
 msgid "don't add, only refresh the index"
 msgstr ""
 
-#: builtin/add.c:306
+#: builtin/add.c:324
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 
-#: builtin/add.c:307
+#: builtin/add.c:325
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 
-#: builtin/add.c:309 builtin/update-index.c:1001
+#: builtin/add.c:327 builtin/update-index.c:1004
 msgid "override the executable bit of the listed files"
 msgstr ""
 
-#: builtin/add.c:311
+#: builtin/add.c:329
 msgid "warn when adding an embedded repository"
 msgstr ""
 
-#: builtin/add.c:326
+#: builtin/add.c:347
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -7833,173 +8466,183 @@ msgid ""
 "See \"git help submodule\" for more information."
 msgstr ""
 
-#: builtin/add.c:354
+#: builtin/add.c:375
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr ""
 
-#: builtin/add.c:372
+#: builtin/add.c:393
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr ""
 
-#: builtin/add.c:379
+#: builtin/add.c:400
 msgid "adding files failed"
 msgstr ""
 
-#: builtin/add.c:419
+#: builtin/add.c:428 builtin/commit.c:348
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr ""
+
+#: builtin/add.c:434
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr ""
+
+#: builtin/add.c:446
 msgid "-A and -u are mutually incompatible"
 msgstr ""
 
-#: builtin/add.c:426
+#: builtin/add.c:449
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 
-#: builtin/add.c:430
+#: builtin/add.c:453
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr ""
 
-#: builtin/add.c:445
+#: builtin/add.c:471 builtin/checkout.c:1648 builtin/commit.c:354
+#: builtin/reset.c:327
+msgid "--pathspec-from-file is incompatible with pathspec arguments"
+msgstr ""
+
+#: builtin/add.c:478 builtin/checkout.c:1660 builtin/commit.c:360
+#: builtin/reset.c:333
+msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgstr ""
+
+#: builtin/add.c:482
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr ""
 
-#: builtin/add.c:446
+#: builtin/add.c:483
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr ""
 
-#: builtin/am.c:348
+#: builtin/am.c:347
 msgid "could not parse author script"
 msgstr ""
 
-#: builtin/am.c:432
+#: builtin/am.c:431
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr ""
 
-#: builtin/am.c:474
+#: builtin/am.c:473
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr ""
 
-#: builtin/am.c:512
+#: builtin/am.c:511
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr ""
 
-#: builtin/am.c:538
+#: builtin/am.c:537
 msgid "fseek failed"
 msgstr ""
 
-#: builtin/am.c:726
+#: builtin/am.c:725
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr ""
 
-#: builtin/am.c:791
+#: builtin/am.c:790
 msgid "Only one StGIT patch series can be applied at once"
 msgstr ""
 
-#: builtin/am.c:839
+#: builtin/am.c:838
 msgid "invalid timestamp"
 msgstr ""
 
-#: builtin/am.c:844 builtin/am.c:856
+#: builtin/am.c:843 builtin/am.c:855
 msgid "invalid Date line"
 msgstr ""
 
-#: builtin/am.c:851
+#: builtin/am.c:850
 msgid "invalid timezone offset"
 msgstr ""
 
-#: builtin/am.c:944
+#: builtin/am.c:943
 msgid "Patch format detection failed."
 msgstr ""
 
-#: builtin/am.c:949 builtin/clone.c:409
+#: builtin/am.c:948 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr ""
 
-#: builtin/am.c:954
+#: builtin/am.c:953
 msgid "Failed to split patches."
 msgstr ""
 
-#: builtin/am.c:1084 builtin/commit.c:371
-msgid "unable to write index file"
-msgstr ""
-
-#: builtin/am.c:1098
+#: builtin/am.c:1084
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr ""
 
-#: builtin/am.c:1099
+#: builtin/am.c:1085
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 
-#: builtin/am.c:1100
+#: builtin/am.c:1086
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 
-#: builtin/am.c:1183
+#: builtin/am.c:1169
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 
-#: builtin/am.c:1211
+#: builtin/am.c:1197
 msgid "Patch is empty."
 msgstr ""
 
-#: builtin/am.c:1277
+#: builtin/am.c:1262
 #, c-format
-msgid "invalid ident line: %.*s"
+msgid "missing author line in commit %s"
 msgstr ""
 
-#: builtin/am.c:1299
+#: builtin/am.c:1265
 #, c-format
-msgid "unable to parse commit %s"
+msgid "invalid ident line: %.*s"
 msgstr ""
 
-#: builtin/am.c:1495
+#: builtin/am.c:1484
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 
-#: builtin/am.c:1497
+#: builtin/am.c:1486
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 
-#: builtin/am.c:1516
+#: builtin/am.c:1505
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
 msgstr ""
 
-#: builtin/am.c:1522
+#: builtin/am.c:1511
 msgid "Falling back to patching base and 3-way merge..."
 msgstr ""
 
-#: builtin/am.c:1548
+#: builtin/am.c:1537
 msgid "Failed to merge in the changes."
 msgstr ""
 
-#: builtin/am.c:1580
+#: builtin/am.c:1569
 msgid "applying to an empty history"
 msgstr ""
 
-#: builtin/am.c:1627 builtin/am.c:1631
+#: builtin/am.c:1616 builtin/am.c:1620
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr ""
 
-#: builtin/am.c:1647
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr ""
-
-#: builtin/am.c:1652
+#: builtin/am.c:1638
 msgid "Commit Body is:"
 msgstr ""
 
@@ -8007,41 +8650,46 @@ msgstr ""
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1662
+#: builtin/am.c:1648
+#, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 
-#: builtin/am.c:1712
+#: builtin/am.c:1695 builtin/commit.c:394
+msgid "unable to write index file"
+msgstr ""
+
+#: builtin/am.c:1699
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr ""
 
-#: builtin/am.c:1752 builtin/am.c:1820
+#: builtin/am.c:1739 builtin/am.c:1807
 #, c-format
 msgid "Applying: %.*s"
 msgstr ""
 
-#: builtin/am.c:1769
+#: builtin/am.c:1756
 msgid "No changes -- Patch already applied."
 msgstr ""
 
-#: builtin/am.c:1775
+#: builtin/am.c:1762
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr ""
 
-#: builtin/am.c:1779
+#: builtin/am.c:1766
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr ""
 
-#: builtin/am.c:1823
+#: builtin/am.c:1810
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
 "already introduced the same changes; you might want to skip this patch."
 msgstr ""
 
-#: builtin/am.c:1830
+#: builtin/am.c:1817
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -8049,184 +8697,188 @@ msgid ""
 "You might run `git rm` on a file to accept \"deleted by them\" for it."
 msgstr ""
 
-#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
-#: builtin/reset.c:337
+#: builtin/am.c:1924 builtin/am.c:1928 builtin/am.c:1940 builtin/reset.c:346
+#: builtin/reset.c:354
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr ""
 
-#: builtin/am.c:1989
+#: builtin/am.c:1976
 msgid "failed to clean index"
 msgstr ""
 
-#: builtin/am.c:2033
+#: builtin/am.c:2020
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr ""
 
-#: builtin/am.c:2130
+#: builtin/am.c:2117
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr ""
 
-#: builtin/am.c:2166
+#: builtin/am.c:2153
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr ""
 
-#: builtin/am.c:2167
+#: builtin/am.c:2154
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr ""
 
-#: builtin/am.c:2173
+#: builtin/am.c:2160
 msgid "run interactively"
 msgstr ""
 
-#: builtin/am.c:2175
+#: builtin/am.c:2162
 msgid "historical option -- no-op"
 msgstr ""
 
-#: builtin/am.c:2177
+#: builtin/am.c:2164
 msgid "allow fall back on 3way merging if needed"
 msgstr ""
 
-#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:306 builtin/stash.c:805
+#: builtin/am.c:2165 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:304 builtin/stash.c:811
 msgid "be quiet"
 msgstr ""
 
-#: builtin/am.c:2180
+#: builtin/am.c:2167
 msgid "add a Signed-off-by line to the commit message"
 msgstr ""
 
-#: builtin/am.c:2183
+#: builtin/am.c:2170
 msgid "recode into utf8 (default)"
 msgstr ""
 
-#: builtin/am.c:2185
+#: builtin/am.c:2172
 msgid "pass -k flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2187
+#: builtin/am.c:2174
 msgid "pass -b flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2189
+#: builtin/am.c:2176
 msgid "pass -m flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2191
+#: builtin/am.c:2178
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr ""
 
-#: builtin/am.c:2194
+#: builtin/am.c:2181
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 
-#: builtin/am.c:2197
+#: builtin/am.c:2184
 msgid "strip everything before a scissors line"
 msgstr ""
 
-#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
-#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
-#: builtin/am.c:2226
+#: builtin/am.c:2186 builtin/am.c:2189 builtin/am.c:2192 builtin/am.c:2195
+#: builtin/am.c:2198 builtin/am.c:2201 builtin/am.c:2204 builtin/am.c:2207
+#: builtin/am.c:2213
 msgid "pass it through git-apply"
 msgstr ""
 
-#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
-#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
-#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
-#: parse-options.h:141 parse-options.h:162 parse-options.h:311
+#: builtin/am.c:2203 builtin/commit.c:1386 builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:676 builtin/grep.c:883 builtin/merge.c:249
+#: builtin/pull.c:160 builtin/pull.c:219 builtin/rebase.c:1469
+#: builtin/repack.c:315 builtin/repack.c:319 builtin/repack.c:321
+#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
+#: parse-options.h:154 parse-options.h:175 parse-options.h:316
 msgid "n"
 msgstr ""
 
-#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
-#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
+#: builtin/am.c:2209 builtin/branch.c:661 builtin/for-each-ref.c:38
+#: builtin/replace.c:555 builtin/tag.c:437 builtin/verify-tag.c:38
 msgid "format"
 msgstr ""
 
-#: builtin/am.c:2223
+#: builtin/am.c:2210
 msgid "format the patch(es) are in"
 msgstr ""
 
-#: builtin/am.c:2229
+#: builtin/am.c:2216
 msgid "override error message when patch failure occurs"
 msgstr ""
 
-#: builtin/am.c:2231
+#: builtin/am.c:2218
 msgid "continue applying patches after resolving a conflict"
 msgstr ""
 
-#: builtin/am.c:2234
+#: builtin/am.c:2221
 msgid "synonyms for --continue"
 msgstr ""
 
-#: builtin/am.c:2237
+#: builtin/am.c:2224
 msgid "skip the current patch"
 msgstr ""
 
-#: builtin/am.c:2240
+#: builtin/am.c:2227
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 
-#: builtin/am.c:2243
+#: builtin/am.c:2230
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr ""
 
-#: builtin/am.c:2246
+#: builtin/am.c:2233
 msgid "show the patch being applied."
 msgstr ""
 
-#: builtin/am.c:2250
+#: builtin/am.c:2237
 msgid "lie about committer date"
 msgstr ""
 
-#: builtin/am.c:2252
+#: builtin/am.c:2239
 msgid "use current timestamp for author date"
 msgstr ""
 
-#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
-#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
-#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
+#: builtin/am.c:2241 builtin/commit-tree.c:120 builtin/commit.c:1507
+#: builtin/merge.c:286 builtin/pull.c:194 builtin/rebase.c:509
+#: builtin/rebase.c:1513 builtin/revert.c:117 builtin/tag.c:418
 msgid "key-id"
 msgstr ""
 
-#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
+#: builtin/am.c:2242 builtin/rebase.c:510 builtin/rebase.c:1514
 msgid "GPG-sign commits"
 msgstr ""
 
-#: builtin/am.c:2258
+#: builtin/am.c:2245
 msgid "(internal use for git-rebase)"
 msgstr ""
 
-#: builtin/am.c:2276
+#: builtin/am.c:2263
 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."
 msgstr ""
 
-#: builtin/am.c:2283
+#: builtin/am.c:2270
 msgid "failed to read the index"
 msgstr ""
 
-#: builtin/am.c:2298
+#: builtin/am.c:2285
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 
-#: builtin/am.c:2322
+#: builtin/am.c:2309
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
 "Use \"git am --abort\" to remove it."
 msgstr ""
 
-#: builtin/am.c:2328
+#: builtin/am.c:2315
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr ""
 
+#: builtin/am.c:2325
+msgid "interactive mode requires patches on the command line"
+msgstr ""
+
 #: builtin/apply.c:8
 msgid "git apply [<options>] [<patch>...]"
 msgstr ""
@@ -8338,40 +8990,40 @@ msgstr ""
 msgid "'%s' is not a valid commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:174
+#: builtin/bisect--helper.c:172
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
 msgstr ""
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:216
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr ""
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:221
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr ""
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:233
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr ""
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:259
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr ""
 
-#: builtin/bisect--helper.c:285
+#: builtin/bisect--helper.c:286
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
 "You can use \"git bisect %s\" and \"git bisect %s\" for that."
 msgstr ""
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:290
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -8379,7 +9031,7 @@ msgid ""
 "You can use \"git bisect %s\" and \"git bisect %s\" for that."
 msgstr ""
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:322
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr ""
@@ -8388,266 +9040,284 @@ msgstr ""
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:330
 msgid "Are you sure [Y/n]? "
 msgstr ""
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:377
 msgid "no terms defined"
 msgstr ""
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:380
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
 "and %s for the new state.\n"
 msgstr ""
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:390
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
 "Supported options are: --term-good|--term-old and --term-bad|--term-new."
 msgstr ""
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:476
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr ""
 
-#: builtin/bisect--helper.c:479
+#: builtin/bisect--helper.c:480
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr ""
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:512
 msgid "bad HEAD - I need a HEAD"
 msgstr ""
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:527
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr ""
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:548
 msgid "won't bisect on cg-seek'ed tree"
 msgstr ""
 
-#: builtin/bisect--helper.c:550
+#: builtin/bisect--helper.c:551
 msgid "bad HEAD - strange symbolic ref"
 msgstr ""
 
-#: builtin/bisect--helper.c:627
+#: builtin/bisect--helper.c:575
+#, c-format
+msgid "invalid ref: '%s'"
+msgstr ""
+
+#: builtin/bisect--helper.c:631
 msgid "perform 'git bisect next'"
 msgstr ""
 
-#: builtin/bisect--helper.c:629
+#: builtin/bisect--helper.c:633
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr ""
 
-#: builtin/bisect--helper.c:631
+#: builtin/bisect--helper.c:635
 msgid "cleanup the bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:633
+#: builtin/bisect--helper.c:637
 msgid "check for expected revs"
 msgstr ""
 
-#: builtin/bisect--helper.c:635
+#: builtin/bisect--helper.c:639
 msgid "reset the bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:637
+#: builtin/bisect--helper.c:641
 msgid "write out the bisection state in BISECT_LOG"
 msgstr ""
 
-#: builtin/bisect--helper.c:639
+#: builtin/bisect--helper.c:643
 msgid "check and set terms in a bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:641
+#: builtin/bisect--helper.c:645
 msgid "check whether bad or good terms exist"
 msgstr ""
 
-#: builtin/bisect--helper.c:643
+#: builtin/bisect--helper.c:647
 msgid "print out the bisect terms"
 msgstr ""
 
-#: builtin/bisect--helper.c:645
+#: builtin/bisect--helper.c:649
 msgid "start the bisect session"
 msgstr ""
 
-#: builtin/bisect--helper.c:647
+#: builtin/bisect--helper.c:651
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:649
+#: builtin/bisect--helper.c:653
 msgid "no log for BISECT_WRITE"
 msgstr ""
 
-#: builtin/bisect--helper.c:666
+#: builtin/bisect--helper.c:670
 msgid "--write-terms requires two arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:670
+#: builtin/bisect--helper.c:674
 msgid "--bisect-clean-state requires no arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:677
+#: builtin/bisect--helper.c:681
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:681
+#: builtin/bisect--helper.c:685
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:687
+#: builtin/bisect--helper.c:691
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:693
+#: builtin/bisect--helper.c:697
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:699
+#: builtin/bisect--helper.c:703
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr ""
 
-#: builtin/blame.c:32
+#: builtin/blame.c:31
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr ""
 
-#: builtin/blame.c:37
+#: builtin/blame.c:36
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr ""
 
-#: builtin/blame.c:407
+#: builtin/blame.c:409
 #, c-format
 msgid "expecting a color: %s"
 msgstr ""
 
-#: builtin/blame.c:414
+#: builtin/blame.c:416
 msgid "must end with a color"
 msgstr ""
 
-#: builtin/blame.c:701
+#: builtin/blame.c:729
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr ""
 
-#: builtin/blame.c:719
+#: builtin/blame.c:747
 msgid "invalid value for blame.coloring"
 msgstr ""
 
-#: builtin/blame.c:794
+#: builtin/blame.c:822
+#, c-format
+msgid "cannot find revision %s to ignore"
+msgstr ""
+
+#: builtin/blame.c:844
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 
-#: builtin/blame.c:795
+#: builtin/blame.c:845
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:796
+#: builtin/blame.c:846
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:797
+#: builtin/blame.c:847
 msgid "Show work cost statistics"
 msgstr ""
 
-#: builtin/blame.c:798
+#: builtin/blame.c:848
 msgid "Force progress reporting"
 msgstr ""
 
-#: builtin/blame.c:799
+#: builtin/blame.c:849
 msgid "Show output score for blame entries"
 msgstr ""
 
-#: builtin/blame.c:800
+#: builtin/blame.c:850
 msgid "Show original filename (Default: auto)"
 msgstr ""
 
-#: builtin/blame.c:801
+#: builtin/blame.c:851
 msgid "Show original linenumber (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:802
+#: builtin/blame.c:852
 msgid "Show in a format designed for machine consumption"
 msgstr ""
 
-#: builtin/blame.c:803
+#: builtin/blame.c:853
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 
-#: builtin/blame.c:804
+#: builtin/blame.c:854
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:805
+#: builtin/blame.c:855
 msgid "Show raw timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:806
+#: builtin/blame.c:856
 msgid "Show long commit SHA1 (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:807
+#: builtin/blame.c:857
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:808
+#: builtin/blame.c:858
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:809
+#: builtin/blame.c:859
 msgid "Ignore whitespace differences"
 msgstr ""
 
-#: builtin/blame.c:810
-msgid "color redundant metadata from previous line differently"
+#: builtin/blame.c:860 builtin/log.c:1702
+msgid "rev"
 msgstr ""
 
-#: builtin/blame.c:811
-msgid "color lines by age"
+#: builtin/blame.c:860
+msgid "Ignore <rev> when blaming"
+msgstr ""
+
+#: builtin/blame.c:861
+msgid "Ignore revisions from <file>"
+msgstr ""
+
+#: builtin/blame.c:862
+msgid "color redundant metadata from previous line differently"
 msgstr ""
 
-#: builtin/blame.c:818
-msgid "Use an experimental heuristic to improve diffs"
+#: builtin/blame.c:863
+msgid "color lines by age"
 msgstr ""
 
-#: builtin/blame.c:820
+#: builtin/blame.c:864
 msgid "Spend extra cycles to find better match"
 msgstr ""
 
-#: builtin/blame.c:821
+#: builtin/blame.c:865
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 
-#: builtin/blame.c:822
+#: builtin/blame.c:866
 msgid "Use <file>'s contents as the final image"
 msgstr ""
 
-#: builtin/blame.c:823 builtin/blame.c:824
+#: builtin/blame.c:867 builtin/blame.c:868
 msgid "score"
 msgstr ""
 
-#: builtin/blame.c:823
+#: builtin/blame.c:867
 msgid "Find line copies within and across files"
 msgstr ""
 
-#: builtin/blame.c:824
+#: builtin/blame.c:868
 msgid "Find line movements within and across files"
 msgstr ""
 
-#: builtin/blame.c:825
+#: builtin/blame.c:869
 msgid "n,m"
 msgstr ""
 
-#: builtin/blame.c:825
+#: builtin/blame.c:869
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 
-#: builtin/blame.c:876
+#: builtin/blame.c:921
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 
@@ -8659,18 +9329,18 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:927
+#: builtin/blame.c:972
 msgid "4 years, 11 months ago"
 msgstr ""
 
-#: builtin/blame.c:1031
+#: builtin/blame.c:1079
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/blame.c:1077
+#: builtin/blame.c:1125
 msgid "Blaming lines"
 msgstr ""
 
@@ -8702,147 +9372,147 @@ msgstr ""
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr ""
 
-#: builtin/branch.c:151
+#: builtin/branch.c:154
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 msgstr ""
 
-#: builtin/branch.c:155
+#: builtin/branch.c:158
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
 "         '%s', even though it is merged to HEAD."
 msgstr ""
 
-#: builtin/branch.c:169
+#: builtin/branch.c:172
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr ""
 
-#: builtin/branch.c:173
+#: builtin/branch.c:176
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr ""
 
-#: builtin/branch.c:186
+#: builtin/branch.c:189
 msgid "Update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:217
+#: builtin/branch.c:220
 msgid "cannot use -a with -d"
 msgstr ""
 
-#: builtin/branch.c:223
+#: builtin/branch.c:226
 msgid "Couldn't look up commit object for HEAD"
 msgstr ""
 
-#: builtin/branch.c:237
+#: builtin/branch.c:240
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr ""
 
-#: builtin/branch.c:252
+#: builtin/branch.c:255
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:253
+#: builtin/branch.c:256
 #, c-format
 msgid "branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:268
+#: builtin/branch.c:271
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:269
+#: builtin/branch.c:272
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:276
+#: builtin/branch.c:279
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:277
+#: builtin/branch.c:280
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:421 builtin/tag.c:60
+#: builtin/branch.c:429 builtin/tag.c:61
 msgid "unable to parse format string"
 msgstr ""
 
-#: builtin/branch.c:452
+#: builtin/branch.c:460
 msgid "could not resolve HEAD"
 msgstr ""
 
-#: builtin/branch.c:458
+#: builtin/branch.c:466
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr ""
 
-#: builtin/branch.c:473
+#: builtin/branch.c:481
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr ""
 
-#: builtin/branch.c:477
+#: builtin/branch.c:485
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr ""
 
-#: builtin/branch.c:494
+#: builtin/branch.c:502
 msgid "cannot copy the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:496
+#: builtin/branch.c:504
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:507
+#: builtin/branch.c:515
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr ""
 
-#: builtin/branch.c:534
+#: builtin/branch.c:542
 msgid "Branch rename failed"
 msgstr ""
 
-#: builtin/branch.c:536
+#: builtin/branch.c:544
 msgid "Branch copy failed"
 msgstr ""
 
-#: builtin/branch.c:540
+#: builtin/branch.c:548
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:543
+#: builtin/branch.c:551
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr ""
 
-#: builtin/branch.c:549
+#: builtin/branch.c:557
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr ""
 
-#: builtin/branch.c:558
+#: builtin/branch.c:566
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:560
+#: builtin/branch.c:568
 msgid "Branch is copied, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:576
+#: builtin/branch.c:584
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -8850,308 +9520,355 @@ msgid ""
 "Lines starting with '%c' will be stripped.\n"
 msgstr ""
 
-#: builtin/branch.c:610
+#: builtin/branch.c:618
 msgid "Generic options"
 msgstr ""
 
-#: builtin/branch.c:612
+#: builtin/branch.c:620
 msgid "show hash and subject, give twice for upstream branch"
 msgstr ""
 
-#: builtin/branch.c:613
+#: builtin/branch.c:621
 msgid "suppress informational messages"
 msgstr ""
 
-#: builtin/branch.c:614
+#: builtin/branch.c:622
 msgid "set up tracking mode (see git-pull(1))"
 msgstr ""
 
-#: builtin/branch.c:616
+#: builtin/branch.c:624
 msgid "do not use"
 msgstr ""
 
-#: builtin/branch.c:618 builtin/rebase.c:485
+#: builtin/branch.c:626 builtin/rebase.c:505
 msgid "upstream"
 msgstr ""
 
-#: builtin/branch.c:618
+#: builtin/branch.c:626
 msgid "change the upstream info"
 msgstr ""
 
-#: builtin/branch.c:619
-msgid "Unset the upstream info"
+#: builtin/branch.c:627
+msgid "unset the upstream info"
 msgstr ""
 
-#: builtin/branch.c:620
+#: builtin/branch.c:628
 msgid "use colored output"
 msgstr ""
 
-#: builtin/branch.c:621
+#: builtin/branch.c:629
 msgid "act on remote-tracking branches"
 msgstr ""
 
-#: builtin/branch.c:623 builtin/branch.c:625
+#: builtin/branch.c:631 builtin/branch.c:633
 msgid "print only branches that contain the commit"
 msgstr ""
 
-#: builtin/branch.c:624 builtin/branch.c:626
+#: builtin/branch.c:632 builtin/branch.c:634
 msgid "print only branches that don't contain the commit"
 msgstr ""
 
-#: builtin/branch.c:629
+#: builtin/branch.c:637
 msgid "Specific git-branch actions:"
 msgstr ""
 
-#: builtin/branch.c:630
+#: builtin/branch.c:638
 msgid "list both remote-tracking and local branches"
 msgstr ""
 
-#: builtin/branch.c:632
+#: builtin/branch.c:640
 msgid "delete fully merged branch"
 msgstr ""
 
-#: builtin/branch.c:633
+#: builtin/branch.c:641
 msgid "delete branch (even if not merged)"
 msgstr ""
 
-#: builtin/branch.c:634
+#: builtin/branch.c:642
 msgid "move/rename a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:635
+#: builtin/branch.c:643
 msgid "move/rename a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:636
+#: builtin/branch.c:644
 msgid "copy a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:637
+#: builtin/branch.c:645
 msgid "copy a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:638
+#: builtin/branch.c:646
 msgid "list branch names"
 msgstr ""
 
-#: builtin/branch.c:639
+#: builtin/branch.c:647
 msgid "show current branch name"
 msgstr ""
 
-#: builtin/branch.c:640
+#: builtin/branch.c:648
 msgid "create the branch's reflog"
 msgstr ""
 
-#: builtin/branch.c:642
+#: builtin/branch.c:650
 msgid "edit the description for the branch"
 msgstr ""
 
-#: builtin/branch.c:643
+#: builtin/branch.c:651
 msgid "force creation, move/rename, deletion"
 msgstr ""
 
-#: builtin/branch.c:644
+#: builtin/branch.c:652
 msgid "print only branches that are merged"
 msgstr ""
 
-#: builtin/branch.c:645
+#: builtin/branch.c:653
 msgid "print only branches that are not merged"
 msgstr ""
 
-#: builtin/branch.c:646
+#: builtin/branch.c:654
 msgid "list branches in columns"
 msgstr ""
 
-#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:427
+#: builtin/tag.c:433
 msgid "object"
 msgstr ""
 
-#: builtin/branch.c:650
+#: builtin/branch.c:658
 msgid "print only branches of the object"
 msgstr ""
 
-#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
+#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440
 msgid "sorting and filtering are case insensitive"
 msgstr ""
 
-#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432
-#: builtin/verify-tag.c:39
+#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438
+#: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr ""
 
-#: builtin/branch.c:676 builtin/clone.c:748
+#: builtin/branch.c:684 builtin/clone.c:784
 msgid "HEAD not found below refs/heads!"
 msgstr ""
 
-#: builtin/branch.c:700
+#: builtin/branch.c:708
 msgid "--column and --verbose are incompatible"
 msgstr ""
 
-#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
+#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
 msgid "branch name required"
 msgstr ""
 
-#: builtin/branch.c:745
+#: builtin/branch.c:753
 msgid "Cannot give description to detached HEAD"
 msgstr ""
 
-#: builtin/branch.c:750
+#: builtin/branch.c:758
 msgid "cannot edit description of more than one branch"
 msgstr ""
 
-#: builtin/branch.c:757
+#: builtin/branch.c:765
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr ""
 
-#: builtin/branch.c:760
+#: builtin/branch.c:768
 #, c-format
 msgid "No branch named '%s'."
 msgstr ""
 
-#: builtin/branch.c:775
+#: builtin/branch.c:783
 msgid "too many branches for a copy operation"
 msgstr ""
 
-#: builtin/branch.c:784
+#: builtin/branch.c:792
 msgid "too many arguments for a rename operation"
 msgstr ""
 
-#: builtin/branch.c:789
+#: builtin/branch.c:797
 msgid "too many arguments to set new upstream"
 msgstr ""
 
-#: builtin/branch.c:793
+#: builtin/branch.c:801
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:796 builtin/branch.c:819
+#: builtin/branch.c:804 builtin/branch.c:827
 #, c-format
 msgid "no such branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:800
+#: builtin/branch.c:808
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr ""
 
-#: builtin/branch.c:813
+#: builtin/branch.c:821
 msgid "too many arguments to unset upstream"
 msgstr ""
 
-#: builtin/branch.c:817
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:823
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr ""
 
-#: builtin/branch.c:833
-msgid "-a and -r options to 'git branch' do not make sense with a branch name"
+#: builtin/branch.c:841
+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>?"
 msgstr ""
 
-#: builtin/branch.c:836
+#: builtin/branch.c:845
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
 msgstr ""
 
-#: builtin/bundle.c:45
-#, c-format
-msgid "%s is okay\n"
+#: builtin/bundle.c:15 builtin/bundle.c:23
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr ""
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr ""
+
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr ""
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr ""
+
+#: builtin/bundle.c:66 builtin/pack-objects.c:3228
+msgid "do not show progress meter"
+msgstr ""
+
+#: builtin/bundle.c:68 builtin/pack-objects.c:3230
+msgid "show progress meter"
+msgstr ""
+
+#: builtin/bundle.c:70 builtin/pack-objects.c:3232
+msgid "show progress meter during object writing phase"
 msgstr ""
 
-#: builtin/bundle.c:58
+#: builtin/bundle.c:73 builtin/pack-objects.c:3235
+msgid "similar to --all-progress when progress meter is shown"
+msgstr ""
+
+#: builtin/bundle.c:93
 msgid "Need a repository to create a bundle."
 msgstr ""
 
-#: builtin/bundle.c:62
+#: builtin/bundle.c:104
+msgid "do not show bundle details"
+msgstr ""
+
+#: builtin/bundle.c:119
+#, c-format
+msgid "%s is okay\n"
+msgstr ""
+
+#: builtin/bundle.c:160
 msgid "Need a repository to unbundle."
 msgstr ""
 
-#: builtin/cat-file.c:593
+#: builtin/bundle.c:168 builtin/remote.c:1609
+msgid "be verbose; must be placed before a subcommand"
+msgstr ""
+
+#: builtin/bundle.c:190 builtin/remote.c:1640
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr ""
+
+#: builtin/cat-file.c:595
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
 msgstr ""
 
-#: builtin/cat-file.c:594
+#: builtin/cat-file.c:596
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 msgstr ""
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:617
 msgid "only one batch option may be specified"
 msgstr ""
 
-#: builtin/cat-file.c:633
+#: builtin/cat-file.c:635
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr ""
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:636
 msgid "show object type"
 msgstr ""
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:637
 msgid "show object size"
 msgstr ""
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:639
 msgid "exit with zero when there's no error"
 msgstr ""
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:640
 msgid "pretty-print object's content"
 msgstr ""
 
-#: builtin/cat-file.c:640
+#: builtin/cat-file.c:642
 msgid "for blob objects, run textconv on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:642
+#: builtin/cat-file.c:644
 msgid "for blob objects, run filters on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:643 git-submodule.sh:936
+#: builtin/cat-file.c:645 git-submodule.sh:992
 msgid "blob"
 msgstr ""
 
-#: builtin/cat-file.c:644
+#: builtin/cat-file.c:646
 msgid "use a specific path for --textconv/--filters"
 msgstr ""
 
-#: builtin/cat-file.c:646
+#: builtin/cat-file.c:648
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr ""
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:649
 msgid "buffer --batch output"
 msgstr ""
 
-#: builtin/cat-file.c:649
+#: builtin/cat-file.c:651
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 
-#: builtin/cat-file.c:653
+#: builtin/cat-file.c:655
 msgid "show info about objects fed from the standard input"
 msgstr ""
 
-#: builtin/cat-file.c:657
+#: builtin/cat-file.c:659
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 
-#: builtin/cat-file.c:659
+#: builtin/cat-file.c:661
 msgid "show all objects with --batch or --batch-check"
 msgstr ""
 
-#: builtin/cat-file.c:661
+#: builtin/cat-file.c:663
 msgid "do not order --batch-all-objects output"
 msgstr ""
 
@@ -9179,8 +9896,8 @@ msgstr ""
 msgid "terminate input and output records by a NUL character"
 msgstr ""
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538
-#: builtin/worktree.c:499
+#: builtin/check-ignore.c:21 builtin/checkout.c:1435 builtin/gc.c:537
+#: builtin/worktree.c:506
 msgid "suppress progress reporting"
 msgstr ""
 
@@ -9270,9 +9987,9 @@ msgid "write the content to temporary files"
 msgstr ""
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
-#: builtin/worktree.c:672
+#: builtin/submodule--helper.c:1385 builtin/submodule--helper.c:1388
+#: builtin/submodule--helper.c:1396 builtin/submodule--helper.c:1882
+#: builtin/worktree.c:679
 msgid "string"
 msgstr ""
 
@@ -9284,146 +10001,164 @@ msgstr ""
 msgid "copy out the files from named stage"
 msgstr ""
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
 msgstr ""
 
-#: builtin/checkout.c:33
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr ""
 
-#: builtin/checkout.c:151 builtin/checkout.c:190
+#: builtin/checkout.c:37
+msgid "git switch [<options>] [<branch>]"
+msgstr ""
+
+#: builtin/checkout.c:42
+msgid "git restore [<options>] [--source=<branch>] <file>..."
+msgstr ""
+
+#: builtin/checkout.c:175 builtin/checkout.c:214
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr ""
 
-#: builtin/checkout.c:153 builtin/checkout.c:192
+#: builtin/checkout.c:177 builtin/checkout.c:216
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr ""
 
-#: builtin/checkout.c:169
+#: builtin/checkout.c:193
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:219
+#: builtin/checkout.c:243
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:237
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr ""
 
-#: builtin/checkout.c:253
+#: builtin/checkout.c:277
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr ""
 
-#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337
-#: builtin/checkout.c:340
+#: builtin/checkout.c:377
+#, c-format
+msgid "Recreated %d merge conflict"
+msgid_plural "Recreated %d merge conflicts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/checkout.c:382
+#, c-format
+msgid "Updated %d path from %s"
+msgid_plural "Updated %d paths from %s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/checkout.c:389
+#, c-format
+msgid "Updated %d path from the index"
+msgid_plural "Updated %d paths from the index"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/checkout.c:412 builtin/checkout.c:415 builtin/checkout.c:418
+#: builtin/checkout.c:422
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr ""
 
-#: builtin/checkout.c:343 builtin/checkout.c:346
+#: builtin/checkout.c:425 builtin/checkout.c:428
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr ""
 
-#: builtin/checkout.c:349
+#: builtin/checkout.c:432
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 
-#: builtin/checkout.c:396 builtin/checkout.c:403
+#: builtin/checkout.c:436
 #, c-format
-msgid "path '%s' is unmerged"
+msgid "neither '%s' or '%s' is specified"
 msgstr ""
 
-#: builtin/checkout.c:442
+#: builtin/checkout.c:440
 #, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] ""
-msgstr[1] ""
+msgid "'%s' must be used when '%s' is not specified"
+msgstr ""
 
-#: builtin/checkout.c:447
+#: builtin/checkout.c:445 builtin/checkout.c:450
 #, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] ""
-msgstr[1] ""
+msgid "'%s' or '%s' cannot be used with %s"
+msgstr ""
 
-#: builtin/checkout.c:454
+#: builtin/checkout.c:509 builtin/checkout.c:516
 #, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] ""
-msgstr[1] ""
+msgid "path '%s' is unmerged"
+msgstr ""
 
-#: builtin/checkout.c:695
+#: builtin/checkout.c:682 builtin/sparse-checkout.c:82
 msgid "you need to resolve your current index first"
 msgstr ""
 
-#: builtin/checkout.c:744
+#: builtin/checkout.c:732
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
 "%s"
 msgstr ""
 
-#: builtin/checkout.c:751
-#, c-format
-msgid "staged changes in the following files may be lost: %s"
-msgstr ""
-
-#: builtin/checkout.c:848
+#: builtin/checkout.c:835
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr ""
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:877
 msgid "HEAD is now at"
 msgstr ""
 
-#: builtin/checkout.c:894 builtin/clone.c:701
+#: builtin/checkout.c:881 builtin/clone.c:716
 msgid "unable to update HEAD"
 msgstr ""
 
-#: builtin/checkout.c:898
+#: builtin/checkout.c:885
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:901
+#: builtin/checkout.c:888
 #, c-format
 msgid "Already on '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:905
+#: builtin/checkout.c:892
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:907 builtin/checkout.c:1283
+#: builtin/checkout.c:894 builtin/checkout.c:1291
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:909
+#: builtin/checkout.c:896
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:960
+#: builtin/checkout.c:947
 #, c-format
 msgid " ... and %d more.\n"
 msgstr ""
 
-#: builtin/checkout.c:966
+#: builtin/checkout.c:953
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -9438,7 +10173,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:985
+#: builtin/checkout.c:972
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -9455,181 +10190,240 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:1017
+#: builtin/checkout.c:1007
 msgid "internal error in revision walk"
 msgstr ""
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1011
 msgid "Previous HEAD position was"
 msgstr ""
 
-#: builtin/checkout.c:1052 builtin/checkout.c:1278
+#: builtin/checkout.c:1051 builtin/checkout.c:1286
 msgid "You are on a branch yet to be born"
 msgstr ""
 
-#: builtin/checkout.c:1173
+#: builtin/checkout.c:1178
+msgid "only one reference expected"
+msgstr ""
+
+#: builtin/checkout.c:1195
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr ""
 
-#: builtin/checkout.c:1209
+#: builtin/checkout.c:1232
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
 "Please use -- (and optionally --no-guess) to disambiguate"
 msgstr ""
 
-#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448
+#: builtin/checkout.c:1245 builtin/worktree.c:290 builtin/worktree.c:455
 #, c-format
 msgid "invalid reference: %s"
 msgstr ""
 
-#: builtin/checkout.c:1251
+#: builtin/checkout.c:1258 builtin/checkout.c:1622
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr ""
 
-#: builtin/checkout.c:1292
-msgid "paths cannot be used with switching branches"
+#: builtin/checkout.c:1305
+#, c-format
+msgid "a branch is expected, got tag '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
+#: builtin/checkout.c:1307
 #, c-format
-msgid "'%s' cannot be used with switching branches"
+msgid "a branch is expected, got remote branch '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
-#: builtin/checkout.c:1318
+#: builtin/checkout.c:1308 builtin/checkout.c:1316
 #, c-format
-msgid "'%s' cannot be used with '%s'"
+msgid "a branch is expected, got '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1323
+#: builtin/checkout.c:1311
 #, c-format
-msgid "Cannot switch branch to a non-commit '%s'"
+msgid "a branch is expected, got commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
-#: builtin/worktree.c:494
-msgid "branch"
+#: builtin/checkout.c:1327
+msgid ""
+"cannot switch branch while merging\n"
+"Consider \"git merge --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1357
-msgid "create and checkout a new branch"
+#: builtin/checkout.c:1331
+msgid ""
+"cannot switch branch in the middle of an am session\n"
+"Consider \"git am --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1359
-msgid "create/reset and checkout a branch"
+#: builtin/checkout.c:1335
+msgid ""
+"cannot switch branch while rebasing\n"
+"Consider \"git rebase --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1360
-msgid "create reflog for new branch"
+#: builtin/checkout.c:1339
+msgid ""
+"cannot switch branch while cherry-picking\n"
+"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1361 builtin/worktree.c:496
-msgid "detach HEAD at named commit"
+#: builtin/checkout.c:1343
+msgid ""
+"cannot switch branch while reverting\n"
+"Consider \"git revert --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1362
-msgid "set upstream info for new branch"
+#: builtin/checkout.c:1347
+msgid "you are switching branch while bisecting"
 msgstr ""
 
-#: builtin/checkout.c:1364
-msgid "new-branch"
+#: builtin/checkout.c:1354
+msgid "paths cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1364
-msgid "new unparented branch"
+#: builtin/checkout.c:1357 builtin/checkout.c:1361 builtin/checkout.c:1365
+#, c-format
+msgid "'%s' cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1366
-msgid "checkout our version for unmerged files"
+#: builtin/checkout.c:1369 builtin/checkout.c:1372 builtin/checkout.c:1375
+#: builtin/checkout.c:1380 builtin/checkout.c:1385
+#, c-format
+msgid "'%s' cannot be used with '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1369
-msgid "checkout their version for unmerged files"
+#: builtin/checkout.c:1382
+#, c-format
+msgid "'%s' cannot take <start-point>"
 msgstr ""
 
-#: builtin/checkout.c:1371
-msgid "force checkout (throw away local modifications)"
+#: builtin/checkout.c:1390
+#, c-format
+msgid "Cannot switch branch to a non-commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1373
-msgid "perform a 3-way merge with the new branch"
+#: builtin/checkout.c:1397
+msgid "missing branch or commit argument"
 msgstr ""
 
-#: builtin/checkout.c:1375 builtin/merge.c:284
-msgid "update ignored files (default)"
+#: builtin/checkout.c:1439 builtin/clone.c:91 builtin/commit-graph.c:52
+#: builtin/commit-graph.c:113 builtin/fetch.c:167 builtin/merge.c:285
+#: builtin/multi-pack-index.c:27 builtin/pull.c:138 builtin/push.c:563
+#: builtin/send-pack.c:174
+msgid "force progress reporting"
+msgstr ""
+
+#: builtin/checkout.c:1440
+msgid "perform a 3-way merge with the new branch"
 msgstr ""
 
-#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
+#: builtin/checkout.c:1441 builtin/log.c:1690 parse-options.h:322
 msgid "style"
 msgstr ""
 
-#: builtin/checkout.c:1378
+#: builtin/checkout.c:1442
 msgid "conflict style (merge or diff3)"
 msgstr ""
 
-#: builtin/checkout.c:1381
-msgid "do not limit pathspecs to sparse entries only"
+#: builtin/checkout.c:1454 builtin/worktree.c:503
+msgid "detach HEAD at named commit"
+msgstr ""
+
+#: builtin/checkout.c:1455
+msgid "set upstream info for new branch"
+msgstr ""
+
+#: builtin/checkout.c:1457
+msgid "force checkout (throw away local modifications)"
+msgstr ""
+
+#: builtin/checkout.c:1459
+msgid "new-branch"
+msgstr ""
+
+#: builtin/checkout.c:1459
+msgid "new unparented branch"
 msgstr ""
 
-#: builtin/checkout.c:1383
-msgid "do not second guess 'git checkout <no-such-branch>'"
+#: builtin/checkout.c:1461 builtin/merge.c:288
+msgid "update ignored files (default)"
 msgstr ""
 
-#: builtin/checkout.c:1385
+#: builtin/checkout.c:1464
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 
-#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141
-#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
-#: builtin/send-pack.c:174
-msgid "force progress reporting"
+#: builtin/checkout.c:1477
+msgid "checkout our version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1390
-msgid "use overlay mode (default)"
+#: builtin/checkout.c:1480
+msgid "checkout their version for unmerged files"
+msgstr ""
+
+#: builtin/checkout.c:1484
+msgid "do not limit pathspecs to sparse entries only"
 msgstr ""
 
-#: builtin/checkout.c:1422
+#: builtin/checkout.c:1537
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1425
+#: builtin/checkout.c:1540
 msgid "-p and --overlay are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1442
+#: builtin/checkout.c:1577
 msgid "--track needs a branch name"
 msgstr ""
 
-#: builtin/checkout.c:1447
+#: builtin/checkout.c:1582
 msgid "missing branch name; try -b"
 msgstr ""
 
-#: builtin/checkout.c:1484
+#: builtin/checkout.c:1615
+#, c-format
+msgid "could not resolve %s"
+msgstr ""
+
+#: builtin/checkout.c:1631
 msgid "invalid path specification"
 msgstr ""
 
-#: builtin/checkout.c:1491
+#: builtin/checkout.c:1638
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 
-#: builtin/checkout.c:1495
+#: builtin/checkout.c:1642
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1499
+#: builtin/checkout.c:1651
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr ""
+
+#: builtin/checkout.c:1654 builtin/reset.c:324
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr ""
+
+#: builtin/checkout.c:1665
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 
-#: builtin/checkout.c:1519
+#: builtin/checkout.c:1670
+msgid "you must specify path(s) to restore"
+msgstr ""
+
+#: builtin/checkout.c:1689
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -9646,6 +10440,68 @@ msgid ""
 "checkout.defaultRemote=origin in your config."
 msgstr ""
 
+#: builtin/checkout.c:1714 builtin/checkout.c:1716 builtin/checkout.c:1765
+#: builtin/checkout.c:1767 builtin/clone.c:121 builtin/remote.c:169
+#: builtin/remote.c:171 builtin/worktree.c:499 builtin/worktree.c:501
+msgid "branch"
+msgstr ""
+
+#: builtin/checkout.c:1715
+msgid "create and checkout a new branch"
+msgstr ""
+
+#: builtin/checkout.c:1717
+msgid "create/reset and checkout a branch"
+msgstr ""
+
+#: builtin/checkout.c:1718
+msgid "create reflog for new branch"
+msgstr ""
+
+#: builtin/checkout.c:1720
+msgid "second guess 'git checkout <no-such-branch>' (default)"
+msgstr ""
+
+#: builtin/checkout.c:1721
+msgid "use overlay mode (default)"
+msgstr ""
+
+#: builtin/checkout.c:1766
+msgid "create and switch to a new branch"
+msgstr ""
+
+#: builtin/checkout.c:1768
+msgid "create/reset and switch to a branch"
+msgstr ""
+
+#: builtin/checkout.c:1770
+msgid "second guess 'git switch <no-such-branch>'"
+msgstr ""
+
+#: builtin/checkout.c:1772
+msgid "throw away local modifications"
+msgstr ""
+
+#: builtin/checkout.c:1804
+msgid "which tree-ish to checkout from"
+msgstr ""
+
+#: builtin/checkout.c:1806
+msgid "restore the index"
+msgstr ""
+
+#: builtin/checkout.c:1808
+msgid "restore the working tree (default)"
+msgstr ""
+
+#: builtin/checkout.c:1810
+msgid "ignore unmerged entries"
+msgstr ""
+
+#: builtin/checkout.c:1811
+msgid "use overlay mode"
+msgstr ""
+
 #: builtin/clean.c:28
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
@@ -9676,7 +10532,12 @@ msgstr ""
 msgid "failed to remove %s"
 msgstr ""
 
-#: builtin/clean.c:299 git-add--interactive.perl:579
+#: builtin/clean.c:37
+#, c-format
+msgid "could not lstat %s\n"
+msgstr ""
+
+#: builtin/clean.c:301 git-add--interactive.perl:595
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -9685,7 +10546,7 @@ msgid ""
 "           - (empty) select nothing\n"
 msgstr ""
 
-#: builtin/clean.c:303 git-add--interactive.perl:588
+#: builtin/clean.c:305 git-add--interactive.perl:604
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -9698,38 +10559,33 @@ msgid ""
 "           - (empty) finish selecting\n"
 msgstr ""
 
-#: builtin/clean.c:519 git-add--interactive.perl:554
-#: git-add--interactive.perl:559
+#: builtin/clean.c:521 git-add--interactive.perl:570
+#: git-add--interactive.perl:575
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr ""
 
-#: builtin/clean.c:661
+#: builtin/clean.c:663
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr ""
 
-#: builtin/clean.c:698
+#: builtin/clean.c:700
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr ""
 
-#: builtin/clean.c:719
+#: builtin/clean.c:721
 msgid "Select items to delete"
 msgstr ""
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:760
+#: builtin/clean.c:762
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr ""
 
-#: builtin/clean.c:785 git-add--interactive.perl:1717
-#, c-format
-msgid "Bye.\n"
-msgstr ""
-
-#: builtin/clean.c:793
+#: builtin/clean.c:795
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -9740,401 +10596,400 @@ msgid ""
 "?                   - help for prompt selection"
 msgstr ""
 
-#: builtin/clean.c:820 git-add--interactive.perl:1793
-msgid "*** Commands ***"
-msgstr ""
-
-#: builtin/clean.c:821 git-add--interactive.perl:1790
-msgid "What now"
-msgstr ""
-
-#: builtin/clean.c:829
+#: builtin/clean.c:831
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/clean.c:845
+#: builtin/clean.c:847
 msgid "No more files to clean, exiting."
 msgstr ""
 
-#: builtin/clean.c:907
+#: builtin/clean.c:909
 msgid "do not print names of files removed"
 msgstr ""
 
-#: builtin/clean.c:909
+#: builtin/clean.c:911
 msgid "force"
 msgstr ""
 
-#: builtin/clean.c:910
+#: builtin/clean.c:912
 msgid "interactive cleaning"
 msgstr ""
 
-#: builtin/clean.c:912
+#: builtin/clean.c:914
 msgid "remove whole directories"
 msgstr ""
 
-#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
-#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/clean.c:915 builtin/describe.c:548 builtin/describe.c:550
+#: builtin/grep.c:901 builtin/log.c:177 builtin/log.c:179
+#: builtin/ls-files.c:557 builtin/name-rev.c:464 builtin/name-rev.c:466
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr ""
 
-#: builtin/clean.c:914
+#: builtin/clean.c:916
 msgid "add <pattern> to ignore rules"
 msgstr ""
 
-#: builtin/clean.c:915
+#: builtin/clean.c:917
 msgid "remove ignored files, too"
 msgstr ""
 
-#: builtin/clean.c:917
+#: builtin/clean.c:919
 msgid "remove only ignored files"
 msgstr ""
 
-#: builtin/clean.c:935
+#: builtin/clean.c:937
 msgid "-x and -X cannot be used together"
 msgstr ""
 
-#: builtin/clean.c:939
+#: builtin/clean.c:941
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 
-#: builtin/clean.c:942
+#: builtin/clean.c:944
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
 
-#: builtin/clone.c:44
+#: builtin/clone.c:45
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr ""
 
-#: builtin/clone.c:90
+#: builtin/clone.c:93
 msgid "don't create a checkout"
 msgstr ""
 
-#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr ""
 
-#: builtin/clone.c:95
+#: builtin/clone.c:98
 msgid "create a mirror repository (implies bare)"
 msgstr ""
 
-#: builtin/clone.c:97
+#: builtin/clone.c:100
 msgid "to clone from a local repository"
 msgstr ""
 
-#: builtin/clone.c:99
+#: builtin/clone.c:102
 msgid "don't use local hardlinks, always copy"
 msgstr ""
 
-#: builtin/clone.c:101
+#: builtin/clone.c:104
 msgid "setup as shared repository"
 msgstr ""
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr ""
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "initialize submodules in the clone"
 msgstr ""
 
-#: builtin/clone.c:107
+#: builtin/clone.c:110
 msgid "number of submodules cloned in parallel"
 msgstr ""
 
-#: builtin/clone.c:108 builtin/init-db.c:486
+#: builtin/clone.c:111 builtin/init-db.c:486
 msgid "template-directory"
 msgstr ""
 
-#: builtin/clone.c:109 builtin/init-db.c:487
+#: builtin/clone.c:112 builtin/init-db.c:487
 msgid "directory from which templates will be used"
 msgstr ""
 
-#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1859
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1885
 msgid "reference repository"
 msgstr ""
 
-#: builtin/clone.c:115 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1861
+#: builtin/clone.c:118 builtin/submodule--helper.c:1394
+#: builtin/submodule--helper.c:1887
 msgid "use --reference only while cloning"
 msgstr ""
 
-#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3306 builtin/repack.c:329
+#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3294 builtin/repack.c:327
 msgid "name"
 msgstr ""
 
-#: builtin/clone.c:117
+#: builtin/clone.c:120
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr ""
 
-#: builtin/clone.c:119
+#: builtin/clone.c:122
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr ""
 
-#: builtin/clone.c:121
+#: builtin/clone.c:124
 msgid "path to git-upload-pack on the remote"
 msgstr ""
 
-#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:225
+#: builtin/clone.c:125 builtin/fetch.c:168 builtin/grep.c:840
+#: builtin/pull.c:227
 msgid "depth"
 msgstr ""
 
-#: builtin/clone.c:123
+#: builtin/clone.c:126
 msgid "create a shallow clone of that depth"
 msgstr ""
 
-#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
+#: builtin/clone.c:127 builtin/fetch.c:170 builtin/pack-objects.c:3283
 msgid "time"
 msgstr ""
 
-#: builtin/clone.c:125
+#: builtin/clone.c:128
 msgid "create a shallow clone since a specific time"
 msgstr ""
 
-#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1389
+#: builtin/clone.c:129 builtin/fetch.c:172 builtin/fetch.c:195
+#: builtin/rebase.c:1445
 msgid "revision"
 msgstr ""
 
-#: builtin/clone.c:127 builtin/fetch.c:147
+#: builtin/clone.c:130 builtin/fetch.c:173
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 
-#: builtin/clone.c:129
+#: builtin/clone.c:132
 msgid "clone only one branch, HEAD or --branch"
 msgstr ""
 
-#: builtin/clone.c:131
+#: builtin/clone.c:134
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr ""
 
-#: builtin/clone.c:133
+#: builtin/clone.c:136
 msgid "any cloned submodules will be shallow"
 msgstr ""
 
-#: builtin/clone.c:134 builtin/init-db.c:495
+#: builtin/clone.c:137 builtin/init-db.c:495
 msgid "gitdir"
 msgstr ""
 
-#: builtin/clone.c:135 builtin/init-db.c:496
+#: builtin/clone.c:138 builtin/init-db.c:496
 msgid "separate git dir from working tree"
 msgstr ""
 
-#: builtin/clone.c:136
+#: builtin/clone.c:139
 msgid "key=value"
 msgstr ""
 
-#: builtin/clone.c:137
+#: builtin/clone.c:140
 msgid "set config inside the new repository"
 msgstr ""
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
-#: builtin/push.c:585 builtin/send-pack.c:172
+#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76
+#: builtin/push.c:573 builtin/send-pack.c:172
 msgid "server-specific"
 msgstr ""
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
-#: builtin/push.c:585 builtin/send-pack.c:173
+#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76
+#: builtin/push.c:573 builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr ""
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
-#: builtin/push.c:586
+#: builtin/clone.c:143 builtin/fetch.c:191 builtin/pull.c:240
+#: builtin/push.c:574
 msgid "use IPv4 addresses only"
 msgstr ""
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
-#: builtin/push.c:588
+#: builtin/clone.c:145 builtin/fetch.c:193 builtin/pull.c:243
+#: builtin/push.c:576
 msgid "use IPv6 addresses only"
 msgstr ""
 
-#: builtin/clone.c:280
+#: builtin/clone.c:149
+msgid "any cloned submodules will use their remote-tracking branch"
+msgstr ""
+
+#: builtin/clone.c:151
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr ""
+
+#: builtin/clone.c:287
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
 msgstr ""
 
-#: builtin/clone.c:333
+#: builtin/clone.c:340
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr ""
 
-#: builtin/clone.c:405
-#, c-format
-msgid "failed to open '%s'"
-msgstr ""
-
 #: builtin/clone.c:413
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr ""
 
-#: builtin/clone.c:427
+#: builtin/clone.c:430
 #, c-format
-msgid "failed to stat %s\n"
+msgid "failed to start iterator over '%s'"
 msgstr ""
 
-#: builtin/clone.c:444
+#: builtin/clone.c:460
 #, c-format
-msgid "failed to unlink '%s'"
+msgid "failed to create link '%s'"
 msgstr ""
 
-#: builtin/clone.c:449
+#: builtin/clone.c:464
 #, c-format
-msgid "failed to create link '%s'"
+msgid "failed to copy file to '%s'"
 msgstr ""
 
-#: builtin/clone.c:453
+#: builtin/clone.c:469
 #, c-format
-msgid "failed to copy file to '%s'"
+msgid "failed to iterate over '%s'"
 msgstr ""
 
-#: builtin/clone.c:479
+#: builtin/clone.c:494
 #, c-format
 msgid "done.\n"
 msgstr ""
 
-#: builtin/clone.c:493
+#: builtin/clone.c:508
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
-"and retry the checkout with 'git checkout -f HEAD'\n"
+"and retry with 'git restore --source=HEAD :/'\n"
 msgstr ""
 
-#: builtin/clone.c:570
+#: builtin/clone.c:585
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr ""
 
-#: builtin/clone.c:689
+#: builtin/clone.c:704
 #, c-format
 msgid "unable to update %s"
 msgstr ""
 
-#: builtin/clone.c:739
+#: builtin/clone.c:752
+msgid "failed to initialize sparse-checkout"
+msgstr ""
+
+#: builtin/clone.c:775
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 
-#: builtin/clone.c:770
+#: builtin/clone.c:806
 msgid "unable to checkout working tree"
 msgstr ""
 
-#: builtin/clone.c:815
+#: builtin/clone.c:856
 msgid "unable to write parameters to config file"
 msgstr ""
 
-#: builtin/clone.c:878
+#: builtin/clone.c:919
 msgid "cannot repack to clean up"
 msgstr ""
 
-#: builtin/clone.c:880
+#: builtin/clone.c:921
 msgid "cannot unlink temporary alternates file"
 msgstr ""
 
-#: builtin/clone.c:920 builtin/receive-pack.c:1952
+#: builtin/clone.c:959 builtin/receive-pack.c:1948
 msgid "Too many arguments."
 msgstr ""
 
-#: builtin/clone.c:924
+#: builtin/clone.c:963
 msgid "You must specify a repository to clone."
 msgstr ""
 
-#: builtin/clone.c:937
+#: builtin/clone.c:976
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr ""
 
-#: builtin/clone.c:940
+#: builtin/clone.c:979
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr ""
 
-#: builtin/clone.c:953
+#: builtin/clone.c:992
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr ""
 
-#: builtin/clone.c:959 builtin/fetch.c:1610
+#: builtin/clone.c:998 builtin/fetch.c:1787
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr ""
 
-#: builtin/clone.c:969
+#: builtin/clone.c:1008
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 
-#: builtin/clone.c:979
+#: builtin/clone.c:1018
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr ""
 
-#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264
-#: builtin/worktree.c:296 builtin/worktree.c:328
+#: builtin/clone.c:1033 builtin/clone.c:1054 builtin/difftool.c:271
+#: builtin/log.c:1866 builtin/worktree.c:302 builtin/worktree.c:334
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr ""
 
-#: builtin/clone.c:999
+#: builtin/clone.c:1038
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr ""
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1058
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:1021
+#: builtin/clone.c:1060
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:1045
+#: builtin/clone.c:1084
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr ""
 
-#: builtin/clone.c:1106
+#: builtin/clone.c:1148
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1108
+#: builtin/clone.c:1150
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1110
+#: builtin/clone.c:1152
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1112
+#: builtin/clone.c:1154
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1115
+#: builtin/clone.c:1157
 msgid "source repository is shallow, ignoring --local"
 msgstr ""
 
-#: builtin/clone.c:1120
+#: builtin/clone.c:1162
 msgid "--local is ignored"
 msgstr ""
 
-#: builtin/clone.c:1197 builtin/clone.c:1205
+#: builtin/clone.c:1237 builtin/clone.c:1245
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr ""
 
-#: builtin/clone.c:1208
+#: builtin/clone.c:1248
 msgid "You appear to have cloned an empty repository."
 msgstr ""
 
@@ -10181,7 +11036,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr ""
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:526
 #, c-format
 msgid "not a valid object name %s"
 msgstr ""
@@ -10209,13 +11064,13 @@ msgstr ""
 msgid "id of a parent commit object"
 msgstr ""
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
-#: builtin/tag.c:406
+#: builtin/commit-tree.c:114 builtin/commit.c:1496 builtin/merge.c:270
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1469
+#: builtin/tag.c:412
 msgid "message"
 msgstr ""
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1480
+#: builtin/commit-tree.c:115 builtin/commit.c:1496
 msgid "commit message"
 msgstr ""
 
@@ -10223,8 +11078,8 @@ msgstr ""
 msgid "read commit log message from file"
 msgstr ""
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283
-#: builtin/pull.c:193 builtin/revert.c:117
+#: builtin/commit-tree.c:121 builtin/commit.c:1508 builtin/merge.c:287
+#: builtin/pull.c:195 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr ""
 
@@ -10261,111 +11116,122 @@ msgid ""
 msgstr ""
 
 #: builtin/commit.c:63
-msgid "Otherwise, please use 'git reset'\n"
+msgid "Otherwise, please use 'git cherry-pick --skip'\n"
 msgstr ""
 
 #: builtin/commit.c:66
 msgid ""
+"and then use:\n"
+"\n"
+"    git cherry-pick --continue\n"
+"\n"
+"to resume cherry-picking the remaining commits.\n"
 "If you wish to skip this commit, use:\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --skip\n"
 "\n"
-"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
-"the remaining commits.\n"
 msgstr ""
 
-#: builtin/commit.c:312
+#: builtin/commit.c:315
 msgid "failed to unpack HEAD tree object"
 msgstr ""
 
-#: builtin/commit.c:353
+#: builtin/commit.c:351
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr ""
+
+#: builtin/commit.c:364
+msgid "No paths with --include/--only does not make sense."
+msgstr ""
+
+#: builtin/commit.c:376
 msgid "unable to create temporary index"
 msgstr ""
 
-#: builtin/commit.c:359
+#: builtin/commit.c:382
 msgid "interactive add failed"
 msgstr ""
 
-#: builtin/commit.c:373
+#: builtin/commit.c:396
 msgid "unable to update temporary index"
 msgstr ""
 
-#: builtin/commit.c:375
+#: builtin/commit.c:398
 msgid "Failed to update main cache tree"
 msgstr ""
 
-#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469
+#: builtin/commit.c:423 builtin/commit.c:446 builtin/commit.c:492
 msgid "unable to write new_index file"
 msgstr ""
 
-#: builtin/commit.c:452
+#: builtin/commit.c:475
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 
-#: builtin/commit.c:454
+#: builtin/commit.c:477
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 
-#: builtin/commit.c:462
+#: builtin/commit.c:485
 msgid "cannot read the index"
 msgstr ""
 
-#: builtin/commit.c:481
+#: builtin/commit.c:504
 msgid "unable to write temporary index file"
 msgstr ""
 
-#: builtin/commit.c:579
+#: builtin/commit.c:602
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr ""
 
-#: builtin/commit.c:581
+#: builtin/commit.c:604
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr ""
 
-#: builtin/commit.c:600
+#: builtin/commit.c:623
 msgid "malformed --author parameter"
 msgstr ""
 
-#: builtin/commit.c:653
+#: builtin/commit.c:676
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr ""
 
-#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069
+#: builtin/commit.c:714 builtin/commit.c:747 builtin/commit.c:1092
 #, c-format
 msgid "could not lookup commit %s"
 msgstr ""
 
-#: builtin/commit.c:703 builtin/shortlog.c:319
+#: builtin/commit.c:726 builtin/shortlog.c:319
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr ""
 
-#: builtin/commit.c:705
+#: builtin/commit.c:728
 msgid "could not read log from standard input"
 msgstr ""
 
-#: builtin/commit.c:709
+#: builtin/commit.c:732
 #, c-format
 msgid "could not read log file '%s'"
 msgstr ""
 
-#: builtin/commit.c:740 builtin/commit.c:756
+#: builtin/commit.c:763 builtin/commit.c:779
 msgid "could not read SQUASH_MSG"
 msgstr ""
 
-#: builtin/commit.c:747
+#: builtin/commit.c:770
 msgid "could not read MERGE_MSG"
 msgstr ""
 
-#: builtin/commit.c:807
+#: builtin/commit.c:830
 msgid "could not write commit template"
 msgstr ""
 
-#: builtin/commit.c:826
+#: builtin/commit.c:849
 #, c-format
 msgid ""
 "\n"
@@ -10375,7 +11241,7 @@ msgid ""
 "and try again.\n"
 msgstr ""
 
-#: builtin/commit.c:831
+#: builtin/commit.c:854
 #, c-format
 msgid ""
 "\n"
@@ -10385,14 +11251,14 @@ msgid ""
 "and try again.\n"
 msgstr ""
 
-#: builtin/commit.c:844
+#: builtin/commit.c:867
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '%c' will be ignored, and an empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/commit.c:852
+#: builtin/commit.c:875
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -10400,377 +11266,381 @@ msgid ""
 "An empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/commit.c:869
+#: builtin/commit.c:892
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr ""
 
-#: builtin/commit.c:877
+#: builtin/commit.c:900
 #, c-format
 msgid "%sDate:      %s"
 msgstr ""
 
-#: builtin/commit.c:884
+#: builtin/commit.c:907
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr ""
 
-#: builtin/commit.c:902
+#: builtin/commit.c:925
 msgid "Cannot read index"
 msgstr ""
 
-#: builtin/commit.c:969
+#: builtin/commit.c:992
 msgid "Error building trees"
 msgstr ""
 
-#: builtin/commit.c:983 builtin/tag.c:269
+#: builtin/commit.c:1006 builtin/tag.c:275
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr ""
 
-#: builtin/commit.c:1027
+#: builtin/commit.c:1050
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 
-#: builtin/commit.c:1041
+#: builtin/commit.c:1064
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr ""
 
-#: builtin/commit.c:1059 builtin/commit.c:1284
+#: builtin/commit.c:1082 builtin/commit.c:1322
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr ""
 
-#: builtin/commit.c:1097
+#: builtin/commit.c:1122
 msgid "--long and -z are incompatible"
 msgstr ""
 
-#: builtin/commit.c:1130
+#: builtin/commit.c:1166
 msgid "Using both --reset-author and --author does not make sense"
 msgstr ""
 
-#: builtin/commit.c:1139
+#: builtin/commit.c:1175
 msgid "You have nothing to amend."
 msgstr ""
 
-#: builtin/commit.c:1142
+#: builtin/commit.c:1178
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 
-#: builtin/commit.c:1144
+#: builtin/commit.c:1180
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 
-#: builtin/commit.c:1147
+#: builtin/commit.c:1183
 msgid "Options --squash and --fixup cannot be used together"
 msgstr ""
 
-#: builtin/commit.c:1157
+#: builtin/commit.c:1193
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr ""
 
-#: builtin/commit.c:1159
+#: builtin/commit.c:1195
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr ""
 
-#: builtin/commit.c:1167
+#: builtin/commit.c:1203
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 
-#: builtin/commit.c:1184
+#: builtin/commit.c:1220
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 
-#: builtin/commit.c:1186
-msgid "No paths with --include/--only does not make sense."
-msgstr ""
-
-#: builtin/commit.c:1192
+#: builtin/commit.c:1226
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr ""
 
-#: builtin/commit.c:1319 builtin/commit.c:1503
+#: builtin/commit.c:1357 builtin/commit.c:1519
 msgid "show status concisely"
 msgstr ""
 
-#: builtin/commit.c:1321 builtin/commit.c:1505
+#: builtin/commit.c:1359 builtin/commit.c:1521
 msgid "show branch information"
 msgstr ""
 
-#: builtin/commit.c:1323
+#: builtin/commit.c:1361
 msgid "show stash information"
 msgstr ""
 
-#: builtin/commit.c:1325 builtin/commit.c:1507
+#: builtin/commit.c:1363 builtin/commit.c:1523
 msgid "compute full ahead/behind values"
 msgstr ""
 
-#: builtin/commit.c:1327
+#: builtin/commit.c:1365
 msgid "version"
 msgstr ""
 
-#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
-#: builtin/worktree.c:643
+#: builtin/commit.c:1365 builtin/commit.c:1525 builtin/push.c:549
+#: builtin/worktree.c:650
 msgid "machine-readable output"
 msgstr ""
 
-#: builtin/commit.c:1330 builtin/commit.c:1511
+#: builtin/commit.c:1368 builtin/commit.c:1527
 msgid "show status in long format (default)"
 msgstr ""
 
-#: builtin/commit.c:1333 builtin/commit.c:1514
+#: builtin/commit.c:1371 builtin/commit.c:1530
 msgid "terminate entries with NUL"
 msgstr ""
 
-#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
-#: parse-options.h:331
+#: builtin/commit.c:1373 builtin/commit.c:1377 builtin/commit.c:1533
+#: builtin/fast-export.c:1153 builtin/fast-export.c:1156
+#: builtin/fast-export.c:1159 builtin/rebase.c:1525 parse-options.h:336
 msgid "mode"
 msgstr ""
 
-#: builtin/commit.c:1336 builtin/commit.c:1517
+#: builtin/commit.c:1374 builtin/commit.c:1533
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1378
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 
-#: builtin/commit.c:1342 parse-options.h:179
+#: builtin/commit.c:1380 parse-options.h:192
 msgid "when"
 msgstr ""
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1381
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1383
 msgid "list untracked files in columns"
 msgstr ""
 
-#: builtin/commit.c:1346
+#: builtin/commit.c:1384
 msgid "do not detect renames"
 msgstr ""
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1386
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1406
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1489
 msgid "suppress summary after successful commit"
 msgstr ""
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1490
 msgid "show diff in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1492
 msgid "Commit message options"
 msgstr ""
 
-#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
+#: builtin/commit.c:1493 builtin/merge.c:274 builtin/tag.c:414
 msgid "read message from file"
 msgstr ""
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1494
 msgid "author"
 msgstr ""
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1494
 msgid "override author for commit"
 msgstr ""
 
-#: builtin/commit.c:1479 builtin/gc.c:539
+#: builtin/commit.c:1495 builtin/gc.c:538
 msgid "date"
 msgstr ""
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1495
 msgid "override date for commit"
 msgstr ""
 
-#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
-#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
+#: builtin/commit.c:1497 builtin/commit.c:1498 builtin/commit.c:1499
+#: builtin/commit.c:1500 parse-options.h:328 ref-filter.h:92
 msgid "commit"
 msgstr ""
 
-#: builtin/commit.c:1481
+#: builtin/commit.c:1497
 msgid "reuse and edit message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1498
 msgid "reuse message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1499
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1500
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 
-#: builtin/commit.c:1485
+#: builtin/commit.c:1501
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 
-#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285
-#: builtin/pull.c:162 builtin/revert.c:109
+#: builtin/commit.c:1502 builtin/log.c:1634 builtin/merge.c:289
+#: builtin/pull.c:164 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr ""
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1503
 msgid "use specified template file"
 msgstr ""
 
-#: builtin/commit.c:1488
+#: builtin/commit.c:1504
 msgid "force edit of commit"
 msgstr ""
 
-#: builtin/commit.c:1490
+#: builtin/commit.c:1506
 msgid "include status in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1511
 msgid "Commit contents options"
 msgstr ""
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1512
 msgid "commit all changed files"
 msgstr ""
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1513
 msgid "add specified files to index for commit"
 msgstr ""
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1514
 msgid "interactively add files"
 msgstr ""
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1515
 msgid "interactively add changes"
 msgstr ""
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1516
 msgid "commit only specified files"
 msgstr ""
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1517
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr ""
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1518
 msgid "show what would be committed"
 msgstr ""
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1531
 msgid "amend previous commit"
 msgstr ""
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1532
 msgid "bypass post-rewrite hook"
 msgstr ""
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1539
 msgid "ok to record an empty change"
 msgstr ""
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1541
 msgid "ok to record a change with an empty message"
 msgstr ""
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1614
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr ""
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1621
 msgid "could not read MERGE_MODE"
 msgstr ""
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1640
 #, c-format
 msgid "could not read commit message: %s"
 msgstr ""
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1647
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr ""
 
-#: builtin/commit.c:1634
+#: builtin/commit.c:1652
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1686
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git reset HEAD\" to recover."
-msgstr ""
-
-#: builtin/commit-graph.c:10
-msgid "git commit-graph [--object-dir <objdir>]"
+"not exceeded, and then \"git restore --staged :/\" to recover."
 msgstr ""
 
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
-msgid "git commit-graph read [--object-dir <objdir>]"
-msgstr ""
-
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:18
-msgid "git commit-graph verify [--object-dir <objdir>]"
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:17
+msgid ""
+"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
 msgstr ""
 
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:28
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:22
 msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
-"stdin-packs|--stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
+"reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <split options>"
 msgstr ""
 
-#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
-#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
-#: builtin/log.c:1561
+#: builtin/commit-graph.c:48 builtin/commit-graph.c:103
+#: builtin/commit-graph.c:187 builtin/fetch.c:179 builtin/log.c:1657
 msgid "dir"
 msgstr ""
 
-#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
-#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:104
+#: builtin/commit-graph.c:188
 msgid "The object directory to store the graph"
 msgstr ""
 
-#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
+#: builtin/commit-graph.c:51
+msgid "if the commit-graph is split, only verify the tip file"
+msgstr ""
+
+#: builtin/commit-graph.c:73 t/helper/test-read-graph.c:23
 #, c-format
 msgid "Could not open commit-graph '%s'"
 msgstr ""
 
-#: builtin/commit-graph.c:150
+#: builtin/commit-graph.c:106
 msgid "start walk at all refs"
 msgstr ""
 
-#: builtin/commit-graph.c:152
+#: builtin/commit-graph.c:108
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr ""
 
-#: builtin/commit-graph.c:154
+#: builtin/commit-graph.c:110
 msgid "start walk at commits listed by stdin"
 msgstr ""
 
-#: builtin/commit-graph.c:156
+#: builtin/commit-graph.c:112
 msgid "include all commits already in the commit-graph file"
 msgstr ""
 
-#: builtin/commit-graph.c:165
+#: builtin/commit-graph.c:115
+msgid "allow writing an incremental commit-graph file"
+msgstr ""
+
+#: builtin/commit-graph.c:117 builtin/commit-graph.c:121
+msgid "maximum number of commits in a non-base split commit-graph"
+msgstr ""
+
+#: builtin/commit-graph.c:119
+msgid "maximum ratio between two levels of a split commit-graph"
+msgstr ""
+
+#: builtin/commit-graph.c:137
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr ""
 
@@ -10778,7 +11648,7 @@ msgstr ""
 msgid "git config [<options>]"
 msgstr ""
 
-#: builtin/config.c:103
+#: builtin/config.c:103 builtin/env--helper.c:23
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr ""
@@ -10883,7 +11753,7 @@ msgstr ""
 msgid "Type"
 msgstr ""
 
-#: builtin/config.c:147
+#: builtin/config.c:147 builtin/env--helper.c:38
 msgid "value is given this type"
 msgstr ""
 
@@ -10927,7 +11797,7 @@ msgstr ""
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 
-#: builtin/config.c:158
+#: builtin/config.c:158 builtin/env--helper.c:40
 msgid "value"
 msgstr ""
 
@@ -11073,166 +11943,166 @@ msgstr ""
 msgid "print sizes in human readable format"
 msgstr ""
 
-#: builtin/describe.c:27
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr ""
 
-#: builtin/describe.c:28
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr ""
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "head"
 msgstr ""
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "lightweight"
 msgstr ""
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "annotated"
 msgstr ""
 
-#: builtin/describe.c:273
+#: builtin/describe.c:275
 #, c-format
 msgid "annotated tag %s not available"
 msgstr ""
 
-#: builtin/describe.c:277
+#: builtin/describe.c:279
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr ""
 
-#: builtin/describe.c:279
+#: builtin/describe.c:281
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr ""
 
-#: builtin/describe.c:323
+#: builtin/describe.c:325
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr ""
 
-#: builtin/describe.c:325
+#: builtin/describe.c:327
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr ""
 
-#: builtin/describe.c:379
+#: builtin/describe.c:381
 #, c-format
 msgid "finished search at %s\n"
 msgstr ""
 
-#: builtin/describe.c:405
+#: builtin/describe.c:407
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr ""
 
-#: builtin/describe.c:409
+#: builtin/describe.c:411
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr ""
 
-#: builtin/describe.c:439
+#: builtin/describe.c:441
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr ""
 
-#: builtin/describe.c:442
+#: builtin/describe.c:444
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
 "gave up search at %s\n"
 msgstr ""
 
-#: builtin/describe.c:510
+#: builtin/describe.c:512
 #, c-format
 msgid "describe %s\n"
 msgstr ""
 
-#: builtin/describe.c:513
+#: builtin/describe.c:515
 #, c-format
 msgid "Not a valid object name %s"
 msgstr ""
 
-#: builtin/describe.c:521
+#: builtin/describe.c:523
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr ""
 
-#: builtin/describe.c:535
+#: builtin/describe.c:537
 msgid "find the tag that comes after the commit"
 msgstr ""
 
-#: builtin/describe.c:536
+#: builtin/describe.c:538
 msgid "debug search strategy on stderr"
 msgstr ""
 
-#: builtin/describe.c:537
+#: builtin/describe.c:539
 msgid "use any ref"
 msgstr ""
 
-#: builtin/describe.c:538
+#: builtin/describe.c:540
 msgid "use any tag, even unannotated"
 msgstr ""
 
-#: builtin/describe.c:539
+#: builtin/describe.c:541
 msgid "always use long format"
 msgstr ""
 
-#: builtin/describe.c:540
+#: builtin/describe.c:542
 msgid "only follow first parent"
 msgstr ""
 
-#: builtin/describe.c:543
+#: builtin/describe.c:545
 msgid "only output exact matches"
 msgstr ""
 
-#: builtin/describe.c:545
+#: builtin/describe.c:547
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 
-#: builtin/describe.c:547
+#: builtin/describe.c:549
 msgid "only consider tags matching <pattern>"
 msgstr ""
 
-#: builtin/describe.c:549
+#: builtin/describe.c:551
 msgid "do not consider tags matching <pattern>"
 msgstr ""
 
-#: builtin/describe.c:551 builtin/name-rev.c:426
+#: builtin/describe.c:553 builtin/name-rev.c:473
 msgid "show abbreviated commit object as fallback"
 msgstr ""
 
-#: builtin/describe.c:552 builtin/describe.c:555
+#: builtin/describe.c:554 builtin/describe.c:557
 msgid "mark"
 msgstr ""
 
-#: builtin/describe.c:553
+#: builtin/describe.c:555
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr ""
 
-#: builtin/describe.c:556
+#: builtin/describe.c:558
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr ""
 
-#: builtin/describe.c:574
+#: builtin/describe.c:576
 msgid "--long is incompatible with --abbrev=0"
 msgstr ""
 
-#: builtin/describe.c:603
+#: builtin/describe.c:605
 msgid "No names found, cannot describe anything."
 msgstr ""
 
-#: builtin/describe.c:654
+#: builtin/describe.c:656
 msgid "--dirty is incompatible with commit-ishes"
 msgstr ""
 
-#: builtin/describe.c:656
+#: builtin/describe.c:658
 msgid "--broken is incompatible with commit-ishes"
 msgstr ""
 
@@ -11269,456 +12139,561 @@ msgstr ""
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr ""
 
-#: builtin/difftool.c:253
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr ""
 
-#: builtin/difftool.c:295
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr ""
 
-#: builtin/difftool.c:297
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr ""
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr ""
 
-#: builtin/difftool.c:406
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
 msgstr ""
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:634
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr ""
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:636
 msgid "working tree file has been left."
 msgstr ""
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:647
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr ""
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:648
 msgid "you may want to cleanup or recover these."
 msgstr ""
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:697
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr ""
 
-#: builtin/difftool.c:691
+#: builtin/difftool.c:699
 msgid "perform a full-directory diff"
 msgstr ""
 
-#: builtin/difftool.c:693
+#: builtin/difftool.c:701
 msgid "do not prompt before launching a diff tool"
 msgstr ""
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:706
 msgid "use symlinks in dir-diff mode"
 msgstr ""
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:707
 msgid "tool"
 msgstr ""
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:708
 msgid "use the specified diff tool"
 msgstr ""
 
-#: builtin/difftool.c:702
+#: builtin/difftool.c:710
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr ""
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:713
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr ""
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:716
 msgid "specify a custom command for viewing diffs"
 msgstr ""
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:717
 msgid "passed to `diff`"
 msgstr ""
 
-#: builtin/difftool.c:724
-msgid "difftool requires worktree or --no-index"
+#: builtin/difftool.c:732
+msgid "difftool requires worktree or --no-index"
+msgstr ""
+
+#: builtin/difftool.c:739
+msgid "--dir-diff is incompatible with --no-index"
+msgstr ""
+
+#: builtin/difftool.c:742
+msgid "--gui, --tool and --extcmd are mutually exclusive"
+msgstr ""
+
+#: builtin/difftool.c:750
+msgid "no <tool> given for --tool=<tool>"
+msgstr ""
+
+#: builtin/difftool.c:757
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr ""
+
+#: builtin/env--helper.c:6
+msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
+msgstr ""
+
+#: builtin/env--helper.c:37 builtin/hash-object.c:98
+msgid "type"
 msgstr ""
 
-#: builtin/difftool.c:731
-msgid "--dir-diff is incompatible with --no-index"
+#: builtin/env--helper.c:41
+msgid "default for git_env_*(...) to fall back on"
 msgstr ""
 
-#: builtin/difftool.c:734
-msgid "--gui, --tool and --extcmd are mutually exclusive"
+#: builtin/env--helper.c:43
+msgid "be quiet only use git_env_*() value as exit code"
 msgstr ""
 
-#: builtin/difftool.c:742
-msgid "no <tool> given for --tool=<tool>"
+#: builtin/env--helper.c:62
+#, c-format
+msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
 msgstr ""
 
-#: builtin/difftool.c:749
-msgid "no <cmd> given for --extcmd=<cmd>"
+#: builtin/env--helper.c:77
+#, c-format
+msgid ""
+"option `--default' expects an unsigned long value with `--type=ulong`, not `"
+"%s`"
 msgstr ""
 
 #: builtin/fast-export.c:29
 msgid "git fast-export [rev-list-opts]"
 msgstr ""
 
-#: builtin/fast-export.c:1084
+#: builtin/fast-export.c:852
+msgid "Error: Cannot export nested tags unless --mark-tags is specified."
+msgstr ""
+
+#: builtin/fast-export.c:1152
 msgid "show progress after <n> objects"
 msgstr ""
 
-#: builtin/fast-export.c:1086
+#: builtin/fast-export.c:1154
 msgid "select handling of signed tags"
 msgstr ""
 
-#: builtin/fast-export.c:1089
+#: builtin/fast-export.c:1157
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 
-#: builtin/fast-export.c:1092
+#: builtin/fast-export.c:1160
+msgid "select handling of commit messages in an alternate encoding"
+msgstr ""
+
+#: builtin/fast-export.c:1163
 msgid "Dump marks to this file"
 msgstr ""
 
-#: builtin/fast-export.c:1094
+#: builtin/fast-export.c:1165
 msgid "Import marks from this file"
 msgstr ""
 
-#: builtin/fast-export.c:1096
+#: builtin/fast-export.c:1169
+msgid "Import marks from this file if it exists"
+msgstr ""
+
+#: builtin/fast-export.c:1171
 msgid "Fake a tagger when tags lack one"
 msgstr ""
 
-#: builtin/fast-export.c:1098
+#: builtin/fast-export.c:1173
 msgid "Output full tree for each commit"
 msgstr ""
 
-#: builtin/fast-export.c:1100
+#: builtin/fast-export.c:1175
 msgid "Use the done feature to terminate the stream"
 msgstr ""
 
-#: builtin/fast-export.c:1101
+#: builtin/fast-export.c:1176
 msgid "Skip output of blob data"
 msgstr ""
 
-#: builtin/fast-export.c:1102 builtin/log.c:1609
+#: builtin/fast-export.c:1177 builtin/log.c:1705
 msgid "refspec"
 msgstr ""
 
-#: builtin/fast-export.c:1103
+#: builtin/fast-export.c:1178
 msgid "Apply refspec to exported refs"
 msgstr ""
 
-#: builtin/fast-export.c:1104
+#: builtin/fast-export.c:1179
 msgid "anonymize output"
 msgstr ""
 
-#: builtin/fast-export.c:1106
+#: builtin/fast-export.c:1181
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 
-#: builtin/fast-export.c:1108
+#: builtin/fast-export.c:1183
 msgid "Show original object ids of blobs/commits"
 msgstr ""
 
-#: builtin/fetch.c:28
+#: builtin/fast-export.c:1185
+msgid "Label tags with mark ids"
+msgstr ""
+
+#: builtin/fast-export.c:1220
+msgid "Cannot pass both --import-marks and --import-marks-if-exists"
+msgstr ""
+
+#: builtin/fetch.c:34
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:35
 msgid "git fetch [<options>] <group>"
 msgstr ""
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:36
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr ""
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:37
 msgid "git fetch --all [<options>]"
 msgstr ""
 
-#: builtin/fetch.c:115 builtin/pull.c:202
+#: builtin/fetch.c:116
+msgid "fetch.parallel cannot be negative"
+msgstr ""
+
+#: builtin/fetch.c:139 builtin/pull.c:204
 msgid "fetch from all remotes"
 msgstr ""
 
-#: builtin/fetch.c:117 builtin/pull.c:205
+#: builtin/fetch.c:141 builtin/pull.c:248
+msgid "set upstream for git pull/fetch"
+msgstr ""
+
+#: builtin/fetch.c:143 builtin/pull.c:207
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr ""
 
-#: builtin/fetch.c:119 builtin/pull.c:208
+#: builtin/fetch.c:145 builtin/pull.c:210
 msgid "path to upload pack on remote end"
 msgstr ""
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:146
 msgid "force overwrite of local reference"
 msgstr ""
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:148
 msgid "fetch from multiple remotes"
 msgstr ""
 
-#: builtin/fetch.c:124 builtin/pull.c:212
+#: builtin/fetch.c:150 builtin/pull.c:214
 msgid "fetch all tags and associated objects"
 msgstr ""
 
-#: builtin/fetch.c:126
+#: builtin/fetch.c:152
 msgid "do not fetch all tags (--no-tags)"
 msgstr ""
 
-#: builtin/fetch.c:128
+#: builtin/fetch.c:154
 msgid "number of submodules fetched in parallel"
 msgstr ""
 
-#: builtin/fetch.c:130 builtin/pull.c:215
+#: builtin/fetch.c:156 builtin/pull.c:217
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:158
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 
-#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139
+#: builtin/fetch.c:159 builtin/fetch.c:182 builtin/pull.c:141
 msgid "on-demand"
 msgstr ""
 
-#: builtin/fetch.c:134
+#: builtin/fetch.c:160
 msgid "control recursive fetching of submodules"
 msgstr ""
 
-#: builtin/fetch.c:138 builtin/pull.c:223
+#: builtin/fetch.c:164 builtin/pull.c:225
 msgid "keep downloaded pack"
 msgstr ""
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:166
 msgid "allow updating of HEAD ref"
 msgstr ""
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
+#: builtin/fetch.c:169 builtin/fetch.c:175 builtin/pull.c:228
 msgid "deepen history of shallow clone"
 msgstr ""
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:171
 msgid "deepen history of shallow repository based on time"
 msgstr ""
 
-#: builtin/fetch.c:151 builtin/pull.c:229
+#: builtin/fetch.c:177 builtin/pull.c:231
 msgid "convert to a complete repository"
 msgstr ""
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:180
 msgid "prepend this to submodule path output"
 msgstr ""
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:183
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr ""
 
-#: builtin/fetch.c:161 builtin/pull.c:232
+#: builtin/fetch.c:187 builtin/pull.c:234
 msgid "accept refs that update .git/shallow"
 msgstr ""
 
-#: builtin/fetch.c:162 builtin/pull.c:234
+#: builtin/fetch.c:188 builtin/pull.c:236
 msgid "refmap"
 msgstr ""
 
-#: builtin/fetch.c:163 builtin/pull.c:235
+#: builtin/fetch.c:189 builtin/pull.c:237
 msgid "specify fetch refmap"
 msgstr ""
 
-#: builtin/fetch.c:170
+#: builtin/fetch.c:196
 msgid "report that we have only objects reachable from this object"
 msgstr ""
 
-#: builtin/fetch.c:469
+#: builtin/fetch.c:199
+msgid "run 'gc --auto' after fetching"
+msgstr ""
+
+#: builtin/fetch.c:201 builtin/pull.c:246
+msgid "check for forced-updates on all updated branches"
+msgstr ""
+
+#: builtin/fetch.c:203
+msgid "write the commit-graph after fetching"
+msgstr ""
+
+#: builtin/fetch.c:513
 msgid "Couldn't find remote ref HEAD"
 msgstr ""
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:653
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 
-#: builtin/fetch.c:705
+#: builtin/fetch.c:751
 #, c-format
 msgid "object %s not found"
 msgstr ""
 
-#: builtin/fetch.c:709
+#: builtin/fetch.c:755
 msgid "[up to date]"
 msgstr ""
 
-#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801
+#: builtin/fetch.c:768 builtin/fetch.c:784 builtin/fetch.c:856
 msgid "[rejected]"
 msgstr ""
 
-#: builtin/fetch.c:723
+#: builtin/fetch.c:769
 msgid "can't fetch in current branch"
 msgstr ""
 
-#: builtin/fetch.c:733
+#: builtin/fetch.c:779
 msgid "[tag update]"
 msgstr ""
 
-#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784
-#: builtin/fetch.c:796
+#: builtin/fetch.c:780 builtin/fetch.c:817 builtin/fetch.c:839
+#: builtin/fetch.c:851
 msgid "unable to update local ref"
 msgstr ""
 
-#: builtin/fetch.c:738
+#: builtin/fetch.c:784
 msgid "would clobber existing tag"
 msgstr ""
 
-#: builtin/fetch.c:760
+#: builtin/fetch.c:806
 msgid "[new tag]"
 msgstr ""
 
-#: builtin/fetch.c:763
+#: builtin/fetch.c:809
 msgid "[new branch]"
 msgstr ""
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:812
 msgid "[new ref]"
 msgstr ""
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:851
 msgid "forced update"
 msgstr ""
 
-#: builtin/fetch.c:801
+#: builtin/fetch.c:856
 msgid "non-fast-forward"
 msgstr ""
 
-#: builtin/fetch.c:847
+#: builtin/fetch.c:877
+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"
+"flag or run 'git config fetch.showForcedUpdates true'."
+msgstr ""
+
+#: builtin/fetch.c:881
+#, c-format
+msgid ""
+"It took %.2f seconds to check forced updates. You can use\n"
+"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
+"false'\n"
+" to avoid this check.\n"
+msgstr ""
+
+#: builtin/fetch.c:911
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr ""
 
-#: builtin/fetch.c:868
+#: builtin/fetch.c:932
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 
-#: builtin/fetch.c:959 builtin/fetch.c:1081
+#: builtin/fetch.c:1017 builtin/fetch.c:1155
 #, c-format
 msgid "From %.*s\n"
 msgstr ""
 
-#: builtin/fetch.c:970
+#: builtin/fetch.c:1028
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
 
-#: builtin/fetch.c:1051
+#: builtin/fetch.c:1125
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:1052
+#: builtin/fetch.c:1126
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:1084
+#: builtin/fetch.c:1158
 msgid "[deleted]"
 msgstr ""
 
-#: builtin/fetch.c:1085 builtin/remote.c:1036
+#: builtin/fetch.c:1159 builtin/remote.c:1035
 msgid "(none)"
 msgstr ""
 
-#: builtin/fetch.c:1108
+#: builtin/fetch.c:1182
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 
-#: builtin/fetch.c:1127
+#: builtin/fetch.c:1201
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr ""
 
-#: builtin/fetch.c:1130
+#: builtin/fetch.c:1204
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1434
+#: builtin/fetch.c:1412
+msgid "multiple branches detected, incompatible with --set-upstream"
+msgstr ""
+
+#: builtin/fetch.c:1427
+msgid "not setting upstream for a remote remote-tracking branch"
+msgstr ""
+
+#: builtin/fetch.c:1429
+msgid "not setting upstream for a remote tag"
+msgstr ""
+
+#: builtin/fetch.c:1431
+msgid "unknown branch type"
+msgstr ""
+
+#: builtin/fetch.c:1433
+msgid ""
+"no source branch found.\n"
+"you need to specify exactly one branch with the --set-upstream option."
+msgstr ""
+
+#: builtin/fetch.c:1559 builtin/fetch.c:1622
 #, c-format
 msgid "Fetching %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1436 builtin/remote.c:100
+#: builtin/fetch.c:1569 builtin/fetch.c:1624 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr ""
 
-#: builtin/fetch.c:1482
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialClone"
+#: builtin/fetch.c:1581
+#, c-format
+msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr ""
 
-#: builtin/fetch.c:1506
+#: builtin/fetch.c:1684
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr ""
 
-#: builtin/fetch.c:1543
+#: builtin/fetch.c:1721
 msgid "You need to specify a tag name."
 msgstr ""
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1771
 msgid "Negative depth in --deepen is not supported"
 msgstr ""
 
-#: builtin/fetch.c:1596
+#: builtin/fetch.c:1773
 msgid "--deepen and --depth are mutually exclusive"
 msgstr ""
 
-#: builtin/fetch.c:1601
+#: builtin/fetch.c:1778
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 
-#: builtin/fetch.c:1603
+#: builtin/fetch.c:1780
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1619
+#: builtin/fetch.c:1796
 msgid "fetch --all does not take a repository argument"
 msgstr ""
 
-#: builtin/fetch.c:1621
+#: builtin/fetch.c:1798
 msgid "fetch --all does not make sense with refspecs"
 msgstr ""
 
-#: builtin/fetch.c:1630
+#: builtin/fetch.c:1807
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr ""
 
-#: builtin/fetch.c:1637
+#: builtin/fetch.c:1814
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1832
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -11729,23 +12704,23 @@ msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:674
 msgid "populate log with at most <n> entries from shortlog"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:677
 msgid "alias for --log (deprecated)"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:680
 msgid "text"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:681
 msgid "use <text> as start of message"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:682
 msgid "file to read from"
 msgstr ""
 
@@ -11785,7 +12760,7 @@ msgstr ""
 msgid "show only <n> matched refs"
 msgstr ""
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:433
+#: builtin/for-each-ref.c:39 builtin/tag.c:439
 msgid "respect format colors"
 msgstr ""
 
@@ -11809,248 +12784,248 @@ msgstr ""
 msgid "print only refs which don't contain the commit"
 msgstr ""
 
-#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161
+#: builtin/fsck.c:68 builtin/fsck.c:147 builtin/fsck.c:148
 msgid "unknown"
 msgstr ""
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:120 builtin/fsck.c:136
+#: builtin/fsck.c:100 builtin/fsck.c:120
 #, c-format
 msgid "error in %s %s: %s"
 msgstr ""
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:131
+#: builtin/fsck.c:114
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr ""
 
-#: builtin/fsck.c:157 builtin/fsck.c:159
+#: builtin/fsck.c:143 builtin/fsck.c:146
 #, c-format
 msgid "broken link from %7s %s"
 msgstr ""
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:155
 msgid "wrong object type in link"
 msgstr ""
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:171
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
 "              to %7s %s"
 msgstr ""
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:282
 #, c-format
 msgid "missing %s %s"
 msgstr ""
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:309
 #, c-format
 msgid "unreachable %s %s"
 msgstr ""
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:329
 #, c-format
 msgid "dangling %s %s"
 msgstr ""
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:339
 msgid "could not create lost-found"
 msgstr ""
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:350
 #, c-format
 msgid "could not finish '%s'"
 msgstr ""
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:367
 #, c-format
 msgid "Checking %s"
 msgstr ""
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr ""
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:424
 #, c-format
 msgid "Checking %s %s"
 msgstr ""
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:429
 msgid "broken links"
 msgstr ""
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:438
 #, c-format
 msgid "root %s"
 msgstr ""
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:446
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr ""
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:475
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr ""
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:500
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr ""
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:514
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr ""
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:548
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr ""
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:555
 #, c-format
 msgid "%s: not a commit"
 msgstr ""
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:609
 msgid "notice: No default references"
 msgstr ""
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:624
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr ""
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:637
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr ""
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:657
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr ""
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:672
 msgid "Checking object directory"
 msgstr ""
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:675
 msgid "Checking object directories"
 msgstr ""
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:690
 #, c-format
 msgid "Checking %s link"
 msgstr ""
 
-#: builtin/fsck.c:705 builtin/index-pack.c:841
+#: builtin/fsck.c:695 builtin/index-pack.c:842
 #, c-format
 msgid "invalid %s"
 msgstr ""
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:702
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr ""
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:708
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr ""
 
-#: builtin/fsck.c:722
+#: builtin/fsck.c:712
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr ""
 
-#: builtin/fsck.c:734
+#: builtin/fsck.c:724
 msgid "Checking cache tree"
 msgstr ""
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:729
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr ""
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:738
 msgid "non-tree in cache-tree"
 msgstr ""
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:769
 msgid "git fsck [<options>] [<object>...]"
 msgstr ""
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:775
 msgid "show unreachable objects"
 msgstr ""
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:776
 msgid "show dangling objects"
 msgstr ""
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:777
 msgid "report tags"
 msgstr ""
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:778
 msgid "report root nodes"
 msgstr ""
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:779
 msgid "make index objects head nodes"
 msgstr ""
 
-#: builtin/fsck.c:792
+#: builtin/fsck.c:780
 msgid "make reflogs head nodes (default)"
 msgstr ""
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:781
 msgid "also consider packs and alternate objects"
 msgstr ""
 
-#: builtin/fsck.c:794
+#: builtin/fsck.c:782
 msgid "check only connectivity"
 msgstr ""
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:783
 msgid "enable more strict checking"
 msgstr ""
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:785
 msgid "write dangling objects in .git/lost-found"
 msgstr ""
 
-#: builtin/fsck.c:798 builtin/prune.c:132
+#: builtin/fsck.c:786 builtin/prune.c:132
 msgid "show progress"
 msgstr ""
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:787
 msgid "show verbose names for reachable objects"
 msgstr ""
 
-#: builtin/fsck.c:859 builtin/index-pack.c:224
+#: builtin/fsck.c:846 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr ""
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:874
 #, c-format
 msgid "%s: object missing"
 msgstr ""
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:885
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr ""
 
-#: builtin/gc.c:34
+#: builtin/gc.c:35
 msgid "git gc [<options>]"
 msgstr ""
 
@@ -12064,17 +13039,17 @@ msgstr ""
 msgid "failed to parse '%s' value '%s'"
 msgstr ""
 
-#: builtin/gc.c:476 builtin/init-db.c:55
+#: builtin/gc.c:475 builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr ""
 
-#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
+#: builtin/gc.c:484 builtin/notes.c:240 builtin/tag.c:529
 #, c-format
 msgid "cannot read '%s'"
 msgstr ""
 
-#: builtin/gc.c:492
+#: builtin/gc.c:491
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -12084,58 +13059,58 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/gc.c:540
+#: builtin/gc.c:539
 msgid "prune unreferenced objects"
 msgstr ""
 
-#: builtin/gc.c:542
+#: builtin/gc.c:541
 msgid "be more thorough (increased runtime)"
 msgstr ""
 
-#: builtin/gc.c:543
+#: builtin/gc.c:542
 msgid "enable auto-gc mode"
 msgstr ""
 
-#: builtin/gc.c:546
+#: builtin/gc.c:545
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 
-#: builtin/gc.c:549
+#: builtin/gc.c:548
 msgid "repack all other packs except the largest pack"
 msgstr ""
 
-#: builtin/gc.c:566
+#: builtin/gc.c:565
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr ""
 
-#: builtin/gc.c:577
+#: builtin/gc.c:576
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr ""
 
-#: builtin/gc.c:597
+#: builtin/gc.c:596
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:599
+#: builtin/gc.c:598
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:600
+#: builtin/gc.c:599
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr ""
 
-#: builtin/gc.c:640
+#: builtin/gc.c:639
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 
-#: builtin/gc.c:693
+#: builtin/gc.c:694
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -12158,258 +13133,258 @@ msgstr ""
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
-#: builtin/pack-objects.c:2720
+#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727
+#: builtin/pack-objects.c:2708
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr ""
 
-#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631
+#: builtin/grep.c:467 builtin/grep.c:592 builtin/grep.c:635
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr ""
 
-#: builtin/grep.c:646
+#: builtin/grep.c:650
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr ""
 
-#: builtin/grep.c:712
+#: builtin/grep.c:716
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr ""
 
-#: builtin/grep.c:811
+#: builtin/grep.c:815
 msgid "search in index instead of in the work tree"
 msgstr ""
 
-#: builtin/grep.c:813
+#: builtin/grep.c:817
 msgid "find in contents not managed by git"
 msgstr ""
 
-#: builtin/grep.c:815
+#: builtin/grep.c:819
 msgid "search in both tracked and untracked files"
 msgstr ""
 
-#: builtin/grep.c:817
+#: builtin/grep.c:821
 msgid "ignore files specified via '.gitignore'"
 msgstr ""
 
-#: builtin/grep.c:819
+#: builtin/grep.c:823
 msgid "recursively search in each submodule"
 msgstr ""
 
-#: builtin/grep.c:822
+#: builtin/grep.c:826
 msgid "show non-matching lines"
 msgstr ""
 
-#: builtin/grep.c:824
+#: builtin/grep.c:828
 msgid "case insensitive matching"
 msgstr ""
 
-#: builtin/grep.c:826
+#: builtin/grep.c:830
 msgid "match patterns only at word boundaries"
 msgstr ""
 
-#: builtin/grep.c:828
+#: builtin/grep.c:832
 msgid "process binary files as text"
 msgstr ""
 
-#: builtin/grep.c:830
+#: builtin/grep.c:834
 msgid "don't match patterns in binary files"
 msgstr ""
 
-#: builtin/grep.c:833
+#: builtin/grep.c:837
 msgid "process binary files with textconv filters"
 msgstr ""
 
-#: builtin/grep.c:835
+#: builtin/grep.c:839
 msgid "search in subdirectories (default)"
 msgstr ""
 
-#: builtin/grep.c:837
+#: builtin/grep.c:841
 msgid "descend at most <depth> levels"
 msgstr ""
 
-#: builtin/grep.c:841
+#: builtin/grep.c:845
 msgid "use extended POSIX regular expressions"
 msgstr ""
 
-#: builtin/grep.c:844
+#: builtin/grep.c:848
 msgid "use basic POSIX regular expressions (default)"
 msgstr ""
 
-#: builtin/grep.c:847
+#: builtin/grep.c:851
 msgid "interpret patterns as fixed strings"
 msgstr ""
 
-#: builtin/grep.c:850
+#: builtin/grep.c:854
 msgid "use Perl-compatible regular expressions"
 msgstr ""
 
-#: builtin/grep.c:853
+#: builtin/grep.c:857
 msgid "show line numbers"
 msgstr ""
 
-#: builtin/grep.c:854
+#: builtin/grep.c:858
 msgid "show column number of first match"
 msgstr ""
 
-#: builtin/grep.c:855
+#: builtin/grep.c:859
 msgid "don't show filenames"
 msgstr ""
 
-#: builtin/grep.c:856
+#: builtin/grep.c:860
 msgid "show filenames"
 msgstr ""
 
-#: builtin/grep.c:858
+#: builtin/grep.c:862
 msgid "show filenames relative to top directory"
 msgstr ""
 
-#: builtin/grep.c:860
+#: builtin/grep.c:864
 msgid "show only filenames instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:862
+#: builtin/grep.c:866
 msgid "synonym for --files-with-matches"
 msgstr ""
 
-#: builtin/grep.c:865
+#: builtin/grep.c:869
 msgid "show only the names of files without match"
 msgstr ""
 
-#: builtin/grep.c:867
+#: builtin/grep.c:871
 msgid "print NUL after filenames"
 msgstr ""
 
-#: builtin/grep.c:870
+#: builtin/grep.c:874
 msgid "show only matching parts of a line"
 msgstr ""
 
-#: builtin/grep.c:872
+#: builtin/grep.c:876
 msgid "show the number of matches instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:873
+#: builtin/grep.c:877
 msgid "highlight matches"
 msgstr ""
 
-#: builtin/grep.c:875
+#: builtin/grep.c:879
 msgid "print empty line between matches from different files"
 msgstr ""
 
-#: builtin/grep.c:877
+#: builtin/grep.c:881
 msgid "show filename only once above matches from same file"
 msgstr ""
 
-#: builtin/grep.c:880
+#: builtin/grep.c:884
 msgid "show <n> context lines before and after matches"
 msgstr ""
 
-#: builtin/grep.c:883
+#: builtin/grep.c:887
 msgid "show <n> context lines before matches"
 msgstr ""
 
-#: builtin/grep.c:885
+#: builtin/grep.c:889
 msgid "show <n> context lines after matches"
 msgstr ""
 
-#: builtin/grep.c:887
+#: builtin/grep.c:891
 msgid "use <n> worker threads"
 msgstr ""
 
-#: builtin/grep.c:888
+#: builtin/grep.c:892
 msgid "shortcut for -C NUM"
 msgstr ""
 
-#: builtin/grep.c:891
+#: builtin/grep.c:895
 msgid "show a line with the function name before matches"
 msgstr ""
 
-#: builtin/grep.c:893
+#: builtin/grep.c:897
 msgid "show the surrounding function"
 msgstr ""
 
-#: builtin/grep.c:896
+#: builtin/grep.c:900
 msgid "read patterns from file"
 msgstr ""
 
-#: builtin/grep.c:898
+#: builtin/grep.c:902
 msgid "match <pattern>"
 msgstr ""
 
-#: builtin/grep.c:900
+#: builtin/grep.c:904
 msgid "combine patterns specified with -e"
 msgstr ""
 
-#: builtin/grep.c:912
+#: builtin/grep.c:916
 msgid "indicate hit with exit status without output"
 msgstr ""
 
-#: builtin/grep.c:914
+#: builtin/grep.c:918
 msgid "show only matches from files that match all patterns"
 msgstr ""
 
-#: builtin/grep.c:916
+#: builtin/grep.c:920
 msgid "show parse tree for grep expression"
 msgstr ""
 
-#: builtin/grep.c:920
+#: builtin/grep.c:924
 msgid "pager"
 msgstr ""
 
-#: builtin/grep.c:920
+#: builtin/grep.c:924
 msgid "show matching files in the pager"
 msgstr ""
 
-#: builtin/grep.c:924
+#: builtin/grep.c:928
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr ""
 
-#: builtin/grep.c:988
+#: builtin/grep.c:992
 msgid "no pattern given"
 msgstr ""
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1028
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr ""
 
-#: builtin/grep.c:1032
+#: builtin/grep.c:1036
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr ""
 
-#: builtin/grep.c:1063
+#: builtin/grep.c:1067
 msgid "invalid option combination, ignoring --threads"
 msgstr ""
 
-#: builtin/grep.c:1066 builtin/pack-objects.c:3403
+#: builtin/grep.c:1070 builtin/pack-objects.c:3400
 msgid "no threads support, ignoring --threads"
 msgstr ""
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
+#: builtin/grep.c:1073 builtin/index-pack.c:1531 builtin/pack-objects.c:2705
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr ""
 
-#: builtin/grep.c:1092
+#: builtin/grep.c:1096
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 
-#: builtin/grep.c:1115
+#: builtin/grep.c:1119
 msgid "option not supported with --recurse-submodules"
 msgstr ""
 
-#: builtin/grep.c:1121
+#: builtin/grep.c:1125
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr ""
 
-#: builtin/grep.c:1127
+#: builtin/grep.c:1131
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr ""
 
-#: builtin/grep.c:1135
+#: builtin/grep.c:1139
 msgid "both --cached and trees are given"
 msgstr ""
 
@@ -12424,10 +13399,6 @@ msgid "git hash-object  --stdin-paths"
 msgstr ""
 
 #: builtin/hash-object.c:98
-msgid "type"
-msgstr ""
-
-#: builtin/hash-object.c:98
 msgid "object type"
 msgstr ""
 
@@ -12538,12 +13509,12 @@ msgstr ""
 msgid "no info viewer handled the request"
 msgstr ""
 
-#: builtin/help.c:434 builtin/help.c:445 git.c:335
+#: builtin/help.c:434 builtin/help.c:445 git.c:336
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr ""
 
-#: builtin/help.c:448 git.c:364
+#: builtin/help.c:448 git.c:365
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr ""
@@ -12557,290 +13528,285 @@ msgstr ""
 msgid "'git help config' for more information"
 msgstr ""
 
-#: builtin/index-pack.c:184
+#: builtin/index-pack.c:185
 #, c-format
 msgid "object type mismatch at %s"
 msgstr ""
 
-#: builtin/index-pack.c:204
+#: builtin/index-pack.c:205
 #, c-format
 msgid "did not receive expected object %s"
 msgstr ""
 
-#: builtin/index-pack.c:207
+#: builtin/index-pack.c:208
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr ""
 
-#: builtin/index-pack.c:257
+#: builtin/index-pack.c:258
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:268
 msgid "early EOF"
 msgstr ""
 
-#: builtin/index-pack.c:268
+#: builtin/index-pack.c:269
 msgid "read error on input"
 msgstr ""
 
-#: builtin/index-pack.c:280
+#: builtin/index-pack.c:281
 msgid "used more bytes than were available"
 msgstr ""
 
-#: builtin/index-pack.c:287 builtin/pack-objects.c:600
+#: builtin/index-pack.c:288 builtin/pack-objects.c:604
 msgid "pack too large for current definition of off_t"
 msgstr ""
 
-#: builtin/index-pack.c:290 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:291 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr ""
 
-#: builtin/index-pack.c:305 builtin/repack.c:250
-#, c-format
-msgid "unable to create '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:311
+#: builtin/index-pack.c:312
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:325
+#: builtin/index-pack.c:326
 msgid "pack signature mismatch"
 msgstr ""
 
-#: builtin/index-pack.c:327
+#: builtin/index-pack.c:328
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr ""
 
-#: builtin/index-pack.c:345
+#: builtin/index-pack.c:346
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr ""
 
-#: builtin/index-pack.c:465
+#: builtin/index-pack.c:466
 #, c-format
 msgid "inflate returned %d"
 msgstr ""
 
-#: builtin/index-pack.c:514
+#: builtin/index-pack.c:515
 msgid "offset value overflow for delta base object"
 msgstr ""
 
-#: builtin/index-pack.c:522
+#: builtin/index-pack.c:523
 msgid "delta base offset is out of bound"
 msgstr ""
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:531
 #, c-format
 msgid "unknown object type %d"
 msgstr ""
 
-#: builtin/index-pack.c:561
+#: builtin/index-pack.c:562
 msgid "cannot pread pack file"
 msgstr ""
 
-#: builtin/index-pack.c:563
+#: builtin/index-pack.c:564
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:589
+#: builtin/index-pack.c:590
 msgid "serious inflate inconsistency"
 msgstr ""
 
-#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
-#: builtin/index-pack.c:802 builtin/index-pack.c:811
+#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764
+#: builtin/index-pack.c:803 builtin/index-pack.c:812
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr ""
 
-#: builtin/index-pack.c:737 builtin/pack-objects.c:153
-#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
+#: builtin/index-pack.c:738 builtin/pack-objects.c:157
+#: builtin/pack-objects.c:217 builtin/pack-objects.c:311
 #, c-format
 msgid "unable to read %s"
 msgstr ""
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:801
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr ""
 
-#: builtin/index-pack.c:808
+#: builtin/index-pack.c:809
 #, c-format
 msgid "cannot read existing object %s"
 msgstr ""
 
-#: builtin/index-pack.c:822
+#: builtin/index-pack.c:823
 #, c-format
 msgid "invalid blob object %s"
 msgstr ""
 
-#: builtin/index-pack.c:825 builtin/index-pack.c:844
+#: builtin/index-pack.c:826 builtin/index-pack.c:845
 msgid "fsck error in packed object"
 msgstr ""
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:847
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr ""
 
-#: builtin/index-pack.c:918 builtin/index-pack.c:949
+#: builtin/index-pack.c:919 builtin/index-pack.c:950
 msgid "failed to apply delta"
 msgstr ""
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1118
 msgid "Receiving objects"
 msgstr ""
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1118
 msgid "Indexing objects"
 msgstr ""
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1152
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr ""
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1157
 msgid "cannot fstat packfile"
 msgstr ""
 
-#: builtin/index-pack.c:1159
+#: builtin/index-pack.c:1160
 msgid "pack has junk at the end"
 msgstr ""
 
-#: builtin/index-pack.c:1171
+#: builtin/index-pack.c:1172
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr ""
 
-#: builtin/index-pack.c:1194
+#: builtin/index-pack.c:1195
 msgid "Resolving deltas"
 msgstr ""
 
-#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
+#: builtin/index-pack.c:1205 builtin/pack-objects.c:2481
 #, c-format
 msgid "unable to create thread: %s"
 msgstr ""
 
-#: builtin/index-pack.c:1245
+#: builtin/index-pack.c:1246
 msgid "confusion beyond insanity"
 msgstr ""
 
-#: builtin/index-pack.c:1251
+#: builtin/index-pack.c:1252
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1263
+#: builtin/index-pack.c:1264
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 
-#: builtin/index-pack.c:1267
+#: builtin/index-pack.c:1268
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1291
+#: builtin/index-pack.c:1292
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr ""
 
-#: builtin/index-pack.c:1368
+#: builtin/index-pack.c:1388
 #, c-format
 msgid "local object %s is corrupt"
 msgstr ""
 
-#: builtin/index-pack.c:1382
+#: builtin/index-pack.c:1402
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr ""
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1427
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1415
+#: builtin/index-pack.c:1435
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1439
+#: builtin/index-pack.c:1459
 msgid "error while closing pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1473
 msgid "cannot store pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1461
+#: builtin/index-pack.c:1481
 msgid "cannot store index file"
 msgstr ""
 
-#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
+#: builtin/index-pack.c:1525 builtin/pack-objects.c:2716
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr ""
 
-#: builtin/index-pack.c:1573
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1575
+#: builtin/index-pack.c:1595
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1643
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1630
+#: builtin/index-pack.c:1650
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1667
+#: builtin/index-pack.c:1689
 msgid "Cannot come back to cwd"
 msgstr ""
 
-#: builtin/index-pack.c:1716 builtin/index-pack.c:1719
-#: builtin/index-pack.c:1735 builtin/index-pack.c:1739
+#: builtin/index-pack.c:1738 builtin/index-pack.c:1741
+#: builtin/index-pack.c:1757 builtin/index-pack.c:1761
 #, c-format
 msgid "bad %s"
 msgstr ""
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1777
 msgid "--fix-thin cannot be used without --stdin"
 msgstr ""
 
-#: builtin/index-pack.c:1757
+#: builtin/index-pack.c:1779
 msgid "--stdin requires a git repository"
 msgstr ""
 
-#: builtin/index-pack.c:1763
+#: builtin/index-pack.c:1785
 msgid "--verify with no packfile name given"
 msgstr ""
 
-#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1833 builtin/unpack-objects.c:581
 msgid "fsck error in pack objects"
 msgstr ""
 
@@ -12933,476 +13899,485 @@ msgstr ""
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr ""
 
-#: builtin/init-db.c:526 builtin/init-db.c:531
+#: builtin/init-db.c:529 builtin/init-db.c:534
 #, c-format
 msgid "cannot mkdir %s"
 msgstr ""
 
-#: builtin/init-db.c:535
+#: builtin/init-db.c:538
 #, c-format
 msgid "cannot chdir to %s"
 msgstr ""
 
-#: builtin/init-db.c:556
+#: builtin/init-db.c:559
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr ""
 
-#: builtin/init-db.c:584
+#: builtin/init-db.c:587
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr ""
 
-#: builtin/interpret-trailers.c:15
+#: builtin/interpret-trailers.c:16
 msgid ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<token>[(=|:)<value>])...] [<file>...]"
 msgstr ""
 
-#: builtin/interpret-trailers.c:94
+#: builtin/interpret-trailers.c:95
 msgid "edit files in place"
 msgstr ""
 
-#: builtin/interpret-trailers.c:95
+#: builtin/interpret-trailers.c:96
 msgid "trim empty trailers"
 msgstr ""
 
-#: builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:99
 msgid "where to place the new trailer"
 msgstr ""
 
-#: builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:101
 msgid "action if trailer already exists"
 msgstr ""
 
-#: builtin/interpret-trailers.c:102
+#: builtin/interpret-trailers.c:103
 msgid "action if trailer is missing"
 msgstr ""
 
-#: builtin/interpret-trailers.c:104
+#: builtin/interpret-trailers.c:105
 msgid "output only the trailers"
 msgstr ""
 
-#: builtin/interpret-trailers.c:105
+#: builtin/interpret-trailers.c:106
 msgid "do not apply config rules"
 msgstr ""
 
-#: builtin/interpret-trailers.c:106
+#: builtin/interpret-trailers.c:107
 msgid "join whitespace-continued values"
 msgstr ""
 
-#: builtin/interpret-trailers.c:107
+#: builtin/interpret-trailers.c:108
 msgid "set parsing options"
 msgstr ""
 
-#: builtin/interpret-trailers.c:109
+#: builtin/interpret-trailers.c:110
 msgid "do not treat --- specially"
 msgstr ""
 
-#: builtin/interpret-trailers.c:110
+#: builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr ""
 
-#: builtin/interpret-trailers.c:111
+#: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr ""
 
-#: builtin/interpret-trailers.c:120
+#: builtin/interpret-trailers.c:123
 msgid "--trailer with --only-input does not make sense"
 msgstr ""
 
-#: builtin/interpret-trailers.c:130
+#: builtin/interpret-trailers.c:133
 msgid "no input file given for in-place editing"
 msgstr ""
 
-#: builtin/log.c:55
+#: builtin/log.c:56
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr ""
 
-#: builtin/log.c:56
+#: builtin/log.c:57
 msgid "git show [<options>] <object>..."
 msgstr ""
 
-#: builtin/log.c:104
+#: builtin/log.c:110
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr ""
 
-#: builtin/log.c:168
+#: builtin/log.c:174
 msgid "show source"
 msgstr ""
 
-#: builtin/log.c:169
+#: builtin/log.c:175
 msgid "Use mail map file"
 msgstr ""
 
-#: builtin/log.c:171
+#: builtin/log.c:177
 msgid "only decorate refs that match <pattern>"
 msgstr ""
 
-#: builtin/log.c:173
+#: builtin/log.c:179
 msgid "do not decorate refs that match <pattern>"
 msgstr ""
 
-#: builtin/log.c:174
+#: builtin/log.c:180
 msgid "decorate options"
 msgstr ""
 
-#: builtin/log.c:177
+#: builtin/log.c:183
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 
-#: builtin/log.c:275
+#: builtin/log.c:281
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr ""
 
-#: builtin/log.c:529
+#: builtin/log.c:535
 #, c-format
 msgid "git show %s: bad file"
 msgstr ""
 
-#: builtin/log.c:544 builtin/log.c:638
+#: builtin/log.c:550 builtin/log.c:645
 #, c-format
 msgid "could not read object %s"
 msgstr ""
 
-#: builtin/log.c:663
+#: builtin/log.c:670
 #, c-format
 msgid "unknown type: %d"
 msgstr ""
 
-#: builtin/log.c:784
+#: builtin/log.c:814
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr ""
+
+#: builtin/log.c:821
 msgid "format.headers without value"
 msgstr ""
 
-#: builtin/log.c:885
+#: builtin/log.c:936
 msgid "name of output directory is too long"
 msgstr ""
 
-#: builtin/log.c:901
+#: builtin/log.c:952
 #, c-format
 msgid "cannot open patch file %s"
 msgstr ""
 
-#: builtin/log.c:918
+#: builtin/log.c:969
 msgid "need exactly one range"
 msgstr ""
 
-#: builtin/log.c:928
+#: builtin/log.c:979
 msgid "not a range"
 msgstr ""
 
-#: builtin/log.c:1051
+#: builtin/log.c:1143
 msgid "cover letter needs email format"
 msgstr ""
 
-#: builtin/log.c:1057
+#: builtin/log.c:1149
 msgid "failed to create cover-letter file"
 msgstr ""
 
-#: builtin/log.c:1136
+#: builtin/log.c:1228
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr ""
 
-#: builtin/log.c:1163
+#: builtin/log.c:1255
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr ""
 
-#: builtin/log.c:1221
+#: builtin/log.c:1313
 msgid "two output directories?"
 msgstr ""
 
-#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090
+#: builtin/log.c:1424 builtin/log.c:2197 builtin/log.c:2199 builtin/log.c:2211
 #, c-format
 msgid "unknown commit %s"
 msgstr ""
 
-#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1434 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr ""
 
-#: builtin/log.c:1347
+#: builtin/log.c:1439
 msgid "could not find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1351
+#: builtin/log.c:1443
 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"
 "Or you could specify base commit by --base=<base-commit-id> manually"
 msgstr ""
 
-#: builtin/log.c:1371
+#: builtin/log.c:1463
 msgid "failed to find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1382
+#: builtin/log.c:1474
 msgid "base commit should be the ancestor of revision list"
 msgstr ""
 
-#: builtin/log.c:1386
+#: builtin/log.c:1478
 msgid "base commit shouldn't be in revision list"
 msgstr ""
 
-#: builtin/log.c:1439
+#: builtin/log.c:1531
 msgid "cannot get patch id"
 msgstr ""
 
-#: builtin/log.c:1491
+#: builtin/log.c:1583
 msgid "failed to infer range-diff ranges"
 msgstr ""
 
-#: builtin/log.c:1536
+#: builtin/log.c:1629
 msgid "use [PATCH n/m] even with a single patch"
 msgstr ""
 
-#: builtin/log.c:1539
+#: builtin/log.c:1632
 msgid "use [PATCH] even with multiple patches"
 msgstr ""
 
-#: builtin/log.c:1543
+#: builtin/log.c:1636
 msgid "print patches to standard out"
 msgstr ""
 
-#: builtin/log.c:1545
+#: builtin/log.c:1638
 msgid "generate a cover letter"
 msgstr ""
 
-#: builtin/log.c:1547
+#: builtin/log.c:1640
 msgid "use simple number sequence for output file names"
 msgstr ""
 
-#: builtin/log.c:1548
+#: builtin/log.c:1641
 msgid "sfx"
 msgstr ""
 
-#: builtin/log.c:1549
+#: builtin/log.c:1642
 msgid "use <sfx> instead of '.patch'"
 msgstr ""
 
-#: builtin/log.c:1551
+#: builtin/log.c:1644
 msgid "start numbering patches at <n> instead of 1"
 msgstr ""
 
-#: builtin/log.c:1553
+#: builtin/log.c:1646
 msgid "mark the series as Nth re-roll"
 msgstr ""
 
-#: builtin/log.c:1555
+#: builtin/log.c:1648
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1558
+#: builtin/log.c:1651
+msgid "cover-from-description-mode"
+msgstr ""
+
+#: builtin/log.c:1652
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr ""
+
+#: builtin/log.c:1654
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1561
+#: builtin/log.c:1657
 msgid "store resulting files in <dir>"
 msgstr ""
 
-#: builtin/log.c:1564
+#: builtin/log.c:1660
 msgid "don't strip/add [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1567
+#: builtin/log.c:1663
 msgid "don't output binary diffs"
 msgstr ""
 
-#: builtin/log.c:1569
+#: builtin/log.c:1665
 msgid "output all-zero hash in From header"
 msgstr ""
 
-#: builtin/log.c:1571
+#: builtin/log.c:1667
 msgid "don't include a patch matching a commit upstream"
 msgstr ""
 
-#: builtin/log.c:1573
+#: builtin/log.c:1669
 msgid "show patch format instead of default (patch + stat)"
 msgstr ""
 
-#: builtin/log.c:1575
+#: builtin/log.c:1671
 msgid "Messaging"
 msgstr ""
 
-#: builtin/log.c:1576
+#: builtin/log.c:1672
 msgid "header"
 msgstr ""
 
-#: builtin/log.c:1577
+#: builtin/log.c:1673
 msgid "add email header"
 msgstr ""
 
-#: builtin/log.c:1578 builtin/log.c:1580
+#: builtin/log.c:1674 builtin/log.c:1676
 msgid "email"
 msgstr ""
 
-#: builtin/log.c:1578
+#: builtin/log.c:1674
 msgid "add To: header"
 msgstr ""
 
-#: builtin/log.c:1580
+#: builtin/log.c:1676
 msgid "add Cc: header"
 msgstr ""
 
-#: builtin/log.c:1582
+#: builtin/log.c:1678
 msgid "ident"
 msgstr ""
 
-#: builtin/log.c:1583
+#: builtin/log.c:1679
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 
-#: builtin/log.c:1585
+#: builtin/log.c:1681
 msgid "message-id"
 msgstr ""
 
-#: builtin/log.c:1586
+#: builtin/log.c:1682
 msgid "make first mail a reply to <message-id>"
 msgstr ""
 
-#: builtin/log.c:1587 builtin/log.c:1590
+#: builtin/log.c:1683 builtin/log.c:1686
 msgid "boundary"
 msgstr ""
 
-#: builtin/log.c:1588
+#: builtin/log.c:1684
 msgid "attach the patch"
 msgstr ""
 
-#: builtin/log.c:1591
+#: builtin/log.c:1687
 msgid "inline the patch"
 msgstr ""
 
-#: builtin/log.c:1595
+#: builtin/log.c:1691
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 
-#: builtin/log.c:1597
+#: builtin/log.c:1693
 msgid "signature"
 msgstr ""
 
-#: builtin/log.c:1598
+#: builtin/log.c:1694
 msgid "add a signature"
 msgstr ""
 
-#: builtin/log.c:1599
+#: builtin/log.c:1695
 msgid "base-commit"
 msgstr ""
 
-#: builtin/log.c:1600
+#: builtin/log.c:1696
 msgid "add prerequisite tree info to the patch series"
 msgstr ""
 
-#: builtin/log.c:1602
+#: builtin/log.c:1698
 msgid "add a signature from a file"
 msgstr ""
 
-#: builtin/log.c:1603
+#: builtin/log.c:1699
 msgid "don't print the patch filenames"
 msgstr ""
 
-#: builtin/log.c:1605
+#: builtin/log.c:1701
 msgid "show progress while generating patches"
 msgstr ""
 
-#: builtin/log.c:1606
-msgid "rev"
-msgstr ""
-
-#: builtin/log.c:1607
+#: builtin/log.c:1703
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1610
+#: builtin/log.c:1706
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1612
+#: builtin/log.c:1708
 msgid "percentage by which creation is weighted"
 msgstr ""
 
-#: builtin/log.c:1687
+#: builtin/log.c:1792
 #, c-format
 msgid "invalid ident line: %s"
 msgstr ""
 
-#: builtin/log.c:1702
+#: builtin/log.c:1807
 msgid "-n and -k are mutually exclusive"
 msgstr ""
 
-#: builtin/log.c:1704
+#: builtin/log.c:1809
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr ""
 
-#: builtin/log.c:1712
+#: builtin/log.c:1817
 msgid "--name-only does not make sense"
 msgstr ""
 
-#: builtin/log.c:1714
+#: builtin/log.c:1819
 msgid "--name-status does not make sense"
 msgstr ""
 
-#: builtin/log.c:1716
+#: builtin/log.c:1821
 msgid "--check does not make sense"
 msgstr ""
 
-#: builtin/log.c:1748
+#: builtin/log.c:1854
 msgid "standard output, or directory, which one?"
 msgstr ""
 
-#: builtin/log.c:1837
+#: builtin/log.c:1958
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1841
+#: builtin/log.c:1962
 msgid "Interdiff:"
 msgstr ""
 
-#: builtin/log.c:1842
+#: builtin/log.c:1963
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr ""
 
-#: builtin/log.c:1848
+#: builtin/log.c:1969
 msgid "--creation-factor requires --range-diff"
 msgstr ""
 
-#: builtin/log.c:1852
+#: builtin/log.c:1973
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1860
+#: builtin/log.c:1981
 msgid "Range-diff:"
 msgstr ""
 
-#: builtin/log.c:1861
+#: builtin/log.c:1982
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr ""
 
-#: builtin/log.c:1872
+#: builtin/log.c:1993
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr ""
 
-#: builtin/log.c:1908
+#: builtin/log.c:2029
 msgid "Generating patches"
 msgstr ""
 
-#: builtin/log.c:1952
+#: builtin/log.c:2073
 msgid "failed to create output files"
 msgstr ""
 
-#: builtin/log.c:2011
+#: builtin/log.c:2132
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr ""
 
-#: builtin/log.c:2065
+#: builtin/log.c:2186
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -13523,7 +14498,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr ""
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1518
 msgid "exec"
 msgstr ""
 
@@ -13596,361 +14571,373 @@ msgstr ""
 msgid "empty mbox: '%s'"
 msgstr ""
 
-#: builtin/merge.c:54
+#: builtin/merge.c:55
 msgid "git merge [<options>] [<commit>...]"
 msgstr ""
 
-#: builtin/merge.c:55
+#: builtin/merge.c:56
 msgid "git merge --abort"
 msgstr ""
 
-#: builtin/merge.c:56
+#: builtin/merge.c:57
 msgid "git merge --continue"
 msgstr ""
 
-#: builtin/merge.c:116
+#: builtin/merge.c:118
 msgid "switch `m' requires a value"
 msgstr ""
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "option `%s' requires a value"
 msgstr ""
 
-#: builtin/merge.c:185
+#: builtin/merge.c:187
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr ""
 
-#: builtin/merge.c:186
+#: builtin/merge.c:188
 #, c-format
 msgid "Available strategies are:"
 msgstr ""
 
-#: builtin/merge.c:191
+#: builtin/merge.c:193
 #, c-format
 msgid "Available custom strategies are:"
 msgstr ""
 
-#: builtin/merge.c:242 builtin/pull.c:150
+#: builtin/merge.c:244 builtin/pull.c:152
 msgid "do not show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:245 builtin/pull.c:153
+#: builtin/merge.c:247 builtin/pull.c:155
 msgid "show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:246 builtin/pull.c:156
+#: builtin/merge.c:248 builtin/pull.c:158
 msgid "(synonym to --stat)"
 msgstr ""
 
-#: builtin/merge.c:248 builtin/pull.c:159
+#: builtin/merge.c:250 builtin/pull.c:161
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 
-#: builtin/merge.c:251 builtin/pull.c:165
+#: builtin/merge.c:253 builtin/pull.c:167
 msgid "create a single commit instead of doing a merge"
 msgstr ""
 
-#: builtin/merge.c:253 builtin/pull.c:168
+#: builtin/merge.c:255 builtin/pull.c:170
 msgid "perform a commit if the merge succeeds (default)"
 msgstr ""
 
-#: builtin/merge.c:255 builtin/pull.c:171
+#: builtin/merge.c:257 builtin/pull.c:173
 msgid "edit message before committing"
 msgstr ""
 
-#: builtin/merge.c:257
+#: builtin/merge.c:259
 msgid "allow fast-forward (default)"
 msgstr ""
 
-#: builtin/merge.c:259 builtin/pull.c:178
+#: builtin/merge.c:261 builtin/pull.c:180
 msgid "abort if fast-forward is not possible"
 msgstr ""
 
-#: builtin/merge.c:263 builtin/pull.c:181
+#: builtin/merge.c:265 builtin/pull.c:183
 msgid "verify that the named commit has a valid GPG signature"
 msgstr ""
 
-#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185
-#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113
+#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:187
+#: builtin/rebase.c:512 builtin/rebase.c:1531 builtin/revert.c:114
 msgid "strategy"
 msgstr ""
 
-#: builtin/merge.c:265 builtin/pull.c:186
+#: builtin/merge.c:267 builtin/pull.c:188
 msgid "merge strategy to use"
 msgstr ""
 
-#: builtin/merge.c:266 builtin/pull.c:189
+#: builtin/merge.c:268 builtin/pull.c:191
 msgid "option=value"
 msgstr ""
 
-#: builtin/merge.c:267 builtin/pull.c:190
+#: builtin/merge.c:269 builtin/pull.c:192
 msgid "option for selected merge strategy"
 msgstr ""
 
-#: builtin/merge.c:269
+#: builtin/merge.c:271
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 
-#: builtin/merge.c:276
+#: builtin/merge.c:278
 msgid "abort the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:278
+#: builtin/merge.c:280
+msgid "--abort but leave index and working tree alone"
+msgstr ""
+
+#: builtin/merge.c:282
 msgid "continue the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:280 builtin/pull.c:197
+#: builtin/merge.c:284 builtin/pull.c:199
 msgid "allow merging unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:286
-msgid "verify commit-msg hook"
+#: builtin/merge.c:290
+msgid "bypass pre-merge-commit and commit-msg hooks"
 msgstr ""
 
-#: builtin/merge.c:311
+#: builtin/merge.c:307
 msgid "could not run stash."
 msgstr ""
 
-#: builtin/merge.c:316
+#: builtin/merge.c:312
 msgid "stash failed"
 msgstr ""
 
-#: builtin/merge.c:321
+#: builtin/merge.c:317
 #, c-format
 msgid "not a valid object: %s"
 msgstr ""
 
-#: builtin/merge.c:343 builtin/merge.c:360
+#: builtin/merge.c:339 builtin/merge.c:356
 msgid "read-tree failed"
 msgstr ""
 
-#: builtin/merge.c:390
+#: builtin/merge.c:386
 msgid " (nothing to squash)"
 msgstr ""
 
-#: builtin/merge.c:401
+#: builtin/merge.c:397
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:451
+#: builtin/merge.c:447
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:502
+#: builtin/merge.c:498
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr ""
 
-#: builtin/merge.c:589
+#: builtin/merge.c:585
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr ""
 
-#: builtin/merge.c:712
+#: builtin/merge.c:705
 msgid "Not handling anything other than two heads merge."
 msgstr ""
 
-#: builtin/merge.c:726
+#: builtin/merge.c:719
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr ""
 
-#: builtin/merge.c:741
+#: builtin/merge.c:734
 #, c-format
 msgid "unable to write %s"
 msgstr ""
 
-#: builtin/merge.c:793
+#: builtin/merge.c:786
 #, c-format
 msgid "Could not read from '%s'"
 msgstr ""
 
-#: builtin/merge.c:802
+#: builtin/merge.c:795
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:808
+#: builtin/merge.c:801
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
 msgstr ""
 
-#: builtin/merge.c:813
+#: builtin/merge.c:806
 msgid "An empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:816
+#: builtin/merge.c:809
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
 "the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:857
+#: builtin/merge.c:862
 msgid "Empty commit message."
 msgstr ""
 
-#: builtin/merge.c:876
+#: builtin/merge.c:877
 #, c-format
 msgid "Wonderful.\n"
 msgstr ""
 
-#: builtin/merge.c:936
+#: builtin/merge.c:938
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 
-#: builtin/merge.c:975
+#: builtin/merge.c:977
 msgid "No current branch."
 msgstr ""
 
-#: builtin/merge.c:977
+#: builtin/merge.c:979
 msgid "No remote for the current branch."
 msgstr ""
 
-#: builtin/merge.c:979
+#: builtin/merge.c:981
 msgid "No default upstream defined for the current branch."
 msgstr ""
 
-#: builtin/merge.c:984
+#: builtin/merge.c:986
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr ""
 
-#: builtin/merge.c:1041
+#: builtin/merge.c:1043
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr ""
 
-#: builtin/merge.c:1144
+#: builtin/merge.c:1146
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr ""
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1180
 msgid "not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1281
+#: builtin/merge.c:1283
 msgid "--abort expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1285
+#: builtin/merge.c:1287
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1297
+#: builtin/merge.c:1296
+msgid "--quit expects no arguments"
+msgstr ""
+
+#: builtin/merge.c:1309
 msgid "--continue expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1301
+#: builtin/merge.c:1313
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1317
+#: builtin/merge.c:1329
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1324
+#: builtin/merge.c:1336
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1327
+#: builtin/merge.c:1339
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 
-#: builtin/merge.c:1341
+#: builtin/merge.c:1353
 msgid "You cannot combine --squash with --no-ff."
 msgstr ""
 
-#: builtin/merge.c:1349
+#: builtin/merge.c:1355
+msgid "You cannot combine --squash with --commit."
+msgstr ""
+
+#: builtin/merge.c:1371
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 
-#: builtin/merge.c:1366
+#: builtin/merge.c:1388
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 
-#: builtin/merge.c:1368
+#: builtin/merge.c:1390
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 
-#: builtin/merge.c:1373
+#: builtin/merge.c:1395
 #, c-format
 msgid "%s - not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1375
+#: builtin/merge.c:1397
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 
-#: builtin/merge.c:1454
+#: builtin/merge.c:1476
 msgid "refusing to merge unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:1463
+#: builtin/merge.c:1485
 msgid "Already up to date."
 msgstr ""
 
-#: builtin/merge.c:1473
+#: builtin/merge.c:1495
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr ""
 
-#: builtin/merge.c:1515
+#: builtin/merge.c:1537
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr ""
 
-#: builtin/merge.c:1522
+#: builtin/merge.c:1544
 #, c-format
 msgid "Nope.\n"
 msgstr ""
 
-#: builtin/merge.c:1547
+#: builtin/merge.c:1569
 msgid "Already up to date. Yeeah!"
 msgstr ""
 
-#: builtin/merge.c:1553
+#: builtin/merge.c:1575
 msgid "Not possible to fast-forward, aborting."
 msgstr ""
 
-#: builtin/merge.c:1576 builtin/merge.c:1655
+#: builtin/merge.c:1598 builtin/merge.c:1663
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr ""
 
-#: builtin/merge.c:1580
+#: builtin/merge.c:1602
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr ""
 
-#: builtin/merge.c:1646
+#: builtin/merge.c:1654
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:1648
+#: builtin/merge.c:1656
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr ""
 
-#: builtin/merge.c:1657
+#: builtin/merge.c:1665
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr ""
 
-#: builtin/merge.c:1669
+#: builtin/merge.c:1677
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -14033,33 +15020,33 @@ msgstr ""
 msgid "set labels for file1/orig-file/file2"
 msgstr ""
 
-#: builtin/merge-recursive.c:46
+#: builtin/merge-recursive.c:47
 #, c-format
 msgid "unknown option %s"
 msgstr ""
 
-#: builtin/merge-recursive.c:52
+#: builtin/merge-recursive.c:53
 #, c-format
 msgid "could not parse object '%s'"
 msgstr ""
 
-#: builtin/merge-recursive.c:56
+#: builtin/merge-recursive.c:57
 #, c-format
 msgid "cannot handle more than %d base. Ignoring %s."
 msgid_plural "cannot handle more than %d bases. Ignoring %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/merge-recursive.c:64
+#: builtin/merge-recursive.c:65
 msgid "not handling anything other than two heads merge."
 msgstr ""
 
-#: builtin/merge-recursive.c:70 builtin/merge-recursive.c:72
+#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76
 #, c-format
 msgid "could not resolve ref '%s'"
 msgstr ""
 
-#: builtin/merge-recursive.c:78
+#: builtin/merge-recursive.c:82
 #, c-format
 msgid "Merging %s with %s\n"
 msgstr ""
@@ -14081,20 +15068,32 @@ msgid "allow creation of more than one tree"
 msgstr ""
 
 #: builtin/multi-pack-index.c:9
-msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
+msgid ""
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<size>)"
 msgstr ""
 
-#: builtin/multi-pack-index.c:22
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 
-#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67
+#: builtin/multi-pack-index.c:29
+msgid ""
+"during repack, collect pack-files of smaller size into a batch that is "
+"larger than this size"
+msgstr ""
+
+#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr ""
 
-#: builtin/multi-pack-index.c:51
+#: builtin/multi-pack-index.c:60
+msgid "--batch-size option is only for 'repack' subcommand"
+msgstr ""
+
+#: builtin/multi-pack-index.c:69
 #, c-format
-msgid "unrecognized verb: %s"
+msgid "unrecognized subcommand: %s"
 msgstr ""
 
 #: builtin/mv.c:18
@@ -14184,52 +15183,52 @@ msgstr ""
 msgid "Renaming %s to %s\n"
 msgstr ""
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516
+#: builtin/mv.c:277 builtin/remote.c:716 builtin/repack.c:518
 #, c-format
 msgid "renaming '%s' failed"
 msgstr ""
 
-#: builtin/name-rev.c:355
+#: builtin/name-rev.c:403
 msgid "git name-rev [<options>] <commit>..."
 msgstr ""
 
-#: builtin/name-rev.c:356
+#: builtin/name-rev.c:404
 msgid "git name-rev [<options>] --all"
 msgstr ""
 
-#: builtin/name-rev.c:357
+#: builtin/name-rev.c:405
 msgid "git name-rev [<options>] --stdin"
 msgstr ""
 
-#: builtin/name-rev.c:415
+#: builtin/name-rev.c:462
 msgid "print only names (no SHA-1)"
 msgstr ""
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:463
 msgid "only use tags to name the commits"
 msgstr ""
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:465
 msgid "only use refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:467
 msgid "ignore refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:469
 msgid "list all commits reachable from all refs"
 msgstr ""
 
-#: builtin/name-rev.c:423
+#: builtin/name-rev.c:470
 msgid "read from stdin"
 msgstr ""
 
-#: builtin/name-rev.c:424
+#: builtin/name-rev.c:471
 msgid "allow to print `undefined` names (default)"
 msgstr ""
 
-#: builtin/name-rev.c:430
+#: builtin/name-rev.c:477
 msgid "dereference tags in the input (internal use)"
 msgstr ""
 
@@ -14369,7 +15368,7 @@ msgstr ""
 msgid "the note contents have been left in %s"
 msgstr ""
 
-#: builtin/notes.c:242 builtin/tag.c:522
+#: builtin/notes.c:242 builtin/tag.c:532
 #, c-format
 msgid "could not open or read '%s'"
 msgstr ""
@@ -14590,7 +15589,7 @@ msgid ""
 "abort'.\n"
 msgstr ""
 
-#: builtin/notes.c:897 builtin/tag.c:535
+#: builtin/notes.c:897 builtin/tag.c:545
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr ""
@@ -14608,7 +15607,7 @@ msgstr ""
 msgid "read object names from the standard input"
 msgstr ""
 
-#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165
+#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:164
 msgid "do not remove, show only"
 msgstr ""
 
@@ -14624,7 +15623,7 @@ msgstr ""
 msgid "use notes from <notes-ref>"
 msgstr ""
 
-#: builtin/notes.c:1034 builtin/stash.c:1611
+#: builtin/notes.c:1034 builtin/stash.c:1607
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr ""
@@ -14639,369 +15638,357 @@ msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 
-#: builtin/pack-objects.c:424
+#: builtin/pack-objects.c:428
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:435
+#: builtin/pack-objects.c:439
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:566
+#: builtin/pack-objects.c:570
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr ""
 
-#: builtin/pack-objects.c:777
+#: builtin/pack-objects.c:781
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr ""
 
-#: builtin/pack-objects.c:790
+#: builtin/pack-objects.c:794
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr ""
 
-#: builtin/pack-objects.c:794
+#: builtin/pack-objects.c:798
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr ""
 
-#: builtin/pack-objects.c:798
+#: builtin/pack-objects.c:802
 msgid "unable to seek in reused packfile"
 msgstr ""
 
-#: builtin/pack-objects.c:809
+#: builtin/pack-objects.c:813
 msgid "unable to read from reused packfile"
 msgstr ""
 
-#: builtin/pack-objects.c:837
+#: builtin/pack-objects.c:841
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 
-#: builtin/pack-objects.c:850
+#: builtin/pack-objects.c:854
 msgid "Writing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:912 builtin/update-index.c:89
+#: builtin/pack-objects.c:917 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr ""
 
-#: builtin/pack-objects.c:965
+#: builtin/pack-objects.c:970
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr ""
 
-#: builtin/pack-objects.c:1161
+#: builtin/pack-objects.c:1164
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 
-#: builtin/pack-objects.c:1589
+#: builtin/pack-objects.c:1592
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:1598
+#: builtin/pack-objects.c:1601
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:1867
+#: builtin/pack-objects.c:1870
 msgid "Counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:1997
+#: builtin/pack-objects.c:2000
 #, c-format
 msgid "unable to get size of %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2012
+#: builtin/pack-objects.c:2015
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098
-#: builtin/pack-objects.c:2108
+#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2101
+#: builtin/pack-objects.c:2111
 #, c-format
 msgid "object %s cannot be read"
 msgstr ""
 
-#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112
+#: builtin/pack-objects.c:2088 builtin/pack-objects.c:2115
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 
-#: builtin/pack-objects.c:2122
+#: builtin/pack-objects.c:2125
 msgid "suboptimal pack - out of memory"
 msgstr ""
 
-#: builtin/pack-objects.c:2448
+#: builtin/pack-objects.c:2440
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr ""
 
-#: builtin/pack-objects.c:2580
+#: builtin/pack-objects.c:2572
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2659
 msgid "Compressing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2673
+#: builtin/pack-objects.c:2665
 msgid "inconsistency with delta count"
 msgstr ""
 
-#: builtin/pack-objects.c:2754
+#: builtin/pack-objects.c:2742
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
 " %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2760
+#: builtin/pack-objects.c:2748
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
 " %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "invalid value for --missing"
 msgstr ""
 
-#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025
+#: builtin/pack-objects.c:2905 builtin/pack-objects.c:3013
 msgid "cannot open pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:2948
+#: builtin/pack-objects.c:2936
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr ""
 
-#: builtin/pack-objects.c:3033
+#: builtin/pack-objects.c:3021
 msgid "unable to force loose object"
 msgstr ""
 
-#: builtin/pack-objects.c:3125
+#: builtin/pack-objects.c:3113
 #, c-format
 msgid "not a rev '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3128
+#: builtin/pack-objects.c:3116
 #, c-format
 msgid "bad revision '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3153
+#: builtin/pack-objects.c:3141
 msgid "unable to add recent objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3206
+#: builtin/pack-objects.c:3194
 #, c-format
 msgid "unsupported index version %s"
 msgstr ""
 
-#: builtin/pack-objects.c:3210
+#: builtin/pack-objects.c:3198
 #, c-format
 msgid "bad index version '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3240
-msgid "do not show progress meter"
-msgstr ""
-
-#: builtin/pack-objects.c:3242
-msgid "show progress meter"
-msgstr ""
-
-#: builtin/pack-objects.c:3244
-msgid "show progress meter during object writing phase"
-msgstr ""
-
-#: builtin/pack-objects.c:3247
-msgid "similar to --all-progress when progress meter is shown"
-msgstr ""
-
-#: builtin/pack-objects.c:3248
+#: builtin/pack-objects.c:3236
 msgid "<version>[,<offset>]"
 msgstr ""
 
-#: builtin/pack-objects.c:3249
+#: builtin/pack-objects.c:3237
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 
-#: builtin/pack-objects.c:3252
+#: builtin/pack-objects.c:3240
 msgid "maximum size of each output pack file"
 msgstr ""
 
-#: builtin/pack-objects.c:3254
+#: builtin/pack-objects.c:3242
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 
-#: builtin/pack-objects.c:3256
+#: builtin/pack-objects.c:3244
 msgid "ignore packed objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3258
+#: builtin/pack-objects.c:3246
 msgid "limit pack window by objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3260
+#: builtin/pack-objects.c:3248
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 
-#: builtin/pack-objects.c:3262
+#: builtin/pack-objects.c:3250
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3264
+#: builtin/pack-objects.c:3252
 msgid "reuse existing deltas"
 msgstr ""
 
-#: builtin/pack-objects.c:3266
+#: builtin/pack-objects.c:3254
 msgid "reuse existing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3268
+#: builtin/pack-objects.c:3256
 msgid "use OFS_DELTA objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3270
+#: builtin/pack-objects.c:3258
 msgid "use threads when searching for best delta matches"
 msgstr ""
 
-#: builtin/pack-objects.c:3272
+#: builtin/pack-objects.c:3260
 msgid "do not create an empty pack output"
 msgstr ""
 
-#: builtin/pack-objects.c:3274
+#: builtin/pack-objects.c:3262
 msgid "read revision arguments from standard input"
 msgstr ""
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3264
 msgid "limit the objects to those that are not yet packed"
 msgstr ""
 
-#: builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3267
 msgid "include objects reachable from any reference"
 msgstr ""
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3270
 msgid "include objects referred by reflog entries"
 msgstr ""
 
-#: builtin/pack-objects.c:3285
+#: builtin/pack-objects.c:3273
 msgid "include objects referred to by the index"
 msgstr ""
 
-#: builtin/pack-objects.c:3288
+#: builtin/pack-objects.c:3276
 msgid "output pack to stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:3290
+#: builtin/pack-objects.c:3278
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 
-#: builtin/pack-objects.c:3292
+#: builtin/pack-objects.c:3280
 msgid "keep unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3294
+#: builtin/pack-objects.c:3282
 msgid "pack loose unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3284
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 
-#: builtin/pack-objects.c:3299
+#: builtin/pack-objects.c:3287
 msgid "use the sparse reachability algorithm"
 msgstr ""
 
-#: builtin/pack-objects.c:3301
+#: builtin/pack-objects.c:3289
 msgid "create thin packs"
 msgstr ""
 
-#: builtin/pack-objects.c:3303
+#: builtin/pack-objects.c:3291
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 
-#: builtin/pack-objects.c:3305
+#: builtin/pack-objects.c:3293
 msgid "ignore packs that have companion .keep file"
 msgstr ""
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3295
 msgid "ignore this pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3309
+#: builtin/pack-objects.c:3297
 msgid "pack compression level"
 msgstr ""
 
-#: builtin/pack-objects.c:3311
+#: builtin/pack-objects.c:3299
 msgid "do not hide commits by grafts"
 msgstr ""
 
-#: builtin/pack-objects.c:3313
+#: builtin/pack-objects.c:3301
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3315
+#: builtin/pack-objects.c:3303
 msgid "write a bitmap index together with the pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:3318
+#: builtin/pack-objects.c:3307
+msgid "write a bitmap index if possible"
+msgstr ""
+
+#: builtin/pack-objects.c:3311
 msgid "handling for missing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3321
+#: builtin/pack-objects.c:3314
 msgid "do not pack objects in promisor packfiles"
 msgstr ""
 
-#: builtin/pack-objects.c:3323
+#: builtin/pack-objects.c:3316
 msgid "respect islands during delta compression"
 msgstr ""
 
-#: builtin/pack-objects.c:3348
+#: builtin/pack-objects.c:3345
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr ""
 
-#: builtin/pack-objects.c:3353
+#: builtin/pack-objects.c:3350
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr ""
 
-#: builtin/pack-objects.c:3407
+#: builtin/pack-objects.c:3404
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 
-#: builtin/pack-objects.c:3409
+#: builtin/pack-objects.c:3406
 msgid "minimum pack size limit is 1 MiB"
 msgstr ""
 
-#: builtin/pack-objects.c:3414
+#: builtin/pack-objects.c:3411
 msgid "--thin cannot be used to build an indexable pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3417
+#: builtin/pack-objects.c:3414
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr ""
 
-#: builtin/pack-objects.c:3423
+#: builtin/pack-objects.c:3420
 msgid "cannot use --filter without --stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:3484
+#: builtin/pack-objects.c:3481
 msgid "Enumerating objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3514
+#: builtin/pack-objects.c:3511
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr ""
@@ -15055,61 +16042,61 @@ msgstr ""
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/pull.c:140
+#: builtin/pull.c:142
 msgid "control for recursive fetching of submodules"
 msgstr ""
 
-#: builtin/pull.c:144
+#: builtin/pull.c:146
 msgid "Options related to merging"
 msgstr ""
 
-#: builtin/pull.c:147
+#: builtin/pull.c:149
 msgid "incorporate changes by rebasing rather than merging"
 msgstr ""
 
-#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125
+#: builtin/pull.c:177 builtin/rebase.c:467 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr ""
 
-#: builtin/pull.c:184
+#: builtin/pull.c:186
 msgid "automatically stash/stash pop before and after rebase"
 msgstr ""
 
-#: builtin/pull.c:200
+#: builtin/pull.c:202
 msgid "Options related to fetching"
 msgstr ""
 
-#: builtin/pull.c:210
+#: builtin/pull.c:212
 msgid "force overwrite of local branch"
 msgstr ""
 
-#: builtin/pull.c:218
+#: builtin/pull.c:220
 msgid "number of submodules pulled in parallel"
 msgstr ""
 
-#: builtin/pull.c:313
+#: builtin/pull.c:320
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr ""
 
-#: builtin/pull.c:430
+#: builtin/pull.c:437
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr ""
 
-#: builtin/pull.c:432
+#: builtin/pull.c:439
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 
-#: builtin/pull.c:433
+#: builtin/pull.c:440
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr ""
 
-#: builtin/pull.c:436
+#: builtin/pull.c:443
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -15117,74 +16104,74 @@ msgid ""
 "for your current branch, you must specify a branch on the command line."
 msgstr ""
 
-#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73
+#: builtin/pull.c:448 builtin/rebase.c:1375 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr ""
 
-#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79
+#: builtin/pull.c:450 builtin/pull.c:465 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr ""
 
-#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82
+#: builtin/pull.c:452 builtin/pull.c:467 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr ""
 
-#: builtin/pull.c:446 builtin/pull.c:461
+#: builtin/pull.c:453 builtin/pull.c:468
 msgid "See git-pull(1) for details."
 msgstr ""
 
-#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463
-#: builtin/rebase.c:1327 git-parse-remote.sh:64
+#: builtin/pull.c:455 builtin/pull.c:461 builtin/pull.c:470
+#: builtin/rebase.c:1381 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr ""
 
-#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468
+#: builtin/pull.c:455 builtin/pull.c:470 builtin/pull.c:475
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr ""
 
-#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75
+#: builtin/pull.c:463 builtin/rebase.c:1373 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr ""
 
-#: builtin/pull.c:465 git-parse-remote.sh:95
+#: builtin/pull.c:472 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 
-#: builtin/pull.c:470
+#: builtin/pull.c:477
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
 "from the remote, but no such ref was fetched."
 msgstr ""
 
-#: builtin/pull.c:574
+#: builtin/pull.c:587
 #, c-format
 msgid "unable to access commit %s"
 msgstr ""
 
-#: builtin/pull.c:854
+#: builtin/pull.c:867
 msgid "ignoring --verify-signatures for rebase"
 msgstr ""
 
-#: builtin/pull.c:909
+#: builtin/pull.c:922
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr ""
 
-#: builtin/pull.c:917
+#: builtin/pull.c:930
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 
-#: builtin/pull.c:921
+#: builtin/pull.c:934
 msgid "pull with rebase"
 msgstr ""
 
-#: builtin/pull.c:922
+#: builtin/pull.c:935
 msgid "please commit or stash them."
 msgstr ""
 
-#: builtin/pull.c:947
+#: builtin/pull.c:960
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -15192,7 +16179,7 @@ msgid ""
 "commit %s."
 msgstr ""
 
-#: builtin/pull.c:953
+#: builtin/pull.c:966
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -15203,15 +16190,15 @@ msgid ""
 "to recover."
 msgstr ""
 
-#: builtin/pull.c:968
+#: builtin/pull.c:981
 msgid "Cannot merge multiple branches into empty head."
 msgstr ""
 
-#: builtin/pull.c:972
+#: builtin/pull.c:985
 msgid "Cannot rebase onto multiple branches."
 msgstr ""
 
-#: builtin/pull.c:979
+#: builtin/pull.c:992
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 
@@ -15219,21 +16206,21 @@ msgstr ""
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/push.c:111
+#: builtin/push.c:112
 msgid "tag shorthand without <tag>"
 msgstr ""
 
-#: builtin/push.c:121
+#: builtin/push.c:122
 msgid "--delete only accepts plain target ref names"
 msgstr ""
 
-#: builtin/push.c:167
+#: builtin/push.c:168
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
 msgstr ""
 
-#: builtin/push.c:170
+#: builtin/push.c:171
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -15248,7 +16235,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/push.c:185
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -15258,7 +16245,7 @@ msgid ""
 "    git push %s HEAD:<name-of-remote-branch>\n"
 msgstr ""
 
-#: builtin/push.c:199
+#: builtin/push.c:200
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -15267,12 +16254,12 @@ msgid ""
 "    git push --set-upstream %s %s\n"
 msgstr ""
 
-#: builtin/push.c:207
+#: builtin/push.c:208
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr ""
 
-#: builtin/push.c:210
+#: builtin/push.c:211
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -15280,12 +16267,12 @@ msgid ""
 "to update which remote branch."
 msgstr ""
 
-#: builtin/push.c:269
+#: builtin/push.c:270
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 
-#: builtin/push.c:276
+#: builtin/push.c:277
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -15293,7 +16280,7 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:282
+#: builtin/push.c:283
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -15301,7 +16288,7 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:288
+#: builtin/push.c:289
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -15310,143 +16297,143 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:295
+#: builtin/push.c:296
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 
-#: builtin/push.c:298
+#: builtin/push.c:299
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
 "without using the '--force' option.\n"
 msgstr ""
 
-#: builtin/push.c:359
+#: builtin/push.c:360
 #, c-format
 msgid "Pushing to %s\n"
 msgstr ""
 
-#: builtin/push.c:364
+#: builtin/push.c:367
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr ""
 
-#: builtin/push.c:398
-#, c-format
-msgid "bad repository '%s'"
-msgstr ""
-
-#: builtin/push.c:399
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-
-#: builtin/push.c:554
+#: builtin/push.c:542
 msgid "repository"
 msgstr ""
 
-#: builtin/push.c:555 builtin/send-pack.c:164
+#: builtin/push.c:543 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr ""
 
-#: builtin/push.c:556 builtin/send-pack.c:166
+#: builtin/push.c:544 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr ""
 
-#: builtin/push.c:558
+#: builtin/push.c:546
 msgid "delete refs"
 msgstr ""
 
-#: builtin/push.c:559
+#: builtin/push.c:547
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 
-#: builtin/push.c:562 builtin/send-pack.c:167
+#: builtin/push.c:550 builtin/send-pack.c:167
 msgid "force updates"
 msgstr ""
 
-#: builtin/push.c:564 builtin/send-pack.c:181
+#: builtin/push.c:552 builtin/send-pack.c:181
 msgid "<refname>:<expect>"
 msgstr ""
 
-#: builtin/push.c:565 builtin/send-pack.c:182
+#: builtin/push.c:553 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 msgstr ""
 
-#: builtin/push.c:568
+#: builtin/push.c:556
 msgid "control recursive pushing of submodules"
 msgstr ""
 
-#: builtin/push.c:570 builtin/send-pack.c:175
+#: builtin/push.c:558 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr ""
 
-#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161
+#: builtin/push.c:559 builtin/push.c:560 builtin/send-pack.c:161
 #: builtin/send-pack.c:162
 msgid "receive pack program"
 msgstr ""
 
-#: builtin/push.c:573
+#: builtin/push.c:561
 msgid "set upstream for git pull/status"
 msgstr ""
 
-#: builtin/push.c:576
+#: builtin/push.c:564
 msgid "prune locally removed refs"
 msgstr ""
 
-#: builtin/push.c:578
+#: builtin/push.c:566
 msgid "bypass pre-push hook"
 msgstr ""
 
-#: builtin/push.c:579
+#: builtin/push.c:567
 msgid "push missing but relevant tags"
 msgstr ""
 
-#: builtin/push.c:582 builtin/send-pack.c:169
+#: builtin/push.c:570 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr ""
 
-#: builtin/push.c:584 builtin/send-pack.c:176
+#: builtin/push.c:572 builtin/send-pack.c:176
 msgid "request atomic transaction on remote side"
 msgstr ""
 
-#: builtin/push.c:602
+#: builtin/push.c:590
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr ""
 
-#: builtin/push.c:604
+#: builtin/push.c:592
 msgid "--delete doesn't make sense without any refs"
 msgstr ""
 
-#: builtin/push.c:607
+#: builtin/push.c:612
+#, c-format
+msgid "bad repository '%s'"
+msgstr ""
+
+#: builtin/push.c:613
+msgid ""
+"No configured push destination.\n"
+"Either specify the URL from the command-line or configure a remote "
+"repository using\n"
+"\n"
+"    git remote add <name> <url>\n"
+"\n"
+"and then push using the remote name\n"
+"\n"
+"    git push <name>\n"
+msgstr ""
+
+#: builtin/push.c:628
 msgid "--all and --tags are incompatible"
 msgstr ""
 
-#: builtin/push.c:609
+#: builtin/push.c:630
 msgid "--all can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:613
+#: builtin/push.c:634
 msgid "--mirror and --tags are incompatible"
 msgstr ""
 
-#: builtin/push.c:615
+#: builtin/push.c:636
 msgid "--mirror can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:618
+#: builtin/push.c:639
 msgid "--all and --mirror are incompatible"
 msgstr ""
 
-#: builtin/push.c:637
+#: builtin/push.c:643
 msgid "push options must not have new line characters"
 msgstr ""
 
@@ -15462,24 +16449,32 @@ msgstr ""
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr ""
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr ""
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr ""
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr ""
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr ""
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr ""
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr ""
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr ""
 
@@ -15558,10 +16553,14 @@ msgstr ""
 msgid "suppress feedback messages"
 msgstr ""
 
+#: builtin/read-tree.c:188
+msgid "You need to resolve your current index first"
+msgstr ""
+
 #: builtin/rebase.c:32
 msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
-"[<branch>]"
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
+"[<upstream> [<branch>]]"
 msgstr ""
 
 #: builtin/rebase.c:34
@@ -15573,216 +16572,216 @@ msgstr ""
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr ""
 
-#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#: builtin/rebase.c:177 builtin/rebase.c:201 builtin/rebase.c:228
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
+#: builtin/rebase.c:186 builtin/rebase.c:212 builtin/rebase.c:236
 #, c-format
 msgid "could not write '%s'."
 msgstr ""
 
-#: builtin/rebase.c:252
+#: builtin/rebase.c:271
 msgid "no HEAD?"
 msgstr ""
 
-#: builtin/rebase.c:279
+#: builtin/rebase.c:298
 #, c-format
 msgid "could not create temporary %s"
 msgstr ""
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:304
 msgid "could not mark as interactive"
 msgstr ""
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:362
 msgid "could not generate todo list"
 msgstr ""
 
-#: builtin/rebase.c:382
+#: builtin/rebase.c:402
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr ""
 
-#: builtin/rebase.c:437
+#: builtin/rebase.c:457
 msgid "git rebase--interactive [<options>]"
 msgstr ""
 
-#: builtin/rebase.c:449
+#: builtin/rebase.c:469
 msgid "keep empty commits"
 msgstr ""
 
-#: builtin/rebase.c:451 builtin/revert.c:127
+#: builtin/rebase.c:471 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr ""
 
-#: builtin/rebase.c:452
+#: builtin/rebase.c:472
 msgid "rebase merge commits"
 msgstr ""
 
-#: builtin/rebase.c:454
+#: builtin/rebase.c:474
 msgid "keep original branch points of cousins"
 msgstr ""
 
-#: builtin/rebase.c:456
+#: builtin/rebase.c:476
 msgid "move commits that begin with squash!/fixup!"
 msgstr ""
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:477
 msgid "sign commits"
 msgstr ""
 
-#: builtin/rebase.c:459 builtin/rebase.c:1397
+#: builtin/rebase.c:479 builtin/rebase.c:1455
 msgid "display a diffstat of what changed upstream"
 msgstr ""
 
-#: builtin/rebase.c:461
+#: builtin/rebase.c:481
 msgid "continue rebase"
 msgstr ""
 
-#: builtin/rebase.c:463
+#: builtin/rebase.c:483
 msgid "skip commit"
 msgstr ""
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:484
 msgid "edit the todo list"
 msgstr ""
 
-#: builtin/rebase.c:466
+#: builtin/rebase.c:486
 msgid "show the current patch"
 msgstr ""
 
-#: builtin/rebase.c:469
+#: builtin/rebase.c:489
 msgid "shorten commit ids in the todo list"
 msgstr ""
 
-#: builtin/rebase.c:471
+#: builtin/rebase.c:491
 msgid "expand commit ids in the todo list"
 msgstr ""
 
-#: builtin/rebase.c:473
+#: builtin/rebase.c:493
 msgid "check the todo list"
 msgstr ""
 
-#: builtin/rebase.c:475
+#: builtin/rebase.c:495
 msgid "rearrange fixup/squash lines"
 msgstr ""
 
-#: builtin/rebase.c:477
+#: builtin/rebase.c:497
 msgid "insert exec commands in todo list"
 msgstr ""
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:498
 msgid "onto"
 msgstr ""
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:501
 msgid "restrict-revision"
 msgstr ""
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:501
 msgid "restrict revision"
 msgstr ""
 
-#: builtin/rebase.c:483
+#: builtin/rebase.c:503
 msgid "squash-onto"
 msgstr ""
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:504
 msgid "squash onto"
 msgstr ""
 
-#: builtin/rebase.c:486
+#: builtin/rebase.c:506
 msgid "the upstream commit"
 msgstr ""
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:508
 msgid "head-name"
 msgstr ""
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:508
 msgid "head name"
 msgstr ""
 
-#: builtin/rebase.c:493
+#: builtin/rebase.c:513
 msgid "rebase strategy"
 msgstr ""
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:514
 msgid "strategy-opts"
 msgstr ""
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:515
 msgid "strategy options"
 msgstr ""
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:516
 msgid "switch-to"
 msgstr ""
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:517
 msgid "the branch or commit to checkout"
 msgstr ""
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:518
 msgid "onto-name"
 msgstr ""
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:518
 msgid "onto name"
 msgstr ""
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:519
 msgid "cmd"
 msgstr ""
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:519
 msgid "the command to run"
 msgstr ""
 
-#: builtin/rebase.c:502 builtin/rebase.c:1480
+#: builtin/rebase.c:522 builtin/rebase.c:1540
 msgid "automatically re-schedule any `exec` that fails"
 msgstr ""
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:540
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr ""
 
-#: builtin/rebase.c:534 builtin/rebase.c:1787
+#: builtin/rebase.c:556
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr ""
 
-#: builtin/rebase.c:586
+#: builtin/rebase.c:608
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr ""
 
-#: builtin/rebase.c:601
+#: builtin/rebase.c:623
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:648
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:702
+#: builtin/rebase.c:724
 #, c-format
 msgid "Could not read '%s'"
 msgstr ""
 
-#: builtin/rebase.c:720
+#: builtin/rebase.c:742
 #, c-format
 msgid "Cannot store %s"
 msgstr ""
 
-#: builtin/rebase.c:817
+#: builtin/rebase.c:849
 msgid "could not determine HEAD revision"
 msgstr ""
 
-#: builtin/rebase.c:940
+#: builtin/rebase.c:972 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -15791,7 +16790,7 @@ msgid ""
 "abort\"."
 msgstr ""
 
-#: builtin/rebase.c:1021
+#: builtin/rebase.c:1060
 #, c-format
 msgid ""
 "\n"
@@ -15803,7 +16802,7 @@ msgid ""
 "As a result, git cannot rebase them."
 msgstr ""
 
-#: builtin/rebase.c:1313
+#: builtin/rebase.c:1367
 #, c-format
 msgid ""
 "%s\n"
@@ -15814,7 +16813,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/rebase.c:1329
+#: builtin/rebase.c:1383
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -15823,174 +16822,193 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1413
 msgid "exec commands cannot contain newlines"
 msgstr ""
 
-#: builtin/rebase.c:1363
+#: builtin/rebase.c:1417
 msgid "empty exec command"
 msgstr ""
 
-#: builtin/rebase.c:1390
+#: builtin/rebase.c:1446
 msgid "rebase onto given branch instead of upstream"
 msgstr ""
 
-#: builtin/rebase.c:1392
+#: builtin/rebase.c:1448
+msgid "use the merge-base of upstream and branch as the current base"
+msgstr ""
+
+#: builtin/rebase.c:1450
 msgid "allow pre-rebase hook to run"
 msgstr ""
 
-#: builtin/rebase.c:1394
+#: builtin/rebase.c:1452
 msgid "be quiet. implies --no-stat"
 msgstr ""
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1458
 msgid "do not show diffstat of what changed upstream"
 msgstr ""
 
-#: builtin/rebase.c:1403
+#: builtin/rebase.c:1461
 msgid "add a Signed-off-by: line to each commit"
 msgstr ""
 
-#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411
-msgid "passed to 'git am'"
+#: builtin/rebase.c:1464
+msgid "make committer date match author date"
+msgstr ""
+
+#: builtin/rebase.c:1466
+msgid "ignore author date and use current date"
+msgstr ""
+
+#: builtin/rebase.c:1468
+msgid "synonym of --reset-author-date"
 msgstr ""
 
-#: builtin/rebase.c:1413 builtin/rebase.c:1415
+#: builtin/rebase.c:1470 builtin/rebase.c:1474
 msgid "passed to 'git apply'"
 msgstr ""
 
-#: builtin/rebase.c:1417 builtin/rebase.c:1420
+#: builtin/rebase.c:1472
+msgid "ignore changes in whitespace"
+msgstr ""
+
+#: builtin/rebase.c:1476 builtin/rebase.c:1479
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 
-#: builtin/rebase.c:1422
+#: builtin/rebase.c:1481
 msgid "continue"
 msgstr ""
 
-#: builtin/rebase.c:1425
+#: builtin/rebase.c:1484
 msgid "skip current patch and continue"
 msgstr ""
 
-#: builtin/rebase.c:1427
+#: builtin/rebase.c:1486
 msgid "abort and check out the original branch"
 msgstr ""
 
-#: builtin/rebase.c:1430
+#: builtin/rebase.c:1489
 msgid "abort but keep HEAD where it is"
 msgstr ""
 
-#: builtin/rebase.c:1431
+#: builtin/rebase.c:1490
 msgid "edit the todo list during an interactive rebase"
 msgstr ""
 
-#: builtin/rebase.c:1434
+#: builtin/rebase.c:1493
 msgid "show the patch file being applied or merged"
 msgstr ""
 
-#: builtin/rebase.c:1437
+#: builtin/rebase.c:1496
 msgid "use merging strategies to rebase"
 msgstr ""
 
-#: builtin/rebase.c:1441
+#: builtin/rebase.c:1500
 msgid "let the user edit the list of commits to rebase"
 msgstr ""
 
-#: builtin/rebase.c:1445
+#: builtin/rebase.c:1504
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr ""
 
-#: builtin/rebase.c:1449
+#: builtin/rebase.c:1509
 msgid "preserve empty commits during rebase"
 msgstr ""
 
-#: builtin/rebase.c:1451
+#: builtin/rebase.c:1511
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr ""
 
-#: builtin/rebase.c:1457
+#: builtin/rebase.c:1517
 msgid "automatically stash/stash pop before and after"
 msgstr ""
 
-#: builtin/rebase.c:1459
+#: builtin/rebase.c:1519
 msgid "add exec lines after each commit of the editable list"
 msgstr ""
 
-#: builtin/rebase.c:1463
+#: builtin/rebase.c:1523
 msgid "allow rebasing commits with empty messages"
 msgstr ""
 
-#: builtin/rebase.c:1466
+#: builtin/rebase.c:1526
 msgid "try to rebase merges instead of skipping them"
 msgstr ""
 
-#: builtin/rebase.c:1469
+#: builtin/rebase.c:1529
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr ""
 
-#: builtin/rebase.c:1471
+#: builtin/rebase.c:1531
 msgid "use the given merge strategy"
 msgstr ""
 
-#: builtin/rebase.c:1473 builtin/revert.c:114
+#: builtin/rebase.c:1533 builtin/revert.c:115
 msgid "option"
 msgstr ""
 
-#: builtin/rebase.c:1474
+#: builtin/rebase.c:1534
 msgid "pass the argument through to the merge strategy"
 msgstr ""
 
-#: builtin/rebase.c:1477
+#: builtin/rebase.c:1537
 msgid "rebase all reachable commits up to the root(s)"
 msgstr ""
 
-#: builtin/rebase.c:1498
+#: builtin/rebase.c:1554
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
 msgstr ""
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1560
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 
-#: builtin/rebase.c:1545
+#: builtin/rebase.c:1601
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 
-#: builtin/rebase.c:1549
+#: builtin/rebase.c:1606
+msgid "cannot combine '--keep-base' with '--onto'"
+msgstr ""
+
+#: builtin/rebase.c:1608
+msgid "cannot combine '--keep-base' with '--root'"
+msgstr ""
+
+#: builtin/rebase.c:1612
 msgid "No rebase in progress?"
 msgstr ""
 
-#: builtin/rebase.c:1553
+#: builtin/rebase.c:1616
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 
-#: builtin/rebase.c:1576
+#: builtin/rebase.c:1639
 msgid "Cannot read HEAD"
 msgstr ""
 
-#: builtin/rebase.c:1588
+#: builtin/rebase.c:1651
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgstr ""
 
-#: builtin/rebase.c:1607
+#: builtin/rebase.c:1670
 msgid "could not discard worktree changes"
 msgstr ""
 
-#: builtin/rebase.c:1626
+#: builtin/rebase.c:1689
 #, c-format
 msgid "could not move back to %s"
 msgstr ""
 
-#: builtin/rebase.c:1637 builtin/rm.c:369
-#, c-format
-msgid "could not remove '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1663
+#: builtin/rebase.c:1734
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -16003,167 +17021,163 @@ msgid ""
 "valuable there.\n"
 msgstr ""
 
-#: builtin/rebase.c:1684
+#: builtin/rebase.c:1757
 msgid "switch `C' expects a numerical value"
 msgstr ""
 
-#: builtin/rebase.c:1725
+#: builtin/rebase.c:1798
 #, c-format
 msgid "Unknown mode: %s"
 msgstr ""
 
-#: builtin/rebase.c:1747
+#: builtin/rebase.c:1820
 msgid "--strategy requires --merge or --interactive"
 msgstr ""
 
-#: builtin/rebase.c:1796
+#: builtin/rebase.c:1860
+msgid "--reschedule-failed-exec requires --exec or --interactive"
+msgstr ""
+
+#: builtin/rebase.c:1872
 msgid "cannot combine am options with either interactive or merge options"
 msgstr ""
 
-#: builtin/rebase.c:1815
+#: builtin/rebase.c:1891
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr ""
 
-#: builtin/rebase.c:1819
+#: builtin/rebase.c:1895
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 
-#: builtin/rebase.c:1825
-msgid "cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr ""
-
-#: builtin/rebase.c:1828
-msgid "cannot combine '--rebase-merges' with '--strategy'"
-msgstr ""
-
-#: builtin/rebase.c:1852
+#: builtin/rebase.c:1919
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1858
+#: builtin/rebase.c:1925
 msgid "Could not create new root commit"
 msgstr ""
 
-#: builtin/rebase.c:1876
+#: builtin/rebase.c:1951
+#, c-format
+msgid "'%s': need exactly one merge base with branch"
+msgstr ""
+
+#: builtin/rebase.c:1954
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr ""
 
-#: builtin/rebase.c:1883
+#: builtin/rebase.c:1962
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1908
+#: builtin/rebase.c:1987
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1916 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1933
+#: builtin/rebase.c:1995 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:1961
 #, c-format
 msgid "No such ref: %s"
 msgstr ""
 
-#: builtin/rebase.c:1927
+#: builtin/rebase.c:2006
 msgid "Could not resolve HEAD to a revision"
 msgstr ""
 
-#: builtin/rebase.c:1968
+#: builtin/rebase.c:2044
 msgid "Cannot autostash"
 msgstr ""
 
-#: builtin/rebase.c:1971
+#: builtin/rebase.c:2047
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1977
+#: builtin/rebase.c:2053
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1980
+#: builtin/rebase.c:2056
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr ""
 
-#: builtin/rebase.c:1983
+#: builtin/rebase.c:2059
 msgid "could not reset --hard"
 msgstr ""
 
-#: builtin/rebase.c:1984 builtin/reset.c:114
-#, c-format
-msgid "HEAD is now at %s"
-msgstr ""
-
-#: builtin/rebase.c:2000
+#: builtin/rebase.c:2068
 msgid "Please commit or stash them."
 msgstr ""
 
-#: builtin/rebase.c:2027
+#: builtin/rebase.c:2095
 #, c-format
 msgid "could not parse '%s'"
 msgstr ""
 
-#: builtin/rebase.c:2040
+#: builtin/rebase.c:2108
 #, c-format
 msgid "could not switch to %s"
 msgstr ""
 
-#: builtin/rebase.c:2051
+#: builtin/rebase.c:2119
 msgid "HEAD is up to date."
 msgstr ""
 
-#: builtin/rebase.c:2053
+#: builtin/rebase.c:2121
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr ""
 
-#: builtin/rebase.c:2061
+#: builtin/rebase.c:2129
 msgid "HEAD is up to date, rebase forced."
 msgstr ""
 
-#: builtin/rebase.c:2063
+#: builtin/rebase.c:2131
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr ""
 
-#: builtin/rebase.c:2071
+#: builtin/rebase.c:2139
 msgid "The pre-rebase hook refused to rebase."
 msgstr ""
 
-#: builtin/rebase.c:2078
+#: builtin/rebase.c:2146
 #, c-format
 msgid "Changes to %s:\n"
 msgstr ""
 
-#: builtin/rebase.c:2081
+#: builtin/rebase.c:2149
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr ""
 
-#: builtin/rebase.c:2106
+#: builtin/rebase.c:2174
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 
-#: builtin/rebase.c:2115
+#: builtin/rebase.c:2183
 msgid "Could not detach HEAD"
 msgstr ""
 
-#: builtin/rebase.c:2124
+#: builtin/rebase.c:2192
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr ""
 
-#: builtin/receive-pack.c:33
+#: builtin/receive-pack.c:32
 msgid "git receive-pack <git-dir>"
 msgstr ""
 
-#: builtin/receive-pack.c:833
+#: builtin/receive-pack.c:830
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -16180,7 +17194,7 @@ msgid ""
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:853
+#: builtin/receive-pack.c:850
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -16192,11 +17206,11 @@ msgid ""
 "To squelch this message, you can set it to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:1940
+#: builtin/receive-pack.c:1936
 msgid "quiet"
 msgstr ""
 
-#: builtin/receive-pack.c:1954
+#: builtin/receive-pack.c:1950
 msgid "You must specify a directory."
 msgstr ""
 
@@ -16410,7 +17424,7 @@ msgstr ""
 msgid "(delete)"
 msgstr ""
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:629 builtin/remote.c:764 builtin/remote.c:863
 #, c-format
 msgid "No such remote: '%s'"
 msgstr ""
@@ -16428,17 +17442,17 @@ msgid ""
 "\tPlease update the configuration manually if necessary."
 msgstr ""
 
-#: builtin/remote.c:702
+#: builtin/remote.c:701
 #, c-format
 msgid "deleting '%s' failed"
 msgstr ""
 
-#: builtin/remote.c:736
+#: builtin/remote.c:735
 #, c-format
 msgid "creating '%s' failed"
 msgstr ""
 
-#: builtin/remote.c:802
+#: builtin/remote.c:801
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -16448,118 +17462,118 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:816
+#: builtin/remote.c:815
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr ""
 
-#: builtin/remote.c:917
+#: builtin/remote.c:916
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr ""
 
-#: builtin/remote.c:920
+#: builtin/remote.c:919
 msgid " tracked"
 msgstr ""
 
-#: builtin/remote.c:922
+#: builtin/remote.c:921
 msgid " stale (use 'git remote prune' to remove)"
 msgstr ""
 
-#: builtin/remote.c:924
+#: builtin/remote.c:923
 msgid " ???"
 msgstr ""
 
-#: builtin/remote.c:965
+#: builtin/remote.c:964
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr ""
 
-#: builtin/remote.c:974
+#: builtin/remote.c:973
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:976
+#: builtin/remote.c:975
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:979
+#: builtin/remote.c:978
 #, c-format
 msgid "rebases onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:983
+#: builtin/remote.c:982
 #, c-format
 msgid " merges with remote %s"
 msgstr ""
 
-#: builtin/remote.c:986
+#: builtin/remote.c:985
 #, c-format
 msgid "merges with remote %s"
 msgstr ""
 
-#: builtin/remote.c:989
+#: builtin/remote.c:988
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr ""
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1031
 msgid "create"
 msgstr ""
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1034
 msgid "delete"
 msgstr ""
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1038
 msgid "up to date"
 msgstr ""
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1041
 msgid "fast-forwardable"
 msgstr ""
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1044
 msgid "local out of date"
 msgstr ""
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr ""
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1054
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr ""
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1058
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr ""
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1061
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr ""
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1129
 msgid "do not query remotes"
 msgstr ""
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1156
 #, c-format
 msgid "* remote %s"
 msgstr ""
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1157
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
+#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
 msgid "(no URL)"
 msgstr ""
 
@@ -16567,303 +17581,294 @@ msgstr ""
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1173 builtin/remote.c:1175
+#: builtin/remote.c:1172 builtin/remote.c:1174
 #, c-format
 msgid "  Push  URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
+#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr ""
 
-#: builtin/remote.c:1177
+#: builtin/remote.c:1176
 msgid "(not queried)"
 msgstr ""
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1178
 msgid "(unknown)"
 msgstr ""
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1182
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr ""
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1194
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1197 builtin/remote.c:1223
 msgid " (status not queried)"
 msgstr ""
 
-#: builtin/remote.c:1207
+#: builtin/remote.c:1206
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1215
+#: builtin/remote.c:1214
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr ""
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1220
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1241
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr ""
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1243
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr ""
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1258
 msgid "Cannot determine remote HEAD"
 msgstr ""
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1260
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1270
 #, c-format
 msgid "Could not delete %s"
 msgstr ""
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1278
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr ""
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1280
 #, c-format
 msgid "Could not setup %s"
 msgstr ""
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1298
 #, c-format
 msgid " %s will become dangling!"
 msgstr ""
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s has become dangling!"
 msgstr ""
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1309
 #, c-format
 msgid "Pruning %s"
 msgstr ""
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1310
 #, c-format
 msgid "URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1326
 #, c-format
 msgid " * [would prune] %s"
 msgstr ""
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1329
 #, c-format
 msgid " * [pruned] %s"
 msgstr ""
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1374
 msgid "prune remotes after fetching"
 msgstr ""
 
-#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
+#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
 #, c-format
 msgid "No such remote '%s'"
 msgstr ""
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1453
 msgid "add branch"
 msgstr ""
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1460
 msgid "no remote specified"
 msgstr ""
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1477
 msgid "query push URLs rather than fetch URLs"
 msgstr ""
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1479
 msgid "return all URLs"
 msgstr ""
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1507
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr ""
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1533
 msgid "manipulate push URLs"
 msgstr ""
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1535
 msgid "add URL"
 msgstr ""
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1537
 msgid "delete URLs"
 msgstr ""
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1544
 msgid "--add --delete doesn't make sense"
 msgstr ""
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1583
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr ""
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1591
 #, c-format
 msgid "No such URL found: %s"
 msgstr ""
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1593
 msgid "Will not delete all non-push URLs"
 msgstr ""
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr ""
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr ""
-
-#: builtin/repack.c:22
+#: builtin/repack.c:23
 msgid "git repack [<options>]"
 msgstr ""
 
-#: builtin/repack.c:27
+#: builtin/repack.c:28
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
 msgstr ""
 
-#: builtin/repack.c:200
+#: builtin/repack.c:191
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 
-#: builtin/repack.c:239 builtin/repack.c:414
+#: builtin/repack.c:230 builtin/repack.c:416
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 
-#: builtin/repack.c:256
+#: builtin/repack.c:254
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 
-#: builtin/repack.c:294
+#: builtin/repack.c:292
 msgid "pack everything in a single pack"
 msgstr ""
 
-#: builtin/repack.c:296
+#: builtin/repack.c:294
 msgid "same as -a, and turn unreachable objects loose"
 msgstr ""
 
-#: builtin/repack.c:299
+#: builtin/repack.c:297
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr ""
 
-#: builtin/repack.c:301
+#: builtin/repack.c:299
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:303
+#: builtin/repack.c:301
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:305
+#: builtin/repack.c:303
 msgid "do not run git-update-server-info"
 msgstr ""
 
-#: builtin/repack.c:308
+#: builtin/repack.c:306
 msgid "pass --local to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:310
+#: builtin/repack.c:308
 msgid "write bitmap index"
 msgstr ""
 
-#: builtin/repack.c:312
+#: builtin/repack.c:310
 msgid "pass --delta-islands to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:313
+#: builtin/repack.c:311
 msgid "approxidate"
 msgstr ""
 
-#: builtin/repack.c:314
+#: builtin/repack.c:312
 msgid "with -A, do not loosen objects older than this"
 msgstr ""
 
-#: builtin/repack.c:316
+#: builtin/repack.c:314
 msgid "with -a, repack unreachable objects"
 msgstr ""
 
-#: builtin/repack.c:318
+#: builtin/repack.c:316
 msgid "size of the window used for delta compression"
 msgstr ""
 
-#: builtin/repack.c:319 builtin/repack.c:325
+#: builtin/repack.c:317 builtin/repack.c:323
 msgid "bytes"
 msgstr ""
 
-#: builtin/repack.c:320
+#: builtin/repack.c:318
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 
-#: builtin/repack.c:322
+#: builtin/repack.c:320
 msgid "limits the maximum delta depth"
 msgstr ""
 
-#: builtin/repack.c:324
+#: builtin/repack.c:322
 msgid "limits the maximum number of threads"
 msgstr ""
 
-#: builtin/repack.c:326
+#: builtin/repack.c:324
 msgid "maximum size of each packfile"
 msgstr ""
 
-#: builtin/repack.c:328
+#: builtin/repack.c:326
 msgid "repack objects in packs marked with .keep"
 msgstr ""
 
-#: builtin/repack.c:330
+#: builtin/repack.c:328
 msgid "do not repack this pack"
 msgstr ""
 
-#: builtin/repack.c:340
+#: builtin/repack.c:338
 msgid "cannot delete packs in a precious-objects repo"
 msgstr ""
 
-#: builtin/repack.c:344
+#: builtin/repack.c:342
 msgid "--keep-unreachable and -A are incompatible"
 msgstr ""
 
-#: builtin/repack.c:423
+#: builtin/repack.c:425
 msgid "Nothing new to pack."
 msgstr ""
 
-#: builtin/repack.c:484
+#: builtin/repack.c:486
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -16875,7 +17880,7 @@ msgid ""
 "WARNING: Please rename them in %s manually:\n"
 msgstr ""
 
-#: builtin/repack.c:532
+#: builtin/repack.c:534
 #, c-format
 msgid "failed to remove '%s'"
 msgstr ""
@@ -16978,8 +17983,8 @@ msgstr ""
 msgid "unable to write object to database"
 msgstr ""
 
-#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
-#: builtin/replace.c:452
+#: builtin/replace.c:322 builtin/replace.c:378 builtin/replace.c:423
+#: builtin/replace.c:453
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr ""
@@ -16998,124 +18003,124 @@ msgstr ""
 msgid "new object is the same as the old one: '%s'"
 msgstr ""
 
-#: builtin/replace.c:383
+#: builtin/replace.c:384
 #, c-format
 msgid "could not parse %s as a commit"
 msgstr ""
 
-#: builtin/replace.c:414
+#: builtin/replace.c:415
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:416
+#: builtin/replace.c:417
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:428
+#: builtin/replace.c:429
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr ""
 
-#: builtin/replace.c:467
+#: builtin/replace.c:468
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr ""
 
-#: builtin/replace.c:468
+#: builtin/replace.c:469
 msgid "the signature will be removed in the replacement commit!"
 msgstr ""
 
-#: builtin/replace.c:478
+#: builtin/replace.c:479
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr ""
 
-#: builtin/replace.c:486
+#: builtin/replace.c:487
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr ""
 
-#: builtin/replace.c:490
+#: builtin/replace.c:491
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr ""
 
-#: builtin/replace.c:525
+#: builtin/replace.c:526
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
 "%s"
 msgstr ""
 
-#: builtin/replace.c:546
+#: builtin/replace.c:547
 msgid "list replace refs"
 msgstr ""
 
-#: builtin/replace.c:547
+#: builtin/replace.c:548
 msgid "delete replace refs"
 msgstr ""
 
-#: builtin/replace.c:548
+#: builtin/replace.c:549
 msgid "edit existing object"
 msgstr ""
 
-#: builtin/replace.c:549
+#: builtin/replace.c:550
 msgid "change a commit's parents"
 msgstr ""
 
-#: builtin/replace.c:550
+#: builtin/replace.c:551
 msgid "convert existing graft file"
 msgstr ""
 
-#: builtin/replace.c:551
+#: builtin/replace.c:552
 msgid "replace the ref if it exists"
 msgstr ""
 
-#: builtin/replace.c:553
+#: builtin/replace.c:554
 msgid "do not pretty-print contents for --edit"
 msgstr ""
 
-#: builtin/replace.c:554
+#: builtin/replace.c:555
 msgid "use this format"
 msgstr ""
 
-#: builtin/replace.c:567
+#: builtin/replace.c:568
 msgid "--format cannot be used when not listing"
 msgstr ""
 
-#: builtin/replace.c:575
+#: builtin/replace.c:576
 msgid "-f only makes sense when writing a replacement"
 msgstr ""
 
-#: builtin/replace.c:579
+#: builtin/replace.c:580
 msgid "--raw only makes sense with --edit"
 msgstr ""
 
-#: builtin/replace.c:585
+#: builtin/replace.c:586
 msgid "-d needs at least one argument"
 msgstr ""
 
-#: builtin/replace.c:591
+#: builtin/replace.c:592
 msgid "bad number of arguments"
 msgstr ""
 
-#: builtin/replace.c:597
+#: builtin/replace.c:598
 msgid "-e needs exactly one argument"
 msgstr ""
 
-#: builtin/replace.c:603
+#: builtin/replace.c:604
 msgid "-g needs at least one argument"
 msgstr ""
 
-#: builtin/replace.c:609
+#: builtin/replace.c:610
 msgid "--convert-graft-file takes no argument"
 msgstr ""
 
-#: builtin/replace.c:615
+#: builtin/replace.c:616
 msgid "only one pattern can be given with -l"
 msgstr ""
 
@@ -17142,113 +18147,123 @@ msgid ""
 msgstr ""
 
 #: builtin/reset.c:33
-msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
 msgstr ""
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+
+#: builtin/reset.c:35
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
 msgstr ""
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "mixed"
 msgstr ""
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "soft"
 msgstr ""
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "hard"
 msgstr ""
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "merge"
 msgstr ""
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "keep"
 msgstr ""
 
-#: builtin/reset.c:81
+#: builtin/reset.c:82
 msgid "You do not have a valid HEAD."
 msgstr ""
 
-#: builtin/reset.c:83
+#: builtin/reset.c:84
 msgid "Failed to find tree of HEAD."
 msgstr ""
 
-#: builtin/reset.c:89
+#: builtin/reset.c:90
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr ""
 
-#: builtin/reset.c:193
+#: builtin/reset.c:115
+#, c-format
+msgid "HEAD is now at %s"
+msgstr ""
+
+#: builtin/reset.c:194
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr ""
 
-#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
-#: builtin/stash.c:613
+#: builtin/reset.c:294 builtin/stash.c:519 builtin/stash.c:594
+#: builtin/stash.c:618
 msgid "be quiet, only report errors"
 msgstr ""
 
-#: builtin/reset.c:295
+#: builtin/reset.c:296
 msgid "reset HEAD and index"
 msgstr ""
 
-#: builtin/reset.c:296
+#: builtin/reset.c:297
 msgid "reset only HEAD"
 msgstr ""
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:299 builtin/reset.c:301
 msgid "reset HEAD, index and working tree"
 msgstr ""
 
-#: builtin/reset.c:302
+#: builtin/reset.c:303
 msgid "reset HEAD but keep local changes"
 msgstr ""
 
-#: builtin/reset.c:308
+#: builtin/reset.c:309
 msgid "record only the fact that removed paths will be added later"
 msgstr ""
 
-#: builtin/reset.c:326
+#: builtin/reset.c:343
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr ""
 
-#: builtin/reset.c:334
+#: builtin/reset.c:351
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr ""
 
-#: builtin/reset.c:343
+#: builtin/reset.c:360
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr ""
 
-#: builtin/reset.c:353
+#: builtin/reset.c:370
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 
-#: builtin/reset.c:355
+#: builtin/reset.c:372
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr ""
 
-#: builtin/reset.c:370
+#: builtin/reset.c:387
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr ""
 
-#: builtin/reset.c:374
+#: builtin/reset.c:391
 msgid "-N can only be used with --mixed"
 msgstr ""
 
-#: builtin/reset.c:395
+#: builtin/reset.c:412
 msgid "Unstaged changes after reset:"
 msgstr ""
 
-#: builtin/reset.c:398
+#: builtin/reset.c:415
 #, c-format
 msgid ""
 "\n"
@@ -17257,33 +18272,28 @@ msgid ""
 "to make this the default.\n"
 msgstr ""
 
-#: builtin/reset.c:408
+#: builtin/reset.c:425
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr ""
 
-#: builtin/reset.c:412
+#: builtin/reset.c:429
 msgid "Could not write new index file."
 msgstr ""
 
-#: builtin/rev-list.c:405
+#: builtin/rev-list.c:411
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr ""
 
-#: builtin/rev-list.c:466
+#: builtin/rev-list.c:472
 msgid "object filtering requires --objects"
 msgstr ""
 
-#: builtin/rev-list.c:469
-#, c-format
-msgid "invalid sparse value '%s'"
-msgstr ""
-
-#: builtin/rev-list.c:510
+#: builtin/rev-list.c:522
 msgid "rev-list does not support display of notes"
 msgstr ""
 
-#: builtin/rev-list.c:513
+#: builtin/rev-list.c:525
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr ""
 
@@ -17350,47 +18360,51 @@ msgstr ""
 msgid "cancel revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:106
-msgid "don't automatically commit"
+#: builtin/revert.c:105
+msgid "skip current commit and continue"
 msgstr ""
 
 #: builtin/revert.c:107
+msgid "don't automatically commit"
+msgstr ""
+
+#: builtin/revert.c:108
 msgid "edit the commit message"
 msgstr ""
 
-#: builtin/revert.c:110
+#: builtin/revert.c:111
 msgid "parent-number"
 msgstr ""
 
-#: builtin/revert.c:111
+#: builtin/revert.c:112
 msgid "select mainline parent"
 msgstr ""
 
-#: builtin/revert.c:113
+#: builtin/revert.c:114
 msgid "merge strategy"
 msgstr ""
 
-#: builtin/revert.c:115
+#: builtin/revert.c:116
 msgid "option for merge strategy"
 msgstr ""
 
-#: builtin/revert.c:124
+#: builtin/revert.c:125
 msgid "append commit name"
 msgstr ""
 
-#: builtin/revert.c:126
+#: builtin/revert.c:127
 msgid "preserve initially empty commits"
 msgstr ""
 
-#: builtin/revert.c:128
+#: builtin/revert.c:129
 msgid "keep redundant, empty commits"
 msgstr ""
 
-#: builtin/revert.c:227
+#: builtin/revert.c:232
 msgid "revert failed"
 msgstr ""
 
-#: builtin/revert.c:240
+#: builtin/revert.c:245
 msgid "cherry-pick failed"
 msgstr ""
 
@@ -17545,113 +18559,113 @@ msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/show-branch.c:549
+#: builtin/show-branch.c:548
 #, c-format
 msgid "no matching refs with %s"
 msgstr ""
 
-#: builtin/show-branch.c:646
+#: builtin/show-branch.c:645
 msgid "show remote-tracking and local branches"
 msgstr ""
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr ""
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:649
 msgid "color '*!+-' corresponding to the branch"
 msgstr ""
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:651
 msgid "show <n> more commits after the common ancestor"
 msgstr ""
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr ""
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr ""
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr ""
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:658
 msgid "name commits with their object names"
 msgstr ""
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:660
 msgid "show possible merge bases"
 msgstr ""
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:662
 msgid "show refs unreachable from any other ref"
 msgstr ""
 
-#: builtin/show-branch.c:665
+#: builtin/show-branch.c:664
 msgid "show commits in topological order"
 msgstr ""
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:667
 msgid "show only commits not on the first branch"
 msgstr ""
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:669
 msgid "show merges reachable from only one tip"
 msgstr ""
 
-#: builtin/show-branch.c:672
+#: builtin/show-branch.c:671
 msgid "topologically sort, maintaining date order where possible"
 msgstr ""
 
-#: builtin/show-branch.c:675
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr ""
 
-#: builtin/show-branch.c:676
+#: builtin/show-branch.c:675
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr ""
 
-#: builtin/show-branch.c:712
+#: builtin/show-branch.c:711
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 
-#: builtin/show-branch.c:736
+#: builtin/show-branch.c:735
 msgid "no branches given, and HEAD is not valid"
 msgstr ""
 
-#: builtin/show-branch.c:739
+#: builtin/show-branch.c:738
 msgid "--reflog option needs one branch name"
 msgstr ""
 
-#: builtin/show-branch.c:742
+#: builtin/show-branch.c:741
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/show-branch.c:746
+#: builtin/show-branch.c:745
 #, c-format
 msgid "no such ref %s"
 msgstr ""
 
-#: builtin/show-branch.c:832
+#: builtin/show-branch.c:831
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:835
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr ""
 
-#: builtin/show-branch.c:839
+#: builtin/show-branch.c:838
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr ""
@@ -17698,6 +18712,55 @@ msgstr ""
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 
+#: builtin/sparse-checkout.c:20
+msgid "git sparse-checkout (init|list|set|disable) <options>"
+msgstr ""
+
+#: builtin/sparse-checkout.c:61
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr ""
+
+#: builtin/sparse-checkout.c:220
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr ""
+
+#: builtin/sparse-checkout.c:237
+msgid "git sparse-checkout init [--cone]"
+msgstr ""
+
+#: builtin/sparse-checkout.c:256
+msgid "initialize the sparse-checkout in cone mode"
+msgstr ""
+
+#: builtin/sparse-checkout.c:262
+msgid "initialize sparse-checkout"
+msgstr ""
+
+#: builtin/sparse-checkout.c:295
+#, c-format
+msgid "failed to open '%s'"
+msgstr ""
+
+#: builtin/sparse-checkout.c:361
+msgid "git sparse-checkout set (--stdin | <patterns>)"
+msgstr ""
+
+#: builtin/sparse-checkout.c:378
+msgid "read patterns from standard in"
+msgstr ""
+
+#: builtin/sparse-checkout.c:384
+msgid "set sparse-checkout patterns"
+msgstr ""
+
+#: builtin/sparse-checkout.c:447
+msgid "disable sparse-checkout"
+msgstr ""
+
+#: builtin/sparse-checkout.c:459
+msgid "error while refreshing working directory"
+msgstr ""
+
 #: builtin/stash.c:22 builtin/stash.c:37
 msgid "git stash list [<options>]"
 msgstr ""
@@ -17757,7 +18820,7 @@ msgstr ""
 msgid "Too many revisions specified:%s"
 msgstr ""
 
-#: builtin/stash.c:161 git-legacy-stash.sh:548
+#: builtin/stash.c:161 git-legacy-stash.sh:549
 msgid "No stash entries found."
 msgstr ""
 
@@ -17787,134 +18850,134 @@ msgstr ""
 msgid "could not save index tree"
 msgstr ""
 
-#: builtin/stash.c:434
+#: builtin/stash.c:436
 msgid "could not restore untracked files from stash"
 msgstr ""
 
-#: builtin/stash.c:448
+#: builtin/stash.c:450
 #, c-format
 msgid "Merging %s with %s"
 msgstr ""
 
-#: builtin/stash.c:458 git-legacy-stash.sh:680
+#: builtin/stash.c:460 git-legacy-stash.sh:681
 msgid "Index was not unstashed."
 msgstr ""
 
-#: builtin/stash.c:516 builtin/stash.c:615
+#: builtin/stash.c:521 builtin/stash.c:620
 msgid "attempt to recreate the index"
 msgstr ""
 
-#: builtin/stash.c:549
+#: builtin/stash.c:554
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr ""
 
-#: builtin/stash.c:552
+#: builtin/stash.c:557
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr ""
 
-#: builtin/stash.c:577
+#: builtin/stash.c:582
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr ""
 
-#: builtin/stash.c:627 git-legacy-stash.sh:694
+#: builtin/stash.c:632 git-legacy-stash.sh:695
 msgid "The stash entry is kept in case you need it again."
 msgstr ""
 
-#: builtin/stash.c:650 git-legacy-stash.sh:712
+#: builtin/stash.c:655 git-legacy-stash.sh:713
 msgid "No branch name specified"
 msgstr ""
 
-#: builtin/stash.c:789 builtin/stash.c:826
+#: builtin/stash.c:795 builtin/stash.c:832
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr ""
 
-#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510
+#: builtin/stash.c:813 builtin/stash.c:1470 builtin/stash.c:1506
 msgid "stash message"
 msgstr ""
 
-#: builtin/stash.c:817
+#: builtin/stash.c:823
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr ""
 
-#: builtin/stash.c:1039 git-legacy-stash.sh:217
+#: builtin/stash.c:1045 git-legacy-stash.sh:218
 msgid "No changes selected"
 msgstr ""
 
-#: builtin/stash.c:1135 git-legacy-stash.sh:150
+#: builtin/stash.c:1145 git-legacy-stash.sh:150
 msgid "You do not have the initial commit yet"
 msgstr ""
 
-#: builtin/stash.c:1162 git-legacy-stash.sh:165
+#: builtin/stash.c:1172 git-legacy-stash.sh:165
 msgid "Cannot save the current index state"
 msgstr ""
 
-#: builtin/stash.c:1171 git-legacy-stash.sh:180
+#: builtin/stash.c:1181 git-legacy-stash.sh:180
 msgid "Cannot save the untracked files"
 msgstr ""
 
-#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200
-#: git-legacy-stash.sh:213
+#: builtin/stash.c:1192 builtin/stash.c:1201 git-legacy-stash.sh:201
+#: git-legacy-stash.sh:214
 msgid "Cannot save the current worktree state"
 msgstr ""
 
-#: builtin/stash.c:1219 git-legacy-stash.sh:233
+#: builtin/stash.c:1229 git-legacy-stash.sh:234
 msgid "Cannot record working tree state"
 msgstr ""
 
-#: builtin/stash.c:1268 git-legacy-stash.sh:337
+#: builtin/stash.c:1278 git-legacy-stash.sh:338
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 
-#: builtin/stash.c:1284
+#: builtin/stash.c:1294
 msgid "Did you forget to 'git add'?"
 msgstr ""
 
-#: builtin/stash.c:1299 git-legacy-stash.sh:345
+#: builtin/stash.c:1309 git-legacy-stash.sh:346
 msgid "No local changes to save"
 msgstr ""
 
-#: builtin/stash.c:1306 git-legacy-stash.sh:350
+#: builtin/stash.c:1316 git-legacy-stash.sh:351
 msgid "Cannot initialize stash"
 msgstr ""
 
-#: builtin/stash.c:1321 git-legacy-stash.sh:354
+#: builtin/stash.c:1331 git-legacy-stash.sh:355
 msgid "Cannot save the current status"
 msgstr ""
 
-#: builtin/stash.c:1326
+#: builtin/stash.c:1336
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr ""
 
-#: builtin/stash.c:1430 git-legacy-stash.sh:384
+#: builtin/stash.c:1426 git-legacy-stash.sh:385
 msgid "Cannot remove worktree changes"
 msgstr ""
 
-#: builtin/stash.c:1465 builtin/stash.c:1501
+#: builtin/stash.c:1461 builtin/stash.c:1497
 msgid "keep index"
 msgstr ""
 
-#: builtin/stash.c:1467 builtin/stash.c:1503
+#: builtin/stash.c:1463 builtin/stash.c:1499
 msgid "stash in patch mode"
 msgstr ""
 
-#: builtin/stash.c:1468 builtin/stash.c:1504
+#: builtin/stash.c:1464 builtin/stash.c:1500
 msgid "quiet mode"
 msgstr ""
 
-#: builtin/stash.c:1470 builtin/stash.c:1506
+#: builtin/stash.c:1466 builtin/stash.c:1502
 msgid "include untracked files in stash"
 msgstr ""
 
-#: builtin/stash.c:1472 builtin/stash.c:1508
+#: builtin/stash.c:1468 builtin/stash.c:1504
 msgid "include ignore files"
 msgstr ""
 
-#: builtin/stash.c:1568
+#: builtin/stash.c:1564
 #, c-format
 msgid "could not exec %s"
 msgstr ""
@@ -17935,47 +18998,47 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr ""
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:1970
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:62
+#: builtin/submodule--helper.c:64
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr ""
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1380
 msgid "alternative anchor for relative paths"
 msgstr ""
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627
-#: builtin/submodule--helper.c:650
+#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
 "."
 msgstr ""
 
-#: builtin/submodule--helper.c:546
+#: builtin/submodule--helper.c:549
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -17983,346 +19046,368 @@ msgid ""
 "."
 msgstr ""
 
-#: builtin/submodule--helper.c:562
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr ""
 
-#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:1053
 msgid "Recurse into nested submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:569
+#: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr ""
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:599
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr ""
 
-#: builtin/submodule--helper.c:664
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:668
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:678
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:685
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:707
+#: builtin/submodule--helper.c:710
 msgid "Suppress output for initializing a submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:712
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910
+#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:914
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:823
+#: builtin/submodule--helper.c:827
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019
+#: builtin/submodule--helper.c:854 builtin/submodule--helper.c:1023
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185
+#: builtin/submodule--helper.c:878 builtin/submodule--helper.c:1189
 msgid "Suppress submodule status output"
 msgstr ""
 
-#: builtin/submodule--helper.c:875
+#: builtin/submodule--helper.c:879
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr ""
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:880
 msgid "recurse into nested submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:881
+#: builtin/submodule--helper.c:885
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:905
+#: builtin/submodule--helper.c:909
 msgid "git submodule--helper name <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:973
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:975
+#: builtin/submodule--helper.c:979
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:989
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1000
+#: builtin/submodule--helper.c:1004
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1047
+#: builtin/submodule--helper.c:1051
 msgid "Suppress output of synchronizing submodule url"
 msgstr ""
 
-#: builtin/submodule--helper.c:1054
+#: builtin/submodule--helper.c:1058
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1108
+#: builtin/submodule--helper.c:1112
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
 "really want to remove it including all of its history)"
 msgstr ""
 
-#: builtin/submodule--helper.c:1120
+#: builtin/submodule--helper.c:1124
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr ""
 
-#: builtin/submodule--helper.c:1128
+#: builtin/submodule--helper.c:1132
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1130
+#: builtin/submodule--helper.c:1134
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1141
+#: builtin/submodule--helper.c:1145
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1157
+#: builtin/submodule--helper.c:1161
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:1190
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr ""
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1191
 msgid "Unregister all submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1192
+#: builtin/submodule--helper.c:1196
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1206
+#: builtin/submodule--helper.c:1210
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1275
+msgid ""
+"An alternate computed from a superproject's alternate is invalid.\n"
+"To allow Git to clone without an alternate in such a case, set\n"
+"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
+"'--reference-if-able' instead of '--reference'."
+msgstr ""
+
+#: builtin/submodule--helper.c:1314 builtin/submodule--helper.c:1317
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1340
+#: builtin/submodule--helper.c:1353
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:1347
+#: builtin/submodule--helper.c:1360
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1383
 msgid "where the new submodule will be cloned to"
 msgstr ""
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1386
 msgid "name of the new submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1389
 msgid "url where to clone the submodule from"
 msgstr ""
 
-#: builtin/submodule--helper.c:1384
+#: builtin/submodule--helper.c:1397
 msgid "depth for shallow clones"
 msgstr ""
 
-#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871
+#: builtin/submodule--helper.c:1400 builtin/submodule--helper.c:1897
 msgid "force cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1402 builtin/submodule--helper.c:1899
+msgid "disallow cloning into non-empty directory"
+msgstr ""
+
+#: builtin/submodule--helper.c:1407
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:1423
+#: builtin/submodule--helper.c:1431
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's git dir"
+msgstr ""
+
+#: builtin/submodule--helper.c:1442
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr ""
 
-#: builtin/submodule--helper.c:1437
+#: builtin/submodule--helper.c:1446
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr ""
+
+#: builtin/submodule--helper.c:1458
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1473
+#: builtin/submodule--helper.c:1494
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1477
+#: builtin/submodule--helper.c:1498
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1570
+#: builtin/submodule--helper.c:1594
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr ""
 
-#: builtin/submodule--helper.c:1574
+#: builtin/submodule--helper.c:1598
 msgid "Maybe you want to use 'update --init'?"
 msgstr ""
 
-#: builtin/submodule--helper.c:1604
+#: builtin/submodule--helper.c:1628
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1633
+#: builtin/submodule--helper.c:1657
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1777
+#: builtin/submodule--helper.c:1803
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr ""
 
-#: builtin/submodule--helper.c:1788
+#: builtin/submodule--helper.c:1814
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr ""
 
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092
+#: builtin/submodule--helper.c:1876 builtin/submodule--helper.c:2120
 msgid "path into the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:1853
+#: builtin/submodule--helper.c:1879
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 
-#: builtin/submodule--helper.c:1857
+#: builtin/submodule--helper.c:1883
 msgid "rebase, merge, checkout or none"
 msgstr ""
 
-#: builtin/submodule--helper.c:1863
+#: builtin/submodule--helper.c:1889
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 
-#: builtin/submodule--helper.c:1866
+#: builtin/submodule--helper.c:1892
 msgid "parallel jobs"
 msgstr ""
 
-#: builtin/submodule--helper.c:1868
+#: builtin/submodule--helper.c:1894
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr ""
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1895
 msgid "don't print cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:1876
-msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
+#: builtin/submodule--helper.c:1904
+msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1889
+#: builtin/submodule--helper.c:1917
 msgid "bad value for update parameter"
 msgstr ""
 
-#: builtin/submodule--helper.c:1937
+#: builtin/submodule--helper.c:1965
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr ""
 
-#: builtin/submodule--helper.c:2060
+#: builtin/submodule--helper.c:2088
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:2121
 msgid "recurse into submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:2099
+#: builtin/submodule--helper.c:2127
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2183
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr ""
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2186
 msgid "unset the config in the .gitmodules file"
 msgstr ""
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2191
 msgid "git submodule--helper config <name> [<value>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2192
 msgid "git submodule--helper config --unset <name>"
 msgstr ""
 
-#: builtin/submodule--helper.c:2166
+#: builtin/submodule--helper.c:2193
 msgid "git submodule--helper config --check-writeable"
 msgstr ""
 
-#: builtin/submodule--helper.c:2185 git-submodule.sh:171
+#: builtin/submodule--helper.c:2212 git-submodule.sh:173
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:2235 git.c:433 git.c:685
+#: builtin/submodule--helper.c:2262 git.c:433 git.c:684
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr ""
 
-#: builtin/submodule--helper.c:2241
+#: builtin/submodule--helper.c:2268
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr ""
@@ -18376,17 +19461,17 @@ msgstr ""
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:88
+#: builtin/tag.c:89
 #, c-format
 msgid "tag '%s' not found."
 msgstr ""
 
-#: builtin/tag.c:104
+#: builtin/tag.c:105
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/tag.c:134
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -18395,7 +19480,7 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 
-#: builtin/tag.c:138
+#: builtin/tag.c:139
 #, c-format
 msgid ""
 "\n"
@@ -18405,15 +19490,15 @@ msgid ""
 "want to.\n"
 msgstr ""
 
-#: builtin/tag.c:192
+#: builtin/tag.c:198
 msgid "unable to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:194
+#: builtin/tag.c:200
 msgid "unable to write tag file"
 msgstr ""
 
-#: builtin/tag.c:210
+#: builtin/tag.c:216
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -18422,382 +19507,386 @@ msgid ""
 "\tgit tag -f %s %s^{}"
 msgstr ""
 
-#: builtin/tag.c:226
+#: builtin/tag.c:232
 msgid "bad object type."
 msgstr ""
 
-#: builtin/tag.c:278
+#: builtin/tag.c:284
 msgid "no tag message?"
 msgstr ""
 
-#: builtin/tag.c:285
+#: builtin/tag.c:291
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr ""
 
-#: builtin/tag.c:396
+#: builtin/tag.c:402
 msgid "list tag names"
 msgstr ""
 
-#: builtin/tag.c:398
+#: builtin/tag.c:404
 msgid "print <n> lines of each tag message"
 msgstr ""
 
-#: builtin/tag.c:400
+#: builtin/tag.c:406
 msgid "delete tags"
 msgstr ""
 
-#: builtin/tag.c:401
+#: builtin/tag.c:407
 msgid "verify tags"
 msgstr ""
 
-#: builtin/tag.c:403
+#: builtin/tag.c:409
 msgid "Tag creation options"
 msgstr ""
 
-#: builtin/tag.c:405
+#: builtin/tag.c:411
 msgid "annotated tag, needs a message"
 msgstr ""
 
-#: builtin/tag.c:407
+#: builtin/tag.c:413
 msgid "tag message"
 msgstr ""
 
-#: builtin/tag.c:409
+#: builtin/tag.c:415
 msgid "force edit of tag message"
 msgstr ""
 
-#: builtin/tag.c:410
+#: builtin/tag.c:416
 msgid "annotated and GPG-signed tag"
 msgstr ""
 
-#: builtin/tag.c:413
+#: builtin/tag.c:419
 msgid "use another key to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:414
+#: builtin/tag.c:420
 msgid "replace the tag if exists"
 msgstr ""
 
-#: builtin/tag.c:415 builtin/update-ref.c:369
+#: builtin/tag.c:421 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr ""
 
-#: builtin/tag.c:417
+#: builtin/tag.c:423
 msgid "Tag listing options"
 msgstr ""
 
-#: builtin/tag.c:418
+#: builtin/tag.c:424
 msgid "show tag list in columns"
 msgstr ""
 
-#: builtin/tag.c:419 builtin/tag.c:421
+#: builtin/tag.c:425 builtin/tag.c:427
 msgid "print only tags that contain the commit"
 msgstr ""
 
-#: builtin/tag.c:420 builtin/tag.c:422
+#: builtin/tag.c:426 builtin/tag.c:428
 msgid "print only tags that don't contain the commit"
 msgstr ""
 
-#: builtin/tag.c:423
+#: builtin/tag.c:429
 msgid "print only tags that are merged"
 msgstr ""
 
-#: builtin/tag.c:424
+#: builtin/tag.c:430
 msgid "print only tags that are not merged"
 msgstr ""
 
-#: builtin/tag.c:428
+#: builtin/tag.c:434
 msgid "print only tags of the object"
 msgstr ""
 
-#: builtin/tag.c:472
+#: builtin/tag.c:482
 msgid "--column and -n are incompatible"
 msgstr ""
 
-#: builtin/tag.c:494
+#: builtin/tag.c:504
 msgid "-n option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:496
+#: builtin/tag.c:506
 msgid "--contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:498
+#: builtin/tag.c:508
 msgid "--no-contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:500
+#: builtin/tag.c:510
 msgid "--points-at option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:502
+#: builtin/tag.c:512
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:513
+#: builtin/tag.c:523
 msgid "only one -F or -m option is allowed."
 msgstr ""
 
-#: builtin/tag.c:532
+#: builtin/tag.c:542
 msgid "too many params"
 msgstr ""
 
-#: builtin/tag.c:538
+#: builtin/tag.c:548
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr ""
 
-#: builtin/tag.c:543
+#: builtin/tag.c:553
 #, c-format
 msgid "tag '%s' already exists"
 msgstr ""
 
-#: builtin/tag.c:574
+#: builtin/tag.c:584
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:501
 msgid "Unpacking objects"
 msgstr ""
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr ""
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr ""
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr ""
 
-#: builtin/update-index.c:114 builtin/update-index.c:220
+#: builtin/update-index.c:115 builtin/update-index.c:221
 #, c-format
 msgid "failed to delete directory %s"
 msgstr ""
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr ""
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr ""
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 
-#: builtin/update-index.c:221
+#: builtin/update-index.c:222
 msgid " OK"
 msgstr ""
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:591
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr ""
 
-#: builtin/update-index.c:971
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr ""
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr ""
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr ""
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr ""
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr ""
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr ""
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr ""
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr ""
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr ""
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr ""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr ""
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr ""
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr ""
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr ""
 
-#: builtin/update-index.c:1019
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr ""
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr ""
 
-#: builtin/update-index.c:1023
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr ""
 
-#: builtin/update-index.c:1027
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr ""
 
-#: builtin/update-index.c:1031
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr ""
 
-#: builtin/update-index.c:1035
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr ""
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr ""
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr ""
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr ""
 
-#: builtin/update-index.c:1050
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr ""
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1054
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1056
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 
-#: builtin/update-index.c:1058
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr ""
 
-#: builtin/update-index.c:1060
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr ""
 
-#: builtin/update-index.c:1062
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr ""
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr ""
 
-#: builtin/update-index.c:1168
+#: builtin/update-index.c:1173
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 
-#: builtin/update-index.c:1177
+#: builtin/update-index.c:1182
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 
-#: builtin/update-index.c:1188
+#: builtin/update-index.c:1194
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1192
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr ""
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1206
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1204
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr ""
 
-#: builtin/update-index.c:1212
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 
-#: builtin/update-index.c:1216
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr ""
 
-#: builtin/update-index.c:1219
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 
-#: builtin/update-index.c:1223
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr ""
 
@@ -18857,15 +19946,15 @@ msgstr ""
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr ""
 
-#: builtin/verify-commit.c:20
+#: builtin/verify-commit.c:19
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr ""
 
-#: builtin/verify-commit.c:76
+#: builtin/verify-commit.c:68
 msgid "print commit contents"
 msgstr ""
 
-#: builtin/verify-commit.c:77 builtin/verify-tag.c:38
+#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr ""
 
@@ -18881,280 +19970,280 @@ msgstr ""
 msgid "show statistics only"
 msgstr ""
 
-#: builtin/verify-tag.c:19
+#: builtin/verify-tag.c:18
 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
 msgstr ""
 
-#: builtin/verify-tag.c:37
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr ""
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr ""
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr ""
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr ""
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:20
 msgid "git worktree move <worktree> <new-path>"
 msgstr ""
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:21
 msgid "git worktree prune [<options>]"
 msgstr ""
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:22
 msgid "git worktree remove [<options>] <worktree>"
 msgstr ""
 
-#: builtin/worktree.c:24
+#: builtin/worktree.c:23
 msgid "git worktree unlock <path>"
 msgstr ""
 
-#: builtin/worktree.c:61 builtin/worktree.c:891
+#: builtin/worktree.c:60 builtin/worktree.c:898
 #, c-format
 msgid "failed to delete '%s'"
 msgstr ""
 
-#: builtin/worktree.c:80
+#: builtin/worktree.c:79
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr ""
 
-#: builtin/worktree.c:86
+#: builtin/worktree.c:85
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr ""
 
-#: builtin/worktree.c:91 builtin/worktree.c:100
+#: builtin/worktree.c:90 builtin/worktree.c:99
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr ""
 
-#: builtin/worktree.c:110
+#: builtin/worktree.c:109
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
 "%<PRIuMAX>)"
 msgstr ""
 
-#: builtin/worktree.c:118
+#: builtin/worktree.c:117
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr ""
 
-#: builtin/worktree.c:127
+#: builtin/worktree.c:126
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 
-#: builtin/worktree.c:166
+#: builtin/worktree.c:165
 msgid "report pruned working trees"
 msgstr ""
 
-#: builtin/worktree.c:168
+#: builtin/worktree.c:167
 msgid "expire working trees older than <time>"
 msgstr ""
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:234
 #, c-format
 msgid "'%s' already exists"
 msgstr ""
 
-#: builtin/worktree.c:252
+#: builtin/worktree.c:251
 #, c-format
 msgid "unable to re-add worktree '%s'"
 msgstr ""
 
-#: builtin/worktree.c:257
+#: builtin/worktree.c:256
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
 "use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
 msgstr ""
 
-#: builtin/worktree.c:259
+#: builtin/worktree.c:258
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
 "use 'add -f' to override, or 'prune' or 'remove' to clear"
 msgstr ""
 
-#: builtin/worktree.c:302
+#: builtin/worktree.c:308
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr ""
 
-#: builtin/worktree.c:432 builtin/worktree.c:438
+#: builtin/worktree.c:439 builtin/worktree.c:445
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr ""
 
-#: builtin/worktree.c:434
+#: builtin/worktree.c:441
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr ""
 
-#: builtin/worktree.c:443
+#: builtin/worktree.c:450
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr ""
 
-#: builtin/worktree.c:449
+#: builtin/worktree.c:456
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr ""
 
-#: builtin/worktree.c:490
+#: builtin/worktree.c:497
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 
-#: builtin/worktree.c:493
+#: builtin/worktree.c:500
 msgid "create a new branch"
 msgstr ""
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:502
 msgid "create or reset a branch"
 msgstr ""
 
-#: builtin/worktree.c:497
+#: builtin/worktree.c:504
 msgid "populate the new working tree"
 msgstr ""
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:505
 msgid "keep the new working tree locked"
 msgstr ""
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:508
 msgid "set up tracking mode (see git-branch(1))"
 msgstr ""
 
-#: builtin/worktree.c:504
+#: builtin/worktree.c:511
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr ""
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:519
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr ""
 
-#: builtin/worktree.c:573
+#: builtin/worktree.c:580
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr ""
 
-#: builtin/worktree.c:673
+#: builtin/worktree.c:680
 msgid "reason for locking"
 msgstr ""
 
-#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792
-#: builtin/worktree.c:919
+#: builtin/worktree.c:692 builtin/worktree.c:725 builtin/worktree.c:799
+#: builtin/worktree.c:926
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr ""
 
-#: builtin/worktree.c:687 builtin/worktree.c:720
+#: builtin/worktree.c:694 builtin/worktree.c:727
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 
-#: builtin/worktree.c:692
+#: builtin/worktree.c:699
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr ""
 
-#: builtin/worktree.c:694
+#: builtin/worktree.c:701
 #, c-format
 msgid "'%s' is already locked"
 msgstr ""
 
-#: builtin/worktree.c:722
+#: builtin/worktree.c:729
 #, c-format
 msgid "'%s' is not locked"
 msgstr ""
 
-#: builtin/worktree.c:763
+#: builtin/worktree.c:770
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 
-#: builtin/worktree.c:771
+#: builtin/worktree.c:778
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 
-#: builtin/worktree.c:794 builtin/worktree.c:921
+#: builtin/worktree.c:801 builtin/worktree.c:928
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr ""
 
-#: builtin/worktree.c:799
+#: builtin/worktree.c:806
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr ""
 
-#: builtin/worktree.c:805
+#: builtin/worktree.c:812
 #, c-format
 msgid "target '%s' already exists"
 msgstr ""
 
-#: builtin/worktree.c:813
+#: builtin/worktree.c:820
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
 "use 'move -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:815
+#: builtin/worktree.c:822
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:818
+#: builtin/worktree.c:825
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr ""
 
-#: builtin/worktree.c:823
+#: builtin/worktree.c:830
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr ""
 
-#: builtin/worktree.c:871
+#: builtin/worktree.c:878
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr ""
 
-#: builtin/worktree.c:875
+#: builtin/worktree.c:882
 #, c-format
-msgid "'%s' is dirty, use --force to delete it"
+msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 
-#: builtin/worktree.c:880
+#: builtin/worktree.c:887
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr ""
 
-#: builtin/worktree.c:903
+#: builtin/worktree.c:910
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 
-#: builtin/worktree.c:926
+#: builtin/worktree.c:933
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
 "use 'remove -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:935
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:931
+#: builtin/worktree.c:938
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
@@ -19175,6 +20264,21 @@ msgstr ""
 msgid "only useful for debugging"
 msgstr ""
 
+#: fast-import.c:3125
+#, c-format
+msgid "Expected 'mark' command, got %s"
+msgstr ""
+
+#: fast-import.c:3130
+#, c-format
+msgid "Expected 'to' command, got %s"
+msgstr ""
+
+#: fast-import.c:3254
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr ""
+
 #: credential-cache--daemon.c:223
 #, c-format
 msgid ""
@@ -19219,50 +20323,51 @@ msgstr ""
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept."
+"to read about a specific subcommand or concept.\n"
+"See 'git help git' for an overview of the system."
 msgstr ""
 
-#: git.c:185
+#: git.c:186
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr ""
 
-#: git.c:199
+#: git.c:200
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr ""
 
-#: git.c:213
+#: git.c:214
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr ""
 
-#: git.c:227
+#: git.c:228
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr ""
 
-#: git.c:249
+#: git.c:250
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr ""
 
-#: git.c:287
+#: git.c:288
 #, c-format
 msgid "no directory given for -C\n"
 msgstr ""
 
-#: git.c:313
+#: git.c:314
 #, c-format
 msgid "unknown option: %s\n"
 msgstr ""
 
-#: git.c:359
+#: git.c:360
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr ""
 
-#: git.c:368
+#: git.c:369
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -19291,29 +20396,29 @@ msgstr ""
 msgid "close failed on standard output"
 msgstr ""
 
-#: git.c:797
+#: git.c:793
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 
-#: git.c:847
+#: git.c:843
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr ""
 
-#: git.c:860
+#: git.c:856
 #, c-format
 msgid ""
 "usage: %s\n"
 "\n"
 msgstr ""
 
-#: git.c:880
+#: git.c:876
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr ""
 
-#: git.c:892
+#: git.c:888
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr ""
@@ -19339,22 +20444,22 @@ msgstr ""
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr ""
 
-#: http.c:1085
+#: http.c:1086
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr ""
 
-#: http.c:1092
+#: http.c:1093
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 
-#: http.c:1096
+#: http.c:1097
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr ""
 
-#: http.c:1965
+#: http.c:1966
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -19362,147 +20467,156 @@ msgid ""
 "   redirect: %s"
 msgstr ""
 
-#: remote-curl.c:157
+#: remote-curl.c:166
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr ""
 
-#: remote-curl.c:254
+#: remote-curl.c:263
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr ""
 
-#: remote-curl.c:355
+#: remote-curl.c:364
 msgid "invalid server response; expected service, got flush packet"
 msgstr ""
 
-#: remote-curl.c:386
+#: remote-curl.c:395
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr ""
 
-#: remote-curl.c:446
+#: remote-curl.c:455
 #, c-format
 msgid "repository '%s' not found"
 msgstr ""
 
-#: remote-curl.c:450
+#: remote-curl.c:459
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr ""
 
-#: remote-curl.c:454
+#: remote-curl.c:463
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr ""
 
-#: remote-curl.c:460
+#: remote-curl.c:469
 #, c-format
 msgid "redirecting to %s"
 msgstr ""
 
-#: remote-curl.c:584
+#: remote-curl.c:593
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr ""
 
-#: remote-curl.c:664
+#: remote-curl.c:673
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr ""
 
-#: remote-curl.c:724
+#: remote-curl.c:733
 #, c-format
 msgid "RPC failed; %s"
 msgstr ""
 
-#: remote-curl.c:764
+#: remote-curl.c:773
 msgid "cannot handle pushes this big"
 msgstr ""
 
-#: remote-curl.c:879
+#: remote-curl.c:888
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr ""
 
-#: remote-curl.c:883
+#: remote-curl.c:892
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr ""
 
-#: remote-curl.c:1014
+#: remote-curl.c:1023
 msgid "dumb http transport does not support shallow capabilities"
 msgstr ""
 
-#: remote-curl.c:1028
+#: remote-curl.c:1037
 msgid "fetch failed."
 msgstr ""
 
-#: remote-curl.c:1076
+#: remote-curl.c:1085
 msgid "cannot fetch by sha1 over smart http"
 msgstr ""
 
-#: remote-curl.c:1120 remote-curl.c:1126
+#: remote-curl.c:1129 remote-curl.c:1135
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr ""
 
-#: remote-curl.c:1138 remote-curl.c:1252
+#: remote-curl.c:1147 remote-curl.c:1261
 #, c-format
 msgid "http transport does not support %s"
 msgstr ""
 
-#: remote-curl.c:1174
+#: remote-curl.c:1183
 msgid "git-http-push failed"
 msgstr ""
 
-#: remote-curl.c:1360
+#: remote-curl.c:1367
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr ""
 
-#: remote-curl.c:1392
+#: remote-curl.c:1399
 msgid "remote-curl: error reading command stream from git"
 msgstr ""
 
-#: remote-curl.c:1399
+#: remote-curl.c:1406
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr ""
 
-#: remote-curl.c:1439
+#: remote-curl.c:1446
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr ""
 
-#: list-objects-filter-options.h:61
+#: list-objects-filter-options.h:85
 msgid "args"
 msgstr ""
 
-#: list-objects-filter-options.h:62
+#: list-objects-filter-options.h:86
 msgid "object filtering"
 msgstr ""
 
-#: parse-options.h:170
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr ""
 
-#: parse-options.h:184
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr ""
 
-#: parse-options.h:304
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr ""
 
-#: parse-options.h:306
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr ""
 
-#: parse-options.h:312
+#: parse-options.h:317
 msgid "use <n> digits to display SHA-1s"
 msgstr ""
 
-#: parse-options.h:331
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr ""
 
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr ""
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL character"
+msgstr ""
+
 #: ref-filter.h:101
 msgid "key"
 msgstr ""
@@ -19515,6 +20629,14 @@ msgstr ""
 msgid "update the index with reused conflict resolution if possible"
 msgstr ""
 
+#: wt-status.h:67
+msgid "HEAD detached at "
+msgstr ""
+
+#: wt-status.h:68
+msgid "HEAD detached from "
+msgstr ""
+
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr ""
@@ -19940,214 +21062,230 @@ msgid "Reset current HEAD to the specified state"
 msgstr ""
 
 #: command-list.h:156
-msgid "Revert some existing commits"
+msgid "Restore working tree files"
 msgstr ""
 
 #: command-list.h:157
-msgid "Lists commit objects in reverse chronological order"
+msgid "Revert some existing commits"
 msgstr ""
 
 #: command-list.h:158
-msgid "Pick out and massage parameters"
+msgid "Lists commit objects in reverse chronological order"
 msgstr ""
 
 #: command-list.h:159
-msgid "Remove files from the working tree and from the index"
+msgid "Pick out and massage parameters"
 msgstr ""
 
 #: command-list.h:160
-msgid "Send a collection of patches as emails"
+msgid "Remove files from the working tree and from the index"
 msgstr ""
 
 #: command-list.h:161
-msgid "Push objects over Git protocol to another repository"
+msgid "Send a collection of patches as emails"
 msgstr ""
 
 #: command-list.h:162
-msgid "Restricted login shell for Git-only SSH access"
+msgid "Push objects over Git protocol to another repository"
 msgstr ""
 
 #: command-list.h:163
-msgid "Summarize 'git log' output"
+msgid "Restricted login shell for Git-only SSH access"
 msgstr ""
 
 #: command-list.h:164
-msgid "Show various types of objects"
+msgid "Summarize 'git log' output"
 msgstr ""
 
 #: command-list.h:165
-msgid "Show branches and their commits"
+msgid "Show various types of objects"
 msgstr ""
 
 #: command-list.h:166
-msgid "Show packed archive index"
+msgid "Show branches and their commits"
 msgstr ""
 
 #: command-list.h:167
-msgid "List references in a local repository"
+msgid "Show packed archive index"
 msgstr ""
 
 #: command-list.h:168
-msgid "Git's i18n setup code for shell scripts"
+msgid "List references in a local repository"
 msgstr ""
 
 #: command-list.h:169
-msgid "Common Git shell script setup code"
+msgid "Git's i18n setup code for shell scripts"
 msgstr ""
 
 #: command-list.h:170
-msgid "Stash the changes in a dirty working directory away"
+msgid "Common Git shell script setup code"
 msgstr ""
 
 #: command-list.h:171
-msgid "Add file contents to the staging area"
+msgid "Initialize and modify the sparse-checkout"
 msgstr ""
 
 #: command-list.h:172
-msgid "Show the working tree status"
+msgid "Stash the changes in a dirty working directory away"
 msgstr ""
 
 #: command-list.h:173
-msgid "Remove unnecessary whitespace"
+msgid "Add file contents to the staging area"
 msgstr ""
 
 #: command-list.h:174
-msgid "Initialize, update or inspect submodules"
+msgid "Show the working tree status"
 msgstr ""
 
 #: command-list.h:175
-msgid "Bidirectional operation between a Subversion repository and Git"
+msgid "Remove unnecessary whitespace"
 msgstr ""
 
 #: command-list.h:176
-msgid "Read, modify and delete symbolic refs"
+msgid "Initialize, update or inspect submodules"
 msgstr ""
 
 #: command-list.h:177
-msgid "Create, list, delete or verify a tag object signed with GPG"
+msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr ""
 
 #: command-list.h:178
-msgid "Creates a temporary file with a blob's contents"
+msgid "Switch branches"
 msgstr ""
 
 #: command-list.h:179
-msgid "Unpack objects from a packed archive"
+msgid "Read, modify and delete symbolic refs"
 msgstr ""
 
 #: command-list.h:180
-msgid "Register file contents in the working tree to the index"
+msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr ""
 
 #: command-list.h:181
-msgid "Update the object name stored in a ref safely"
+msgid "Creates a temporary file with a blob's contents"
 msgstr ""
 
 #: command-list.h:182
-msgid "Update auxiliary info file to help dumb servers"
+msgid "Unpack objects from a packed archive"
 msgstr ""
 
 #: command-list.h:183
-msgid "Send archive back to git-archive"
+msgid "Register file contents in the working tree to the index"
 msgstr ""
 
 #: command-list.h:184
-msgid "Send objects packed back to git-fetch-pack"
+msgid "Update the object name stored in a ref safely"
 msgstr ""
 
 #: command-list.h:185
-msgid "Show a Git logical variable"
+msgid "Update auxiliary info file to help dumb servers"
 msgstr ""
 
 #: command-list.h:186
-msgid "Check the GPG signature of commits"
+msgid "Send archive back to git-archive"
 msgstr ""
 
 #: command-list.h:187
-msgid "Validate packed Git archive files"
+msgid "Send objects packed back to git-fetch-pack"
 msgstr ""
 
 #: command-list.h:188
-msgid "Check the GPG signature of tags"
+msgid "Show a Git logical variable"
 msgstr ""
 
 #: command-list.h:189
-msgid "Git web interface (web frontend to Git repositories)"
+msgid "Check the GPG signature of commits"
 msgstr ""
 
 #: command-list.h:190
-msgid "Show logs with difference each commit introduces"
+msgid "Validate packed Git archive files"
 msgstr ""
 
 #: command-list.h:191
-msgid "Manage multiple working trees"
+msgid "Check the GPG signature of tags"
 msgstr ""
 
 #: command-list.h:192
-msgid "Create a tree object from the current index"
+msgid "Git web interface (web frontend to Git repositories)"
 msgstr ""
 
 #: command-list.h:193
-msgid "Defining attributes per path"
+msgid "Show logs with difference each commit introduces"
 msgstr ""
 
 #: command-list.h:194
-msgid "Git command-line interface and conventions"
+msgid "Manage multiple working trees"
 msgstr ""
 
 #: command-list.h:195
-msgid "A Git core tutorial for developers"
+msgid "Create a tree object from the current index"
 msgstr ""
 
 #: command-list.h:196
-msgid "Git for CVS users"
+msgid "Defining attributes per path"
 msgstr ""
 
 #: command-list.h:197
-msgid "Tweaking diff output"
+msgid "Git command-line interface and conventions"
 msgstr ""
 
 #: command-list.h:198
-msgid "A useful minimum set of commands for Everyday Git"
+msgid "A Git core tutorial for developers"
 msgstr ""
 
 #: command-list.h:199
-msgid "A Git Glossary"
+msgid "Git for CVS users"
 msgstr ""
 
 #: command-list.h:200
-msgid "Hooks used by Git"
+msgid "Tweaking diff output"
 msgstr ""
 
 #: command-list.h:201
-msgid "Specifies intentionally untracked files to ignore"
+msgid "A useful minimum set of commands for Everyday Git"
 msgstr ""
 
 #: command-list.h:202
-msgid "Defining submodule properties"
+msgid "A Git Glossary"
 msgstr ""
 
 #: command-list.h:203
-msgid "Git namespaces"
+msgid "Hooks used by Git"
 msgstr ""
 
 #: command-list.h:204
-msgid "Git Repository Layout"
+msgid "Specifies intentionally untracked files to ignore"
 msgstr ""
 
 #: command-list.h:205
-msgid "Specifying revisions and ranges for Git"
+msgid "Defining submodule properties"
 msgstr ""
 
 #: command-list.h:206
-msgid "A tutorial introduction to Git: part two"
+msgid "Git namespaces"
 msgstr ""
 
 #: command-list.h:207
-msgid "A tutorial introduction to Git"
+msgid "Git Repository Layout"
 msgstr ""
 
 #: command-list.h:208
+msgid "Specifying revisions and ranges for Git"
+msgstr ""
+
+#: command-list.h:209
+msgid "Mounting one repository inside another"
+msgstr ""
+
+#: command-list.h:210
+msgid "A tutorial introduction to Git: part two"
+msgstr ""
+
+#: command-list.h:211
+msgid "A tutorial introduction to Git"
+msgstr ""
+
+#: command-list.h:212
 msgid "An overview of recommended workflows with Git"
 msgstr ""
 
@@ -20268,113 +21406,113 @@ msgstr ""
 msgid "Simple merge did not work, trying automatic merge."
 msgstr ""
 
-#: git-legacy-stash.sh:220
+#: git-legacy-stash.sh:221
 msgid "Cannot remove temporary index (can't happen)"
 msgstr ""
 
-#: git-legacy-stash.sh:271
+#: git-legacy-stash.sh:272
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr ""
 
-#: git-legacy-stash.sh:323
+#: git-legacy-stash.sh:324
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr ""
 
-#: git-legacy-stash.sh:355
+#: git-legacy-stash.sh:356
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr ""
 
-#: git-legacy-stash.sh:535
+#: git-legacy-stash.sh:536
 #, sh-format
 msgid "unknown option: $opt"
 msgstr ""
 
-#: git-legacy-stash.sh:555
+#: git-legacy-stash.sh:556
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr ""
 
-#: git-legacy-stash.sh:570
+#: git-legacy-stash.sh:571
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr ""
 
-#: git-legacy-stash.sh:598
+#: git-legacy-stash.sh:599
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr ""
 
-#: git-legacy-stash.sh:609
+#: git-legacy-stash.sh:610
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr ""
 
-#: git-legacy-stash.sh:617
+#: git-legacy-stash.sh:618
 msgid "unable to refresh index"
 msgstr ""
 
-#: git-legacy-stash.sh:621
+#: git-legacy-stash.sh:622
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr ""
 
-#: git-legacy-stash.sh:629
+#: git-legacy-stash.sh:630
 msgid "Conflicts in index. Try without --index."
 msgstr ""
 
-#: git-legacy-stash.sh:631
+#: git-legacy-stash.sh:632
 msgid "Could not save index tree"
 msgstr ""
 
-#: git-legacy-stash.sh:640
+#: git-legacy-stash.sh:641
 msgid "Could not restore untracked files from stash entry"
 msgstr ""
 
-#: git-legacy-stash.sh:665
+#: git-legacy-stash.sh:666
 msgid "Cannot unstage modified files"
 msgstr ""
 
-#: git-legacy-stash.sh:703
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr ""
 
-#: git-legacy-stash.sh:704
+#: git-legacy-stash.sh:705
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr ""
 
-#: git-legacy-stash.sh:791
+#: git-legacy-stash.sh:792
 msgid "(To restore them type \"git stash apply\")"
 msgstr ""
 
-#: git-submodule.sh:200
+#: git-submodule.sh:202
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 
-#: git-submodule.sh:210
+#: git-submodule.sh:212
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 
-#: git-submodule.sh:229
+#: git-submodule.sh:231
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr ""
 
-#: git-submodule.sh:232
+#: git-submodule.sh:234
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr ""
 
-#: git-submodule.sh:239
+#: git-submodule.sh:241
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr ""
 
-#: git-submodule.sh:245
+#: git-submodule.sh:247
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -20382,22 +21520,22 @@ msgid ""
 "Use -f if you really want to add it."
 msgstr ""
 
-#: git-submodule.sh:268
+#: git-submodule.sh:270
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr ""
 
-#: git-submodule.sh:270
+#: git-submodule.sh:272
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr ""
 
-#: git-submodule.sh:278
+#: git-submodule.sh:280
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 
-#: git-submodule.sh:280
+#: git-submodule.sh:282
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -20408,122 +21546,122 @@ msgid ""
 "option."
 msgstr ""
 
-#: git-submodule.sh:286
+#: git-submodule.sh:288
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 
-#: git-submodule.sh:298
+#: git-submodule.sh:300
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:303
+#: git-submodule.sh:305
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:312
+#: git-submodule.sh:314
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:573
+#: git-submodule.sh:580
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:583
+#: git-submodule.sh:590
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:588
+#: git-submodule.sh:595
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:606
+#: git-submodule.sh:613
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
 "$sha1:"
 msgstr ""
 
-#: git-submodule.sh:612
+#: git-submodule.sh:619
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 "Direct fetching of that commit failed."
 msgstr ""
 
-#: git-submodule.sh:619
+#: git-submodule.sh:626
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:620
+#: git-submodule.sh:627
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:624
+#: git-submodule.sh:631
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:625
+#: git-submodule.sh:632
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:630
+#: git-submodule.sh:637
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:631
+#: git-submodule.sh:638
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:636
+#: git-submodule.sh:643
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:637
+#: git-submodule.sh:644
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr ""
 
-#: git-submodule.sh:668
+#: git-submodule.sh:675
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:830
+#: git-submodule.sh:886
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 
-#: git-submodule.sh:882
+#: git-submodule.sh:938
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr ""
 
-#: git-submodule.sh:902
+#: git-submodule.sh:958
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr ""
 
-#: git-submodule.sh:905
+#: git-submodule.sh:961
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:908
+#: git-submodule.sh:964
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -20533,12 +21671,21 @@ msgstr ""
 msgid "See git-${cmd}(1) for details."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:136
+#: git-rebase--preserve-merges.sh:109
+msgid "Applied autostash."
+msgstr ""
+
+#: git-rebase--preserve-merges.sh:112
+#, sh-format
+msgid "Cannot store $stash_sha1"
+msgstr ""
+
+#: git-rebase--preserve-merges.sh:191
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:152
+#: git-rebase--preserve-merges.sh:207
 msgid ""
 "\n"
 "Commands:\n"
@@ -20559,7 +21706,7 @@ msgid ""
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:215
+#: git-rebase--preserve-merges.sh:270
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -20571,83 +21718,83 @@ msgid ""
 "\tgit rebase --continue"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:240
+#: git-rebase--preserve-merges.sh:295
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:279
+#: git-rebase--preserve-merges.sh:334
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:309
+#: git-rebase--preserve-merges.sh:364
 msgid "Cannot write current commit's replacement sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:360
+#: git-rebase--preserve-merges.sh:415
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:362
+#: git-rebase--preserve-merges.sh:417
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:371
+#: git-rebase--preserve-merges.sh:426
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:376
+#: git-rebase--preserve-merges.sh:431
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:394
+#: git-rebase--preserve-merges.sh:449
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:403
+#: git-rebase--preserve-merges.sh:458
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:412
+#: git-rebase--preserve-merges.sh:467
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:417
+#: git-rebase--preserve-merges.sh:472
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:428
+#: git-rebase--preserve-merges.sh:483
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--preserve-merges.sh:437
+#: git-rebase--preserve-merges.sh:492
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:440
+#: git-rebase--preserve-merges.sh:495
 msgid "This is a combination of 2 commits."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524
-#: git-rebase--preserve-merges.sh:527
+#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579
+#: git-rebase--preserve-merges.sh:582
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:556
+#: git-rebase--preserve-merges.sh:611
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -20657,31 +21804,31 @@ msgid ""
 "you are able to reword the commit."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:571
+#: git-rebase--preserve-merges.sh:626
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:586
+#: git-rebase--preserve-merges.sh:641
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:628
+#: git-rebase--preserve-merges.sh:683
 #, sh-format
 msgid "Executing: $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:636
+#: git-rebase--preserve-merges.sh:691
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:638
+#: git-rebase--preserve-merges.sh:693
 msgid "and made changes to the index and/or the working tree"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:640
+#: git-rebase--preserve-merges.sh:695
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -20689,7 +21836,7 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--preserve-merges.sh:653
+#: git-rebase--preserve-merges.sh:708
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -20699,25 +21846,25 @@ msgid ""
 "\tgit rebase --continue"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:664
+#: git-rebase--preserve-merges.sh:719
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:665
+#: git-rebase--preserve-merges.sh:720
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:700
+#: git-rebase--preserve-merges.sh:755
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:757
+#: git-rebase--preserve-merges.sh:812
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:762
+#: git-rebase--preserve-merges.sh:817
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -20735,50 +21882,50 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:779
+#: git-rebase--preserve-merges.sh:834
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:784
+#: git-rebase--preserve-merges.sh:839
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793
+#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848
 msgid "Could not commit staged changes."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965
 msgid "Could not execute editor"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:845
+#: git-rebase--preserve-merges.sh:900
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:852
+#: git-rebase--preserve-merges.sh:907
 msgid "No HEAD?"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:853
+#: git-rebase--preserve-merges.sh:908
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:856
+#: git-rebase--preserve-merges.sh:911
 msgid "Could not mark as interactive"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:888
+#: git-rebase--preserve-merges.sh:943
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
+#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002
 msgid "Could not init rewritten commits"
 msgstr ""
 
@@ -20840,120 +21987,56 @@ msgid "Unable to determine absolute path of git directory"
 msgstr ""
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:196
+#: git-add--interactive.perl:212
 #, perl-format
 msgid "%12s %12s %s"
 msgstr ""
 
-#: git-add--interactive.perl:197
-msgid "staged"
-msgstr ""
-
-#: git-add--interactive.perl:197
-msgid "unstaged"
-msgstr ""
-
-#: git-add--interactive.perl:253 git-add--interactive.perl:278
-msgid "binary"
-msgstr ""
-
-#: git-add--interactive.perl:262 git-add--interactive.perl:316
-msgid "nothing"
-msgstr ""
-
-#: git-add--interactive.perl:298 git-add--interactive.perl:313
-msgid "unchanged"
-msgstr ""
-
-#: git-add--interactive.perl:609
-#, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:612
-#, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:615
-#, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:618
+#: git-add--interactive.perl:634
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:627
-msgid "Update"
-msgstr ""
-
-#: git-add--interactive.perl:639
-msgid "Revert"
-msgstr ""
-
-#: git-add--interactive.perl:662
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr ""
-
-#: git-add--interactive.perl:673
-msgid "Add untracked"
-msgstr ""
-
-#: git-add--interactive.perl:679
-msgid "No untracked files.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1033
+#: git-add--interactive.perl:1053
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
 
-#: git-add--interactive.perl:1036
+#: git-add--interactive.perl:1056
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1059
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
 
-#: git-add--interactive.perl:1042 git-add--interactive.perl:1051
+#: git-add--interactive.perl:1062 git-add--interactive.perl:1071
+#: git-add--interactive.perl:1077
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
 
-#: git-add--interactive.perl:1045 git-add--interactive.perl:1048
+#: git-add--interactive.perl:1065 git-add--interactive.perl:1068
+#: git-add--interactive.perl:1074
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
 
-#: git-add--interactive.perl:1085
+#: git-add--interactive.perl:1111
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1086
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1092
+#: git-add--interactive.perl:1118
 #, perl-format
 msgid ""
 "---\n"
@@ -20962,31 +22045,12 @@ msgid ""
 "Lines starting with %s will be removed.\n"
 msgstr ""
 
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1100
-msgid ""
-"If it does not apply cleanly, you will be given an opportunity to\n"
-"edit again.  If all lines of the hunk are removed, then the edit is\n"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1114
+#: git-add--interactive.perl:1140
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr ""
 
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: git-add--interactive.perl:1213
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-
-#: git-add--interactive.perl:1222
+#: git-add--interactive.perl:1248
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -20995,7 +22059,7 @@ msgid ""
 "d - do not stage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1228
+#: git-add--interactive.perl:1254
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -21004,7 +22068,7 @@ msgid ""
 "d - do not stash this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1234
+#: git-add--interactive.perl:1260
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -21013,7 +22077,7 @@ msgid ""
 "d - do not unstage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1240
+#: git-add--interactive.perl:1266
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -21022,7 +22086,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1272 git-add--interactive.perl:1290
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -21031,7 +22095,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1278
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -21040,7 +22104,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1284
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -21049,7 +22113,16 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1296
+msgid ""
+"y - apply this hunk to worktree\n"
+"n - do not apply this hunk to worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1311
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -21062,211 +22135,198 @@ msgid ""
 "? - print help\n"
 msgstr ""
 
-#: git-add--interactive.perl:1304
+#: git-add--interactive.perl:1342
 msgid "The selected hunks do not apply to the index!\n"
 msgstr ""
 
-#: git-add--interactive.perl:1305
+#: git-add--interactive.perl:1343
 msgid "Apply them to the worktree anyway? "
 msgstr ""
 
-#: git-add--interactive.perl:1308
+#: git-add--interactive.perl:1346
 msgid "Nothing was applied.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1319
+#: git-add--interactive.perl:1357
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1328
-msgid "Only binary files changed.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1330
-msgid "No changes.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1338
-msgid "Patch update"
-msgstr ""
-
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1428
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1391
+#: git-add--interactive.perl:1429
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1392
+#: git-add--interactive.perl:1430
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1395
+#: git-add--interactive.perl:1433
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1396
+#: git-add--interactive.perl:1434
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1397
+#: git-add--interactive.perl:1435
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1400
+#: git-add--interactive.perl:1438
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1401
+#: git-add--interactive.perl:1439
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1402
+#: git-add--interactive.perl:1440
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1405
+#: git-add--interactive.perl:1443
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1406
+#: git-add--interactive.perl:1444
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1407
+#: git-add--interactive.perl:1445
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1410
+#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1411
+#: git-add--interactive.perl:1449 git-add--interactive.perl:1464
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1412
+#: git-add--interactive.perl:1450 git-add--interactive.perl:1465
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1415
+#: git-add--interactive.perl:1453
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1416
+#: git-add--interactive.perl:1454
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1417
+#: git-add--interactive.perl:1455
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1420
+#: git-add--interactive.perl:1458
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1421
+#: git-add--interactive.perl:1459
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1422
+#: git-add--interactive.perl:1460
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1522
-msgid "No other hunks to goto\n"
+#: git-add--interactive.perl:1468
+#, perl-format
+msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1529
-msgid "go to which hunk (<ret> to see more)? "
+#: git-add--interactive.perl:1469
+#, perl-format
+msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1531
-msgid "go to which hunk? "
+#: git-add--interactive.perl:1470
+#, perl-format
+msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1570
+msgid "No other hunks to goto\n"
 msgstr ""
 
-#: git-add--interactive.perl:1540
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr ""
 
-#: git-add--interactive.perl:1545
+#: git-add--interactive.perl:1593
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:1571
+#: git-add--interactive.perl:1619
 msgid "No other hunks to search\n"
 msgstr ""
 
-#: git-add--interactive.perl:1575
-msgid "search for regex? "
-msgstr ""
-
-#: git-add--interactive.perl:1588
+#: git-add--interactive.perl:1636
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1598
+#: git-add--interactive.perl:1646
 msgid "No hunk matches the given pattern\n"
 msgstr ""
 
-#: git-add--interactive.perl:1610 git-add--interactive.perl:1632
+#: git-add--interactive.perl:1658 git-add--interactive.perl:1680
 msgid "No previous hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1619 git-add--interactive.perl:1638
+#: git-add--interactive.perl:1667 git-add--interactive.perl:1686
 msgid "No next hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1692
 msgid "Sorry, cannot split this hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1650
+#: git-add--interactive.perl:1698
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:1660
+#: git-add--interactive.perl:1708
 msgid "Sorry, cannot edit this hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1706
-msgid "Review diff"
-msgstr ""
-
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1725
+#: git-add--interactive.perl:1773
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -21277,18 +22337,19 @@ msgid ""
 "changes\n"
 msgstr ""
 
-#: git-add--interactive.perl:1742 git-add--interactive.perl:1747
-#: git-add--interactive.perl:1750 git-add--interactive.perl:1757
-#: git-add--interactive.perl:1761 git-add--interactive.perl:1767
+#: git-add--interactive.perl:1790 git-add--interactive.perl:1795
+#: git-add--interactive.perl:1798 git-add--interactive.perl:1805
+#: git-add--interactive.perl:1808 git-add--interactive.perl:1815
+#: git-add--interactive.perl:1819 git-add--interactive.perl:1825
 msgid "missing --"
 msgstr ""
 
-#: git-add--interactive.perl:1763
+#: git-add--interactive.perl:1821
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1769 git-add--interactive.perl:1775
+#: git-add--interactive.perl:1827 git-add--interactive.perl:1833
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr ""
@@ -21301,66 +22362,66 @@ msgstr ""
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr ""
 
-#: git-send-email.perl:219 git-send-email.perl:225
+#: git-send-email.perl:223 git-send-email.perl:229
 msgid "the editor exited uncleanly, aborting everything"
 msgstr ""
 
-#: git-send-email.perl:302
+#: git-send-email.perl:310
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr ""
 
-#: git-send-email.perl:307
+#: git-send-email.perl:315
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr ""
 
-#: git-send-email.perl:326
+#: git-send-email.perl:408
 msgid "--dump-aliases incompatible with other options\n"
 msgstr ""
 
-#: git-send-email.perl:395 git-send-email.perl:656
+#: git-send-email.perl:481 git-send-email.perl:683
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr ""
 
-#: git-send-email.perl:398
+#: git-send-email.perl:484
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
 msgstr ""
 
-#: git-send-email.perl:470
+#: git-send-email.perl:497
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:501
+#: git-send-email.perl:528
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:529
+#: git-send-email.perl:556
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:531
+#: git-send-email.perl:558
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:533
+#: git-send-email.perl:560
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:538
+#: git-send-email.perl:565
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr ""
 
-#: git-send-email.perl:622
+#: git-send-email.perl:649
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -21370,36 +22431,36 @@ msgid ""
 "    * Giving --format-patch option if you mean a range.\n"
 msgstr ""
 
-#: git-send-email.perl:643
+#: git-send-email.perl:670
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr ""
 
-#: git-send-email.perl:667
+#: git-send-email.perl:694
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
 "warning: no patches were sent\n"
 msgstr ""
 
-#: git-send-email.perl:678
+#: git-send-email.perl:705
 msgid ""
 "\n"
 "No patch files specified!\n"
 "\n"
 msgstr ""
 
-#: git-send-email.perl:691
+#: git-send-email.perl:718
 #, perl-format
 msgid "No subject line in %s?"
 msgstr ""
 
-#: git-send-email.perl:701
+#: git-send-email.perl:728
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr ""
 
-#: git-send-email.perl:712
+#: git-send-email.perl:739
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -21408,37 +22469,37 @@ msgid ""
 "Clear the body content if you don't wish to send a summary.\n"
 msgstr ""
 
-#: git-send-email.perl:736
+#: git-send-email.perl:763
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr ""
 
-#: git-send-email.perl:753
+#: git-send-email.perl:780
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr ""
 
-#: git-send-email.perl:796
+#: git-send-email.perl:823
 msgid "Summary email is empty, skipping it\n"
 msgstr ""
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:831
+#: git-send-email.perl:858
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr ""
 
-#: git-send-email.perl:886
+#: git-send-email.perl:913
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr ""
 
-#: git-send-email.perl:891
+#: git-send-email.perl:918
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr ""
 
-#: git-send-email.perl:899
+#: git-send-email.perl:926
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -21447,20 +22508,20 @@ msgid ""
 "want to send.\n"
 msgstr ""
 
-#: git-send-email.perl:918
+#: git-send-email.perl:945
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr ""
 
-#: git-send-email.perl:936
+#: git-send-email.perl:963
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr ""
 
-#: git-send-email.perl:948
+#: git-send-email.perl:975
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr ""
 
-#: git-send-email.perl:1006 git-send-email.perl:1014
+#: git-send-email.perl:1033 git-send-email.perl:1041
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr ""
@@ -21468,16 +22529,16 @@ msgstr ""
 #. 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:1018
+#: git-send-email.perl:1045
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr ""
 
-#: git-send-email.perl:1335
+#: git-send-email.perl:1362
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr ""
 
-#: git-send-email.perl:1418
+#: git-send-email.perl:1445
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -21494,128 +22555,128 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1433
+#: git-send-email.perl:1460
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr ""
 
-#: git-send-email.perl:1436
+#: git-send-email.perl:1463
 msgid "Send this email reply required"
 msgstr ""
 
-#: git-send-email.perl:1464
+#: git-send-email.perl:1491
 msgid "The required SMTP server is not properly defined."
 msgstr ""
 
-#: git-send-email.perl:1511
+#: git-send-email.perl:1538
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr ""
 
-#: git-send-email.perl:1516 git-send-email.perl:1520
+#: git-send-email.perl:1543 git-send-email.perl:1547
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr ""
 
-#: git-send-email.perl:1529
+#: git-send-email.perl:1556
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
 
-#: git-send-email.perl:1547
+#: git-send-email.perl:1574
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr ""
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1577
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr ""
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1577
 #, perl-format
 msgid "Sent %s\n"
 msgstr ""
 
-#: git-send-email.perl:1552
+#: git-send-email.perl:1579
 msgid "Dry-OK. Log says:\n"
 msgstr ""
 
-#: git-send-email.perl:1552
+#: git-send-email.perl:1579
 msgid "OK. Log says:\n"
 msgstr ""
 
-#: git-send-email.perl:1564
+#: git-send-email.perl:1591
 msgid "Result: "
 msgstr ""
 
-#: git-send-email.perl:1567
+#: git-send-email.perl:1594
 msgid "Result: OK\n"
 msgstr ""
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1612
 #, perl-format
 msgid "can't open file %s"
 msgstr ""
 
-#: git-send-email.perl:1632 git-send-email.perl:1652
+#: git-send-email.perl:1659 git-send-email.perl:1679
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1638
+#: git-send-email.perl:1665
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1691
+#: git-send-email.perl:1718
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1726
+#: git-send-email.perl:1753
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1837
+#: git-send-email.perl:1864
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr ""
 
-#: git-send-email.perl:1844
+#: git-send-email.perl:1871
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1848
+#: git-send-email.perl:1875
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr ""
 
-#: git-send-email.perl:1878
+#: git-send-email.perl:1905
 msgid "cannot send message as 7bit"
 msgstr ""
 
-#: git-send-email.perl:1886
+#: git-send-email.perl:1913
 msgid "invalid transfer encoding"
 msgstr ""
 
-#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989
+#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr ""
 
-#: git-send-email.perl:1930
+#: git-send-email.perl:1957
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr ""
 
-#: git-send-email.perl:1947
+#: git-send-email.perl:1974
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr ""
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1951
+#: git-send-email.perl:1978
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr ""