directory rename detection: testcases exploring possibly suboptimal merges
[gitweb.git] / po / git.pot
index db2ff707674728758eb563464683a405e246dd76..e36d187970974ddf7aafecd708d32e97d15dae39 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: 2017-05-05 09:35+0800\n"
+"POT-Creation-Date: 2018-01-07 07:50+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,59 +18,59 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: advice.c:55
+#: advice.c:62
 #, c-format
 msgid "hint: %.*s\n"
 msgstr ""
 
-#: advice.c:83
+#: advice.c:90
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:85
+#: advice.c:92
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:87
+#: advice.c:94
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:89
+#: advice.c:96
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:91
+#: advice.c:98
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:93
+#: advice.c:100
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 
-#: advice.c:101
+#: advice.c:108
 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:109
+#: advice.c:116
 msgid "Exiting because of an unresolved conflict."
 msgstr ""
 
-#: advice.c:114 builtin/merge.c:1185
+#: advice.c:121 builtin/merge.c:1213
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr ""
 
-#: advice.c:116
+#: advice.c:123
 msgid "Please, commit your changes before merging."
 msgstr ""
 
-#: advice.c:117
+#: advice.c:124
 msgid "Exiting because of unfinished merge."
 msgstr ""
 
-#: advice.c:123
+#: advice.c:130
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -86,82 +86,92 @@ msgid ""
 "\n"
 msgstr ""
 
-#: apply.c:57
+#: apply.c:58
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr ""
 
-#: apply.c:73
+#: apply.c:74
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr ""
 
-#: apply.c:125
+#: apply.c:122
 msgid "--reject and --3way cannot be used together."
 msgstr ""
 
-#: apply.c:127
+#: apply.c:124
 msgid "--cached and --3way cannot be used together."
 msgstr ""
 
-#: apply.c:130
+#: apply.c:127
 msgid "--3way outside a repository"
 msgstr ""
 
-#: apply.c:141
+#: apply.c:138
 msgid "--index outside a repository"
 msgstr ""
 
-#: apply.c:144
+#: apply.c:141
 msgid "--cached outside a repository"
 msgstr ""
 
-#: apply.c:845
+#: apply.c:821
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr ""
 
-#: apply.c:854
+#: apply.c:830
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr ""
 
-#: apply.c:938
+#: apply.c:904
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr ""
 
-#: apply.c:977
+#: apply.c:942
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 
-#: apply.c:983
+#: apply.c:948
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
 
-#: apply.c:984
+#: apply.c:949
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr ""
 
-#: apply.c:990
+#: apply.c:954
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr ""
 
-#: apply.c:1488
+#: apply.c:983
+#, c-format
+msgid "invalid mode on line %d: %s"
+msgstr ""
+
+#: apply.c:1301
+#, c-format
+msgid "inconsistent header lines %d and %d"
+msgstr ""
+
+#: apply.c:1473
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr ""
 
-#: apply.c:1557
+#: apply.c:1542
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr ""
 
-#: apply.c:1577
+#: apply.c:1562
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -172,689 +182,686 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:1589
+#: apply.c:1575
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 
-#: apply.c:1759
+#: apply.c:1763
 msgid "new file depends on old contents"
 msgstr ""
 
-#: apply.c:1761
+#: apply.c:1765
 msgid "deleted file still has contents"
 msgstr ""
 
-#: apply.c:1795
+#: apply.c:1799
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr ""
 
-#: apply.c:1832
+#: apply.c:1836
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr ""
 
-#: apply.c:1834
+#: apply.c:1838
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr ""
 
-#: apply.c:1837
+#: apply.c:1841
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr ""
 
-#: apply.c:1984
+#: apply.c:1988
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr ""
 
-#: apply.c:2021
+#: apply.c:2025
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr ""
 
-#: apply.c:2182
+#: apply.c:2185
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr ""
 
-#: apply.c:2265
+#: apply.c:2271
 #, c-format
 msgid "unable to read symlink %s"
 msgstr ""
 
-#: apply.c:2269
+#: apply.c:2275
 #, c-format
 msgid "unable to open or read %s"
 msgstr ""
 
-#: apply.c:2922
+#: apply.c:2934
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr ""
 
-#: apply.c:3041
+#: apply.c:3055
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:3053
+#: apply.c:3067
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr ""
 
-#: apply.c:3059
+#: apply.c:3073
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr ""
 
-#: apply.c:3081
+#: apply.c:3095
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr ""
 
-#: apply.c:3089
+#: apply.c:3103
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 
-#: apply.c:3135
+#: apply.c:3149
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 
-#: apply.c:3145
+#: apply.c:3159
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 
-#: apply.c:3153
+#: apply.c:3167
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr ""
 
-#: apply.c:3171
+#: apply.c:3185
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr ""
 
-#: apply.c:3184
+#: apply.c:3198
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr ""
 
-#: apply.c:3190
+#: apply.c:3204
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 
-#: apply.c:3211
+#: apply.c:3225
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr ""
 
-#: apply.c:3333
+#: apply.c:3347
 #, c-format
 msgid "cannot checkout %s"
 msgstr ""
 
-#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:253
+#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:277
 #, c-format
 msgid "failed to read %s"
 msgstr ""
 
-#: apply.c:3389
+#: apply.c:3404
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3418 apply.c:3658
+#: apply.c:3433 apply.c:3673
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr ""
 
-#: apply.c:3501 apply.c:3672
+#: apply.c:3516 apply.c:3687
 #, c-format
 msgid "%s: does not exist in index"
 msgstr ""
 
-#: apply.c:3510 apply.c:3680
+#: apply.c:3525 apply.c:3695
 #, c-format
 msgid "%s: does not match index"
 msgstr ""
 
-#: apply.c:3545
+#: apply.c:3560
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 
-#: apply.c:3548
+#: apply.c:3563
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr ""
 
-#: apply.c:3564 apply.c:3568
+#: apply.c:3579 apply.c:3583
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr ""
 
-#: apply.c:3580
+#: apply.c:3595
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr ""
 
-#: apply.c:3594
+#: apply.c:3609
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr ""
 
-#: apply.c:3599
+#: apply.c:3614
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr ""
 
-#: apply.c:3625
+#: apply.c:3640
 msgid "removal patch leaves file contents"
 msgstr ""
 
-#: apply.c:3697
+#: apply.c:3712
 #, c-format
 msgid "%s: wrong type"
 msgstr ""
 
-#: apply.c:3699
+#: apply.c:3714
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr ""
 
-#: apply.c:3850 apply.c:3852
+#: apply.c:3864 apply.c:3866
 #, c-format
 msgid "invalid path '%s'"
 msgstr ""
 
-#: apply.c:3908
+#: apply.c:3922
 #, c-format
 msgid "%s: already exists in index"
 msgstr ""
 
-#: apply.c:3911
+#: apply.c:3925
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr ""
 
-#: apply.c:3931
+#: apply.c:3945
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr ""
 
-#: apply.c:3936
+#: apply.c:3950
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 
-#: apply.c:3956
+#: apply.c:3970
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3960
+#: apply.c:3974
 #, c-format
 msgid "%s: patch does not apply"
 msgstr ""
 
-#: apply.c:3975
+#: apply.c:3989
 #, c-format
 msgid "Checking patch %s..."
 msgstr ""
 
-#: apply.c:4066
+#: apply.c:4080
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 
-#: apply.c:4073
+#: apply.c:4087
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr ""
 
-#: apply.c:4076
+#: apply.c:4090
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr ""
 
-#: apply.c:4081 builtin/checkout.c:252 builtin/reset.c:135
+#: apply.c:4095 builtin/checkout.c:236 builtin/reset.c:148
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr ""
 
-#: apply.c:4085
+#: apply.c:4099
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr ""
 
-#: apply.c:4095
+#: apply.c:4109
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr ""
 
-#: apply.c:4233
+#: apply.c:4247
 #, c-format
 msgid "unable to remove %s from index"
 msgstr ""
 
-#: apply.c:4268
+#: apply.c:4282
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr ""
 
-#: apply.c:4274
+#: apply.c:4288
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr ""
 
-#: apply.c:4282
+#: apply.c:4296
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 
-#: apply.c:4288 apply.c:4432
+#: apply.c:4302 apply.c:4446
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr ""
 
-#: apply.c:4329
+#: apply.c:4343
 #, c-format
 msgid "failed to write to '%s'"
 msgstr ""
 
-#: apply.c:4333
+#: apply.c:4347
 #, c-format
 msgid "closing file '%s'"
 msgstr ""
 
-#: apply.c:4403
+#: apply.c:4417
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr ""
 
-#: apply.c:4501
+#: apply.c:4515
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr ""
 
-#: apply.c:4509
+#: apply.c:4523
 msgid "internal error"
 msgstr ""
 
-#: apply.c:4512
+#: apply.c:4526
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4523
+#: apply.c:4537
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr ""
 
-#: apply.c:4531 builtin/fetch.c:739 builtin/fetch.c:988
+#: apply.c:4545 builtin/fetch.c:761 builtin/fetch.c:1011
 #, c-format
 msgid "cannot open %s"
 msgstr ""
 
-#: apply.c:4545
+#: apply.c:4559
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr ""
 
-#: apply.c:4549
+#: apply.c:4563
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr ""
 
-#: apply.c:4659
+#: apply.c:4673
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr ""
 
-#: apply.c:4667
+#: apply.c:4681
 msgid "unrecognized input"
 msgstr ""
 
-#: apply.c:4686
+#: apply.c:4700
 msgid "unable to read index file"
 msgstr ""
 
-#: apply.c:4823
+#: apply.c:4837
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr ""
 
-#: apply.c:4850
+#: apply.c:4864
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4856 apply.c:4871
+#: apply.c:4870 apply.c:4885
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4864
+#: apply.c:4878
 #, 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:4880 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
+#: apply.c:4894 builtin/add.c:539 builtin/mv.c:298 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr ""
 
-#: apply.c:4911 apply.c:4914 builtin/am.c:2276 builtin/am.c:2279
-#: builtin/clone.c:113 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:304 builtin/submodule--helper.c:629
-#: builtin/submodule--helper.c:632 builtin/submodule--helper.c:973
-#: builtin/submodule--helper.c:976 builtin/submodule--helper.c:1161
-#: git-add--interactive.perl:239
+#: apply.c:4921 apply.c:4924 builtin/am.c:2220 builtin/am.c:2223
+#: builtin/clone.c:116 builtin/fetch.c:116 builtin/pull.c:193
+#: builtin/submodule--helper.c:369 builtin/submodule--helper.c:860
+#: builtin/submodule--helper.c:863 builtin/submodule--helper.c:1230
+#: builtin/submodule--helper.c:1233 builtin/submodule--helper.c:1450
+#: git-add--interactive.perl:197
 msgid "path"
 msgstr ""
 
-#: apply.c:4912
+#: apply.c:4922
 msgid "don't apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4915
+#: apply.c:4925
 msgid "apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4917 builtin/am.c:2285
+#: apply.c:4927 builtin/am.c:2229
 msgid "num"
 msgstr ""
 
-#: apply.c:4918
+#: apply.c:4928
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 
-#: apply.c:4921
+#: apply.c:4931
 msgid "ignore additions made by the patch"
 msgstr ""
 
-#: apply.c:4923
+#: apply.c:4933
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 
-#: apply.c:4927
+#: apply.c:4937
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 
-#: apply.c:4929
+#: apply.c:4939
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 
-#: apply.c:4931
+#: apply.c:4941
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 
-#: apply.c:4933
+#: apply.c:4943
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 
-#: apply.c:4935
+#: apply.c:4945
 msgid "apply a patch without touching the working tree"
 msgstr ""
 
-#: apply.c:4937
+#: apply.c:4947
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 
-#: apply.c:4939
+#: apply.c:4949
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 
-#: apply.c:4941
+#: apply.c:4951
 msgid "attempt three-way merge if a patch does not apply"
 msgstr ""
 
-#: apply.c:4943
+#: apply.c:4953
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 
-#: apply.c:4946 builtin/checkout-index.c:169 builtin/ls-files.c:515
+#: apply.c:4956 builtin/checkout-index.c:168 builtin/ls-files.c:515
 msgid "paths are separated with NUL character"
 msgstr ""
 
-#: apply.c:4948
+#: apply.c:4958
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 
-#: apply.c:4949 builtin/am.c:2264
+#: apply.c:4959 builtin/am.c:2208 builtin/interpret-trailers.c:95
+#: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
+#: builtin/pack-objects.c:3009
 msgid "action"
 msgstr ""
 
-#: apply.c:4950
+#: apply.c:4960
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 
-#: apply.c:4953 apply.c:4956
+#: apply.c:4963 apply.c:4966
 msgid "ignore changes in whitespace when finding context"
 msgstr ""
 
-#: apply.c:4959
+#: apply.c:4969
 msgid "apply the patch in reverse"
 msgstr ""
 
-#: apply.c:4961
+#: apply.c:4971
 msgid "don't expect at least one line of context"
 msgstr ""
 
-#: apply.c:4963
+#: apply.c:4973
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 
-#: apply.c:4965
+#: apply.c:4975
 msgid "allow overlapping hunks"
 msgstr ""
 
-#: apply.c:4966 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
-#: builtin/log.c:1867 builtin/mv.c:122 builtin/read-tree.c:134
+#: apply.c:4976 builtin/add.c:292 builtin/check-ignore.c:21
+#: builtin/commit.c:1361 builtin/count-objects.c:96 builtin/fsck.c:640
+#: builtin/log.c:1896 builtin/mv.c:123 builtin/read-tree.c:125
 msgid "be verbose"
 msgstr ""
 
-#: apply.c:4968
+#: apply.c:4978
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 
-#: apply.c:4971
+#: apply.c:4981
 msgid "do not trust the line counts in the hunk headers"
 msgstr ""
 
-#: apply.c:4973 builtin/am.c:2273
+#: apply.c:4983 builtin/am.c:2217
 msgid "root"
 msgstr ""
 
-#: apply.c:4974
+#: apply.c:4984
 msgid "prepend <root> to all filenames"
 msgstr ""
 
-#: archive.c:12
+#: archive.c:13
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr ""
 
-#: archive.c:13
+#: archive.c:14
 msgid "git archive --list"
 msgstr ""
 
-#: archive.c:14
+#: archive.c:15
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
 
-#: archive.c:15
+#: archive.c:16
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr ""
 
-#: archive.c:332 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
+#: archive.c:351 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr ""
 
-#: archive.c:417
+#: archive.c:436
 msgid "fmt"
 msgstr ""
 
-#: archive.c:417
+#: archive.c:436
 msgid "archive format"
 msgstr ""
 
-#: archive.c:418 builtin/log.c:1436
+#: archive.c:437 builtin/log.c:1459
 msgid "prefix"
 msgstr ""
 
-#: archive.c:419
+#: archive.c:438
 msgid "prepend prefix to each pathname in the archive"
 msgstr ""
 
-#: archive.c:420 builtin/blame.c:2598 builtin/blame.c:2599 builtin/config.c:60
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1061
-#: builtin/hash-object.c:101 builtin/ls-files.c:549 builtin/ls-files.c:552
-#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:129
+#: archive.c:439 builtin/blame.c:693 builtin/blame.c:694 builtin/config.c:62
+#: builtin/fast-export.c:1005 builtin/fast-export.c:1007 builtin/grep.c:861
+#: builtin/hash-object.c:102 builtin/ls-files.c:551 builtin/ls-files.c:554
+#: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:120
 #: parse-options.h:153
 msgid "file"
 msgstr ""
 
-#: archive.c:421 builtin/archive.c:89
+#: archive.c:440 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr ""
 
-#: archive.c:423
+#: archive.c:442
 msgid "read .gitattributes in working directory"
 msgstr ""
 
-#: archive.c:424
+#: archive.c:443
 msgid "report archived files on stderr"
 msgstr ""
 
-#: archive.c:425
+#: archive.c:444
 msgid "store only"
 msgstr ""
 
-#: archive.c:426
+#: archive.c:445
 msgid "compress faster"
 msgstr ""
 
-#: archive.c:434
+#: archive.c:453
 msgid "compress better"
 msgstr ""
 
-#: archive.c:437
+#: archive.c:456
 msgid "list supported archive formats"
 msgstr ""
 
-#: archive.c:439 builtin/archive.c:90 builtin/clone.c:103 builtin/clone.c:106
-#: builtin/submodule--helper.c:641 builtin/submodule--helper.c:982
+#: archive.c:458 builtin/archive.c:90 builtin/clone.c:106 builtin/clone.c:109
+#: builtin/submodule--helper.c:872 builtin/submodule--helper.c:1239
 msgid "repo"
 msgstr ""
 
-#: archive.c:440 builtin/archive.c:91
+#: archive.c:459 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr ""
 
-#: archive.c:441 builtin/archive.c:92 builtin/notes.c:485
+#: archive.c:460 builtin/archive.c:92 builtin/notes.c:489
 msgid "command"
 msgstr ""
 
-#: archive.c:442 builtin/archive.c:93
+#: archive.c:461 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr ""
 
-#: archive.c:449
+#: archive.c:468
 msgid "Unexpected option --remote"
 msgstr ""
 
-#: archive.c:451
+#: archive.c:470
 msgid "Option --exec can only be used together with --remote"
 msgstr ""
 
-#: archive.c:453
+#: archive.c:472
 msgid "Unexpected option --output"
 msgstr ""
 
-#: archive.c:475
+#: archive.c:494
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr ""
 
-#: archive.c:482
+#: archive.c:501
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr ""
 
-#: attr.c:212
+#: attr.c:218
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr ""
 
-#: attr.c:408
+#: attr.c:415
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
 
-#: bisect.c:444
-#, c-format
-msgid "Could not open file '%s'"
-msgstr ""
-
-#: bisect.c:449
+#: bisect.c:458
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr ""
 
-#: bisect.c:657
+#: bisect.c:666
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr ""
 
-#: bisect.c:710
+#: bisect.c:720
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr ""
 
-#: bisect.c:734
+#: bisect.c:744
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
 "This means the bug has been fixed between %s and [%s].\n"
 msgstr ""
 
-#: bisect.c:739
+#: bisect.c:749
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
 "The property has changed between %s and [%s].\n"
 msgstr ""
 
-#: bisect.c:744
+#: bisect.c:754
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
 "This means the first '%s' commit is between %s and [%s].\n"
 msgstr ""
 
-#: bisect.c:752
+#: bisect.c:762
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -862,7 +869,7 @@ msgid ""
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 
-#: bisect.c:765
+#: bisect.c:775
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -870,58 +877,93 @@ msgid ""
 "We continue anyway."
 msgstr ""
 
-#: bisect.c:800
+#: bisect.c:810
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr ""
 
-#: bisect.c:851
+#: bisect.c:862
 #, c-format
 msgid "a %s revision is needed"
 msgstr ""
 
-#: bisect.c:868 builtin/notes.c:174 builtin/tag.c:255
+#: bisect.c:879 builtin/notes.c:175 builtin/tag.c:234
 #, c-format
 msgid "could not create file '%s'"
 msgstr ""
 
-#: bisect.c:919
+#: bisect.c:930
 #, c-format
 msgid "could not read file '%s'"
 msgstr ""
 
-#: bisect.c:949
+#: bisect.c:960
 msgid "reading bisect refs failed"
 msgstr ""
 
-#: bisect.c:969
+#: bisect.c:979
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr ""
 
-#: bisect.c:977
+#: bisect.c:987
 #, c-format
 msgid ""
 "No testable commit found.\n"
 "Maybe you started with bad path parameters?\n"
 msgstr ""
 
-#: bisect.c:996
+#: bisect.c:1006
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: the last %s will be replaced with
-#. "(roughly %d steps)" translation
-#: bisect.c:1000
+#. TRANSLATORS: the last %s will be replaced with "(roughly %d
+#. steps)" translation.
+#.
+#: bisect.c:1012
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] ""
 msgstr[1] ""
 
+#: blame.c:1757
+msgid "--contents and --reverse do not blend well."
+msgstr ""
+
+#: blame.c:1768
+msgid "cannot use --contents with final commit object name"
+msgstr ""
+
+#: blame.c:1788
+msgid "--reverse and --first-parent together require specified latest commit"
+msgstr ""
+
+#: blame.c:1797 bundle.c:169 ref-filter.c:1981 sequencer.c:1177
+#: sequencer.c:2370 builtin/commit.c:1066 builtin/log.c:364 builtin/log.c:918
+#: builtin/log.c:1368 builtin/log.c:1697 builtin/log.c:1945 builtin/merge.c:369
+#: builtin/shortlog.c:191
+msgid "revision walk setup failed"
+msgstr ""
+
+#: blame.c:1815
+msgid ""
+"--reverse --first-parent together require range along first-parent chain"
+msgstr ""
+
+#: blame.c:1826
+#, c-format
+msgid "no such path %s in %s"
+msgstr ""
+
+#: blame.c:1837
+#, c-format
+msgid "cannot read blob %s for path %s"
+msgstr ""
+
 #: branch.c:53
 #, c-format
 msgid ""
@@ -938,42 +980,42 @@ msgstr ""
 
 #: branch.c:93
 #, c-format
-msgid "Branch %s set up to track remote branch %s from %s by rebasing."
+msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr ""
 
 #: branch.c:94
 #, c-format
-msgid "Branch %s set up to track remote branch %s from %s."
+msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr ""
 
 #: branch.c:98
 #, c-format
-msgid "Branch %s set up to track local branch %s by rebasing."
+msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr ""
 
 #: branch.c:99
 #, c-format
-msgid "Branch %s set up to track local branch %s."
+msgid "Branch '%s' set up to track local branch '%s'."
 msgstr ""
 
 #: branch.c:104
 #, c-format
-msgid "Branch %s set up to track remote ref %s by rebasing."
+msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr ""
 
 #: branch.c:105
 #, c-format
-msgid "Branch %s set up to track remote ref %s."
+msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr ""
 
 #: branch.c:109
 #, c-format
-msgid "Branch %s set up to track local ref %s by rebasing."
+msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr ""
 
 #: branch.c:110
 #, c-format
-msgid "Branch %s set up to track local ref %s."
+msgid "Branch '%s' set up to track local ref '%s'."
 msgstr ""
 
 #: branch.c:119
@@ -985,31 +1027,31 @@ msgstr ""
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr ""
 
-#: branch.c:185
+#: branch.c:189
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr ""
 
-#: branch.c:190
+#: branch.c:208
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr ""
 
-#: branch.c:198
+#: branch.c:213
 msgid "Cannot force update the current branch."
 msgstr ""
 
-#: branch.c:218
+#: branch.c:233
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 
-#: branch.c:220
+#: branch.c:235
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr ""
 
-#: branch.c:222
+#: branch.c:237
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1021,27 +1063,27 @@ msgid ""
 "\"git push -u\" to set the upstream config as you push."
 msgstr ""
 
-#: branch.c:265
+#: branch.c:280
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr ""
 
-#: branch.c:285
+#: branch.c:300
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr ""
 
-#: branch.c:290
+#: branch.c:305
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr ""
 
-#: branch.c:344
+#: branch.c:359
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr ""
 
-#: branch.c:364
+#: branch.c:382
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr ""
@@ -1051,262 +1093,261 @@ msgstr ""
 msgid "'%s' does not look like a v2 bundle file"
 msgstr ""
 
-#: bundle.c:61
+#: bundle.c:62
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr ""
 
-#: bundle.c:87 sequencer.c:1341 sequencer.c:1767 builtin/commit.c:777
+#: bundle.c:88 sequencer.c:1360 sequencer.c:1807 sequencer.c:2637
+#: sequencer.c:2663 sequencer.c:2754 sequencer.c:2856 builtin/commit.c:782
 #, c-format
 msgid "could not open '%s'"
 msgstr ""
 
-#: bundle.c:139
+#: bundle.c:140
 msgid "Repository lacks these prerequisite commits:"
 msgstr ""
 
-#: bundle.c:163 ref-filter.c:1852 sequencer.c:1162 sequencer.c:2321
-#: builtin/blame.c:2811 builtin/commit.c:1061 builtin/log.c:353
-#: builtin/log.c:897 builtin/log.c:1347 builtin/log.c:1673 builtin/log.c:1916
-#: builtin/merge.c:359 builtin/shortlog.c:176
-msgid "revision walk setup failed"
-msgstr ""
-
-#: bundle.c:185
+#: bundle.c:193
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: bundle.c:192
+#: bundle.c:200
 msgid "The bundle records a complete history."
 msgstr ""
 
-#: bundle.c:194
+#: bundle.c:202
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: bundle.c:253
+#: bundle.c:261
 msgid "Could not spawn pack-objects"
 msgstr ""
 
-#: bundle.c:264
+#: bundle.c:272
 msgid "pack-objects died"
 msgstr ""
 
-#: bundle.c:304
+#: bundle.c:314
 msgid "rev-list died"
 msgstr ""
 
-#: bundle.c:353
+#: bundle.c:363
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr ""
 
-#: bundle.c:443 builtin/log.c:170 builtin/log.c:1579 builtin/shortlog.c:281
+#: bundle.c:453 builtin/log.c:181 builtin/log.c:1604 builtin/shortlog.c:296
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr ""
 
-#: bundle.c:451
+#: bundle.c:461
 msgid "Refusing to create empty bundle."
 msgstr ""
 
-#: bundle.c:463
+#: bundle.c:473
 #, c-format
 msgid "cannot create '%s'"
 msgstr ""
 
-#: bundle.c:491
+#: bundle.c:501
 msgid "index-pack died"
 msgstr ""
 
-#: color.c:300
+#: color.c:301
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr ""
 
-#: commit.c:40 sequencer.c:1579 builtin/am.c:419 builtin/am.c:455
-#: builtin/am.c:1489 builtin/am.c:2126
+#: commit.c:41 sequencer.c:1614 builtin/am.c:421 builtin/am.c:465
+#: builtin/am.c:1434 builtin/am.c:2069
 #, c-format
 msgid "could not parse %s"
 msgstr ""
 
-#: commit.c:42
+#: commit.c:43
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr ""
 
-#: commit.c:1511
+#: commit.c:1524
 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 ""
 
-#: compat/obstack.c:406 compat/obstack.c:408
+#: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr ""
 
-#: config.c:191
+#: config.c:186
 msgid "relative config include conditionals must come from files"
 msgstr ""
 
-#: config.c:711
+#: config.c:720
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr ""
 
-#: config.c:715
+#: config.c:724
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr ""
 
-#: config.c:719
+#: config.c:728
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr ""
 
-#: config.c:723
+#: config.c:732
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr ""
 
-#: config.c:727
+#: config.c:736
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr ""
 
-#: config.c:731
+#: config.c:740
 #, c-format
 msgid "bad config line %d in %s"
 msgstr ""
 
-#: config.c:859
+#: config.c:868
 msgid "out of range"
 msgstr ""
 
-#: config.c:859
+#: config.c:868
 msgid "invalid unit"
 msgstr ""
 
-#: config.c:865
+#: config.c:874
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr ""
 
-#: config.c:870
+#: config.c:879
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 
-#: config.c:873
+#: config.c:882
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 
-#: config.c:876
+#: config.c:885
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 
-#: config.c:879
+#: config.c:888
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 
-#: config.c:882
+#: config.c:891
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 
-#: config.c:885
+#: config.c:894
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 
-#: config.c:980
+#: config.c:989
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr ""
 
-#: config.c:1075 config.c:1086
+#: config.c:998
+#, c-format
+msgid "'%s' for '%s' is not a valid timestamp"
+msgstr ""
+
+#: config.c:1094 config.c:1105
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr ""
 
-#: config.c:1203
+#: config.c:1222
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr ""
 
-#: config.c:1359
+#: config.c:1378
 #, c-format
 msgid "bad pack compression level %d"
 msgstr ""
 
-#: config.c:1557
+#: config.c:1574
 msgid "unable to parse command-line config"
 msgstr ""
 
-#: config.c:1611
+#: config.c:1906
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 
-#: config.c:1970
+#: config.c:2093
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr ""
 
-#: config.c:1991
+#: config.c:2136
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr ""
 
-#: config.c:2017
+#: config.c:2162
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr ""
 
-#: config.c:2028
+#: config.c:2187
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 
-#: config.c:2030
+#: config.c:2189
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 
-#: config.c:2089
+#: config.c:2248
 #, c-format
 msgid "%s has multiple values"
 msgstr ""
 
-#: config.c:2423 config.c:2648
+#: config.c:2591 config.c:2808
 #, c-format
 msgid "fstat on %s failed"
 msgstr ""
 
-#: config.c:2541
+#: config.c:2698
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr ""
 
-#: config.c:2543 builtin/remote.c:774
+#: config.c:2700 builtin/remote.c:776
 #, c-format
 msgid "could not unset '%s'"
 msgstr ""
 
-#: connect.c:49
+#: connect.c:52
 msgid "The remote end hung up upon initial contact"
 msgstr ""
 
-#: connect.c:51
+#: connect.c:54
 msgid ""
 "Could not read from remote repository.\n"
 "\n"
@@ -1314,111 +1355,111 @@ msgid ""
 "and the repository exists."
 msgstr ""
 
-#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
+#: connected.c:64 builtin/fsck.c:183 builtin/prune.c:141
 msgid "Checking connectivity"
 msgstr ""
 
-#: connected.c:75
+#: connected.c:76
 msgid "Could not run 'git rev-list'"
 msgstr ""
 
-#: connected.c:95
+#: connected.c:96
 msgid "failed write to rev-list"
 msgstr ""
 
-#: connected.c:102
+#: connected.c:103
 msgid "failed to close rev-list's stdin"
 msgstr ""
 
-#: convert.c:201
+#: convert.c:205
 #, 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:205
+#: convert.c:209
 #, c-format
 msgid "CRLF would be replaced by LF in %s."
 msgstr ""
 
-#: convert.c:211
+#: convert.c:215
 #, 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:215
+#: convert.c:219
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr ""
 
-#: date.c:97
+#: date.c:116
 msgid "in the future"
 msgstr ""
 
-#: date.c:103
+#: date.c:122
 #, c-format
-msgid "%lu second ago"
-msgid_plural "%lu seconds ago"
+msgid "%<PRIuMAX> second ago"
+msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:110
+#: date.c:129
 #, c-format
-msgid "%lu minute ago"
-msgid_plural "%lu minutes ago"
+msgid "%<PRIuMAX> minute ago"
+msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:117
+#: date.c:136
 #, c-format
-msgid "%lu hour ago"
-msgid_plural "%lu hours ago"
+msgid "%<PRIuMAX> hour ago"
+msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:124
+#: date.c:143
 #, c-format
-msgid "%lu day ago"
-msgid_plural "%lu days ago"
+msgid "%<PRIuMAX> day ago"
+msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:130
+#: date.c:149
 #, c-format
-msgid "%lu week ago"
-msgid_plural "%lu weeks ago"
+msgid "%<PRIuMAX> week ago"
+msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:137
+#: date.c:156
 #, c-format
-msgid "%lu month ago"
-msgid_plural "%lu months ago"
+msgid "%<PRIuMAX> month ago"
+msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:148
+#: date.c:167
 #, c-format
-msgid "%lu year"
-msgid_plural "%lu years"
+msgid "%<PRIuMAX> year"
+msgid_plural "%<PRIuMAX> years"
 msgstr[0] ""
 msgstr[1] ""
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:151
+#: date.c:170
 #, c-format
-msgid "%s, %lu month ago"
-msgid_plural "%s, %lu months ago"
+msgid "%s, %<PRIuMAX> month ago"
+msgid_plural "%s, %<PRIuMAX> months ago"
 msgstr[0] ""
 msgstr[1] ""
 
-#: date.c:156 date.c:161
+#: date.c:175 date.c:180
 #, c-format
-msgid "%lu year ago"
-msgid_plural "%lu years ago"
+msgid "%<PRIuMAX> year ago"
+msgid_plural "%<PRIuMAX> years ago"
 msgstr[0] ""
 msgstr[1] ""
 
@@ -1427,371 +1468,403 @@ msgstr[1] ""
 msgid "failed to read orderfile '%s'"
 msgstr ""
 
-#: diffcore-rename.c:536
+#: diffcore-rename.c:535
 msgid "Performing inexact rename detection"
 msgstr ""
 
-#: diff.c:62
+#: diff.c:74
 #, c-format
 msgid "option '%s' requires a value"
 msgstr ""
 
-#: diff.c:124
+#: diff.c:152
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr ""
 
-#: diff.c:129
+#: diff.c:157
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr ""
 
 #: diff.c:281
+msgid ""
+"color moved setting must be one of 'no', 'default', 'zebra', 'dimmed_zebra', "
+"'plain'"
+msgstr ""
+
+#: diff.c:341
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 
-#: diff.c:344
+#: diff.c:401
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 "%s"
 msgstr ""
 
-#: diff.c:3102
+#: diff.c:3799
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr ""
 
-#: diff.c:3428
+#: diff.c:4127
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 
-#: diff.c:3518
+#: diff.c:4215
 msgid "--follow requires exactly one pathspec"
 msgstr ""
 
-#: diff.c:3681
+#: diff.c:4381
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
 
-#: diff.c:3695
+#: diff.c:4395
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr ""
 
-#: diff.c:4719
+#: diff.c:5446
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 
-#: diff.c:4722
+#: diff.c:5449
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 
-#: diff.c:4725
+#: diff.c:5452
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 
-#: dir.c:1899
+#: dir.c:2100
 msgid "failed to get kernel name and information"
 msgstr ""
 
-#: dir.c:2018
+#: dir.c:2219
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 
-#: dir.c:2776 dir.c:2781
+#: dir.c:3002 dir.c:3007
 #, c-format
 msgid "could not create directories for %s"
 msgstr ""
 
-#: dir.c:2806
+#: dir.c:3032
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr ""
 
-#: entry.c:280
+#: editor.c:61
+#, c-format
+msgid "hint: Waiting for your editor to close the file...%c"
+msgstr ""
+
+#: entry.c:177
+msgid "Filtering content"
+msgstr ""
+
+#: entry.c:435
 #, c-format
 msgid "could not stat file '%s'"
 msgstr ""
 
-#: fetch-pack.c:249
+#: fetch-pack.c:252
 msgid "git fetch-pack: expected shallow list"
 msgstr ""
 
-#: fetch-pack.c:261
+#: fetch-pack.c:264
 msgid "git fetch-pack: expected ACK/NAK, got EOF"
 msgstr ""
 
-#: fetch-pack.c:280 builtin/archive.c:63
+#: fetch-pack.c:283 builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr ""
 
-#: fetch-pack.c:281
+#: fetch-pack.c:284
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr ""
 
-#: fetch-pack.c:333
+#: fetch-pack.c:336
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr ""
 
-#: fetch-pack.c:419
+#: fetch-pack.c:422
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr ""
 
-#: fetch-pack.c:425
+#: fetch-pack.c:428
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr ""
 
-#: fetch-pack.c:427
+#: fetch-pack.c:430
 #, c-format
 msgid "object not found: %s"
 msgstr ""
 
-#: fetch-pack.c:430
+#: fetch-pack.c:433
 #, c-format
 msgid "error in object: %s"
 msgstr ""
 
-#: fetch-pack.c:432
+#: fetch-pack.c:435
 #, c-format
 msgid "no shallow found: %s"
 msgstr ""
 
-#: fetch-pack.c:435
+#: fetch-pack.c:438
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr ""
 
-#: fetch-pack.c:474
+#: fetch-pack.c:477
 #, c-format
 msgid "got %s %d %s"
 msgstr ""
 
-#: fetch-pack.c:488
+#: fetch-pack.c:491
 #, c-format
 msgid "invalid commit %s"
 msgstr ""
 
-#: fetch-pack.c:521
+#: fetch-pack.c:524
 msgid "giving up"
 msgstr ""
 
-#: fetch-pack.c:531 progress.c:235
+#: fetch-pack.c:534 progress.c:229
 msgid "done"
 msgstr ""
 
-#: fetch-pack.c:543
+#: fetch-pack.c:546
 #, c-format
 msgid "got %s (%d) %s"
 msgstr ""
 
-#: fetch-pack.c:589
+#: fetch-pack.c:592
 #, c-format
 msgid "Marking %s as complete"
 msgstr ""
 
-#: fetch-pack.c:737
+#: fetch-pack.c:777
 #, c-format
 msgid "already have %s (%s)"
 msgstr ""
 
-#: fetch-pack.c:775
+#: fetch-pack.c:815
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr ""
 
-#: fetch-pack.c:783
+#: fetch-pack.c:823
 msgid "protocol error: bad pack header"
 msgstr ""
 
-#: fetch-pack.c:839
+#: fetch-pack.c:879
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr ""
 
-#: fetch-pack.c:855
+#: fetch-pack.c:895
 #, c-format
 msgid "%s failed"
 msgstr ""
 
-#: fetch-pack.c:857
+#: fetch-pack.c:897
 msgid "error in sideband demultiplexer"
 msgstr ""
 
-#: fetch-pack.c:884
+#: fetch-pack.c:924
 msgid "Server does not support shallow clients"
 msgstr ""
 
-#: fetch-pack.c:888
+#: fetch-pack.c:928
 msgid "Server supports multi_ack_detailed"
 msgstr ""
 
-#: fetch-pack.c:891
+#: fetch-pack.c:931
 msgid "Server supports no-done"
 msgstr ""
 
-#: fetch-pack.c:897
+#: fetch-pack.c:937
 msgid "Server supports multi_ack"
 msgstr ""
 
-#: fetch-pack.c:901
+#: fetch-pack.c:941
 msgid "Server supports side-band-64k"
 msgstr ""
 
-#: fetch-pack.c:905
+#: fetch-pack.c:945
 msgid "Server supports side-band"
 msgstr ""
 
-#: fetch-pack.c:909
+#: fetch-pack.c:949
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr ""
 
-#: fetch-pack.c:913
+#: fetch-pack.c:953
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr ""
 
-#: fetch-pack.c:923
+#: fetch-pack.c:963
 msgid "Server supports ofs-delta"
 msgstr ""
 
-#: fetch-pack.c:930
+#: fetch-pack.c:970
 #, c-format
 msgid "Server version is %.*s"
 msgstr ""
 
-#: fetch-pack.c:936
+#: fetch-pack.c:976
 msgid "Server does not support --shallow-since"
 msgstr ""
 
-#: fetch-pack.c:940
+#: fetch-pack.c:980
 msgid "Server does not support --shallow-exclude"
 msgstr ""
 
-#: fetch-pack.c:942
+#: fetch-pack.c:982
 msgid "Server does not support --deepen"
 msgstr ""
 
-#: fetch-pack.c:953
+#: fetch-pack.c:993
 msgid "no common commits"
 msgstr ""
 
-#: fetch-pack.c:965
+#: fetch-pack.c:1005
 msgid "git fetch-pack: fetch failed."
 msgstr ""
 
-#: fetch-pack.c:1127
+#: fetch-pack.c:1167
 msgid "no matching remote head"
 msgstr ""
 
-#: fetch-pack.c:1149
+#: fetch-pack.c:1189
 #, c-format
 msgid "no such remote ref %s"
 msgstr ""
 
-#: fetch-pack.c:1152
+#: fetch-pack.c:1192
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr ""
 
-#: gpg-interface.c:185
+#: gpg-interface.c:181
 msgid "gpg failed to sign the data"
 msgstr ""
 
-#: gpg-interface.c:215
+#: gpg-interface.c:211
 msgid "could not create temporary file"
 msgstr ""
 
-#: gpg-interface.c:217
+#: gpg-interface.c:214
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr ""
 
-#: graph.c:96
+#: graph.c:97
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr ""
 
-#: grep.c:1796
+#: grep.c:2017
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr ""
 
-#: grep.c:1813 builtin/clone.c:399 builtin/diff.c:81 builtin/rm.c:133
+#: grep.c:2034 builtin/clone.c:404 builtin/diff.c:81 builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr ""
 
-#: grep.c:1824
+#: grep.c:2045
 #, c-format
 msgid "'%s': short read"
 msgstr ""
 
-#: help.c:218
+#: help.c:179
 #, c-format
 msgid "available git commands in '%s'"
 msgstr ""
 
-#: help.c:225
+#: help.c:186
 msgid "git commands available from elsewhere on your $PATH"
 msgstr ""
 
-#: help.c:256
+#: help.c:217
 msgid "These are common Git commands used in various situations:"
 msgstr ""
 
-#: help.c:321
+#: help.c:281
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr ""
 
-#: help.c:376
+#: help.c:336
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr ""
 
-#: help.c:398
+#: help.c:358
 #, c-format
-msgid ""
-"WARNING: You called a Git command named '%s', which does not exist.\n"
-"Continuing under the assumption that you meant '%s'"
+msgid "WARNING: You called a Git command named '%s', which does not exist."
+msgstr ""
+
+#: help.c:363
+#, c-format
+msgid "Continuing under the assumption that you meant '%s'."
 msgstr ""
 
-#: help.c:403
+#: help.c:368
 #, c-format
-msgid "in %0.1f seconds automatically..."
+msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr ""
 
-#: help.c:410
+#: help.c:376
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr ""
 
-#: help.c:414 help.c:480
+#: help.c:380
 msgid ""
 "\n"
-"Did you mean this?"
+"The most similar command is"
 msgid_plural ""
 "\n"
-"Did you mean one of these?"
+"The most similar commands are"
 msgstr[0] ""
 msgstr[1] ""
 
-#: help.c:476
+#: help.c:395
+msgid "git version [<options>]"
+msgstr ""
+
+#: help.c:462
 #, c-format
 msgid "%s: %s - %s"
 msgstr ""
 
-#: ident.c:343
+#: help.c:466
+msgid ""
+"\n"
+"Did you mean this?"
+msgid_plural ""
+"\n"
+"Did you mean one of these?"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ident.c:342
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -1806,40 +1879,49 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ident.c:367
+#: ident.c:366
 msgid "no email was given and auto-detection is disabled"
 msgstr ""
 
-#: ident.c:372
+#: ident.c:371
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr ""
 
-#: ident.c:382
+#: ident.c:381
 msgid "no name was given and auto-detection is disabled"
 msgstr ""
 
-#: ident.c:388
+#: ident.c:387
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr ""
 
-#: ident.c:396
+#: ident.c:395
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr ""
 
-#: ident.c:402
+#: ident.c:401
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr ""
 
-#: ident.c:417 builtin/commit.c:611
+#: ident.c:416 builtin/commit.c:616
 #, c-format
 msgid "invalid date format: %s"
 msgstr ""
 
-#: lockfile.c:152
+#: list-objects-filter-options.c:30
+msgid "multiple object filter types cannot be combined"
+msgstr ""
+
+#: list-objects-filter-options.c:41 list-objects-filter-options.c:68
+#, c-format
+msgid "invalid filter-spec expression '%s'"
+msgstr ""
+
+#: lockfile.c:151
 #, c-format
 msgid ""
 "Unable to create '%s.lock': %s.\n"
@@ -1851,265 +1933,270 @@ msgid ""
 "remove the file manually to continue."
 msgstr ""
 
-#: lockfile.c:160
+#: lockfile.c:159
 #, c-format
 msgid "Unable to create '%s.lock': %s"
 msgstr ""
 
-#: merge.c:41
+#: merge.c:74
 msgid "failed to read the cache"
 msgstr ""
 
-#: merge.c:96 builtin/am.c:1999 builtin/am.c:2034 builtin/checkout.c:393
-#: builtin/checkout.c:607 builtin/clone.c:749
+#: merge.c:128 builtin/am.c:1943 builtin/am.c:1977 builtin/checkout.c:379
+#: builtin/checkout.c:600 builtin/clone.c:754
 msgid "unable to write new index file"
 msgstr ""
 
-#: merge-recursive.c:209
+#: merge-recursive.c:235
 msgid "(bad commit)\n"
 msgstr ""
 
-#: merge-recursive.c:231 merge-recursive.c:239
+#: merge-recursive.c:257 merge-recursive.c:265
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr ""
 
-#: merge-recursive.c:303
+#: merge-recursive.c:329
 msgid "error building trees"
 msgstr ""
 
-#: merge-recursive.c:727
+#: merge-recursive.c:752
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr ""
 
-#: merge-recursive.c:738
+#: merge-recursive.c:763
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr ""
 
-#: merge-recursive.c:752 merge-recursive.c:771
+#: merge-recursive.c:777 merge-recursive.c:796
 msgid ": perhaps a D/F conflict?"
 msgstr ""
 
-#: merge-recursive.c:761
+#: merge-recursive.c:786
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr ""
 
-#: merge-recursive.c:803 builtin/cat-file.c:34
+#: merge-recursive.c:828 builtin/cat-file.c:37
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:805
+#: merge-recursive.c:830
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:829
+#: merge-recursive.c:854
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:840
+#: merge-recursive.c:865
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:845
+#: merge-recursive.c:870
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:985
+#: merge-recursive.c:1010
 msgid "Failed to execute internal merge"
 msgstr ""
 
-#: merge-recursive.c:989
+#: merge-recursive.c:1014
 #, c-format
 msgid "Unable to add %s to database"
 msgstr ""
 
-#: merge-recursive.c:1092
+#: merge-recursive.c:1117
 #, 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:1097
+#: merge-recursive.c:1122
 #, 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:1104
+#: merge-recursive.c:1129
 #, 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:1109
+#: merge-recursive.c:1134
 #, 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:1143
+#: merge-recursive.c:1168
 msgid "rename"
 msgstr ""
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1168
 msgid "renamed"
 msgstr ""
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1225
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1250
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
 "\"->\"%s\" in \"%s\"%s"
 msgstr ""
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1255
 msgid " (left unresolved)"
 msgstr ""
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1317
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1350
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr ""
 
-#: merge-recursive.c:1528
+#: merge-recursive.c:1553
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 
-#: merge-recursive.c:1543
+#: merge-recursive.c:1568
 #, c-format
 msgid "Adding merged %s"
 msgstr ""
 
-#: merge-recursive.c:1550 merge-recursive.c:1780
+#: merge-recursive.c:1575 merge-recursive.c:1805
 #, c-format
 msgid "Adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1607
+#: merge-recursive.c:1632
 #, c-format
 msgid "cannot read object %s"
 msgstr ""
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1635
 #, c-format
 msgid "object %s is not a blob"
 msgstr ""
 
-#: merge-recursive.c:1679
+#: merge-recursive.c:1704
 msgid "modify"
 msgstr ""
 
-#: merge-recursive.c:1679
+#: merge-recursive.c:1704
 msgid "modified"
 msgstr ""
 
-#: merge-recursive.c:1689
+#: merge-recursive.c:1714
 msgid "content"
 msgstr ""
 
-#: merge-recursive.c:1696
+#: merge-recursive.c:1721
 msgid "add/add"
 msgstr ""
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1757
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr ""
 
-#: merge-recursive.c:1746
+#: merge-recursive.c:1771
 #, c-format
 msgid "Auto-merging %s"
 msgstr ""
 
-#: merge-recursive.c:1750 git-submodule.sh:944
+#: merge-recursive.c:1775 git-submodule.sh:932
 msgid "submodule"
 msgstr ""
 
-#: merge-recursive.c:1751
+#: merge-recursive.c:1776
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:1845
+#: merge-recursive.c:1870
 #, c-format
 msgid "Removing %s"
 msgstr ""
 
-#: merge-recursive.c:1871
+#: merge-recursive.c:1896
 msgid "file/directory"
 msgstr ""
 
-#: merge-recursive.c:1877
+#: merge-recursive.c:1902
 msgid "directory/file"
 msgstr ""
 
-#: merge-recursive.c:1883
+#: merge-recursive.c:1909
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 
-#: merge-recursive.c:1892
+#: merge-recursive.c:1918
 #, c-format
 msgid "Adding %s"
 msgstr ""
 
-#: merge-recursive.c:1929
-msgid "Already up-to-date!"
+#: merge-recursive.c:1958
+#, c-format
+msgid "Dirty index: cannot merge (dirty: %s)"
+msgstr ""
+
+#: merge-recursive.c:1962
+msgid "Already up to date!"
 msgstr ""
 
-#: merge-recursive.c:1938
+#: merge-recursive.c:1971
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr ""
 
-#: merge-recursive.c:2021
+#: merge-recursive.c:2068
 msgid "Merging:"
 msgstr ""
 
-#: merge-recursive.c:2034
+#: merge-recursive.c:2081
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: merge-recursive.c:2073
+#: merge-recursive.c:2120
 msgid "merge returned no commit"
 msgstr ""
 
-#: merge-recursive.c:2136
+#: merge-recursive.c:2183
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr ""
 
-#: merge-recursive.c:2150 builtin/merge.c:645 builtin/merge.c:792
+#: merge-recursive.c:2197 builtin/merge.c:656 builtin/merge.c:815
 msgid "Unable to write index."
 msgstr ""
 
-#: notes-merge.c:273
+#: notes-merge.c:272
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -2117,59 +2204,76 @@ msgid ""
 "commit/abort the previous merge before you start a new notes merge."
 msgstr ""
 
-#: notes-merge.c:280
+#: notes-merge.c:279
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr ""
 
-#: notes-utils.c:41
+#: notes-utils.c:42
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr ""
 
-#: notes-utils.c:100
+#: notes-utils.c:101
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr ""
 
-#: notes-utils.c:110
+#: notes-utils.c:111
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr ""
 
-#. TRANSLATORS: The first %s is the name of the
-#. environment variable, the second %s is its value
-#: notes-utils.c:137
+#. TRANSLATORS: The first %s is the name of
+#. the environment variable, the second %s is
+#. its value.
+#.
+#: notes-utils.c:141
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr ""
 
-#: object.c:240
+#: object.c:239
 #, c-format
 msgid "unable to parse object: %s"
 msgstr ""
 
-#: parse-options.c:572
+#: packfile.c:556
+msgid "offset before end of packfile (broken .idx?)"
+msgstr ""
+
+#: packfile.c:1683
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr ""
+
+#: packfile.c:1687
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+
+#: parse-options.c:573
 msgid "..."
 msgstr ""
 
-#: parse-options.c:590
+#: parse-options.c:592
 #, c-format
 msgid "usage: %s"
 msgstr ""
 
 #. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation
-#: parse-options.c:594
+#. one in "usage: %s" translation.
+#.
+#: parse-options.c:598
 #, c-format
 msgid "   or: %s"
 msgstr ""
 
-#: parse-options.c:597
+#: parse-options.c:601
 #, c-format
 msgid "    %s"
 msgstr ""
 
-#: parse-options.c:631
+#: parse-options.c:640
 msgid "-NUM"
 msgstr ""
 
@@ -2178,151 +2282,146 @@ msgstr ""
 msgid "malformed object name '%s'"
 msgstr ""
 
-#: path.c:810
+#: path.c:891
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr ""
 
-#: pathspec.c:125
+#: pathspec.c:129
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 
-#: pathspec.c:143
+#: pathspec.c:147
 msgid "Only one 'attr:' specification is allowed."
 msgstr ""
 
-#: pathspec.c:146
+#: pathspec.c:150
 msgid "attr spec must not be empty"
 msgstr ""
 
-#: pathspec.c:189
+#: pathspec.c:193
 #, c-format
 msgid "invalid attribute name %s"
 msgstr ""
 
-#: pathspec.c:254
+#: pathspec.c:258
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 
-#: pathspec.c:261
+#: pathspec.c:265
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr ""
 
-#: pathspec.c:301
+#: pathspec.c:305
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr ""
 
-#: pathspec.c:322
+#: pathspec.c:326
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr ""
 
-#: pathspec.c:327
+#: pathspec.c:331
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr ""
 
-#: pathspec.c:365
+#: pathspec.c:369
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr ""
 
-#: pathspec.c:421 pathspec.c:443
-#, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: pathspec.c:483
+#: pathspec.c:428
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr ""
 
-#: pathspec.c:496
+#: pathspec.c:441
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr ""
 
-#: pathspec.c:584
+#: pathspec.c:515
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr ""
 
-#: pathspec.c:594
+#: pathspec.c:525
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 
-#: pathspec.c:644
-msgid ""
-"empty strings as pathspecs will be made invalid in upcoming releases. please "
-"use . instead if you meant to match all paths"
-msgstr ""
-
-#: pathspec.c:668
+#: pathspec.c:592
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr ""
 
-#: pretty.c:982
+#: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr ""
 
-#: read-cache.c:1442
+#: read-cache.c:1472
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:1452
+#: read-cache.c:1482
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:2375 sequencer.c:1350 sequencer.c:2048
+#: read-cache.c:2370 sequencer.c:2731 wrapper.c:658 builtin/merge.c:1048
+#, c-format
+msgid "could not close '%s'"
+msgstr ""
+
+#: read-cache.c:2442 sequencer.c:1369 sequencer.c:2096
 #, c-format
 msgid "could not stat '%s'"
 msgstr ""
 
-#: read-cache.c:2388
+#: read-cache.c:2455
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr ""
 
-#: read-cache.c:2400
+#: read-cache.c:2467
 #, c-format
 msgid "unable to unlink: %s"
 msgstr ""
 
-#: refs.c:620 builtin/merge.c:844
+#: refs.c:706
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr ""
 
-#: refs.c:1667
+#: refs.c:1850
 msgid "ref updates forbidden inside quarantine environment"
 msgstr ""
 
-#: refs/files-backend.c:1631
+#: refs/files-backend.c:1189
 #, c-format
-msgid "could not delete reference %s: %s"
+msgid "could not remove reference %s"
 msgstr ""
 
-#: refs/files-backend.c:1634
+#: refs/files-backend.c:1203 refs/packed-backend.c:1524
+#: refs/packed-backend.c:1534
 #, c-format
-msgid "could not delete references: %s"
+msgid "could not delete reference %s: %s"
 msgstr ""
 
-#: refs/files-backend.c:1643
+#: refs/files-backend.c:1206 refs/packed-backend.c:1537
 #, c-format
-msgid "could not remove reference %s"
+msgid "could not delete references: %s"
 msgstr ""
 
-#: ref-filter.c:35 wt-status.c:1780
+#: ref-filter.c:35 wt-status.c:1816
 msgid "gone"
 msgstr ""
 
@@ -2341,301 +2440,303 @@ msgstr ""
 msgid "ahead %d, behind %d"
 msgstr ""
 
-#: ref-filter.c:104
+#: ref-filter.c:107
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr ""
 
-#: ref-filter.c:106
+#: ref-filter.c:109
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr ""
 
-#: ref-filter.c:120
+#: ref-filter.c:129
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr ""
 
-#: ref-filter.c:124
+#: ref-filter.c:133
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr ""
 
-#: ref-filter.c:126
+#: ref-filter.c:135
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr ""
 
-#: ref-filter.c:166
+#: ref-filter.c:184
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:173
+#: ref-filter.c:191
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:180
+#: ref-filter.c:209
 #, c-format
-msgid "%%(trailers) does not take arguments"
+msgid "unknown %%(trailers) argument: %s"
 msgstr ""
 
-#: ref-filter.c:199
+#: ref-filter.c:232
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr ""
 
-#: ref-filter.c:201
+#: ref-filter.c:234
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr ""
 
-#: ref-filter.c:214
+#: ref-filter.c:247
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr ""
 
-#: ref-filter.c:218
+#: ref-filter.c:251
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr ""
 
-#: ref-filter.c:245
+#: ref-filter.c:278
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr ""
 
-#: ref-filter.c:257
+#: ref-filter.c:290
 #, c-format
 msgid "unrecognized position:%s"
 msgstr ""
 
-#: ref-filter.c:261
+#: ref-filter.c:294
 #, c-format
 msgid "unrecognized width:%s"
 msgstr ""
 
-#: ref-filter.c:267
+#: ref-filter.c:300
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr ""
 
-#: ref-filter.c:271
+#: ref-filter.c:304
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr ""
 
-#: ref-filter.c:286
+#: ref-filter.c:319
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr ""
 
-#: ref-filter.c:371
+#: ref-filter.c:409
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:397
+#: ref-filter.c:435
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:501
+#: ref-filter.c:547
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr ""
 
-#: ref-filter.c:561
+#: ref-filter.c:607
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr ""
 
-#: ref-filter.c:563
+#: ref-filter.c:609
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr ""
 
-#: ref-filter.c:565
+#: ref-filter.c:611
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr ""
 
-#: ref-filter.c:591
+#: ref-filter.c:637
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr ""
 
-#: ref-filter.c:593
+#: ref-filter.c:639
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr ""
 
-#: ref-filter.c:595
+#: ref-filter.c:641
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr ""
 
-#: ref-filter.c:608
+#: ref-filter.c:654
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr ""
 
-#: ref-filter.c:663
+#: ref-filter.c:709
 #, c-format
 msgid "malformed format string %s"
 msgstr ""
 
-#: ref-filter.c:1247
+#: ref-filter.c:1313
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr ""
 
-#: ref-filter.c:1250
+#: ref-filter.c:1316
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr ""
 
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached at " in wt-status.c
-#: ref-filter.c:1256
+#. TRANSLATORS: make sure this matches "HEAD
+#. detached at " in wt-status.c
+#.
+#: ref-filter.c:1324
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr ""
 
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached from " in wt-status.c
-#: ref-filter.c:1261
+#. TRANSLATORS: make sure this matches "HEAD
+#. detached from " in wt-status.c
+#.
+#: ref-filter.c:1331
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr ""
 
-#: ref-filter.c:1265
+#: ref-filter.c:1335
 msgid "(no branch)"
 msgstr ""
 
-#: ref-filter.c:1420 ref-filter.c:1451
+#: ref-filter.c:1488 ref-filter.c:1519
 #, c-format
 msgid "missing object %s for %s"
 msgstr ""
 
-#: ref-filter.c:1423 ref-filter.c:1454
+#: ref-filter.c:1491 ref-filter.c:1522
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr ""
 
-#: ref-filter.c:1692
+#: ref-filter.c:1822
 #, c-format
 msgid "malformed object at '%s'"
 msgstr ""
 
-#: ref-filter.c:1759
+#: ref-filter.c:1889
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr ""
 
-#: ref-filter.c:1764
+#: ref-filter.c:1894
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr ""
 
-#: ref-filter.c:2028
+#: ref-filter.c:2156
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr ""
 
-#: ref-filter.c:2109
+#: ref-filter.c:2250
 #, c-format
 msgid "malformed object name %s"
 msgstr ""
 
-#: remote.c:754
+#: remote.c:780
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr ""
 
-#: remote.c:758
+#: remote.c:784
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr ""
 
-#: remote.c:762
+#: remote.c:788
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr ""
 
-#: remote.c:770
+#: remote.c:796
 msgid "Internal error"
 msgstr ""
 
-#: remote.c:1685 remote.c:1787
+#: remote.c:1711 remote.c:1813
 msgid "HEAD does not point to a branch"
 msgstr ""
 
-#: remote.c:1694
+#: remote.c:1720
 #, c-format
 msgid "no such branch: '%s'"
 msgstr ""
 
-#: remote.c:1697
+#: remote.c:1723
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr ""
 
-#: remote.c:1703
+#: remote.c:1729
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 
-#: remote.c:1718
+#: remote.c:1744
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 
-#: remote.c:1730
+#: remote.c:1756
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr ""
 
-#: remote.c:1741
+#: remote.c:1767
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr ""
 
-#: remote.c:1754
+#: remote.c:1780
 msgid "push has no destination (push.default is 'nothing')"
 msgstr ""
 
-#: remote.c:1776
+#: remote.c:1802
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 
-#: remote.c:2081
+#: remote.c:2106
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 
-#: remote.c:2085
+#: remote.c:2110
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr ""
 
-#: remote.c:2088
+#: remote.c:2113
 #, c-format
-msgid "Your branch is up-to-date with '%s'.\n"
+msgid "Your branch is up to date with '%s'.\n"
 msgstr ""
 
-#: remote.c:2092
+#: remote.c:2117
 #, 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:2098
+#: remote.c:2123
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr ""
 
-#: remote.c:2101
+#: remote.c:2126
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2643,11 +2744,11 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2109
+#: remote.c:2134
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr ""
 
-#: remote.c:2112
+#: remote.c:2137
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2658,151 +2759,154 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2122
+#: remote.c:2147
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 
-#: revision.c:2158
+#: revision.c:2268
 msgid "your current branch appears to be broken"
 msgstr ""
 
-#: revision.c:2161
+#: revision.c:2271
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr ""
 
-#: revision.c:2355
+#: revision.c:2465
 msgid "--first-parent is incompatible with --bisect"
 msgstr ""
 
-#: run-command.c:125
+#: run-command.c:645
 msgid "open /dev/null failed"
 msgstr ""
 
-#: run-command.c:127
+#: run-command.c:1188
 #, c-format
-msgid "dup2(%d,%d) failed"
+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:150
+#: send-pack.c:141
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr ""
 
-#: send-pack.c:152
+#: send-pack.c:143
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr ""
 
-#: send-pack.c:315
+#: send-pack.c:306
 msgid "failed to sign the push certificate"
 msgstr ""
 
-#: send-pack.c:428
+#: send-pack.c:419
 msgid "the receiving end does not support --signed push"
 msgstr ""
 
-#: send-pack.c:430
+#: send-pack.c:421
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr ""
 
-#: send-pack.c:442
+#: send-pack.c:433
 msgid "the receiving end does not support --atomic push"
 msgstr ""
 
-#: send-pack.c:447
+#: send-pack.c:438
 msgid "the receiving end does not support push options"
 msgstr ""
 
-#: sequencer.c:215
+#: sequencer.c:218
 msgid "revert"
 msgstr ""
 
-#: sequencer.c:217
+#: sequencer.c:220
 msgid "cherry-pick"
 msgstr ""
 
-#: sequencer.c:219
+#: sequencer.c:222
 msgid "rebase -i"
 msgstr ""
 
-#: sequencer.c:221
+#: sequencer.c:224
 #, c-format
 msgid "Unknown action: %d"
 msgstr ""
 
-#: sequencer.c:278
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
 
-#: sequencer.c:281
+#: sequencer.c:284
 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:294 sequencer.c:1682
+#: sequencer.c:297 sequencer.c:1718
 #, c-format
 msgid "could not lock '%s'"
 msgstr ""
 
-#: sequencer.c:297 sequencer.c:1560 sequencer.c:1687 sequencer.c:1701
+#: sequencer.c:300 sequencer.c:1595 sequencer.c:1723 sequencer.c:1737
+#: sequencer.c:2729 sequencer.c:2800 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr ""
 
-#: sequencer.c:301
+#: sequencer.c:304
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr ""
 
-#: sequencer.c:305 sequencer.c:1565 sequencer.c:1689
+#: sequencer.c:308 sequencer.c:1600 sequencer.c:1725
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr ""
 
-#: sequencer.c:329 sequencer.c:814 sequencer.c:1586 builtin/am.c:257
-#: builtin/commit.c:749 builtin/merge.c:1018
+#: sequencer.c:332 sequencer.c:829 sequencer.c:1621 builtin/am.c:259
+#: builtin/commit.c:754 builtin/merge.c:1046
 #, c-format
 msgid "could not read '%s'"
 msgstr ""
 
-#: sequencer.c:355
+#: sequencer.c:358
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr ""
 
-#: sequencer.c:359
+#: sequencer.c:362
 msgid "commit your changes or stash them to proceed."
 msgstr ""
 
-#: sequencer.c:388
+#: sequencer.c:391
 #, c-format
 msgid "%s: fast-forward"
 msgstr ""
 
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase -i".
+#. "rebase -i".
 #.
-#: sequencer.c:470
+#: sequencer.c:477
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr ""
 
-#: sequencer.c:489
-msgid "could not resolve HEAD commit\n"
+#: sequencer.c:496
+msgid "could not resolve HEAD commit"
 msgstr ""
 
-#: sequencer.c:509
-msgid "unable to update cache tree\n"
+#: sequencer.c:516
+msgid "unable to update cache tree"
 msgstr ""
 
-#: sequencer.c:592
+#: sequencer.c:600
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2819,17 +2923,17 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:694
+#: sequencer.c:702
 #, c-format
-msgid "could not parse commit %s\n"
+msgid "could not parse commit %s"
 msgstr ""
 
-#: sequencer.c:699
+#: sequencer.c:707
 #, c-format
-msgid "could not parse parent commit %s\n"
+msgid "could not parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:821
+#: sequencer.c:836
 #, c-format
 msgid ""
 "unexpected 1st line of squash message:\n"
@@ -2837,7 +2941,7 @@ msgid ""
 "\t%.*s"
 msgstr ""
 
-#: sequencer.c:827
+#: sequencer.c:842
 #, c-format
 msgid ""
 "invalid 1st line of squash message:\n"
@@ -2845,229 +2949,240 @@ msgid ""
 "\t%.*s"
 msgstr ""
 
-#: sequencer.c:833 sequencer.c:858
+#: sequencer.c:848 sequencer.c:873
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr ""
 
-#: sequencer.c:842
+#: sequencer.c:857 sequencer.c:2748
 msgid "need a HEAD to fixup"
 msgstr ""
 
-#: sequencer.c:844
+#: sequencer.c:859
 msgid "could not read HEAD"
 msgstr ""
 
-#: sequencer.c:846
+#: sequencer.c:861
 msgid "could not read HEAD's commit message"
 msgstr ""
 
-#: sequencer.c:852
+#: sequencer.c:867
 #, c-format
 msgid "cannot write '%s'"
 msgstr ""
 
-#: sequencer.c:861 git-rebase--interactive.sh:445
+#: sequencer.c:876 git-rebase--interactive.sh:446
 msgid "This is the 1st commit message:"
 msgstr ""
 
-#: sequencer.c:869
+#: sequencer.c:884
 #, c-format
 msgid "could not read commit message of %s"
 msgstr ""
 
-#: sequencer.c:876
+#: sequencer.c:891
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr ""
 
-#: sequencer.c:881
+#: sequencer.c:896
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr ""
 
-#: sequencer.c:886
+#: sequencer.c:901
 #, c-format
 msgid "unknown command: %d"
 msgstr ""
 
-#: sequencer.c:952
+#: sequencer.c:967
 msgid "your index file is unmerged."
 msgstr ""
 
-#: sequencer.c:970
+#: sequencer.c:986
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr ""
 
-#: sequencer.c:978
+#: sequencer.c:994
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr ""
 
-#: sequencer.c:982
+#: sequencer.c:998
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 
-#: sequencer.c:988
+#: sequencer.c:1004
 #, 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:1009
+#: sequencer.c:1023
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:1071 sequencer.c:1827
+#: sequencer.c:1086 sequencer.c:1867
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:1122
+#: sequencer.c:1137
 #, c-format
 msgid "could not revert %s... %s"
 msgstr ""
 
-#: sequencer.c:1123
+#: sequencer.c:1138
 #, c-format
 msgid "could not apply %s... %s"
 msgstr ""
 
-#: sequencer.c:1165
+#: sequencer.c:1180
 msgid "empty commit set passed"
 msgstr ""
 
-#: sequencer.c:1175
+#: sequencer.c:1190
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr ""
 
-#: sequencer.c:1182
+#: sequencer.c:1196
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr ""
 
-#: sequencer.c:1303
+#: sequencer.c:1270
+#, c-format
+msgid "%s does not accept arguments: '%s'"
+msgstr ""
+
+#: sequencer.c:1279
+#, c-format
+msgid "missing arguments for %s"
+msgstr ""
+
+#: sequencer.c:1322
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr ""
 
-#: sequencer.c:1311
+#: sequencer.c:1330
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr ""
 
-#: sequencer.c:1344
+#: sequencer.c:1363 sequencer.c:2525 sequencer.c:2560 sequencer.c:2642
+#: sequencer.c:2668 sequencer.c:2758 sequencer.c:2859
 #, c-format
 msgid "could not read '%s'."
 msgstr ""
 
-#: sequencer.c:1356
+#: sequencer.c:1375
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: sequencer.c:1358
+#: sequencer.c:1377
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:1363
+#: sequencer.c:1382
 msgid "no commits parsed."
 msgstr ""
 
-#: sequencer.c:1374
+#: sequencer.c:1393
 msgid "cannot cherry-pick during a revert."
 msgstr ""
 
-#: sequencer.c:1376
+#: sequencer.c:1395
 msgid "cannot revert during a cherry-pick."
 msgstr ""
 
-#: sequencer.c:1439
+#: sequencer.c:1462
 #, c-format
 msgid "invalid key: %s"
 msgstr ""
 
-#: sequencer.c:1442
+#: sequencer.c:1465
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr ""
 
-#: sequencer.c:1499
+#: sequencer.c:1531
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:1537
+#: sequencer.c:1569
 msgid "a cherry-pick or revert is already in progress"
 msgstr ""
 
-#: sequencer.c:1538
+#: sequencer.c:1570
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr ""
 
-#: sequencer.c:1541
+#: sequencer.c:1573
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr ""
 
-#: sequencer.c:1555
+#: sequencer.c:1588
 msgid "could not lock HEAD"
 msgstr ""
 
-#: sequencer.c:1611 sequencer.c:2181
+#: sequencer.c:1646 sequencer.c:2230
 msgid "no cherry-pick or revert in progress"
 msgstr ""
 
-#: sequencer.c:1613
+#: sequencer.c:1648
 msgid "cannot resolve HEAD"
 msgstr ""
 
-#: sequencer.c:1615 sequencer.c:1649
+#: sequencer.c:1650 sequencer.c:1685
 msgid "cannot abort from a branch yet to be born"
 msgstr ""
 
-#: sequencer.c:1635 builtin/grep.c:910
+#: sequencer.c:1671 builtin/grep.c:713
 #, c-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: sequencer.c:1637
+#: sequencer.c:1673
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr ""
 
-#: sequencer.c:1638
+#: sequencer.c:1674
 msgid "unexpected end of file"
 msgstr ""
 
-#: sequencer.c:1644
+#: sequencer.c:1680
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr ""
 
-#: sequencer.c:1655
+#: sequencer.c:1691
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 
-#: sequencer.c:1792 sequencer.c:2080
+#: sequencer.c:1832 sequencer.c:2128
 msgid "cannot read HEAD"
 msgstr ""
 
-#: sequencer.c:1832 builtin/difftool.c:616
+#: sequencer.c:1872 builtin/difftool.c:639
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:1848
+#: sequencer.c:1891
 msgid "could not read index"
 msgstr ""
 
-#: sequencer.c:1853
+#: sequencer.c:1896
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3077,11 +3192,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:1859
+#: sequencer.c:1902
 msgid "and made changes to the index and/or the working tree\n"
 msgstr ""
 
-#: sequencer.c:1865
+#: sequencer.c:1908
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3092,17 +3207,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:1920 git-rebase.sh:169
+#: sequencer.c:1967
 #, c-format
-msgid "Applied autostash."
+msgid "Applied autostash.\n"
 msgstr ""
 
-#: sequencer.c:1932
+#: sequencer.c:1979
 #, c-format
 msgid "cannot store %s"
 msgstr ""
 
-#: sequencer.c:1934 git-rebase.sh:173
+#: sequencer.c:1982 git-rebase.sh:175
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3110,89 +3225,149 @@ msgid ""
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
 
-#: sequencer.c:2016
+#: sequencer.c:2064
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr ""
 
-#: sequencer.c:2058
+#: sequencer.c:2106
 #, c-format
 msgid "unknown command %d"
 msgstr ""
 
-#: sequencer.c:2088
+#: sequencer.c:2136
 msgid "could not read orig-head"
 msgstr ""
 
-#: sequencer.c:2092
+#: sequencer.c:2141 sequencer.c:2745
 msgid "could not read 'onto'"
 msgstr ""
 
-#: sequencer.c:2099
+#: sequencer.c:2148
 #, c-format
 msgid "could not update %s"
 msgstr ""
 
-#: sequencer.c:2106
+#: sequencer.c:2155
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr ""
 
-#: sequencer.c:2190
+#: sequencer.c:2239
 msgid "cannot rebase: You have unstaged changes."
 msgstr ""
 
-#: sequencer.c:2195
+#: sequencer.c:2244
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: sequencer.c:2204
+#: sequencer.c:2253
 msgid "cannot amend non-existing commit"
 msgstr ""
 
-#: sequencer.c:2206
+#: sequencer.c:2255
 #, c-format
 msgid "invalid file: '%s'"
 msgstr ""
 
-#: sequencer.c:2208
+#: sequencer.c:2257
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr ""
 
-#: sequencer.c:2211
+#: sequencer.c:2260
 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:2221
+#: sequencer.c:2270
 msgid "could not commit staged changes."
 msgstr ""
 
-#: sequencer.c:2301
+#: sequencer.c:2350
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr ""
 
-#: sequencer.c:2305
+#: sequencer.c:2354
 #, c-format
 msgid "%s: bad revision"
 msgstr ""
 
-#: sequencer.c:2338
+#: sequencer.c:2387
 msgid "can't revert as initial commit"
 msgstr ""
 
-#: setup.c:165
+#: sequencer.c:2492
+msgid "make_script: unhandled options"
+msgstr ""
+
+#: sequencer.c:2495
+msgid "make_script: error preparing revisions"
+msgstr ""
+
+#: sequencer.c:2529 sequencer.c:2564
+#, c-format
+msgid "unusable todo list: '%s'"
+msgstr ""
+
+#: sequencer.c:2615
+#, c-format
+msgid ""
+"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
+msgstr ""
+
+#: sequencer.c:2695
+#, c-format
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):\n"
+msgstr ""
+
+#: sequencer.c:2702
+#, c-format
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error.\n"
+"\n"
+msgstr ""
+
+#: sequencer.c:2714
+#, c-format
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'.\n"
+"Or you can abort the rebase with 'git rebase --abort'.\n"
+msgstr ""
+
+#: sequencer.c:2727 sequencer.c:2794 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:779
+#, c-format
+msgid "could not open '%s' for writing"
+msgstr ""
+
+#: sequencer.c:2775
+#, c-format
+msgid "could not parse commit '%s'"
+msgstr ""
+
+#: sequencer.c:2897
+msgid "the script was already rearranged."
+msgstr ""
+
+#: setup.c:171
 #, 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:178
+#: setup.c:184
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -3200,7 +3375,7 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:228
+#: setup.c:252
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -3208,96 +3383,82 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:475
+#: setup.c:501
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr ""
 
-#: setup.c:483
+#: setup.c:509
 msgid "unknown repository extensions found:"
 msgstr ""
 
-#: setup.c:776
+#: setup.c:811
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr ""
 
-#: setup.c:778 builtin/index-pack.c:1646
+#: setup.c:813 builtin/index-pack.c:1653
 msgid "Cannot come back to cwd"
 msgstr ""
 
-#: setup.c:1010
+#: setup.c:1052
 msgid "Unable to read current working directory"
 msgstr ""
 
-#: setup.c:1022 setup.c:1028
+#: setup.c:1064 setup.c:1070
 #, c-format
 msgid "Cannot change to '%s'"
 msgstr ""
 
-#: setup.c:1041
+#: setup.c:1083
 #, 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:1106
+#: setup.c:1167
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
 "The owner of files must always have read and write permissions."
 msgstr ""
 
-#: sha1_file.c:559
+#: sha1_file.c:598
 #, c-format
 msgid "path '%s' does not exist"
 msgstr ""
 
-#: sha1_file.c:585
+#: sha1_file.c:624
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 
-#: sha1_file.c:591
+#: sha1_file.c:630
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr ""
 
-#: sha1_file.c:597
+#: sha1_file.c:636
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 
-#: sha1_file.c:605
+#: sha1_file.c:644
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 
-#: sha1_file.c:1245
-msgid "offset before end of packfile (broken .idx?)"
-msgstr ""
-
-#: sha1_file.c:2721
-#, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr ""
-
-#: sha1_file.c:2725
-#, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
-
-#: sha1_name.c:409
+#: sha1_name.c:422
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr ""
 
-#: sha1_name.c:420
+#: sha1_name.c:433
 msgid "The candidates are:"
 msgstr ""
 
-#: sha1_name.c:580
+#: sha1_name.c:693
 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"
@@ -3310,71 +3471,86 @@ msgid ""
 "running \"git config advice.objectNameWarning false\""
 msgstr ""
 
-#: submodule.c:67 submodule.c:101
+#: submodule.c:96 submodule.c:130
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 
-#: submodule.c:71 submodule.c:105
+#: submodule.c:100 submodule.c:134
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr ""
 
-#: submodule.c:79
+#: submodule.c:108
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr ""
 
-#: submodule.c:112
+#: submodule.c:141
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr ""
 
-#: submodule.c:123
+#: submodule.c:152
 msgid "staging updated .gitmodules failed"
 msgstr ""
 
-#: submodule.c:161
-msgid "negative values not allowed for submodule.fetchJobs"
+#: submodule.c:312
+#, c-format
+msgid "in unpopulated submodule '%s'"
+msgstr ""
+
+#: submodule.c:343
+#, c-format
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr ""
+
+#: submodule.c:833
+#, c-format
+msgid "submodule entry '%s' (%s) is a %s, not a commit"
+msgstr ""
+
+#: submodule.c:1065 builtin/branch.c:648 builtin/submodule--helper.c:1387
+msgid "Failed to resolve HEAD as a valid ref."
 msgstr ""
 
-#: submodule.c:1194
+#: submodule.c:1370
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr ""
 
-#: submodule.c:1332
+#: submodule.c:1508
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1345
+#: submodule.c:1521
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1421
+#: submodule.c:1614
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr ""
 
-#: submodule.c:1678
+#: submodule.c:1876
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr ""
 
-#: submodule.c:1690 submodule.c:1746
+#: submodule.c:1888 submodule.c:1944
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr ""
 
-#: submodule.c:1694 builtin/submodule--helper.c:678
-#: builtin/submodule--helper.c:688
+#: submodule.c:1892 builtin/submodule--helper.c:909
+#: builtin/submodule--helper.c:919
 #, c-format
 msgid "could not create directory '%s'"
 msgstr ""
 
-#: submodule.c:1697
+#: submodule.c:1895
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -3382,101 +3558,105 @@ msgid ""
 "'%s'\n"
 msgstr ""
 
-#: submodule.c:1781
+#: submodule.c:1979
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr ""
 
-#: submodule.c:1825
+#: submodule.c:2023
 msgid "could not start ls-files in .."
 msgstr ""
 
-#: submodule.c:1845
+#: submodule.c:2043
 msgid "BUG: returned path string doesn't match cwd?"
 msgstr ""
 
-#: submodule.c:1864
+#: submodule.c:2062
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr ""
 
-#: submodule-config.c:380
+#: submodule-config.c:263
+msgid "negative values not allowed for submodule.fetchjobs"
+msgstr ""
+
+#: submodule-config.c:436
 #, c-format
 msgid "invalid value for %s"
 msgstr ""
 
-#: trailer.c:240
+#: trailer.c:238
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr ""
 
-#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
-#: trailer.c:543
+#: trailer.c:485 trailer.c:490 trailer.c:495 trailer.c:549 trailer.c:553
+#: trailer.c:557
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr ""
 
-#: trailer.c:525 trailer.c:530 builtin/remote.c:289
+#: trailer.c:539 trailer.c:544 builtin/remote.c:290
 #, c-format
 msgid "more than one %s"
 msgstr ""
 
-#: trailer.c:702
+#: trailer.c:730
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr ""
 
-#: trailer.c:722
+#: trailer.c:750
 #, c-format
 msgid "could not read input file '%s'"
 msgstr ""
 
-#: trailer.c:725
+#: trailer.c:753
 msgid "could not read from stdin"
 msgstr ""
 
-#: trailer.c:949 builtin/am.c:44
+#: trailer.c:1008 builtin/am.c:46
 #, c-format
 msgid "could not stat %s"
 msgstr ""
 
-#: trailer.c:951
+#: trailer.c:1010
 #, c-format
 msgid "file %s is not a regular file"
 msgstr ""
 
-#: trailer.c:953
+#: trailer.c:1012
 #, c-format
 msgid "file %s is not writable by user"
 msgstr ""
 
-#: trailer.c:965
+#: trailer.c:1024
 msgid "could not open temporary file"
 msgstr ""
 
-#: trailer.c:1001
+#: trailer.c:1064
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr ""
 
-#: transport.c:62
+#: transport.c:63
 #, c-format
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr ""
 
-#: transport.c:151
+#: transport.c:152
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr ""
 
-#: transport.c:889
+#: transport.c:904
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr ""
 
-#: transport.c:893
+#: transport.c:908
 #, c-format
 msgid ""
 "\n"
@@ -3492,11 +3672,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: transport.c:901
+#: transport.c:916
 msgid "Aborting."
 msgstr ""
 
-#: transport-helper.c:1080
+#: transport-helper.c:1074
 #, c-format
 msgid "Could not read ref %s"
 msgstr ""
@@ -3513,102 +3693,102 @@ msgstr ""
 msgid "empty filename in tree entry"
 msgstr ""
 
-#: tree-walk.c:113
+#: tree-walk.c:114
 msgid "too-short tree file"
 msgstr ""
 
-#: unpack-trees.c:104
+#: unpack-trees.c:107
 #, 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:106
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:109
+#: unpack-trees.c:112
 #, 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:111
+#: unpack-trees.c:114
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:114
+#: unpack-trees.c:117
 #, 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:116
+#: unpack-trees.c:119
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:121
+#: unpack-trees.c:124
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:125
+#: unpack-trees.c:128
 #, 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:127
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:130
+#: unpack-trees.c:133
 #, 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:132
+#: unpack-trees.c:135
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:135
+#: unpack-trees.c:138
 #, 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:137
+#: unpack-trees.c:140
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:142
+#: unpack-trees.c:145
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3616,7 +3796,7 @@ msgid ""
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:144
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3624,47 +3804,47 @@ msgid ""
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:147
+#: unpack-trees.c:150
 #, 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:149
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:152
+#: unpack-trees.c:155
 #, 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:154
+#: unpack-trees.c:157
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:161
+#: unpack-trees.c:164
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr ""
 
-#: unpack-trees.c:164
+#: unpack-trees.c:167
 #, c-format
 msgid ""
-"Cannot update sparse checkout: the following entries are not up-to-date:\n"
+"Cannot update sparse checkout: the following entries are not up to date:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:166
+#: unpack-trees.c:169
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3672,7 +3852,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:168
+#: unpack-trees.c:171
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3680,24 +3860,19 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:170
+#: unpack-trees.c:173
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:247
+#: unpack-trees.c:250
 #, c-format
 msgid "Aborting\n"
 msgstr ""
 
-#: unpack-trees.c:272
-#, c-format
-msgid "submodule update strategy not supported for submodule '%s'"
-msgstr ""
-
-#: unpack-trees.c:340
+#: unpack-trees.c:332
 msgid "Checking out files"
 msgstr ""
 
@@ -3730,404 +3905,399 @@ msgstr ""
 msgid "invalid '..' path segment"
 msgstr ""
 
-#: worktree.c:285
+#: worktree.c:245
 #, c-format
 msgid "failed to read '%s'"
 msgstr ""
 
-#: wrapper.c:222 wrapper.c:392
+#: wrapper.c:223 wrapper.c:393
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr ""
 
-#: wrapper.c:224 wrapper.c:394 builtin/am.c:766
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr ""
-
-#: wrapper.c:226 wrapper.c:396 builtin/am.c:318 builtin/am.c:757
-#: builtin/am.c:849 builtin/commit.c:1700 builtin/merge.c:1015
-#: builtin/pull.c:341
+#: wrapper.c:227 wrapper.c:397 builtin/am.c:320 builtin/am.c:770
+#: builtin/am.c:862 builtin/merge.c:1043
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr ""
 
-#: wrapper.c:581 wrapper.c:602
+#: wrapper.c:424 wrapper.c:624
 #, c-format
 msgid "unable to access '%s'"
 msgstr ""
 
-#: wrapper.c:610
+#: wrapper.c:632
 msgid "unable to get current working directory"
 msgstr ""
 
-#: wrapper.c:634
-#, c-format
-msgid "could not write to %s"
-msgstr ""
-
-#: wrapper.c:636
-#, c-format
-msgid "could not close %s"
-msgstr ""
-
-#: wt-status.c:151
+#: wt-status.c:150
 msgid "Unmerged paths:"
 msgstr ""
 
-#: wt-status.c:178 wt-status.c:205
+#: wt-status.c:177 wt-status.c:204
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr ""
 
-#: wt-status.c:180 wt-status.c:207
+#: wt-status.c:179 wt-status.c:206
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr ""
 
-#: wt-status.c:184
+#: wt-status.c:183
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:186 wt-status.c:190
+#: wt-status.c:185 wt-status.c:189
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 
-#: wt-status.c:188
+#: wt-status.c:187
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:199 wt-status.c:958
+#: wt-status.c:198 wt-status.c:984
 msgid "Changes to be committed:"
 msgstr ""
 
-#: wt-status.c:217 wt-status.c:967
+#: wt-status.c:216 wt-status.c:993
 msgid "Changes not staged for commit:"
 msgstr ""
 
-#: wt-status.c:221
+#: wt-status.c:220
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 
-#: wt-status.c:223
+#: wt-status.c:222
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 
-#: wt-status.c:224
+#: wt-status.c:223
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr ""
 
-#: wt-status.c:226
+#: wt-status.c:225
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 
-#: wt-status.c:238
+#: wt-status.c:237
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 
-#: wt-status.c:253
+#: wt-status.c:252
 msgid "both deleted:"
 msgstr ""
 
-#: wt-status.c:255
+#: wt-status.c:254
 msgid "added by us:"
 msgstr ""
 
-#: wt-status.c:257
+#: wt-status.c:256
 msgid "deleted by them:"
 msgstr ""
 
-#: wt-status.c:259
+#: wt-status.c:258
 msgid "added by them:"
 msgstr ""
 
-#: wt-status.c:261
+#: wt-status.c:260
 msgid "deleted by us:"
 msgstr ""
 
-#: wt-status.c:263
+#: wt-status.c:262
 msgid "both added:"
 msgstr ""
 
-#: wt-status.c:265
+#: wt-status.c:264
 msgid "both modified:"
 msgstr ""
 
-#: wt-status.c:275
+#: wt-status.c:274
 msgid "new file:"
 msgstr ""
 
-#: wt-status.c:277
+#: wt-status.c:276
 msgid "copied:"
 msgstr ""
 
-#: wt-status.c:279
+#: wt-status.c:278
 msgid "deleted:"
 msgstr ""
 
-#: wt-status.c:281
+#: wt-status.c:280
 msgid "modified:"
 msgstr ""
 
-#: wt-status.c:283
+#: wt-status.c:282
 msgid "renamed:"
 msgstr ""
 
-#: wt-status.c:285
+#: wt-status.c:284
 msgid "typechange:"
 msgstr ""
 
-#: wt-status.c:287
+#: wt-status.c:286
 msgid "unknown:"
 msgstr ""
 
-#: wt-status.c:289
+#: wt-status.c:288
 msgid "unmerged:"
 msgstr ""
 
-#: wt-status.c:371
+#: wt-status.c:370
 msgid "new commits, "
 msgstr ""
 
-#: wt-status.c:373
+#: wt-status.c:372
 msgid "modified content, "
 msgstr ""
 
-#: wt-status.c:375
+#: wt-status.c:374
 msgid "untracked content, "
 msgstr ""
 
-#: wt-status.c:831
+#: wt-status.c:824
+#, c-format
+msgid "Your stash currently has %d entry"
+msgid_plural "Your stash currently has %d entries"
+msgstr[0] ""
+msgstr[1] ""
+
+#: wt-status.c:856
 msgid "Submodules changed but not updated:"
 msgstr ""
 
-#: wt-status.c:833
+#: wt-status.c:858
 msgid "Submodule changes to be committed:"
 msgstr ""
 
-#: wt-status.c:914
+#: wt-status.c:940
 msgid ""
-"Do not touch the line above.\n"
-"Everything below will be removed."
+"Do not modify or remove the line above.\n"
+"Everything below it will be ignored."
 msgstr ""
 
-#: wt-status.c:1026
+#: wt-status.c:1053
 msgid "You have unmerged paths."
 msgstr ""
 
-#: wt-status.c:1029
+#: wt-status.c:1056
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr ""
 
-#: wt-status.c:1031
+#: wt-status.c:1058
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr ""
 
-#: wt-status.c:1036
+#: wt-status.c:1063
 msgid "All conflicts fixed but you are still merging."
 msgstr ""
 
-#: wt-status.c:1039
+#: wt-status.c:1066
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr ""
 
-#: wt-status.c:1049
+#: wt-status.c:1076
 msgid "You are in the middle of an am session."
 msgstr ""
 
-#: wt-status.c:1052
+#: wt-status.c:1079
 msgid "The current patch is empty."
 msgstr ""
 
-#: wt-status.c:1056
+#: wt-status.c:1083
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr ""
 
-#: wt-status.c:1058
+#: wt-status.c:1085
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1060
+#: wt-status.c:1087
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr ""
 
-#: wt-status.c:1189
+#: wt-status.c:1219
 msgid "git-rebase-todo is missing."
 msgstr ""
 
-#: wt-status.c:1191
+#: wt-status.c:1221
 msgid "No commands done."
 msgstr ""
 
-#: wt-status.c:1194
+#: wt-status.c:1224
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1205
+#: wt-status.c:1235
 #, c-format
 msgid "  (see more in file %s)"
 msgstr ""
 
-#: wt-status.c:1210
+#: wt-status.c:1240
 msgid "No commands remaining."
 msgstr ""
 
-#: wt-status.c:1213
+#: wt-status.c:1243
 #, 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:1221
+#: wt-status.c:1251
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr ""
 
-#: wt-status.c:1234
+#: wt-status.c:1264
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1239
+#: wt-status.c:1269
 msgid "You are currently rebasing."
 msgstr ""
 
-#: wt-status.c:1253
+#: wt-status.c:1283
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1255
+#: wt-status.c:1285
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1257
+#: wt-status.c:1287
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 
-#: wt-status.c:1263
+#: wt-status.c:1293
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1267
+#: wt-status.c:1297
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1272
+#: wt-status.c:1302
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1275
+#: wt-status.c:1305
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1279
+#: wt-status.c:1309
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1284
+#: wt-status.c:1314
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1287
+#: wt-status.c:1317
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 
-#: wt-status.c:1289
+#: wt-status.c:1319
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 
-#: wt-status.c:1299
+#: wt-status.c:1329
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr ""
 
-#: wt-status.c:1304
+#: wt-status.c:1334
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1307
+#: wt-status.c:1337
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1309
+#: wt-status.c:1339
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 
-#: wt-status.c:1318
+#: wt-status.c:1348
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr ""
 
-#: wt-status.c:1323
+#: wt-status.c:1353
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1326
+#: wt-status.c:1356
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1328
+#: wt-status.c:1358
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 
-#: wt-status.c:1339
+#: wt-status.c:1369
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 
-#: wt-status.c:1343
+#: wt-status.c:1373
 msgid "You are currently bisecting."
 msgstr ""
 
-#: wt-status.c:1346
+#: wt-status.c:1376
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 
-#: wt-status.c:1543
+#: wt-status.c:1573
 msgid "On branch "
 msgstr ""
 
-#: wt-status.c:1549
+#: wt-status.c:1579
 msgid "interactive rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1551
+#: wt-status.c:1581
 msgid "rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1556
+#: wt-status.c:1586
 msgid "HEAD detached at "
 msgstr ""
 
-#: wt-status.c:1558
+#: wt-status.c:1588
 msgid "HEAD detached from "
 msgstr ""
 
-#: wt-status.c:1561
+#: wt-status.c:1591
 msgid "Not currently on any branch."
 msgstr ""
 
-#: wt-status.c:1579
+#: wt-status.c:1611
 msgid "Initial commit"
 msgstr ""
 
-#: wt-status.c:1593
+#: wt-status.c:1612
+msgid "No commits yet"
+msgstr ""
+
+#: wt-status.c:1626
 msgid "Untracked files"
 msgstr ""
 
-#: wt-status.c:1595
+#: wt-status.c:1628
 msgid "Ignored files"
 msgstr ""
 
-#: wt-status.c:1599
+#: wt-status.c:1632
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4135,386 +4305,417 @@ msgid ""
 "new files yourself (see 'git help status')."
 msgstr ""
 
-#: wt-status.c:1605
+#: wt-status.c:1638
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr ""
 
-#: wt-status.c:1607
+#: wt-status.c:1640
 msgid " (use -u option to show untracked files)"
 msgstr ""
 
-#: wt-status.c:1613
+#: wt-status.c:1646
 msgid "No changes"
 msgstr ""
 
-#: wt-status.c:1618
+#: wt-status.c:1651
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 
-#: wt-status.c:1621
+#: wt-status.c:1654
 #, c-format
 msgid "no changes added to commit\n"
 msgstr ""
 
-#: wt-status.c:1624
+#: wt-status.c:1657
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr ""
 
-#: wt-status.c:1627
+#: wt-status.c:1660
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 
-#: wt-status.c:1630
+#: wt-status.c:1663
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 
-#: wt-status.c:1633 wt-status.c:1638
+#: wt-status.c:1666 wt-status.c:1671
 #, c-format
 msgid "nothing to commit\n"
 msgstr ""
 
-#: wt-status.c:1636
+#: wt-status.c:1669
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 
-#: wt-status.c:1640
+#: wt-status.c:1673
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr ""
 
-#: wt-status.c:1749
-msgid "Initial commit on "
+#: wt-status.c:1785
+msgid "No commits yet on "
 msgstr ""
 
-#: wt-status.c:1753
+#: wt-status.c:1789
 msgid "HEAD (no branch)"
 msgstr ""
 
-#: wt-status.c:1782 wt-status.c:1790
+#: wt-status.c:1818 wt-status.c:1826
 msgid "behind "
 msgstr ""
 
-#: wt-status.c:1785 wt-status.c:1788
+#: wt-status.c:1821 wt-status.c:1824
 msgid "ahead "
 msgstr ""
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2280
+#: wt-status.c:2318
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr ""
 
-#: wt-status.c:2286
+#: wt-status.c:2324
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 
-#: wt-status.c:2288
+#: wt-status.c:2326
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:432
+#: compat/precompose_utf8.c:58 builtin/clone.c:437
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr ""
 
-#: builtin/add.c:22
+#: builtin/add.c:24
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr ""
 
-#: builtin/add.c:80
+#: builtin/add.c:83
 #, c-format
 msgid "unexpected diff status %c"
 msgstr ""
 
-#: builtin/add.c:85 builtin/commit.c:291
+#: builtin/add.c:88 builtin/commit.c:291
 msgid "updating files failed"
 msgstr ""
 
-#: builtin/add.c:95
+#: builtin/add.c:98
 #, c-format
 msgid "remove '%s'\n"
 msgstr ""
 
-#: builtin/add.c:149
+#: builtin/add.c:173
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 
-#: builtin/add.c:209 builtin/rev-parse.c:872
+#: builtin/add.c:233 builtin/rev-parse.c:888
 msgid "Could not read the index"
 msgstr ""
 
-#: builtin/add.c:220
+#: builtin/add.c:244
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr ""
 
-#: builtin/add.c:224
+#: builtin/add.c:248
 msgid "Could not write patch"
 msgstr ""
 
-#: builtin/add.c:227
+#: builtin/add.c:251
 msgid "editing patch failed"
 msgstr ""
 
-#: builtin/add.c:230
+#: builtin/add.c:254
 #, c-format
 msgid "Could not stat '%s'"
 msgstr ""
 
-#: builtin/add.c:232
+#: builtin/add.c:256
 msgid "Empty patch. Aborted."
 msgstr ""
 
-#: builtin/add.c:237
+#: builtin/add.c:261
 #, c-format
 msgid "Could not apply '%s'"
 msgstr ""
 
-#: builtin/add.c:247
+#: builtin/add.c:271
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 
-#: builtin/add.c:266 builtin/clean.c:876 builtin/fetch.c:115 builtin/mv.c:123
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
-#: builtin/remote.c:1328 builtin/rm.c:241 builtin/send-pack.c:163
+#: builtin/add.c:291 builtin/clean.c:911 builtin/fetch.c:133 builtin/mv.c:124
+#: builtin/prune-packed.c:55 builtin/pull.c:207 builtin/push.c:541
+#: builtin/remote.c:1333 builtin/rm.c:242 builtin/send-pack.c:164
 msgid "dry run"
 msgstr ""
 
-#: builtin/add.c:269
+#: builtin/add.c:294
 msgid "interactive picking"
 msgstr ""
 
-#: builtin/add.c:270 builtin/checkout.c:1177 builtin/reset.c:286
+#: builtin/add.c:295 builtin/checkout.c:1137 builtin/reset.c:310
 msgid "select hunks interactively"
 msgstr ""
 
-#: builtin/add.c:271
+#: builtin/add.c:296
 msgid "edit current diff and apply"
 msgstr ""
 
-#: builtin/add.c:272
+#: builtin/add.c:297
 msgid "allow adding otherwise ignored files"
 msgstr ""
 
-#: builtin/add.c:273
+#: builtin/add.c:298
 msgid "update tracked files"
 msgstr ""
 
-#: builtin/add.c:274
+#: builtin/add.c:299
+msgid "renormalize EOL of tracked files (implies -u)"
+msgstr ""
+
+#: builtin/add.c:300
 msgid "record only the fact that the path will be added later"
 msgstr ""
 
-#: builtin/add.c:275
+#: builtin/add.c:301
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 
-#: builtin/add.c:278
+#: builtin/add.c:304
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 
-#: builtin/add.c:280
+#: builtin/add.c:306
 msgid "don't add, only refresh the index"
 msgstr ""
 
-#: builtin/add.c:281
+#: builtin/add.c:307
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 
-#: builtin/add.c:282
+#: builtin/add.c:308
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 
-#: builtin/add.c:283 builtin/update-index.c:951
+#: builtin/add.c:309 builtin/update-index.c:964
 msgid "(+/-)x"
 msgstr ""
 
-#: builtin/add.c:283 builtin/update-index.c:952
+#: builtin/add.c:309 builtin/update-index.c:965
 msgid "override the executable bit of the listed files"
 msgstr ""
 
-#: builtin/add.c:305
+#: builtin/add.c:311
+msgid "warn when adding an embedded repository"
+msgstr ""
+
+#: builtin/add.c:326
+#, c-format
+msgid ""
+"You've added another git repository inside your current repository.\n"
+"Clones of the outer repository will not contain the contents of\n"
+"the embedded repository and will not know how to obtain it.\n"
+"If you meant to add a submodule, use:\n"
+"\n"
+"\tgit submodule add <url> %s\n"
+"\n"
+"If you added this path by mistake, you can remove it from the\n"
+"index with:\n"
+"\n"
+"\tgit rm --cached %s\n"
+"\n"
+"See \"git help submodule\" for more information."
+msgstr ""
+
+#: builtin/add.c:354
+#, c-format
+msgid "adding embedded git repository: %s"
+msgstr ""
+
+#: builtin/add.c:372
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr ""
 
-#: builtin/add.c:312
+#: builtin/add.c:380
 msgid "adding files failed"
 msgstr ""
 
-#: builtin/add.c:348
+#: builtin/add.c:417
 msgid "-A and -u are mutually incompatible"
 msgstr ""
 
-#: builtin/add.c:355
+#: builtin/add.c:424
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 
-#: builtin/add.c:359
+#: builtin/add.c:428
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr ""
 
-#: builtin/add.c:374
+#: builtin/add.c:443
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr ""
 
-#: builtin/add.c:375
+#: builtin/add.c:444
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr ""
 
-#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:298
-#: builtin/checkout.c:491 builtin/clean.c:920 builtin/commit.c:350
-#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
-#: builtin/submodule--helper.c:244
+#: builtin/add.c:449 builtin/check-ignore.c:176 builtin/checkout.c:281
+#: builtin/checkout.c:484 builtin/clean.c:958 builtin/commit.c:350
+#: builtin/diff-tree.c:114 builtin/mv.c:143 builtin/reset.c:249
+#: builtin/rm.c:271 builtin/submodule--helper.c:311
 msgid "index file corrupt"
 msgstr ""
 
-#: builtin/am.c:412
+#: builtin/am.c:414
 msgid "could not parse author script"
 msgstr ""
 
-#: builtin/am.c:489
+#: builtin/am.c:498
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr ""
 
-#: builtin/am.c:530
+#: builtin/am.c:539
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr ""
 
-#: builtin/am.c:567
+#: builtin/am.c:576
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr ""
 
-#: builtin/am.c:593
+#: builtin/am.c:602
 msgid "fseek failed"
 msgstr ""
 
-#: builtin/am.c:777
+#: builtin/am.c:790
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr ""
 
-#: builtin/am.c:842
+#: builtin/am.c:855
 msgid "Only one StGIT patch series can be applied at once"
 msgstr ""
 
-#: builtin/am.c:889
+#: builtin/am.c:903
 msgid "invalid timestamp"
 msgstr ""
 
-#: builtin/am.c:892 builtin/am.c:900
+#: builtin/am.c:908 builtin/am.c:920
 msgid "invalid Date line"
 msgstr ""
 
-#: builtin/am.c:897
+#: builtin/am.c:915
 msgid "invalid timezone offset"
 msgstr ""
 
-#: builtin/am.c:986
+#: builtin/am.c:1008
 msgid "Patch format detection failed."
 msgstr ""
 
-#: builtin/am.c:991 builtin/clone.c:397
+#: builtin/am.c:1013 builtin/clone.c:402
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr ""
 
-#: builtin/am.c:995
+#: builtin/am.c:1017
 msgid "Failed to split patches."
 msgstr ""
 
-#: builtin/am.c:1127 builtin/commit.c:376
+#: builtin/am.c:1146 builtin/commit.c:376
 msgid "unable to write index file"
 msgstr ""
 
-#: builtin/am.c:1178
+#: builtin/am.c:1160
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr ""
 
-#: builtin/am.c:1179
+#: builtin/am.c:1161
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 
-#: builtin/am.c:1180
+#: builtin/am.c:1162
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 
-#: builtin/am.c:1315
-msgid "Patch is empty. Was it split wrong?"
+#: builtin/am.c:1269
+msgid "Patch is empty."
 msgstr ""
 
-#: builtin/am.c:1386 builtin/log.c:1557
+#: builtin/am.c:1335
 #, c-format
-msgid "invalid ident line: %s"
+msgid "invalid ident line: %.*s"
 msgstr ""
 
-#: builtin/am.c:1413
+#: builtin/am.c:1357
 #, c-format
 msgid "unable to parse commit %s"
 msgstr ""
 
-#: builtin/am.c:1606
+#: builtin/am.c:1550
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 
-#: builtin/am.c:1608
+#: builtin/am.c:1552
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 
-#: builtin/am.c:1627
+#: builtin/am.c:1571
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
 msgstr ""
 
-#: builtin/am.c:1633
+#: builtin/am.c:1577
 msgid "Falling back to patching base and 3-way merge..."
 msgstr ""
 
-#: builtin/am.c:1658
+#: builtin/am.c:1602
 msgid "Failed to merge in the changes."
 msgstr ""
 
-#: builtin/am.c:1682 builtin/merge.c:631
+#: builtin/am.c:1626 builtin/merge.c:642
 msgid "git write-tree failed to write a tree"
 msgstr ""
 
-#: builtin/am.c:1689
+#: builtin/am.c:1633
 msgid "applying to an empty history"
 msgstr ""
 
-#: builtin/am.c:1702 builtin/commit.c:1764 builtin/merge.c:802
-#: builtin/merge.c:827
+#: builtin/am.c:1646 builtin/commit.c:1798 builtin/merge.c:825
+#: builtin/merge.c:850
 msgid "failed to write commit object"
 msgstr ""
 
-#: builtin/am.c:1735 builtin/am.c:1739
+#: builtin/am.c:1679 builtin/am.c:1683
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr ""
 
-#: builtin/am.c:1755
+#: builtin/am.c:1699
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 
-#: builtin/am.c:1760
+#: builtin/am.c:1704
 msgid "Commit Body is:"
 msgstr ""
 
@@ -4522,212 +4723,214 @@ msgstr ""
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1770
+#: builtin/am.c:1714
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 
-#: builtin/am.c:1820
+#: builtin/am.c:1764
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr ""
 
-#: builtin/am.c:1860 builtin/am.c:1932
+#: builtin/am.c:1804 builtin/am.c:1876
 #, c-format
 msgid "Applying: %.*s"
 msgstr ""
 
-#: builtin/am.c:1876
+#: builtin/am.c:1820
 msgid "No changes -- Patch already applied."
 msgstr ""
 
-#: builtin/am.c:1884
+#: builtin/am.c:1828
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr ""
 
-#: builtin/am.c:1890
+#: builtin/am.c:1834
 #, c-format
 msgid "The copy of the patch that failed is found in: %s"
 msgstr ""
 
-#: builtin/am.c:1935
+#: builtin/am.c:1879
 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:1942
+#: builtin/am.c:1886
 msgid ""
 "You still have unmerged paths in your index.\n"
-"Did you forget to use 'git add'?"
+"You should 'git add' each file with resolved conflicts to mark them as "
+"such.\n"
+"You might run `git rm` on a file to accept \"deleted by them\" for it."
 msgstr ""
 
-#: builtin/am.c:2050 builtin/am.c:2054 builtin/am.c:2066 builtin/reset.c:308
-#: builtin/reset.c:316
+#: builtin/am.c:1993 builtin/am.c:1997 builtin/am.c:2009 builtin/reset.c:332
+#: builtin/reset.c:340
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr ""
 
-#: builtin/am.c:2102
+#: builtin/am.c:2045
 msgid "failed to clean index"
 msgstr ""
 
-#: builtin/am.c:2136
+#: builtin/am.c:2080
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr ""
 
-#: builtin/am.c:2199
+#: builtin/am.c:2143
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr ""
 
-#: builtin/am.c:2232
+#: builtin/am.c:2176
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr ""
 
-#: builtin/am.c:2233
+#: builtin/am.c:2177
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr ""
 
-#: builtin/am.c:2239
+#: builtin/am.c:2183
 msgid "run interactively"
 msgstr ""
 
-#: builtin/am.c:2241
+#: builtin/am.c:2185
 msgid "historical option -- no-op"
 msgstr ""
 
-#: builtin/am.c:2243
+#: builtin/am.c:2187
 msgid "allow fall back on 3way merging if needed"
 msgstr ""
 
-#: builtin/am.c:2244 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:178
+#: builtin/am.c:2188 builtin/init-db.c:484 builtin/prune-packed.c:57
+#: builtin/repack.c:180
 msgid "be quiet"
 msgstr ""
 
-#: builtin/am.c:2246
+#: builtin/am.c:2190
 msgid "add a Signed-off-by line to the commit message"
 msgstr ""
 
-#: builtin/am.c:2249
+#: builtin/am.c:2193
 msgid "recode into utf8 (default)"
 msgstr ""
 
-#: builtin/am.c:2251
+#: builtin/am.c:2195
 msgid "pass -k flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2253
+#: builtin/am.c:2197
 msgid "pass -b flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2255
+#: builtin/am.c:2199
 msgid "pass -m flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2257
+#: builtin/am.c:2201
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr ""
 
-#: builtin/am.c:2260
+#: builtin/am.c:2204
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 
-#: builtin/am.c:2263
+#: builtin/am.c:2207
 msgid "strip everything before a scissors line"
 msgstr ""
 
-#: builtin/am.c:2265 builtin/am.c:2268 builtin/am.c:2271 builtin/am.c:2274
-#: builtin/am.c:2277 builtin/am.c:2280 builtin/am.c:2283 builtin/am.c:2286
-#: builtin/am.c:2292
+#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218
+#: builtin/am.c:2221 builtin/am.c:2224 builtin/am.c:2227 builtin/am.c:2230
+#: builtin/am.c:2236
 msgid "pass it through git-apply"
 msgstr ""
 
-#: builtin/am.c:2282 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:1045 builtin/merge.c:201 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
-#: builtin/show-branch.c:637 builtin/show-ref.c:169 builtin/tag.c:398
+#: builtin/am.c:2226 builtin/fmt-merge-msg.c:665 builtin/fmt-merge-msg.c:668
+#: builtin/grep.c:845 builtin/merge.c:205 builtin/pull.c:145 builtin/pull.c:203
+#: builtin/repack.c:189 builtin/repack.c:193 builtin/repack.c:195
+#: builtin/show-branch.c:631 builtin/show-ref.c:169 builtin/tag.c:377
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr ""
 
-#: builtin/am.c:2288 builtin/branch.c:592 builtin/for-each-ref.c:37
-#: builtin/replace.c:443 builtin/tag.c:433 builtin/verify-tag.c:38
+#: builtin/am.c:2232 builtin/branch.c:629 builtin/for-each-ref.c:38
+#: builtin/replace.c:444 builtin/tag.c:412 builtin/verify-tag.c:39
 msgid "format"
 msgstr ""
 
-#: builtin/am.c:2289
+#: builtin/am.c:2233
 msgid "format the patch(es) are in"
 msgstr ""
 
-#: builtin/am.c:2295
+#: builtin/am.c:2239
 msgid "override error message when patch failure occurs"
 msgstr ""
 
-#: builtin/am.c:2297
+#: builtin/am.c:2241
 msgid "continue applying patches after resolving a conflict"
 msgstr ""
 
-#: builtin/am.c:2300
+#: builtin/am.c:2244
 msgid "synonyms for --continue"
 msgstr ""
 
-#: builtin/am.c:2303
+#: builtin/am.c:2247
 msgid "skip the current patch"
 msgstr ""
 
-#: builtin/am.c:2306
+#: builtin/am.c:2250
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 
-#: builtin/am.c:2310
+#: builtin/am.c:2254
 msgid "lie about committer date"
 msgstr ""
 
-#: builtin/am.c:2312
+#: builtin/am.c:2256
 msgid "use current timestamp for author date"
 msgstr ""
 
-#: builtin/am.c:2314 builtin/commit.c:1600 builtin/merge.c:232
-#: builtin/pull.c:165 builtin/revert.c:111 builtin/tag.c:413
+#: builtin/am.c:2258 builtin/commit.c:1636 builtin/merge.c:236
+#: builtin/pull.c:178 builtin/revert.c:112 builtin/tag.c:392
 msgid "key-id"
 msgstr ""
 
-#: builtin/am.c:2315
+#: builtin/am.c:2259
 msgid "GPG-sign commits"
 msgstr ""
 
-#: builtin/am.c:2318
+#: builtin/am.c:2262
 msgid "(internal use for git-rebase)"
 msgstr ""
 
-#: builtin/am.c:2333
+#: builtin/am.c:2280
 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:2340
+#: builtin/am.c:2287
 msgid "failed to read the index"
 msgstr ""
 
-#: builtin/am.c:2355
+#: builtin/am.c:2302
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 
-#: builtin/am.c:2379
+#: builtin/am.c:2326
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
 "Use \"git am --abort\" to remove it."
 msgstr ""
 
-#: builtin/am.c:2385
+#: builtin/am.c:2332
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr ""
 
@@ -4765,313 +4968,364 @@ msgstr ""
 msgid "git archive: expected a flush"
 msgstr ""
 
-#: builtin/bisect--helper.c:7
+#: builtin/bisect--helper.c:12
 msgid "git bisect--helper --next-all [--no-checkout]"
 msgstr ""
 
-#: builtin/bisect--helper.c:17
+#: builtin/bisect--helper.c:13
+msgid "git bisect--helper --write-terms <bad_term> <good_term>"
+msgstr ""
+
+#: builtin/bisect--helper.c:14
+msgid "git bisect--helper --bisect-clean-state"
+msgstr ""
+
+#: builtin/bisect--helper.c:46
+#, c-format
+msgid "'%s' is not a valid term"
+msgstr ""
+
+#: builtin/bisect--helper.c:50
+#, c-format
+msgid "can't use the builtin command '%s' as a term"
+msgstr ""
+
+#: builtin/bisect--helper.c:60
+#, c-format
+msgid "can't change the meaning of the term '%s'"
+msgstr ""
+
+#: builtin/bisect--helper.c:71
+msgid "please use two different terms"
+msgstr ""
+
+#: builtin/bisect--helper.c:78
+msgid "could not open the file BISECT_TERMS"
+msgstr ""
+
+#: builtin/bisect--helper.c:120
 msgid "perform 'git bisect next'"
 msgstr ""
 
-#: builtin/bisect--helper.c:19
+#: builtin/bisect--helper.c:122
+msgid "write the terms to .git/BISECT_TERMS"
+msgstr ""
+
+#: builtin/bisect--helper.c:124
+msgid "cleanup the bisection state"
+msgstr ""
+
+#: builtin/bisect--helper.c:126
+msgid "check for expected revs"
+msgstr ""
+
+#: builtin/bisect--helper.c:128
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr ""
 
-#: builtin/blame.c:33
-msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
+#: builtin/bisect--helper.c:143
+msgid "--write-terms requires two arguments"
 msgstr ""
 
-#: builtin/blame.c:38
-msgid "<rev-opts> are documented in git-rev-list(1)"
+#: builtin/bisect--helper.c:147
+msgid "--bisect-clean-state requires no arguments"
 msgstr ""
 
-#: builtin/blame.c:1777
-msgid "Blaming lines"
+#: builtin/blame.c:27
+msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr ""
+
+#: builtin/blame.c:32
+msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr ""
 
-#: builtin/blame.c:2573
+#: builtin/blame.c:668
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 
-#: builtin/blame.c:2574
+#: builtin/blame.c:669
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2575
+#: builtin/blame.c:670
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2576
+#: builtin/blame.c:671
 msgid "Show work cost statistics"
 msgstr ""
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:672
 msgid "Force progress reporting"
 msgstr ""
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:673
 msgid "Show output score for blame entries"
 msgstr ""
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:674
 msgid "Show original filename (Default: auto)"
 msgstr ""
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:675
 msgid "Show original linenumber (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:676
 msgid "Show in a format designed for machine consumption"
 msgstr ""
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:677
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:678
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:679
 msgid "Show raw timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:680
 msgid "Show long commit SHA1 (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:681
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:682
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:683
 msgid "Ignore whitespace differences"
 msgstr ""
 
-#: builtin/blame.c:2595
+#: builtin/blame.c:690
 msgid "Use an experimental heuristic to improve diffs"
 msgstr ""
 
-#: builtin/blame.c:2597
+#: builtin/blame.c:692
 msgid "Spend extra cycles to find better match"
 msgstr ""
 
-#: builtin/blame.c:2598
+#: builtin/blame.c:693
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 
-#: builtin/blame.c:2599
+#: builtin/blame.c:694
 msgid "Use <file>'s contents as the final image"
 msgstr ""
 
-#: builtin/blame.c:2600 builtin/blame.c:2601
+#: builtin/blame.c:695 builtin/blame.c:696
 msgid "score"
 msgstr ""
 
-#: builtin/blame.c:2600
+#: builtin/blame.c:695
 msgid "Find line copies within and across files"
 msgstr ""
 
-#: builtin/blame.c:2601
+#: builtin/blame.c:696
 msgid "Find line movements within and across files"
 msgstr ""
 
-#: builtin/blame.c:2602
+#: builtin/blame.c:697
 msgid "n,m"
 msgstr ""
 
-#: builtin/blame.c:2602
+#: builtin/blame.c:697
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 
-#: builtin/blame.c:2649
+#: builtin/blame.c:744
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 
-#. TRANSLATORS: This string is used to tell us the maximum
-#. display width for a relative timestamp in "git blame"
-#. output.  For C locale, "4 years, 11 months ago", which
-#. takes 22 places, is the longest among various forms of
-#. relative timestamps, but your language may need more or
-#. fewer display columns.
-#: builtin/blame.c:2697
+#. TRANSLATORS: This string is used to tell us the
+#. maximum display width for a relative timestamp in
+#. "git blame" output.  For C locale, "4 years, 11
+#. months ago", which takes 22 places, is the longest
+#. among various forms of relative timestamps, but
+#. your language may need more or fewer display
+#. columns.
+#.
+#: builtin/blame.c:795
 msgid "4 years, 11 months ago"
 msgstr ""
 
-#: builtin/blame.c:2777
-msgid "--contents and --reverse do not blend well."
-msgstr ""
-
-#: builtin/blame.c:2797
-msgid "cannot use --contents with final commit object name"
-msgstr ""
-
-#: builtin/blame.c:2802
-msgid "--reverse and --first-parent together require specified latest commit"
-msgstr ""
-
-#: builtin/blame.c:2829
-msgid ""
-"--reverse --first-parent together require range along first-parent chain"
-msgstr ""
-
-#: builtin/blame.c:2840
-#, c-format
-msgid "no such path %s in %s"
-msgstr ""
-
-#: builtin/blame.c:2851
-#, c-format
-msgid "cannot read blob %s for path %s"
-msgstr ""
-
-#: builtin/blame.c:2870
+#: builtin/blame.c:882
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/branch.c:26
-msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
+#: builtin/blame.c:928
+msgid "Blaming lines"
 msgstr ""
 
 #: builtin/branch.c:27
-msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
+msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr ""
 
 #: builtin/branch.c:28
-msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
+msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
 msgstr ""
 
 #: builtin/branch.c:29
-msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
+msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr ""
 
 #: builtin/branch.c:30
-msgid "git branch [<options>] [-r | -a] [--points-at]"
+msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr ""
 
 #: builtin/branch.c:31
+msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
+msgstr ""
+
+#: builtin/branch.c:32
+msgid "git branch [<options>] [-r | -a] [--points-at]"
+msgstr ""
+
+#: builtin/branch.c:33
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr ""
 
-#: builtin/branch.c:144
+#: builtin/branch.c:146
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 msgstr ""
 
-#: builtin/branch.c:148
+#: builtin/branch.c:150
 #, 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:162
+#: builtin/branch.c:164
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr ""
 
-#: builtin/branch.c:166
+#: builtin/branch.c:168
 #, 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:179
+#: builtin/branch.c:181
 msgid "Update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:210
+#: builtin/branch.c:212
 msgid "cannot use -a with -d"
 msgstr ""
 
-#: builtin/branch.c:216
+#: builtin/branch.c:218
 msgid "Couldn't look up commit object for HEAD"
 msgstr ""
 
-#: builtin/branch.c:230
+#: builtin/branch.c:232
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr ""
 
-#: builtin/branch.c:245
+#: builtin/branch.c:247
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:246
+#: builtin/branch.c:248
 #, c-format
 msgid "branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:261
+#: builtin/branch.c:263
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:262
+#: builtin/branch.c:264
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:269
+#: builtin/branch.c:271
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:270
+#: builtin/branch.c:272
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:441
+#: builtin/branch.c:417 builtin/tag.c:58
+msgid "unable to parse format string"
+msgstr ""
+
+#: builtin/branch.c:450
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr ""
 
-#: builtin/branch.c:445
+#: builtin/branch.c:454
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr ""
 
-#: builtin/branch.c:460
+#: builtin/branch.c:471
+msgid "cannot copy the current branch while not on any."
+msgstr ""
+
+#: builtin/branch.c:473
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:470
+#: builtin/branch.c:484
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr ""
 
-#: builtin/branch.c:487
+#: builtin/branch.c:511
 msgid "Branch rename failed"
 msgstr ""
 
-#: builtin/branch.c:490
+#: builtin/branch.c:513
+msgid "Branch copy failed"
+msgstr ""
+
+#: builtin/branch.c:517
+#, c-format
+msgid "Created a copy of a misnamed branch '%s'"
+msgstr ""
+
+#: builtin/branch.c:520
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr ""
 
-#: builtin/branch.c:493
+#: builtin/branch.c:526
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr ""
 
-#: builtin/branch.c:502
+#: builtin/branch.c:535
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:518
+#: builtin/branch.c:537
+msgid "Branch is copied, but update of config-file failed"
+msgstr ""
+
+#: builtin/branch.c:553
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5079,225 +5333,220 @@ msgid ""
 "Lines starting with '%c' will be stripped.\n"
 msgstr ""
 
-#: builtin/branch.c:551
+#: builtin/branch.c:586
 msgid "Generic options"
 msgstr ""
 
-#: builtin/branch.c:553
+#: builtin/branch.c:588
 msgid "show hash and subject, give twice for upstream branch"
 msgstr ""
 
-#: builtin/branch.c:554
+#: builtin/branch.c:589
 msgid "suppress informational messages"
 msgstr ""
 
-#: builtin/branch.c:555
+#: builtin/branch.c:590
 msgid "set up tracking mode (see git-pull(1))"
 msgstr ""
 
-#: builtin/branch.c:557
-msgid "change upstream info"
+#: builtin/branch.c:592
+msgid "do not use"
 msgstr ""
 
-#: builtin/branch.c:559
+#: builtin/branch.c:594
 msgid "upstream"
 msgstr ""
 
-#: builtin/branch.c:559
+#: builtin/branch.c:594
 msgid "change the upstream info"
 msgstr ""
 
-#: builtin/branch.c:560
+#: builtin/branch.c:595
 msgid "Unset the upstream info"
 msgstr ""
 
-#: builtin/branch.c:561
+#: builtin/branch.c:596
 msgid "use colored output"
 msgstr ""
 
-#: builtin/branch.c:562
+#: builtin/branch.c:597
 msgid "act on remote-tracking branches"
 msgstr ""
 
-#: builtin/branch.c:564 builtin/branch.c:566
+#: builtin/branch.c:599 builtin/branch.c:601
 msgid "print only branches that contain the commit"
 msgstr ""
 
-#: builtin/branch.c:565 builtin/branch.c:567
+#: builtin/branch.c:600 builtin/branch.c:602
 msgid "print only branches that don't contain the commit"
 msgstr ""
 
-#: builtin/branch.c:570
+#: builtin/branch.c:605
 msgid "Specific git-branch actions:"
 msgstr ""
 
-#: builtin/branch.c:571
+#: builtin/branch.c:606
 msgid "list both remote-tracking and local branches"
 msgstr ""
 
-#: builtin/branch.c:573
+#: builtin/branch.c:608
 msgid "delete fully merged branch"
 msgstr ""
 
-#: builtin/branch.c:574
+#: builtin/branch.c:609
 msgid "delete branch (even if not merged)"
 msgstr ""
 
-#: builtin/branch.c:575
+#: builtin/branch.c:610
 msgid "move/rename a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:576
+#: builtin/branch.c:611
 msgid "move/rename a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:577
+#: builtin/branch.c:612
+msgid "copy a branch and its reflog"
+msgstr ""
+
+#: builtin/branch.c:613
+msgid "copy a branch, even if target exists"
+msgstr ""
+
+#: builtin/branch.c:614
 msgid "list branch names"
 msgstr ""
 
-#: builtin/branch.c:578
+#: builtin/branch.c:615
 msgid "create the branch's reflog"
 msgstr ""
 
-#: builtin/branch.c:580
+#: builtin/branch.c:617
 msgid "edit the description for the branch"
 msgstr ""
 
-#: builtin/branch.c:581
+#: builtin/branch.c:618
 msgid "force creation, move/rename, deletion"
 msgstr ""
 
-#: builtin/branch.c:582
+#: builtin/branch.c:619
 msgid "print only branches that are merged"
 msgstr ""
 
-#: builtin/branch.c:583
+#: builtin/branch.c:620
 msgid "print only branches that are not merged"
 msgstr ""
 
-#: builtin/branch.c:584
+#: builtin/branch.c:621
 msgid "list branches in columns"
 msgstr ""
 
-#: builtin/branch.c:585 builtin/for-each-ref.c:38 builtin/tag.c:426
+#: builtin/branch.c:622 builtin/for-each-ref.c:40 builtin/tag.c:405
 msgid "key"
 msgstr ""
 
-#: builtin/branch.c:586 builtin/for-each-ref.c:39 builtin/tag.c:427
+#: builtin/branch.c:623 builtin/for-each-ref.c:41 builtin/tag.c:406
 msgid "field name to sort on"
 msgstr ""
 
-#: builtin/branch.c:588 builtin/for-each-ref.c:41 builtin/notes.c:404
-#: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:429
+#: builtin/branch.c:625 builtin/for-each-ref.c:43 builtin/notes.c:408
+#: builtin/notes.c:411 builtin/notes.c:571 builtin/notes.c:574
+#: builtin/tag.c:408
 msgid "object"
 msgstr ""
 
-#: builtin/branch.c:589
+#: builtin/branch.c:626
 msgid "print only branches of the object"
 msgstr ""
 
-#: builtin/branch.c:591 builtin/for-each-ref.c:47 builtin/tag.c:434
+#: builtin/branch.c:628 builtin/for-each-ref.c:49 builtin/tag.c:415
 msgid "sorting and filtering are case insensitive"
 msgstr ""
 
-#: builtin/branch.c:592 builtin/for-each-ref.c:37 builtin/tag.c:433
-#: builtin/verify-tag.c:38
+#: builtin/branch.c:629 builtin/for-each-ref.c:38 builtin/tag.c:413
+#: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr ""
 
-#: builtin/branch.c:611
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
-
-#: builtin/branch.c:615 builtin/clone.c:724
+#: builtin/branch.c:652 builtin/clone.c:730
 msgid "HEAD not found below refs/heads!"
 msgstr ""
 
-#: builtin/branch.c:638
+#: builtin/branch.c:675
 msgid "--column and --verbose are incompatible"
 msgstr ""
 
-#: builtin/branch.c:649 builtin/branch.c:701
+#: builtin/branch.c:690 builtin/branch.c:742 builtin/branch.c:751
 msgid "branch name required"
 msgstr ""
 
-#: builtin/branch.c:677
+#: builtin/branch.c:718
 msgid "Cannot give description to detached HEAD"
 msgstr ""
 
-#: builtin/branch.c:682
+#: builtin/branch.c:723
 msgid "cannot edit description of more than one branch"
 msgstr ""
 
-#: builtin/branch.c:689
+#: builtin/branch.c:730
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr ""
 
-#: builtin/branch.c:692
+#: builtin/branch.c:733
 #, c-format
 msgid "No branch named '%s'."
 msgstr ""
 
-#: builtin/branch.c:707
-msgid "too many branches for a rename operation"
+#: builtin/branch.c:748
+msgid "too many branches for a copy operation"
+msgstr ""
+
+#: builtin/branch.c:757
+msgid "too many arguments for a rename operation"
 msgstr ""
 
-#: builtin/branch.c:712
-msgid "too many branches to set new upstream"
+#: builtin/branch.c:762
+msgid "too many arguments to set new upstream"
 msgstr ""
 
-#: builtin/branch.c:716
+#: builtin/branch.c:766
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:719 builtin/branch.c:741 builtin/branch.c:762
+#: builtin/branch.c:769 builtin/branch.c:791 builtin/branch.c:807
 #, c-format
 msgid "no such branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:723
+#: builtin/branch.c:773
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr ""
 
-#: builtin/branch.c:735
-msgid "too many branches to unset upstream"
+#: builtin/branch.c:785
+msgid "too many arguments to unset upstream"
 msgstr ""
 
-#: builtin/branch.c:739
+#: builtin/branch.c:789
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:745
+#: builtin/branch.c:795
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr ""
 
-#: builtin/branch.c:759
-msgid "it does not make sense to create 'HEAD' manually"
-msgstr ""
-
-#: builtin/branch.c:765
+#: builtin/branch.c:810
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 
-#: builtin/branch.c:768
-#, c-format
-msgid ""
-"The --set-upstream flag is deprecated and will be removed. Consider using --"
-"track or --set-upstream-to\n"
-msgstr ""
-
-#: builtin/branch.c:785
-#, c-format
+#: builtin/branch.c:813
 msgid ""
-"\n"
-"If you wanted to make '%s' track '%s', do this:\n"
-"\n"
+"the '--set-upstream' option is no longer supported. Please use '--track' or "
+"'--set-upstream-to' instead."
 msgstr ""
 
 #: builtin/bundle.c:45
@@ -5313,203 +5562,203 @@ msgstr ""
 msgid "Need a repository to unbundle."
 msgstr ""
 
-#: builtin/cat-file.c:513
+#: builtin/cat-file.c:521
 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:514
+#: builtin/cat-file.c:522
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 msgstr ""
 
-#: builtin/cat-file.c:551
+#: builtin/cat-file.c:559
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr ""
 
-#: builtin/cat-file.c:552
+#: builtin/cat-file.c:560
 msgid "show object type"
 msgstr ""
 
-#: builtin/cat-file.c:553
+#: builtin/cat-file.c:561
 msgid "show object size"
 msgstr ""
 
-#: builtin/cat-file.c:555
+#: builtin/cat-file.c:563
 msgid "exit with zero when there's no error"
 msgstr ""
 
-#: builtin/cat-file.c:556
+#: builtin/cat-file.c:564
 msgid "pretty-print object's content"
 msgstr ""
 
-#: builtin/cat-file.c:558
+#: builtin/cat-file.c:566
 msgid "for blob objects, run textconv on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:560
+#: builtin/cat-file.c:568
 msgid "for blob objects, run filters on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:561 git-submodule.sh:943
+#: builtin/cat-file.c:569 git-submodule.sh:931
 msgid "blob"
 msgstr ""
 
-#: builtin/cat-file.c:562
+#: builtin/cat-file.c:570
 msgid "use a specific path for --textconv/--filters"
 msgstr ""
 
-#: builtin/cat-file.c:564
+#: builtin/cat-file.c:572
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr ""
 
-#: builtin/cat-file.c:565
+#: builtin/cat-file.c:573
 msgid "buffer --batch output"
 msgstr ""
 
-#: builtin/cat-file.c:567
+#: builtin/cat-file.c:575
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 
-#: builtin/cat-file.c:570
+#: builtin/cat-file.c:578
 msgid "show info about objects fed from the standard input"
 msgstr ""
 
-#: builtin/cat-file.c:573
+#: builtin/cat-file.c:581
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 
-#: builtin/cat-file.c:575
+#: builtin/cat-file.c:583
 msgid "show all objects with --batch or --batch-check"
 msgstr ""
 
-#: builtin/check-attr.c:11
+#: builtin/check-attr.c:12
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
 msgstr ""
 
-#: builtin/check-attr.c:12
+#: builtin/check-attr.c:13
 msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
 msgstr ""
 
-#: builtin/check-attr.c:19
+#: builtin/check-attr.c:20
 msgid "report all attributes set on file"
 msgstr ""
 
-#: builtin/check-attr.c:20
+#: builtin/check-attr.c:21
 msgid "use .gitattributes only from the index"
 msgstr ""
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:98
+#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:99
 msgid "read file names from stdin"
 msgstr ""
 
-#: builtin/check-attr.c:23 builtin/check-ignore.c:24
+#: builtin/check-attr.c:24 builtin/check-ignore.c:26
 msgid "terminate input and output records by a NUL character"
 msgstr ""
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1158 builtin/gc.c:356
+#: builtin/check-ignore.c:20 builtin/checkout.c:1118 builtin/gc.c:358
 msgid "suppress progress reporting"
 msgstr ""
 
-#: builtin/check-ignore.c:26
+#: builtin/check-ignore.c:28
 msgid "show non-matching input paths"
 msgstr ""
 
-#: builtin/check-ignore.c:28
+#: builtin/check-ignore.c:30
 msgid "ignore index when checking"
 msgstr ""
 
-#: builtin/check-ignore.c:154
+#: builtin/check-ignore.c:158
 msgid "cannot specify pathnames with --stdin"
 msgstr ""
 
-#: builtin/check-ignore.c:157
+#: builtin/check-ignore.c:161
 msgid "-z only makes sense with --stdin"
 msgstr ""
 
-#: builtin/check-ignore.c:159
+#: builtin/check-ignore.c:163
 msgid "no path specified"
 msgstr ""
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:167
 msgid "--quiet is only valid with a single pathname"
 msgstr ""
 
-#: builtin/check-ignore.c:165
+#: builtin/check-ignore.c:169
 msgid "cannot have both --quiet and --verbose"
 msgstr ""
 
-#: builtin/check-ignore.c:168
+#: builtin/check-ignore.c:172
 msgid "--non-matching is only valid with --verbose"
 msgstr ""
 
-#: builtin/check-mailmap.c:8
+#: builtin/check-mailmap.c:9
 msgid "git check-mailmap [<options>] <contact>..."
 msgstr ""
 
-#: builtin/check-mailmap.c:13
+#: builtin/check-mailmap.c:14
 msgid "also read contacts from stdin"
 msgstr ""
 
-#: builtin/check-mailmap.c:24
+#: builtin/check-mailmap.c:25
 #, c-format
 msgid "unable to parse contact: %s"
 msgstr ""
 
-#: builtin/check-mailmap.c:47
+#: builtin/check-mailmap.c:48
 msgid "no contacts specified"
 msgstr ""
 
-#: builtin/checkout-index.c:127
+#: builtin/checkout-index.c:128
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr ""
 
-#: builtin/checkout-index.c:144
+#: builtin/checkout-index.c:143
 msgid "stage should be between 1 and 3 or all"
 msgstr ""
 
-#: builtin/checkout-index.c:160
+#: builtin/checkout-index.c:159
 msgid "check out all files in the index"
 msgstr ""
 
-#: builtin/checkout-index.c:161
+#: builtin/checkout-index.c:160
 msgid "force overwrite of existing files"
 msgstr ""
 
-#: builtin/checkout-index.c:163
+#: builtin/checkout-index.c:162
 msgid "no warning for existing files and files not in index"
 msgstr ""
 
-#: builtin/checkout-index.c:165
+#: builtin/checkout-index.c:164
 msgid "don't checkout new files"
 msgstr ""
 
-#: builtin/checkout-index.c:167
+#: builtin/checkout-index.c:166
 msgid "update stat information in the index file"
 msgstr ""
 
-#: builtin/checkout-index.c:171
+#: builtin/checkout-index.c:170
 msgid "read list of paths from the standard input"
 msgstr ""
 
-#: builtin/checkout-index.c:173
+#: builtin/checkout-index.c:172
 msgid "write the content to temporary files"
 msgstr ""
 
-#: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:635 builtin/submodule--helper.c:638
-#: builtin/submodule--helper.c:644 builtin/submodule--helper.c:980
-#: builtin/worktree.c:477
+#: builtin/checkout-index.c:173 builtin/column.c:31
+#: builtin/submodule--helper.c:866 builtin/submodule--helper.c:869
+#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1237
+#: builtin/worktree.c:552
 msgid "string"
 msgstr ""
 
-#: builtin/checkout-index.c:175
+#: builtin/checkout-index.c:174
 msgid "when creating files, prepend <string>"
 msgstr ""
 
-#: builtin/checkout-index.c:177
+#: builtin/checkout-index.c:176
 msgid "copy out the files from named stage"
 msgstr ""
 
@@ -5521,105 +5770,105 @@ msgstr ""
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr ""
 
-#: builtin/checkout.c:153 builtin/checkout.c:186
+#: builtin/checkout.c:136 builtin/checkout.c:169
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr ""
 
-#: builtin/checkout.c:155 builtin/checkout.c:188
+#: builtin/checkout.c:138 builtin/checkout.c:171
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr ""
 
-#: builtin/checkout.c:171
+#: builtin/checkout.c:154
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:215
+#: builtin/checkout.c:198
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:232
+#: builtin/checkout.c:215
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr ""
 
-#: builtin/checkout.c:249
+#: builtin/checkout.c:232
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr ""
 
-#: builtin/checkout.c:269 builtin/checkout.c:272 builtin/checkout.c:275
-#: builtin/checkout.c:278
+#: builtin/checkout.c:254 builtin/checkout.c:257 builtin/checkout.c:260
+#: builtin/checkout.c:263
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr ""
 
-#: builtin/checkout.c:281 builtin/checkout.c:284
+#: builtin/checkout.c:266 builtin/checkout.c:269
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr ""
 
-#: builtin/checkout.c:287
+#: builtin/checkout.c:272
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 
-#: builtin/checkout.c:358 builtin/checkout.c:365
+#: builtin/checkout.c:341 builtin/checkout.c:348
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr ""
 
-#: builtin/checkout.c:513
+#: builtin/checkout.c:506
 msgid "you need to resolve your current index first"
 msgstr ""
 
-#: builtin/checkout.c:644
+#: builtin/checkout.c:637
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr ""
 
-#: builtin/checkout.c:685
+#: builtin/checkout.c:678
 msgid "HEAD is now at"
 msgstr ""
 
-#: builtin/checkout.c:689 builtin/clone.c:678
+#: builtin/checkout.c:682 builtin/clone.c:684
 msgid "unable to update HEAD"
 msgstr ""
 
-#: builtin/checkout.c:693
+#: builtin/checkout.c:686
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:696
+#: builtin/checkout.c:689
 #, c-format
 msgid "Already on '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:700
+#: builtin/checkout.c:693
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:702 builtin/checkout.c:1090
+#: builtin/checkout.c:695 builtin/checkout.c:1051
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:704
+#: builtin/checkout.c:697
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:755
+#: builtin/checkout.c:748
 #, c-format
 msgid " ... and %d more.\n"
 msgstr ""
 
-#: builtin/checkout.c:761
+#: builtin/checkout.c:754
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5634,7 +5883,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:780
+#: builtin/checkout.c:773
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5651,198 +5900,196 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:816
+#: builtin/checkout.c:814
 msgid "internal error in revision walk"
 msgstr ""
 
-#: builtin/checkout.c:820
+#: builtin/checkout.c:818
 msgid "Previous HEAD position was"
 msgstr ""
 
-#: builtin/checkout.c:847 builtin/checkout.c:1085
+#: builtin/checkout.c:848 builtin/checkout.c:1046
 msgid "You are on a branch yet to be born"
 msgstr ""
 
-#: builtin/checkout.c:991
+#: builtin/checkout.c:952
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr ""
 
-#: builtin/checkout.c:1031 builtin/worktree.c:214
+#: builtin/checkout.c:992 builtin/worktree.c:247
 #, c-format
 msgid "invalid reference: %s"
 msgstr ""
 
-#: builtin/checkout.c:1060
+#: builtin/checkout.c:1021
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr ""
 
-#: builtin/checkout.c:1099
+#: builtin/checkout.c:1060
 msgid "paths cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1102 builtin/checkout.c:1106
+#: builtin/checkout.c:1063 builtin/checkout.c:1067
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1110 builtin/checkout.c:1113 builtin/checkout.c:1118
-#: builtin/checkout.c:1121
+#: builtin/checkout.c:1071 builtin/checkout.c:1074 builtin/checkout.c:1079
+#: builtin/checkout.c:1082
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1126
+#: builtin/checkout.c:1087
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1159 builtin/checkout.c:1161 builtin/clone.c:111
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:329
-#: builtin/worktree.c:331
+#: builtin/checkout.c:1119 builtin/checkout.c:1121 builtin/clone.c:114
+#: builtin/remote.c:166 builtin/remote.c:168 builtin/worktree.c:369
+#: builtin/worktree.c:371
 msgid "branch"
 msgstr ""
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1120
 msgid "create and checkout a new branch"
 msgstr ""
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1122
 msgid "create/reset and checkout a branch"
 msgstr ""
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1123
 msgid "create reflog for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1164 builtin/worktree.c:333
+#: builtin/checkout.c:1124 builtin/worktree.c:373
 msgid "detach HEAD at named commit"
 msgstr ""
 
-#: builtin/checkout.c:1165
+#: builtin/checkout.c:1125
 msgid "set upstream info for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1167
+#: builtin/checkout.c:1127
 msgid "new-branch"
 msgstr ""
 
-#: builtin/checkout.c:1167
+#: builtin/checkout.c:1127
 msgid "new unparented branch"
 msgstr ""
 
-#: builtin/checkout.c:1168
+#: builtin/checkout.c:1128
 msgid "checkout our version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1170
+#: builtin/checkout.c:1130
 msgid "checkout their version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1172
+#: builtin/checkout.c:1132
 msgid "force checkout (throw away local modifications)"
 msgstr ""
 
-#: builtin/checkout.c:1173
+#: builtin/checkout.c:1133
 msgid "perform a 3-way merge with the new branch"
 msgstr ""
 
-#: builtin/checkout.c:1174 builtin/merge.c:234
+#: builtin/checkout.c:1134 builtin/merge.c:238
 msgid "update ignored files (default)"
 msgstr ""
 
-#: builtin/checkout.c:1175 builtin/log.c:1473 parse-options.h:251
+#: builtin/checkout.c:1135 builtin/log.c:1496 parse-options.h:251
 msgid "style"
 msgstr ""
 
-#: builtin/checkout.c:1176
+#: builtin/checkout.c:1136
 msgid "conflict style (merge or diff3)"
 msgstr ""
 
-#: builtin/checkout.c:1179
+#: builtin/checkout.c:1139
 msgid "do not limit pathspecs to sparse entries only"
 msgstr ""
 
-#: builtin/checkout.c:1181
+#: builtin/checkout.c:1141
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr ""
 
-#: builtin/checkout.c:1183
+#: builtin/checkout.c:1143
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 
-#: builtin/checkout.c:1187 builtin/clone.c:78 builtin/fetch.c:119
-#: builtin/merge.c:231 builtin/pull.c:117 builtin/push.c:539
-#: builtin/send-pack.c:172
+#: builtin/checkout.c:1147 builtin/clone.c:81 builtin/fetch.c:137
+#: builtin/merge.c:235 builtin/pull.c:123 builtin/push.c:556
+#: builtin/send-pack.c:173
 msgid "force progress reporting"
 msgstr ""
 
-#: builtin/checkout.c:1224
+#: builtin/checkout.c:1177
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1241
+#: builtin/checkout.c:1194
 msgid "--track needs a branch name"
 msgstr ""
 
-#: builtin/checkout.c:1246
+#: builtin/checkout.c:1199
 msgid "Missing branch name; try -b"
 msgstr ""
 
-#: builtin/checkout.c:1282
+#: builtin/checkout.c:1235
 msgid "invalid path specification"
 msgstr ""
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1242
 #, c-format
-msgid ""
-"Cannot update paths and switch to branch '%s' at the same time.\n"
-"Did you intend to checkout '%s' which can not be resolved as commit?"
+msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 
-#: builtin/checkout.c:1294
+#: builtin/checkout.c:1246
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1298
+#: builtin/checkout.c:1250
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 
-#: builtin/clean.c:25
+#: builtin/clean.c:26
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 
-#: builtin/clean.c:29
+#: builtin/clean.c:30
 #, c-format
 msgid "Removing %s\n"
 msgstr ""
 
-#: builtin/clean.c:30
+#: builtin/clean.c:31
 #, c-format
 msgid "Would remove %s\n"
 msgstr ""
 
-#: builtin/clean.c:31
+#: builtin/clean.c:32
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr ""
 
-#: builtin/clean.c:32
+#: builtin/clean.c:33
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr ""
 
-#: builtin/clean.c:33
+#: builtin/clean.c:34
 #, c-format
 msgid "failed to remove %s"
 msgstr ""
 
-#: builtin/clean.c:297 git-add--interactive.perl:614
+#: builtin/clean.c:302 git-add--interactive.perl:572
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -5851,7 +6098,7 @@ msgid ""
 "           - (empty) select nothing\n"
 msgstr ""
 
-#: builtin/clean.c:301 git-add--interactive.perl:623
+#: builtin/clean.c:306 git-add--interactive.perl:581
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -5864,38 +6111,38 @@ msgid ""
 "           - (empty) finish selecting\n"
 msgstr ""
 
-#: builtin/clean.c:517 git-add--interactive.perl:589
-#: git-add--interactive.perl:594
+#: builtin/clean.c:522 git-add--interactive.perl:547
+#: git-add--interactive.perl:552
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr ""
 
-#: builtin/clean.c:659
+#: builtin/clean.c:664
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr ""
 
-#: builtin/clean.c:696
+#: builtin/clean.c:701
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr ""
 
-#: builtin/clean.c:717
+#: builtin/clean.c:722
 msgid "Select items to delete"
 msgstr ""
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:758
+#: builtin/clean.c:763
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr ""
 
-#: builtin/clean.c:783 git-add--interactive.perl:1660
+#: builtin/clean.c:788 git-add--interactive.perl:1616
 #, c-format
 msgid "Bye.\n"
 msgstr ""
 
-#: builtin/clean.c:791
+#: builtin/clean.c:796
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -5906,426 +6153,428 @@ msgid ""
 "?                   - help for prompt selection"
 msgstr ""
 
-#: builtin/clean.c:818 git-add--interactive.perl:1736
+#: builtin/clean.c:823 git-add--interactive.perl:1692
 msgid "*** Commands ***"
 msgstr ""
 
-#: builtin/clean.c:819 git-add--interactive.perl:1733
+#: builtin/clean.c:824 git-add--interactive.perl:1689
 msgid "What now"
 msgstr ""
 
-#: builtin/clean.c:827
+#: builtin/clean.c:832
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/clean.c:844
+#: builtin/clean.c:848
 msgid "No more files to clean, exiting."
 msgstr ""
 
-#: builtin/clean.c:875
+#: builtin/clean.c:910
 msgid "do not print names of files removed"
 msgstr ""
 
-#: builtin/clean.c:877
+#: builtin/clean.c:912
 msgid "force"
 msgstr ""
 
-#: builtin/clean.c:878
+#: builtin/clean.c:913
 msgid "interactive cleaning"
 msgstr ""
 
-#: builtin/clean.c:880
+#: builtin/clean.c:915
 msgid "remove whole directories"
 msgstr ""
 
-#: builtin/clean.c:881 builtin/describe.c:449 builtin/describe.c:451
-#: builtin/grep.c:1063 builtin/ls-files.c:546 builtin/name-rev.c:348
-#: builtin/name-rev.c:350 builtin/show-ref.c:176
+#: builtin/clean.c:916 builtin/describe.c:530 builtin/describe.c:532
+#: builtin/grep.c:863 builtin/log.c:155 builtin/log.c:157
+#: builtin/ls-files.c:548 builtin/name-rev.c:397 builtin/name-rev.c:399
+#: builtin/show-ref.c:176
 msgid "pattern"
 msgstr ""
 
-#: builtin/clean.c:882
+#: builtin/clean.c:917
 msgid "add <pattern> to ignore rules"
 msgstr ""
 
-#: builtin/clean.c:883
+#: builtin/clean.c:918
 msgid "remove ignored files, too"
 msgstr ""
 
-#: builtin/clean.c:885
+#: builtin/clean.c:920
 msgid "remove only ignored files"
 msgstr ""
 
-#: builtin/clean.c:903
+#: builtin/clean.c:938
 msgid "-x and -X cannot be used together"
 msgstr ""
 
-#: builtin/clean.c:907
+#: builtin/clean.c:942
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 
-#: builtin/clean.c:910
+#: builtin/clean.c:945
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
 
-#: builtin/clone.c:37
+#: builtin/clone.c:39
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr ""
 
-#: builtin/clone.c:80
+#: builtin/clone.c:83
 msgid "don't create a checkout"
 msgstr ""
 
-#: builtin/clone.c:81 builtin/clone.c:83 builtin/init-db.c:478
+#: builtin/clone.c:84 builtin/clone.c:86 builtin/init-db.c:479
 msgid "create a bare repository"
 msgstr ""
 
-#: builtin/clone.c:85
+#: builtin/clone.c:88
 msgid "create a mirror repository (implies bare)"
 msgstr ""
 
-#: builtin/clone.c:87
+#: builtin/clone.c:90
 msgid "to clone from a local repository"
 msgstr ""
 
-#: builtin/clone.c:89
+#: builtin/clone.c:92
 msgid "don't use local hardlinks, always copy"
 msgstr ""
 
-#: builtin/clone.c:91
+#: builtin/clone.c:94
 msgid "setup as shared repository"
 msgstr ""
 
-#: builtin/clone.c:93 builtin/clone.c:97
+#: builtin/clone.c:96 builtin/clone.c:100
 msgid "pathspec"
 msgstr ""
 
-#: builtin/clone.c:93 builtin/clone.c:97
+#: builtin/clone.c:96 builtin/clone.c:100
 msgid "initialize submodules in the clone"
 msgstr ""
 
-#: builtin/clone.c:100
+#: builtin/clone.c:103
 msgid "number of submodules cloned in parallel"
 msgstr ""
 
-#: builtin/clone.c:101 builtin/init-db.c:475
+#: builtin/clone.c:104 builtin/init-db.c:476
 msgid "template-directory"
 msgstr ""
 
-#: builtin/clone.c:102 builtin/init-db.c:476
+#: builtin/clone.c:105 builtin/init-db.c:477
 msgid "directory from which templates will be used"
 msgstr ""
 
-#: builtin/clone.c:104 builtin/clone.c:106 builtin/submodule--helper.c:642
-#: builtin/submodule--helper.c:983
+#: builtin/clone.c:107 builtin/clone.c:109 builtin/submodule--helper.c:873
+#: builtin/submodule--helper.c:1240
 msgid "reference repository"
 msgstr ""
 
-#: builtin/clone.c:108
+#: builtin/clone.c:111
 msgid "use --reference only while cloning"
 msgstr ""
 
-#: builtin/clone.c:109 builtin/column.c:26 builtin/merge-file.c:43
+#: builtin/clone.c:112 builtin/column.c:27 builtin/merge-file.c:44
 msgid "name"
 msgstr ""
 
-#: builtin/clone.c:110
+#: builtin/clone.c:113
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr ""
 
-#: builtin/clone.c:112
+#: builtin/clone.c:115
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr ""
 
-#: builtin/clone.c:114
+#: builtin/clone.c:117
 msgid "path to git-upload-pack on the remote"
 msgstr ""
 
-#: builtin/clone.c:115 builtin/fetch.c:120 builtin/grep.c:1006
-#: builtin/pull.c:202
+#: builtin/clone.c:118 builtin/fetch.c:138 builtin/grep.c:806
+#: builtin/pull.c:211
 msgid "depth"
 msgstr ""
 
-#: builtin/clone.c:116
+#: builtin/clone.c:119
 msgid "create a shallow clone of that depth"
 msgstr ""
 
-#: builtin/clone.c:117 builtin/fetch.c:122 builtin/pack-objects.c:2918
+#: builtin/clone.c:120 builtin/fetch.c:140 builtin/pack-objects.c:2991
 #: parse-options.h:142
 msgid "time"
 msgstr ""
 
-#: builtin/clone.c:118
+#: builtin/clone.c:121
 msgid "create a shallow clone since a specific time"
 msgstr ""
 
-#: builtin/clone.c:119 builtin/fetch.c:124
+#: builtin/clone.c:122 builtin/fetch.c:142
 msgid "revision"
 msgstr ""
 
-#: builtin/clone.c:120 builtin/fetch.c:125
+#: builtin/clone.c:123 builtin/fetch.c:143
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 
-#: builtin/clone.c:122
+#: builtin/clone.c:125
 msgid "clone only one branch, HEAD or --branch"
 msgstr ""
 
-#: builtin/clone.c:124
+#: builtin/clone.c:127
+msgid "don't clone any tags, and make later fetches not to follow them"
+msgstr ""
+
+#: builtin/clone.c:129
 msgid "any cloned submodules will be shallow"
 msgstr ""
 
-#: builtin/clone.c:125 builtin/init-db.c:484
+#: builtin/clone.c:130 builtin/init-db.c:485
 msgid "gitdir"
 msgstr ""
 
-#: builtin/clone.c:126 builtin/init-db.c:485
+#: builtin/clone.c:131 builtin/init-db.c:486
 msgid "separate git dir from working tree"
 msgstr ""
 
-#: builtin/clone.c:127
+#: builtin/clone.c:132
 msgid "key=value"
 msgstr ""
 
-#: builtin/clone.c:128
+#: builtin/clone.c:133
 msgid "set config inside the new repository"
 msgstr ""
 
-#: builtin/clone.c:129 builtin/fetch.c:140 builtin/push.c:550
+#: builtin/clone.c:134 builtin/fetch.c:160 builtin/pull.c:224
+#: builtin/push.c:567
 msgid "use IPv4 addresses only"
 msgstr ""
 
-#: builtin/clone.c:131 builtin/fetch.c:142 builtin/push.c:552
+#: builtin/clone.c:136 builtin/fetch.c:162 builtin/pull.c:227
+#: builtin/push.c:569
 msgid "use IPv6 addresses only"
 msgstr ""
 
-#: builtin/clone.c:268
+#: builtin/clone.c:273
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
 msgstr ""
 
-#: builtin/clone.c:321
+#: builtin/clone.c:326
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr ""
 
-#: builtin/clone.c:393
+#: builtin/clone.c:398
 #, c-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: builtin/clone.c:401
+#: builtin/clone.c:406
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr ""
 
-#: builtin/clone.c:415
+#: builtin/clone.c:420
 #, c-format
 msgid "failed to stat %s\n"
 msgstr ""
 
-#: builtin/clone.c:437
+#: builtin/clone.c:442
 #, c-format
 msgid "failed to create link '%s'"
 msgstr ""
 
-#: builtin/clone.c:441
+#: builtin/clone.c:446
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr ""
 
-#: builtin/clone.c:466
+#: builtin/clone.c:472
 #, c-format
 msgid "done.\n"
 msgstr ""
 
-#: builtin/clone.c:478
+#: builtin/clone.c:484
 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"
 msgstr ""
 
-#: builtin/clone.c:555
+#: builtin/clone.c:561
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr ""
 
-#: builtin/clone.c:650
+#: builtin/clone.c:656
 msgid "remote did not send all necessary objects"
 msgstr ""
 
-#: builtin/clone.c:666
+#: builtin/clone.c:672
 #, c-format
 msgid "unable to update %s"
 msgstr ""
 
-#: builtin/clone.c:715
+#: builtin/clone.c:721
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 
-#: builtin/clone.c:746
+#: builtin/clone.c:751
 msgid "unable to checkout working tree"
 msgstr ""
 
-#: builtin/clone.c:786
+#: builtin/clone.c:796
 msgid "unable to write parameters to config file"
 msgstr ""
 
-#: builtin/clone.c:849
+#: builtin/clone.c:859
 msgid "cannot repack to clean up"
 msgstr ""
 
-#: builtin/clone.c:851
+#: builtin/clone.c:861
 msgid "cannot unlink temporary alternates file"
 msgstr ""
 
-#: builtin/clone.c:884 builtin/receive-pack.c:1900
+#: builtin/clone.c:894 builtin/receive-pack.c:1945
 msgid "Too many arguments."
 msgstr ""
 
-#: builtin/clone.c:888
+#: builtin/clone.c:898
 msgid "You must specify a repository to clone."
 msgstr ""
 
-#: builtin/clone.c:901
+#: builtin/clone.c:911
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr ""
 
-#: builtin/clone.c:904
+#: builtin/clone.c:914
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr ""
 
-#: builtin/clone.c:917
+#: builtin/clone.c:927
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr ""
 
-#: builtin/clone.c:923 builtin/fetch.c:1337
+#: builtin/clone.c:933 builtin/fetch.c:1358
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr ""
 
-#: builtin/clone.c:933
+#: builtin/clone.c:943
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 
-#: builtin/clone.c:943
+#: builtin/clone.c:953
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr ""
 
-#: builtin/clone.c:958 builtin/clone.c:969 builtin/difftool.c:252
-#: builtin/worktree.c:221 builtin/worktree.c:251
+#: builtin/clone.c:968 builtin/clone.c:979 builtin/difftool.c:270
+#: builtin/worktree.c:253 builtin/worktree.c:283
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr ""
 
-#: builtin/clone.c:961
+#: builtin/clone.c:971
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr ""
 
-#: builtin/clone.c:973
+#: builtin/clone.c:983
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:975
+#: builtin/clone.c:985
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:999
+#: builtin/clone.c:1009
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr ""
 
-#: builtin/clone.c:1055
+#: builtin/clone.c:1071
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1057
+#: builtin/clone.c:1073
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1059
+#: builtin/clone.c:1075
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1062
+#: builtin/clone.c:1078
 msgid "source repository is shallow, ignoring --local"
 msgstr ""
 
-#: builtin/clone.c:1067
+#: builtin/clone.c:1083
 msgid "--local is ignored"
 msgstr ""
 
-#: builtin/clone.c:1071
-#, c-format
-msgid "Don't know how to clone %s"
-msgstr ""
-
-#: builtin/clone.c:1126 builtin/clone.c:1134
+#: builtin/clone.c:1139 builtin/clone.c:1147
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr ""
 
-#: builtin/clone.c:1137
+#: builtin/clone.c:1150
 msgid "You appear to have cloned an empty repository."
 msgstr ""
 
-#: builtin/column.c:9
+#: builtin/column.c:10
 msgid "git column [<options>]"
 msgstr ""
 
-#: builtin/column.c:26
+#: builtin/column.c:27
 msgid "lookup config vars"
 msgstr ""
 
-#: builtin/column.c:27 builtin/column.c:28
+#: builtin/column.c:28 builtin/column.c:29
 msgid "layout to use"
 msgstr ""
 
-#: builtin/column.c:29
+#: builtin/column.c:30
 msgid "Maximum width"
 msgstr ""
 
-#: builtin/column.c:30
+#: builtin/column.c:31
 msgid "Padding space on left border"
 msgstr ""
 
-#: builtin/column.c:31
+#: builtin/column.c:32
 msgid "Padding space on right border"
 msgstr ""
 
-#: builtin/column.c:32
+#: builtin/column.c:33
 msgid "Padding space between columns"
 msgstr ""
 
-#: builtin/column.c:51
+#: builtin/column.c:52
 msgid "--command must be the first argument"
 msgstr ""
 
-#: builtin/commit.c:38
+#: builtin/commit.c:39
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr ""
 
-#: builtin/commit.c:43
+#: builtin/commit.c:44
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr ""
 
-#: builtin/commit.c:48
+#: builtin/commit.c:49
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6340,7 +6589,7 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 
-#: builtin/commit.c:61
+#: builtin/commit.c:62
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6354,14 +6603,14 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 
-#: builtin/commit.c:73
+#: builtin/commit.c:74
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
 "remove the commit entirely with \"git reset HEAD^\".\n"
 msgstr ""
 
-#: builtin/commit.c:78
+#: builtin/commit.c:79
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -6370,11 +6619,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/commit.c:85
+#: builtin/commit.c:86
 msgid "Otherwise, please use 'git reset'\n"
 msgstr ""
 
-#: builtin/commit.c:88
+#: builtin/commit.c:89
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -6404,78 +6653,78 @@ msgstr ""
 msgid "Failed to update main cache tree"
 msgstr ""
 
-#: builtin/commit.c:404 builtin/commit.c:427 builtin/commit.c:476
+#: builtin/commit.c:405 builtin/commit.c:429 builtin/commit.c:478
 msgid "unable to write new_index file"
 msgstr ""
 
-#: builtin/commit.c:458
+#: builtin/commit.c:461
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 
-#: builtin/commit.c:460
+#: builtin/commit.c:463
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 
-#: builtin/commit.c:469
+#: builtin/commit.c:471
 msgid "cannot read the index"
 msgstr ""
 
-#: builtin/commit.c:488
+#: builtin/commit.c:490
 msgid "unable to write temporary index file"
 msgstr ""
 
-#: builtin/commit.c:582
+#: builtin/commit.c:587
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr ""
 
-#: builtin/commit.c:584
+#: builtin/commit.c:589
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr ""
 
-#: builtin/commit.c:603
+#: builtin/commit.c:608
 msgid "malformed --author parameter"
 msgstr ""
 
-#: builtin/commit.c:655
+#: builtin/commit.c:660
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr ""
 
-#: builtin/commit.c:692 builtin/commit.c:725 builtin/commit.c:1096
+#: builtin/commit.c:697 builtin/commit.c:730 builtin/commit.c:1114
 #, c-format
 msgid "could not lookup commit %s"
 msgstr ""
 
-#: builtin/commit.c:704 builtin/shortlog.c:294
+#: builtin/commit.c:709 builtin/shortlog.c:309
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr ""
 
-#: builtin/commit.c:706
+#: builtin/commit.c:711
 msgid "could not read log from standard input"
 msgstr ""
 
-#: builtin/commit.c:710
+#: builtin/commit.c:715
 #, c-format
 msgid "could not read log file '%s'"
 msgstr ""
 
-#: builtin/commit.c:737 builtin/commit.c:745
+#: builtin/commit.c:742 builtin/commit.c:750
 msgid "could not read SQUASH_MSG"
 msgstr ""
 
-#: builtin/commit.c:742
+#: builtin/commit.c:747
 msgid "could not read MERGE_MSG"
 msgstr ""
 
-#: builtin/commit.c:796
+#: builtin/commit.c:801
 msgid "could not write commit template"
 msgstr ""
 
-#: builtin/commit.c:814
+#: builtin/commit.c:819
 #, c-format
 msgid ""
 "\n"
@@ -6485,7 +6734,7 @@ msgid ""
 "and try again.\n"
 msgstr ""
 
-#: builtin/commit.c:819
+#: builtin/commit.c:824
 #, c-format
 msgid ""
 "\n"
@@ -6495,14 +6744,14 @@ msgid ""
 "and try again.\n"
 msgstr ""
 
-#: builtin/commit.c:832
+#: builtin/commit.c:837
 #, 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:839
+#: builtin/commit.c:844
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -6510,484 +6759,504 @@ msgid ""
 "An empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/commit.c:859
+#: builtin/commit.c:861
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr ""
 
-#: builtin/commit.c:867
+#: builtin/commit.c:869
 #, c-format
 msgid "%sDate:      %s"
 msgstr ""
 
-#: builtin/commit.c:874
+#: builtin/commit.c:876
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr ""
 
-#: builtin/commit.c:892
+#: builtin/commit.c:893
 msgid "Cannot read index"
 msgstr ""
 
-#: builtin/commit.c:954
+#: builtin/commit.c:959
 msgid "Error building trees"
 msgstr ""
 
-#: builtin/commit.c:968 builtin/tag.c:273
+#: builtin/commit.c:973 builtin/tag.c:252
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr ""
 
-#: builtin/commit.c:1071
+#: builtin/commit.c:1076
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 
-#: builtin/commit.c:1086 builtin/commit.c:1325
+#: builtin/commit.c:1090
+#, c-format
+msgid "Invalid ignored mode '%s'"
+msgstr ""
+
+#: builtin/commit.c:1104 builtin/commit.c:1349
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr ""
 
-#: builtin/commit.c:1124
+#: builtin/commit.c:1142
 msgid "--long and -z are incompatible"
 msgstr ""
 
-#: builtin/commit.c:1154
+#: builtin/commit.c:1172
 msgid "Using both --reset-author and --author does not make sense"
 msgstr ""
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1181
 msgid "You have nothing to amend."
 msgstr ""
 
-#: builtin/commit.c:1166
+#: builtin/commit.c:1184
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 
-#: builtin/commit.c:1168
+#: builtin/commit.c:1186
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 
-#: builtin/commit.c:1171
+#: builtin/commit.c:1189
 msgid "Options --squash and --fixup cannot be used together"
 msgstr ""
 
-#: builtin/commit.c:1181
+#: builtin/commit.c:1199
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr ""
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1201
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr ""
 
-#: builtin/commit.c:1191
+#: builtin/commit.c:1209
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 
-#: builtin/commit.c:1208
+#: builtin/commit.c:1226
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 
-#: builtin/commit.c:1210
+#: builtin/commit.c:1228
 msgid "No paths with --include/--only does not make sense."
 msgstr ""
 
-#: builtin/commit.c:1212
-msgid "Explicit paths specified without -i or -o; assuming --only paths..."
-msgstr ""
-
-#: builtin/commit.c:1224 builtin/tag.c:551
+#: builtin/commit.c:1240 builtin/tag.c:535
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr ""
 
-#: builtin/commit.c:1229
+#: builtin/commit.c:1245
 msgid "Paths with -a does not make sense."
 msgstr ""
 
-#: builtin/commit.c:1339 builtin/commit.c:1612
+#: builtin/commit.c:1363 builtin/commit.c:1648
 msgid "show status concisely"
 msgstr ""
 
-#: builtin/commit.c:1341 builtin/commit.c:1614
+#: builtin/commit.c:1365 builtin/commit.c:1650
 msgid "show branch information"
 msgstr ""
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1367
+msgid "show stash information"
+msgstr ""
+
+#: builtin/commit.c:1369
 msgid "version"
 msgstr ""
 
-#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
-#: builtin/worktree.c:448
+#: builtin/commit.c:1369 builtin/commit.c:1652 builtin/push.c:542
+#: builtin/worktree.c:523
 msgid "machine-readable output"
 msgstr ""
 
-#: builtin/commit.c:1346 builtin/commit.c:1618
+#: builtin/commit.c:1372 builtin/commit.c:1654
 msgid "show status in long format (default)"
 msgstr ""
 
-#: builtin/commit.c:1349 builtin/commit.c:1621
+#: builtin/commit.c:1375 builtin/commit.c:1657
 msgid "terminate entries with NUL"
 msgstr ""
 
-#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:411
+#: builtin/commit.c:1377 builtin/commit.c:1381 builtin/commit.c:1660
+#: builtin/fast-export.c:999 builtin/fast-export.c:1002 builtin/tag.c:390
 msgid "mode"
 msgstr ""
 
-#: builtin/commit.c:1352 builtin/commit.c:1624
+#: builtin/commit.c:1378 builtin/commit.c:1660
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1355
-msgid "show ignored files"
+#: builtin/commit.c:1382
+msgid ""
+"show ignored files, optional modes: traditional, matching, no. (Default: "
+"traditional)"
 msgstr ""
 
-#: builtin/commit.c:1356 parse-options.h:155
+#: builtin/commit.c:1384 parse-options.h:155
 msgid "when"
 msgstr ""
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1385
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1387
 msgid "list untracked files in columns"
 msgstr ""
 
-#: builtin/commit.c:1435
+#: builtin/commit.c:1406
+msgid "Unsupported combination of ignored and untracked-files arguments"
+msgstr ""
+
+#: builtin/commit.c:1469
 msgid "couldn't look up newly created commit"
 msgstr ""
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1471
 msgid "could not parse newly created commit"
 msgstr ""
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1516
+msgid "unable to resolve HEAD after creating commit"
+msgstr ""
+
+#: builtin/commit.c:1518
 msgid "detached HEAD"
 msgstr ""
 
-#: builtin/commit.c:1485
+#: builtin/commit.c:1521
 msgid " (root-commit)"
 msgstr ""
 
-#: builtin/commit.c:1582
+#: builtin/commit.c:1618
 msgid "suppress summary after successful commit"
 msgstr ""
 
-#: builtin/commit.c:1583
+#: builtin/commit.c:1619
 msgid "show diff in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1585
+#: builtin/commit.c:1621
 msgid "Commit message options"
 msgstr ""
 
-#: builtin/commit.c:1586 builtin/tag.c:409
+#: builtin/commit.c:1622 builtin/tag.c:388
 msgid "read message from file"
 msgstr ""
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1623
 msgid "author"
 msgstr ""
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1623
 msgid "override author for commit"
 msgstr ""
 
-#: builtin/commit.c:1588 builtin/gc.c:357
+#: builtin/commit.c:1624 builtin/gc.c:359
 msgid "date"
 msgstr ""
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1624
 msgid "override date for commit"
 msgstr ""
 
-#: builtin/commit.c:1589 builtin/merge.c:221 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:407
+#: builtin/commit.c:1625 builtin/merge.c:225 builtin/notes.c:402
+#: builtin/notes.c:565 builtin/tag.c:386
 msgid "message"
 msgstr ""
 
-#: builtin/commit.c:1589
+#: builtin/commit.c:1625
 msgid "commit message"
 msgstr ""
 
-#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
-#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:77
+#: builtin/commit.c:1626 builtin/commit.c:1627 builtin/commit.c:1628
+#: builtin/commit.c:1629 parse-options.h:257 ref-filter.h:92
 msgid "commit"
 msgstr ""
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1626
 msgid "reuse and edit message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1627
 msgid "reuse message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1628
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1629
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1630
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 
-#: builtin/commit.c:1595 builtin/log.c:1420 builtin/revert.c:104
+#: builtin/commit.c:1631 builtin/log.c:1443 builtin/merge.c:239
+#: builtin/pull.c:149 builtin/revert.c:105
 msgid "add Signed-off-by:"
 msgstr ""
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1632
 msgid "use specified template file"
 msgstr ""
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1633
 msgid "force edit of commit"
 msgstr ""
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1634
 msgid "default"
 msgstr ""
 
-#: builtin/commit.c:1598 builtin/tag.c:412
+#: builtin/commit.c:1634 builtin/tag.c:391
 msgid "how to strip spaces and #comments from message"
 msgstr ""
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1635
 msgid "include status in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1601 builtin/merge.c:233 builtin/pull.c:166
-#: builtin/revert.c:112
+#: builtin/commit.c:1637 builtin/merge.c:237 builtin/pull.c:179
+#: builtin/revert.c:113
 msgid "GPG sign commit"
 msgstr ""
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1640
 msgid "Commit contents options"
 msgstr ""
 
-#: builtin/commit.c:1605
+#: builtin/commit.c:1641
 msgid "commit all changed files"
 msgstr ""
 
-#: builtin/commit.c:1606
+#: builtin/commit.c:1642
 msgid "add specified files to index for commit"
 msgstr ""
 
-#: builtin/commit.c:1607
+#: builtin/commit.c:1643
 msgid "interactively add files"
 msgstr ""
 
-#: builtin/commit.c:1608
+#: builtin/commit.c:1644
 msgid "interactively add changes"
 msgstr ""
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1645
 msgid "commit only specified files"
 msgstr ""
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1646
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr ""
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1647
 msgid "show what would be committed"
 msgstr ""
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1658
 msgid "amend previous commit"
 msgstr ""
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1659
 msgid "bypass post-rewrite hook"
 msgstr ""
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1664
 msgid "ok to record an empty change"
 msgstr ""
 
-#: builtin/commit.c:1630
+#: builtin/commit.c:1666
 msgid "ok to record a change with an empty message"
 msgstr ""
 
-#: builtin/commit.c:1659
+#: builtin/commit.c:1696
 msgid "could not parse HEAD commit"
 msgstr ""
 
-#: builtin/commit.c:1707
+#: builtin/commit.c:1741
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr ""
 
-#: builtin/commit.c:1714
+#: builtin/commit.c:1748
 msgid "could not read MERGE_MODE"
 msgstr ""
 
-#: builtin/commit.c:1733
+#: builtin/commit.c:1767
 #, c-format
 msgid "could not read commit message: %s"
 msgstr ""
 
-#: builtin/commit.c:1744
+#: builtin/commit.c:1778
 #, c-format
-msgid "Aborting commit; you did not edit the message.\n"
+msgid "Aborting commit due to empty commit message.\n"
 msgstr ""
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1783
 #, c-format
-msgid "Aborting commit due to empty commit message.\n"
+msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 
-#: builtin/commit.c:1797
+#: builtin/commit.c:1831
 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/config.c:9
+#: builtin/config.c:10
 msgid "git config [<options>]"
 msgstr ""
 
-#: builtin/config.c:56
+#: builtin/config.c:58
 msgid "Config file location"
 msgstr ""
 
-#: builtin/config.c:57
+#: builtin/config.c:59
 msgid "use global config file"
 msgstr ""
 
-#: builtin/config.c:58
+#: builtin/config.c:60
 msgid "use system config file"
 msgstr ""
 
-#: builtin/config.c:59
+#: builtin/config.c:61
 msgid "use repository config file"
 msgstr ""
 
-#: builtin/config.c:60
+#: builtin/config.c:62
 msgid "use given config file"
 msgstr ""
 
-#: builtin/config.c:61
+#: builtin/config.c:63
 msgid "blob-id"
 msgstr ""
 
-#: builtin/config.c:61
+#: builtin/config.c:63
 msgid "read config from given blob object"
 msgstr ""
 
-#: builtin/config.c:62
+#: builtin/config.c:64
 msgid "Action"
 msgstr ""
 
-#: builtin/config.c:63
+#: builtin/config.c:65
 msgid "get value: name [value-regex]"
 msgstr ""
 
-#: builtin/config.c:64
+#: builtin/config.c:66
 msgid "get all values: key [value-regex]"
 msgstr ""
 
-#: builtin/config.c:65
+#: builtin/config.c:67
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr ""
 
-#: builtin/config.c:66
+#: builtin/config.c:68
 msgid "get value specific for the URL: section[.var] URL"
 msgstr ""
 
-#: builtin/config.c:67
+#: builtin/config.c:69
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 
-#: builtin/config.c:68
+#: builtin/config.c:70
 msgid "add a new variable: name value"
 msgstr ""
 
-#: builtin/config.c:69
+#: builtin/config.c:71
 msgid "remove a variable: name [value-regex]"
 msgstr ""
 
-#: builtin/config.c:70
+#: builtin/config.c:72
 msgid "remove all matches: name [value-regex]"
 msgstr ""
 
-#: builtin/config.c:71
+#: builtin/config.c:73
 msgid "rename section: old-name new-name"
 msgstr ""
 
-#: builtin/config.c:72
+#: builtin/config.c:74
 msgid "remove a section: name"
 msgstr ""
 
-#: builtin/config.c:73
+#: builtin/config.c:75
 msgid "list all"
 msgstr ""
 
-#: builtin/config.c:74
+#: builtin/config.c:76
 msgid "open an editor"
 msgstr ""
 
-#: builtin/config.c:75
+#: builtin/config.c:77
 msgid "find the color configured: slot [default]"
 msgstr ""
 
-#: builtin/config.c:76
+#: builtin/config.c:78
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr ""
 
-#: builtin/config.c:77
+#: builtin/config.c:79
 msgid "Type"
 msgstr ""
 
-#: builtin/config.c:78
+#: builtin/config.c:80
 msgid "value is \"true\" or \"false\""
 msgstr ""
 
-#: builtin/config.c:79
+#: builtin/config.c:81
 msgid "value is decimal number"
 msgstr ""
 
-#: builtin/config.c:80
+#: builtin/config.c:82
 msgid "value is --bool or --int"
 msgstr ""
 
-#: builtin/config.c:81
+#: builtin/config.c:83
 msgid "value is a path (file or directory name)"
 msgstr ""
 
-#: builtin/config.c:82
+#: builtin/config.c:84
+msgid "value is an expiry date"
+msgstr ""
+
+#: builtin/config.c:85
 msgid "Other"
 msgstr ""
 
-#: builtin/config.c:83
+#: builtin/config.c:86
 msgid "terminate values with NUL byte"
 msgstr ""
 
-#: builtin/config.c:84
+#: builtin/config.c:87
 msgid "show variable names only"
 msgstr ""
 
-#: builtin/config.c:85
+#: builtin/config.c:88
 msgid "respect include directives on lookup"
 msgstr ""
 
-#: builtin/config.c:86
+#: builtin/config.c:89
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 
-#: builtin/config.c:328
+#: builtin/config.c:335
 msgid "unable to parse default color value"
 msgstr ""
 
-#: builtin/config.c:472
+#: builtin/config.c:479
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -6997,181 +7266,190 @@ msgid ""
 "#\temail = %s\n"
 msgstr ""
 
-#: builtin/config.c:615
+#: builtin/config.c:507
+msgid "--local can only be used inside a git repository"
+msgstr ""
+
+#: builtin/config.c:632
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr ""
 
-#: builtin/config.c:627
+#: builtin/config.c:645
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
 "       Use a regexp, --add or --replace-all to change %s."
 msgstr ""
 
-#: builtin/count-objects.c:86
+#: builtin/count-objects.c:88
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr ""
 
-#: builtin/count-objects.c:96
+#: builtin/count-objects.c:98
 msgid "print sizes in human readable format"
 msgstr ""
 
-#: builtin/describe.c:18
+#: builtin/describe.c:22
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr ""
 
-#: builtin/describe.c:19
+#: builtin/describe.c:23
 msgid "git describe [<options>] --dirty"
 msgstr ""
 
-#: builtin/describe.c:53
+#: builtin/describe.c:57
 msgid "head"
 msgstr ""
 
-#: builtin/describe.c:53
+#: builtin/describe.c:57
 msgid "lightweight"
 msgstr ""
 
-#: builtin/describe.c:53
+#: builtin/describe.c:57
 msgid "annotated"
 msgstr ""
 
-#: builtin/describe.c:250
+#: builtin/describe.c:267
 #, c-format
 msgid "annotated tag %s not available"
 msgstr ""
 
-#: builtin/describe.c:254
+#: builtin/describe.c:271
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr ""
 
-#: builtin/describe.c:256
+#: builtin/describe.c:273
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr ""
 
-#: builtin/describe.c:283 builtin/log.c:487
-#, c-format
-msgid "Not a valid object name %s"
-msgstr ""
-
-#: builtin/describe.c:286
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr ""
-
-#: builtin/describe.c:303
+#: builtin/describe.c:314
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr ""
 
-#: builtin/describe.c:305
+#: builtin/describe.c:316
 #, c-format
-msgid "searching to describe %s\n"
+msgid "No exact match on refs or tags, searching to describe\n"
 msgstr ""
 
-#: builtin/describe.c:352
+#: builtin/describe.c:363
 #, c-format
 msgid "finished search at %s\n"
 msgstr ""
 
-#: builtin/describe.c:379
+#: builtin/describe.c:389
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr ""
 
-#: builtin/describe.c:383
+#: builtin/describe.c:393
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr ""
 
-#: builtin/describe.c:413
+#: builtin/describe.c:423
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr ""
 
-#: builtin/describe.c:416
+#: builtin/describe.c:426
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
 "gave up search at %s\n"
 msgstr ""
 
-#: builtin/describe.c:438
+#: builtin/describe.c:494
+#, c-format
+msgid "describe %s\n"
+msgstr ""
+
+#: builtin/describe.c:497 builtin/log.c:500
+#, c-format
+msgid "Not a valid object name %s"
+msgstr ""
+
+#: builtin/describe.c:505
+#, c-format
+msgid "%s is neither a commit nor blob"
+msgstr ""
+
+#: builtin/describe.c:519
 msgid "find the tag that comes after the commit"
 msgstr ""
 
-#: builtin/describe.c:439
+#: builtin/describe.c:520
 msgid "debug search strategy on stderr"
 msgstr ""
 
-#: builtin/describe.c:440
+#: builtin/describe.c:521
 msgid "use any ref"
 msgstr ""
 
-#: builtin/describe.c:441
+#: builtin/describe.c:522
 msgid "use any tag, even unannotated"
 msgstr ""
 
-#: builtin/describe.c:442
+#: builtin/describe.c:523
 msgid "always use long format"
 msgstr ""
 
-#: builtin/describe.c:443
+#: builtin/describe.c:524
 msgid "only follow first parent"
 msgstr ""
 
-#: builtin/describe.c:446
+#: builtin/describe.c:527
 msgid "only output exact matches"
 msgstr ""
 
-#: builtin/describe.c:448
+#: builtin/describe.c:529
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 
-#: builtin/describe.c:450
+#: builtin/describe.c:531
 msgid "only consider tags matching <pattern>"
 msgstr ""
 
-#: builtin/describe.c:452
+#: builtin/describe.c:533
 msgid "do not consider tags matching <pattern>"
 msgstr ""
 
-#: builtin/describe.c:454 builtin/name-rev.c:357
+#: builtin/describe.c:535 builtin/name-rev.c:406
 msgid "show abbreviated commit object as fallback"
 msgstr ""
 
-#: builtin/describe.c:455 builtin/describe.c:458
+#: builtin/describe.c:536 builtin/describe.c:539
 msgid "mark"
 msgstr ""
 
-#: builtin/describe.c:456
+#: builtin/describe.c:537
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr ""
 
-#: builtin/describe.c:459
+#: builtin/describe.c:540
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr ""
 
-#: builtin/describe.c:477
+#: builtin/describe.c:558
 msgid "--long is incompatible with --abbrev=0"
 msgstr ""
 
-#: builtin/describe.c:506
+#: builtin/describe.c:587
 msgid "No names found, cannot describe anything."
 msgstr ""
 
-#: builtin/describe.c:549
+#: builtin/describe.c:637
 msgid "--dirty is incompatible with commit-ishes"
 msgstr ""
 
-#: builtin/describe.c:551
+#: builtin/describe.c:639
 msgid "--broken is incompatible with commit-ishes"
 msgstr ""
 
@@ -7185,603 +7463,604 @@ msgstr ""
 msgid "invalid option: %s"
 msgstr ""
 
-#: builtin/diff.c:358
+#: builtin/diff.c:356
 msgid "Not a git repository"
 msgstr ""
 
-#: builtin/diff.c:401
+#: builtin/diff.c:399
 #, c-format
 msgid "invalid object '%s' given."
 msgstr ""
 
-#: builtin/diff.c:410
+#: builtin/diff.c:408
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr ""
 
-#: builtin/diff.c:417
+#: builtin/diff.c:413
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr ""
 
-#: builtin/difftool.c:28
+#: builtin/difftool.c:29
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr ""
 
-#: builtin/difftool.c:241
+#: builtin/difftool.c:259
 #, c-format
 msgid "failed: %d"
 msgstr ""
 
-#: builtin/difftool.c:283
+#: builtin/difftool.c:301
 #, c-format
 msgid "could not read symlink %s"
 msgstr ""
 
-#: builtin/difftool.c:285
+#: builtin/difftool.c:303
 #, c-format
 msgid "could not read symlink file %s"
 msgstr ""
 
-#: builtin/difftool.c:293
+#: builtin/difftool.c:311
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr ""
 
-#: builtin/difftool.c:395
+#: builtin/difftool.c:412
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
 msgstr ""
 
-#: builtin/difftool.c:609
+#: builtin/difftool.c:632
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr ""
 
-#: builtin/difftool.c:611
+#: builtin/difftool.c:634
 msgid "working tree file has been left."
 msgstr ""
 
-#: builtin/difftool.c:622
+#: builtin/difftool.c:645
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr ""
 
-#: builtin/difftool.c:623
+#: builtin/difftool.c:646
 msgid "you may want to cleanup or recover these."
 msgstr ""
 
-#: builtin/difftool.c:669
+#: builtin/difftool.c:695
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr ""
 
-#: builtin/difftool.c:671
+#: builtin/difftool.c:697
 msgid "perform a full-directory diff"
 msgstr ""
 
-#: builtin/difftool.c:673
+#: builtin/difftool.c:699
 msgid "do not prompt before launching a diff tool"
 msgstr ""
 
-#: builtin/difftool.c:679
+#: builtin/difftool.c:705
 msgid "use symlinks in dir-diff mode"
 msgstr ""
 
-#: builtin/difftool.c:680
+#: builtin/difftool.c:706
 msgid "<tool>"
 msgstr ""
 
-#: builtin/difftool.c:681
+#: builtin/difftool.c:707
 msgid "use the specified diff tool"
 msgstr ""
 
-#: builtin/difftool.c:683
+#: builtin/difftool.c:709
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr ""
 
-#: builtin/difftool.c:686
+#: builtin/difftool.c:712
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr ""
 
-#: builtin/difftool.c:688
+#: builtin/difftool.c:714
 msgid "<command>"
 msgstr ""
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:715
 msgid "specify a custom command for viewing diffs"
 msgstr ""
 
-#: builtin/difftool.c:713
+#: builtin/difftool.c:739
 msgid "no <tool> given for --tool=<tool>"
 msgstr ""
 
-#: builtin/difftool.c:720
+#: builtin/difftool.c:746
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr ""
 
-#: builtin/fast-export.c:25
+#: builtin/fast-export.c:26
 msgid "git fast-export [rev-list-opts]"
 msgstr ""
 
-#: builtin/fast-export.c:980
+#: builtin/fast-export.c:998
 msgid "show progress after <n> objects"
 msgstr ""
 
-#: builtin/fast-export.c:982
+#: builtin/fast-export.c:1000
 msgid "select handling of signed tags"
 msgstr ""
 
-#: builtin/fast-export.c:985
+#: builtin/fast-export.c:1003
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 
-#: builtin/fast-export.c:988
+#: builtin/fast-export.c:1006
 msgid "Dump marks to this file"
 msgstr ""
 
-#: builtin/fast-export.c:990
+#: builtin/fast-export.c:1008
 msgid "Import marks from this file"
 msgstr ""
 
-#: builtin/fast-export.c:992
+#: builtin/fast-export.c:1010
 msgid "Fake a tagger when tags lack one"
 msgstr ""
 
-#: builtin/fast-export.c:994
+#: builtin/fast-export.c:1012
 msgid "Output full tree for each commit"
 msgstr ""
 
-#: builtin/fast-export.c:996
+#: builtin/fast-export.c:1014
 msgid "Use the done feature to terminate the stream"
 msgstr ""
 
-#: builtin/fast-export.c:997
+#: builtin/fast-export.c:1015
 msgid "Skip output of blob data"
 msgstr ""
 
-#: builtin/fast-export.c:998
+#: builtin/fast-export.c:1016
 msgid "refspec"
 msgstr ""
 
-#: builtin/fast-export.c:999
+#: builtin/fast-export.c:1017
 msgid "Apply refspec to exported refs"
 msgstr ""
 
-#: builtin/fast-export.c:1000
+#: builtin/fast-export.c:1018
 msgid "anonymize output"
 msgstr ""
 
-#: builtin/fetch.c:21
+#: builtin/fetch.c:24
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/fetch.c:22
+#: builtin/fetch.c:25
 msgid "git fetch [<options>] <group>"
 msgstr ""
 
-#: builtin/fetch.c:23
+#: builtin/fetch.c:26
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr ""
 
-#: builtin/fetch.c:24
+#: builtin/fetch.c:27
 msgid "git fetch --all [<options>]"
 msgstr ""
 
-#: builtin/fetch.c:95 builtin/pull.c:175
+#: builtin/fetch.c:113 builtin/pull.c:188
 msgid "fetch from all remotes"
 msgstr ""
 
-#: builtin/fetch.c:97 builtin/pull.c:178
+#: builtin/fetch.c:115 builtin/pull.c:191
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr ""
 
-#: builtin/fetch.c:99 builtin/pull.c:181
+#: builtin/fetch.c:117 builtin/pull.c:194
 msgid "path to upload pack on remote end"
 msgstr ""
 
-#: builtin/fetch.c:100 builtin/pull.c:183
+#: builtin/fetch.c:118 builtin/pull.c:196
 msgid "force overwrite of local branch"
 msgstr ""
 
-#: builtin/fetch.c:102
+#: builtin/fetch.c:120
 msgid "fetch from multiple remotes"
 msgstr ""
 
-#: builtin/fetch.c:104 builtin/pull.c:185
+#: builtin/fetch.c:122 builtin/pull.c:198
 msgid "fetch all tags and associated objects"
 msgstr ""
 
-#: builtin/fetch.c:106
+#: builtin/fetch.c:124
 msgid "do not fetch all tags (--no-tags)"
 msgstr ""
 
-#: builtin/fetch.c:108
+#: builtin/fetch.c:126
 msgid "number of submodules fetched in parallel"
 msgstr ""
 
-#: builtin/fetch.c:110 builtin/pull.c:188
+#: builtin/fetch.c:128 builtin/pull.c:201
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 
-#: builtin/fetch.c:111 builtin/pull.c:191
+#: builtin/fetch.c:129 builtin/fetch.c:152 builtin/pull.c:126
 msgid "on-demand"
 msgstr ""
 
-#: builtin/fetch.c:112 builtin/pull.c:192
+#: builtin/fetch.c:130
 msgid "control recursive fetching of submodules"
 msgstr ""
 
-#: builtin/fetch.c:116 builtin/pull.c:200
+#: builtin/fetch.c:134 builtin/pull.c:209
 msgid "keep downloaded pack"
 msgstr ""
 
-#: builtin/fetch.c:118
+#: builtin/fetch.c:136
 msgid "allow updating of HEAD ref"
 msgstr ""
 
-#: builtin/fetch.c:121 builtin/fetch.c:127 builtin/pull.c:203
+#: builtin/fetch.c:139 builtin/fetch.c:145 builtin/pull.c:212
 msgid "deepen history of shallow clone"
 msgstr ""
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:141
 msgid "deepen history of shallow repository based on time"
 msgstr ""
 
-#: builtin/fetch.c:129 builtin/pull.c:206
+#: builtin/fetch.c:147 builtin/pull.c:215
 msgid "convert to a complete repository"
 msgstr ""
 
-#: builtin/fetch.c:131 builtin/log.c:1440
+#: builtin/fetch.c:149 builtin/log.c:1463
 msgid "dir"
 msgstr ""
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:150
 msgid "prepend this to submodule path output"
 msgstr ""
 
-#: builtin/fetch.c:135
-msgid "default mode for recursion"
+#: builtin/fetch.c:153
+msgid ""
+"default for recursive fetching of submodules (lower priority than config "
+"files)"
 msgstr ""
 
-#: builtin/fetch.c:137 builtin/pull.c:209
+#: builtin/fetch.c:157 builtin/pull.c:218
 msgid "accept refs that update .git/shallow"
 msgstr ""
 
-#: builtin/fetch.c:138 builtin/pull.c:211
+#: builtin/fetch.c:158 builtin/pull.c:220
 msgid "refmap"
 msgstr ""
 
-#: builtin/fetch.c:139 builtin/pull.c:212
+#: builtin/fetch.c:159 builtin/pull.c:221
 msgid "specify fetch refmap"
 msgstr ""
 
-#: builtin/fetch.c:395
+#: builtin/fetch.c:417
 msgid "Couldn't find remote ref HEAD"
 msgstr ""
 
-#: builtin/fetch.c:513
+#: builtin/fetch.c:535
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 
-#: builtin/fetch.c:606
+#: builtin/fetch.c:628
 #, c-format
 msgid "object %s not found"
 msgstr ""
 
-#: builtin/fetch.c:610
+#: builtin/fetch.c:632
 msgid "[up to date]"
 msgstr ""
 
-#: builtin/fetch.c:623 builtin/fetch.c:703
+#: builtin/fetch.c:645 builtin/fetch.c:725
 msgid "[rejected]"
 msgstr ""
 
-#: builtin/fetch.c:624
+#: builtin/fetch.c:646
 msgid "can't fetch in current branch"
 msgstr ""
 
-#: builtin/fetch.c:633
+#: builtin/fetch.c:655
 msgid "[tag update]"
 msgstr ""
 
-#: builtin/fetch.c:634 builtin/fetch.c:667 builtin/fetch.c:683
-#: builtin/fetch.c:698
+#: builtin/fetch.c:656 builtin/fetch.c:689 builtin/fetch.c:705
+#: builtin/fetch.c:720
 msgid "unable to update local ref"
 msgstr ""
 
-#: builtin/fetch.c:653
+#: builtin/fetch.c:675
 msgid "[new tag]"
 msgstr ""
 
-#: builtin/fetch.c:656
+#: builtin/fetch.c:678
 msgid "[new branch]"
 msgstr ""
 
-#: builtin/fetch.c:659
+#: builtin/fetch.c:681
 msgid "[new ref]"
 msgstr ""
 
-#: builtin/fetch.c:698
+#: builtin/fetch.c:720
 msgid "forced update"
 msgstr ""
 
-#: builtin/fetch.c:703
+#: builtin/fetch.c:725
 msgid "non-fast-forward"
 msgstr ""
 
-#: builtin/fetch.c:748
+#: builtin/fetch.c:770
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr ""
 
-#: builtin/fetch.c:768
+#: builtin/fetch.c:790
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 
-#: builtin/fetch.c:855 builtin/fetch.c:951
+#: builtin/fetch.c:878 builtin/fetch.c:974
 #, c-format
 msgid "From %.*s\n"
 msgstr ""
 
-#: builtin/fetch.c:866
+#: builtin/fetch.c:889
 #, 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:921
+#: builtin/fetch.c:944
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:922
+#: builtin/fetch.c:945
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:954
+#: builtin/fetch.c:977
 msgid "[deleted]"
 msgstr ""
 
-#: builtin/fetch.c:955 builtin/remote.c:1022
+#: builtin/fetch.c:978 builtin/remote.c:1024
 msgid "(none)"
 msgstr ""
 
-#: builtin/fetch.c:978
+#: builtin/fetch.c:1001
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 
-#: builtin/fetch.c:997
+#: builtin/fetch.c:1020
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr ""
 
-#: builtin/fetch.c:1000
+#: builtin/fetch.c:1023
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1076
-#, c-format
-msgid "Don't know how to fetch from %s"
-msgstr ""
-
-#: builtin/fetch.c:1236
+#: builtin/fetch.c:1256
 #, c-format
 msgid "Fetching %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1238 builtin/remote.c:96
+#: builtin/fetch.c:1258 builtin/remote.c:97
 #, c-format
 msgid "Could not fetch %s"
 msgstr ""
 
-#: builtin/fetch.c:1256
+#: builtin/fetch.c:1276
 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:1279
+#: builtin/fetch.c:1299
 msgid "You need to specify a tag name."
 msgstr ""
 
-#: builtin/fetch.c:1321
+#: builtin/fetch.c:1342
 msgid "Negative depth in --deepen is not supported"
 msgstr ""
 
-#: builtin/fetch.c:1323
+#: builtin/fetch.c:1344
 msgid "--deepen and --depth are mutually exclusive"
 msgstr ""
 
-#: builtin/fetch.c:1328
+#: builtin/fetch.c:1349
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 
-#: builtin/fetch.c:1330
+#: builtin/fetch.c:1351
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1352
+#: builtin/fetch.c:1364
 msgid "fetch --all does not take a repository argument"
 msgstr ""
 
-#: builtin/fetch.c:1354
+#: builtin/fetch.c:1366
 msgid "fetch --all does not make sense with refspecs"
 msgstr ""
 
-#: builtin/fetch.c:1365
+#: builtin/fetch.c:1377
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr ""
 
-#: builtin/fetch.c:1373
+#: builtin/fetch.c:1385
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:14
+#: builtin/fmt-merge-msg.c:15
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:663
+#: builtin/fmt-merge-msg.c:666
 msgid "populate log with at most <n> entries from shortlog"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:666
+#: builtin/fmt-merge-msg.c:669
 msgid "alias for --log (deprecated)"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:669
+#: builtin/fmt-merge-msg.c:672
 msgid "text"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:670
+#: builtin/fmt-merge-msg.c:673
 msgid "use <text> as start of message"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674
 msgid "file to read from"
 msgstr ""
 
-#: builtin/for-each-ref.c:9
+#: builtin/for-each-ref.c:10
 msgid "git for-each-ref [<options>] [<pattern>]"
 msgstr ""
 
-#: builtin/for-each-ref.c:10
+#: builtin/for-each-ref.c:11
 msgid "git for-each-ref [--points-at <object>]"
 msgstr ""
 
-#: builtin/for-each-ref.c:11
+#: builtin/for-each-ref.c:12
 msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
 msgstr ""
 
-#: builtin/for-each-ref.c:12
+#: builtin/for-each-ref.c:13
 msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
 msgstr ""
 
-#: builtin/for-each-ref.c:27
+#: builtin/for-each-ref.c:28
 msgid "quote placeholders suitably for shells"
 msgstr ""
 
-#: builtin/for-each-ref.c:29
+#: builtin/for-each-ref.c:30
 msgid "quote placeholders suitably for perl"
 msgstr ""
 
-#: builtin/for-each-ref.c:31
+#: builtin/for-each-ref.c:32
 msgid "quote placeholders suitably for python"
 msgstr ""
 
-#: builtin/for-each-ref.c:33
+#: builtin/for-each-ref.c:34
 msgid "quote placeholders suitably for Tcl"
 msgstr ""
 
-#: builtin/for-each-ref.c:36
+#: builtin/for-each-ref.c:37
 msgid "show only <n> matched refs"
 msgstr ""
 
-#: builtin/for-each-ref.c:41
-msgid "print only refs which points at the given object"
+#: builtin/for-each-ref.c:39 builtin/tag.c:414
+msgid "respect format colors"
 msgstr ""
 
 #: builtin/for-each-ref.c:43
+msgid "print only refs which points at the given object"
+msgstr ""
+
+#: builtin/for-each-ref.c:45
 msgid "print only refs that are merged"
 msgstr ""
 
-#: builtin/for-each-ref.c:44
+#: builtin/for-each-ref.c:46
 msgid "print only refs that are not merged"
 msgstr ""
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:47
 msgid "print only refs which contain the commit"
 msgstr ""
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:48
 msgid "print only refs which don't contain the commit"
 msgstr ""
 
-#: builtin/fsck.c:554
+#: builtin/fsck.c:543
 msgid "Checking object directories"
 msgstr ""
 
-#: builtin/fsck.c:646
+#: builtin/fsck.c:635
 msgid "git fsck [<options>] [<object>...]"
 msgstr ""
 
-#: builtin/fsck.c:652
+#: builtin/fsck.c:641
 msgid "show unreachable objects"
 msgstr ""
 
-#: builtin/fsck.c:653
+#: builtin/fsck.c:642
 msgid "show dangling objects"
 msgstr ""
 
-#: builtin/fsck.c:654
+#: builtin/fsck.c:643
 msgid "report tags"
 msgstr ""
 
-#: builtin/fsck.c:655
+#: builtin/fsck.c:644
 msgid "report root nodes"
 msgstr ""
 
-#: builtin/fsck.c:656
+#: builtin/fsck.c:645
 msgid "make index objects head nodes"
 msgstr ""
 
-#: builtin/fsck.c:657
+#: builtin/fsck.c:646
 msgid "make reflogs head nodes (default)"
 msgstr ""
 
-#: builtin/fsck.c:658
+#: builtin/fsck.c:647
 msgid "also consider packs and alternate objects"
 msgstr ""
 
-#: builtin/fsck.c:659
+#: builtin/fsck.c:648
 msgid "check only connectivity"
 msgstr ""
 
-#: builtin/fsck.c:660
+#: builtin/fsck.c:649
 msgid "enable more strict checking"
 msgstr ""
 
-#: builtin/fsck.c:662
+#: builtin/fsck.c:651
 msgid "write dangling objects in .git/lost-found"
 msgstr ""
 
-#: builtin/fsck.c:663 builtin/prune.c:107
+#: builtin/fsck.c:652 builtin/prune.c:107
 msgid "show progress"
 msgstr ""
 
-#: builtin/fsck.c:664
+#: builtin/fsck.c:653
 msgid "show verbose names for reachable objects"
 msgstr ""
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:714
 msgid "Checking objects"
 msgstr ""
 
-#: builtin/gc.c:25
+#: builtin/gc.c:27
 msgid "git gc [<options>]"
 msgstr ""
 
-#: builtin/gc.c:78
+#: builtin/gc.c:80
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr ""
 
-#: builtin/gc.c:310
+#: builtin/gc.c:312
 #, c-format
 msgid "Can't stat %s"
 msgstr ""
 
-#: builtin/gc.c:319
+#: builtin/gc.c:321
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7791,873 +8070,873 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/gc.c:358
+#: builtin/gc.c:360
 msgid "prune unreferenced objects"
 msgstr ""
 
-#: builtin/gc.c:360
+#: builtin/gc.c:362
 msgid "be more thorough (increased runtime)"
 msgstr ""
 
-#: builtin/gc.c:361
+#: builtin/gc.c:363
 msgid "enable auto-gc mode"
 msgstr ""
 
-#: builtin/gc.c:362
+#: builtin/gc.c:364
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 
-#: builtin/gc.c:379
+#: builtin/gc.c:381
 #, c-format
 msgid "Failed to parse gc.logexpiry value %s"
 msgstr ""
 
-#: builtin/gc.c:407
+#: builtin/gc.c:409
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:409
+#: builtin/gc.c:411
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:410
+#: builtin/gc.c:412
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr ""
 
-#: builtin/gc.c:431
+#: builtin/gc.c:437
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 
-#: builtin/gc.c:475
+#: builtin/gc.c:481
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 
-#: builtin/grep.c:25
+#: builtin/grep.c:27
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr ""
 
-#: builtin/grep.c:232
+#: builtin/grep.c:226
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr ""
 
-#: builtin/grep.c:290
+#: builtin/grep.c:284
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr ""
 
-#: builtin/grep.c:769 builtin/grep.c:810
+#. TRANSLATORS: %s is the configuration
+#. variable for tweaking threads, currently
+#. grep.threads
+#.
+#: builtin/grep.c:293 builtin/index-pack.c:1495 builtin/index-pack.c:1688
+#, c-format
+msgid "no threads support, ignoring %s"
+msgstr ""
+
+#: builtin/grep.c:453 builtin/grep.c:573 builtin/grep.c:615
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr ""
 
-#: builtin/grep.c:829
+#: builtin/grep.c:630
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr ""
 
-#: builtin/grep.c:893
+#: builtin/grep.c:696
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr ""
 
-#: builtin/grep.c:980
+#: builtin/grep.c:783
 msgid "search in index instead of in the work tree"
 msgstr ""
 
-#: builtin/grep.c:982
+#: builtin/grep.c:785
 msgid "find in contents not managed by git"
 msgstr ""
 
-#: builtin/grep.c:984
+#: builtin/grep.c:787
 msgid "search in both tracked and untracked files"
 msgstr ""
 
-#: builtin/grep.c:986
+#: builtin/grep.c:789
 msgid "ignore files specified via '.gitignore'"
 msgstr ""
 
-#: builtin/grep.c:988
+#: builtin/grep.c:791
 msgid "recursively search in each submodule"
 msgstr ""
 
-#: builtin/grep.c:990
-msgid "basename"
-msgstr ""
-
-#: builtin/grep.c:991
-msgid "prepend parent project's basename to output"
-msgstr ""
-
-#: builtin/grep.c:994
+#: builtin/grep.c:794
 msgid "show non-matching lines"
 msgstr ""
 
-#: builtin/grep.c:996
+#: builtin/grep.c:796
 msgid "case insensitive matching"
 msgstr ""
 
-#: builtin/grep.c:998
+#: builtin/grep.c:798
 msgid "match patterns only at word boundaries"
 msgstr ""
 
-#: builtin/grep.c:1000
+#: builtin/grep.c:800
 msgid "process binary files as text"
 msgstr ""
 
-#: builtin/grep.c:1002
+#: builtin/grep.c:802
 msgid "don't match patterns in binary files"
 msgstr ""
 
-#: builtin/grep.c:1005
+#: builtin/grep.c:805
 msgid "process binary files with textconv filters"
 msgstr ""
 
-#: builtin/grep.c:1007
+#: builtin/grep.c:807
 msgid "descend at most <depth> levels"
 msgstr ""
 
-#: builtin/grep.c:1011
+#: builtin/grep.c:811
 msgid "use extended POSIX regular expressions"
 msgstr ""
 
-#: builtin/grep.c:1014
+#: builtin/grep.c:814
 msgid "use basic POSIX regular expressions (default)"
 msgstr ""
 
-#: builtin/grep.c:1017
+#: builtin/grep.c:817
 msgid "interpret patterns as fixed strings"
 msgstr ""
 
-#: builtin/grep.c:1020
+#: builtin/grep.c:820
 msgid "use Perl-compatible regular expressions"
 msgstr ""
 
-#: builtin/grep.c:1023
+#: builtin/grep.c:823
 msgid "show line numbers"
 msgstr ""
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:824
 msgid "don't show filenames"
 msgstr ""
 
-#: builtin/grep.c:1025
+#: builtin/grep.c:825
 msgid "show filenames"
 msgstr ""
 
-#: builtin/grep.c:1027
+#: builtin/grep.c:827
 msgid "show filenames relative to top directory"
 msgstr ""
 
-#: builtin/grep.c:1029
+#: builtin/grep.c:829
 msgid "show only filenames instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:1031
+#: builtin/grep.c:831
 msgid "synonym for --files-with-matches"
 msgstr ""
 
-#: builtin/grep.c:1034
+#: builtin/grep.c:834
 msgid "show only the names of files without match"
 msgstr ""
 
-#: builtin/grep.c:1036
+#: builtin/grep.c:836
 msgid "print NUL after filenames"
 msgstr ""
 
-#: builtin/grep.c:1038
+#: builtin/grep.c:838
 msgid "show the number of matches instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:1039
+#: builtin/grep.c:839
 msgid "highlight matches"
 msgstr ""
 
-#: builtin/grep.c:1041
+#: builtin/grep.c:841
 msgid "print empty line between matches from different files"
 msgstr ""
 
-#: builtin/grep.c:1043
+#: builtin/grep.c:843
 msgid "show filename only once above matches from same file"
 msgstr ""
 
-#: builtin/grep.c:1046
+#: builtin/grep.c:846
 msgid "show <n> context lines before and after matches"
 msgstr ""
 
-#: builtin/grep.c:1049
+#: builtin/grep.c:849
 msgid "show <n> context lines before matches"
 msgstr ""
 
-#: builtin/grep.c:1051
+#: builtin/grep.c:851
 msgid "show <n> context lines after matches"
 msgstr ""
 
-#: builtin/grep.c:1053
+#: builtin/grep.c:853
 msgid "use <n> worker threads"
 msgstr ""
 
-#: builtin/grep.c:1054
+#: builtin/grep.c:854
 msgid "shortcut for -C NUM"
 msgstr ""
 
-#: builtin/grep.c:1057
+#: builtin/grep.c:857
 msgid "show a line with the function name before matches"
 msgstr ""
 
-#: builtin/grep.c:1059
+#: builtin/grep.c:859
 msgid "show the surrounding function"
 msgstr ""
 
-#: builtin/grep.c:1062
+#: builtin/grep.c:862
 msgid "read patterns from file"
 msgstr ""
 
-#: builtin/grep.c:1064
+#: builtin/grep.c:864
 msgid "match <pattern>"
 msgstr ""
 
-#: builtin/grep.c:1066
+#: builtin/grep.c:866
 msgid "combine patterns specified with -e"
 msgstr ""
 
-#: builtin/grep.c:1078
+#: builtin/grep.c:878
 msgid "indicate hit with exit status without output"
 msgstr ""
 
-#: builtin/grep.c:1080
+#: builtin/grep.c:880
 msgid "show only matches from files that match all patterns"
 msgstr ""
 
-#: builtin/grep.c:1082
+#: builtin/grep.c:882
 msgid "show parse tree for grep expression"
 msgstr ""
 
-#: builtin/grep.c:1086
+#: builtin/grep.c:886
 msgid "pager"
 msgstr ""
 
-#: builtin/grep.c:1086
+#: builtin/grep.c:886
 msgid "show matching files in the pager"
 msgstr ""
 
-#: builtin/grep.c:1089
+#: builtin/grep.c:889
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr ""
 
-#: builtin/grep.c:1153
+#: builtin/grep.c:952
 msgid "no pattern given."
 msgstr ""
 
-#: builtin/grep.c:1189
+#: builtin/grep.c:984
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr ""
 
-#: builtin/grep.c:1195
+#: builtin/grep.c:991
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr ""
 
-#: builtin/grep.c:1228 builtin/index-pack.c:1485
+#: builtin/grep.c:1026 builtin/index-pack.c:1491
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr ""
 
-#: builtin/grep.c:1251
+#: builtin/grep.c:1031
+msgid "no threads support, ignoring --threads"
+msgstr ""
+
+#: builtin/grep.c:1055
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 
-#: builtin/grep.c:1274
+#: builtin/grep.c:1078
 msgid "option not supported with --recurse-submodules."
 msgstr ""
 
-#: builtin/grep.c:1280
+#: builtin/grep.c:1084
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr ""
 
-#: builtin/grep.c:1286
+#: builtin/grep.c:1090
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 
-#: builtin/grep.c:1294
+#: builtin/grep.c:1098
 msgid "both --cached and trees are given."
 msgstr ""
 
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
 msgstr ""
 
-#: builtin/hash-object.c:82
+#: builtin/hash-object.c:83
 msgid "git hash-object  --stdin-paths"
 msgstr ""
 
-#: builtin/hash-object.c:94
+#: builtin/hash-object.c:95
 msgid "type"
 msgstr ""
 
-#: builtin/hash-object.c:94
+#: builtin/hash-object.c:95
 msgid "object type"
 msgstr ""
 
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
 msgid "write the object into the object database"
 msgstr ""
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "read the object from stdin"
 msgstr ""
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "store file as is without filters"
 msgstr ""
 
-#: builtin/hash-object.c:100
+#: builtin/hash-object.c:101
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr ""
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:102
 msgid "process file as it were from this path"
 msgstr ""
 
-#: builtin/help.c:42
+#: builtin/help.c:43
 msgid "print all available commands"
 msgstr ""
 
-#: builtin/help.c:43
+#: builtin/help.c:44
 msgid "exclude guides"
 msgstr ""
 
-#: builtin/help.c:44
+#: builtin/help.c:45
 msgid "print list of useful guides"
 msgstr ""
 
-#: builtin/help.c:45
+#: builtin/help.c:46
 msgid "show man page"
 msgstr ""
 
-#: builtin/help.c:46
+#: builtin/help.c:47
 msgid "show manual in web browser"
 msgstr ""
 
-#: builtin/help.c:48
+#: builtin/help.c:49
 msgid "show info page"
 msgstr ""
 
-#: builtin/help.c:54
+#: builtin/help.c:55
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr ""
 
-#: builtin/help.c:66
+#: builtin/help.c:67
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr ""
 
-#: builtin/help.c:93
+#: builtin/help.c:94
 msgid "Failed to start emacsclient."
 msgstr ""
 
-#: builtin/help.c:106
+#: builtin/help.c:107
 msgid "Failed to parse emacsclient version."
 msgstr ""
 
-#: builtin/help.c:114
+#: builtin/help.c:115
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr ""
 
-#: builtin/help.c:132 builtin/help.c:153 builtin/help.c:162 builtin/help.c:170
+#: builtin/help.c:133 builtin/help.c:155 builtin/help.c:165 builtin/help.c:173
 #, c-format
 msgid "failed to exec '%s'"
 msgstr ""
 
-#: builtin/help.c:207
+#: builtin/help.c:211
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 "Please consider using 'man.<tool>.cmd' instead."
 msgstr ""
 
-#: builtin/help.c:219
+#: builtin/help.c:223
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 "Please consider using 'man.<tool>.path' instead."
 msgstr ""
 
-#: builtin/help.c:336
+#: builtin/help.c:340
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr ""
 
-#: builtin/help.c:353
+#: builtin/help.c:357
 msgid "no man viewer handled the request"
 msgstr ""
 
-#: builtin/help.c:361
+#: builtin/help.c:365
 msgid "no info viewer handled the request"
 msgstr ""
 
-#: builtin/help.c:403
+#: builtin/help.c:407
 msgid "Defining attributes per path"
 msgstr ""
 
-#: builtin/help.c:404
+#: builtin/help.c:408
 msgid "Everyday Git With 20 Commands Or So"
 msgstr ""
 
-#: builtin/help.c:405
+#: builtin/help.c:409
 msgid "A Git glossary"
 msgstr ""
 
-#: builtin/help.c:406
+#: builtin/help.c:410
 msgid "Specifies intentionally untracked files to ignore"
 msgstr ""
 
-#: builtin/help.c:407
+#: builtin/help.c:411
 msgid "Defining submodule properties"
 msgstr ""
 
-#: builtin/help.c:408
+#: builtin/help.c:412
 msgid "Specifying revisions and ranges for Git"
 msgstr ""
 
-#: builtin/help.c:409
+#: builtin/help.c:413
 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
 msgstr ""
 
-#: builtin/help.c:410
+#: builtin/help.c:414
 msgid "An overview of recommended workflows with Git"
 msgstr ""
 
-#: builtin/help.c:422
+#: builtin/help.c:426
 msgid "The common Git guides are:\n"
 msgstr ""
 
-#: builtin/help.c:440
+#: builtin/help.c:444
 #, c-format
-msgid "`git %s' is aliased to `%s'"
+msgid "'%s' is aliased to '%s'"
 msgstr ""
 
-#: builtin/help.c:462 builtin/help.c:479
+#: builtin/help.c:466 builtin/help.c:483
 #, c-format
 msgid "usage: %s%s"
 msgstr ""
 
-#: builtin/index-pack.c:154
+#: builtin/index-pack.c:156
 #, c-format
 msgid "unable to open %s"
 msgstr ""
 
-#: builtin/index-pack.c:204
+#: builtin/index-pack.c:206
 #, c-format
 msgid "object type mismatch at %s"
 msgstr ""
 
-#: builtin/index-pack.c:224
+#: builtin/index-pack.c:226
 #, c-format
 msgid "did not receive expected object %s"
 msgstr ""
 
-#: builtin/index-pack.c:227
+#: builtin/index-pack.c:229
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr ""
 
-#: builtin/index-pack.c:269
+#: builtin/index-pack.c:271
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:279
+#: builtin/index-pack.c:281
 msgid "early EOF"
 msgstr ""
 
-#: builtin/index-pack.c:280
+#: builtin/index-pack.c:282
 msgid "read error on input"
 msgstr ""
 
-#: builtin/index-pack.c:292
+#: builtin/index-pack.c:294
 msgid "used more bytes than were available"
 msgstr ""
 
-#: builtin/index-pack.c:299
+#: builtin/index-pack.c:301
 msgid "pack too large for current definition of off_t"
 msgstr ""
 
-#: builtin/index-pack.c:302 builtin/unpack-objects.c:92
+#: builtin/index-pack.c:304 builtin/unpack-objects.c:93
 msgid "pack exceeds maximum allowed size"
 msgstr ""
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:319
 #, c-format
 msgid "unable to create '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:323
+#: builtin/index-pack.c:325
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:337
+#: builtin/index-pack.c:339
 msgid "pack signature mismatch"
 msgstr ""
 
-#: builtin/index-pack.c:339
+#: builtin/index-pack.c:341
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr ""
 
-#: builtin/index-pack.c:357
+#: builtin/index-pack.c:359
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr ""
 
-#: builtin/index-pack.c:479
+#: builtin/index-pack.c:480
 #, c-format
 msgid "inflate returned %d"
 msgstr ""
 
-#: builtin/index-pack.c:528
+#: builtin/index-pack.c:529
 msgid "offset value overflow for delta base object"
 msgstr ""
 
-#: builtin/index-pack.c:536
+#: builtin/index-pack.c:537
 msgid "delta base offset is out of bound"
 msgstr ""
 
-#: builtin/index-pack.c:544
+#: builtin/index-pack.c:545
 #, c-format
 msgid "unknown object type %d"
 msgstr ""
 
-#: builtin/index-pack.c:575
+#: builtin/index-pack.c:576
 msgid "cannot pread pack file"
 msgstr ""
 
-#: builtin/index-pack.c:577
+#: builtin/index-pack.c:578
 #, 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:603
+#: builtin/index-pack.c:604
 msgid "serious inflate inconsistency"
 msgstr ""
 
 #: builtin/index-pack.c:749 builtin/index-pack.c:755 builtin/index-pack.c:778
-#: builtin/index-pack.c:816 builtin/index-pack.c:825
+#: builtin/index-pack.c:817 builtin/index-pack.c:826
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr ""
 
-#: builtin/index-pack.c:752 builtin/pack-objects.c:164
-#: builtin/pack-objects.c:257
+#: builtin/index-pack.c:752 builtin/pack-objects.c:179
+#: builtin/pack-objects.c:273
 #, c-format
 msgid "unable to read %s"
 msgstr ""
 
-#: builtin/index-pack.c:814
+#: builtin/index-pack.c:815
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr ""
 
-#: builtin/index-pack.c:822
+#: builtin/index-pack.c:823
 #, c-format
 msgid "cannot read existing object %s"
 msgstr ""
 
-#: builtin/index-pack.c:836
+#: builtin/index-pack.c:837
 #, c-format
 msgid "invalid blob object %s"
 msgstr ""
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "invalid %s"
 msgstr ""
 
-#: builtin/index-pack.c:853
+#: builtin/index-pack.c:855
 msgid "Error in object"
 msgstr ""
 
-#: builtin/index-pack.c:855
+#: builtin/index-pack.c:857
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr ""
 
-#: builtin/index-pack.c:927 builtin/index-pack.c:958
+#: builtin/index-pack.c:929 builtin/index-pack.c:960
 msgid "failed to apply delta"
 msgstr ""
 
-#: builtin/index-pack.c:1128
+#: builtin/index-pack.c:1131
 msgid "Receiving objects"
 msgstr ""
 
-#: builtin/index-pack.c:1128
+#: builtin/index-pack.c:1131
 msgid "Indexing objects"
 msgstr ""
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1165
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr ""
 
-#: builtin/index-pack.c:1165
+#: builtin/index-pack.c:1170
 msgid "cannot fstat packfile"
 msgstr ""
 
-#: builtin/index-pack.c:1168
+#: builtin/index-pack.c:1173
 msgid "pack has junk at the end"
 msgstr ""
 
-#: builtin/index-pack.c:1179
+#: builtin/index-pack.c:1185
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr ""
 
-#: builtin/index-pack.c:1202
+#: builtin/index-pack.c:1208
 msgid "Resolving deltas"
 msgstr ""
 
-#: builtin/index-pack.c:1213
+#: builtin/index-pack.c:1219
 #, c-format
 msgid "unable to create thread: %s"
 msgstr ""
 
-#: builtin/index-pack.c:1255
+#: builtin/index-pack.c:1261
 msgid "confusion beyond insanity"
 msgstr ""
 
-#: builtin/index-pack.c:1261
+#: builtin/index-pack.c:1267
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1273
+#: builtin/index-pack.c:1279
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 
-#: builtin/index-pack.c:1277
+#: builtin/index-pack.c:1283
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1301
+#: builtin/index-pack.c:1307
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr ""
 
-#: builtin/index-pack.c:1377
+#: builtin/index-pack.c:1383
 #, c-format
 msgid "local object %s is corrupt"
 msgstr ""
 
-#: builtin/index-pack.c:1403
+#: builtin/index-pack.c:1409
 msgid "error while closing pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1415
+#: builtin/index-pack.c:1421
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1423
+#: builtin/index-pack.c:1429
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1433
+#: builtin/index-pack.c:1439
 msgid "cannot store pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1447
 msgid "cannot store index file"
 msgstr ""
 
-#: builtin/index-pack.c:1479
+#: builtin/index-pack.c:1485
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr ""
 
-#: builtin/index-pack.c:1489 builtin/index-pack.c:1686
-#, c-format
-msgid "no threads support, ignoring %s"
-msgstr ""
-
-#: builtin/index-pack.c:1547
+#: builtin/index-pack.c:1553
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1549
+#: builtin/index-pack.c:1555
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1596
+#: builtin/index-pack.c:1603
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1603
+#: builtin/index-pack.c:1610
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1616
+#: builtin/index-pack.c:1623
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr ""
 
-#: builtin/index-pack.c:1698 builtin/index-pack.c:1701
-#: builtin/index-pack.c:1717 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1700 builtin/index-pack.c:1703
+#: builtin/index-pack.c:1719 builtin/index-pack.c:1723
 #, c-format
 msgid "bad %s"
 msgstr ""
 
-#: builtin/index-pack.c:1737
+#: builtin/index-pack.c:1739
 msgid "--fix-thin cannot be used without --stdin"
 msgstr ""
 
-#: builtin/index-pack.c:1739
+#: builtin/index-pack.c:1741
 msgid "--stdin requires a git repository"
 msgstr ""
 
-#: builtin/index-pack.c:1747
+#: builtin/index-pack.c:1749
 msgid "--verify with no packfile name given"
 msgstr ""
 
-#: builtin/init-db.c:54
+#: builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr ""
 
-#: builtin/init-db.c:60
+#: builtin/init-db.c:61
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr ""
 
-#: builtin/init-db.c:65
+#: builtin/init-db.c:66
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr ""
 
-#: builtin/init-db.c:76
+#: builtin/init-db.c:77
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr ""
 
-#: builtin/init-db.c:78
+#: builtin/init-db.c:79
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr ""
 
-#: builtin/init-db.c:84
+#: builtin/init-db.c:85
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr ""
 
-#: builtin/init-db.c:88
+#: builtin/init-db.c:89
 #, c-format
 msgid "ignoring template %s"
 msgstr ""
 
-#: builtin/init-db.c:119
+#: builtin/init-db.c:120
 #, c-format
 msgid "templates not found %s"
 msgstr ""
 
-#: builtin/init-db.c:134
+#: builtin/init-db.c:135
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr ""
 
-#: builtin/init-db.c:327
+#: builtin/init-db.c:328
 #, c-format
 msgid "unable to handle file type %d"
 msgstr ""
 
-#: builtin/init-db.c:330
+#: builtin/init-db.c:331
 #, c-format
 msgid "unable to move %s to %s"
 msgstr ""
 
-#: builtin/init-db.c:347 builtin/init-db.c:350
+#: builtin/init-db.c:348 builtin/init-db.c:351
 #, c-format
 msgid "%s already exists"
 msgstr ""
 
-#: builtin/init-db.c:403
+#: builtin/init-db.c:404
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:404
+#: builtin/init-db.c:405
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:408
+#: builtin/init-db.c:409
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:409
+#: builtin/init-db.c:410
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:457
+#: builtin/init-db.c:458
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
 msgstr ""
 
-#: builtin/init-db.c:480
+#: builtin/init-db.c:481
 msgid "permissions"
 msgstr ""
 
-#: builtin/init-db.c:481
+#: builtin/init-db.c:482
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr ""
 
-#: builtin/init-db.c:515 builtin/init-db.c:520
+#: builtin/init-db.c:516 builtin/init-db.c:521
 #, c-format
 msgid "cannot mkdir %s"
 msgstr ""
 
-#: builtin/init-db.c:524
+#: builtin/init-db.c:525
 #, c-format
 msgid "cannot chdir to %s"
 msgstr ""
 
-#: builtin/init-db.c:545
+#: builtin/init-db.c:546
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr ""
 
-#: builtin/init-db.c:573
+#: builtin/init-db.c:574
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr ""
@@ -8668,345 +8947,398 @@ msgid ""
 "<token>[(=|:)<value>])...] [<file>...]"
 msgstr ""
 
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:92
 msgid "edit files in place"
 msgstr ""
 
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:93
 msgid "trim empty trailers"
 msgstr ""
 
-#: builtin/interpret-trailers.c:28
+#: builtin/interpret-trailers.c:96
+msgid "where to place the new trailer"
+msgstr ""
+
+#: builtin/interpret-trailers.c:98
+msgid "action if trailer already exists"
+msgstr ""
+
+#: builtin/interpret-trailers.c:100
+msgid "action if trailer is missing"
+msgstr ""
+
+#: builtin/interpret-trailers.c:102
+msgid "output only the trailers"
+msgstr ""
+
+#: builtin/interpret-trailers.c:103
+msgid "do not apply config rules"
+msgstr ""
+
+#: builtin/interpret-trailers.c:104
+msgid "join whitespace-continued values"
+msgstr ""
+
+#: builtin/interpret-trailers.c:105
+msgid "set parsing options"
+msgstr ""
+
+#: builtin/interpret-trailers.c:107
 msgid "trailer"
 msgstr ""
 
-#: builtin/interpret-trailers.c:29
+#: builtin/interpret-trailers.c:108
 msgid "trailer(s) to add"
 msgstr ""
 
-#: builtin/interpret-trailers.c:42
+#: builtin/interpret-trailers.c:117
+msgid "--trailer with --only-input does not make sense"
+msgstr ""
+
+#: builtin/interpret-trailers.c:127
 msgid "no input file given for in-place editing"
 msgstr ""
 
-#: builtin/log.c:44
+#: builtin/log.c:46
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr ""
 
-#: builtin/log.c:45
+#: builtin/log.c:47
 msgid "git show [<options>] <object>..."
 msgstr ""
 
-#: builtin/log.c:89
+#: builtin/log.c:91
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr ""
 
-#: builtin/log.c:144
+#: builtin/log.c:151
 msgid "suppress diff output"
 msgstr ""
 
-#: builtin/log.c:145
+#: builtin/log.c:152
 msgid "show source"
 msgstr ""
 
-#: builtin/log.c:146
+#: builtin/log.c:153
 msgid "Use mail map file"
 msgstr ""
 
-#: builtin/log.c:147
+#: builtin/log.c:155
+msgid "only decorate refs that match <pattern>"
+msgstr ""
+
+#: builtin/log.c:157
+msgid "do not decorate refs that match <pattern>"
+msgstr ""
+
+#: builtin/log.c:158
 msgid "decorate options"
 msgstr ""
 
-#: builtin/log.c:150
+#: builtin/log.c:161
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 
-#: builtin/log.c:246
+#: builtin/log.c:257
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr ""
 
-#: builtin/log.c:493
+#: builtin/log.c:508
 #, c-format
 msgid "git show %s: bad file"
 msgstr ""
 
-#: builtin/log.c:507 builtin/log.c:601
+#: builtin/log.c:523 builtin/log.c:617
 #, c-format
 msgid "Could not read object %s"
 msgstr ""
 
-#: builtin/log.c:625
+#: builtin/log.c:641
 #, c-format
 msgid "Unknown type: %d"
 msgstr ""
 
-#: builtin/log.c:746
+#: builtin/log.c:762
 msgid "format.headers without value"
 msgstr ""
 
-#: builtin/log.c:846
+#: builtin/log.c:863
 msgid "name of output directory is too long"
 msgstr ""
 
-#: builtin/log.c:861
+#: builtin/log.c:879
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr ""
 
-#: builtin/log.c:875
+#: builtin/log.c:896
 msgid "Need exactly one range."
 msgstr ""
 
-#: builtin/log.c:885
+#: builtin/log.c:906
 msgid "Not a range."
 msgstr ""
 
-#: builtin/log.c:991
+#: builtin/log.c:1012
 msgid "Cover letter needs email format"
 msgstr ""
 
-#: builtin/log.c:1071
+#: builtin/log.c:1092
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr ""
 
-#: builtin/log.c:1098
+#: builtin/log.c:1119
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr ""
 
-#: builtin/log.c:1148
+#: builtin/log.c:1169
 msgid "Two output directories?"
 msgstr ""
 
-#: builtin/log.c:1255 builtin/log.c:1898 builtin/log.c:1900 builtin/log.c:1912
+#: builtin/log.c:1276 builtin/log.c:1927 builtin/log.c:1929 builtin/log.c:1941
 #, c-format
 msgid "Unknown commit %s"
 msgstr ""
 
-#: builtin/log.c:1265 builtin/notes.c:883 builtin/tag.c:532
+#: builtin/log.c:1286 builtin/notes.c:887 builtin/tag.c:516
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr ""
 
-#: builtin/log.c:1270
+#: builtin/log.c:1291
 msgid "Could not find exact merge base."
 msgstr ""
 
-#: builtin/log.c:1274
+#: builtin/log.c:1295
 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:1294
+#: builtin/log.c:1315
 msgid "Failed to find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1305
+#: builtin/log.c:1326
 msgid "base commit should be the ancestor of revision list"
 msgstr ""
 
-#: builtin/log.c:1309
+#: builtin/log.c:1330
 msgid "base commit shouldn't be in revision list"
 msgstr ""
 
-#: builtin/log.c:1358
+#: builtin/log.c:1379
 msgid "cannot get patch id"
 msgstr ""
 
-#: builtin/log.c:1415
+#: builtin/log.c:1438
 msgid "use [PATCH n/m] even with a single patch"
 msgstr ""
 
-#: builtin/log.c:1418
+#: builtin/log.c:1441
 msgid "use [PATCH] even with multiple patches"
 msgstr ""
 
-#: builtin/log.c:1422
+#: builtin/log.c:1445
 msgid "print patches to standard out"
 msgstr ""
 
-#: builtin/log.c:1424
+#: builtin/log.c:1447
 msgid "generate a cover letter"
 msgstr ""
 
-#: builtin/log.c:1426
+#: builtin/log.c:1449
 msgid "use simple number sequence for output file names"
 msgstr ""
 
-#: builtin/log.c:1427
+#: builtin/log.c:1450
 msgid "sfx"
 msgstr ""
 
-#: builtin/log.c:1428
+#: builtin/log.c:1451
 msgid "use <sfx> instead of '.patch'"
 msgstr ""
 
-#: builtin/log.c:1430
+#: builtin/log.c:1453
 msgid "start numbering patches at <n> instead of 1"
 msgstr ""
 
-#: builtin/log.c:1432
+#: builtin/log.c:1455
 msgid "mark the series as Nth re-roll"
 msgstr ""
 
-#: builtin/log.c:1434
+#: builtin/log.c:1457
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1437
+#: builtin/log.c:1460
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1440
+#: builtin/log.c:1463
 msgid "store resulting files in <dir>"
 msgstr ""
 
-#: builtin/log.c:1443
+#: builtin/log.c:1466
 msgid "don't strip/add [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1446
+#: builtin/log.c:1469
 msgid "don't output binary diffs"
 msgstr ""
 
-#: builtin/log.c:1448
+#: builtin/log.c:1471
 msgid "output all-zero hash in From header"
 msgstr ""
 
-#: builtin/log.c:1450
+#: builtin/log.c:1473
 msgid "don't include a patch matching a commit upstream"
 msgstr ""
 
-#: builtin/log.c:1452
+#: builtin/log.c:1475
 msgid "show patch format instead of default (patch + stat)"
 msgstr ""
 
-#: builtin/log.c:1454
+#: builtin/log.c:1477
 msgid "Messaging"
 msgstr ""
 
-#: builtin/log.c:1455
+#: builtin/log.c:1478
 msgid "header"
 msgstr ""
 
-#: builtin/log.c:1456
+#: builtin/log.c:1479
 msgid "add email header"
 msgstr ""
 
-#: builtin/log.c:1457 builtin/log.c:1459
+#: builtin/log.c:1480 builtin/log.c:1482
 msgid "email"
 msgstr ""
 
-#: builtin/log.c:1457
+#: builtin/log.c:1480
 msgid "add To: header"
 msgstr ""
 
-#: builtin/log.c:1459
+#: builtin/log.c:1482
 msgid "add Cc: header"
 msgstr ""
 
-#: builtin/log.c:1461
+#: builtin/log.c:1484
 msgid "ident"
 msgstr ""
 
-#: builtin/log.c:1462
+#: builtin/log.c:1485
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 
-#: builtin/log.c:1464
+#: builtin/log.c:1487
 msgid "message-id"
 msgstr ""
 
-#: builtin/log.c:1465
+#: builtin/log.c:1488
 msgid "make first mail a reply to <message-id>"
 msgstr ""
 
-#: builtin/log.c:1466 builtin/log.c:1469
+#: builtin/log.c:1489 builtin/log.c:1492
 msgid "boundary"
 msgstr ""
 
-#: builtin/log.c:1467
+#: builtin/log.c:1490
 msgid "attach the patch"
 msgstr ""
 
-#: builtin/log.c:1470
+#: builtin/log.c:1493
 msgid "inline the patch"
 msgstr ""
 
-#: builtin/log.c:1474
+#: builtin/log.c:1497
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 
-#: builtin/log.c:1476
+#: builtin/log.c:1499
 msgid "signature"
 msgstr ""
 
-#: builtin/log.c:1477
+#: builtin/log.c:1500
 msgid "add a signature"
 msgstr ""
 
-#: builtin/log.c:1478
+#: builtin/log.c:1501
 msgid "base-commit"
 msgstr ""
 
-#: builtin/log.c:1479
+#: builtin/log.c:1502
 msgid "add prerequisite tree info to the patch series"
 msgstr ""
 
-#: builtin/log.c:1481
+#: builtin/log.c:1504
 msgid "add a signature from a file"
 msgstr ""
 
-#: builtin/log.c:1482
+#: builtin/log.c:1505
 msgid "don't print the patch filenames"
 msgstr ""
 
-#: builtin/log.c:1572
+#: builtin/log.c:1507
+msgid "show progress while generating patches"
+msgstr ""
+
+#: builtin/log.c:1582
+#, c-format
+msgid "invalid ident line: %s"
+msgstr ""
+
+#: builtin/log.c:1597
 msgid "-n and -k are mutually exclusive."
 msgstr ""
 
-#: builtin/log.c:1574
+#: builtin/log.c:1599
 msgid "--subject-prefix/--rfc and -k are mutually exclusive."
 msgstr ""
 
-#: builtin/log.c:1582
+#: builtin/log.c:1607
 msgid "--name-only does not make sense"
 msgstr ""
 
-#: builtin/log.c:1584
+#: builtin/log.c:1609
 msgid "--name-status does not make sense"
 msgstr ""
 
-#: builtin/log.c:1586
+#: builtin/log.c:1611
 msgid "--check does not make sense"
 msgstr ""
 
-#: builtin/log.c:1616
+#: builtin/log.c:1641
 msgid "standard output, or directory, which one?"
 msgstr ""
 
-#: builtin/log.c:1618
+#: builtin/log.c:1643
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr ""
 
-#: builtin/log.c:1712
+#: builtin/log.c:1736
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr ""
 
-#: builtin/log.c:1784
+#: builtin/log.c:1768
+msgid "Generating patches"
+msgstr ""
+
+#: builtin/log.c:1812
 msgid "Failed to create output files"
 msgstr ""
 
-#: builtin/log.c:1833
+#: builtin/log.c:1862
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr ""
 
-#: builtin/log.c:1887
+#: builtin/log.c:1916
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -9025,90 +9357,94 @@ msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 
 #: builtin/ls-files.c:521
-msgid "show cached files in the output (default)"
+msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr ""
 
 #: builtin/ls-files.c:523
-msgid "show deleted files in the output"
+msgid "show cached files in the output (default)"
 msgstr ""
 
 #: builtin/ls-files.c:525
-msgid "show modified files in the output"
+msgid "show deleted files in the output"
 msgstr ""
 
 #: builtin/ls-files.c:527
-msgid "show other files in the output"
+msgid "show modified files in the output"
 msgstr ""
 
 #: builtin/ls-files.c:529
+msgid "show other files in the output"
+msgstr ""
+
+#: builtin/ls-files.c:531
 msgid "show ignored files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:534
 msgid "show staged contents' object name in the output"
 msgstr ""
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:536
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:538
 msgid "show 'other' directories' names only"
 msgstr ""
 
-#: builtin/ls-files.c:538
+#: builtin/ls-files.c:540
 msgid "show line endings of files"
 msgstr ""
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "don't show empty directories"
 msgstr ""
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "show unmerged files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "show resolve-undo information"
 msgstr ""
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:549
 msgid "skip files matching pattern"
 msgstr ""
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:552
 msgid "exclude patterns are read from <file>"
 msgstr ""
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr ""
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "add the standard git exclusions"
 msgstr ""
 
-#: builtin/ls-files.c:558
+#: builtin/ls-files.c:560
 msgid "make the output relative to the project top directory"
 msgstr ""
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:563
 msgid "recurse through submodules"
 msgstr ""
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:565
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr ""
 
-#: builtin/ls-files.c:564
+#: builtin/ls-files.c:566
 msgid "tree-ish"
 msgstr ""
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:567
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:569
 msgid "show debugging data"
 msgstr ""
 
@@ -9155,212 +9491,221 @@ msgstr ""
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr ""
 
-#: builtin/ls-tree.c:28
+#: builtin/ls-tree.c:29
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr ""
 
-#: builtin/ls-tree.c:126
+#: builtin/ls-tree.c:127
 msgid "only show trees"
 msgstr ""
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:129
 msgid "recurse into subtrees"
 msgstr ""
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:131
 msgid "show trees when recursing"
 msgstr ""
 
-#: builtin/ls-tree.c:133
+#: builtin/ls-tree.c:134
 msgid "terminate entries with NUL byte"
 msgstr ""
 
-#: builtin/ls-tree.c:134
+#: builtin/ls-tree.c:135
 msgid "include object size"
 msgstr ""
 
-#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
+#: builtin/ls-tree.c:137 builtin/ls-tree.c:139
 msgid "list only filenames"
 msgstr ""
 
-#: builtin/ls-tree.c:141
+#: builtin/ls-tree.c:142
 msgid "use full path names"
 msgstr ""
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:144
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr ""
 
-#: builtin/merge.c:46
+#: builtin/mailsplit.c:241
+#, c-format
+msgid "empty mbox: '%s'"
+msgstr ""
+
+#: builtin/merge.c:48
 msgid "git merge [<options>] [<commit>...]"
 msgstr ""
 
-#: builtin/merge.c:47
+#: builtin/merge.c:49
 msgid "git merge --abort"
 msgstr ""
 
-#: builtin/merge.c:48
+#: builtin/merge.c:50
 msgid "git merge --continue"
 msgstr ""
 
-#: builtin/merge.c:103
+#: builtin/merge.c:107
 msgid "switch `m' requires a value"
 msgstr ""
 
-#: builtin/merge.c:140
+#: builtin/merge.c:144
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr ""
 
-#: builtin/merge.c:141
+#: builtin/merge.c:145
 #, c-format
 msgid "Available strategies are:"
 msgstr ""
 
-#: builtin/merge.c:146
+#: builtin/merge.c:150
 #, c-format
 msgid "Available custom strategies are:"
 msgstr ""
 
-#: builtin/merge.c:196 builtin/pull.c:127
+#: builtin/merge.c:200 builtin/pull.c:137
 msgid "do not show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:199 builtin/pull.c:130
+#: builtin/merge.c:203 builtin/pull.c:140
 msgid "show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:200 builtin/pull.c:133
+#: builtin/merge.c:204 builtin/pull.c:143
 msgid "(synonym to --stat)"
 msgstr ""
 
-#: builtin/merge.c:202 builtin/pull.c:136
+#: builtin/merge.c:206 builtin/pull.c:146
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 
-#: builtin/merge.c:205 builtin/pull.c:139
+#: builtin/merge.c:209 builtin/pull.c:152
 msgid "create a single commit instead of doing a merge"
 msgstr ""
 
-#: builtin/merge.c:207 builtin/pull.c:142
+#: builtin/merge.c:211 builtin/pull.c:155
 msgid "perform a commit if the merge succeeds (default)"
 msgstr ""
 
-#: builtin/merge.c:209 builtin/pull.c:145
+#: builtin/merge.c:213 builtin/pull.c:158
 msgid "edit message before committing"
 msgstr ""
 
-#: builtin/merge.c:210
+#: builtin/merge.c:214
 msgid "allow fast-forward (default)"
 msgstr ""
 
-#: builtin/merge.c:212 builtin/pull.c:151
+#: builtin/merge.c:216 builtin/pull.c:164
 msgid "abort if fast-forward is not possible"
 msgstr ""
 
-#: builtin/merge.c:216 builtin/pull.c:154
+#: builtin/merge.c:220 builtin/pull.c:167
 msgid "verify that the named commit has a valid GPG signature"
 msgstr ""
 
-#: builtin/merge.c:217 builtin/notes.c:773 builtin/pull.c:158
-#: builtin/revert.c:108
+#: builtin/merge.c:221 builtin/notes.c:777 builtin/pull.c:171
+#: builtin/revert.c:109
 msgid "strategy"
 msgstr ""
 
-#: builtin/merge.c:218 builtin/pull.c:159
+#: builtin/merge.c:222 builtin/pull.c:172
 msgid "merge strategy to use"
 msgstr ""
 
-#: builtin/merge.c:219 builtin/pull.c:162
+#: builtin/merge.c:223 builtin/pull.c:175
 msgid "option=value"
 msgstr ""
 
-#: builtin/merge.c:220 builtin/pull.c:163
+#: builtin/merge.c:224 builtin/pull.c:176
 msgid "option for selected merge strategy"
 msgstr ""
 
-#: builtin/merge.c:222
+#: builtin/merge.c:226
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 
-#: builtin/merge.c:226
+#: builtin/merge.c:230
 msgid "abort the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:228
+#: builtin/merge.c:232
 msgid "continue the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:230 builtin/pull.c:170
+#: builtin/merge.c:234 builtin/pull.c:183
 msgid "allow merging unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:258
+#: builtin/merge.c:240
+msgid "verify commit-msg hook"
+msgstr ""
+
+#: builtin/merge.c:265
 msgid "could not run stash."
 msgstr ""
 
-#: builtin/merge.c:263
+#: builtin/merge.c:270
 msgid "stash failed"
 msgstr ""
 
-#: builtin/merge.c:268
+#: builtin/merge.c:275
 #, c-format
 msgid "not a valid object: %s"
 msgstr ""
 
-#: builtin/merge.c:287 builtin/merge.c:304
+#: builtin/merge.c:297 builtin/merge.c:314
 msgid "read-tree failed"
 msgstr ""
 
-#: builtin/merge.c:334
+#: builtin/merge.c:344
 msgid " (nothing to squash)"
 msgstr ""
 
-#: builtin/merge.c:345
+#: builtin/merge.c:355
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:395
+#: builtin/merge.c:405
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:446
+#: builtin/merge.c:455
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr ""
 
-#: builtin/merge.c:536
+#: builtin/merge.c:545
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr ""
 
-#: builtin/merge.c:656
+#: builtin/merge.c:667
 msgid "Not handling anything other than two heads merge."
 msgstr ""
 
-#: builtin/merge.c:670
+#: builtin/merge.c:681
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr ""
 
-#: builtin/merge.c:685
+#: builtin/merge.c:696
 #, c-format
 msgid "unable to write %s"
 msgstr ""
 
-#: builtin/merge.c:737
+#: builtin/merge.c:748
 #, c-format
 msgid "Could not read from '%s'"
 msgstr ""
 
-#: builtin/merge.c:746
+#: builtin/merge.c:757
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:752
+#: builtin/merge.c:763
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9370,269 +9715,264 @@ msgid ""
 "the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:776
+#: builtin/merge.c:799
 msgid "Empty commit message."
 msgstr ""
 
-#: builtin/merge.c:796
+#: builtin/merge.c:819
 #, c-format
 msgid "Wonderful.\n"
 msgstr ""
 
-#: builtin/merge.c:851
+#: builtin/merge.c:872
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 
-#: builtin/merge.c:890
+#: builtin/merge.c:911
 msgid "No current branch."
 msgstr ""
 
-#: builtin/merge.c:892
+#: builtin/merge.c:913
 msgid "No remote for the current branch."
 msgstr ""
 
-#: builtin/merge.c:894
+#: builtin/merge.c:915
 msgid "No default upstream defined for the current branch."
 msgstr ""
 
-#: builtin/merge.c:899
+#: builtin/merge.c:920
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr ""
 
-#: builtin/merge.c:946
+#: builtin/merge.c:973
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr ""
 
-#: builtin/merge.c:1020
-#, c-format
-msgid "could not close '%s'"
-msgstr ""
-
-#: builtin/merge.c:1047
+#: builtin/merge.c:1075
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr ""
 
-#: builtin/merge.c:1081
+#: builtin/merge.c:1109
 msgid "not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1146
+#: builtin/merge.c:1174
 msgid "--abort expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1150
+#: builtin/merge.c:1178
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1190
 msgid "--continue expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1166
+#: builtin/merge.c:1194
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1182
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1189
+#: builtin/merge.c:1217
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1192
+#: builtin/merge.c:1220
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 
-#: builtin/merge.c:1201
+#: builtin/merge.c:1229
 msgid "You cannot combine --squash with --no-ff."
 msgstr ""
 
-#: builtin/merge.c:1209
+#: builtin/merge.c:1237
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 
-#: builtin/merge.c:1226
+#: builtin/merge.c:1254
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 
-#: builtin/merge.c:1228
+#: builtin/merge.c:1256
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 
-#: builtin/merge.c:1233
+#: builtin/merge.c:1261
 #, c-format
 msgid "%s - not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1235
+#: builtin/merge.c:1263
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 
-#: builtin/merge.c:1269
+#: builtin/merge.c:1297
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 
-#: builtin/merge.c:1272
+#: builtin/merge.c:1300
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 
-#: builtin/merge.c:1275
+#: builtin/merge.c:1303
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr ""
 
-#: builtin/merge.c:1278
+#: builtin/merge.c:1306
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr ""
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1368
 msgid "refusing to merge unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:1349
-msgid "Already up-to-date."
+#: builtin/merge.c:1377
+msgid "Already up to date."
 msgstr ""
 
-#: builtin/merge.c:1359
+#: builtin/merge.c:1387
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr ""
 
-#: builtin/merge.c:1400
+#: builtin/merge.c:1428
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr ""
 
-#: builtin/merge.c:1407
+#: builtin/merge.c:1435
 #, c-format
 msgid "Nope.\n"
 msgstr ""
 
-#: builtin/merge.c:1432
-msgid "Already up-to-date. Yeeah!"
+#: builtin/merge.c:1460
+msgid "Already up to date. Yeeah!"
 msgstr ""
 
-#: builtin/merge.c:1438
+#: builtin/merge.c:1466
 msgid "Not possible to fast-forward, aborting."
 msgstr ""
 
-#: builtin/merge.c:1461 builtin/merge.c:1540
+#: builtin/merge.c:1489 builtin/merge.c:1568
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr ""
 
-#: builtin/merge.c:1465
+#: builtin/merge.c:1493
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr ""
 
-#: builtin/merge.c:1531
+#: builtin/merge.c:1559
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:1533
+#: builtin/merge.c:1561
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr ""
 
-#: builtin/merge.c:1542
+#: builtin/merge.c:1570
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr ""
 
-#: builtin/merge.c:1554
+#: builtin/merge.c:1582
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
 
-#: builtin/merge-base.c:29
+#: builtin/merge-base.c:30
 msgid "git merge-base [-a | --all] <commit> <commit>..."
 msgstr ""
 
-#: builtin/merge-base.c:30
+#: builtin/merge-base.c:31
 msgid "git merge-base [-a | --all] --octopus <commit>..."
 msgstr ""
 
-#: builtin/merge-base.c:31
+#: builtin/merge-base.c:32
 msgid "git merge-base --independent <commit>..."
 msgstr ""
 
-#: builtin/merge-base.c:32
+#: builtin/merge-base.c:33
 msgid "git merge-base --is-ancestor <commit> <commit>"
 msgstr ""
 
-#: builtin/merge-base.c:33
+#: builtin/merge-base.c:34
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr ""
 
-#: builtin/merge-base.c:217
+#: builtin/merge-base.c:220
 msgid "output all common ancestors"
 msgstr ""
 
-#: builtin/merge-base.c:219
+#: builtin/merge-base.c:222
 msgid "find ancestors for a single n-way merge"
 msgstr ""
 
-#: builtin/merge-base.c:221
+#: builtin/merge-base.c:224
 msgid "list revs not reachable from others"
 msgstr ""
 
-#: builtin/merge-base.c:223
+#: builtin/merge-base.c:226
 msgid "is the first one ancestor of the other?"
 msgstr ""
 
-#: builtin/merge-base.c:225
+#: builtin/merge-base.c:228
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr ""
 
-#: builtin/merge-file.c:8
+#: builtin/merge-file.c:9
 msgid ""
 "git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
 "<orig-file> <file2>"
 msgstr ""
 
-#: builtin/merge-file.c:32
+#: builtin/merge-file.c:33
 msgid "send results to standard output"
 msgstr ""
 
-#: builtin/merge-file.c:33
+#: builtin/merge-file.c:34
 msgid "use a diff3 based merge"
 msgstr ""
 
-#: builtin/merge-file.c:34
+#: builtin/merge-file.c:35
 msgid "for conflicts, use our version"
 msgstr ""
 
-#: builtin/merge-file.c:36
+#: builtin/merge-file.c:37
 msgid "for conflicts, use their version"
 msgstr ""
 
-#: builtin/merge-file.c:38
+#: builtin/merge-file.c:39
 msgid "for conflicts, use a union version"
 msgstr ""
 
-#: builtin/merge-file.c:41
+#: builtin/merge-file.c:42
 msgid "for conflicts, use this marker size"
 msgstr ""
 
-#: builtin/merge-file.c:42
+#: builtin/merge-file.c:43
 msgid "do not warn about conflicts"
 msgstr ""
 
-#: builtin/merge-file.c:44
+#: builtin/merge-file.c:45
 msgid "set labels for file1/orig-file/file2"
 msgstr ""
 
@@ -9671,41 +10011,41 @@ msgstr ""
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr ""
 
-#: builtin/mktree.c:152
+#: builtin/mktree.c:153
 msgid "input is NUL terminated"
 msgstr ""
 
-#: builtin/mktree.c:153 builtin/write-tree.c:24
+#: builtin/mktree.c:154 builtin/write-tree.c:25
 msgid "allow missing objects"
 msgstr ""
 
-#: builtin/mktree.c:154
+#: builtin/mktree.c:155
 msgid "allow creation of more than one tree"
 msgstr ""
 
-#: builtin/mv.c:16
+#: builtin/mv.c:17
 msgid "git mv [<options>] <source>... <destination>"
 msgstr ""
 
-#: builtin/mv.c:82
+#: builtin/mv.c:83
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr ""
 
-#: builtin/mv.c:84 builtin/rm.c:290
+#: builtin/mv.c:85 builtin/rm.c:289
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 
-#: builtin/mv.c:102
+#: builtin/mv.c:103
 #, c-format
 msgid "%.*s is in index"
 msgstr ""
 
-#: builtin/mv.c:124
+#: builtin/mv.c:125
 msgid "force move/rename even if target exists"
 msgstr ""
 
-#: builtin/mv.c:125
+#: builtin/mv.c:126
 msgid "skip move/rename errors"
 msgstr ""
 
@@ -9770,409 +10110,410 @@ msgstr ""
 msgid "Renaming %s to %s\n"
 msgstr ""
 
-#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
+#: builtin/mv.c:275 builtin/remote.c:712 builtin/repack.c:390
 #, c-format
 msgid "renaming '%s' failed"
 msgstr ""
 
-#: builtin/name-rev.c:289
+#: builtin/name-rev.c:338
 msgid "git name-rev [<options>] <commit>..."
 msgstr ""
 
-#: builtin/name-rev.c:290
+#: builtin/name-rev.c:339
 msgid "git name-rev [<options>] --all"
 msgstr ""
 
-#: builtin/name-rev.c:291
+#: builtin/name-rev.c:340
 msgid "git name-rev [<options>] --stdin"
 msgstr ""
 
-#: builtin/name-rev.c:346
+#: builtin/name-rev.c:395
 msgid "print only names (no SHA-1)"
 msgstr ""
 
-#: builtin/name-rev.c:347
+#: builtin/name-rev.c:396
 msgid "only use tags to name the commits"
 msgstr ""
 
-#: builtin/name-rev.c:349
+#: builtin/name-rev.c:398
 msgid "only use refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:351
+#: builtin/name-rev.c:400
 msgid "ignore refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:353
+#: builtin/name-rev.c:402
 msgid "list all commits reachable from all refs"
 msgstr ""
 
-#: builtin/name-rev.c:354
+#: builtin/name-rev.c:403
 msgid "read from stdin"
 msgstr ""
 
-#: builtin/name-rev.c:355
+#: builtin/name-rev.c:404
 msgid "allow to print `undefined` names (default)"
 msgstr ""
 
-#: builtin/name-rev.c:361
+#: builtin/name-rev.c:410
 msgid "dereference tags in the input (internal use)"
 msgstr ""
 
-#: builtin/notes.c:25
+#: builtin/notes.c:26
 msgid "git notes [--ref <notes-ref>] [list [<object>]]"
 msgstr ""
 
-#: builtin/notes.c:26
+#: builtin/notes.c:27
 msgid ""
 "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
 "| (-c | -C) <object>] [<object>]"
 msgstr ""
 
-#: builtin/notes.c:27
+#: builtin/notes.c:28
 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
 msgstr ""
 
-#: builtin/notes.c:28
+#: builtin/notes.c:29
 msgid ""
 "git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
 "(-c | -C) <object>] [<object>]"
 msgstr ""
 
-#: builtin/notes.c:29
+#: builtin/notes.c:30
 msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
 msgstr ""
 
-#: builtin/notes.c:30
+#: builtin/notes.c:31
 msgid "git notes [--ref <notes-ref>] show [<object>]"
 msgstr ""
 
-#: builtin/notes.c:31
+#: builtin/notes.c:32
 msgid ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
 msgstr ""
 
-#: builtin/notes.c:32
+#: builtin/notes.c:33
 msgid "git notes merge --commit [-v | -q]"
 msgstr ""
 
-#: builtin/notes.c:33
+#: builtin/notes.c:34
 msgid "git notes merge --abort [-v | -q]"
 msgstr ""
 
-#: builtin/notes.c:34
+#: builtin/notes.c:35
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr ""
 
-#: builtin/notes.c:35
-msgid "git notes [--ref <notes-ref>] prune [-n | -v]"
+#: builtin/notes.c:36
+msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
 msgstr ""
 
-#: builtin/notes.c:36
+#: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] get-ref"
 msgstr ""
 
-#: builtin/notes.c:41
+#: builtin/notes.c:42
 msgid "git notes [list [<object>]]"
 msgstr ""
 
-#: builtin/notes.c:46
+#: builtin/notes.c:47
 msgid "git notes add [<options>] [<object>]"
 msgstr ""
 
-#: builtin/notes.c:51
+#: builtin/notes.c:52
 msgid "git notes copy [<options>] <from-object> <to-object>"
 msgstr ""
 
-#: builtin/notes.c:52
+#: builtin/notes.c:53
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
 msgstr ""
 
-#: builtin/notes.c:57
+#: builtin/notes.c:58
 msgid "git notes append [<options>] [<object>]"
 msgstr ""
 
-#: builtin/notes.c:62
+#: builtin/notes.c:63
 msgid "git notes edit [<object>]"
 msgstr ""
 
-#: builtin/notes.c:67
+#: builtin/notes.c:68
 msgid "git notes show [<object>]"
 msgstr ""
 
-#: builtin/notes.c:72
+#: builtin/notes.c:73
 msgid "git notes merge [<options>] <notes-ref>"
 msgstr ""
 
-#: builtin/notes.c:73
+#: builtin/notes.c:74
 msgid "git notes merge --commit [<options>]"
 msgstr ""
 
-#: builtin/notes.c:74
+#: builtin/notes.c:75
 msgid "git notes merge --abort [<options>]"
 msgstr ""
 
-#: builtin/notes.c:79
+#: builtin/notes.c:80
 msgid "git notes remove [<object>]"
 msgstr ""
 
-#: builtin/notes.c:84
+#: builtin/notes.c:85
 msgid "git notes prune [<options>]"
 msgstr ""
 
-#: builtin/notes.c:89
+#: builtin/notes.c:90
 msgid "git notes get-ref"
 msgstr ""
 
-#: builtin/notes.c:94
+#: builtin/notes.c:95
 msgid "Write/edit the notes for the following object:"
 msgstr ""
 
-#: builtin/notes.c:147
+#: builtin/notes.c:148
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr ""
 
-#: builtin/notes.c:151
+#: builtin/notes.c:152
 msgid "could not read 'show' output"
 msgstr ""
 
-#: builtin/notes.c:159
+#: builtin/notes.c:160
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr ""
 
-#: builtin/notes.c:194
+#: builtin/notes.c:195
 msgid "please supply the note contents using either -m or -F option"
 msgstr ""
 
-#: builtin/notes.c:203
+#: builtin/notes.c:204
 msgid "unable to write note object"
 msgstr ""
 
-#: builtin/notes.c:205
+#: builtin/notes.c:206
 #, c-format
 msgid "the note contents have been left in %s"
 msgstr ""
 
-#: builtin/notes.c:233 builtin/tag.c:516
+#: builtin/notes.c:234 builtin/tag.c:500
 #, c-format
 msgid "cannot read '%s'"
 msgstr ""
 
-#: builtin/notes.c:235 builtin/tag.c:519
+#: builtin/notes.c:236 builtin/tag.c:503
 #, c-format
 msgid "could not open or read '%s'"
 msgstr ""
 
-#: builtin/notes.c:254 builtin/notes.c:305 builtin/notes.c:307
-#: builtin/notes.c:372 builtin/notes.c:427 builtin/notes.c:513
-#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:658
+#: builtin/notes.c:255 builtin/notes.c:306 builtin/notes.c:308
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:517
+#: builtin/notes.c:522 builtin/notes.c:600 builtin/notes.c:662
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr ""
 
-#: builtin/notes.c:257
+#: builtin/notes.c:258
 #, c-format
 msgid "failed to read object '%s'."
 msgstr ""
 
-#: builtin/notes.c:261
+#: builtin/notes.c:262
 #, c-format
 msgid "cannot read note data from non-blob object '%s'."
 msgstr ""
 
-#: builtin/notes.c:301
+#: builtin/notes.c:302
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr ""
 
-#: builtin/notes.c:316
+#: builtin/notes.c:317
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
 msgstr ""
 
-#. TRANSLATORS: the first %s will be replaced by a
-#. git notes command: 'add', 'merge', 'remove', etc.
-#: builtin/notes.c:345
+#. TRANSLATORS: the first %s will be replaced by a git
+#. notes command: 'add', 'merge', 'remove', etc.
+#.
+#: builtin/notes.c:349
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr ""
 
-#: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:496
-#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:651
-#: builtin/notes.c:801 builtin/notes.c:948 builtin/notes.c:969
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:500
+#: builtin/notes.c:512 builtin/notes.c:588 builtin/notes.c:655
+#: builtin/notes.c:805 builtin/notes.c:952 builtin/notes.c:973
 msgid "too many parameters"
 msgstr ""
 
-#: builtin/notes.c:378 builtin/notes.c:664
+#: builtin/notes.c:382 builtin/notes.c:668
 #, c-format
 msgid "no note found for object %s."
 msgstr ""
 
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:403 builtin/notes.c:566
 msgid "note contents as a string"
 msgstr ""
 
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:406 builtin/notes.c:569
 msgid "note contents in a file"
 msgstr ""
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:409 builtin/notes.c:572
 msgid "reuse and edit specified note object"
 msgstr ""
 
-#: builtin/notes.c:408 builtin/notes.c:571
+#: builtin/notes.c:412 builtin/notes.c:575
 msgid "reuse specified note object"
 msgstr ""
 
-#: builtin/notes.c:411 builtin/notes.c:574
+#: builtin/notes.c:415 builtin/notes.c:578
 msgid "allow storing empty note"
 msgstr ""
 
-#: builtin/notes.c:412 builtin/notes.c:483
+#: builtin/notes.c:416 builtin/notes.c:487
 msgid "replace existing notes"
 msgstr ""
 
-#: builtin/notes.c:437
+#: builtin/notes.c:441
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
 
-#: builtin/notes.c:452 builtin/notes.c:531
+#: builtin/notes.c:456 builtin/notes.c:535
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr ""
 
-#: builtin/notes.c:463 builtin/notes.c:623 builtin/notes.c:888
+#: builtin/notes.c:467 builtin/notes.c:627 builtin/notes.c:892
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr ""
 
-#: builtin/notes.c:484
+#: builtin/notes.c:488
 msgid "read objects from stdin"
 msgstr ""
 
-#: builtin/notes.c:486
+#: builtin/notes.c:490
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr ""
 
-#: builtin/notes.c:504
+#: builtin/notes.c:508
 msgid "too few parameters"
 msgstr ""
 
-#: builtin/notes.c:525
+#: builtin/notes.c:529
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr ""
 
-#: builtin/notes.c:537
+#: builtin/notes.c:541
 #, c-format
 msgid "missing notes on source object %s. Cannot copy."
 msgstr ""
 
-#: builtin/notes.c:589
+#: builtin/notes.c:593
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
 "Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
 msgstr ""
 
-#: builtin/notes.c:684
+#: builtin/notes.c:688
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr ""
 
-#: builtin/notes.c:686
+#: builtin/notes.c:690
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr ""
 
-#: builtin/notes.c:688
+#: builtin/notes.c:692
 msgid "failed to remove 'git notes merge' worktree"
 msgstr ""
 
-#: builtin/notes.c:708
+#: builtin/notes.c:712
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr ""
 
-#: builtin/notes.c:710
+#: builtin/notes.c:714
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr ""
 
-#: builtin/notes.c:712
+#: builtin/notes.c:716
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr ""
 
-#: builtin/notes.c:725
+#: builtin/notes.c:729
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr ""
 
-#: builtin/notes.c:728
+#: builtin/notes.c:732
 msgid "failed to finalize notes merge"
 msgstr ""
 
-#: builtin/notes.c:754
+#: builtin/notes.c:758
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr ""
 
-#: builtin/notes.c:770
+#: builtin/notes.c:774
 msgid "General options"
 msgstr ""
 
-#: builtin/notes.c:772
+#: builtin/notes.c:776
 msgid "Merge options"
 msgstr ""
 
-#: builtin/notes.c:774
+#: builtin/notes.c:778
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr ""
 
-#: builtin/notes.c:776
+#: builtin/notes.c:780
 msgid "Committing unmerged notes"
 msgstr ""
 
-#: builtin/notes.c:778
+#: builtin/notes.c:782
 msgid "finalize notes merge by committing unmerged notes"
 msgstr ""
 
-#: builtin/notes.c:780
+#: builtin/notes.c:784
 msgid "Aborting notes merge resolution"
 msgstr ""
 
-#: builtin/notes.c:782
+#: builtin/notes.c:786
 msgid "abort notes merge"
 msgstr ""
 
-#: builtin/notes.c:793
+#: builtin/notes.c:797
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr ""
 
-#: builtin/notes.c:798
+#: builtin/notes.c:802
 msgid "must specify a notes ref to merge"
 msgstr ""
 
-#: builtin/notes.c:822
+#: builtin/notes.c:826
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr ""
 
-#: builtin/notes.c:859
+#: builtin/notes.c:863
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr ""
 
-#: builtin/notes.c:862
+#: builtin/notes.c:866
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr ""
 
-#: builtin/notes.c:864
+#: builtin/notes.c:868
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -10180,218 +10521,226 @@ msgid ""
 "abort'.\n"
 msgstr ""
 
-#: builtin/notes.c:886
+#: builtin/notes.c:890
 #, c-format
 msgid "Object %s has no note\n"
 msgstr ""
 
-#: builtin/notes.c:898
+#: builtin/notes.c:902
 msgid "attempt to remove non-existent note is not an error"
 msgstr ""
 
-#: builtin/notes.c:901
+#: builtin/notes.c:905
 msgid "read object names from the standard input"
 msgstr ""
 
-#: builtin/notes.c:939 builtin/prune.c:105 builtin/worktree.c:127
+#: builtin/notes.c:943 builtin/prune.c:105 builtin/worktree.c:158
 msgid "do not remove, show only"
 msgstr ""
 
-#: builtin/notes.c:940
+#: builtin/notes.c:944
 msgid "report pruned notes"
 msgstr ""
 
-#: builtin/notes.c:982
+#: builtin/notes.c:986
 msgid "notes-ref"
 msgstr ""
 
-#: builtin/notes.c:983
+#: builtin/notes.c:987
 msgid "use notes from <notes-ref>"
 msgstr ""
 
-#: builtin/notes.c:1018
+#: builtin/notes.c:1022
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr ""
 
-#: builtin/pack-objects.c:29
+#: builtin/pack-objects.c:33
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr ""
 
-#: builtin/pack-objects.c:30
+#: builtin/pack-objects.c:34
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 
-#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
+#: builtin/pack-objects.c:192 builtin/pack-objects.c:195
 #, c-format
 msgid "deflate error (%d)"
 msgstr ""
 
-#: builtin/pack-objects.c:770
+#: builtin/pack-objects.c:788
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 
-#: builtin/pack-objects.c:783
+#: builtin/pack-objects.c:801
 msgid "Writing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:1063
+#: builtin/pack-objects.c:1081
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2426
+#: builtin/pack-objects.c:2451
 msgid "Compressing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2599
+msgid "invalid value for --missing"
+msgstr ""
+
+#: builtin/pack-objects.c:2902
 #, c-format
 msgid "unsupported index version %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2833
+#: builtin/pack-objects.c:2906
 #, c-format
 msgid "bad index version '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:2863
+#: builtin/pack-objects.c:2936
 msgid "do not show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:2865
+#: builtin/pack-objects.c:2938
 msgid "show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:2867
+#: builtin/pack-objects.c:2940
 msgid "show progress meter during object writing phase"
 msgstr ""
 
-#: builtin/pack-objects.c:2870
+#: builtin/pack-objects.c:2943
 msgid "similar to --all-progress when progress meter is shown"
 msgstr ""
 
-#: builtin/pack-objects.c:2871
+#: builtin/pack-objects.c:2944
 msgid "version[,offset]"
 msgstr ""
 
-#: builtin/pack-objects.c:2872
+#: builtin/pack-objects.c:2945
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 
-#: builtin/pack-objects.c:2875
+#: builtin/pack-objects.c:2948
 msgid "maximum size of each output pack file"
 msgstr ""
 
-#: builtin/pack-objects.c:2877
+#: builtin/pack-objects.c:2950
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 
-#: builtin/pack-objects.c:2879
+#: builtin/pack-objects.c:2952
 msgid "ignore packed objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2881
+#: builtin/pack-objects.c:2954
 msgid "limit pack window by objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2883
+#: builtin/pack-objects.c:2956
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 
-#: builtin/pack-objects.c:2885
+#: builtin/pack-objects.c:2958
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 
-#: builtin/pack-objects.c:2887
+#: builtin/pack-objects.c:2960
 msgid "reuse existing deltas"
 msgstr ""
 
-#: builtin/pack-objects.c:2889
+#: builtin/pack-objects.c:2962
 msgid "reuse existing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2891
+#: builtin/pack-objects.c:2964
 msgid "use OFS_DELTA objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2893
+#: builtin/pack-objects.c:2966
 msgid "use threads when searching for best delta matches"
 msgstr ""
 
-#: builtin/pack-objects.c:2895
+#: builtin/pack-objects.c:2968
 msgid "do not create an empty pack output"
 msgstr ""
 
-#: builtin/pack-objects.c:2897
+#: builtin/pack-objects.c:2970
 msgid "read revision arguments from standard input"
 msgstr ""
 
-#: builtin/pack-objects.c:2899
+#: builtin/pack-objects.c:2972
 msgid "limit the objects to those that are not yet packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2902
+#: builtin/pack-objects.c:2975
 msgid "include objects reachable from any reference"
 msgstr ""
 
-#: builtin/pack-objects.c:2905
+#: builtin/pack-objects.c:2978
 msgid "include objects referred by reflog entries"
 msgstr ""
 
-#: builtin/pack-objects.c:2908
+#: builtin/pack-objects.c:2981
 msgid "include objects referred to by the index"
 msgstr ""
 
-#: builtin/pack-objects.c:2911
+#: builtin/pack-objects.c:2984
 msgid "output pack to stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:2913
+#: builtin/pack-objects.c:2986
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2915
+#: builtin/pack-objects.c:2988
 msgid "keep unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2917
+#: builtin/pack-objects.c:2990
 msgid "pack loose unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2919
+#: builtin/pack-objects.c:2992
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 
-#: builtin/pack-objects.c:2922
+#: builtin/pack-objects.c:2995
 msgid "create thin packs"
 msgstr ""
 
-#: builtin/pack-objects.c:2924
+#: builtin/pack-objects.c:2997
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 
-#: builtin/pack-objects.c:2926
+#: builtin/pack-objects.c:2999
 msgid "ignore packs that have companion .keep file"
 msgstr ""
 
-#: builtin/pack-objects.c:2928
+#: builtin/pack-objects.c:3001
 msgid "pack compression level"
 msgstr ""
 
-#: builtin/pack-objects.c:2930
+#: builtin/pack-objects.c:3003
 msgid "do not hide commits by grafts"
 msgstr ""
 
-#: builtin/pack-objects.c:2932
+#: builtin/pack-objects.c:3005
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2934
+#: builtin/pack-objects.c:3007
 msgid "write a bitmap index together with the pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:3061
+#: builtin/pack-objects.c:3010
+msgid "handling for missing objects"
+msgstr ""
+
+#: builtin/pack-objects.c:3144
 msgid "Counting objects"
 msgstr ""
 
@@ -10407,16 +10756,16 @@ msgstr ""
 msgid "prune loose refs (default)"
 msgstr ""
 
-#: builtin/prune-packed.c:7
+#: builtin/prune-packed.c:8
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr ""
 
-#: builtin/prune-packed.c:40
+#: builtin/prune-packed.c:41
 msgid "Removing duplicate objects"
 msgstr ""
 
 #: builtin/prune.c:11
-msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
+msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr ""
 
 #: builtin/prune.c:106
@@ -10431,62 +10780,66 @@ msgstr ""
 msgid "cannot prune in a precious-objects repo"
 msgstr ""
 
-#: builtin/pull.c:51 builtin/pull.c:53
+#: builtin/pull.c:54 builtin/pull.c:56
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr ""
 
-#: builtin/pull.c:73
+#: builtin/pull.c:76
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/pull.c:121
+#: builtin/pull.c:127
+msgid "control for recursive fetching of submodules"
+msgstr ""
+
+#: builtin/pull.c:131
 msgid "Options related to merging"
 msgstr ""
 
-#: builtin/pull.c:124
+#: builtin/pull.c:134
 msgid "incorporate changes by rebasing rather than merging"
 msgstr ""
 
-#: builtin/pull.c:148 builtin/rebase--helper.c:18 builtin/revert.c:120
+#: builtin/pull.c:161 builtin/rebase--helper.c:23 builtin/revert.c:121
 msgid "allow fast-forward"
 msgstr ""
 
-#: builtin/pull.c:157
+#: builtin/pull.c:170
 msgid "automatically stash/stash pop before and after rebase"
 msgstr ""
 
-#: builtin/pull.c:173
+#: builtin/pull.c:186
 msgid "Options related to fetching"
 msgstr ""
 
-#: builtin/pull.c:195
+#: builtin/pull.c:204
 msgid "number of submodules pulled in parallel"
 msgstr ""
 
-#: builtin/pull.c:284
+#: builtin/pull.c:299
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr ""
 
-#: builtin/pull.c:397
+#: builtin/pull.c:415
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr ""
 
-#: builtin/pull.c:399
+#: builtin/pull.c:417
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 
-#: builtin/pull.c:400
+#: builtin/pull.c:418
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr ""
 
-#: builtin/pull.c:403
+#: builtin/pull.c:421
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -10494,69 +10847,69 @@ msgid ""
 "for your current branch, you must specify a branch on the command line."
 msgstr ""
 
-#: builtin/pull.c:408 git-parse-remote.sh:73
+#: builtin/pull.c:426 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr ""
 
-#: builtin/pull.c:410 builtin/pull.c:425 git-parse-remote.sh:79
+#: builtin/pull.c:428 builtin/pull.c:443 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr ""
 
-#: builtin/pull.c:412 builtin/pull.c:427 git-parse-remote.sh:82
+#: builtin/pull.c:430 builtin/pull.c:445 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr ""
 
-#: builtin/pull.c:413 builtin/pull.c:428
+#: builtin/pull.c:431 builtin/pull.c:446
 msgid "See git-pull(1) for details."
 msgstr ""
 
-#: builtin/pull.c:415 builtin/pull.c:421 builtin/pull.c:430
+#: builtin/pull.c:433 builtin/pull.c:439 builtin/pull.c:448
 #: git-parse-remote.sh:64
 msgid "<remote>"
 msgstr ""
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:456
+#: builtin/pull.c:433 builtin/pull.c:448 builtin/pull.c:453 git-rebase.sh:466
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr ""
 
-#: builtin/pull.c:423 git-parse-remote.sh:75
+#: builtin/pull.c:441 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr ""
 
-#: builtin/pull.c:432 git-parse-remote.sh:95
+#: builtin/pull.c:450 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:437
+#: builtin/pull.c:455
 #, 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:754
+#: builtin/pull.c:817
 msgid "ignoring --verify-signatures for rebase"
 msgstr ""
 
-#: builtin/pull.c:801
+#: builtin/pull.c:865
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr ""
 
-#: builtin/pull.c:809
+#: builtin/pull.c:873
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 
-#: builtin/pull.c:812
+#: builtin/pull.c:876
 msgid "pull with rebase"
 msgstr ""
 
-#: builtin/pull.c:813
+#: builtin/pull.c:877
 msgid "please commit or stash them."
 msgstr ""
 
-#: builtin/pull.c:838
+#: builtin/pull.c:902
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -10564,7 +10917,7 @@ msgid ""
 "commit %s."
 msgstr ""
 
-#: builtin/pull.c:843
+#: builtin/pull.c:907
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -10575,33 +10928,37 @@ msgid ""
 "to recover."
 msgstr ""
 
-#: builtin/pull.c:858
+#: builtin/pull.c:922
 msgid "Cannot merge multiple branches into empty head."
 msgstr ""
 
-#: builtin/pull.c:862
+#: builtin/pull.c:926
 msgid "Cannot rebase onto multiple branches."
 msgstr ""
 
-#: builtin/push.c:16
+#: builtin/pull.c:933
+msgid "cannot rebase with locally recorded submodule modifications"
+msgstr ""
+
+#: builtin/push.c:17
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/push.c:89
+#: builtin/push.c:92
 msgid "tag shorthand without <tag>"
 msgstr ""
 
-#: builtin/push.c:99
+#: builtin/push.c:102
 msgid "--delete only accepts plain target ref names"
 msgstr ""
 
-#: builtin/push.c:143
+#: builtin/push.c:146
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
 msgstr ""
 
-#: builtin/push.c:146
+#: builtin/push.c:149
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -10616,7 +10973,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/push.c:161
+#: builtin/push.c:164
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -10626,7 +10983,7 @@ msgid ""
 "    git push %s HEAD:<name-of-remote-branch>\n"
 msgstr ""
 
-#: builtin/push.c:175
+#: builtin/push.c:178
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -10635,12 +10992,12 @@ msgid ""
 "    git push --set-upstream %s %s\n"
 msgstr ""
 
-#: builtin/push.c:183
+#: builtin/push.c:186
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr ""
 
-#: builtin/push.c:186
+#: builtin/push.c:189
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -10648,12 +11005,12 @@ msgid ""
 "to update which remote branch."
 msgstr ""
 
-#: builtin/push.c:245
+#: builtin/push.c:248
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 
-#: builtin/push.c:252
+#: builtin/push.c:255
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10661,7 +11018,7 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:258
+#: builtin/push.c:261
 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"
@@ -10669,7 +11026,7 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:264
+#: builtin/push.c:267
 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"
@@ -10678,33 +11035,33 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 
-#: builtin/push.c:274
+#: builtin/push.c:277
 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:334
+#: builtin/push.c:337
 #, c-format
 msgid "Pushing to %s\n"
 msgstr ""
 
-#: builtin/push.c:338
+#: builtin/push.c:341
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr ""
 
-#: builtin/push.c:369
+#: builtin/push.c:372
 #, c-format
 msgid "bad repository '%s'"
 msgstr ""
 
-#: builtin/push.c:370
+#: builtin/push.c:373
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10717,112 +11074,112 @@ msgid ""
 "    git push <name>\n"
 msgstr ""
 
-#: builtin/push.c:388
+#: builtin/push.c:391
 msgid "--all and --tags are incompatible"
 msgstr ""
 
-#: builtin/push.c:389
+#: builtin/push.c:392
 msgid "--all can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:394
+#: builtin/push.c:397
 msgid "--mirror and --tags are incompatible"
 msgstr ""
 
-#: builtin/push.c:395
+#: builtin/push.c:398
 msgid "--mirror can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:400
+#: builtin/push.c:403
 msgid "--all and --mirror are incompatible"
 msgstr ""
 
-#: builtin/push.c:518
+#: builtin/push.c:535
 msgid "repository"
 msgstr ""
 
-#: builtin/push.c:519 builtin/send-pack.c:162
+#: builtin/push.c:536 builtin/send-pack.c:163
 msgid "push all refs"
 msgstr ""
 
-#: builtin/push.c:520 builtin/send-pack.c:164
+#: builtin/push.c:537 builtin/send-pack.c:165
 msgid "mirror all refs"
 msgstr ""
 
-#: builtin/push.c:522
+#: builtin/push.c:539
 msgid "delete refs"
 msgstr ""
 
-#: builtin/push.c:523
+#: builtin/push.c:540
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 
-#: builtin/push.c:526 builtin/send-pack.c:165
+#: builtin/push.c:543 builtin/send-pack.c:166
 msgid "force updates"
 msgstr ""
 
-#: builtin/push.c:528 builtin/send-pack.c:179
+#: builtin/push.c:545 builtin/send-pack.c:180
 msgid "refname>:<expect"
 msgstr ""
 
-#: builtin/push.c:529 builtin/send-pack.c:180
+#: builtin/push.c:546 builtin/send-pack.c:181
 msgid "require old value of ref to be at this value"
 msgstr ""
 
-#: builtin/push.c:532
+#: builtin/push.c:549
 msgid "control recursive pushing of submodules"
 msgstr ""
 
-#: builtin/push.c:534 builtin/send-pack.c:173
+#: builtin/push.c:551 builtin/send-pack.c:174
 msgid "use thin pack"
 msgstr ""
 
-#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:159
-#: builtin/send-pack.c:160
+#: builtin/push.c:552 builtin/push.c:553 builtin/send-pack.c:160
+#: builtin/send-pack.c:161
 msgid "receive pack program"
 msgstr ""
 
-#: builtin/push.c:537
+#: builtin/push.c:554
 msgid "set upstream for git pull/status"
 msgstr ""
 
-#: builtin/push.c:540
+#: builtin/push.c:557
 msgid "prune locally removed refs"
 msgstr ""
 
-#: builtin/push.c:542
+#: builtin/push.c:559
 msgid "bypass pre-push hook"
 msgstr ""
 
-#: builtin/push.c:543
+#: builtin/push.c:560
 msgid "push missing but relevant tags"
 msgstr ""
 
-#: builtin/push.c:546 builtin/send-pack.c:167
+#: builtin/push.c:563 builtin/send-pack.c:168
 msgid "GPG sign the push"
 msgstr ""
 
-#: builtin/push.c:548 builtin/send-pack.c:174
+#: builtin/push.c:565 builtin/send-pack.c:175
 msgid "request atomic transaction on remote side"
 msgstr ""
 
-#: builtin/push.c:549 builtin/send-pack.c:170
+#: builtin/push.c:566 builtin/send-pack.c:171
 msgid "server-specific"
 msgstr ""
 
-#: builtin/push.c:549 builtin/send-pack.c:171
+#: builtin/push.c:566 builtin/send-pack.c:172
 msgid "option to transmit"
 msgstr ""
 
-#: builtin/push.c:563
+#: builtin/push.c:583
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr ""
 
-#: builtin/push.c:565
+#: builtin/push.c:585
 msgid "--delete doesn't make sense without any refs"
 msgstr ""
 
-#: builtin/push.c:584
+#: builtin/push.c:604
 msgid "push options must not have new line characters"
 msgstr ""
 
@@ -10833,87 +11190,119 @@ msgid ""
 "index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
 msgstr ""
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:121
 msgid "write resulting index to <file>"
 msgstr ""
 
-#: builtin/read-tree.c:133
+#: builtin/read-tree.c:124
 msgid "only empty the index"
 msgstr ""
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:126
 msgid "Merging"
 msgstr ""
 
-#: builtin/read-tree.c:137
+#: builtin/read-tree.c:128
 msgid "perform a merge in addition to a read"
 msgstr ""
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:130
 msgid "3-way merge if no file level merging required"
 msgstr ""
 
-#: builtin/read-tree.c:141
+#: builtin/read-tree.c:132
 msgid "3-way merge in presence of adds and removes"
 msgstr ""
 
-#: builtin/read-tree.c:143
+#: builtin/read-tree.c:134
 msgid "same as -m, but discard unmerged entries"
 msgstr ""
 
-#: builtin/read-tree.c:144
+#: builtin/read-tree.c:135
 msgid "<subdirectory>/"
 msgstr ""
 
-#: builtin/read-tree.c:145
+#: builtin/read-tree.c:136
 msgid "read the tree into the index under <subdirectory>/"
 msgstr ""
 
-#: builtin/read-tree.c:148
+#: builtin/read-tree.c:139
 msgid "update working tree with merge result"
 msgstr ""
 
-#: builtin/read-tree.c:150
+#: builtin/read-tree.c:141
 msgid "gitignore"
 msgstr ""
 
-#: builtin/read-tree.c:151
+#: builtin/read-tree.c:142
 msgid "allow explicitly ignored files to be overwritten"
 msgstr ""
 
-#: builtin/read-tree.c:154
+#: builtin/read-tree.c:145
 msgid "don't check the working tree after merging"
 msgstr ""
 
-#: builtin/read-tree.c:155
+#: builtin/read-tree.c:146
 msgid "don't update the index or the work tree"
 msgstr ""
 
-#: builtin/read-tree.c:157
+#: builtin/read-tree.c:148
 msgid "skip applying sparse checkout filter"
 msgstr ""
 
-#: builtin/read-tree.c:159
+#: builtin/read-tree.c:150
 msgid "debug unpack-trees"
 msgstr ""
 
-#: builtin/rebase--helper.c:7
+#: builtin/rebase--helper.c:8
 msgid "git rebase--helper [<options>]"
 msgstr ""
 
-#: builtin/rebase--helper.c:19
+#: builtin/rebase--helper.c:24
+msgid "keep empty commits"
+msgstr ""
+
+#: builtin/rebase--helper.c:25
 msgid "continue rebase"
 msgstr ""
 
-#: builtin/rebase--helper.c:21
+#: builtin/rebase--helper.c:27
 msgid "abort rebase"
 msgstr ""
 
-#: builtin/receive-pack.c:27
+#: builtin/rebase--helper.c:30
+msgid "make rebase script"
+msgstr ""
+
+#: builtin/rebase--helper.c:32
+msgid "shorten commit ids in the todo list"
+msgstr ""
+
+#: builtin/rebase--helper.c:34
+msgid "expand commit ids in the todo list"
+msgstr ""
+
+#: builtin/rebase--helper.c:36
+msgid "check the todo list"
+msgstr ""
+
+#: builtin/rebase--helper.c:38
+msgid "skip unnecessary picks"
+msgstr ""
+
+#: builtin/rebase--helper.c:40
+msgid "rearrange fixup/squash lines"
+msgstr ""
+
+#: builtin/rebase--helper.c:42
+msgid "insert exec commands in todo list"
+msgstr ""
+
+#: builtin/receive-pack.c:30
 msgid "git receive-pack <git-dir>"
 msgstr ""
 
-#: builtin/receive-pack.c:795
+#: builtin/receive-pack.c:840
 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"
@@ -10930,7 +11319,7 @@ msgid ""
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:815
+#: builtin/receive-pack.c:860
 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"
@@ -10942,194 +11331,189 @@ msgid ""
 "To squelch this message, you can set it to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:1888
+#: builtin/receive-pack.c:1933
 msgid "quiet"
 msgstr ""
 
-#: builtin/receive-pack.c:1902
+#: builtin/receive-pack.c:1947
 msgid "You must specify a directory."
 msgstr ""
 
-#: builtin/reflog.c:423
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr ""
-
-#: builtin/reflog.c:540 builtin/reflog.c:545
+#: builtin/reflog.c:531 builtin/reflog.c:536
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr ""
 
-#: builtin/remote.c:12
+#: builtin/remote.c:13
 msgid "git remote [-v | --verbose]"
 msgstr ""
 
-#: builtin/remote.c:13
+#: builtin/remote.c:14
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
 msgstr ""
 
-#: builtin/remote.c:14 builtin/remote.c:34
+#: builtin/remote.c:15 builtin/remote.c:35
 msgid "git remote rename <old> <new>"
 msgstr ""
 
-#: builtin/remote.c:15 builtin/remote.c:39
+#: builtin/remote.c:16 builtin/remote.c:40
 msgid "git remote remove <name>"
 msgstr ""
 
-#: builtin/remote.c:16 builtin/remote.c:44
+#: builtin/remote.c:17 builtin/remote.c:45
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr ""
 
-#: builtin/remote.c:17
+#: builtin/remote.c:18
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr ""
 
-#: builtin/remote.c:18
+#: builtin/remote.c:19
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr ""
 
-#: builtin/remote.c:19
+#: builtin/remote.c:20
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 
-#: builtin/remote.c:20
+#: builtin/remote.c:21
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr ""
 
-#: builtin/remote.c:21 builtin/remote.c:70
+#: builtin/remote.c:22 builtin/remote.c:71
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr ""
 
-#: builtin/remote.c:22 builtin/remote.c:75
+#: builtin/remote.c:23 builtin/remote.c:76
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr ""
 
-#: builtin/remote.c:23 builtin/remote.c:76
+#: builtin/remote.c:24 builtin/remote.c:77
 msgid "git remote set-url --add <name> <newurl>"
 msgstr ""
 
-#: builtin/remote.c:24 builtin/remote.c:77
+#: builtin/remote.c:25 builtin/remote.c:78
 msgid "git remote set-url --delete <name> <url>"
 msgstr ""
 
-#: builtin/remote.c:29
+#: builtin/remote.c:30
 msgid "git remote add [<options>] <name> <url>"
 msgstr ""
 
-#: builtin/remote.c:49
+#: builtin/remote.c:50
 msgid "git remote set-branches <name> <branch>..."
 msgstr ""
 
-#: builtin/remote.c:50
+#: builtin/remote.c:51
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr ""
 
-#: builtin/remote.c:55
+#: builtin/remote.c:56
 msgid "git remote show [<options>] <name>"
 msgstr ""
 
-#: builtin/remote.c:60
+#: builtin/remote.c:61
 msgid "git remote prune [<options>] <name>"
 msgstr ""
 
-#: builtin/remote.c:65
+#: builtin/remote.c:66
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr ""
 
-#: builtin/remote.c:94
+#: builtin/remote.c:95
 #, c-format
 msgid "Updating %s"
 msgstr ""
 
-#: builtin/remote.c:126
+#: builtin/remote.c:127
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
 msgstr ""
 
-#: builtin/remote.c:143
+#: builtin/remote.c:144
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr ""
 
-#: builtin/remote.c:159
+#: builtin/remote.c:160
 msgid "fetch the remote branches"
 msgstr ""
 
-#: builtin/remote.c:161
+#: builtin/remote.c:162
 msgid "import all tags and associated objects when fetching"
 msgstr ""
 
-#: builtin/remote.c:164
+#: builtin/remote.c:165
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr ""
 
-#: builtin/remote.c:166
+#: builtin/remote.c:167
 msgid "branch(es) to track"
 msgstr ""
 
-#: builtin/remote.c:167
+#: builtin/remote.c:168
 msgid "master branch"
 msgstr ""
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "push|fetch"
 msgstr ""
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr ""
 
-#: builtin/remote.c:181
+#: builtin/remote.c:182
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr ""
 
-#: builtin/remote.c:183
+#: builtin/remote.c:184
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr ""
 
-#: builtin/remote.c:190 builtin/remote.c:629
+#: builtin/remote.c:191 builtin/remote.c:631
 #, c-format
 msgid "remote %s already exists."
 msgstr ""
 
-#: builtin/remote.c:194 builtin/remote.c:633
+#: builtin/remote.c:195 builtin/remote.c:635
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr ""
 
-#: builtin/remote.c:234
+#: builtin/remote.c:235
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr ""
 
-#: builtin/remote.c:336
+#: builtin/remote.c:337
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
 
-#: builtin/remote.c:437 builtin/remote.c:445
+#: builtin/remote.c:438 builtin/remote.c:446
 msgid "(matching)"
 msgstr ""
 
-#: builtin/remote.c:449
+#: builtin/remote.c:450
 msgid "(delete)"
 msgstr ""
 
-#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:856
+#: builtin/remote.c:624 builtin/remote.c:759 builtin/remote.c:858
 #, c-format
 msgid "No such remote: %s"
 msgstr ""
 
-#: builtin/remote.c:639
+#: builtin/remote.c:641
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr ""
 
-#: builtin/remote.c:659
+#: builtin/remote.c:661
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -11137,17 +11521,17 @@ msgid ""
 "\tPlease update the configuration manually if necessary."
 msgstr ""
 
-#: builtin/remote.c:695
+#: builtin/remote.c:697
 #, c-format
 msgid "deleting '%s' failed"
 msgstr ""
 
-#: builtin/remote.c:729
+#: builtin/remote.c:731
 #, c-format
 msgid "creating '%s' failed"
 msgstr ""
 
-#: builtin/remote.c:794
+#: builtin/remote.c:796
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -11157,629 +11541,648 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:808
+#: builtin/remote.c:810
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr ""
 
-#: builtin/remote.c:909
+#: builtin/remote.c:911
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr ""
 
-#: builtin/remote.c:912
+#: builtin/remote.c:914
 msgid " tracked"
 msgstr ""
 
-#: builtin/remote.c:914
+#: builtin/remote.c:916
 msgid " stale (use 'git remote prune' to remove)"
 msgstr ""
 
-#: builtin/remote.c:916
+#: builtin/remote.c:918
 msgid " ???"
 msgstr ""
 
-#: builtin/remote.c:957
+#: builtin/remote.c:959
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr ""
 
-#: builtin/remote.c:965
+#: builtin/remote.c:967
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:966
+#: builtin/remote.c:968
 #, c-format
 msgid "rebases onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:969
+#: builtin/remote.c:971
 #, c-format
 msgid " merges with remote %s"
 msgstr ""
 
-#: builtin/remote.c:972
+#: builtin/remote.c:974
 #, c-format
 msgid "merges with remote %s"
 msgstr ""
 
-#: builtin/remote.c:975
+#: builtin/remote.c:977
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr ""
 
-#: builtin/remote.c:1018
+#: builtin/remote.c:1020
 msgid "create"
 msgstr ""
 
-#: builtin/remote.c:1021
+#: builtin/remote.c:1023
 msgid "delete"
 msgstr ""
 
-#: builtin/remote.c:1025
+#: builtin/remote.c:1027
 msgid "up to date"
 msgstr ""
 
-#: builtin/remote.c:1028
+#: builtin/remote.c:1030
 msgid "fast-forwardable"
 msgstr ""
 
-#: builtin/remote.c:1031
+#: builtin/remote.c:1033
 msgid "local out of date"
 msgstr ""
 
-#: builtin/remote.c:1038
+#: builtin/remote.c:1040
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr ""
 
-#: builtin/remote.c:1041
+#: builtin/remote.c:1043
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr ""
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1047
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr ""
 
-#: builtin/remote.c:1048
+#: builtin/remote.c:1050
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr ""
 
-#: builtin/remote.c:1116
+#: builtin/remote.c:1118
 msgid "do not query remotes"
 msgstr ""
 
-#: builtin/remote.c:1143
+#: builtin/remote.c:1145
 #, c-format
 msgid "* remote %s"
 msgstr ""
 
-#: builtin/remote.c:1144
+#: builtin/remote.c:1146
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1145 builtin/remote.c:1158 builtin/remote.c:1297
+#: builtin/remote.c:1147 builtin/remote.c:1163 builtin/remote.c:1302
 msgid "(no URL)"
 msgstr ""
 
-#. TRANSLATORS: the colon ':' should align with
-#. the one in "  Fetch URL: %s" translation
-#: builtin/remote.c:1156 builtin/remote.c:1158
+#. TRANSLATORS: the colon ':' should align
+#. with the one in " Fetch URL: %s"
+#. translation.
+#.
+#: builtin/remote.c:1161 builtin/remote.c:1163
 #, c-format
 msgid "  Push  URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1160 builtin/remote.c:1162 builtin/remote.c:1164
+#: builtin/remote.c:1165 builtin/remote.c:1167 builtin/remote.c:1169
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr ""
 
-#: builtin/remote.c:1160
+#: builtin/remote.c:1165
 msgid "(not queried)"
 msgstr ""
 
-#: builtin/remote.c:1162
+#: builtin/remote.c:1167
 msgid "(unknown)"
 msgstr ""
 
-#: builtin/remote.c:1166
+#: builtin/remote.c:1171
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr ""
 
-#: builtin/remote.c:1178
+#: builtin/remote.c:1183
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1181 builtin/remote.c:1207
+#: builtin/remote.c:1186 builtin/remote.c:1212
 msgid " (status not queried)"
 msgstr ""
 
-#: builtin/remote.c:1190
+#: builtin/remote.c:1195
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1198
+#: builtin/remote.c:1203
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr ""
 
-#: builtin/remote.c:1204
+#: builtin/remote.c:1209
 #, 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:1225
+#: builtin/remote.c:1230
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr ""
 
-#: builtin/remote.c:1227
+#: builtin/remote.c:1232
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr ""
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1247
 msgid "Cannot determine remote HEAD"
 msgstr ""
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1249
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 
-#: builtin/remote.c:1254
+#: builtin/remote.c:1259
 #, c-format
 msgid "Could not delete %s"
 msgstr ""
 
-#: builtin/remote.c:1262
+#: builtin/remote.c:1267
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr ""
 
-#: builtin/remote.c:1264
+#: builtin/remote.c:1269
 #, c-format
 msgid "Could not setup %s"
 msgstr ""
 
-#: builtin/remote.c:1282
+#: builtin/remote.c:1287
 #, c-format
 msgid " %s will become dangling!"
 msgstr ""
 
-#: builtin/remote.c:1283
+#: builtin/remote.c:1288
 #, c-format
 msgid " %s has become dangling!"
 msgstr ""
 
-#: builtin/remote.c:1293
+#: builtin/remote.c:1298
 #, c-format
 msgid "Pruning %s"
 msgstr ""
 
-#: builtin/remote.c:1294
+#: builtin/remote.c:1299
 #, c-format
 msgid "URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1315
 #, c-format
 msgid " * [would prune] %s"
 msgstr ""
 
-#: builtin/remote.c:1313
+#: builtin/remote.c:1318
 #, c-format
 msgid " * [pruned] %s"
 msgstr ""
 
-#: builtin/remote.c:1358
+#: builtin/remote.c:1363
 msgid "prune remotes after fetching"
 msgstr ""
 
-#: builtin/remote.c:1421 builtin/remote.c:1475 builtin/remote.c:1543
+#: builtin/remote.c:1426 builtin/remote.c:1480 builtin/remote.c:1548
 #, c-format
 msgid "No such remote '%s'"
 msgstr ""
 
-#: builtin/remote.c:1437
+#: builtin/remote.c:1442
 msgid "add branch"
 msgstr ""
 
-#: builtin/remote.c:1444
+#: builtin/remote.c:1449
 msgid "no remote specified"
 msgstr ""
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1466
 msgid "query push URLs rather than fetch URLs"
 msgstr ""
 
-#: builtin/remote.c:1463
+#: builtin/remote.c:1468
 msgid "return all URLs"
 msgstr ""
 
-#: builtin/remote.c:1491
+#: builtin/remote.c:1496
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr ""
 
-#: builtin/remote.c:1517
+#: builtin/remote.c:1522
 msgid "manipulate push URLs"
 msgstr ""
 
-#: builtin/remote.c:1519
+#: builtin/remote.c:1524
 msgid "add URL"
 msgstr ""
 
-#: builtin/remote.c:1521
+#: builtin/remote.c:1526
 msgid "delete URLs"
 msgstr ""
 
-#: builtin/remote.c:1528
+#: builtin/remote.c:1533
 msgid "--add --delete doesn't make sense"
 msgstr ""
 
-#: builtin/remote.c:1569
+#: builtin/remote.c:1572
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr ""
 
-#: builtin/remote.c:1577
+#: builtin/remote.c:1580
 #, c-format
 msgid "No such URL found: %s"
 msgstr ""
 
-#: builtin/remote.c:1579
+#: builtin/remote.c:1582
 msgid "Will not delete all non-push URLs"
 msgstr ""
 
-#: builtin/remote.c:1593
+#: builtin/remote.c:1598
 msgid "be verbose; must be placed before a subcommand"
 msgstr ""
 
-#: builtin/remote.c:1624
+#: builtin/remote.c:1629
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr ""
 
-#: builtin/repack.c:17
+#: builtin/repack.c:18
 msgid "git repack [<options>]"
 msgstr ""
 
-#: builtin/repack.c:22
+#: builtin/repack.c:23
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
 msgstr ""
 
-#: builtin/repack.c:166
+#: builtin/repack.c:168
 msgid "pack everything in a single pack"
 msgstr ""
 
-#: builtin/repack.c:168
+#: builtin/repack.c:170
 msgid "same as -a, and turn unreachable objects loose"
 msgstr ""
 
-#: builtin/repack.c:171
+#: builtin/repack.c:173
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr ""
 
-#: builtin/repack.c:173
+#: builtin/repack.c:175
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:175
+#: builtin/repack.c:177
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:177
+#: builtin/repack.c:179
 msgid "do not run git-update-server-info"
 msgstr ""
 
-#: builtin/repack.c:180
+#: builtin/repack.c:182
 msgid "pass --local to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:182
+#: builtin/repack.c:184
 msgid "write bitmap index"
 msgstr ""
 
-#: builtin/repack.c:183
+#: builtin/repack.c:185
 msgid "approxidate"
 msgstr ""
 
-#: builtin/repack.c:184
+#: builtin/repack.c:186
 msgid "with -A, do not loosen objects older than this"
 msgstr ""
 
-#: builtin/repack.c:186
+#: builtin/repack.c:188
 msgid "with -a, repack unreachable objects"
 msgstr ""
 
-#: builtin/repack.c:188
+#: builtin/repack.c:190
 msgid "size of the window used for delta compression"
 msgstr ""
 
-#: builtin/repack.c:189 builtin/repack.c:193
+#: builtin/repack.c:191 builtin/repack.c:197
 msgid "bytes"
 msgstr ""
 
-#: builtin/repack.c:190
+#: builtin/repack.c:192
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 
-#: builtin/repack.c:192
+#: builtin/repack.c:194
 msgid "limits the maximum delta depth"
 msgstr ""
 
-#: builtin/repack.c:194
+#: builtin/repack.c:196
+msgid "limits the maximum number of threads"
+msgstr ""
+
+#: builtin/repack.c:198
 msgid "maximum size of each packfile"
 msgstr ""
 
-#: builtin/repack.c:196
+#: builtin/repack.c:200
 msgid "repack objects in packs marked with .keep"
 msgstr ""
 
-#: builtin/repack.c:206
+#: builtin/repack.c:210
 msgid "cannot delete packs in a precious-objects repo"
 msgstr ""
 
-#: builtin/repack.c:210
+#: builtin/repack.c:214
 msgid "--keep-unreachable and -A are incompatible"
 msgstr ""
 
-#: builtin/repack.c:400 builtin/worktree.c:115
+#: builtin/repack.c:406 builtin/worktree.c:146
 #, c-format
 msgid "failed to remove '%s'"
 msgstr ""
 
-#: builtin/replace.c:19
+#: builtin/replace.c:20
 msgid "git replace [-f] <object> <replacement>"
 msgstr ""
 
-#: builtin/replace.c:20
+#: builtin/replace.c:21
 msgid "git replace [-f] --edit <object>"
 msgstr ""
 
-#: builtin/replace.c:21
+#: builtin/replace.c:22
 msgid "git replace [-f] --graft <commit> [<parent>...]"
 msgstr ""
 
-#: builtin/replace.c:22
+#: builtin/replace.c:23
 msgid "git replace -d <object>..."
 msgstr ""
 
-#: builtin/replace.c:23
+#: builtin/replace.c:24
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr ""
 
-#: builtin/replace.c:330 builtin/replace.c:368 builtin/replace.c:396
+#: builtin/replace.c:331 builtin/replace.c:369 builtin/replace.c:397
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr ""
 
-#: builtin/replace.c:360
+#: builtin/replace.c:361
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:362
+#: builtin/replace.c:363
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:373
+#: builtin/replace.c:374
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr ""
 
-#: builtin/replace.c:406
+#: builtin/replace.c:407
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr ""
 
-#: builtin/replace.c:407
+#: builtin/replace.c:408
 msgid "the signature will be removed in the replacement commit!"
 msgstr ""
 
-#: builtin/replace.c:413
+#: builtin/replace.c:414
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr ""
 
-#: builtin/replace.c:437
+#: builtin/replace.c:438
 msgid "list replace refs"
 msgstr ""
 
-#: builtin/replace.c:438
+#: builtin/replace.c:439
 msgid "delete replace refs"
 msgstr ""
 
-#: builtin/replace.c:439
+#: builtin/replace.c:440
 msgid "edit existing object"
 msgstr ""
 
-#: builtin/replace.c:440
+#: builtin/replace.c:441
 msgid "change a commit's parents"
 msgstr ""
 
-#: builtin/replace.c:441
+#: builtin/replace.c:442
 msgid "replace the ref if it exists"
 msgstr ""
 
-#: builtin/replace.c:442
+#: builtin/replace.c:443
 msgid "do not pretty-print contents for --edit"
 msgstr ""
 
-#: builtin/replace.c:443
+#: builtin/replace.c:444
 msgid "use this format"
 msgstr ""
 
-#: builtin/rerere.c:12
+#: builtin/rerere.c:13
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr ""
 
-#: builtin/rerere.c:58
+#: builtin/rerere.c:59
 msgid "register clean resolutions in index"
 msgstr ""
 
-#: builtin/reset.c:26
+#: builtin/reset.c:29
 msgid ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr ""
 
-#: builtin/reset.c:27
+#: builtin/reset.c:30
 msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
 msgstr ""
 
-#: builtin/reset.c:28
+#: builtin/reset.c:31
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
 msgstr ""
 
-#: builtin/reset.c:34
+#: builtin/reset.c:37
 msgid "mixed"
 msgstr ""
 
-#: builtin/reset.c:34
+#: builtin/reset.c:37
 msgid "soft"
 msgstr ""
 
-#: builtin/reset.c:34
+#: builtin/reset.c:37
 msgid "hard"
 msgstr ""
 
-#: builtin/reset.c:34
+#: builtin/reset.c:37
 msgid "merge"
 msgstr ""
 
-#: builtin/reset.c:34
+#: builtin/reset.c:37
 msgid "keep"
 msgstr ""
 
-#: builtin/reset.c:74
+#: builtin/reset.c:78
 msgid "You do not have a valid HEAD."
 msgstr ""
 
-#: builtin/reset.c:76
+#: builtin/reset.c:80
 msgid "Failed to find tree of HEAD."
 msgstr ""
 
-#: builtin/reset.c:82
+#: builtin/reset.c:86
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr ""
 
-#: builtin/reset.c:100
+#: builtin/reset.c:113
 #, c-format
 msgid "HEAD is now at %s"
 msgstr ""
 
-#: builtin/reset.c:183
+#: builtin/reset.c:197
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr ""
 
-#: builtin/reset.c:276
+#: builtin/reset.c:297
 msgid "be quiet, only report errors"
 msgstr ""
 
-#: builtin/reset.c:278
+#: builtin/reset.c:299
 msgid "reset HEAD and index"
 msgstr ""
 
-#: builtin/reset.c:279
+#: builtin/reset.c:300
 msgid "reset only HEAD"
 msgstr ""
 
-#: builtin/reset.c:281 builtin/reset.c:283
+#: builtin/reset.c:302 builtin/reset.c:304
 msgid "reset HEAD, index and working tree"
 msgstr ""
 
-#: builtin/reset.c:285
+#: builtin/reset.c:306
 msgid "reset HEAD but keep local changes"
 msgstr ""
 
-#: builtin/reset.c:288
+#: builtin/reset.c:312
 msgid "record only the fact that removed paths will be added later"
 msgstr ""
 
-#: builtin/reset.c:305
+#: builtin/reset.c:329
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr ""
 
-#: builtin/reset.c:313
+#: builtin/reset.c:337
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr ""
 
-#: builtin/reset.c:322
+#: builtin/reset.c:346
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr ""
 
-#: builtin/reset.c:331
+#: builtin/reset.c:355
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 
-#: builtin/reset.c:333
+#: builtin/reset.c:357
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr ""
 
-#: builtin/reset.c:343
+#: builtin/reset.c:367
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr ""
 
-#: builtin/reset.c:347
+#: builtin/reset.c:371
 msgid "-N can only be used with --mixed"
 msgstr ""
 
-#: builtin/reset.c:364
+#: builtin/reset.c:388
 msgid "Unstaged changes after reset:"
 msgstr ""
 
-#: builtin/reset.c:370
+#: builtin/reset.c:394
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr ""
 
-#: builtin/reset.c:374
+#: builtin/reset.c:398
 msgid "Could not write new index file."
 msgstr ""
 
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:399
+msgid "object filtering requires --objects"
+msgstr ""
+
+#: builtin/rev-list.c:402
+#, c-format
+msgid "invalid sparse value '%s'"
+msgstr ""
+
+#: builtin/rev-list.c:442
 msgid "rev-list does not support display of notes"
 msgstr ""
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-list.c:445
+msgid "cannot combine --use-bitmap-index with object filtering"
+msgstr ""
+
+#: builtin/rev-parse.c:402
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr ""
 
-#: builtin/rev-parse.c:398
+#: builtin/rev-parse.c:407
 msgid "keep the `--` passed as an arg"
 msgstr ""
 
-#: builtin/rev-parse.c:400
+#: builtin/rev-parse.c:409
 msgid "stop parsing after the first non-option argument"
 msgstr ""
 
-#: builtin/rev-parse.c:403
+#: builtin/rev-parse.c:412
 msgid "output in stuck long form"
 msgstr ""
 
-#: builtin/rev-parse.c:534
+#: builtin/rev-parse.c:545
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11788,96 +12191,96 @@ msgid ""
 "Run \"git rev-parse --parseopt -h\" for more information on the first usage."
 msgstr ""
 
-#: builtin/revert.c:22
+#: builtin/revert.c:23
 msgid "git revert [<options>] <commit-ish>..."
 msgstr ""
 
-#: builtin/revert.c:23
+#: builtin/revert.c:24
 msgid "git revert <subcommand>"
 msgstr ""
 
-#: builtin/revert.c:28
+#: builtin/revert.c:29
 msgid "git cherry-pick [<options>] <commit-ish>..."
 msgstr ""
 
-#: builtin/revert.c:29
+#: builtin/revert.c:30
 msgid "git cherry-pick <subcommand>"
 msgstr ""
 
-#: builtin/revert.c:89
+#: builtin/revert.c:90
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr ""
 
-#: builtin/revert.c:98
+#: builtin/revert.c:99
 msgid "end revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:99
+#: builtin/revert.c:100
 msgid "resume revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:100
+#: builtin/revert.c:101
 msgid "cancel revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:101
+#: builtin/revert.c:102
 msgid "don't automatically commit"
 msgstr ""
 
-#: builtin/revert.c:102
+#: builtin/revert.c:103
 msgid "edit the commit message"
 msgstr ""
 
-#: builtin/revert.c:105
+#: builtin/revert.c:106
 msgid "parent-number"
 msgstr ""
 
-#: builtin/revert.c:106
+#: builtin/revert.c:107
 msgid "select mainline parent"
 msgstr ""
 
-#: builtin/revert.c:108
+#: builtin/revert.c:109
 msgid "merge strategy"
 msgstr ""
 
-#: builtin/revert.c:109
+#: builtin/revert.c:110
 msgid "option"
 msgstr ""
 
-#: builtin/revert.c:110
+#: builtin/revert.c:111
 msgid "option for merge strategy"
 msgstr ""
 
-#: builtin/revert.c:119
+#: builtin/revert.c:120
 msgid "append commit name"
 msgstr ""
 
-#: builtin/revert.c:121
+#: builtin/revert.c:122
 msgid "preserve initially empty commits"
 msgstr ""
 
-#: builtin/revert.c:122
+#: builtin/revert.c:123
 msgid "allow commits with empty messages"
 msgstr ""
 
-#: builtin/revert.c:123
+#: builtin/revert.c:124
 msgid "keep redundant, empty commits"
 msgstr ""
 
-#: builtin/revert.c:211
+#: builtin/revert.c:214
 msgid "revert failed"
 msgstr ""
 
-#: builtin/revert.c:224
+#: builtin/revert.c:227
 msgid "cherry-pick failed"
 msgstr ""
 
-#: builtin/rm.c:17
+#: builtin/rm.c:18
 msgid "git rm [<options>] [--] <file>..."
 msgstr ""
 
-#: builtin/rm.c:205
+#: builtin/rm.c:206
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11887,66 +12290,66 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/rm.c:210
+#: builtin/rm.c:211
 msgid ""
 "\n"
 "(use -f to force removal)"
 msgstr ""
 
-#: builtin/rm.c:214
+#: builtin/rm.c:215
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/rm.c:218 builtin/rm.c:227
+#: builtin/rm.c:219 builtin/rm.c:228
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
 msgstr ""
 
-#: builtin/rm.c:224
+#: builtin/rm.c:225
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/rm.c:242
+#: builtin/rm.c:243
 msgid "do not list removed files"
 msgstr ""
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "only remove from the index"
 msgstr ""
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "override the up-to-date check"
 msgstr ""
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "allow recursive removal"
 msgstr ""
 
-#: builtin/rm.c:247
+#: builtin/rm.c:248
 msgid "exit with a zero status even if nothing matched"
 msgstr ""
 
-#: builtin/rm.c:308
+#: builtin/rm.c:307
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr ""
 
-#: builtin/rm.c:347
+#: builtin/rm.c:346
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr ""
 
-#: builtin/rm.c:370
+#: builtin/rm.c:369
 #, c-format
 msgid "could not remove '%s'"
 msgstr ""
 
-#: builtin/send-pack.c:18
+#: builtin/send-pack.c:19
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
 "receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
@@ -11954,51 +12357,51 @@ msgid ""
 "  --all and explicit <ref> specification are mutually exclusive."
 msgstr ""
 
-#: builtin/send-pack.c:161
+#: builtin/send-pack.c:162
 msgid "remote name"
 msgstr ""
 
-#: builtin/send-pack.c:175
+#: builtin/send-pack.c:176
 msgid "use stateless RPC protocol"
 msgstr ""
 
-#: builtin/send-pack.c:176
+#: builtin/send-pack.c:177
 msgid "read refs from stdin"
 msgstr ""
 
-#: builtin/send-pack.c:177
+#: builtin/send-pack.c:178
 msgid "print status from remote helper"
 msgstr ""
 
-#: builtin/shortlog.c:13
+#: builtin/shortlog.c:14
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr ""
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:263
 msgid "Group by committer rather than author"
 msgstr ""
 
-#: builtin/shortlog.c:250
+#: builtin/shortlog.c:265
 msgid "sort output according to the number of commits per author"
 msgstr ""
 
-#: builtin/shortlog.c:252
+#: builtin/shortlog.c:267
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 
-#: builtin/shortlog.c:254
+#: builtin/shortlog.c:269
 msgid "Show the email address of each author"
 msgstr ""
 
-#: builtin/shortlog.c:255
+#: builtin/shortlog.c:270
 msgid "w[,i1[,i2]]"
 msgstr ""
 
-#: builtin/shortlog.c:256
+#: builtin/shortlog.c:271
 msgid "Linewrap output"
 msgstr ""
 
-#: builtin/show-branch.c:10
+#: builtin/show-branch.c:12
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
@@ -12006,124 +12409,124 @@ msgid ""
 "\t\t[--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
 msgstr ""
 
-#: builtin/show-branch.c:14
+#: builtin/show-branch.c:16
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr ""
 
-#: builtin/show-branch.c:374
+#: builtin/show-branch.c:376
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/show-branch.c:536
+#: builtin/show-branch.c:530
 #, c-format
 msgid "no matching refs with %s"
 msgstr ""
 
-#: builtin/show-branch.c:632
+#: builtin/show-branch.c:626
 msgid "show remote-tracking and local branches"
 msgstr ""
 
-#: builtin/show-branch.c:634
+#: builtin/show-branch.c:628
 msgid "show remote-tracking branches"
 msgstr ""
 
-#: builtin/show-branch.c:636
+#: builtin/show-branch.c:630
 msgid "color '*!+-' corresponding to the branch"
 msgstr ""
 
-#: builtin/show-branch.c:638
+#: builtin/show-branch.c:632
 msgid "show <n> more commits after the common ancestor"
 msgstr ""
 
-#: builtin/show-branch.c:640
+#: builtin/show-branch.c:634
 msgid "synonym to more=-1"
 msgstr ""
 
-#: builtin/show-branch.c:641
+#: builtin/show-branch.c:635
 msgid "suppress naming strings"
 msgstr ""
 
-#: builtin/show-branch.c:643
+#: builtin/show-branch.c:637
 msgid "include the current branch"
 msgstr ""
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:639
 msgid "name commits with their object names"
 msgstr ""
 
-#: builtin/show-branch.c:647
+#: builtin/show-branch.c:641
 msgid "show possible merge bases"
 msgstr ""
 
-#: builtin/show-branch.c:649
+#: builtin/show-branch.c:643
 msgid "show refs unreachable from any other ref"
 msgstr ""
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:645
 msgid "show commits in topological order"
 msgstr ""
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:648
 msgid "show only commits not on the first branch"
 msgstr ""
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:650
 msgid "show merges reachable from only one tip"
 msgstr ""
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:652
 msgid "topologically sort, maintaining date order where possible"
 msgstr ""
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:655
 msgid "<n>[,<base>]"
 msgstr ""
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:656
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr ""
 
-#: builtin/show-branch.c:696
+#: builtin/show-branch.c:690
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 
-#: builtin/show-branch.c:720
+#: builtin/show-branch.c:714
 msgid "no branches given, and HEAD is not valid"
 msgstr ""
 
-#: builtin/show-branch.c:723
+#: builtin/show-branch.c:717
 msgid "--reflog option needs one branch name"
 msgstr ""
 
-#: builtin/show-branch.c:726
+#: builtin/show-branch.c:720
 #, 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:730
+#: builtin/show-branch.c:724
 #, c-format
 msgid "no such ref %s"
 msgstr ""
 
-#: builtin/show-branch.c:814
+#: builtin/show-branch.c:808
 #, 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:818
+#: builtin/show-branch.c:812
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr ""
 
-#: builtin/show-branch.c:821
+#: builtin/show-branch.c:815
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr ""
@@ -12170,244 +12573,268 @@ msgstr ""
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 
-#: builtin/stripspace.c:17
+#: builtin/stripspace.c:18
 msgid "git stripspace [-s | --strip-comments]"
 msgstr ""
 
-#: builtin/stripspace.c:18
+#: builtin/stripspace.c:19
 msgid "git stripspace [-c | --comment-lines]"
 msgstr ""
 
-#: builtin/stripspace.c:35
+#: builtin/stripspace.c:36
 msgid "skip and remove all lines starting with comment character"
 msgstr ""
 
-#: builtin/stripspace.c:38
+#: builtin/stripspace.c:39
 msgid "prepend comment character and space to each line"
 msgstr ""
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1075
+#: builtin/submodule--helper.c:34 builtin/submodule--helper.c:1332
 #, c-format
 msgid "No such ref: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1084
+#: builtin/submodule--helper.c:41 builtin/submodule--helper.c:1341
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:71
+#: builtin/submodule--helper.c:81
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:305 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:370 builtin/submodule--helper.c:861
 msgid "alternative anchor for relative paths"
 msgstr ""
 
-#: builtin/submodule--helper.c:310
+#: builtin/submodule--helper.c:375
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:356 builtin/submodule--helper.c:380
+#: builtin/submodule--helper.c:426 builtin/submodule--helper.c:449
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:395
+#: builtin/submodule--helper.c:464
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr ""
 
-#: builtin/submodule--helper.c:406
+#: builtin/submodule--helper.c:475
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:410
+#: builtin/submodule--helper.c:479
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:420
+#: builtin/submodule--helper.c:489
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:427
+#: builtin/submodule--helper.c:496
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:443
+#: builtin/submodule--helper.c:518
 msgid "Suppress output for initializing a submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:448
+#: builtin/submodule--helper.c:523
 msgid "git submodule--helper init [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:476
-msgid "git submodule--helper name <path>"
+#: builtin/submodule--helper.c:591 builtin/submodule--helper.c:713
+#, c-format
+msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:482
+#: builtin/submodule--helper.c:626
 #, c-format
-msgid "no submodule mapping found in .gitmodules for path '%s'"
+msgid "could not resolve HEAD ref inside the submodule '%s'"
+msgstr ""
+
+#: builtin/submodule--helper.c:653
+#, c-format
+msgid "failed to recurse into submodule '%s'"
+msgstr ""
+
+#: builtin/submodule--helper.c:677
+msgid "Suppress submodule status output"
+msgstr ""
+
+#: builtin/submodule--helper.c:678
+msgid ""
+"Use commit stored in the index instead of the one stored in the submodule "
+"HEAD"
+msgstr ""
+
+#: builtin/submodule--helper.c:679
+msgid "recurse into nested submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:568
+#: builtin/submodule--helper.c:684
+msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
+msgstr ""
+
+#: builtin/submodule--helper.c:708
+msgid "git submodule--helper name <path>"
+msgstr ""
+
+#: builtin/submodule--helper.c:796 builtin/submodule--helper.c:799
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:835
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:611
+#: builtin/submodule--helper.c:842
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:633
+#: builtin/submodule--helper.c:864
 msgid "where the new submodule will be cloned to"
 msgstr ""
 
-#: builtin/submodule--helper.c:636
+#: builtin/submodule--helper.c:867
 msgid "name of the new submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:639
+#: builtin/submodule--helper.c:870
 msgid "url where to clone the submodule from"
 msgstr ""
 
-#: builtin/submodule--helper.c:645
+#: builtin/submodule--helper.c:876
 msgid "depth for shallow clones"
 msgstr ""
 
-#: builtin/submodule--helper.c:648 builtin/submodule--helper.c:993
+#: builtin/submodule--helper.c:879 builtin/submodule--helper.c:1250
 msgid "force cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:653
+#: builtin/submodule--helper.c:884
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:684
+#: builtin/submodule--helper.c:915
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr ""
 
-#: builtin/submodule--helper.c:699
+#: builtin/submodule--helper.c:930
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:764
+#: builtin/submodule--helper.c:995
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr ""
 
-#: builtin/submodule--helper.c:768
+#: builtin/submodule--helper.c:999
 msgid "Maybe you want to use 'update --init'?"
 msgstr ""
 
-#: builtin/submodule--helper.c:793
+#: builtin/submodule--helper.c:1028
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:814
+#: builtin/submodule--helper.c:1057
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:942
+#: builtin/submodule--helper.c:1190
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr ""
 
-#: builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:1201
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr ""
 
-#: builtin/submodule--helper.c:974 builtin/submodule--helper.c:1162
+#: builtin/submodule--helper.c:1231 builtin/submodule--helper.c:1451
 msgid "path into the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:1234
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 
-#: builtin/submodule--helper.c:981
+#: builtin/submodule--helper.c:1238
 msgid "rebase, merge, checkout or none"
 msgstr ""
 
-#: builtin/submodule--helper.c:985
+#: builtin/submodule--helper.c:1242
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 
-#: builtin/submodule--helper.c:988
+#: builtin/submodule--helper.c:1245
 msgid "parallel jobs"
 msgstr ""
 
-#: builtin/submodule--helper.c:990
+#: builtin/submodule--helper.c:1247
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr ""
 
-#: builtin/submodule--helper.c:991
+#: builtin/submodule--helper.c:1248
 msgid "don't print cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:998
+#: builtin/submodule--helper.c:1255
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1008
+#: builtin/submodule--helper.c:1268
 msgid "bad value for update parameter"
 msgstr ""
 
-#: builtin/submodule--helper.c:1079
+#: builtin/submodule--helper.c:1336
 #, 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:1163
+#: builtin/submodule--helper.c:1452
 msgid "recurse into submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1169
+#: builtin/submodule--helper.c:1458
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1226
-msgid "submodule--helper subcommand must be called with a subcommand"
-msgstr ""
-
-#: builtin/submodule--helper.c:1233
+#: builtin/submodule--helper.c:1517
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr ""
 
-#: builtin/submodule--helper.c:1239
+#: builtin/submodule--helper.c:1523
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr ""
 
-#: builtin/symbolic-ref.c:7
+#: builtin/symbolic-ref.c:8
 msgid "git symbolic-ref [<options>] <name> [<ref>]"
 msgstr ""
 
-#: builtin/symbolic-ref.c:8
+#: builtin/symbolic-ref.c:9
 msgid "git symbolic-ref -d [-q] <name>"
 msgstr ""
 
@@ -12431,38 +12858,38 @@ msgstr ""
 msgid "reason of the update"
 msgstr ""
 
-#: builtin/tag.c:23
+#: builtin/tag.c:24
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
 "[<head>]"
 msgstr ""
 
-#: builtin/tag.c:24
+#: builtin/tag.c:25
 msgid "git tag -d <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:25
+#: builtin/tag.c:26
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
 msgstr ""
 
-#: builtin/tag.c:27
+#: builtin/tag.c:28
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:83
+#: builtin/tag.c:86
 #, c-format
 msgid "tag '%s' not found."
 msgstr ""
 
-#: builtin/tag.c:99
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/tag.c:128
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12471,7 +12898,7 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 
-#: builtin/tag.c:132
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12481,370 +12908,403 @@ msgid ""
 "want to.\n"
 msgstr ""
 
-#: builtin/tag.c:210
+#: builtin/tag.c:189
 msgid "unable to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:212
+#: builtin/tag.c:191
 msgid "unable to write tag file"
 msgstr ""
 
-#: builtin/tag.c:236
+#: builtin/tag.c:215
 msgid "bad object type."
 msgstr ""
 
-#: builtin/tag.c:282
+#: builtin/tag.c:261
 msgid "no tag message?"
 msgstr ""
 
-#: builtin/tag.c:289
+#: builtin/tag.c:268
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr ""
 
-#: builtin/tag.c:397
+#: builtin/tag.c:376
 msgid "list tag names"
 msgstr ""
 
-#: builtin/tag.c:399
+#: builtin/tag.c:378
 msgid "print <n> lines of each tag message"
 msgstr ""
 
-#: builtin/tag.c:401
+#: builtin/tag.c:380
 msgid "delete tags"
 msgstr ""
 
-#: builtin/tag.c:402
+#: builtin/tag.c:381
 msgid "verify tags"
 msgstr ""
 
-#: builtin/tag.c:404
+#: builtin/tag.c:383
 msgid "Tag creation options"
 msgstr ""
 
-#: builtin/tag.c:406
+#: builtin/tag.c:385
 msgid "annotated tag, needs a message"
 msgstr ""
 
-#: builtin/tag.c:408
+#: builtin/tag.c:387
 msgid "tag message"
 msgstr ""
 
-#: builtin/tag.c:410
+#: builtin/tag.c:389
 msgid "annotated and GPG-signed tag"
 msgstr ""
 
-#: builtin/tag.c:414
+#: builtin/tag.c:393
 msgid "use another key to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:415
+#: builtin/tag.c:394
 msgid "replace the tag if exists"
 msgstr ""
 
-#: builtin/tag.c:416 builtin/update-ref.c:368
+#: builtin/tag.c:395 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr ""
 
-#: builtin/tag.c:418
+#: builtin/tag.c:397
 msgid "Tag listing options"
 msgstr ""
 
-#: builtin/tag.c:419
+#: builtin/tag.c:398
 msgid "show tag list in columns"
 msgstr ""
 
-#: builtin/tag.c:420 builtin/tag.c:422
+#: builtin/tag.c:399 builtin/tag.c:401
 msgid "print only tags that contain the commit"
 msgstr ""
 
-#: builtin/tag.c:421 builtin/tag.c:423
+#: builtin/tag.c:400 builtin/tag.c:402
 msgid "print only tags that don't contain the commit"
 msgstr ""
 
-#: builtin/tag.c:424
+#: builtin/tag.c:403
 msgid "print only tags that are merged"
 msgstr ""
 
-#: builtin/tag.c:425
+#: builtin/tag.c:404
 msgid "print only tags that are not merged"
 msgstr ""
 
-#: builtin/tag.c:430
+#: builtin/tag.c:409
 msgid "print only tags of the object"
 msgstr ""
 
-#: builtin/tag.c:469
+#: builtin/tag.c:453
 msgid "--column and -n are incompatible"
 msgstr ""
 
-#: builtin/tag.c:491
+#: builtin/tag.c:475
 msgid "-n option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:493
+#: builtin/tag.c:477
 msgid "--contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:495
+#: builtin/tag.c:479
 msgid "--no-contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:497
+#: builtin/tag.c:481
 msgid "--points-at option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:499
+#: builtin/tag.c:483
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:510
+#: builtin/tag.c:494
 msgid "only one -F or -m option is allowed."
 msgstr ""
 
-#: builtin/tag.c:529
+#: builtin/tag.c:513
 msgid "too many params"
 msgstr ""
 
-#: builtin/tag.c:535
+#: builtin/tag.c:519
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr ""
 
-#: builtin/tag.c:540
+#: builtin/tag.c:524
 #, c-format
 msgid "tag '%s' already exists"
 msgstr ""
 
-#: builtin/tag.c:570
+#: builtin/tag.c:554
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/unpack-objects.c:493
+#: builtin/unpack-objects.c:494
 msgid "Unpacking objects"
 msgstr ""
 
-#: builtin/update-index.c:79
+#: builtin/update-index.c:82
 #, c-format
 msgid "failed to create directory %s"
 msgstr ""
 
-#: builtin/update-index.c:85
+#: builtin/update-index.c:88
 #, c-format
 msgid "failed to stat %s"
 msgstr ""
 
-#: builtin/update-index.c:95
+#: builtin/update-index.c:98
 #, c-format
 msgid "failed to create file %s"
 msgstr ""
 
-#: builtin/update-index.c:103
+#: builtin/update-index.c:106
 #, c-format
 msgid "failed to delete file %s"
 msgstr ""
 
-#: builtin/update-index.c:110 builtin/update-index.c:216
+#: builtin/update-index.c:113 builtin/update-index.c:219
 #, c-format
 msgid "failed to delete directory %s"
 msgstr ""
 
-#: builtin/update-index.c:135
+#: builtin/update-index.c:138
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr ""
 
-#: builtin/update-index.c:149
+#: builtin/update-index.c:152
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 
-#: builtin/update-index.c:162
+#: builtin/update-index.c:165
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 
-#: builtin/update-index.c:175
+#: builtin/update-index.c:178
 msgid "directory stat info changes after updating a file"
 msgstr ""
 
-#: builtin/update-index.c:186
+#: builtin/update-index.c:189
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 
-#: builtin/update-index.c:197
+#: builtin/update-index.c:200
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 
-#: builtin/update-index.c:210
+#: builtin/update-index.c:213
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 
-#: builtin/update-index.c:217
+#: builtin/update-index.c:220
 msgid " OK"
 msgstr ""
 
-#: builtin/update-index.c:568
+#: builtin/update-index.c:579
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr ""
 
-#: builtin/update-index.c:923
+#: builtin/update-index.c:936
 msgid "continue refresh even when index needs update"
 msgstr ""
 
-#: builtin/update-index.c:926
+#: builtin/update-index.c:939
 msgid "refresh: ignore submodules"
 msgstr ""
 
-#: builtin/update-index.c:929
+#: builtin/update-index.c:942
 msgid "do not ignore new files"
 msgstr ""
 
-#: builtin/update-index.c:931
+#: builtin/update-index.c:944
 msgid "let files replace directories and vice-versa"
 msgstr ""
 
-#: builtin/update-index.c:933
+#: builtin/update-index.c:946
 msgid "notice files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:935
+#: builtin/update-index.c:948
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:951
 msgid "refresh stat information"
 msgstr ""
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:955
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr ""
 
-#: builtin/update-index.c:946
+#: builtin/update-index.c:959
 msgid "<mode>,<object>,<path>"
 msgstr ""
 
-#: builtin/update-index.c:947
+#: builtin/update-index.c:960
 msgid "add the specified entry to the index"
 msgstr ""
 
-#: builtin/update-index.c:956
+#: builtin/update-index.c:969
 msgid "mark files as \"not changing\""
 msgstr ""
 
-#: builtin/update-index.c:959
+#: builtin/update-index.c:972
 msgid "clear assumed-unchanged bit"
 msgstr ""
 
-#: builtin/update-index.c:962
+#: builtin/update-index.c:975
 msgid "mark files as \"index-only\""
 msgstr ""
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:978
 msgid "clear skip-worktree bit"
 msgstr ""
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:981
 msgid "add to index only; do not add content to object database"
 msgstr ""
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:983
 msgid "remove named paths even if present in worktree"
 msgstr ""
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:985
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr ""
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:987
 msgid "read list of paths to be updated from standard input"
 msgstr ""
 
-#: builtin/update-index.c:978
+#: builtin/update-index.c:991
 msgid "add entries from standard input to the index"
 msgstr ""
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:995
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr ""
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:999
 msgid "only update entries that differ from HEAD"
 msgstr ""
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1003
 msgid "ignore files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:1006
 msgid "report actions to standard output"
 msgstr ""
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:1008
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr ""
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:1012
 msgid "write index in this format"
 msgstr ""
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1014
 msgid "enable or disable split index"
 msgstr ""
 
-#: builtin/update-index.c:1003
+#: builtin/update-index.c:1016
 msgid "enable/disable untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1018
 msgid "test if the filesystem supports untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1007
+#: builtin/update-index.c:1020
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 
-#: builtin/update-index.c:1107
+#: builtin/update-index.c:1022
+msgid "write out the index even if is not flagged as changed"
+msgstr ""
+
+#: builtin/update-index.c:1024
+msgid "enable or disable file system monitor"
+msgstr ""
+
+#: builtin/update-index.c:1026
+msgid "mark files as fsmonitor valid"
+msgstr ""
+
+#: builtin/update-index.c:1029
+msgid "clear fsmonitor valid bit"
+msgstr ""
+
+#: builtin/update-index.c:1127
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 
-#: builtin/update-index.c:1116
+#: builtin/update-index.c:1136
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 
-#: builtin/update-index.c:1127
+#: builtin/update-index.c:1147
 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:1131
+#: builtin/update-index.c:1151
 msgid "Untracked cache disabled"
 msgstr ""
 
-#: builtin/update-index.c:1139
+#: builtin/update-index.c:1159
 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:1143
+#: builtin/update-index.c:1163
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr ""
 
-#: builtin/update-ref.c:9
-msgid "git update-ref [<options>] -d <refname> [<old-val>]"
+#: builtin/update-index.c:1171
+msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
+msgstr ""
+
+#: builtin/update-index.c:1175
+msgid "fsmonitor enabled"
+msgstr ""
+
+#: builtin/update-index.c:1178
+msgid ""
+"core.fsmonitor is set; remove it if you really want to disable fsmonitor"
+msgstr ""
+
+#: builtin/update-index.c:1182
+msgid "fsmonitor disabled"
 msgstr ""
 
 #: builtin/update-ref.c:10
-msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
+msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr ""
 
 #: builtin/update-ref.c:11
+msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
+msgstr ""
+
+#: builtin/update-ref.c:12
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr ""
 
@@ -12864,203 +13324,222 @@ msgstr ""
 msgid "read updates from stdin"
 msgstr ""
 
-#: builtin/update-server-info.c:6
+#: builtin/update-server-info.c:7
 msgid "git update-server-info [--force]"
 msgstr ""
 
-#: builtin/update-server-info.c:14
+#: builtin/update-server-info.c:15
 msgid "update the info files from scratch"
 msgstr ""
 
-#: builtin/verify-commit.c:17
+#: builtin/verify-commit.c:18
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr ""
 
-#: builtin/verify-commit.c:72
+#: builtin/verify-commit.c:73
 msgid "print commit contents"
 msgstr ""
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
+#: builtin/verify-commit.c:74 builtin/verify-tag.c:38
 msgid "print raw gpg status output"
 msgstr ""
 
-#: builtin/verify-pack.c:54
+#: builtin/verify-pack.c:55
 msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
 msgstr ""
 
-#: builtin/verify-pack.c:64
+#: builtin/verify-pack.c:65
 msgid "verbose"
 msgstr ""
 
-#: builtin/verify-pack.c:66
+#: builtin/verify-pack.c:67
 msgid "show statistics only"
 msgstr ""
 
-#: builtin/verify-tag.c:18
+#: builtin/verify-tag.c:19
 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
 msgstr ""
 
-#: builtin/verify-tag.c:36
+#: builtin/verify-tag.c:37
 msgid "print tag contents"
 msgstr ""
 
-#: builtin/worktree.c:15
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<branch>]"
 msgstr ""
 
-#: builtin/worktree.c:16
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr ""
 
-#: builtin/worktree.c:17
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr ""
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:20
 msgid "git worktree prune [<options>]"
 msgstr ""
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:21
 msgid "git worktree unlock <path>"
 msgstr ""
 
-#: builtin/worktree.c:43
+#: builtin/worktree.c:58
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr ""
 
-#: builtin/worktree.c:49
+#: builtin/worktree.c:64
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr ""
 
-#: builtin/worktree.c:54
+#: builtin/worktree.c:69 builtin/worktree.c:78
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr ""
 
-#: builtin/worktree.c:65
+#: builtin/worktree.c:88
+#, c-format
+msgid ""
+"Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
+"%<PRIuMAX>)"
+msgstr ""
+
+#: builtin/worktree.c:96
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr ""
 
-#: builtin/worktree.c:81
+#: builtin/worktree.c:112
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 
-#: builtin/worktree.c:128
+#: builtin/worktree.c:159
 msgid "report pruned working trees"
 msgstr ""
 
-#: builtin/worktree.c:130
+#: builtin/worktree.c:161
 msgid "expire working trees older than <time>"
 msgstr ""
 
-#: builtin/worktree.c:204
+#: builtin/worktree.c:236
 #, c-format
 msgid "'%s' already exists"
 msgstr ""
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:267
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr ""
 
-#: builtin/worktree.c:274
+#: builtin/worktree.c:306
 #, c-format
 msgid "Preparing %s (identifier %s)"
 msgstr ""
 
-#: builtin/worktree.c:328
+#: builtin/worktree.c:368
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 
-#: builtin/worktree.c:330
+#: builtin/worktree.c:370
 msgid "create a new branch"
 msgstr ""
 
-#: builtin/worktree.c:332
+#: builtin/worktree.c:372
 msgid "create or reset a branch"
 msgstr ""
 
-#: builtin/worktree.c:334
+#: builtin/worktree.c:374
 msgid "populate the new working tree"
 msgstr ""
 
-#: builtin/worktree.c:335
+#: builtin/worktree.c:375
 msgid "keep the new working tree locked"
 msgstr ""
 
-#: builtin/worktree.c:343
+#: builtin/worktree.c:377
+msgid "set up tracking mode (see git-branch(1))"
+msgstr ""
+
+#: builtin/worktree.c:380
+msgid "try to match the new branch name with a remote-tracking branch"
+msgstr ""
+
+#: builtin/worktree.c:388
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr ""
 
-#: builtin/worktree.c:478
+#: builtin/worktree.c:453
+msgid "--[no-]track can only be used if a new branch is created"
+msgstr ""
+
+#: builtin/worktree.c:553
 msgid "reason for locking"
 msgstr ""
 
-#: builtin/worktree.c:490 builtin/worktree.c:523
+#: builtin/worktree.c:565 builtin/worktree.c:598
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr ""
 
-#: builtin/worktree.c:492 builtin/worktree.c:525
+#: builtin/worktree.c:567 builtin/worktree.c:600
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 
-#: builtin/worktree.c:497
+#: builtin/worktree.c:572
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr ""
 
-#: builtin/worktree.c:499
+#: builtin/worktree.c:574
 #, c-format
 msgid "'%s' is already locked"
 msgstr ""
 
-#: builtin/worktree.c:527
+#: builtin/worktree.c:602
 #, c-format
 msgid "'%s' is not locked"
 msgstr ""
 
-#: builtin/write-tree.c:13
+#: builtin/write-tree.c:14
 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
 msgstr ""
 
-#: builtin/write-tree.c:26
+#: builtin/write-tree.c:27
 msgid "<prefix>/"
 msgstr ""
 
-#: builtin/write-tree.c:27
+#: builtin/write-tree.c:28
 msgid "write tree object for a subdirectory <prefix>"
 msgstr ""
 
-#: builtin/write-tree.c:30
+#: builtin/write-tree.c:31
 msgid "only useful for debugging"
 msgstr ""
 
-#: upload-pack.c:22
+#: upload-pack.c:24
 msgid "git upload-pack [<options>] <dir>"
 msgstr ""
 
-#: upload-pack.c:1040
+#: upload-pack.c:1041
 msgid "quit after a single request/response exchange"
 msgstr ""
 
-#: upload-pack.c:1042
+#: upload-pack.c:1043
 msgid "exit immediately after initial ref advertisement"
 msgstr ""
 
-#: upload-pack.c:1044
+#: upload-pack.c:1045
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 
-#: upload-pack.c:1046
+#: upload-pack.c:1047
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr ""
 
-#: credential-cache--daemon.c:223
+#: credential-cache--daemon.c:222
 #, c-format
 msgid ""
 "The permissions on your socket directory are too loose; other\n"
@@ -13073,27 +13552,27 @@ msgstr ""
 msgid "print debugging messages to stderr"
 msgstr ""
 
-#: git.c:14
+#: git.c:15
 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."
 msgstr ""
 
-#: http.c:336
+#: http.c:339
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr ""
 
-#: http.c:357
+#: http.c:360
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr ""
 
-#: http.c:366
+#: http.c:369
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr ""
 
-#: http.c:1766
+#: http.c:1791
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -13101,11 +13580,19 @@ msgid ""
 "   redirect: %s"
 msgstr ""
 
-#: remote-curl.c:323
+#: remote-curl.c:324
 #, c-format
 msgid "redirecting to %s"
 msgstr ""
 
+#: list-objects-filter-options.h:54
+msgid "args"
+msgstr ""
+
+#: list-objects-filter-options.h:55
+msgid "object filtering"
+msgstr ""
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr ""
@@ -13278,27 +13765,27 @@ msgstr ""
 msgid "Bad bisect_write argument: $state"
 msgstr ""
 
-#: git-bisect.sh:262
+#: git-bisect.sh:246
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr ""
 
-#: git-bisect.sh:281
+#: git-bisect.sh:265
 #, sh-format
 msgid "Bad rev input: $bisected_head"
 msgstr ""
 
-#: git-bisect.sh:290
+#: git-bisect.sh:274
 #, sh-format
 msgid "Bad rev input: $rev"
 msgstr ""
 
-#: git-bisect.sh:299
+#: git-bisect.sh:283
 #, sh-format
 msgid "'git bisect $TERM_BAD' can take only one argument."
 msgstr ""
 
-#: git-bisect.sh:322
+#: git-bisect.sh:306
 #, sh-format
 msgid "Warning: bisecting only with a $TERM_BAD commit."
 msgstr ""
@@ -13306,18 +13793,18 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:328
+#: git-bisect.sh:312
 msgid "Are you sure [Y/n]? "
 msgstr ""
 
-#: git-bisect.sh:340
+#: git-bisect.sh:324
 #, sh-format
 msgid ""
 "You need to give me at least one $bad_syn and one $good_syn revision.\n"
 "(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
 msgstr ""
 
-#: git-bisect.sh:343
+#: git-bisect.sh:327
 #, sh-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -13325,91 +13812,76 @@ msgid ""
 "(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
 msgstr ""
 
-#: git-bisect.sh:414 git-bisect.sh:546
+#: git-bisect.sh:398 git-bisect.sh:512
 msgid "We are not bisecting."
 msgstr ""
 
-#: git-bisect.sh:421
+#: git-bisect.sh:405
 #, sh-format
 msgid "'$invalid' is not a valid commit"
 msgstr ""
 
-#: git-bisect.sh:430
+#: git-bisect.sh:414
 #, sh-format
 msgid ""
 "Could not check out original HEAD '$branch'.\n"
 "Try 'git bisect reset <commit>'."
 msgstr ""
 
-#: git-bisect.sh:458
+#: git-bisect.sh:422
 msgid "No logfile given"
 msgstr ""
 
-#: git-bisect.sh:459
+#: git-bisect.sh:423
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr ""
 
-#: git-bisect.sh:480
+#: git-bisect.sh:444
 msgid "?? what are you talking about?"
 msgstr ""
 
-#: git-bisect.sh:492
+#: git-bisect.sh:453
+msgid "bisect run failed: no command provided."
+msgstr ""
+
+#: git-bisect.sh:458
 #, sh-format
 msgid "running $command"
 msgstr ""
 
-#: git-bisect.sh:499
+#: git-bisect.sh:465
 #, sh-format
 msgid ""
 "bisect run failed:\n"
 "exit code $res from '$command' is < 0 or >= 128"
 msgstr ""
 
-#: git-bisect.sh:525
+#: git-bisect.sh:491
 msgid "bisect run cannot continue any more"
 msgstr ""
 
-#: git-bisect.sh:531
+#: git-bisect.sh:497
 #, sh-format
 msgid ""
 "bisect run failed:\n"
 "'bisect_state $state' exited with error code $res"
 msgstr ""
 
-#: git-bisect.sh:538
+#: git-bisect.sh:504
 msgid "bisect run success"
 msgstr ""
 
-#: git-bisect.sh:565
-msgid "please use two different terms"
-msgstr ""
-
-#: git-bisect.sh:575
-#, sh-format
-msgid "'$term' is not a valid term"
-msgstr ""
-
-#: git-bisect.sh:578
-#, sh-format
-msgid "can't use the builtin command '$term' as a term"
-msgstr ""
-
-#: git-bisect.sh:587 git-bisect.sh:593
-#, sh-format
-msgid "can't change the meaning of term '$term'"
-msgstr ""
-
-#: git-bisect.sh:606
+#: git-bisect.sh:533
 #, sh-format
 msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
 msgstr ""
 
-#: git-bisect.sh:636
+#: git-bisect.sh:567
 msgid "no terms defined"
 msgstr ""
 
-#: git-bisect.sh:653
+#: git-bisect.sh:584
 #, sh-format
 msgid ""
 "invalid argument $arg for 'git bisect terms'.\n"
@@ -13437,7 +13909,7 @@ msgstr ""
 
 #: git-merge-octopus.sh:77
 #, sh-format
-msgid "Already up-to-date with $pretty_name"
+msgid "Already up to date with $pretty_name"
 msgstr ""
 
 #: git-merge-octopus.sh:89
@@ -13456,49 +13928,54 @@ msgstr ""
 
 #: git-rebase.sh:58
 msgid ""
-"When you have resolved this problem, run \"git rebase --continue\".\n"
-"If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
-"To check out the original branch and stop rebasing, run \"git rebase --abort"
-"\"."
+"Resolve all conflicts manually, mark them as resolved with\n"
+"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
+"You can instead skip this commit: run \"git rebase --skip\".\n"
+"To abort and get back to the state before \"git rebase\", run \"git rebase --"
+"abort\"."
 msgstr ""
 
-#: git-rebase.sh:158 git-rebase.sh:397
+#: git-rebase.sh:160 git-rebase.sh:402
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr ""
 
-#: git-rebase.sh:172
+#: git-rebase.sh:171
+msgid "Applied autostash."
+msgstr ""
+
+#: git-rebase.sh:174
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr ""
 
-#: git-rebase.sh:212
+#: git-rebase.sh:214
 msgid "The pre-rebase hook refused to rebase."
 msgstr ""
 
-#: git-rebase.sh:217
-msgid "It looks like git-am is in progress. Cannot rebase."
+#: git-rebase.sh:219
+msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 
-#: git-rebase.sh:358
+#: git-rebase.sh:363
 msgid "No rebase in progress?"
 msgstr ""
 
-#: git-rebase.sh:369
+#: git-rebase.sh:374
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 
-#: git-rebase.sh:376
+#: git-rebase.sh:381
 msgid "Cannot read HEAD"
 msgstr ""
 
-#: git-rebase.sh:379
+#: git-rebase.sh:384
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgstr ""
 
-#: git-rebase.sh:419
+#: git-rebase.sh:424
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13511,223 +13988,221 @@ msgid ""
 "valuable there."
 msgstr ""
 
-#: git-rebase.sh:470
+#: git-rebase.sh:480
 #, sh-format
-msgid "invalid upstream $upstream_name"
+msgid "invalid upstream '$upstream_name'"
 msgstr ""
 
-#: git-rebase.sh:494
+#: git-rebase.sh:504
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr ""
 
-#: git-rebase.sh:497 git-rebase.sh:501
+#: git-rebase.sh:507 git-rebase.sh:511
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr ""
 
-#: git-rebase.sh:506
+#: git-rebase.sh:516
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr ""
 
-#: git-rebase.sh:529
+#: git-rebase.sh:542
 #, sh-format
-msgid "fatal: no such branch: $branch_name"
+msgid "fatal: no such branch/commit '$branch_name'"
 msgstr ""
 
-#: git-rebase.sh:562
+#: git-rebase.sh:575
 msgid "Cannot autostash"
 msgstr ""
 
-#: git-rebase.sh:567
+#: git-rebase.sh:580
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr ""
 
-#: git-rebase.sh:571
+#: git-rebase.sh:584
 msgid "Please commit or stash them."
 msgstr ""
 
-#: git-rebase.sh:591
+#: git-rebase.sh:607
+#, sh-format
+msgid "HEAD is up to date."
+msgstr ""
+
+#: git-rebase.sh:609
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr ""
 
-#: git-rebase.sh:595
+#: git-rebase.sh:617
+#, sh-format
+msgid "HEAD is up to date, rebase forced."
+msgstr ""
+
+#: git-rebase.sh:619
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr ""
 
-#: git-rebase.sh:606
+#: git-rebase.sh:631
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr ""
 
-#: git-rebase.sh:615
+#: git-rebase.sh:640
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 
-#: git-rebase.sh:625
+#: git-rebase.sh:650
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr ""
 
-#: git-stash.sh:53
+#: git-stash.sh:61
 msgid "git stash clear with parameters is unimplemented"
 msgstr ""
 
-#: git-stash.sh:94
+#: git-stash.sh:108
 msgid "You do not have the initial commit yet"
 msgstr ""
 
-#: git-stash.sh:109
+#: git-stash.sh:123
 msgid "Cannot save the current index state"
 msgstr ""
 
-#: git-stash.sh:124
+#: git-stash.sh:138
 msgid "Cannot save the untracked files"
 msgstr ""
 
-#: git-stash.sh:144 git-stash.sh:157
+#: git-stash.sh:158 git-stash.sh:171
 msgid "Cannot save the current worktree state"
 msgstr ""
 
-#: git-stash.sh:161
+#: git-stash.sh:175
 msgid "No changes selected"
 msgstr ""
 
-#: git-stash.sh:164
+#: git-stash.sh:178
 msgid "Cannot remove temporary index (can't happen)"
 msgstr ""
 
-#: git-stash.sh:177
+#: git-stash.sh:191
 msgid "Cannot record working tree state"
 msgstr ""
 
-#: git-stash.sh:209
+#: git-stash.sh:229
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr ""
 
-#. TRANSLATORS: $option is an invalid option, like
-#. `--blah-blah'. The 7 spaces at the beginning of the
-#. second line correspond to "error: ". So you should line
-#. up the second line with however many characters the
-#. translation of "error: " takes in your language. E.g. in
-#. English this is:
-#.
-#. $ git stash save --blah-blah 2>&1 | head -n 2
-#. error: unknown option for 'stash save': --blah-blah
-#. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:265
+#: git-stash.sh:281
 #, sh-format
-msgid ""
-"error: unknown option for 'stash save': $option\n"
-"       To provide a message, use git stash save -- '$option'"
+msgid "error: unknown option for 'stash push': $option"
 msgstr ""
 
-#: git-stash.sh:278
+#: git-stash.sh:295
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 
-#: git-stash.sh:286
+#: git-stash.sh:303
 msgid "No local changes to save"
 msgstr ""
 
-#: git-stash.sh:291
+#: git-stash.sh:308
 msgid "Cannot initialize stash"
 msgstr ""
 
-#: git-stash.sh:295
+#: git-stash.sh:312
 msgid "Cannot save the current status"
 msgstr ""
 
-#: git-stash.sh:296
+#: git-stash.sh:313
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr ""
 
-#: git-stash.sh:323
+#: git-stash.sh:341
 msgid "Cannot remove worktree changes"
 msgstr ""
 
-#: git-stash.sh:471
+#: git-stash.sh:489
 #, sh-format
 msgid "unknown option: $opt"
 msgstr ""
 
-#: git-stash.sh:484
-msgid "No stash found."
+#: git-stash.sh:502
+msgid "No stash entries found."
 msgstr ""
 
-#: git-stash.sh:491
+#: git-stash.sh:509
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr ""
 
-#: git-stash.sh:506
+#: git-stash.sh:524
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr ""
 
-#: git-stash.sh:534
+#: git-stash.sh:552
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr ""
 
-#: git-stash.sh:545
+#: git-stash.sh:563
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr ""
 
-#: git-stash.sh:553
+#: git-stash.sh:571
 msgid "unable to refresh index"
 msgstr ""
 
-#: git-stash.sh:557
+#: git-stash.sh:575
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr ""
 
-#: git-stash.sh:565
+#: git-stash.sh:583
 msgid "Conflicts in index. Try without --index."
 msgstr ""
 
-#: git-stash.sh:567
+#: git-stash.sh:585
 msgid "Could not save index tree"
 msgstr ""
 
-#: git-stash.sh:576
-msgid "Could not restore untracked files from stash"
+#: git-stash.sh:594
+msgid "Could not restore untracked files from stash entry"
 msgstr ""
 
-#: git-stash.sh:601
+#: git-stash.sh:619
 msgid "Cannot unstage modified files"
 msgstr ""
 
-#: git-stash.sh:616
+#: git-stash.sh:634
 msgid "Index was not unstashed."
 msgstr ""
 
-#: git-stash.sh:630
-msgid "The stash is kept in case you need it again."
+#: git-stash.sh:648
+msgid "The stash entry is kept in case you need it again."
 msgstr ""
 
-#: git-stash.sh:639
+#: git-stash.sh:657
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr ""
 
-#: git-stash.sh:640
+#: git-stash.sh:658
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr ""
 
-#: git-stash.sh:648
+#: git-stash.sh:666
 msgid "No branch name specified"
 msgstr ""
 
-#: git-stash.sh:727
+#: git-stash.sh:745
 msgid "(To restore them type \"git stash apply\")"
 msgstr ""
 
@@ -13750,7 +14225,7 @@ msgstr ""
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr ""
 
-#: git-submodule.sh:218
+#: git-submodule.sh:219
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13758,22 +14233,22 @@ msgid ""
 "Use -f if you really want to add it."
 msgstr ""
 
-#: git-submodule.sh:236
+#: git-submodule.sh:237
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr ""
 
-#: git-submodule.sh:238
+#: git-submodule.sh:239
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr ""
 
-#: git-submodule.sh:246
+#: git-submodule.sh:247
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 
-#: git-submodule.sh:248
+#: git-submodule.sh:249
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13784,76 +14259,76 @@ msgid ""
 "option."
 msgstr ""
 
-#: git-submodule.sh:254
+#: git-submodule.sh:255
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 
-#: git-submodule.sh:266
+#: git-submodule.sh:267
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:271
+#: git-submodule.sh:272
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:280
+#: git-submodule.sh:281
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:341
+#: git-submodule.sh:342
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:361
+#: git-submodule.sh:362
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 
-#: git-submodule.sh:432
+#: git-submodule.sh:433
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr ""
 
-#: git-submodule.sh:437
+#: git-submodule.sh:438
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 
-#: git-submodule.sh:457
+#: git-submodule.sh:458
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr ""
 
-#: git-submodule.sh:465
+#: git-submodule.sh:466
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr ""
 
-#: git-submodule.sh:468
+#: git-submodule.sh:469
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:469
+#: git-submodule.sh:470
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:472
+#: git-submodule.sh:473
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:481
+#: git-submodule.sh:482
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
@@ -13932,36 +14407,31 @@ msgstr ""
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:840
+#: git-submodule.sh:828
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 
-#: git-submodule.sh:892
+#: git-submodule.sh:880
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr ""
 
-#: git-submodule.sh:912
+#: git-submodule.sh:900
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr ""
 
-#: git-submodule.sh:915
+#: git-submodule.sh:903
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:918
+#: git-submodule.sh:906
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:1064
-#, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr ""
-
-#: git-submodule.sh:1136
+#: git-submodule.sh:1077
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr ""
@@ -13980,13 +14450,13 @@ msgstr ""
 msgid ""
 "\n"
 "Commands:\n"
-" p, pick = use commit\n"
-" r, reword = use commit, but edit the commit message\n"
-" e, edit = use commit, but stop for amending\n"
-" s, squash = use commit, but meld into previous commit\n"
-" f, fixup = like \"squash\", but discard this commit's log message\n"
-" x, exec = run command (the rest of the line) using shell\n"
-" d, drop = remove commit\n"
+"p, pick = use commit\n"
+"r, reword = use commit, but edit the commit message\n"
+"e, edit = use commit, but stop for amending\n"
+"s, squash = use commit, but meld into previous commit\n"
+"f, fixup = like \"squash\", but discard this commit's log message\n"
+"x, exec = run command (the rest of the line) using shell\n"
+"d, drop = remove commit\n"
 "\n"
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
@@ -14049,49 +14519,49 @@ msgstr ""
 msgid "Refusing to squash a merge: $sha1"
 msgstr ""
 
-#: git-rebase--interactive.sh:399
+#: git-rebase--interactive.sh:400
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr ""
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:408
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr ""
 
-#: git-rebase--interactive.sh:416
+#: git-rebase--interactive.sh:417
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr ""
 
-#: git-rebase--interactive.sh:421
+#: git-rebase--interactive.sh:422
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr ""
 
-#: git-rebase--interactive.sh:432
+#: git-rebase--interactive.sh:433
 #, 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--interactive.sh:441
+#: git-rebase--interactive.sh:442
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr ""
 
-#: git-rebase--interactive.sh:444
+#: git-rebase--interactive.sh:445
 msgid "This is a combination of 2 commits."
 msgstr ""
 
-#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
-#: git-rebase--interactive.sh:531
+#: git-rebase--interactive.sh:486 git-rebase--interactive.sh:529
+#: git-rebase--interactive.sh:532
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:559
+#: git-rebase--interactive.sh:560
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14101,31 +14571,31 @@ msgid ""
 "you are able to reword the commit."
 msgstr ""
 
-#: git-rebase--interactive.sh:574
+#: git-rebase--interactive.sh:575
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:589
+#: git-rebase--interactive.sh:590
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr ""
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:632
 #, sh-format
 msgid "Executing: $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:639
+#: git-rebase--interactive.sh:640
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:641
+#: git-rebase--interactive.sh:642
 msgid "and made changes to the index and/or the working tree"
 msgstr ""
 
-#: git-rebase--interactive.sh:643
+#: git-rebase--interactive.sh:644
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14133,7 +14603,7 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:656
+#: git-rebase--interactive.sh:657
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14143,79 +14613,29 @@ msgid ""
 "\tgit rebase --continue"
 msgstr ""
 
-#: git-rebase--interactive.sh:667
+#: git-rebase--interactive.sh:668
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr ""
 
-#: git-rebase--interactive.sh:668
+#: git-rebase--interactive.sh:669
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: git-rebase--interactive.sh:703
+#: git-rebase--interactive.sh:704
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr ""
 
-#: git-rebase--interactive.sh:750
-msgid "Could not skip unnecessary pick commands"
-msgstr ""
-
-#: git-rebase--interactive.sh:908
-#, sh-format
-msgid ""
-"Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
-" - $line"
-msgstr ""
-
-#: git-rebase--interactive.sh:941
-#, sh-format
-msgid ""
-"Warning: the command isn't recognized in the following line:\n"
-" - $line"
-msgstr ""
-
-#: git-rebase--interactive.sh:980
+#: git-rebase--interactive.sh:728
 msgid "could not detach HEAD"
 msgstr ""
 
-#: git-rebase--interactive.sh:1018
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):"
-msgstr ""
-
-#: git-rebase--interactive.sh:1026
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error."
-msgstr ""
-
-#: git-rebase--interactive.sh:1037
-#, sh-format
-msgid ""
-"Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
-"Ignoring."
-msgstr ""
-
-#: git-rebase--interactive.sh:1054
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'."
-msgstr ""
-
-#: git-rebase--interactive.sh:1055
-msgid "Or you can abort the rebase with 'git rebase --abort'."
-msgstr ""
-
-#: git-rebase--interactive.sh:1083
+#: git-rebase--interactive.sh:763
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: git-rebase--interactive.sh:1088
+#: git-rebase--interactive.sh:768
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14233,21 +14653,21 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:785
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 
-#: git-rebase--interactive.sh:1110
+#: git-rebase--interactive.sh:790
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 
-#: git-rebase--interactive.sh:1115 git-rebase--interactive.sh:1119
+#: git-rebase--interactive.sh:795 git-rebase--interactive.sh:799
 msgid "Could not commit staged changes."
 msgstr ""
 
-#: git-rebase--interactive.sh:1147
+#: git-rebase--interactive.sh:827
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14256,47 +14676,51 @@ msgid ""
 "\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1155 git-rebase--interactive.sh:1313
+#: git-rebase--interactive.sh:835 git-rebase--interactive.sh:995
 msgid "Could not execute editor"
 msgstr ""
 
-#: git-rebase--interactive.sh:1168
+#: git-rebase--interactive.sh:848
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr ""
 
-#: git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:853
 msgid "No HEAD?"
 msgstr ""
 
-#: git-rebase--interactive.sh:1174
+#: git-rebase--interactive.sh:854
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr ""
 
-#: git-rebase--interactive.sh:1176
+#: git-rebase--interactive.sh:856
 msgid "Could not mark as interactive"
 msgstr ""
 
-#: git-rebase--interactive.sh:1186 git-rebase--interactive.sh:1191
+#: git-rebase--interactive.sh:866 git-rebase--interactive.sh:871
 msgid "Could not init rewritten commits"
 msgstr ""
 
-#: git-rebase--interactive.sh:1291
+#: git-rebase--interactive.sh:897
+msgid "Could not generate todo list"
+msgstr ""
+
+#: git-rebase--interactive.sh:973
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--interactive.sh:1296
+#: git-rebase--interactive.sh:978
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1303
+#: git-rebase--interactive.sh:985
 msgid "Note that empty commits are commented out"
 msgstr ""
 
@@ -14358,120 +14782,120 @@ 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:238
+#: git-add--interactive.perl:196
 #, perl-format
 msgid "%12s %12s %s"
 msgstr ""
 
-#: git-add--interactive.perl:239
+#: git-add--interactive.perl:197
 msgid "staged"
 msgstr ""
 
-#: git-add--interactive.perl:239
+#: git-add--interactive.perl:197
 msgid "unstaged"
 msgstr ""
 
-#: git-add--interactive.perl:288 git-add--interactive.perl:313
+#: git-add--interactive.perl:246 git-add--interactive.perl:271
 msgid "binary"
 msgstr ""
 
-#: git-add--interactive.perl:297 git-add--interactive.perl:351
+#: git-add--interactive.perl:255 git-add--interactive.perl:309
 msgid "nothing"
 msgstr ""
 
-#: git-add--interactive.perl:333 git-add--interactive.perl:348
+#: git-add--interactive.perl:291 git-add--interactive.perl:306
 msgid "unchanged"
 msgstr ""
 
-#: git-add--interactive.perl:644
+#: git-add--interactive.perl:602
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:647
+#: git-add--interactive.perl:605
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:650
+#: git-add--interactive.perl:608
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:653
+#: git-add--interactive.perl:611
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:662
+#: git-add--interactive.perl:620
 msgid "Update"
 msgstr ""
 
-#: git-add--interactive.perl:674
+#: git-add--interactive.perl:632
 msgid "Revert"
 msgstr ""
 
-#: git-add--interactive.perl:697
+#: git-add--interactive.perl:655
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr ""
 
-#: git-add--interactive.perl:708
+#: git-add--interactive.perl:666
 msgid "Add untracked"
 msgstr ""
 
-#: git-add--interactive.perl:714
+#: git-add--interactive.perl:672
 msgid "No untracked files.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1030
+#: git-add--interactive.perl:985
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
 
-#: git-add--interactive.perl:1033
+#: git-add--interactive.perl:988
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
 
-#: git-add--interactive.perl:1036
+#: git-add--interactive.perl:991
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
 
-#: git-add--interactive.perl:1039 git-add--interactive.perl:1048
+#: git-add--interactive.perl:994 git-add--interactive.perl:1003
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
 
-#: git-add--interactive.perl:1042 git-add--interactive.perl:1045
+#: git-add--interactive.perl:997 git-add--interactive.perl:1000
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
 
-#: git-add--interactive.perl:1058
+#: git-add--interactive.perl:1013
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1059
+#: git-add--interactive.perl:1014
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1065
+#: git-add--interactive.perl:1020
 #, perl-format
 msgid ""
 "---\n"
@@ -14481,14 +14905,14 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1073
+#: git-add--interactive.perl:1028
 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:1087
+#: git-add--interactive.perl:1042
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr ""
@@ -14499,12 +14923,12 @@ msgstr ""
 #. 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:1178
+#: git-add--interactive.perl:1134
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 
-#: git-add--interactive.perl:1187
+#: git-add--interactive.perl:1143
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -14513,7 +14937,7 @@ msgid ""
 "d - do not stage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1193
+#: git-add--interactive.perl:1149
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -14522,7 +14946,7 @@ msgid ""
 "d - do not stash this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1199
+#: git-add--interactive.perl:1155
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -14531,7 +14955,7 @@ msgid ""
 "d - do not unstage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1205
+#: git-add--interactive.perl:1161
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -14540,7 +14964,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1211
+#: git-add--interactive.perl:1167
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -14549,7 +14973,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1217
+#: git-add--interactive.perl:1173
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -14558,7 +14982,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1223
+#: git-add--interactive.perl:1179
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -14567,7 +14991,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1232
+#: git-add--interactive.perl:1188
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -14580,195 +15004,195 @@ msgid ""
 "? - print help\n"
 msgstr ""
 
-#: git-add--interactive.perl:1263
+#: git-add--interactive.perl:1219
 msgid "The selected hunks do not apply to the index!\n"
 msgstr ""
 
-#: git-add--interactive.perl:1264
+#: git-add--interactive.perl:1220
 msgid "Apply them to the worktree anyway? "
 msgstr ""
 
-#: git-add--interactive.perl:1267
+#: git-add--interactive.perl:1223
 msgid "Nothing was applied.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1278
+#: git-add--interactive.perl:1234
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1287
+#: git-add--interactive.perl:1243
 msgid "Only binary files changed.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1289
+#: git-add--interactive.perl:1245
 msgid "No changes.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1297
+#: git-add--interactive.perl:1253
 msgid "Patch update"
 msgstr ""
 
-#: git-add--interactive.perl:1349
+#: git-add--interactive.perl:1305
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1350
+#: git-add--interactive.perl:1306
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1351
+#: git-add--interactive.perl:1307
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1354
+#: git-add--interactive.perl:1310
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1355
+#: git-add--interactive.perl:1311
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1356
+#: git-add--interactive.perl:1312
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1359
+#: git-add--interactive.perl:1315
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1360
+#: git-add--interactive.perl:1316
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1361
+#: git-add--interactive.perl:1317
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1364
+#: git-add--interactive.perl:1320
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1365
+#: git-add--interactive.perl:1321
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1366
+#: git-add--interactive.perl:1322
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1369
+#: git-add--interactive.perl:1325
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1370
+#: git-add--interactive.perl:1326
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1371
+#: git-add--interactive.perl:1327
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1374
+#: git-add--interactive.perl:1330
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1375
+#: git-add--interactive.perl:1331
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1376
+#: git-add--interactive.perl:1332
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1379
+#: git-add--interactive.perl:1335
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1380
+#: git-add--interactive.perl:1336
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1381
+#: git-add--interactive.perl:1337
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1484
+#: git-add--interactive.perl:1440
 msgid "go to which hunk (<ret> to see more)? "
 msgstr ""
 
-#: git-add--interactive.perl:1486
+#: git-add--interactive.perl:1442
 msgid "go to which hunk? "
 msgstr ""
 
-#: git-add--interactive.perl:1495
+#: git-add--interactive.perl:1451
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr ""
 
-#: git-add--interactive.perl:1500
+#: git-add--interactive.perl:1456
 #, 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:1526
+#: git-add--interactive.perl:1482
 msgid "search for regex? "
 msgstr ""
 
-#: git-add--interactive.perl:1539
+#: git-add--interactive.perl:1495
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1549
+#: git-add--interactive.perl:1505
 msgid "No hunk matches the given pattern\n"
 msgstr ""
 
-#: git-add--interactive.perl:1561 git-add--interactive.perl:1583
+#: git-add--interactive.perl:1517 git-add--interactive.perl:1539
 msgid "No previous hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1570 git-add--interactive.perl:1589
+#: git-add--interactive.perl:1526 git-add--interactive.perl:1545
 msgid "No next hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1597
+#: git-add--interactive.perl:1553
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:1649
+#: git-add--interactive.perl:1605
 msgid "Review diff"
 msgstr ""
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1668
+#: git-add--interactive.perl:1624
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -14779,84 +15203,84 @@ msgid ""
 "changes\n"
 msgstr ""
 
-#: git-add--interactive.perl:1685 git-add--interactive.perl:1690
-#: git-add--interactive.perl:1693 git-add--interactive.perl:1700
-#: git-add--interactive.perl:1704 git-add--interactive.perl:1710
+#: git-add--interactive.perl:1641 git-add--interactive.perl:1646
+#: git-add--interactive.perl:1649 git-add--interactive.perl:1656
+#: git-add--interactive.perl:1660 git-add--interactive.perl:1666
 msgid "missing --"
 msgstr ""
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1662
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1712 git-add--interactive.perl:1718
+#: git-add--interactive.perl:1668 git-add--interactive.perl:1674
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr ""
 
-#: git-send-email.perl:121
+#: git-send-email.perl:126
 msgid "local zone differs from GMT by a non-minute interval\n"
 msgstr ""
 
-#: git-send-email.perl:128 git-send-email.perl:134
+#: git-send-email.perl:133 git-send-email.perl:139
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr ""
 
-#: git-send-email.perl:202 git-send-email.perl:208
+#: git-send-email.perl:207 git-send-email.perl:213
 msgid "the editor exited uncleanly, aborting everything"
 msgstr ""
 
-#: git-send-email.perl:282
+#: git-send-email.perl:290
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr ""
 
-#: git-send-email.perl:287
+#: git-send-email.perl:295
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr ""
 
-#: git-send-email.perl:305
+#: git-send-email.perl:313
 msgid "--dump-aliases incompatible with other options\n"
 msgstr ""
 
-#: git-send-email.perl:368 git-send-email.perl:623
+#: git-send-email.perl:378 git-send-email.perl:629
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr ""
 
-#: git-send-email.perl:437
+#: git-send-email.perl:447
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:466
+#: git-send-email.perl:476
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:498
+#: git-send-email.perl:504
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:500
+#: git-send-email.perl:506
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:502
+#: git-send-email.perl:508
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:507
+#: git-send-email.perl:513
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr ""
 
-#: git-send-email.perl:589
+#: git-send-email.perl:595
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -14866,36 +15290,36 @@ msgid ""
 "    * Giving --format-patch option if you mean a range.\n"
 msgstr ""
 
-#: git-send-email.perl:610
+#: git-send-email.perl:616
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr ""
 
-#: git-send-email.perl:634
+#: git-send-email.perl:640
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
 "warning: no patches were sent\n"
 msgstr ""
 
-#: git-send-email.perl:645
+#: git-send-email.perl:651
 msgid ""
 "\n"
 "No patch files specified!\n"
 "\n"
 msgstr ""
 
-#: git-send-email.perl:658
+#: git-send-email.perl:664
 #, perl-format
 msgid "No subject line in %s?"
 msgstr ""
 
-#: git-send-email.perl:668
+#: git-send-email.perl:674
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr ""
 
-#: git-send-email.perl:678
+#: git-send-email.perl:684
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -14904,41 +15328,41 @@ msgid ""
 "Clear the body content if you don't wish to send a summary.\n"
 msgstr ""
 
-#: git-send-email.perl:701
+#: git-send-email.perl:707
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr ""
 
-#: git-send-email.perl:704
+#: git-send-email.perl:710
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr ""
 
-#: git-send-email.perl:739
+#: git-send-email.perl:745
 msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
 msgstr ""
 
-#: git-send-email.perl:748
+#: git-send-email.perl:754
 msgid "Summary email is empty, skipping it\n"
 msgstr ""
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:780
+#: git-send-email.perl:786
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr ""
 
-#: git-send-email.perl:809
+#: git-send-email.perl:815
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr ""
 
-#: git-send-email.perl:814
+#: git-send-email.perl:820
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr ""
 
-#: git-send-email.perl:822
+#: git-send-email.perl:828
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -14947,20 +15371,20 @@ msgid ""
 "want to send.\n"
 msgstr ""
 
-#: git-send-email.perl:841
+#: git-send-email.perl:847
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr ""
 
-#: git-send-email.perl:859
+#: git-send-email.perl:865
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr ""
 
-#: git-send-email.perl:871
+#: git-send-email.perl:877
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr ""
 
-#: git-send-email.perl:921 git-send-email.perl:929
+#: git-send-email.perl:929 git-send-email.perl:937
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr ""
@@ -14968,16 +15392,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:933
+#: git-send-email.perl:941
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr ""
 
-#: git-send-email.perl:1234
+#: git-send-email.perl:1262
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr ""
 
-#: git-send-email.perl:1309
+#: git-send-email.perl:1337
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -14994,123 +15418,128 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1324
+#: git-send-email.perl:1352
 msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
 msgstr ""
 
-#: git-send-email.perl:1327
+#: git-send-email.perl:1355
 msgid "Send this email reply required"
 msgstr ""
 
-#: git-send-email.perl:1353
+#: git-send-email.perl:1381
 msgid "The required SMTP server is not properly defined."
 msgstr ""
 
-#: git-send-email.perl:1397
+#: git-send-email.perl:1428
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr ""
 
-#: git-send-email.perl:1403
+#: git-send-email.perl:1433 git-send-email.perl:1437
+#, perl-format
+msgid "STARTTLS failed! %s"
+msgstr ""
+
+#: git-send-email.perl:1447
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
 
-#: git-send-email.perl:1421
+#: git-send-email.perl:1465
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr ""
 
-#: git-send-email.perl:1424
+#: git-send-email.perl:1468
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr ""
 
-#: git-send-email.perl:1424
+#: git-send-email.perl:1468
 #, perl-format
 msgid "Sent %s\n"
 msgstr ""
 
-#: git-send-email.perl:1426
+#: git-send-email.perl:1470
 msgid "Dry-OK. Log says:\n"
 msgstr ""
 
-#: git-send-email.perl:1426
+#: git-send-email.perl:1470
 msgid "OK. Log says:\n"
 msgstr ""
 
-#: git-send-email.perl:1438
+#: git-send-email.perl:1482
 msgid "Result: "
 msgstr ""
 
-#: git-send-email.perl:1441
+#: git-send-email.perl:1485
 msgid "Result: OK\n"
 msgstr ""
 
-#: git-send-email.perl:1454
+#: git-send-email.perl:1498
 #, perl-format
 msgid "can't open file %s"
 msgstr ""
 
-#: git-send-email.perl:1501 git-send-email.perl:1521
+#: git-send-email.perl:1545 git-send-email.perl:1565
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1507
+#: git-send-email.perl:1551
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1555
+#: git-send-email.perl:1599
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1578
+#: git-send-email.perl:1624
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1676
+#: git-send-email.perl:1730
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr ""
 
-#: git-send-email.perl:1683
+#: git-send-email.perl:1737
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1687
+#: git-send-email.perl:1741
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr ""
 
-#: git-send-email.perl:1714
+#: git-send-email.perl:1768
 msgid "cannot send message as 7bit"
 msgstr ""
 
-#: git-send-email.perl:1722
+#: git-send-email.perl:1776
 msgid "invalid transfer encoding"
 msgstr ""
 
-#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#: git-send-email.perl:1814 git-send-email.perl:1865 git-send-email.perl:1875
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr ""
 
-#: git-send-email.perl:1744
+#: git-send-email.perl:1817
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr ""
 
-#: git-send-email.perl:1760
+#: git-send-email.perl:1833
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr ""
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1764
+#: git-send-email.perl:1837
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr ""