OSDN Git Service

l10n: git.pot: v2.13.0 round 1 (96 new, 37 removed)
authorJiang Xin <worldhello.net@gmail.com>
Sun, 23 Apr 2017 01:55:51 +0000 (09:55 +0800)
committerJiang Xin <worldhello.net@gmail.com>
Sun, 23 Apr 2017 01:55:51 +0000 (09:55 +0800)
Generate po/git.pot from v2.13.0-rc0 for git v2.13.0 l10n round 1.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
po/git.pot

index cc0b9c3..167a112 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-02-18 01:00+0800\n"
+"POT-Creation-Date: 2017-04-23 09:54+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"
@@ -58,7 +58,7 @@ msgstr ""
 msgid "Exiting because of an unresolved conflict."
 msgstr ""
 
-#: advice.c:114 builtin/merge.c:1206
+#: advice.c:114 builtin/merge.c:1185
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr ""
 
@@ -305,7 +305,7 @@ msgstr ""
 msgid "cannot checkout %s"
 msgstr ""
 
-#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:253
 #, c-format
 msgid "failed to read %s"
 msgstr ""
@@ -428,7 +428,7 @@ msgstr ""
 msgid "sha1 information is lacking or useless (%s)."
 msgstr ""
 
-#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:252 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr ""
@@ -504,7 +504,7 @@ msgstr[1] ""
 msgid "truncating .rej filename to %.*s.rej"
 msgstr ""
 
-#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
+#: apply.c:4531 builtin/fetch.c:739 builtin/fetch.c:988
 #, c-format
 msgid "cannot open %s"
 msgstr ""
@@ -532,160 +532,160 @@ msgstr ""
 msgid "unable to read index file"
 msgstr ""
 
-#: apply.c:4824
+#: apply.c:4823
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr ""
 
-#: apply.c:4849
+#: apply.c:4850
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4855 apply.c:4870
+#: apply.c:4856 apply.c:4871
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4863
+#: apply.c:4864
 #, 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:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
+#: apply.c:4880 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr ""
 
-#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
-#: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
-#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
-#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: apply.c:4911 apply.c:4914 builtin/am.c:2277 builtin/am.c:2280
+#: 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
 msgid "path"
 msgstr ""
 
-#: apply.c:4911
+#: apply.c:4912
 msgid "don't apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4914
+#: apply.c:4915
 msgid "apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4916 builtin/am.c:2286
+#: apply.c:4917 builtin/am.c:2286
 msgid "num"
 msgstr ""
 
-#: apply.c:4917
+#: apply.c:4918
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 
-#: apply.c:4920
+#: apply.c:4921
 msgid "ignore additions made by the patch"
 msgstr ""
 
-#: apply.c:4922
+#: apply.c:4923
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 
-#: apply.c:4926
+#: apply.c:4927
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 
-#: apply.c:4928
+#: apply.c:4929
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 
-#: apply.c:4930
+#: apply.c:4931
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 
-#: apply.c:4932
+#: apply.c:4933
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 
-#: apply.c:4934
+#: apply.c:4935
 msgid "apply a patch without touching the working tree"
 msgstr ""
 
-#: apply.c:4936
+#: apply.c:4937
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 
-#: apply.c:4938
+#: apply.c:4939
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 
-#: apply.c:4940
+#: apply.c:4941
 msgid "attempt three-way merge if a patch does not apply"
 msgstr ""
 
-#: apply.c:4942
+#: apply.c:4943
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 
-#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
+#: apply.c:4946 builtin/checkout-index.c:169 builtin/ls-files.c:508
 msgid "paths are separated with NUL character"
 msgstr ""
 
-#: apply.c:4947
+#: apply.c:4948
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 
-#: apply.c:4948 builtin/am.c:2265
+#: apply.c:4949 builtin/am.c:2265
 msgid "action"
 msgstr ""
 
-#: apply.c:4949
+#: apply.c:4950
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 
-#: apply.c:4952 apply.c:4955
+#: apply.c:4953 apply.c:4956
 msgid "ignore changes in whitespace when finding context"
 msgstr ""
 
-#: apply.c:4958
+#: apply.c:4959
 msgid "apply the patch in reverse"
 msgstr ""
 
-#: apply.c:4960
+#: apply.c:4961
 msgid "don't expect at least one line of context"
 msgstr ""
 
-#: apply.c:4962
+#: apply.c:4963
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 
-#: apply.c:4964
+#: apply.c:4965
 msgid "allow overlapping hunks"
 msgstr ""
 
-#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: 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:1860 builtin/mv.c:122 builtin/read-tree.c:114
+#: builtin/log.c:1867 builtin/mv.c:122 builtin/read-tree.c:134
 msgid "be verbose"
 msgstr ""
 
-#: apply.c:4967
+#: apply.c:4968
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 
-#: apply.c:4970
+#: apply.c:4971
 msgid "do not trust the line counts in the hunk headers"
 msgstr ""
 
-#: apply.c:4972 builtin/am.c:2274
+#: apply.c:4973 builtin/am.c:2274
 msgid "root"
 msgstr ""
 
-#: apply.c:4973
+#: apply.c:4974
 msgid "prepend <root> to all filenames"
 msgstr ""
 
@@ -706,150 +706,155 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr ""
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
+#: archive.c:332 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr ""
 
-#: archive.c:429
+#: archive.c:417
 msgid "fmt"
 msgstr ""
 
-#: archive.c:429
+#: archive.c:417
 msgid "archive format"
 msgstr ""
 
-#: archive.c:430 builtin/log.c:1429
+#: archive.c:418 builtin/log.c:1436
 msgid "prefix"
 msgstr ""
 
-#: archive.c:431
+#: archive.c:419
 msgid "prepend prefix to each pathname in the archive"
 msgstr ""
 
-#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
-#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
-#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: archive.c:420 builtin/blame.c:2598 builtin/blame.c:2599 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1061
+#: builtin/hash-object.c:101 builtin/ls-files.c:542 builtin/ls-files.c:545
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:129
 #: parse-options.h:153
 msgid "file"
 msgstr ""
 
-#: archive.c:433 builtin/archive.c:89
+#: archive.c:421 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr ""
 
-#: archive.c:435
+#: archive.c:423
 msgid "read .gitattributes in working directory"
 msgstr ""
 
-#: archive.c:436
+#: archive.c:424
 msgid "report archived files on stderr"
 msgstr ""
 
-#: archive.c:437
+#: archive.c:425
 msgid "store only"
 msgstr ""
 
-#: archive.c:438
+#: archive.c:426
 msgid "compress faster"
 msgstr ""
 
-#: archive.c:446
+#: archive.c:434
 msgid "compress better"
 msgstr ""
 
-#: archive.c:449
+#: archive.c:437
 msgid "list supported archive formats"
 msgstr ""
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
+#: 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
 msgid "repo"
 msgstr ""
 
-#: archive.c:452 builtin/archive.c:91
+#: archive.c:440 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr ""
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:485
+#: archive.c:441 builtin/archive.c:92 builtin/notes.c:485
 msgid "command"
 msgstr ""
 
-#: archive.c:454 builtin/archive.c:93
+#: archive.c:442 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr ""
 
-#: archive.c:461
+#: archive.c:449
 msgid "Unexpected option --remote"
 msgstr ""
 
-#: archive.c:463
+#: archive.c:451
 msgid "Option --exec can only be used together with --remote"
 msgstr ""
 
-#: archive.c:465
+#: archive.c:453
 msgid "Unexpected option --output"
 msgstr ""
 
-#: archive.c:487
+#: archive.c:475
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr ""
 
-#: archive.c:494
+#: archive.c:482
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr ""
 
-#: attr.c:263
+#: attr.c:212
+#, c-format
+msgid "%.*s is not a valid attribute name"
+msgstr ""
+
+#: attr.c:408
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
 
-#: bisect.c:441
+#: bisect.c:443
 #, c-format
 msgid "Could not open file '%s'"
 msgstr ""
 
-#: bisect.c:446
+#: bisect.c:448
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr ""
 
-#: bisect.c:655
+#: bisect.c:656
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr ""
 
-#: bisect.c:708
+#: bisect.c:709
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr ""
 
-#: bisect.c:732
+#: bisect.c:733
 #, 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:737
+#: bisect.c:738
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
 "The property has changed between %s and [%s].\n"
 msgstr ""
 
-#: bisect.c:742
+#: bisect.c:743
 #, 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:750
+#: bisect.c:751
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -857,7 +862,7 @@ msgid ""
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 
-#: bisect.c:763
+#: bisect.c:764
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -865,43 +870,43 @@ msgid ""
 "We continue anyway."
 msgstr ""
 
-#: bisect.c:798
+#: bisect.c:799
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr ""
 
-#: bisect.c:849
+#: bisect.c:850
 #, c-format
 msgid "a %s revision is needed"
 msgstr ""
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
+#: bisect.c:867 builtin/notes.c:174 builtin/tag.c:255
 #, c-format
 msgid "could not create file '%s'"
 msgstr ""
 
-#: bisect.c:917
+#: bisect.c:918
 #, c-format
 msgid "could not read file '%s'"
 msgstr ""
 
-#: bisect.c:947
+#: bisect.c:948
 msgid "reading bisect refs failed"
 msgstr ""
 
-#: bisect.c:967
+#: bisect.c:968
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr ""
 
-#: bisect.c:975
+#: bisect.c:976
 #, c-format
 msgid ""
 "No testable commit found.\n"
 "Maybe you started with bad path parameters?\n"
 msgstr ""
 
-#: bisect.c:994
+#: bisect.c:995
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -910,7 +915,7 @@ msgstr[1] ""
 
 #. TRANSLATORS: the last %s will be replaced with
 #. "(roughly %d steps)" translation
-#: bisect.c:998
+#: bisect.c:999
 #, 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"
@@ -1036,7 +1041,7 @@ msgstr ""
 msgid "'%s' is already checked out at '%s'"
 msgstr ""
 
-#: branch.c:363
+#: branch.c:364
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr ""
@@ -1051,7 +1056,7 @@ msgstr ""
 msgid "unrecognized header: %s%s (%d)"
 msgstr ""
 
-#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1339 sequencer.c:1760 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr ""
@@ -1060,10 +1065,10 @@ msgstr ""
 msgid "Repository lacks these prerequisite commits:"
 msgstr ""
 
-#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
-#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
-#: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:360 builtin/shortlog.c:177
+#: bundle.c:163 ref-filter.c:1852 sequencer.c:1162 sequencer.c:2299
+#: 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 ""
 
@@ -1102,7 +1107,7 @@ msgstr ""
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr ""
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
+#: bundle.c:443 builtin/log.c:170 builtin/log.c:1579 builtin/shortlog.c:281
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr ""
@@ -1125,7 +1130,7 @@ msgstr ""
 msgid "invalid color value: %.*s"
 msgstr ""
 
-#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: commit.c:40 sequencer.c:1572 builtin/am.c:421 builtin/am.c:457
 #: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
@@ -1136,7 +1141,7 @@ msgstr ""
 msgid "%s %s is not a commit!"
 msgstr ""
 
-#: commit.c:1514
+#: commit.c:1511
 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"
@@ -1147,133 +1152,152 @@ msgstr ""
 msgid "memory exhausted"
 msgstr ""
 
-#: config.c:518
+#: config.c:191
+msgid "relative config include conditionals must come from files"
+msgstr ""
+
+#: config.c:701
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr ""
 
-#: config.c:522
+#: config.c:705
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr ""
 
-#: config.c:526
+#: config.c:709
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr ""
 
-#: config.c:530
+#: config.c:713
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr ""
 
-#: config.c:534
+#: config.c:717
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr ""
 
-#: config.c:538
+#: config.c:721
 #, c-format
 msgid "bad config line %d in %s"
 msgstr ""
 
-#: config.c:657
+#: config.c:840
 msgid "out of range"
 msgstr ""
 
-#: config.c:657
+#: config.c:840
 msgid "invalid unit"
 msgstr ""
 
-#: config.c:663
+#: config.c:846
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr ""
 
-#: config.c:668
+#: config.c:851
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 
-#: config.c:671
+#: config.c:854
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 
-#: config.c:674
+#: config.c:857
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 
-#: config.c:677
+#: config.c:860
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 
-#: config.c:680
+#: config.c:863
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 
-#: config.c:683
+#: config.c:866
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 
-#: config.c:770
+#: config.c:953
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr ""
 
-#: config.c:865 config.c:876
+#: config.c:1048 config.c:1059
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr ""
 
-#: config.c:993
+#: config.c:1176
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr ""
 
-#: config.c:1149
+#: config.c:1332
 #, c-format
 msgid "bad pack compression level %d"
 msgstr ""
 
-#: config.c:1339
+#: config.c:1522
 msgid "unable to parse command-line config"
 msgstr ""
 
-#: config.c:1389
+#: config.c:1572
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 
-#: config.c:1743
+#: config.c:1931
+#, c-format
+msgid "Invalid %s: '%s'"
+msgstr ""
+
+#: config.c:1952
+#, c-format
+msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
+msgstr ""
+
+#: config.c:1978
+#, c-format
+msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
+msgstr ""
+
+#: config.c:1989
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 
-#: config.c:1745
+#: config.c:1991
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 
-#: config.c:1804
+#: config.c:2050
 #, c-format
 msgid "%s has multiple values"
 msgstr ""
 
-#: config.c:2225 config.c:2450
+#: config.c:2384 config.c:2609
 #, c-format
 msgid "fstat on %s failed"
 msgstr ""
 
-#: config.c:2343
+#: config.c:2502
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr ""
 
-#: config.c:2345
+#: config.c:2504 builtin/remote.c:774
 #, c-format
 msgid "could not unset '%s'"
 msgstr ""
@@ -1434,225 +1458,245 @@ msgid ""
 "%s"
 msgstr ""
 
-#: diff.c:3085
+#: diff.c:3102
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr ""
 
-#: diff.c:3411
+#: diff.c:3428
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 
-#: diff.c:3501
+#: diff.c:3518
 msgid "--follow requires exactly one pathspec"
 msgstr ""
 
-#: diff.c:3664
+#: diff.c:3681
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
 
-#: diff.c:3678
+#: diff.c:3695
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr ""
 
-#: diff.c:4696
+#: diff.c:4719
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 
-#: diff.c:4699
+#: diff.c:4722
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 
-#: diff.c:4702
+#: diff.c:4725
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 
-#: dir.c:1862
+#: dir.c:1899
 msgid "failed to get kernel name and information"
 msgstr ""
 
-#: dir.c:1981
+#: dir.c:2018
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 
-#: dir.c:2759
+#: dir.c:2776 dir.c:2781
+#, c-format
+msgid "could not create directories for %s"
+msgstr ""
+
+#: dir.c:2806
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr ""
 
-#: fetch-pack.c:213
+#: entry.c:280
+#, c-format
+msgid "could not stat file '%s'"
+msgstr ""
+
+#: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
 msgstr ""
 
-#: fetch-pack.c:225
+#: fetch-pack.c:261
 msgid "git fetch-pack: expected ACK/NAK, got EOF"
 msgstr ""
 
-#: fetch-pack.c:243
+#: fetch-pack.c:279
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr ""
 
-#: fetch-pack.c:295
+#: fetch-pack.c:331
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr ""
 
-#: fetch-pack.c:381
+#: fetch-pack.c:417
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr ""
 
-#: fetch-pack.c:387
+#: fetch-pack.c:423
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr ""
 
-#: fetch-pack.c:389
+#: fetch-pack.c:425
 #, c-format
 msgid "object not found: %s"
 msgstr ""
 
-#: fetch-pack.c:392
+#: fetch-pack.c:428
 #, c-format
 msgid "error in object: %s"
 msgstr ""
 
-#: fetch-pack.c:394
+#: fetch-pack.c:430
 #, c-format
 msgid "no shallow found: %s"
 msgstr ""
 
-#: fetch-pack.c:397
+#: fetch-pack.c:433
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr ""
 
-#: fetch-pack.c:436
+#: fetch-pack.c:472
 #, c-format
 msgid "got %s %d %s"
 msgstr ""
 
-#: fetch-pack.c:450
+#: fetch-pack.c:486
 #, c-format
 msgid "invalid commit %s"
 msgstr ""
 
-#: fetch-pack.c:483
+#: fetch-pack.c:519
 msgid "giving up"
 msgstr ""
 
-#: fetch-pack.c:493 progress.c:235
+#: fetch-pack.c:529 progress.c:235
 msgid "done"
 msgstr ""
 
-#: fetch-pack.c:505
+#: fetch-pack.c:541
 #, c-format
 msgid "got %s (%d) %s"
 msgstr ""
 
-#: fetch-pack.c:551
+#: fetch-pack.c:587
 #, c-format
 msgid "Marking %s as complete"
 msgstr ""
 
-#: fetch-pack.c:697
+#: fetch-pack.c:735
 #, c-format
 msgid "already have %s (%s)"
 msgstr ""
 
-#: fetch-pack.c:735
+#: fetch-pack.c:773
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr ""
 
-#: fetch-pack.c:743
+#: fetch-pack.c:781
 msgid "protocol error: bad pack header"
 msgstr ""
 
-#: fetch-pack.c:799
+#: fetch-pack.c:837
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr ""
 
-#: fetch-pack.c:815
+#: fetch-pack.c:853
 #, c-format
 msgid "%s failed"
 msgstr ""
 
-#: fetch-pack.c:817
+#: fetch-pack.c:855
 msgid "error in sideband demultiplexer"
 msgstr ""
 
-#: fetch-pack.c:844
+#: fetch-pack.c:882
 msgid "Server does not support shallow clients"
 msgstr ""
 
-#: fetch-pack.c:848
+#: fetch-pack.c:886
 msgid "Server supports multi_ack_detailed"
 msgstr ""
 
-#: fetch-pack.c:851
+#: fetch-pack.c:889
 msgid "Server supports no-done"
 msgstr ""
 
-#: fetch-pack.c:857
+#: fetch-pack.c:895
 msgid "Server supports multi_ack"
 msgstr ""
 
-#: fetch-pack.c:861
+#: fetch-pack.c:899
 msgid "Server supports side-band-64k"
 msgstr ""
 
-#: fetch-pack.c:865
+#: fetch-pack.c:903
 msgid "Server supports side-band"
 msgstr ""
 
-#: fetch-pack.c:869
+#: fetch-pack.c:907
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr ""
 
-#: fetch-pack.c:873
+#: fetch-pack.c:911
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr ""
 
-#: fetch-pack.c:883
+#: fetch-pack.c:921
 msgid "Server supports ofs-delta"
 msgstr ""
 
-#: fetch-pack.c:890
+#: fetch-pack.c:928
 #, c-format
 msgid "Server version is %.*s"
 msgstr ""
 
-#: fetch-pack.c:896
+#: fetch-pack.c:934
 msgid "Server does not support --shallow-since"
 msgstr ""
 
-#: fetch-pack.c:900
+#: fetch-pack.c:938
 msgid "Server does not support --shallow-exclude"
 msgstr ""
 
-#: fetch-pack.c:902
+#: fetch-pack.c:940
 msgid "Server does not support --deepen"
 msgstr ""
 
-#: fetch-pack.c:913
+#: fetch-pack.c:951
 msgid "no common commits"
 msgstr ""
 
-#: fetch-pack.c:925
+#: fetch-pack.c:963
 msgid "git fetch-pack: fetch failed."
 msgstr ""
 
-#: fetch-pack.c:1087
+#: fetch-pack.c:1125
 msgid "no matching remote head"
 msgstr ""
 
+#: fetch-pack.c:1147
+#, c-format
+msgid "no such remote ref %s"
+msgstr ""
+
+#: fetch-pack.c:1150
+#, c-format
+msgid "Server does not allow request for unadvertised object %s"
+msgstr ""
+
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
 msgstr ""
@@ -1671,17 +1715,17 @@ msgstr ""
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr ""
 
-#: grep.c:1794
+#: grep.c:1796
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr ""
 
-#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
+#: grep.c:1813 builtin/clone.c:399 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr ""
 
-#: grep.c:1822
+#: grep.c:1824
 #, c-format
 msgid "'%s': short read"
 msgstr ""
@@ -1742,7 +1786,7 @@ msgstr[1] ""
 msgid "%s: %s - %s"
 msgstr ""
 
-#: ident.c:334
+#: ident.c:343
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -1757,6 +1801,39 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ident.c:367
+msgid "no email was given and auto-detection is disabled"
+msgstr ""
+
+#: ident.c:372
+#, c-format
+msgid "unable to auto-detect email address (got '%s')"
+msgstr ""
+
+#: ident.c:382
+msgid "no name was given and auto-detection is disabled"
+msgstr ""
+
+#: ident.c:388
+#, c-format
+msgid "unable to auto-detect name (got '%s')"
+msgstr ""
+
+#: ident.c:396
+#, c-format
+msgid "empty ident name (for <%s>) not allowed"
+msgstr ""
+
+#: ident.c:402
+#, c-format
+msgid "name consists only of disallowed characters: %s"
+msgstr ""
+
+#: ident.c:417 builtin/commit.c:611
+#, c-format
+msgid "invalid date format: %s"
+msgstr ""
+
 #: lockfile.c:152
 #, c-format
 msgid ""
@@ -1778,8 +1855,8 @@ msgstr ""
 msgid "failed to read the cache"
 msgstr ""
 
-#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:374
-#: builtin/checkout.c:588 builtin/clone.c:731
+#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:393
+#: builtin/checkout.c:607 builtin/clone.c:749
 msgid "unable to write new index file"
 msgstr ""
 
@@ -1849,167 +1926,181 @@ msgstr ""
 msgid "Unable to add %s to database"
 msgstr ""
 
-#: merge-recursive.c:1088 merge-recursive.c:1102
+#: merge-recursive.c:1092
 #, 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:1094 merge-recursive.c:1107
+#: merge-recursive.c:1097
+#, 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
 #, 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:1150
+#: merge-recursive.c:1109
+#, 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
 msgid "rename"
 msgstr ""
 
-#: merge-recursive.c:1150
+#: merge-recursive.c:1143
 msgid "renamed"
 msgstr ""
 
-#: merge-recursive.c:1207
+#: merge-recursive.c:1200
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1232
+#: merge-recursive.c:1225
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
 "\"->\"%s\" in \"%s\"%s"
 msgstr ""
 
-#: merge-recursive.c:1237
+#: merge-recursive.c:1230
 msgid " (left unresolved)"
 msgstr ""
 
-#: merge-recursive.c:1299
+#: merge-recursive.c:1292
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 
-#: merge-recursive.c:1332
+#: merge-recursive.c:1325
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr ""
 
-#: merge-recursive.c:1535
+#: merge-recursive.c:1528
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 
-#: merge-recursive.c:1550
+#: merge-recursive.c:1543
 #, c-format
 msgid "Adding merged %s"
 msgstr ""
 
-#: merge-recursive.c:1557 merge-recursive.c:1771
+#: merge-recursive.c:1550 merge-recursive.c:1780
 #, c-format
 msgid "Adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1614
+#: merge-recursive.c:1607
 #, c-format
 msgid "cannot read object %s"
 msgstr ""
 
-#: merge-recursive.c:1617
+#: merge-recursive.c:1610
 #, c-format
 msgid "object %s is not a blob"
 msgstr ""
 
-#: merge-recursive.c:1670
+#: merge-recursive.c:1679
 msgid "modify"
 msgstr ""
 
-#: merge-recursive.c:1670
+#: merge-recursive.c:1679
 msgid "modified"
 msgstr ""
 
-#: merge-recursive.c:1680
+#: merge-recursive.c:1689
 msgid "content"
 msgstr ""
 
-#: merge-recursive.c:1687
+#: merge-recursive.c:1696
 msgid "add/add"
 msgstr ""
 
-#: merge-recursive.c:1723
+#: merge-recursive.c:1732
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr ""
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1746
 #, c-format
 msgid "Auto-merging %s"
 msgstr ""
 
-#: merge-recursive.c:1741 git-submodule.sh:930
+#: merge-recursive.c:1750 git-submodule.sh:944
 msgid "submodule"
 msgstr ""
 
-#: merge-recursive.c:1742
+#: merge-recursive.c:1751
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:1836
+#: merge-recursive.c:1845
 #, c-format
 msgid "Removing %s"
 msgstr ""
 
-#: merge-recursive.c:1862
+#: merge-recursive.c:1871
 msgid "file/directory"
 msgstr ""
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1877
 msgid "directory/file"
 msgstr ""
 
-#: merge-recursive.c:1874
+#: merge-recursive.c:1883
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 
-#: merge-recursive.c:1883
+#: merge-recursive.c:1892
 #, c-format
 msgid "Adding %s"
 msgstr ""
 
-#: merge-recursive.c:1920
+#: merge-recursive.c:1929
 msgid "Already up-to-date!"
 msgstr ""
 
-#: merge-recursive.c:1929
+#: merge-recursive.c:1938
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr ""
 
-#: merge-recursive.c:2012
+#: merge-recursive.c:2021
 msgid "Merging:"
 msgstr ""
 
-#: merge-recursive.c:2025
+#: merge-recursive.c:2034
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: merge-recursive.c:2064
+#: merge-recursive.c:2073
 msgid "merge returned no commit"
 msgstr ""
 
-#: merge-recursive.c:2127
+#: merge-recursive.c:2136
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr ""
 
-#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
+#: merge-recursive.c:2150 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr ""
 
@@ -2082,82 +2173,93 @@ msgstr ""
 msgid "malformed object name '%s'"
 msgstr ""
 
-#: path.c:826
+#: path.c:805
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr ""
 
-#: pathspec.c:142
+#: pathspec.c:125
+msgid "Escape character '\\' not allowed as last character in attr value"
+msgstr ""
+
+#: pathspec.c:143
+msgid "Only one 'attr:' specification is allowed."
+msgstr ""
+
+#: pathspec.c:146
+msgid "attr spec must not be empty"
+msgstr ""
+
+#: pathspec.c:189
+#, c-format
+msgid "invalid attribute name %s"
+msgstr ""
+
+#: pathspec.c:254
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 
-#: pathspec.c:149
+#: pathspec.c:261
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr ""
 
-#: pathspec.c:188
+#: pathspec.c:301
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr ""
 
-#: pathspec.c:201
+#: pathspec.c:322
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr ""
 
-#: pathspec.c:206
+#: pathspec.c:327
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr ""
 
-#: pathspec.c:238
+#: pathspec.c:365
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr ""
 
-#: pathspec.c:293 pathspec.c:315
+#: pathspec.c:421 pathspec.c:443
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr ""
 
-#: pathspec.c:350
+#: pathspec.c:483
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr ""
 
-#: pathspec.c:363
+#: pathspec.c:496
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr ""
 
-#: pathspec.c:451
+#: pathspec.c:584
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr ""
 
-#: pathspec.c:461
+#: pathspec.c:594
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 
-#: pathspec.c:511
+#: 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:535
+#: pathspec.c:668
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr ""
 
-#: pathspec.c:544
-msgid ""
-"There is nothing to exclude from by :(exclude) patterns.\n"
-"Perhaps you forgot to add either ':/' or '.' ?"
-msgstr ""
-
 #: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr ""
@@ -2176,161 +2278,264 @@ msgid ""
 "Using version %i"
 msgstr ""
 
-#: refs.c:576 builtin/merge.c:844
+#: read-cache.c:2232
+#, c-format
+msgid "could not stat '%s"
+msgstr ""
+
+#: read-cache.c:2245
+#, c-format
+msgid "unable to open git dir: %s"
+msgstr ""
+
+#: read-cache.c:2257
+#, c-format
+msgid "unable to unlink: %s"
+msgstr ""
+
+#: refs.c:619 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr ""
 
-#: refs/files-backend.c:2481
+#: refs/files-backend.c:2531
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr ""
 
-#: refs/files-backend.c:2484
+#: refs/files-backend.c:2534
 #, c-format
 msgid "could not delete references: %s"
 msgstr ""
 
-#: refs/files-backend.c:2493
+#: refs/files-backend.c:2543
 #, c-format
 msgid "could not remove reference %s"
 msgstr ""
 
-#: ref-filter.c:56
+#: ref-filter.c:35 wt-status.c:1780
+msgid "gone"
+msgstr ""
+
+#: ref-filter.c:36
+#, c-format
+msgid "ahead %d"
+msgstr ""
+
+#: ref-filter.c:37
+#, c-format
+msgid "behind %d"
+msgstr ""
+
+#: ref-filter.c:38
+#, c-format
+msgid "ahead %d, behind %d"
+msgstr ""
+
+#: ref-filter.c:104
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr ""
 
-#: ref-filter.c:58
+#: ref-filter.c:106
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr ""
 
-#: ref-filter.c:72
+#: ref-filter.c:120
 #, c-format
-msgid "unrecognized format: %%(%s)"
+msgid "Integer value expected refname:lstrip=%s"
 msgstr ""
 
-#: ref-filter.c:78
+#: ref-filter.c:124
+#, c-format
+msgid "Integer value expected refname:rstrip=%s"
+msgstr ""
+
+#: ref-filter.c:126
+#, c-format
+msgid "unrecognized %%(%s) argument: %s"
+msgstr ""
+
+#: ref-filter.c:166
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:85
+#: ref-filter.c:173
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:92
+#: ref-filter.c:180
 #, c-format
 msgid "%%(trailers) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:111
+#: ref-filter.c:199
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr ""
 
-#: ref-filter.c:113
+#: ref-filter.c:201
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr ""
 
-#: ref-filter.c:123
+#: ref-filter.c:214
+#, c-format
+msgid "positive value expected objectname:short=%s"
+msgstr ""
+
+#: ref-filter.c:218
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr ""
 
-#: ref-filter.c:145
+#: ref-filter.c:245
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr ""
 
-#: ref-filter.c:157
+#: ref-filter.c:257
 #, c-format
 msgid "unrecognized position:%s"
 msgstr ""
 
-#: ref-filter.c:161
+#: ref-filter.c:261
 #, c-format
 msgid "unrecognized width:%s"
 msgstr ""
 
-#: ref-filter.c:167
+#: ref-filter.c:267
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr ""
 
-#: ref-filter.c:171
+#: ref-filter.c:271
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr ""
 
-#: ref-filter.c:255
+#: ref-filter.c:286
+#, c-format
+msgid "unrecognized %%(if) argument: %s"
+msgstr ""
+
+#: ref-filter.c:371
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:281
+#: ref-filter.c:397
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:383
+#: ref-filter.c:501
+#, c-format
+msgid "format: %%(if) atom used without a %%(then) atom"
+msgstr ""
+
+#: ref-filter.c:561
+#, c-format
+msgid "format: %%(then) atom used without an %%(if) atom"
+msgstr ""
+
+#: ref-filter.c:563
+#, c-format
+msgid "format: %%(then) atom used more than once"
+msgstr ""
+
+#: ref-filter.c:565
+#, c-format
+msgid "format: %%(then) atom used after %%(else)"
+msgstr ""
+
+#: ref-filter.c:591
+#, c-format
+msgid "format: %%(else) atom used without an %%(if) atom"
+msgstr ""
+
+#: ref-filter.c:593
+#, c-format
+msgid "format: %%(else) atom used without a %%(then) atom"
+msgstr ""
+
+#: ref-filter.c:595
+#, c-format
+msgid "format: %%(else) atom used more than once"
+msgstr ""
+
+#: ref-filter.c:608
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr ""
 
-#: ref-filter.c:435
+#: ref-filter.c:663
 #, c-format
 msgid "malformed format string %s"
 msgstr ""
 
-#: ref-filter.c:898
-msgid ":strip= requires a positive integer argument"
+#: ref-filter.c:1247
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr ""
+
+#: ref-filter.c:1250
+#, c-format
+msgid "(no branch, bisect started on %s)"
 msgstr ""
 
-#: ref-filter.c:903
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached at " in wt-status.c
+#: ref-filter.c:1256
 #, c-format
-msgid "ref '%s' does not have %ld components to :strip"
+msgid "(HEAD detached at %s)"
 msgstr ""
 
-#: ref-filter.c:1066
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached from " in wt-status.c
+#: ref-filter.c:1261
 #, c-format
-msgid "unknown %.*s format %s"
+msgid "(HEAD detached from %s)"
 msgstr ""
 
-#: ref-filter.c:1086 ref-filter.c:1117
+#: ref-filter.c:1265
+msgid "(no branch)"
+msgstr ""
+
+#: ref-filter.c:1420 ref-filter.c:1451
 #, c-format
 msgid "missing object %s for %s"
 msgstr ""
 
-#: ref-filter.c:1089 ref-filter.c:1120
+#: ref-filter.c:1423 ref-filter.c:1454
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr ""
 
-#: ref-filter.c:1343
+#: ref-filter.c:1692
 #, c-format
 msgid "malformed object at '%s'"
 msgstr ""
 
-#: ref-filter.c:1410
+#: ref-filter.c:1759
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr ""
 
-#: ref-filter.c:1415
+#: ref-filter.c:1764
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr ""
 
-#: ref-filter.c:1670
+#: ref-filter.c:2028
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr ""
 
-#: ref-filter.c:1734
+#: ref-filter.c:2109
 #, c-format
 msgid "malformed object name %s"
 msgstr ""
@@ -2470,25 +2675,35 @@ msgstr ""
 msgid "dup2(%d,%d) failed"
 msgstr ""
 
-#: send-pack.c:297
+#: send-pack.c:150
+#, c-format
+msgid "unable to parse remote unpack status: %s"
+msgstr ""
+
+#: send-pack.c:152
+#, c-format
+msgid "remote unpack failed: %s"
+msgstr ""
+
+#: send-pack.c:315
 msgid "failed to sign the push certificate"
 msgstr ""
 
-#: send-pack.c:410
+#: send-pack.c:428
 msgid "the receiving end does not support --signed push"
 msgstr ""
 
-#: send-pack.c:412
+#: send-pack.c:430
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr ""
 
-#: send-pack.c:424
+#: send-pack.c:442
 msgid "the receiving end does not support --atomic push"
 msgstr ""
 
-#: send-pack.c:429
+#: send-pack.c:447
 msgid "the receiving end does not support push options"
 msgstr ""
 
@@ -2522,12 +2737,12 @@ msgid ""
 "and commit the result with 'git commit'"
 msgstr ""
 
-#: sequencer.c:294 sequencer.c:1667
+#: sequencer.c:294 sequencer.c:1675
 #, c-format
 msgid "could not lock '%s'"
 msgstr ""
 
-#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
+#: sequencer.c:297 sequencer.c:1553 sequencer.c:1680 sequencer.c:1694
 #, c-format
 msgid "could not write to '%s'"
 msgstr ""
@@ -2537,13 +2752,13 @@ msgstr ""
 msgid "could not write eol to '%s'"
 msgstr ""
 
-#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
+#: sequencer.c:305 sequencer.c:1558 sequencer.c:1682
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr ""
 
-#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
-#: builtin/commit.c:749 builtin/merge.c:1036
+#: sequencer.c:329 sequencer.c:814 sequencer.c:1579 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1018
 #, c-format
 msgid "could not read '%s'"
 msgstr ""
@@ -2595,17 +2810,17 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:688
+#: sequencer.c:694
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr ""
 
-#: sequencer.c:693
+#: sequencer.c:699
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr ""
 
-#: sequencer.c:815
+#: sequencer.c:821
 #, c-format
 msgid ""
 "unexpected 1st line of squash message:\n"
@@ -2613,7 +2828,7 @@ msgid ""
 "\t%.*s"
 msgstr ""
 
-#: sequencer.c:821
+#: sequencer.c:827
 #, c-format
 msgid ""
 "invalid 1st line of squash message:\n"
@@ -2621,229 +2836,229 @@ msgid ""
 "\t%.*s"
 msgstr ""
 
-#: sequencer.c:827 sequencer.c:852
+#: sequencer.c:833 sequencer.c:858
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr ""
 
-#: sequencer.c:836
+#: sequencer.c:842
 msgid "need a HEAD to fixup"
 msgstr ""
 
-#: sequencer.c:838
+#: sequencer.c:844
 msgid "could not read HEAD"
 msgstr ""
 
-#: sequencer.c:840
+#: sequencer.c:846
 msgid "could not read HEAD's commit message"
 msgstr ""
 
-#: sequencer.c:846
+#: sequencer.c:852
 #, c-format
 msgid "cannot write '%s'"
 msgstr ""
 
-#: sequencer.c:855 git-rebase--interactive.sh:445
+#: sequencer.c:861 git-rebase--interactive.sh:445
 msgid "This is the 1st commit message:"
 msgstr ""
 
-#: sequencer.c:863
+#: sequencer.c:869
 #, c-format
 msgid "could not read commit message of %s"
 msgstr ""
 
-#: sequencer.c:870
+#: sequencer.c:876
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr ""
 
-#: sequencer.c:875
+#: sequencer.c:881
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr ""
 
-#: sequencer.c:880
+#: sequencer.c:886
 #, c-format
 msgid "unknown command: %d"
 msgstr ""
 
-#: sequencer.c:946
+#: sequencer.c:952
 msgid "your index file is unmerged."
 msgstr ""
 
-#: sequencer.c:964
+#: sequencer.c:970
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr ""
 
-#: sequencer.c:972
+#: sequencer.c:978
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr ""
 
-#: sequencer.c:976
+#: sequencer.c:982
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 
-#: sequencer.c:982
+#: sequencer.c:988
 #, 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:1001
+#: sequencer.c:1009
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:1063 sequencer.c:1812
+#: sequencer.c:1071 sequencer.c:1820
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:1114
+#: sequencer.c:1122
 #, c-format
 msgid "could not revert %s... %s"
 msgstr ""
 
-#: sequencer.c:1115
+#: sequencer.c:1123
 #, c-format
 msgid "could not apply %s... %s"
 msgstr ""
 
-#: sequencer.c:1157
+#: sequencer.c:1165
 msgid "empty commit set passed"
 msgstr ""
 
-#: sequencer.c:1167
+#: sequencer.c:1175
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr ""
 
-#: sequencer.c:1174
+#: sequencer.c:1182
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr ""
 
-#: sequencer.c:1294
+#: sequencer.c:1302
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr ""
 
-#: sequencer.c:1302
+#: sequencer.c:1310
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr ""
 
-#: sequencer.c:1334
+#: sequencer.c:1342
 #, c-format
 msgid "could not read '%s'."
 msgstr ""
 
-#: sequencer.c:1341
+#: sequencer.c:1349
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: sequencer.c:1343
+#: sequencer.c:1351
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:1348
+#: sequencer.c:1356
 msgid "no commits parsed."
 msgstr ""
 
-#: sequencer.c:1359
+#: sequencer.c:1367
 msgid "cannot cherry-pick during a revert."
 msgstr ""
 
-#: sequencer.c:1361
+#: sequencer.c:1369
 msgid "cannot revert during a cherry-pick."
 msgstr ""
 
-#: sequencer.c:1424
+#: sequencer.c:1432
 #, c-format
 msgid "invalid key: %s"
 msgstr ""
 
-#: sequencer.c:1427
+#: sequencer.c:1435
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr ""
 
-#: sequencer.c:1484
+#: sequencer.c:1492
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:1522
+#: sequencer.c:1530
 msgid "a cherry-pick or revert is already in progress"
 msgstr ""
 
-#: sequencer.c:1523
+#: sequencer.c:1531
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr ""
 
-#: sequencer.c:1526
+#: sequencer.c:1534
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr ""
 
-#: sequencer.c:1540
+#: sequencer.c:1548
 msgid "could not lock HEAD"
 msgstr ""
 
-#: sequencer.c:1596 sequencer.c:2150
+#: sequencer.c:1604 sequencer.c:2159
 msgid "no cherry-pick or revert in progress"
 msgstr ""
 
-#: sequencer.c:1598
+#: sequencer.c:1606
 msgid "cannot resolve HEAD"
 msgstr ""
 
-#: sequencer.c:1600 sequencer.c:1634
+#: sequencer.c:1608 sequencer.c:1642
 msgid "cannot abort from a branch yet to be born"
 msgstr ""
 
-#: sequencer.c:1620 builtin/grep.c:904
+#: sequencer.c:1628 builtin/grep.c:910
 #, c-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: sequencer.c:1622
+#: sequencer.c:1630
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr ""
 
-#: sequencer.c:1623
+#: sequencer.c:1631
 msgid "unexpected end of file"
 msgstr ""
 
-#: sequencer.c:1629
+#: sequencer.c:1637
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr ""
 
-#: sequencer.c:1640
+#: sequencer.c:1648
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 
-#: sequencer.c:1777 sequencer.c:2049
+#: sequencer.c:1785 sequencer.c:2058
 msgid "cannot read HEAD"
 msgstr ""
 
-#: sequencer.c:1817 builtin/difftool.c:574
+#: sequencer.c:1825 builtin/difftool.c:616
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:1833
+#: sequencer.c:1841
 msgid "could not read index"
 msgstr ""
 
-#: sequencer.c:1838
+#: sequencer.c:1846
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -2853,11 +3068,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:1844
+#: sequencer.c:1852
 msgid "and made changes to the index and/or the working tree\n"
 msgstr ""
 
-#: sequencer.c:1850
+#: sequencer.c:1858
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -2868,17 +3083,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:1905 git-rebase.sh:168
+#: sequencer.c:1913 git-rebase.sh:168
 #, c-format
 msgid "Applied autostash."
 msgstr ""
 
-#: sequencer.c:1917
+#: sequencer.c:1925
 #, c-format
 msgid "cannot store %s"
 msgstr ""
 
-#: sequencer.c:1919 git-rebase.sh:172
+#: sequencer.c:1927 git-rebase.sh:172
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -2886,89 +3101,89 @@ msgid ""
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
 
-#: sequencer.c:2000
+#: sequencer.c:2009
 #, c-format
-msgid "stopped at %s... %.*s"
+msgid "Stopped at %s...  %.*s\n"
 msgstr ""
 
-#: sequencer.c:2027
+#: sequencer.c:2036
 #, c-format
 msgid "unknown command %d"
 msgstr ""
 
-#: sequencer.c:2057
+#: sequencer.c:2066
 msgid "could not read orig-head"
 msgstr ""
 
-#: sequencer.c:2061
+#: sequencer.c:2070
 msgid "could not read 'onto'"
 msgstr ""
 
-#: sequencer.c:2068
+#: sequencer.c:2077
 #, c-format
 msgid "could not update %s"
 msgstr ""
 
-#: sequencer.c:2075
+#: sequencer.c:2084
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr ""
 
-#: sequencer.c:2159
+#: sequencer.c:2168
 msgid "cannot rebase: You have unstaged changes."
 msgstr ""
 
-#: sequencer.c:2164
+#: sequencer.c:2173
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: sequencer.c:2173
+#: sequencer.c:2182
 msgid "cannot amend non-existing commit"
 msgstr ""
 
-#: sequencer.c:2175
+#: sequencer.c:2184
 #, c-format
 msgid "invalid file: '%s'"
 msgstr ""
 
-#: sequencer.c:2177
+#: sequencer.c:2186
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr ""
 
-#: sequencer.c:2180
+#: sequencer.c:2189
 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:2190
+#: sequencer.c:2199
 msgid "could not commit staged changes."
 msgstr ""
 
-#: sequencer.c:2270
+#: sequencer.c:2279
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr ""
 
-#: sequencer.c:2274
+#: sequencer.c:2283
 #, c-format
 msgid "%s: bad revision"
 msgstr ""
 
-#: sequencer.c:2307
+#: sequencer.c:2316
 msgid "can't revert as initial commit"
 msgstr ""
 
-#: setup.c:160
+#: setup.c:165
 #, 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:173
+#: setup.c:178
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -2976,7 +3191,7 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:223
+#: setup.c:228
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -2984,96 +3199,96 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:470
+#: setup.c:475
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr ""
 
-#: setup.c:478
+#: setup.c:483
 msgid "unknown repository extensions found:"
 msgstr ""
 
-#: setup.c:768
+#: setup.c:776
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr ""
 
-#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
+#: setup.c:778 builtin/index-pack.c:1646
 msgid "Cannot come back to cwd"
 msgstr ""
 
-#: setup.c:852
+#: setup.c:1010
 msgid "Unable to read current working directory"
 msgstr ""
 
-#: setup.c:927
+#: setup.c:1022 setup.c:1028
 #, 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)."
+msgid "Cannot change to '%s'"
 msgstr ""
 
-#: setup.c:934
+#: setup.c:1041
 #, c-format
-msgid "Cannot change to '%s/..'"
+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:996
+#: setup.c:1106
 #, 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:490
+#: sha1_file.c:559
 #, c-format
 msgid "path '%s' does not exist"
 msgstr ""
 
-#: sha1_file.c:516
+#: sha1_file.c:585
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 
-#: sha1_file.c:522
+#: sha1_file.c:591
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr ""
 
-#: sha1_file.c:528
+#: sha1_file.c:597
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 
-#: sha1_file.c:536
+#: sha1_file.c:605
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 
-#: sha1_file.c:1176
+#: sha1_file.c:1245
 msgid "offset before end of packfile (broken .idx?)"
 msgstr ""
 
-#: sha1_file.c:2637
+#: sha1_file.c:2721
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 
-#: sha1_file.c:2641
+#: sha1_file.c:2725
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 
-#: sha1_name.c:407
+#: sha1_name.c:409
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr ""
 
-#: sha1_name.c:418
+#: sha1_name.c:420
 msgid "The candidates are:"
 msgstr ""
 
-#: sha1_name.c:578
+#: sha1_name.c:580
 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"
@@ -3086,61 +3301,71 @@ msgid ""
 "running \"git config advice.objectNameWarning false\""
 msgstr ""
 
-#: submodule.c:65 submodule.c:99
+#: submodule.c:67 submodule.c:101
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 
-#: submodule.c:69 submodule.c:103
+#: submodule.c:71 submodule.c:105
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr ""
 
-#: submodule.c:77
+#: submodule.c:79
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr ""
 
-#: submodule.c:110
+#: submodule.c:112
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr ""
 
-#: submodule.c:121
+#: submodule.c:123
 msgid "staging updated .gitmodules failed"
 msgstr ""
 
-#: submodule.c:159
+#: submodule.c:161
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr ""
 
-#: submodule.c:1184
+#: submodule.c:1194
 #, c-format
-msgid "could not start 'git status in submodule '%s'"
+msgid "'%s' not recognized as a git repository"
 msgstr ""
 
-#: submodule.c:1197
+#: submodule.c:1332
 #, c-format
-msgid "could not run 'git status in submodule '%s'"
+msgid "could not start 'git status' in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1398
+#: submodule.c:1345
+#, c-format
+msgid "could not run 'git status' in submodule '%s'"
+msgstr ""
+
+#: submodule.c:1421
+#, c-format
+msgid "submodule '%s' has dirty index"
+msgstr ""
+
+#: submodule.c:1679
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr ""
 
-#: submodule.c:1410 submodule.c:1471
+#: submodule.c:1691 submodule.c:1747
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr ""
 
-#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
-#: builtin/submodule--helper.c:650
+#: submodule.c:1695 builtin/submodule--helper.c:678
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "could not create directory '%s'"
 msgstr ""
 
-#: submodule.c:1420
+#: submodule.c:1698
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -3148,12 +3373,25 @@ msgid ""
 "'%s'\n"
 msgstr ""
 
-#: submodule.c:1512
+#: submodule.c:1782
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr ""
 
-#: submodule-config.c:360
+#: submodule.c:1826
+msgid "could not start ls-files in .."
+msgstr ""
+
+#: submodule.c:1846
+msgid "BUG: returned path string doesn't match cwd?"
+msgstr ""
+
+#: submodule.c:1865
+#, c-format
+msgid "ls-tree returned unexpected return code %d"
+msgstr ""
+
+#: submodule-config.c:380
 #, c-format
 msgid "invalid value for %s"
 msgstr ""
@@ -3222,14 +3460,14 @@ msgstr ""
 msgid "transport: invalid depth option '%s'"
 msgstr ""
 
-#: transport.c:885
+#: transport.c:889
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr ""
 
-#: transport.c:889
+#: transport.c:893
 #, c-format
 msgid ""
 "\n"
@@ -3245,11 +3483,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: transport.c:897
+#: transport.c:901
 msgid "Aborting."
 msgstr ""
 
-#: transport-helper.c:1082
+#: transport-helper.c:1080
 #, c-format
 msgid "Could not read ref %s"
 msgstr ""
@@ -3270,98 +3508,98 @@ msgstr ""
 msgid "too-short tree file"
 msgstr ""
 
-#: unpack-trees.c:99
+#: unpack-trees.c:104
 #, 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:101
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:104
+#: unpack-trees.c:109
 #, 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:106
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:109
+#: unpack-trees.c:114
 #, 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:111
+#: unpack-trees.c:116
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:116
+#: unpack-trees.c:121
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:120
+#: unpack-trees.c:125
 #, 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:122
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:125
+#: unpack-trees.c:130
 #, 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:127
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:130
+#: unpack-trees.c:135
 #, 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:132
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:137
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3369,7 +3607,7 @@ msgid ""
 "%%sPlease move or remove them before you switch branches."
 msgstr ""
 
-#: unpack-trees.c:139
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3377,47 +3615,47 @@ msgid ""
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:142
+#: unpack-trees.c:147
 #, 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:144
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:147
+#: unpack-trees.c:152
 #, 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:149
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%s"
 msgstr ""
 
-#: unpack-trees.c:156
+#: unpack-trees.c:161
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr ""
 
-#: unpack-trees.c:159
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
 "%s"
 msgstr ""
 
-#: unpack-trees.c:161
+#: unpack-trees.c:166
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3425,7 +3663,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:163
+#: unpack-trees.c:168
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3433,45 +3671,57 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:240
+#: unpack-trees.c:170
+#, c-format
+msgid ""
+"Cannot update submodule:\n"
+"%s"
+msgstr ""
+
+#: unpack-trees.c:247
 #, c-format
 msgid "Aborting\n"
 msgstr ""
 
-#: unpack-trees.c:270
+#: unpack-trees.c:272
+#, c-format
+msgid "submodule update strategy not supported for submodule '%s'"
+msgstr ""
+
+#: unpack-trees.c:340
 msgid "Checking out files"
 msgstr ""
 
-#: urlmatch.c:120
+#: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr ""
 
-#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
 #, c-format
 msgid "invalid %XX escape sequence"
 msgstr ""
 
-#: urlmatch.c:172
+#: urlmatch.c:215
 msgid "missing host and scheme is not 'file:'"
 msgstr ""
 
-#: urlmatch.c:189
+#: urlmatch.c:232
 msgid "a 'file:' URL may not have a port number"
 msgstr ""
 
-#: urlmatch.c:199
+#: urlmatch.c:247
 msgid "invalid characters in host name"
 msgstr ""
 
-#: urlmatch.c:244 urlmatch.c:255
+#: urlmatch.c:292 urlmatch.c:303
 msgid "invalid port number"
 msgstr ""
 
-#: urlmatch.c:322
+#: urlmatch.c:371
 msgid "invalid '..' path segment"
 msgstr ""
 
-#: worktree.c:282
+#: worktree.c:285
 #, c-format
 msgid "failed to read '%s'"
 msgstr ""
@@ -3487,27 +3737,27 @@ msgid "could not open '%s' for writing"
 msgstr ""
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1015
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr ""
 
-#: wrapper.c:605 wrapper.c:626
+#: wrapper.c:581 wrapper.c:602
 #, c-format
 msgid "unable to access '%s'"
 msgstr ""
 
-#: wrapper.c:634
+#: wrapper.c:610
 msgid "unable to get current working directory"
 msgstr ""
 
-#: wrapper.c:658
+#: wrapper.c:634
 #, c-format
 msgid "could not write to %s"
 msgstr ""
 
-#: wrapper.c:660
+#: wrapper.c:636
 #, c-format
 msgid "could not close %s"
 msgstr ""
@@ -3537,11 +3787,11 @@ msgstr ""
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:199 wt-status.c:945
+#: wt-status.c:199 wt-status.c:958
 msgid "Changes to be committed:"
 msgstr ""
 
-#: wt-status.c:217 wt-status.c:954
+#: wt-status.c:217 wt-status.c:967
 msgid "Changes not staged for commit:"
 msgstr ""
 
@@ -3639,236 +3889,236 @@ msgstr ""
 msgid "untracked content, "
 msgstr ""
 
-#: wt-status.c:818
+#: wt-status.c:831
 msgid "Submodules changed but not updated:"
 msgstr ""
 
-#: wt-status.c:820
+#: wt-status.c:833
 msgid "Submodule changes to be committed:"
 msgstr ""
 
-#: wt-status.c:901
+#: wt-status.c:914
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
 msgstr ""
 
-#: wt-status.c:1013
+#: wt-status.c:1026
 msgid "You have unmerged paths."
 msgstr ""
 
-#: wt-status.c:1016
+#: wt-status.c:1029
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr ""
 
-#: wt-status.c:1018
+#: wt-status.c:1031
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr ""
 
-#: wt-status.c:1023
+#: wt-status.c:1036
 msgid "All conflicts fixed but you are still merging."
 msgstr ""
 
-#: wt-status.c:1026
+#: wt-status.c:1039
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr ""
 
-#: wt-status.c:1036
+#: wt-status.c:1049
 msgid "You are in the middle of an am session."
 msgstr ""
 
-#: wt-status.c:1039
+#: wt-status.c:1052
 msgid "The current patch is empty."
 msgstr ""
 
-#: wt-status.c:1043
+#: wt-status.c:1056
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr ""
 
-#: wt-status.c:1045
+#: wt-status.c:1058
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1047
+#: wt-status.c:1060
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr ""
 
-#: wt-status.c:1176
+#: wt-status.c:1189
 msgid "git-rebase-todo is missing."
 msgstr ""
 
-#: wt-status.c:1178
+#: wt-status.c:1191
 msgid "No commands done."
 msgstr ""
 
-#: wt-status.c:1181
+#: wt-status.c:1194
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1192
+#: wt-status.c:1205
 #, c-format
 msgid "  (see more in file %s)"
 msgstr ""
 
-#: wt-status.c:1197
+#: wt-status.c:1210
 msgid "No commands remaining."
 msgstr ""
 
-#: wt-status.c:1200
+#: wt-status.c:1213
 #, 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:1208
+#: wt-status.c:1221
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr ""
 
-#: wt-status.c:1221
+#: wt-status.c:1234
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1226
+#: wt-status.c:1239
 msgid "You are currently rebasing."
 msgstr ""
 
-#: wt-status.c:1240
+#: wt-status.c:1253
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1242
+#: wt-status.c:1255
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1244
+#: wt-status.c:1257
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 
-#: wt-status.c:1250
+#: wt-status.c:1263
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1254
+#: wt-status.c:1267
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1259
+#: wt-status.c:1272
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1262
+#: wt-status.c:1275
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1266
+#: wt-status.c:1279
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1271
+#: wt-status.c:1284
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1274
+#: wt-status.c:1287
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 
-#: wt-status.c:1276
+#: wt-status.c:1289
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 
-#: wt-status.c:1286
+#: wt-status.c:1299
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr ""
 
-#: wt-status.c:1291
+#: wt-status.c:1304
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1294
+#: wt-status.c:1307
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1296
+#: wt-status.c:1309
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 
-#: wt-status.c:1305
+#: wt-status.c:1318
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr ""
 
-#: wt-status.c:1310
+#: wt-status.c:1323
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1313
+#: wt-status.c:1326
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1315
+#: wt-status.c:1328
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 
-#: wt-status.c:1326
+#: wt-status.c:1339
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 
-#: wt-status.c:1330
+#: wt-status.c:1343
 msgid "You are currently bisecting."
 msgstr ""
 
-#: wt-status.c:1333
+#: wt-status.c:1346
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 
-#: wt-status.c:1530
+#: wt-status.c:1543
 msgid "On branch "
 msgstr ""
 
-#: wt-status.c:1536
+#: wt-status.c:1549
 msgid "interactive rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1538
+#: wt-status.c:1551
 msgid "rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1543
+#: wt-status.c:1556
 msgid "HEAD detached at "
 msgstr ""
 
-#: wt-status.c:1545
+#: wt-status.c:1558
 msgid "HEAD detached from "
 msgstr ""
 
-#: wt-status.c:1548
+#: wt-status.c:1561
 msgid "Not currently on any branch."
 msgstr ""
 
-#: wt-status.c:1566
+#: wt-status.c:1579
 msgid "Initial commit"
 msgstr ""
 
-#: wt-status.c:1580
+#: wt-status.c:1593
 msgid "Untracked files"
 msgstr ""
 
-#: wt-status.c:1582
+#: wt-status.c:1595
 msgid "Ignored files"
 msgstr ""
 
-#: wt-status.c:1586
+#: wt-status.c:1599
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3876,97 +4126,93 @@ msgid ""
 "new files yourself (see 'git help status')."
 msgstr ""
 
-#: wt-status.c:1592
+#: wt-status.c:1605
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr ""
 
-#: wt-status.c:1594
+#: wt-status.c:1607
 msgid " (use -u option to show untracked files)"
 msgstr ""
 
-#: wt-status.c:1600
+#: wt-status.c:1613
 msgid "No changes"
 msgstr ""
 
-#: wt-status.c:1605
+#: wt-status.c:1618
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 
-#: wt-status.c:1608
+#: wt-status.c:1621
 #, c-format
 msgid "no changes added to commit\n"
 msgstr ""
 
-#: wt-status.c:1611
+#: wt-status.c:1624
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr ""
 
-#: wt-status.c:1614
+#: wt-status.c:1627
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 
-#: wt-status.c:1617
+#: wt-status.c:1630
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 
-#: wt-status.c:1620 wt-status.c:1625
+#: wt-status.c:1633 wt-status.c:1638
 #, c-format
 msgid "nothing to commit\n"
 msgstr ""
 
-#: wt-status.c:1623
+#: wt-status.c:1636
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 
-#: wt-status.c:1627
+#: wt-status.c:1640
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr ""
 
-#: wt-status.c:1734
+#: wt-status.c:1749
 msgid "Initial commit on "
 msgstr ""
 
-#: wt-status.c:1738
+#: wt-status.c:1753
 msgid "HEAD (no branch)"
 msgstr ""
 
-#: wt-status.c:1767
-msgid "gone"
-msgstr ""
-
-#: wt-status.c:1769 wt-status.c:1777
+#: wt-status.c:1782 wt-status.c:1790
 msgid "behind "
 msgstr ""
 
-#: wt-status.c:1772 wt-status.c:1775
+#: wt-status.c:1785 wt-status.c:1788
 msgid "ahead "
 msgstr ""
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2277
+#: wt-status.c:2280
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr ""
 
-#: wt-status.c:2283
+#: wt-status.c:2286
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 
-#: wt-status.c:2285
+#: wt-status.c:2288
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:414
+#: compat/precompose_utf8.c:57 builtin/clone.c:432
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr ""
@@ -3993,7 +4239,7 @@ msgstr ""
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 
-#: builtin/add.c:209 builtin/rev-parse.c:845
+#: builtin/add.c:209 builtin/rev-parse.c:872
 msgid "Could not read the index"
 msgstr ""
 
@@ -4028,9 +4274,9 @@ msgstr ""
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: 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:1326 builtin/rm.c:241 builtin/send-pack.c:162
+#: builtin/remote.c:1328 builtin/rm.c:241 builtin/send-pack.c:163
 msgid "dry run"
 msgstr ""
 
@@ -4038,7 +4284,7 @@ msgstr ""
 msgid "interactive picking"
 msgstr ""
 
-#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1177 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr ""
 
@@ -4078,11 +4324,11 @@ msgstr ""
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 
-#: builtin/add.c:283 builtin/update-index.c:947
+#: builtin/add.c:283 builtin/update-index.c:951
 msgid "(+/-)x"
 msgstr ""
 
-#: builtin/add.c:283 builtin/update-index.c:948
+#: builtin/add.c:283 builtin/update-index.c:952
 msgid "override the executable bit of the listed files"
 msgstr ""
 
@@ -4118,8 +4364,8 @@ msgstr ""
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr ""
 
-#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
-#: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
+#: builtin/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
 msgid "index file corrupt"
@@ -4173,7 +4419,7 @@ msgstr ""
 msgid "Patch format detection failed."
 msgstr ""
 
-#: builtin/am.c:989 builtin/clone.c:379
+#: builtin/am.c:989 builtin/clone.c:397
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr ""
@@ -4205,7 +4451,7 @@ msgstr ""
 msgid "Patch is empty. Was it split wrong?"
 msgstr ""
 
-#: builtin/am.c:1390 builtin/log.c:1550
+#: builtin/am.c:1390 builtin/log.c:1557
 #, c-format
 msgid "invalid ident line: %s"
 msgstr ""
@@ -4237,7 +4483,7 @@ msgstr ""
 msgid "Failed to merge in the changes."
 msgstr ""
 
-#: builtin/am.c:1686 builtin/merge.c:632
+#: builtin/am.c:1686 builtin/merge.c:631
 msgid "git write-tree failed to write a tree"
 msgstr ""
 
@@ -4393,15 +4639,15 @@ msgid "pass it through git-apply"
 msgstr ""
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: 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:644 builtin/show-ref.c:169 builtin/tag.c:355
+#: builtin/show-branch.c:637 builtin/show-ref.c:169 builtin/tag.c:398
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr ""
 
-#: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:387 builtin/verify-tag.c:38
+#: builtin/am.c:2289 builtin/branch.c:592 builtin/for-each-ref.c:37
+#: builtin/replace.c:442 builtin/tag.c:433 builtin/verify-tag.c:38
 msgid "format"
 msgstr ""
 
@@ -4437,8 +4683,8 @@ msgstr ""
 msgid "use current timestamp for author date"
 msgstr ""
 
-#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:232
+#: builtin/pull.c:165 builtin/revert.c:111 builtin/tag.c:413
 msgid "key-id"
 msgstr ""
 
@@ -4535,111 +4781,111 @@ msgstr ""
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr ""
 
-#: builtin/blame.c:1786
+#: builtin/blame.c:1777
 msgid "Blaming lines"
 msgstr ""
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2573
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2574
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2575
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2576
 msgid "Show work cost statistics"
 msgstr ""
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2577
 msgid "Force progress reporting"
 msgstr ""
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2578
 msgid "Show output score for blame entries"
 msgstr ""
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2579
 msgid "Show original filename (Default: auto)"
 msgstr ""
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2580
 msgid "Show original linenumber (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2581
 msgid "Show in a format designed for machine consumption"
 msgstr ""
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2582
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2583
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2593
+#: builtin/blame.c:2584
 msgid "Show raw timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2594
+#: builtin/blame.c:2585
 msgid "Show long commit SHA1 (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2595
+#: builtin/blame.c:2586
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2596
+#: builtin/blame.c:2587
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:2597
+#: builtin/blame.c:2588
 msgid "Ignore whitespace differences"
 msgstr ""
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2595
 msgid "Use an experimental heuristic to improve diffs"
 msgstr ""
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2597
 msgid "Spend extra cycles to find better match"
 msgstr ""
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2598
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 
-#: builtin/blame.c:2608
+#: builtin/blame.c:2599
 msgid "Use <file>'s contents as the final image"
 msgstr ""
 
-#: builtin/blame.c:2609 builtin/blame.c:2610
+#: builtin/blame.c:2600 builtin/blame.c:2601
 msgid "score"
 msgstr ""
 
-#: builtin/blame.c:2609
+#: builtin/blame.c:2600
 msgid "Find line copies within and across files"
 msgstr ""
 
-#: builtin/blame.c:2610
+#: builtin/blame.c:2601
 msgid "Find line movements within and across files"
 msgstr ""
 
-#: builtin/blame.c:2611
+#: builtin/blame.c:2602
 msgid "n,m"
 msgstr ""
 
-#: builtin/blame.c:2611
+#: builtin/blame.c:2602
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 
-#: builtin/blame.c:2658
+#: builtin/blame.c:2649
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 
@@ -4649,38 +4895,38 @@ msgstr ""
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2706
+#: builtin/blame.c:2697
 msgid "4 years, 11 months ago"
 msgstr ""
 
-#: builtin/blame.c:2786
+#: builtin/blame.c:2777
 msgid "--contents and --reverse do not blend well."
 msgstr ""
 
-#: builtin/blame.c:2806
+#: builtin/blame.c:2797
 msgid "cannot use --contents with final commit object name"
 msgstr ""
 
-#: builtin/blame.c:2811
+#: builtin/blame.c:2802
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 
-#: builtin/blame.c:2838
+#: builtin/blame.c:2829
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 
-#: builtin/blame.c:2849
+#: builtin/blame.c:2840
 #, c-format
 msgid "no such path %s in %s"
 msgstr ""
 
-#: builtin/blame.c:2860
+#: builtin/blame.c:2851
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr ""
 
-#: builtin/blame.c:2879
+#: builtin/blame.c:2870
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4707,189 +4953,121 @@ msgstr ""
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr ""
 
-#: builtin/branch.c:143
+#: builtin/branch.c:31
+msgid "git branch [<options>] [-r | -a] [--format]"
+msgstr ""
+
+#: builtin/branch.c:144
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 msgstr ""
 
-#: builtin/branch.c:147
+#: builtin/branch.c:148
 #, 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:161
+#: builtin/branch.c:162
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr ""
 
-#: builtin/branch.c:165
+#: builtin/branch.c:166
 #, 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:178
+#: builtin/branch.c:179
 msgid "Update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:206
+#: builtin/branch.c:210
 msgid "cannot use -a with -d"
 msgstr ""
 
-#: builtin/branch.c:212
+#: builtin/branch.c:216
 msgid "Couldn't look up commit object for HEAD"
 msgstr ""
 
-#: builtin/branch.c:226
+#: builtin/branch.c:230
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr ""
 
-#: builtin/branch.c:241
+#: builtin/branch.c:245
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:242
+#: builtin/branch.c:246
 #, c-format
 msgid "branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:257
+#: builtin/branch.c:261
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:258
+#: builtin/branch.c:262
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:265
+#: builtin/branch.c:269
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:266
+#: builtin/branch.c:270
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:312
-#, c-format
-msgid "[%s: gone]"
-msgstr ""
-
-#: builtin/branch.c:317
-#, c-format
-msgid "[%s]"
-msgstr ""
-
-#: builtin/branch.c:322
-#, c-format
-msgid "[%s: behind %d]"
-msgstr ""
-
-#: builtin/branch.c:324
-#, c-format
-msgid "[behind %d]"
-msgstr ""
-
-#: builtin/branch.c:328
-#, c-format
-msgid "[%s: ahead %d]"
-msgstr ""
-
-#: builtin/branch.c:330
-#, c-format
-msgid "[ahead %d]"
-msgstr ""
-
-#: builtin/branch.c:333
-#, c-format
-msgid "[%s: ahead %d, behind %d]"
-msgstr ""
-
-#: builtin/branch.c:336
-#, c-format
-msgid "[ahead %d, behind %d]"
-msgstr ""
-
-#: builtin/branch.c:349
-msgid " **** invalid ref ****"
-msgstr ""
-
-#: builtin/branch.c:375
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr ""
-
-#: builtin/branch.c:378
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr ""
-
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached at " in wt-status.c
-#: builtin/branch.c:384
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr ""
-
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached from " in wt-status.c
-#: builtin/branch.c:389
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr ""
-
-#: builtin/branch.c:393
-msgid "(no branch)"
-msgstr ""
-
-#: builtin/branch.c:535
+#: builtin/branch.c:441
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr ""
 
-#: builtin/branch.c:539
+#: builtin/branch.c:445
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr ""
 
-#: builtin/branch.c:554
+#: builtin/branch.c:460
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:564
+#: builtin/branch.c:470
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr ""
 
-#: builtin/branch.c:581
+#: builtin/branch.c:487
 msgid "Branch rename failed"
 msgstr ""
 
-#: builtin/branch.c:585
+#: builtin/branch.c:490
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr ""
 
-#: builtin/branch.c:588
+#: builtin/branch.c:493
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr ""
 
-#: builtin/branch.c:595
+#: builtin/branch.c:502
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:611
+#: builtin/branch.c:518
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -4897,211 +5075,220 @@ msgid ""
 "Lines starting with '%c' will be stripped.\n"
 msgstr ""
 
-#: builtin/branch.c:643
+#: builtin/branch.c:551
 msgid "Generic options"
 msgstr ""
 
-#: builtin/branch.c:645
+#: builtin/branch.c:553
 msgid "show hash and subject, give twice for upstream branch"
 msgstr ""
 
-#: builtin/branch.c:646
+#: builtin/branch.c:554
 msgid "suppress informational messages"
 msgstr ""
 
-#: builtin/branch.c:647
+#: builtin/branch.c:555
 msgid "set up tracking mode (see git-pull(1))"
 msgstr ""
 
-#: builtin/branch.c:649
+#: builtin/branch.c:557
 msgid "change upstream info"
 msgstr ""
 
-#: builtin/branch.c:651
+#: builtin/branch.c:559
 msgid "upstream"
 msgstr ""
 
-#: builtin/branch.c:651
+#: builtin/branch.c:559
 msgid "change the upstream info"
 msgstr ""
 
-#: builtin/branch.c:652
+#: builtin/branch.c:560
 msgid "Unset the upstream info"
 msgstr ""
 
-#: builtin/branch.c:653
+#: builtin/branch.c:561
 msgid "use colored output"
 msgstr ""
 
-#: builtin/branch.c:654
+#: builtin/branch.c:562
 msgid "act on remote-tracking branches"
 msgstr ""
 
-#: builtin/branch.c:656 builtin/branch.c:657
+#: builtin/branch.c:564 builtin/branch.c:566
 msgid "print only branches that contain the commit"
 msgstr ""
 
-#: builtin/branch.c:660
+#: builtin/branch.c:565 builtin/branch.c:567
+msgid "print only branches that don't contain the commit"
+msgstr ""
+
+#: builtin/branch.c:570
 msgid "Specific git-branch actions:"
 msgstr ""
 
-#: builtin/branch.c:661
+#: builtin/branch.c:571
 msgid "list both remote-tracking and local branches"
 msgstr ""
 
-#: builtin/branch.c:663
+#: builtin/branch.c:573
 msgid "delete fully merged branch"
 msgstr ""
 
-#: builtin/branch.c:664
+#: builtin/branch.c:574
 msgid "delete branch (even if not merged)"
 msgstr ""
 
-#: builtin/branch.c:665
+#: builtin/branch.c:575
 msgid "move/rename a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:666
+#: builtin/branch.c:576
 msgid "move/rename a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:667
+#: builtin/branch.c:577
 msgid "list branch names"
 msgstr ""
 
-#: builtin/branch.c:668
+#: builtin/branch.c:578
 msgid "create the branch's reflog"
 msgstr ""
 
-#: builtin/branch.c:670
+#: builtin/branch.c:580
 msgid "edit the description for the branch"
 msgstr ""
 
-#: builtin/branch.c:671
+#: builtin/branch.c:581
 msgid "force creation, move/rename, deletion"
 msgstr ""
 
-#: builtin/branch.c:672
+#: builtin/branch.c:582
 msgid "print only branches that are merged"
 msgstr ""
 
-#: builtin/branch.c:673
+#: builtin/branch.c:583
 msgid "print only branches that are not merged"
 msgstr ""
 
-#: builtin/branch.c:674
+#: builtin/branch.c:584
 msgid "list branches in columns"
 msgstr ""
 
-#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
+#: builtin/branch.c:585 builtin/for-each-ref.c:38 builtin/tag.c:426
 msgid "key"
 msgstr ""
 
-#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
+#: builtin/branch.c:586 builtin/for-each-ref.c:39 builtin/tag.c:427
 msgid "field name to sort on"
 msgstr ""
 
-#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: 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:384
+#: builtin/tag.c:429
 msgid "object"
 msgstr ""
 
-#: builtin/branch.c:679
+#: builtin/branch.c:589
 msgid "print only branches of the object"
 msgstr ""
 
-#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+#: builtin/branch.c:591 builtin/for-each-ref.c:47 builtin/tag.c:434
 msgid "sorting and filtering are case insensitive"
 msgstr ""
 
-#: builtin/branch.c:698
+#: builtin/branch.c:592 builtin/for-each-ref.c:37 builtin/tag.c:433
+#: builtin/verify-tag.c:38
+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:702 builtin/clone.c:706
+#: builtin/branch.c:615 builtin/clone.c:724
 msgid "HEAD not found below refs/heads!"
 msgstr ""
 
-#: builtin/branch.c:724
+#: builtin/branch.c:638
 msgid "--column and --verbose are incompatible"
 msgstr ""
 
-#: builtin/branch.c:735 builtin/branch.c:787
+#: builtin/branch.c:649 builtin/branch.c:701
 msgid "branch name required"
 msgstr ""
 
-#: builtin/branch.c:763
+#: builtin/branch.c:677
 msgid "Cannot give description to detached HEAD"
 msgstr ""
 
-#: builtin/branch.c:768
+#: builtin/branch.c:682
 msgid "cannot edit description of more than one branch"
 msgstr ""
 
-#: builtin/branch.c:775
+#: builtin/branch.c:689
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr ""
 
-#: builtin/branch.c:778
+#: builtin/branch.c:692
 #, c-format
 msgid "No branch named '%s'."
 msgstr ""
 
-#: builtin/branch.c:793
+#: builtin/branch.c:707
 msgid "too many branches for a rename operation"
 msgstr ""
 
-#: builtin/branch.c:798
+#: builtin/branch.c:712
 msgid "too many branches to set new upstream"
 msgstr ""
 
-#: builtin/branch.c:802
+#: builtin/branch.c:716
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
+#: builtin/branch.c:719 builtin/branch.c:741 builtin/branch.c:762
 #, c-format
 msgid "no such branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:809
+#: builtin/branch.c:723
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr ""
 
-#: builtin/branch.c:821
+#: builtin/branch.c:735
 msgid "too many branches to unset upstream"
 msgstr ""
 
-#: builtin/branch.c:825
+#: builtin/branch.c:739
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:831
+#: builtin/branch.c:745
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr ""
 
-#: builtin/branch.c:845
+#: builtin/branch.c:759
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr ""
 
-#: builtin/branch.c:851
+#: builtin/branch.c:765
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 
-#: builtin/branch.c:854
+#: 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:871
+#: builtin/branch.c:785
 #, c-format
 msgid ""
 "\n"
@@ -5109,16 +5296,16 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/bundle.c:51
+#: builtin/bundle.c:45
 #, c-format
 msgid "%s is okay\n"
 msgstr ""
 
-#: builtin/bundle.c:64
+#: builtin/bundle.c:58
 msgid "Need a repository to create a bundle."
 msgstr ""
 
-#: builtin/bundle.c:68
+#: builtin/bundle.c:62
 msgid "Need a repository to unbundle."
 msgstr ""
 
@@ -5162,7 +5349,7 @@ msgstr ""
 msgid "for blob objects, run filters on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:561 git-submodule.sh:929
+#: builtin/cat-file.c:561 git-submodule.sh:943
 msgid "blob"
 msgstr ""
 
@@ -5218,7 +5405,7 @@ msgstr ""
 msgid "terminate input and output records by a NUL character"
 msgstr ""
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
+#: builtin/check-ignore.c:18 builtin/checkout.c:1158 builtin/gc.c:352
 msgid "suppress progress reporting"
 msgstr ""
 
@@ -5308,9 +5495,9 @@ msgid "write the content to temporary files"
 msgstr ""
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
-#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
-#: builtin/worktree.c:471
+#: builtin/submodule--helper.c:635 builtin/submodule--helper.c:638
+#: builtin/submodule--helper.c:644 builtin/submodule--helper.c:980
+#: builtin/worktree.c:472
 msgid "string"
 msgstr ""
 
@@ -5322,113 +5509,113 @@ msgstr ""
 msgid "copy out the files from named stage"
 msgstr ""
 
-#: builtin/checkout.c:25
+#: builtin/checkout.c:27
 msgid "git checkout [<options>] <branch>"
 msgstr ""
 
-#: builtin/checkout.c:26
+#: builtin/checkout.c:28
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr ""
 
-#: builtin/checkout.c:134 builtin/checkout.c:167
+#: builtin/checkout.c:153 builtin/checkout.c:186
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr ""
 
-#: builtin/checkout.c:136 builtin/checkout.c:169
+#: builtin/checkout.c:155 builtin/checkout.c:188
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr ""
 
-#: builtin/checkout.c:152
+#: builtin/checkout.c:171
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:196
+#: builtin/checkout.c:215
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:213
+#: builtin/checkout.c:232
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr ""
 
-#: builtin/checkout.c:230
+#: builtin/checkout.c:249
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr ""
 
-#: builtin/checkout.c:250 builtin/checkout.c:253 builtin/checkout.c:256
-#: builtin/checkout.c:259
+#: builtin/checkout.c:269 builtin/checkout.c:272 builtin/checkout.c:275
+#: builtin/checkout.c:278
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr ""
 
-#: builtin/checkout.c:262 builtin/checkout.c:265
+#: builtin/checkout.c:281 builtin/checkout.c:284
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr ""
 
-#: builtin/checkout.c:268
+#: builtin/checkout.c:287
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 
-#: builtin/checkout.c:339 builtin/checkout.c:346
+#: builtin/checkout.c:358 builtin/checkout.c:365
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr ""
 
-#: builtin/checkout.c:494
+#: builtin/checkout.c:513
 msgid "you need to resolve your current index first"
 msgstr ""
 
-#: builtin/checkout.c:625
+#: builtin/checkout.c:644
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr ""
 
-#: builtin/checkout.c:666
+#: builtin/checkout.c:685
 msgid "HEAD is now at"
 msgstr ""
 
-#: builtin/checkout.c:670 builtin/clone.c:660
+#: builtin/checkout.c:689 builtin/clone.c:678
 msgid "unable to update HEAD"
 msgstr ""
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:693
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:677
+#: builtin/checkout.c:696
 #, c-format
 msgid "Already on '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:681
+#: builtin/checkout.c:700
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:683 builtin/checkout.c:1072
+#: builtin/checkout.c:702 builtin/checkout.c:1090
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:685
+#: builtin/checkout.c:704
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:736
+#: builtin/checkout.c:755
 #, c-format
 msgid " ... and %d more.\n"
 msgstr ""
 
-#: builtin/checkout.c:742
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5443,7 +5630,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:761
+#: builtin/checkout.c:780
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5460,162 +5647,162 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:797
+#: builtin/checkout.c:816
 msgid "internal error in revision walk"
 msgstr ""
 
-#: builtin/checkout.c:801
+#: builtin/checkout.c:820
 msgid "Previous HEAD position was"
 msgstr ""
 
-#: builtin/checkout.c:828 builtin/checkout.c:1067
+#: builtin/checkout.c:847 builtin/checkout.c:1085
 msgid "You are on a branch yet to be born"
 msgstr ""
 
-#: builtin/checkout.c:973
+#: builtin/checkout.c:991
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr ""
 
-#: builtin/checkout.c:1013 builtin/worktree.c:214
+#: builtin/checkout.c:1031 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr ""
 
-#: builtin/checkout.c:1042
+#: builtin/checkout.c:1060
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr ""
 
-#: builtin/checkout.c:1081
+#: builtin/checkout.c:1099
 msgid "paths cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1084 builtin/checkout.c:1088
+#: builtin/checkout.c:1102 builtin/checkout.c:1106
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
-#: builtin/checkout.c:1103
+#: builtin/checkout.c:1110 builtin/checkout.c:1113 builtin/checkout.c:1118
+#: builtin/checkout.c:1121
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1108
+#: builtin/checkout.c:1126
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
-#: builtin/worktree.c:326
+#: builtin/checkout.c:1159 builtin/checkout.c:1161 builtin/clone.c:111
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:325
+#: builtin/worktree.c:327
 msgid "branch"
 msgstr ""
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1160
 msgid "create and checkout a new branch"
 msgstr ""
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1162
 msgid "create/reset and checkout a branch"
 msgstr ""
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1163
 msgid "create reflog for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1146 builtin/worktree.c:328
+#: builtin/checkout.c:1164 builtin/worktree.c:329
 msgid "detach HEAD at named commit"
 msgstr ""
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1165
 msgid "set upstream info for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1167
 msgid "new-branch"
 msgstr ""
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1167
 msgid "new unparented branch"
 msgstr ""
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1168
 msgid "checkout our version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1170
 msgid "checkout their version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1154
+#: builtin/checkout.c:1172
 msgid "force checkout (throw away local modifications)"
 msgstr ""
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1173
 msgid "perform a 3-way merge with the new branch"
 msgstr ""
 
-#: builtin/checkout.c:1156 builtin/merge.c:235
+#: builtin/checkout.c:1174 builtin/merge.c:234
 msgid "update ignored files (default)"
 msgstr ""
 
-#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1175 builtin/log.c:1473 parse-options.h:251
 msgid "style"
 msgstr ""
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1176
 msgid "conflict style (merge or diff3)"
 msgstr ""
 
-#: builtin/checkout.c:1161
+#: builtin/checkout.c:1179
 msgid "do not limit pathspecs to sparse entries only"
 msgstr ""
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1181
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr ""
 
-#: builtin/checkout.c:1165
+#: builtin/checkout.c:1183
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 
-#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
-#: builtin/send-pack.c:168
+#: 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
 msgid "force progress reporting"
 msgstr ""
 
-#: builtin/checkout.c:1197
+#: builtin/checkout.c:1224
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1214
+#: builtin/checkout.c:1241
 msgid "--track needs a branch name"
 msgstr ""
 
-#: builtin/checkout.c:1219
+#: builtin/checkout.c:1246
 msgid "Missing branch name; try -b"
 msgstr ""
 
-#: builtin/checkout.c:1255
+#: builtin/checkout.c:1282
 msgid "invalid path specification"
 msgstr ""
 
-#: builtin/checkout.c:1262
+#: builtin/checkout.c:1289
 #, 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?"
 msgstr ""
 
-#: builtin/checkout.c:1267
+#: builtin/checkout.c:1294
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1271
+#: builtin/checkout.c:1298
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5651,7 +5838,7 @@ msgstr ""
 msgid "failed to remove %s"
 msgstr ""
 
-#: builtin/clean.c:291 git-add--interactive.perl:623
+#: builtin/clean.c:297 git-add--interactive.perl:614
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -5660,7 +5847,7 @@ msgid ""
 "           - (empty) select nothing\n"
 msgstr ""
 
-#: builtin/clean.c:295 git-add--interactive.perl:632
+#: builtin/clean.c:301 git-add--interactive.perl:623
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -5673,38 +5860,38 @@ msgid ""
 "           - (empty) finish selecting\n"
 msgstr ""
 
-#: builtin/clean.c:511 git-add--interactive.perl:598
-#: git-add--interactive.perl:603
+#: builtin/clean.c:517 git-add--interactive.perl:589
+#: git-add--interactive.perl:594
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr ""
 
-#: builtin/clean.c:653
+#: builtin/clean.c:659
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr ""
 
-#: builtin/clean.c:690
+#: builtin/clean.c:696
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr ""
 
-#: builtin/clean.c:711
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr ""
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:752
+#: builtin/clean.c:758
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr ""
 
-#: builtin/clean.c:777 git-add--interactive.perl:1669
+#: builtin/clean.c:783 git-add--interactive.perl:1660
 #, c-format
 msgid "Bye.\n"
 msgstr ""
 
-#: builtin/clean.c:785
+#: builtin/clean.c:791
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -5715,68 +5902,69 @@ msgid ""
 "?                   - help for prompt selection"
 msgstr ""
 
-#: builtin/clean.c:812 git-add--interactive.perl:1745
+#: builtin/clean.c:818 git-add--interactive.perl:1736
 msgid "*** Commands ***"
 msgstr ""
 
-#: builtin/clean.c:813 git-add--interactive.perl:1742
+#: builtin/clean.c:819 git-add--interactive.perl:1733
 msgid "What now"
 msgstr ""
 
-#: builtin/clean.c:821
+#: builtin/clean.c:827
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/clean.c:838
+#: builtin/clean.c:844
 msgid "No more files to clean, exiting."
 msgstr ""
 
-#: builtin/clean.c:869
+#: builtin/clean.c:875
 msgid "do not print names of files removed"
 msgstr ""
 
-#: builtin/clean.c:871
+#: builtin/clean.c:877
 msgid "force"
 msgstr ""
 
-#: builtin/clean.c:872
+#: builtin/clean.c:878
 msgid "interactive cleaning"
 msgstr ""
 
-#: builtin/clean.c:874
+#: builtin/clean.c:880
 msgid "remove whole directories"
 msgstr ""
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
-#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
+#: builtin/clean.c:881 builtin/describe.c:449 builtin/describe.c:451
+#: builtin/grep.c:1063 builtin/ls-files.c:539 builtin/name-rev.c:348
+#: builtin/name-rev.c:350 builtin/show-ref.c:176
 msgid "pattern"
 msgstr ""
 
-#: builtin/clean.c:876
+#: builtin/clean.c:882
 msgid "add <pattern> to ignore rules"
 msgstr ""
 
-#: builtin/clean.c:877
+#: builtin/clean.c:883
 msgid "remove ignored files, too"
 msgstr ""
 
-#: builtin/clean.c:879
+#: builtin/clean.c:885
 msgid "remove only ignored files"
 msgstr ""
 
-#: builtin/clean.c:897
+#: builtin/clean.c:903
 msgid "-x and -X cannot be used together"
 msgstr ""
 
-#: builtin/clean.c:901
+#: builtin/clean.c:907
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 
-#: builtin/clean.c:904
+#: builtin/clean.c:910
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -5786,307 +5974,310 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr ""
 
-#: builtin/clone.c:65
+#: builtin/clone.c:80
 msgid "don't create a checkout"
 msgstr ""
 
-#: builtin/clone.c:66 builtin/clone.c:68 builtin/init-db.c:478
+#: builtin/clone.c:81 builtin/clone.c:83 builtin/init-db.c:478
 msgid "create a bare repository"
 msgstr ""
 
-#: builtin/clone.c:70
+#: builtin/clone.c:85
 msgid "create a mirror repository (implies bare)"
 msgstr ""
 
-#: builtin/clone.c:72
+#: builtin/clone.c:87
 msgid "to clone from a local repository"
 msgstr ""
 
-#: builtin/clone.c:74
+#: builtin/clone.c:89
 msgid "don't use local hardlinks, always copy"
 msgstr ""
 
-#: builtin/clone.c:76
+#: builtin/clone.c:91
 msgid "setup as shared repository"
 msgstr ""
 
-#: builtin/clone.c:78 builtin/clone.c:80
+#: builtin/clone.c:93 builtin/clone.c:97
+msgid "pathspec"
+msgstr ""
+
+#: builtin/clone.c:93 builtin/clone.c:97
 msgid "initialize submodules in the clone"
 msgstr ""
 
-#: builtin/clone.c:82
+#: builtin/clone.c:100
 msgid "number of submodules cloned in parallel"
 msgstr ""
 
-#: builtin/clone.c:83 builtin/init-db.c:475
+#: builtin/clone.c:101 builtin/init-db.c:475
 msgid "template-directory"
 msgstr ""
 
-#: builtin/clone.c:84 builtin/init-db.c:476
+#: builtin/clone.c:102 builtin/init-db.c:476
 msgid "directory from which templates will be used"
 msgstr ""
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
-#: builtin/submodule--helper.c:970
+#: builtin/clone.c:104 builtin/clone.c:106 builtin/submodule--helper.c:642
+#: builtin/submodule--helper.c:983
 msgid "reference repository"
 msgstr ""
 
-#: builtin/clone.c:90
+#: builtin/clone.c:108
 msgid "use --reference only while cloning"
 msgstr ""
 
-#: builtin/clone.c:91 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:109 builtin/column.c:26 builtin/merge-file.c:43
 msgid "name"
 msgstr ""
 
-#: builtin/clone.c:92
+#: builtin/clone.c:110
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr ""
 
-#: builtin/clone.c:94
+#: builtin/clone.c:112
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr ""
 
-#: builtin/clone.c:96
+#: builtin/clone.c:114
 msgid "path to git-upload-pack on the remote"
 msgstr ""
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999
+#: builtin/clone.c:115 builtin/fetch.c:120 builtin/grep.c:1006
 #: builtin/pull.c:202
 msgid "depth"
 msgstr ""
 
-#: builtin/clone.c:98
+#: builtin/clone.c:116
 msgid "create a shallow clone of that depth"
 msgstr ""
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
+#: builtin/clone.c:117 builtin/fetch.c:122 builtin/pack-objects.c:2918
 #: parse-options.h:142
 msgid "time"
 msgstr ""
 
-#: builtin/clone.c:100
+#: builtin/clone.c:118
 msgid "create a shallow clone since a specific time"
 msgstr ""
 
-#: builtin/clone.c:101 builtin/fetch.c:124
+#: builtin/clone.c:119 builtin/fetch.c:124
 msgid "revision"
 msgstr ""
 
-#: builtin/clone.c:102 builtin/fetch.c:125
+#: builtin/clone.c:120 builtin/fetch.c:125
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 
-#: builtin/clone.c:104
+#: builtin/clone.c:122
 msgid "clone only one branch, HEAD or --branch"
 msgstr ""
 
-#: builtin/clone.c:106
+#: builtin/clone.c:124
 msgid "any cloned submodules will be shallow"
 msgstr ""
 
-#: builtin/clone.c:107 builtin/init-db.c:484
+#: builtin/clone.c:125 builtin/init-db.c:484
 msgid "gitdir"
 msgstr ""
 
-#: builtin/clone.c:108 builtin/init-db.c:485
+#: builtin/clone.c:126 builtin/init-db.c:485
 msgid "separate git dir from working tree"
 msgstr ""
 
-#: builtin/clone.c:109
+#: builtin/clone.c:127
 msgid "key=value"
 msgstr ""
 
-#: builtin/clone.c:110
+#: builtin/clone.c:128
 msgid "set config inside the new repository"
 msgstr ""
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
+#: builtin/clone.c:129 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr ""
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
+#: builtin/clone.c:131 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr ""
 
-#: builtin/clone.c:250
+#: builtin/clone.c:268
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
 msgstr ""
 
-#: builtin/clone.c:303
+#: builtin/clone.c:321
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr ""
 
-#: builtin/clone.c:375
+#: builtin/clone.c:393
 #, c-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: builtin/clone.c:383
+#: builtin/clone.c:401
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr ""
 
-#: builtin/clone.c:397
+#: builtin/clone.c:415
 #, c-format
 msgid "failed to stat %s\n"
 msgstr ""
 
-#: builtin/clone.c:419
+#: builtin/clone.c:437
 #, c-format
 msgid "failed to create link '%s'"
 msgstr ""
 
-#: builtin/clone.c:423
+#: builtin/clone.c:441
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr ""
 
-#: builtin/clone.c:448
+#: builtin/clone.c:466
 #, c-format
 msgid "done.\n"
 msgstr ""
 
-#: builtin/clone.c:460
+#: builtin/clone.c:478
 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:537
+#: builtin/clone.c:555
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr ""
 
-#: builtin/clone.c:632
+#: builtin/clone.c:650
 msgid "remote did not send all necessary objects"
 msgstr ""
 
-#: builtin/clone.c:648
+#: builtin/clone.c:666
 #, c-format
 msgid "unable to update %s"
 msgstr ""
 
-#: builtin/clone.c:697
+#: builtin/clone.c:715
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 
-#: builtin/clone.c:728
+#: builtin/clone.c:746
 msgid "unable to checkout working tree"
 msgstr ""
 
-#: builtin/clone.c:768
+#: builtin/clone.c:786
 msgid "unable to write parameters to config file"
 msgstr ""
 
-#: builtin/clone.c:831
+#: builtin/clone.c:849
 msgid "cannot repack to clean up"
 msgstr ""
 
-#: builtin/clone.c:833
+#: builtin/clone.c:851
 msgid "cannot unlink temporary alternates file"
 msgstr ""
 
-#: builtin/clone.c:866 builtin/receive-pack.c:1895
+#: builtin/clone.c:884 builtin/receive-pack.c:1901
 msgid "Too many arguments."
 msgstr ""
 
-#: builtin/clone.c:870
+#: builtin/clone.c:888
 msgid "You must specify a repository to clone."
 msgstr ""
 
-#: builtin/clone.c:883
+#: builtin/clone.c:901
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr ""
 
-#: builtin/clone.c:886
+#: builtin/clone.c:904
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr ""
 
-#: builtin/clone.c:899
+#: builtin/clone.c:917
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr ""
 
-#: builtin/clone.c:905 builtin/fetch.c:1335
+#: builtin/clone.c:923 builtin/fetch.c:1337
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr ""
 
-#: builtin/clone.c:915
+#: builtin/clone.c:933
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 
-#: builtin/clone.c:925
+#: builtin/clone.c:943
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr ""
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
-#: builtin/submodule--helper.c:659 builtin/worktree.c:222
-#: builtin/worktree.c:249
+#: builtin/clone.c:958 builtin/clone.c:969 builtin/difftool.c:252
+#: builtin/worktree.c:222 builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr ""
 
-#: builtin/clone.c:943
+#: builtin/clone.c:961
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr ""
 
-#: builtin/clone.c:955
+#: builtin/clone.c:973
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:957
+#: builtin/clone.c:975
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:963
+#: builtin/clone.c:999
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr ""
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1055
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1021
+#: builtin/clone.c:1057
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1023
+#: builtin/clone.c:1059
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1026
+#: builtin/clone.c:1062
 msgid "source repository is shallow, ignoring --local"
 msgstr ""
 
-#: builtin/clone.c:1031
+#: builtin/clone.c:1067
 msgid "--local is ignored"
 msgstr ""
 
-#: builtin/clone.c:1035
+#: builtin/clone.c:1071
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr ""
 
-#: builtin/clone.c:1090 builtin/clone.c:1098
+#: builtin/clone.c:1126 builtin/clone.c:1134
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr ""
 
-#: builtin/clone.c:1101
+#: builtin/clone.c:1137
 msgid "You appear to have cloned an empty repository."
 msgstr ""
 
@@ -6243,11 +6434,6 @@ msgstr ""
 msgid "malformed --author parameter"
 msgstr ""
 
-#: builtin/commit.c:611
-#, c-format
-msgid "invalid date format: %s"
-msgstr ""
-
 #: builtin/commit.c:655
 msgid ""
 "unable to select a comment character that is not used\n"
@@ -6259,7 +6445,7 @@ msgstr ""
 msgid "could not lookup commit %s"
 msgstr ""
 
-#: builtin/commit.c:704 builtin/shortlog.c:295
+#: builtin/commit.c:704 builtin/shortlog.c:294
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr ""
@@ -6343,7 +6529,7 @@ msgstr ""
 msgid "Error building trees"
 msgstr ""
 
-#: builtin/commit.c:968 builtin/tag.c:280
+#: builtin/commit.c:968 builtin/tag.c:273
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr ""
@@ -6406,7 +6592,7 @@ msgstr ""
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
 
-#: builtin/commit.c:1224 builtin/tag.c:495
+#: builtin/commit.c:1224 builtin/tag.c:551
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr ""
@@ -6428,7 +6614,7 @@ msgid "version"
 msgstr ""
 
 #: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
-#: builtin/worktree.c:442
+#: builtin/worktree.c:443
 msgid "machine-readable output"
 msgstr ""
 
@@ -6441,7 +6627,7 @@ 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:368
+#: builtin/fast-export.c:984 builtin/tag.c:411
 msgid "mode"
 msgstr ""
 
@@ -6495,7 +6681,7 @@ msgstr ""
 msgid "Commit message options"
 msgstr ""
 
-#: builtin/commit.c:1586 builtin/tag.c:366
+#: builtin/commit.c:1586 builtin/tag.c:409
 msgid "read message from file"
 msgstr ""
 
@@ -6507,7 +6693,7 @@ msgstr ""
 msgid "override author for commit"
 msgstr ""
 
-#: builtin/commit.c:1588 builtin/gc.c:333
+#: builtin/commit.c:1588 builtin/gc.c:353
 msgid "date"
 msgstr ""
 
@@ -6515,8 +6701,8 @@ msgstr ""
 msgid "override date for commit"
 msgstr ""
 
-#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:364
+#: builtin/commit.c:1589 builtin/merge.c:221 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:407
 msgid "message"
 msgstr ""
 
@@ -6525,7 +6711,7 @@ 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:81
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:77
 msgid "commit"
 msgstr ""
 
@@ -6549,7 +6735,7 @@ msgstr ""
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 
-#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1420 builtin/revert.c:104
 msgid "add Signed-off-by:"
 msgstr ""
 
@@ -6565,7 +6751,7 @@ msgstr ""
 msgid "default"
 msgstr ""
 
-#: builtin/commit.c:1598 builtin/tag.c:369
+#: builtin/commit.c:1598 builtin/tag.c:412
 msgid "how to strip spaces and #comments from message"
 msgstr ""
 
@@ -6573,8 +6759,8 @@ msgstr ""
 msgid "include status in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
-#: builtin/revert.c:93
+#: builtin/commit.c:1601 builtin/merge.c:233 builtin/pull.c:166
+#: builtin/revert.c:112
 msgid "GPG sign commit"
 msgstr ""
 
@@ -6807,12 +6993,12 @@ msgid ""
 "#\temail = %s\n"
 msgstr ""
 
-#: builtin/config.c:613
+#: builtin/config.c:611
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr ""
 
-#: builtin/config.c:625
+#: builtin/config.c:623
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -6827,140 +7013,164 @@ msgstr ""
 msgid "print sizes in human readable format"
 msgstr ""
 
-#: builtin/describe.c:17
+#: builtin/describe.c:18
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr ""
 
-#: builtin/describe.c:18
+#: builtin/describe.c:19
 msgid "git describe [<options>] --dirty"
 msgstr ""
 
-#: builtin/describe.c:217
+#: builtin/describe.c:53
+msgid "head"
+msgstr ""
+
+#: builtin/describe.c:53
+msgid "lightweight"
+msgstr ""
+
+#: builtin/describe.c:53
+msgid "annotated"
+msgstr ""
+
+#: builtin/describe.c:250
 #, c-format
 msgid "annotated tag %s not available"
 msgstr ""
 
-#: builtin/describe.c:221
+#: builtin/describe.c:254
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr ""
 
-#: builtin/describe.c:223
+#: builtin/describe.c:256
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr ""
 
-#: builtin/describe.c:250 builtin/log.c:480
+#: builtin/describe.c:283 builtin/log.c:487
 #, c-format
 msgid "Not a valid object name %s"
 msgstr ""
 
-#: builtin/describe.c:253
+#: builtin/describe.c:286
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr ""
 
-#: builtin/describe.c:270
+#: builtin/describe.c:303
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr ""
 
-#: builtin/describe.c:272
+#: builtin/describe.c:305
 #, c-format
 msgid "searching to describe %s\n"
 msgstr ""
 
-#: builtin/describe.c:319
+#: builtin/describe.c:352
 #, c-format
 msgid "finished search at %s\n"
 msgstr ""
 
-#: builtin/describe.c:346
+#: builtin/describe.c:379
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr ""
 
-#: builtin/describe.c:350
+#: builtin/describe.c:383
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr ""
 
-#: builtin/describe.c:371
+#: builtin/describe.c:413
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr ""
 
-#: builtin/describe.c:374
+#: builtin/describe.c:416
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
 "gave up search at %s\n"
 msgstr ""
 
-#: builtin/describe.c:396
+#: builtin/describe.c:438
 msgid "find the tag that comes after the commit"
 msgstr ""
 
-#: builtin/describe.c:397
+#: builtin/describe.c:439
 msgid "debug search strategy on stderr"
 msgstr ""
 
-#: builtin/describe.c:398
+#: builtin/describe.c:440
 msgid "use any ref"
 msgstr ""
 
-#: builtin/describe.c:399
+#: builtin/describe.c:441
 msgid "use any tag, even unannotated"
 msgstr ""
 
-#: builtin/describe.c:400
+#: builtin/describe.c:442
 msgid "always use long format"
 msgstr ""
 
-#: builtin/describe.c:401
+#: builtin/describe.c:443
 msgid "only follow first parent"
 msgstr ""
 
-#: builtin/describe.c:404
+#: builtin/describe.c:446
 msgid "only output exact matches"
 msgstr ""
 
-#: builtin/describe.c:406
+#: builtin/describe.c:448
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 
-#: builtin/describe.c:408
+#: builtin/describe.c:450
 msgid "only consider tags matching <pattern>"
 msgstr ""
 
-#: builtin/describe.c:410 builtin/name-rev.c:320
+#: builtin/describe.c:452
+msgid "do not consider tags matching <pattern>"
+msgstr ""
+
+#: builtin/describe.c:454 builtin/name-rev.c:357
 msgid "show abbreviated commit object as fallback"
 msgstr ""
 
-#: builtin/describe.c:411
+#: builtin/describe.c:455 builtin/describe.c:458
 msgid "mark"
 msgstr ""
 
-#: builtin/describe.c:412
+#: builtin/describe.c:456
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr ""
 
-#: builtin/describe.c:430
+#: builtin/describe.c:459
+msgid "append <mark> on broken working tree (default: \"-broken\")"
+msgstr ""
+
+#: builtin/describe.c:477
 msgid "--long is incompatible with --abbrev=0"
 msgstr ""
 
-#: builtin/describe.c:456
+#: builtin/describe.c:506
 msgid "No names found, cannot describe anything."
 msgstr ""
 
-#: builtin/describe.c:476
+#: builtin/describe.c:549
 msgid "--dirty is incompatible with commit-ishes"
 msgstr ""
 
+#: builtin/describe.c:551
+msgid "--broken is incompatible with commit-ishes"
+msgstr ""
+
 #: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
@@ -6999,77 +7209,92 @@ msgstr ""
 msgid "failed: %d"
 msgstr ""
 
-#: builtin/difftool.c:342
+#: builtin/difftool.c:283
+#, c-format
+msgid "could not read symlink %s"
+msgstr ""
+
+#: builtin/difftool.c:285
+#, c-format
+msgid "could not read symlink file %s"
+msgstr ""
+
+#: builtin/difftool.c:293
+#, c-format
+msgid "could not read object %s for symlink %s"
+msgstr ""
+
+#: builtin/difftool.c:395
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
 msgstr ""
 
-#: builtin/difftool.c:567
+#: builtin/difftool.c:609
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr ""
 
-#: builtin/difftool.c:569
+#: builtin/difftool.c:611
 msgid "working tree file has been left."
 msgstr ""
 
-#: builtin/difftool.c:580
+#: builtin/difftool.c:622
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr ""
 
-#: builtin/difftool.c:581
+#: builtin/difftool.c:623
 msgid "you may want to cleanup or recover these."
 msgstr ""
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:669
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr ""
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:671
 msgid "perform a full-directory diff"
 msgstr ""
 
-#: builtin/difftool.c:630
+#: builtin/difftool.c:673
 msgid "do not prompt before launching a diff tool"
 msgstr ""
 
-#: builtin/difftool.c:636
+#: builtin/difftool.c:679
 msgid "use symlinks in dir-diff mode"
 msgstr ""
 
-#: builtin/difftool.c:637
+#: builtin/difftool.c:680
 msgid "<tool>"
 msgstr ""
 
-#: builtin/difftool.c:638
+#: builtin/difftool.c:681
 msgid "use the specified diff tool"
 msgstr ""
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:683
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr ""
 
-#: builtin/difftool.c:643
+#: builtin/difftool.c:686
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr ""
 
-#: builtin/difftool.c:645
+#: builtin/difftool.c:688
 msgid "<command>"
 msgstr ""
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:689
 msgid "specify a custom command for viewing diffs"
 msgstr ""
 
-#: builtin/difftool.c:670
+#: builtin/difftool.c:713
 msgid "no <tool> given for --tool=<tool>"
 msgstr ""
 
-#: builtin/difftool.c:677
+#: builtin/difftool.c:720
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr ""
 
@@ -7205,7 +7430,7 @@ msgstr ""
 msgid "convert to a complete repository"
 msgstr ""
 
-#: builtin/fetch.c:131 builtin/log.c:1433
+#: builtin/fetch.c:131 builtin/log.c:1440
 msgid "dir"
 msgstr ""
 
@@ -7233,167 +7458,167 @@ msgstr ""
 msgid "Couldn't find remote ref HEAD"
 msgstr ""
 
-#: builtin/fetch.c:511
+#: builtin/fetch.c:513
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 
-#: builtin/fetch.c:604
+#: builtin/fetch.c:606
 #, c-format
 msgid "object %s not found"
 msgstr ""
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:610
 msgid "[up to date]"
 msgstr ""
 
-#: builtin/fetch.c:621 builtin/fetch.c:701
+#: builtin/fetch.c:623 builtin/fetch.c:703
 msgid "[rejected]"
 msgstr ""
 
-#: builtin/fetch.c:622
+#: builtin/fetch.c:624
 msgid "can't fetch in current branch"
 msgstr ""
 
-#: builtin/fetch.c:631
+#: builtin/fetch.c:633
 msgid "[tag update]"
 msgstr ""
 
-#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
-#: builtin/fetch.c:696
+#: builtin/fetch.c:634 builtin/fetch.c:667 builtin/fetch.c:683
+#: builtin/fetch.c:698
 msgid "unable to update local ref"
 msgstr ""
 
-#: builtin/fetch.c:651
+#: builtin/fetch.c:653
 msgid "[new tag]"
 msgstr ""
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:656
 msgid "[new branch]"
 msgstr ""
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:659
 msgid "[new ref]"
 msgstr ""
 
-#: builtin/fetch.c:696
+#: builtin/fetch.c:698
 msgid "forced update"
 msgstr ""
 
-#: builtin/fetch.c:701
+#: builtin/fetch.c:703
 msgid "non-fast-forward"
 msgstr ""
 
-#: builtin/fetch.c:746
+#: builtin/fetch.c:748
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr ""
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:768
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 
-#: builtin/fetch.c:853 builtin/fetch.c:949
+#: builtin/fetch.c:855 builtin/fetch.c:951
 #, c-format
 msgid "From %.*s\n"
 msgstr ""
 
-#: builtin/fetch.c:864
+#: builtin/fetch.c:866
 #, 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:919
+#: builtin/fetch.c:921
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:920
+#: builtin/fetch.c:922
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:952
+#: builtin/fetch.c:954
 msgid "[deleted]"
 msgstr ""
 
-#: builtin/fetch.c:953 builtin/remote.c:1020
+#: builtin/fetch.c:955 builtin/remote.c:1022
 msgid "(none)"
 msgstr ""
 
-#: builtin/fetch.c:976
+#: builtin/fetch.c:978
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 
-#: builtin/fetch.c:995
+#: builtin/fetch.c:997
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr ""
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:1000
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1074
+#: builtin/fetch.c:1076
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr ""
 
-#: builtin/fetch.c:1234
+#: builtin/fetch.c:1236
 #, c-format
 msgid "Fetching %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1236 builtin/remote.c:96
+#: builtin/fetch.c:1238 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr ""
 
-#: builtin/fetch.c:1254
+#: builtin/fetch.c:1256
 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:1277
+#: builtin/fetch.c:1279
 msgid "You need to specify a tag name."
 msgstr ""
 
-#: builtin/fetch.c:1319
+#: builtin/fetch.c:1321
 msgid "Negative depth in --deepen is not supported"
 msgstr ""
 
-#: builtin/fetch.c:1321
+#: builtin/fetch.c:1323
 msgid "--deepen and --depth are mutually exclusive"
 msgstr ""
 
-#: builtin/fetch.c:1326
+#: builtin/fetch.c:1328
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 
-#: builtin/fetch.c:1328
+#: builtin/fetch.c:1330
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1350
+#: builtin/fetch.c:1352
 msgid "fetch --all does not take a repository argument"
 msgstr ""
 
-#: builtin/fetch.c:1352
+#: builtin/fetch.c:1354
 msgid "fetch --all does not make sense with refspecs"
 msgstr ""
 
-#: builtin/fetch.c:1363
+#: builtin/fetch.c:1365
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr ""
 
-#: builtin/fetch.c:1371
+#: builtin/fetch.c:1373
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 
@@ -7431,11 +7656,11 @@ msgid "git for-each-ref [--points-at <object>]"
 msgstr ""
 
 #: builtin/for-each-ref.c:11
-msgid "git for-each-ref [(--merged | --no-merged) [<object>]]"
+msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
 msgstr ""
 
 #: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--contains [<object>]]"
+msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
 msgstr ""
 
 #: builtin/for-each-ref.c:27
@@ -7458,10 +7683,6 @@ msgstr ""
 msgid "show only <n> matched refs"
 msgstr ""
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr ""
-
 #: builtin/for-each-ref.c:41
 msgid "print only refs which points at the given object"
 msgstr ""
@@ -7478,6 +7699,10 @@ msgstr ""
 msgid "print only refs which contain the commit"
 msgstr ""
 
+#: builtin/for-each-ref.c:46
+msgid "print only refs which don't contain the commit"
+msgstr ""
+
 #: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr ""
@@ -7542,17 +7767,17 @@ msgstr ""
 msgid "git gc [<options>]"
 msgstr ""
 
-#: builtin/gc.c:72
+#: builtin/gc.c:78
 #, c-format
-msgid "Invalid %s: '%s'"
+msgid "Failed to fstat %s: %s"
 msgstr ""
 
-#: builtin/gc.c:139
+#: builtin/gc.c:306
 #, c-format
-msgid "insanely long object directory %.*s"
+msgid "Can't stat %s"
 msgstr ""
 
-#: builtin/gc.c:297
+#: builtin/gc.c:315
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7562,44 +7787,49 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/gc.c:334
+#: builtin/gc.c:354
 msgid "prune unreferenced objects"
 msgstr ""
 
-#: builtin/gc.c:336
+#: builtin/gc.c:356
 msgid "be more thorough (increased runtime)"
 msgstr ""
 
-#: builtin/gc.c:337
+#: builtin/gc.c:357
 msgid "enable auto-gc mode"
 msgstr ""
 
-#: builtin/gc.c:338
+#: builtin/gc.c:358
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 
-#: builtin/gc.c:380
+#: builtin/gc.c:375
+#, c-format
+msgid "Failed to parse gc.logexpiry value %s"
+msgstr ""
+
+#: builtin/gc.c:403
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:382
+#: builtin/gc.c:405
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:383
+#: builtin/gc.c:406
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr ""
 
-#: builtin/gc.c:404
+#: builtin/gc.c:427
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 
-#: builtin/gc.c:448
+#: builtin/gc.c:471
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -7618,235 +7848,240 @@ msgstr ""
 msgid "invalid number of threads specified (%d) for %s"
 msgstr ""
 
-#: builtin/grep.c:763 builtin/grep.c:804
+#: builtin/grep.c:769 builtin/grep.c:810
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr ""
 
-#: builtin/grep.c:823
+#: builtin/grep.c:829
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr ""
 
-#: builtin/grep.c:887
+#: builtin/grep.c:893
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr ""
 
-#: builtin/grep.c:973
+#: builtin/grep.c:980
 msgid "search in index instead of in the work tree"
 msgstr ""
 
-#: builtin/grep.c:975
+#: builtin/grep.c:982
 msgid "find in contents not managed by git"
 msgstr ""
 
-#: builtin/grep.c:977
+#: builtin/grep.c:984
 msgid "search in both tracked and untracked files"
 msgstr ""
 
-#: builtin/grep.c:979
+#: builtin/grep.c:986
 msgid "ignore files specified via '.gitignore'"
 msgstr ""
 
-#: builtin/grep.c:981
-msgid "recursivley search in each submodule"
+#: builtin/grep.c:988
+msgid "recursively search in each submodule"
 msgstr ""
 
-#: builtin/grep.c:983
+#: builtin/grep.c:990
 msgid "basename"
 msgstr ""
 
-#: builtin/grep.c:984
+#: builtin/grep.c:991
 msgid "prepend parent project's basename to output"
 msgstr ""
 
-#: builtin/grep.c:987
+#: builtin/grep.c:994
 msgid "show non-matching lines"
 msgstr ""
 
-#: builtin/grep.c:989
+#: builtin/grep.c:996
 msgid "case insensitive matching"
 msgstr ""
 
-#: builtin/grep.c:991
+#: builtin/grep.c:998
 msgid "match patterns only at word boundaries"
 msgstr ""
 
-#: builtin/grep.c:993
+#: builtin/grep.c:1000
 msgid "process binary files as text"
 msgstr ""
 
-#: builtin/grep.c:995
+#: builtin/grep.c:1002
 msgid "don't match patterns in binary files"
 msgstr ""
 
-#: builtin/grep.c:998
+#: builtin/grep.c:1005
 msgid "process binary files with textconv filters"
 msgstr ""
 
-#: builtin/grep.c:1000
+#: builtin/grep.c:1007
 msgid "descend at most <depth> levels"
 msgstr ""
 
-#: builtin/grep.c:1004
+#: builtin/grep.c:1011
 msgid "use extended POSIX regular expressions"
 msgstr ""
 
-#: builtin/grep.c:1007
+#: builtin/grep.c:1014
 msgid "use basic POSIX regular expressions (default)"
 msgstr ""
 
-#: builtin/grep.c:1010
+#: builtin/grep.c:1017
 msgid "interpret patterns as fixed strings"
 msgstr ""
 
-#: builtin/grep.c:1013
+#: builtin/grep.c:1020
 msgid "use Perl-compatible regular expressions"
 msgstr ""
 
-#: builtin/grep.c:1016
+#: builtin/grep.c:1023
 msgid "show line numbers"
 msgstr ""
 
-#: builtin/grep.c:1017
+#: builtin/grep.c:1024
 msgid "don't show filenames"
 msgstr ""
 
-#: builtin/grep.c:1018
+#: builtin/grep.c:1025
 msgid "show filenames"
 msgstr ""
 
-#: builtin/grep.c:1020
+#: builtin/grep.c:1027
 msgid "show filenames relative to top directory"
 msgstr ""
 
-#: builtin/grep.c:1022
+#: builtin/grep.c:1029
 msgid "show only filenames instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1031
 msgid "synonym for --files-with-matches"
 msgstr ""
 
-#: builtin/grep.c:1027
+#: builtin/grep.c:1034
 msgid "show only the names of files without match"
 msgstr ""
 
-#: builtin/grep.c:1029
+#: builtin/grep.c:1036
 msgid "print NUL after filenames"
 msgstr ""
 
-#: builtin/grep.c:1031
+#: builtin/grep.c:1038
 msgid "show the number of matches instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:1032
+#: builtin/grep.c:1039
 msgid "highlight matches"
 msgstr ""
 
-#: builtin/grep.c:1034
+#: builtin/grep.c:1041
 msgid "print empty line between matches from different files"
 msgstr ""
 
-#: builtin/grep.c:1036
+#: builtin/grep.c:1043
 msgid "show filename only once above matches from same file"
 msgstr ""
 
-#: builtin/grep.c:1039
+#: builtin/grep.c:1046
 msgid "show <n> context lines before and after matches"
 msgstr ""
 
-#: builtin/grep.c:1042
+#: builtin/grep.c:1049
 msgid "show <n> context lines before matches"
 msgstr ""
 
-#: builtin/grep.c:1044
+#: builtin/grep.c:1051
 msgid "show <n> context lines after matches"
 msgstr ""
 
-#: builtin/grep.c:1046
+#: builtin/grep.c:1053
 msgid "use <n> worker threads"
 msgstr ""
 
-#: builtin/grep.c:1047
+#: builtin/grep.c:1054
 msgid "shortcut for -C NUM"
 msgstr ""
 
-#: builtin/grep.c:1050
+#: builtin/grep.c:1057
 msgid "show a line with the function name before matches"
 msgstr ""
 
-#: builtin/grep.c:1052
+#: builtin/grep.c:1059
 msgid "show the surrounding function"
 msgstr ""
 
-#: builtin/grep.c:1055
+#: builtin/grep.c:1062
 msgid "read patterns from file"
 msgstr ""
 
-#: builtin/grep.c:1057
+#: builtin/grep.c:1064
 msgid "match <pattern>"
 msgstr ""
 
-#: builtin/grep.c:1059
+#: builtin/grep.c:1066
 msgid "combine patterns specified with -e"
 msgstr ""
 
-#: builtin/grep.c:1071
+#: builtin/grep.c:1078
 msgid "indicate hit with exit status without output"
 msgstr ""
 
-#: builtin/grep.c:1073
+#: builtin/grep.c:1080
 msgid "show only matches from files that match all patterns"
 msgstr ""
 
-#: builtin/grep.c:1075
+#: builtin/grep.c:1082
 msgid "show parse tree for grep expression"
 msgstr ""
 
-#: builtin/grep.c:1079
+#: builtin/grep.c:1086
 msgid "pager"
 msgstr ""
 
-#: builtin/grep.c:1079
+#: builtin/grep.c:1086
 msgid "show matching files in the pager"
 msgstr ""
 
-#: builtin/grep.c:1082
+#: builtin/grep.c:1089
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr ""
 
-#: builtin/grep.c:1146
+#: builtin/grep.c:1153
 msgid "no pattern given."
 msgstr ""
 
-#: builtin/grep.c:1178 builtin/index-pack.c:1482
+#: builtin/grep.c:1189
+msgid "--no-index or --untracked cannot be used with revs"
+msgstr ""
+
+#: builtin/grep.c:1195
+#, c-format
+msgid "unable to resolve revision: %s"
+msgstr ""
+
+#: builtin/grep.c:1228 builtin/index-pack.c:1485
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr ""
 
-#: builtin/grep.c:1215
+#: builtin/grep.c:1251
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 
-#: builtin/grep.c:1238
+#: builtin/grep.c:1274
 msgid "option not supported with --recurse-submodules."
 msgstr ""
 
-#: builtin/grep.c:1244
+#: builtin/grep.c:1280
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr ""
 
-#: builtin/grep.c:1249
-msgid "--no-index or --untracked cannot be used with revs."
-msgstr ""
-
-#: builtin/grep.c:1252
+#: builtin/grep.c:1286
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr ""
 
-#: builtin/grep.c:1260
+#: builtin/grep.c:1294
 msgid "both --cached and trees are given."
 msgstr ""
 
@@ -8065,240 +8300,245 @@ msgstr ""
 msgid "unable to create '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:322
+#: builtin/index-pack.c:323
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:336
+#: builtin/index-pack.c:337
 msgid "pack signature mismatch"
 msgstr ""
 
-#: builtin/index-pack.c:338
+#: builtin/index-pack.c:339
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr ""
 
-#: builtin/index-pack.c:356
+#: builtin/index-pack.c:357
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr ""
 
-#: builtin/index-pack.c:478
+#: builtin/index-pack.c:479
 #, c-format
 msgid "inflate returned %d"
 msgstr ""
 
-#: builtin/index-pack.c:527
+#: builtin/index-pack.c:528
 msgid "offset value overflow for delta base object"
 msgstr ""
 
-#: builtin/index-pack.c:535
+#: builtin/index-pack.c:536
 msgid "delta base offset is out of bound"
 msgstr ""
 
-#: builtin/index-pack.c:543
+#: builtin/index-pack.c:544
 #, c-format
 msgid "unknown object type %d"
 msgstr ""
 
-#: builtin/index-pack.c:574
+#: builtin/index-pack.c:575
 msgid "cannot pread pack file"
 msgstr ""
 
-#: builtin/index-pack.c:576
+#: builtin/index-pack.c:577
 #, 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:602
+#: builtin/index-pack.c:603
 msgid "serious inflate inconsistency"
 msgstr ""
 
-#: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:813 builtin/index-pack.c:822
+#: 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
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr ""
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:164
-#: builtin/pack-objects.c:256
+#: builtin/index-pack.c:752 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:257
 #, c-format
 msgid "unable to read %s"
 msgstr ""
 
-#: builtin/index-pack.c:819
+#: builtin/index-pack.c:814
+#, c-format
+msgid "cannot read existing object info %s"
+msgstr ""
+
+#: builtin/index-pack.c:822
 #, c-format
 msgid "cannot read existing object %s"
 msgstr ""
 
-#: builtin/index-pack.c:833
+#: builtin/index-pack.c:836
 #, c-format
 msgid "invalid blob object %s"
 msgstr ""
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:850
 #, c-format
 msgid "invalid %s"
 msgstr ""
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:853
 msgid "Error in object"
 msgstr ""
 
-#: builtin/index-pack.c:852
+#: builtin/index-pack.c:855
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr ""
 
-#: builtin/index-pack.c:924 builtin/index-pack.c:955
+#: builtin/index-pack.c:927 builtin/index-pack.c:958
 msgid "failed to apply delta"
 msgstr ""
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1128
 msgid "Receiving objects"
 msgstr ""
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1128
 msgid "Indexing objects"
 msgstr ""
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1160
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr ""
 
-#: builtin/index-pack.c:1162
+#: builtin/index-pack.c:1165
 msgid "cannot fstat packfile"
 msgstr ""
 
-#: builtin/index-pack.c:1165
+#: builtin/index-pack.c:1168
 msgid "pack has junk at the end"
 msgstr ""
 
-#: builtin/index-pack.c:1176
+#: builtin/index-pack.c:1179
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr ""
 
-#: builtin/index-pack.c:1199
+#: builtin/index-pack.c:1202
 msgid "Resolving deltas"
 msgstr ""
 
-#: builtin/index-pack.c:1210
+#: builtin/index-pack.c:1213
 #, c-format
 msgid "unable to create thread: %s"
 msgstr ""
 
-#: builtin/index-pack.c:1252
+#: builtin/index-pack.c:1255
 msgid "confusion beyond insanity"
 msgstr ""
 
-#: builtin/index-pack.c:1258
+#: builtin/index-pack.c:1261
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1270
+#: builtin/index-pack.c:1273
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 
-#: builtin/index-pack.c:1274
+#: builtin/index-pack.c:1277
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1298
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr ""
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1377
 #, c-format
 msgid "local object %s is corrupt"
 msgstr ""
 
-#: builtin/index-pack.c:1398
+#: builtin/index-pack.c:1403
 msgid "error while closing pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1411
+#: builtin/index-pack.c:1415
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1419
+#: builtin/index-pack.c:1423
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1432
+#: builtin/index-pack.c:1433
 msgid "cannot store pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1443
+#: builtin/index-pack.c:1441
 msgid "cannot store index file"
 msgstr ""
 
-#: builtin/index-pack.c:1476
+#: builtin/index-pack.c:1479
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr ""
 
-#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
+#: builtin/index-pack.c:1489 builtin/index-pack.c:1686
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr ""
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1547
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1546
+#: builtin/index-pack.c:1549
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1596
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1600
+#: builtin/index-pack.c:1603
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1613
+#: builtin/index-pack.c:1616
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr ""
 
-#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
-#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
+#: builtin/index-pack.c:1698 builtin/index-pack.c:1701
+#: builtin/index-pack.c:1717 builtin/index-pack.c:1721
 #, c-format
 msgid "bad %s"
 msgstr ""
 
-#: builtin/index-pack.c:1734
+#: builtin/index-pack.c:1737
 msgid "--fix-thin cannot be used without --stdin"
 msgstr ""
 
-#: builtin/index-pack.c:1736
+#: builtin/index-pack.c:1739
 msgid "--stdin requires a git repository"
 msgstr ""
 
-#: builtin/index-pack.c:1744
+#: builtin/index-pack.c:1747
 msgid "--verify with no packfile name given"
 msgstr ""
 
@@ -8452,419 +8692,419 @@ msgstr ""
 msgid "git show [<options>] <object>..."
 msgstr ""
 
-#: builtin/log.c:84
+#: builtin/log.c:89
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr ""
 
-#: builtin/log.c:139
+#: builtin/log.c:144
 msgid "suppress diff output"
 msgstr ""
 
-#: builtin/log.c:140
+#: builtin/log.c:145
 msgid "show source"
 msgstr ""
 
-#: builtin/log.c:141
+#: builtin/log.c:146
 msgid "Use mail map file"
 msgstr ""
 
-#: builtin/log.c:142
+#: builtin/log.c:147
 msgid "decorate options"
 msgstr ""
 
-#: builtin/log.c:145
+#: builtin/log.c:150
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 
-#: builtin/log.c:241
+#: builtin/log.c:246
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr ""
 
-#: builtin/log.c:486
+#: builtin/log.c:493
 #, c-format
 msgid "git show %s: bad file"
 msgstr ""
 
-#: builtin/log.c:500 builtin/log.c:594
+#: builtin/log.c:507 builtin/log.c:601
 #, c-format
 msgid "Could not read object %s"
 msgstr ""
 
-#: builtin/log.c:618
+#: builtin/log.c:625
 #, c-format
 msgid "Unknown type: %d"
 msgstr ""
 
-#: builtin/log.c:739
+#: builtin/log.c:746
 msgid "format.headers without value"
 msgstr ""
 
-#: builtin/log.c:839
+#: builtin/log.c:846
 msgid "name of output directory is too long"
 msgstr ""
 
-#: builtin/log.c:854
+#: builtin/log.c:861
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr ""
 
-#: builtin/log.c:868
+#: builtin/log.c:875
 msgid "Need exactly one range."
 msgstr ""
 
-#: builtin/log.c:878
+#: builtin/log.c:885
 msgid "Not a range."
 msgstr ""
 
-#: builtin/log.c:984
+#: builtin/log.c:991
 msgid "Cover letter needs email format"
 msgstr ""
 
-#: builtin/log.c:1063
+#: builtin/log.c:1071
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr ""
 
-#: builtin/log.c:1091
+#: builtin/log.c:1098
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr ""
 
-#: builtin/log.c:1141
+#: builtin/log.c:1148
 msgid "Two output directories?"
 msgstr ""
 
-#: builtin/log.c:1248 builtin/log.c:1891 builtin/log.c:1893 builtin/log.c:1905
+#: builtin/log.c:1255 builtin/log.c:1898 builtin/log.c:1900 builtin/log.c:1912
 #, c-format
 msgid "Unknown commit %s"
 msgstr ""
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
+#: builtin/log.c:1265 builtin/notes.c:883 builtin/tag.c:532
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr ""
 
-#: builtin/log.c:1263
+#: builtin/log.c:1270
 msgid "Could not find exact merge base."
 msgstr ""
 
-#: builtin/log.c:1267
+#: builtin/log.c:1274
 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:1287
+#: builtin/log.c:1294
 msgid "Failed to find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1298
+#: builtin/log.c:1305
 msgid "base commit should be the ancestor of revision list"
 msgstr ""
 
-#: builtin/log.c:1302
+#: builtin/log.c:1309
 msgid "base commit shouldn't be in revision list"
 msgstr ""
 
-#: builtin/log.c:1351
+#: builtin/log.c:1358
 msgid "cannot get patch id"
 msgstr ""
 
-#: builtin/log.c:1408
+#: builtin/log.c:1415
 msgid "use [PATCH n/m] even with a single patch"
 msgstr ""
 
-#: builtin/log.c:1411
+#: builtin/log.c:1418
 msgid "use [PATCH] even with multiple patches"
 msgstr ""
 
-#: builtin/log.c:1415
+#: builtin/log.c:1422
 msgid "print patches to standard out"
 msgstr ""
 
-#: builtin/log.c:1417
+#: builtin/log.c:1424
 msgid "generate a cover letter"
 msgstr ""
 
-#: builtin/log.c:1419
+#: builtin/log.c:1426
 msgid "use simple number sequence for output file names"
 msgstr ""
 
-#: builtin/log.c:1420
+#: builtin/log.c:1427
 msgid "sfx"
 msgstr ""
 
-#: builtin/log.c:1421
+#: builtin/log.c:1428
 msgid "use <sfx> instead of '.patch'"
 msgstr ""
 
-#: builtin/log.c:1423
+#: builtin/log.c:1430
 msgid "start numbering patches at <n> instead of 1"
 msgstr ""
 
-#: builtin/log.c:1425
+#: builtin/log.c:1432
 msgid "mark the series as Nth re-roll"
 msgstr ""
 
-#: builtin/log.c:1427
+#: builtin/log.c:1434
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1430
+#: builtin/log.c:1437
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1433
+#: builtin/log.c:1440
 msgid "store resulting files in <dir>"
 msgstr ""
 
-#: builtin/log.c:1436
+#: builtin/log.c:1443
 msgid "don't strip/add [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1439
+#: builtin/log.c:1446
 msgid "don't output binary diffs"
 msgstr ""
 
-#: builtin/log.c:1441
+#: builtin/log.c:1448
 msgid "output all-zero hash in From header"
 msgstr ""
 
-#: builtin/log.c:1443
+#: builtin/log.c:1450
 msgid "don't include a patch matching a commit upstream"
 msgstr ""
 
-#: builtin/log.c:1445
+#: builtin/log.c:1452
 msgid "show patch format instead of default (patch + stat)"
 msgstr ""
 
-#: builtin/log.c:1447
+#: builtin/log.c:1454
 msgid "Messaging"
 msgstr ""
 
-#: builtin/log.c:1448
+#: builtin/log.c:1455
 msgid "header"
 msgstr ""
 
-#: builtin/log.c:1449
+#: builtin/log.c:1456
 msgid "add email header"
 msgstr ""
 
-#: builtin/log.c:1450 builtin/log.c:1452
+#: builtin/log.c:1457 builtin/log.c:1459
 msgid "email"
 msgstr ""
 
-#: builtin/log.c:1450
+#: builtin/log.c:1457
 msgid "add To: header"
 msgstr ""
 
-#: builtin/log.c:1452
+#: builtin/log.c:1459
 msgid "add Cc: header"
 msgstr ""
 
-#: builtin/log.c:1454
+#: builtin/log.c:1461
 msgid "ident"
 msgstr ""
 
-#: builtin/log.c:1455
+#: builtin/log.c:1462
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 
-#: builtin/log.c:1457
+#: builtin/log.c:1464
 msgid "message-id"
 msgstr ""
 
-#: builtin/log.c:1458
+#: builtin/log.c:1465
 msgid "make first mail a reply to <message-id>"
 msgstr ""
 
-#: builtin/log.c:1459 builtin/log.c:1462
+#: builtin/log.c:1466 builtin/log.c:1469
 msgid "boundary"
 msgstr ""
 
-#: builtin/log.c:1460
+#: builtin/log.c:1467
 msgid "attach the patch"
 msgstr ""
 
-#: builtin/log.c:1463
+#: builtin/log.c:1470
 msgid "inline the patch"
 msgstr ""
 
-#: builtin/log.c:1467
+#: builtin/log.c:1474
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 
-#: builtin/log.c:1469
+#: builtin/log.c:1476
 msgid "signature"
 msgstr ""
 
-#: builtin/log.c:1470
+#: builtin/log.c:1477
 msgid "add a signature"
 msgstr ""
 
-#: builtin/log.c:1471
+#: builtin/log.c:1478
 msgid "base-commit"
 msgstr ""
 
-#: builtin/log.c:1472
+#: builtin/log.c:1479
 msgid "add prerequisite tree info to the patch series"
 msgstr ""
 
-#: builtin/log.c:1474
+#: builtin/log.c:1481
 msgid "add a signature from a file"
 msgstr ""
 
-#: builtin/log.c:1475
+#: builtin/log.c:1482
 msgid "don't print the patch filenames"
 msgstr ""
 
-#: builtin/log.c:1565
+#: builtin/log.c:1572
 msgid "-n and -k are mutually exclusive."
 msgstr ""
 
-#: builtin/log.c:1567
+#: builtin/log.c:1574
 msgid "--subject-prefix/--rfc and -k are mutually exclusive."
 msgstr ""
 
-#: builtin/log.c:1575
+#: builtin/log.c:1582
 msgid "--name-only does not make sense"
 msgstr ""
 
-#: builtin/log.c:1577
+#: builtin/log.c:1584
 msgid "--name-status does not make sense"
 msgstr ""
 
-#: builtin/log.c:1579
+#: builtin/log.c:1586
 msgid "--check does not make sense"
 msgstr ""
 
-#: builtin/log.c:1609
+#: builtin/log.c:1616
 msgid "standard output, or directory, which one?"
 msgstr ""
 
-#: builtin/log.c:1611
+#: builtin/log.c:1618
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr ""
 
-#: builtin/log.c:1705
+#: builtin/log.c:1712
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr ""
 
-#: builtin/log.c:1777
+#: builtin/log.c:1784
 msgid "Failed to create output files"
 msgstr ""
 
-#: builtin/log.c:1826
+#: builtin/log.c:1833
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr ""
 
-#: builtin/log.c:1880
+#: builtin/log.c:1887
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr ""
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:461
 msgid "git ls-files [<options>] [<file>...]"
 msgstr ""
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:510
 msgid "identify the file status with tags"
 msgstr ""
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:512
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:514
 msgid "show cached files in the output (default)"
 msgstr ""
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:516
 msgid "show deleted files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:518
 msgid "show modified files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:520
 msgid "show other files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:521
+#: builtin/ls-files.c:522
 msgid "show ignored files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:525
 msgid "show staged contents' object name in the output"
 msgstr ""
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:527
 msgid "show files on the filesystem that need to be removed"
 msgstr ""
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:529
 msgid "show 'other' directories' names only"
 msgstr ""
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:531
 msgid "show line endings of files"
 msgstr ""
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:533
 msgid "don't show empty directories"
 msgstr ""
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:536
 msgid "show unmerged files in the output"
 msgstr ""
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:538
 msgid "show resolve-undo information"
 msgstr ""
 
-#: builtin/ls-files.c:539
+#: builtin/ls-files.c:540
 msgid "skip files matching pattern"
 msgstr ""
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:543
 msgid "exclude patterns are read from <file>"
 msgstr ""
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr ""
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:548
 msgid "add the standard git exclusions"
 msgstr ""
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:551
 msgid "make the output relative to the project top directory"
 msgstr ""
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:554
 msgid "recurse through submodules"
 msgstr ""
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:556
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr ""
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:557
 msgid "tree-ish"
 msgstr ""
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:558
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:560
 msgid "show debugging data"
 msgstr ""
 
@@ -8875,39 +9115,39 @@ msgid ""
 "                     [--symref] [<repository> [<refs>...]]"
 msgstr ""
 
-#: builtin/ls-remote.c:50
+#: builtin/ls-remote.c:52
 msgid "do not print remote URL"
 msgstr ""
 
-#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+#: builtin/ls-remote.c:53 builtin/ls-remote.c:55
 msgid "exec"
 msgstr ""
 
-#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+#: builtin/ls-remote.c:54 builtin/ls-remote.c:56
 msgid "path of git-upload-pack on the remote host"
 msgstr ""
 
-#: builtin/ls-remote.c:56
+#: builtin/ls-remote.c:58
 msgid "limit to tags"
 msgstr ""
 
-#: builtin/ls-remote.c:57
+#: builtin/ls-remote.c:59
 msgid "limit to heads"
 msgstr ""
 
-#: builtin/ls-remote.c:58
+#: builtin/ls-remote.c:60
 msgid "do not show peeled tags"
 msgstr ""
 
-#: builtin/ls-remote.c:60
+#: builtin/ls-remote.c:62
 msgid "take url.<base>.insteadOf into account"
 msgstr ""
 
-#: builtin/ls-remote.c:62
+#: builtin/ls-remote.c:64
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr ""
 
-#: builtin/ls-remote.c:64
+#: builtin/ls-remote.c:66
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr ""
 
@@ -8952,146 +9192,142 @@ msgid "git merge [<options>] [<commit>...]"
 msgstr ""
 
 #: builtin/merge.c:47
-msgid "git merge [<options>] <msg> HEAD <commit>"
-msgstr ""
-
-#: builtin/merge.c:48
 msgid "git merge --abort"
 msgstr ""
 
-#: builtin/merge.c:49
+#: builtin/merge.c:48
 msgid "git merge --continue"
 msgstr ""
 
-#: builtin/merge.c:104
+#: builtin/merge.c:103
 msgid "switch `m' requires a value"
 msgstr ""
 
-#: builtin/merge.c:141
+#: builtin/merge.c:140
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr ""
 
-#: builtin/merge.c:142
+#: builtin/merge.c:141
 #, c-format
 msgid "Available strategies are:"
 msgstr ""
 
-#: builtin/merge.c:147
+#: builtin/merge.c:146
 #, c-format
 msgid "Available custom strategies are:"
 msgstr ""
 
-#: builtin/merge.c:197 builtin/pull.c:127
+#: builtin/merge.c:196 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:200 builtin/pull.c:130
+#: builtin/merge.c:199 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:201 builtin/pull.c:133
+#: builtin/merge.c:200 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr ""
 
-#: builtin/merge.c:203 builtin/pull.c:136
+#: builtin/merge.c:202 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 
-#: builtin/merge.c:206 builtin/pull.c:139
+#: builtin/merge.c:205 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr ""
 
-#: builtin/merge.c:208 builtin/pull.c:142
+#: builtin/merge.c:207 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr ""
 
-#: builtin/merge.c:210 builtin/pull.c:145
+#: builtin/merge.c:209 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr ""
 
-#: builtin/merge.c:211
+#: builtin/merge.c:210
 msgid "allow fast-forward (default)"
 msgstr ""
 
-#: builtin/merge.c:213 builtin/pull.c:151
+#: builtin/merge.c:212 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr ""
 
-#: builtin/merge.c:217 builtin/pull.c:154
+#: builtin/merge.c:216 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr ""
 
-#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
-#: builtin/revert.c:89
+#: builtin/merge.c:217 builtin/notes.c:773 builtin/pull.c:158
+#: builtin/revert.c:108
 msgid "strategy"
 msgstr ""
 
-#: builtin/merge.c:219 builtin/pull.c:159
+#: builtin/merge.c:218 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr ""
 
-#: builtin/merge.c:220 builtin/pull.c:162
+#: builtin/merge.c:219 builtin/pull.c:162
 msgid "option=value"
 msgstr ""
 
-#: builtin/merge.c:221 builtin/pull.c:163
+#: builtin/merge.c:220 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr ""
 
-#: builtin/merge.c:223
+#: builtin/merge.c:222
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 
-#: builtin/merge.c:227
+#: builtin/merge.c:226
 msgid "abort the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:229
+#: builtin/merge.c:228
 msgid "continue the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:231 builtin/pull.c:170
+#: builtin/merge.c:230 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:259
+#: builtin/merge.c:258
 msgid "could not run stash."
 msgstr ""
 
-#: builtin/merge.c:264
+#: builtin/merge.c:263
 msgid "stash failed"
 msgstr ""
 
-#: builtin/merge.c:269
+#: builtin/merge.c:268
 #, c-format
 msgid "not a valid object: %s"
 msgstr ""
 
-#: builtin/merge.c:288 builtin/merge.c:305
+#: builtin/merge.c:287 builtin/merge.c:304
 msgid "read-tree failed"
 msgstr ""
 
-#: builtin/merge.c:335
+#: builtin/merge.c:334
 msgid " (nothing to squash)"
 msgstr ""
 
-#: builtin/merge.c:346
+#: builtin/merge.c:345
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:396
+#: builtin/merge.c:395
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:447
+#: builtin/merge.c:446
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr ""
 
-#: builtin/merge.c:537
+#: builtin/merge.c:536
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr ""
@@ -9144,181 +9380,176 @@ msgstr ""
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 
-#: builtin/merge.c:867
-#, c-format
-msgid "'%s' is not a commit"
-msgstr ""
-
-#: builtin/merge.c:908
+#: builtin/merge.c:890
 msgid "No current branch."
 msgstr ""
 
-#: builtin/merge.c:910
+#: builtin/merge.c:892
 msgid "No remote for the current branch."
 msgstr ""
 
-#: builtin/merge.c:912
+#: builtin/merge.c:894
 msgid "No default upstream defined for the current branch."
 msgstr ""
 
-#: builtin/merge.c:917
+#: builtin/merge.c:899
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr ""
 
-#: builtin/merge.c:964
+#: builtin/merge.c:946
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr ""
 
-#: builtin/merge.c:1038
+#: builtin/merge.c:1020
 #, c-format
 msgid "could not close '%s'"
 msgstr ""
 
-#: builtin/merge.c:1065
+#: builtin/merge.c:1047
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr ""
 
-#: builtin/merge.c:1099
+#: builtin/merge.c:1081
 msgid "not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1167
+#: builtin/merge.c:1146
 msgid "--abort expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1171
+#: builtin/merge.c:1150
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1183
+#: builtin/merge.c:1162
 msgid "--continue expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1187
+#: builtin/merge.c:1166
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1203
+#: builtin/merge.c:1182
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1210
+#: builtin/merge.c:1189
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1213
+#: builtin/merge.c:1192
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1201
 msgid "You cannot combine --squash with --no-ff."
 msgstr ""
 
-#: builtin/merge.c:1230
+#: builtin/merge.c:1209
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 
-#: builtin/merge.c:1247
+#: builtin/merge.c:1226
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 
-#: builtin/merge.c:1249
+#: builtin/merge.c:1228
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1233
 #, c-format
 msgid "%s - not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1256
+#: builtin/merge.c:1235
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 
-#: builtin/merge.c:1312
+#: builtin/merge.c:1269
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 
-#: builtin/merge.c:1315
+#: builtin/merge.c:1272
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 
-#: builtin/merge.c:1318
+#: builtin/merge.c:1275
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr ""
 
-#: builtin/merge.c:1321
+#: builtin/merge.c:1278
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr ""
 
-#: builtin/merge.c:1383
+#: builtin/merge.c:1340
 msgid "refusing to merge unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:1392
+#: builtin/merge.c:1349
 msgid "Already up-to-date."
 msgstr ""
 
-#: builtin/merge.c:1402
+#: builtin/merge.c:1359
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr ""
 
-#: builtin/merge.c:1443
+#: builtin/merge.c:1400
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr ""
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1407
 #, c-format
 msgid "Nope.\n"
 msgstr ""
 
-#: builtin/merge.c:1475
+#: builtin/merge.c:1432
 msgid "Already up-to-date. Yeeah!"
 msgstr ""
 
-#: builtin/merge.c:1481
+#: builtin/merge.c:1438
 msgid "Not possible to fast-forward, aborting."
 msgstr ""
 
-#: builtin/merge.c:1504 builtin/merge.c:1583
+#: builtin/merge.c:1461 builtin/merge.c:1540
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr ""
 
-#: builtin/merge.c:1508
+#: builtin/merge.c:1465
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr ""
 
-#: builtin/merge.c:1574
+#: builtin/merge.c:1531
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:1576
+#: builtin/merge.c:1533
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr ""
 
-#: builtin/merge.c:1585
+#: builtin/merge.c:1542
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr ""
 
-#: builtin/merge.c:1597
+#: builtin/merge.c:1554
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -9369,35 +9600,35 @@ msgid ""
 "<orig-file> <file2>"
 msgstr ""
 
-#: builtin/merge-file.c:33
+#: builtin/merge-file.c:32
 msgid "send results to standard output"
 msgstr ""
 
-#: builtin/merge-file.c:34
+#: builtin/merge-file.c:33
 msgid "use a diff3 based merge"
 msgstr ""
 
-#: builtin/merge-file.c:35
+#: builtin/merge-file.c:34
 msgid "for conflicts, use our version"
 msgstr ""
 
-#: builtin/merge-file.c:37
+#: builtin/merge-file.c:36
 msgid "for conflicts, use their version"
 msgstr ""
 
-#: builtin/merge-file.c:39
+#: builtin/merge-file.c:38
 msgid "for conflicts, use a union version"
 msgstr ""
 
-#: builtin/merge-file.c:42
+#: builtin/merge-file.c:41
 msgid "for conflicts, use this marker size"
 msgstr ""
 
-#: builtin/merge-file.c:43
+#: builtin/merge-file.c:42
 msgid "do not warn about conflicts"
 msgstr ""
 
-#: builtin/merge-file.c:45
+#: builtin/merge-file.c:44
 msgid "set labels for file1/orig-file/file2"
 msgstr ""
 
@@ -9540,43 +9771,47 @@ msgstr ""
 msgid "renaming '%s' failed"
 msgstr ""
 
-#: builtin/name-rev.c:257
+#: builtin/name-rev.c:289
 msgid "git name-rev [<options>] <commit>..."
 msgstr ""
 
-#: builtin/name-rev.c:258
+#: builtin/name-rev.c:290
 msgid "git name-rev [<options>] --all"
 msgstr ""
 
-#: builtin/name-rev.c:259
+#: builtin/name-rev.c:291
 msgid "git name-rev [<options>] --stdin"
 msgstr ""
 
-#: builtin/name-rev.c:311
+#: builtin/name-rev.c:346
 msgid "print only names (no SHA-1)"
 msgstr ""
 
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:347
 msgid "only use tags to name the commits"
 msgstr ""
 
-#: builtin/name-rev.c:314
+#: builtin/name-rev.c:349
 msgid "only use refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:316
+#: builtin/name-rev.c:351
+msgid "ignore refs matching <pattern>"
+msgstr ""
+
+#: builtin/name-rev.c:353
 msgid "list all commits reachable from all refs"
 msgstr ""
 
-#: builtin/name-rev.c:317
+#: builtin/name-rev.c:354
 msgid "read from stdin"
 msgstr ""
 
-#: builtin/name-rev.c:318
+#: builtin/name-rev.c:355
 msgid "allow to print `undefined` names (default)"
 msgstr ""
 
-#: builtin/name-rev.c:324
+#: builtin/name-rev.c:361
 msgid "dereference tags in the input (internal use)"
 msgstr ""
 
@@ -9716,19 +9951,19 @@ msgstr ""
 msgid "the note contents have been left in %s"
 msgstr ""
 
-#: builtin/notes.c:233 builtin/tag.c:460
+#: builtin/notes.c:233 builtin/tag.c:516
 #, c-format
 msgid "cannot read '%s'"
 msgstr ""
 
-#: builtin/notes.c:235 builtin/tag.c:463
+#: builtin/notes.c:235 builtin/tag.c:519
 #, 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:659
+#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:658
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr ""
@@ -9761,12 +9996,12 @@ 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:652
-#: builtin/notes.c:802 builtin/notes.c:949 builtin/notes.c:970
+#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:651
+#: builtin/notes.c:801 builtin/notes.c:948 builtin/notes.c:969
 msgid "too many parameters"
 msgstr ""
 
-#: builtin/notes.c:378 builtin/notes.c:665
+#: builtin/notes.c:378 builtin/notes.c:664
 #, c-format
 msgid "no note found for object %s."
 msgstr ""
@@ -9807,7 +10042,7 @@ msgstr ""
 msgid "Overwriting existing notes for object %s\n"
 msgstr ""
 
-#: builtin/notes.c:463 builtin/notes.c:624 builtin/notes.c:889
+#: builtin/notes.c:463 builtin/notes.c:623 builtin/notes.c:888
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr ""
@@ -9843,97 +10078,97 @@ msgid ""
 "Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
 msgstr ""
 
-#: builtin/notes.c:685
+#: builtin/notes.c:684
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr ""
 
-#: builtin/notes.c:687
+#: builtin/notes.c:686
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr ""
 
-#: builtin/notes.c:689
+#: builtin/notes.c:688
 msgid "failed to remove 'git notes merge' worktree"
 msgstr ""
 
-#: builtin/notes.c:709
+#: builtin/notes.c:708
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr ""
 
-#: builtin/notes.c:711
+#: builtin/notes.c:710
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr ""
 
-#: builtin/notes.c:713
+#: builtin/notes.c:712
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr ""
 
-#: builtin/notes.c:726
+#: builtin/notes.c:725
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr ""
 
-#: builtin/notes.c:729
+#: builtin/notes.c:728
 msgid "failed to finalize notes merge"
 msgstr ""
 
-#: builtin/notes.c:755
+#: builtin/notes.c:754
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr ""
 
-#: builtin/notes.c:771
+#: builtin/notes.c:770
 msgid "General options"
 msgstr ""
 
-#: builtin/notes.c:773
+#: builtin/notes.c:772
 msgid "Merge options"
 msgstr ""
 
-#: builtin/notes.c:775
+#: builtin/notes.c:774
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr ""
 
-#: builtin/notes.c:777
+#: builtin/notes.c:776
 msgid "Committing unmerged notes"
 msgstr ""
 
-#: builtin/notes.c:779
+#: builtin/notes.c:778
 msgid "finalize notes merge by committing unmerged notes"
 msgstr ""
 
-#: builtin/notes.c:781
+#: builtin/notes.c:780
 msgid "Aborting notes merge resolution"
 msgstr ""
 
-#: builtin/notes.c:783
+#: builtin/notes.c:782
 msgid "abort notes merge"
 msgstr ""
 
-#: builtin/notes.c:794
+#: builtin/notes.c:793
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr ""
 
-#: builtin/notes.c:799
+#: builtin/notes.c:798
 msgid "must specify a notes ref to merge"
 msgstr ""
 
-#: builtin/notes.c:823
+#: builtin/notes.c:822
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr ""
 
-#: builtin/notes.c:860
+#: builtin/notes.c:859
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr ""
 
-#: builtin/notes.c:863
+#: builtin/notes.c:862
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr ""
 
-#: builtin/notes.c:865
+#: builtin/notes.c:864
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -9941,36 +10176,36 @@ msgid ""
 "abort'.\n"
 msgstr ""
 
-#: builtin/notes.c:887
+#: builtin/notes.c:886
 #, c-format
 msgid "Object %s has no note\n"
 msgstr ""
 
-#: builtin/notes.c:899
+#: builtin/notes.c:898
 msgid "attempt to remove non-existent note is not an error"
 msgstr ""
 
-#: builtin/notes.c:902
+#: builtin/notes.c:901
 msgid "read object names from the standard input"
 msgstr ""
 
-#: builtin/notes.c:940 builtin/prune.c:105 builtin/worktree.c:127
+#: builtin/notes.c:939 builtin/prune.c:105 builtin/worktree.c:127
 msgid "do not remove, show only"
 msgstr ""
 
-#: builtin/notes.c:941
+#: builtin/notes.c:940
 msgid "report pruned notes"
 msgstr ""
 
-#: builtin/notes.c:983
+#: builtin/notes.c:982
 msgid "notes-ref"
 msgstr ""
 
-#: builtin/notes.c:984
+#: builtin/notes.c:983
 msgid "use notes from <notes-ref>"
 msgstr ""
 
-#: builtin/notes.c:1019
+#: builtin/notes.c:1018
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr ""
@@ -9990,169 +10225,169 @@ msgstr ""
 msgid "deflate error (%d)"
 msgstr ""
 
-#: builtin/pack-objects.c:766
+#: builtin/pack-objects.c:770
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 
-#: builtin/pack-objects.c:779
+#: builtin/pack-objects.c:783
 msgid "Writing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:1068
+#: builtin/pack-objects.c:1063
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2344
+#: builtin/pack-objects.c:2426
 msgid "Compressing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2747
+#: builtin/pack-objects.c:2829
 #, c-format
 msgid "unsupported index version %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2751
+#: builtin/pack-objects.c:2833
 #, c-format
 msgid "bad index version '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:2781
+#: builtin/pack-objects.c:2863
 msgid "do not show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:2783
+#: builtin/pack-objects.c:2865
 msgid "show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:2785
+#: builtin/pack-objects.c:2867
 msgid "show progress meter during object writing phase"
 msgstr ""
 
-#: builtin/pack-objects.c:2788
+#: builtin/pack-objects.c:2870
 msgid "similar to --all-progress when progress meter is shown"
 msgstr ""
 
-#: builtin/pack-objects.c:2789
+#: builtin/pack-objects.c:2871
 msgid "version[,offset]"
 msgstr ""
 
-#: builtin/pack-objects.c:2790
+#: builtin/pack-objects.c:2872
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2875
 msgid "maximum size of each output pack file"
 msgstr ""
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2877
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2879
 msgid "ignore packed objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2799
+#: builtin/pack-objects.c:2881
 msgid "limit pack window by objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2883
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 
-#: builtin/pack-objects.c:2803
+#: builtin/pack-objects.c:2885
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2887
 msgid "reuse existing deltas"
 msgstr ""
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2889
 msgid "reuse existing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2891
 msgid "use OFS_DELTA objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2893
 msgid "use threads when searching for best delta matches"
 msgstr ""
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2895
 msgid "do not create an empty pack output"
 msgstr ""
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2897
 msgid "read revision arguments from standard input"
 msgstr ""
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2899
 msgid "limit the objects to those that are not yet packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2820
+#: builtin/pack-objects.c:2902
 msgid "include objects reachable from any reference"
 msgstr ""
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2905
 msgid "include objects referred by reflog entries"
 msgstr ""
 
-#: builtin/pack-objects.c:2826
+#: builtin/pack-objects.c:2908
 msgid "include objects referred to by the index"
 msgstr ""
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2911
 msgid "output pack to stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:2831
+#: builtin/pack-objects.c:2913
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 
-#: builtin/pack-objects.c:2833
+#: builtin/pack-objects.c:2915
 msgid "keep unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2917
 msgid "pack loose unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2837
+#: builtin/pack-objects.c:2919
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 
-#: builtin/pack-objects.c:2840
+#: builtin/pack-objects.c:2922
 msgid "create thin packs"
 msgstr ""
 
-#: builtin/pack-objects.c:2842
+#: builtin/pack-objects.c:2924
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 
-#: builtin/pack-objects.c:2844
+#: builtin/pack-objects.c:2926
 msgid "ignore packs that have companion .keep file"
 msgstr ""
 
-#: builtin/pack-objects.c:2846
+#: builtin/pack-objects.c:2928
 msgid "pack compression level"
 msgstr ""
 
-#: builtin/pack-objects.c:2848
+#: builtin/pack-objects.c:2930
 msgid "do not hide commits by grafts"
 msgstr ""
 
-#: builtin/pack-objects.c:2850
+#: builtin/pack-objects.c:2932
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2934
 msgid "write a bitmap index together with the pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:2979
+#: builtin/pack-objects.c:3061
 msgid "Counting objects"
 msgstr ""
 
@@ -10209,7 +10444,7 @@ msgstr ""
 msgid "incorporate changes by rebasing rather than merging"
 msgstr ""
 
-#: builtin/pull.c:148 builtin/revert.c:101
+#: builtin/pull.c:148 builtin/rebase--helper.c:18 builtin/revert.c:120
 msgid "allow fast-forward"
 msgstr ""
 
@@ -10502,11 +10737,11 @@ msgstr ""
 msgid "repository"
 msgstr ""
 
-#: builtin/push.c:519 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:162
 msgid "push all refs"
 msgstr ""
 
-#: builtin/push.c:520 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:164
 msgid "mirror all refs"
 msgstr ""
 
@@ -10518,15 +10753,15 @@ msgstr ""
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 
-#: builtin/push.c:526 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:165
 msgid "force updates"
 msgstr ""
 
-#: builtin/push.c:528 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:179
 msgid "refname>:<expect"
 msgstr ""
 
-#: builtin/push.c:529 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:180
 msgid "require old value of ref to be at this value"
 msgstr ""
 
@@ -10534,12 +10769,12 @@ msgstr ""
 msgid "control recursive pushing of submodules"
 msgstr ""
 
-#: builtin/push.c:534 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:173
 msgid "use thin pack"
 msgstr ""
 
-#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
-#: builtin/send-pack.c:159
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:159
+#: builtin/send-pack.c:160
 msgid "receive pack program"
 msgstr ""
 
@@ -10559,19 +10794,19 @@ msgstr ""
 msgid "push missing but relevant tags"
 msgstr ""
 
-#: builtin/push.c:546 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:167
 msgid "GPG sign the push"
 msgstr ""
 
-#: builtin/push.c:548 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:174
 msgid "request atomic transaction on remote side"
 msgstr ""
 
-#: builtin/push.c:549
+#: builtin/push.c:549 builtin/send-pack.c:170
 msgid "server-specific"
 msgstr ""
 
-#: builtin/push.c:549
+#: builtin/push.c:549 builtin/send-pack.c:171
 msgid "option to transmit"
 msgstr ""
 
@@ -10587,82 +10822,94 @@ msgstr ""
 msgid "push options must not have new line characters"
 msgstr ""
 
-#: builtin/read-tree.c:37
+#: builtin/read-tree.c:40
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
 msgstr ""
 
-#: builtin/read-tree.c:110
+#: builtin/read-tree.c:130
 msgid "write resulting index to <file>"
 msgstr ""
 
-#: builtin/read-tree.c:113
+#: builtin/read-tree.c:133
 msgid "only empty the index"
 msgstr ""
 
-#: builtin/read-tree.c:115
+#: builtin/read-tree.c:135
 msgid "Merging"
 msgstr ""
 
-#: builtin/read-tree.c:117
+#: builtin/read-tree.c:137
 msgid "perform a merge in addition to a read"
 msgstr ""
 
-#: builtin/read-tree.c:119
+#: builtin/read-tree.c:139
 msgid "3-way merge if no file level merging required"
 msgstr ""
 
-#: builtin/read-tree.c:121
+#: builtin/read-tree.c:141
 msgid "3-way merge in presence of adds and removes"
 msgstr ""
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:143
 msgid "same as -m, but discard unmerged entries"
 msgstr ""
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:144
 msgid "<subdirectory>/"
 msgstr ""
 
-#: builtin/read-tree.c:125
+#: builtin/read-tree.c:145
 msgid "read the tree into the index under <subdirectory>/"
 msgstr ""
 
-#: builtin/read-tree.c:128
+#: builtin/read-tree.c:148
 msgid "update working tree with merge result"
 msgstr ""
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:150
 msgid "gitignore"
 msgstr ""
 
-#: builtin/read-tree.c:131
+#: builtin/read-tree.c:151
 msgid "allow explicitly ignored files to be overwritten"
 msgstr ""
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:154
 msgid "don't check the working tree after merging"
 msgstr ""
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:155
 msgid "don't update the index or the work tree"
 msgstr ""
 
-#: builtin/read-tree.c:137
+#: builtin/read-tree.c:157
 msgid "skip applying sparse checkout filter"
 msgstr ""
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:159
 msgid "debug unpack-trees"
 msgstr ""
 
-#: builtin/receive-pack.c:26
+#: builtin/rebase--helper.c:7
+msgid "git rebase--helper [<options>]"
+msgstr ""
+
+#: builtin/rebase--helper.c:19
+msgid "continue rebase"
+msgstr ""
+
+#: builtin/rebase--helper.c:21
+msgid "abort rebase"
+msgstr ""
+
+#: builtin/receive-pack.c:27
 msgid "git receive-pack <git-dir>"
 msgstr ""
 
-#: builtin/receive-pack.c:793
+#: builtin/receive-pack.c:796
 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"
@@ -10679,7 +10926,7 @@ msgid ""
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:813
+#: builtin/receive-pack.c:816
 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"
@@ -10691,11 +10938,11 @@ msgid ""
 "To squelch this message, you can set it to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:1883
+#: builtin/receive-pack.c:1889
 msgid "quiet"
 msgstr ""
 
-#: builtin/receive-pack.c:1897
+#: builtin/receive-pack.c:1903
 msgid "You must specify a directory."
 msgstr ""
 
@@ -10868,7 +11115,7 @@ msgstr ""
 msgid "(delete)"
 msgstr ""
 
-#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:854
+#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:856
 #, c-format
 msgid "No such remote: %s"
 msgstr ""
@@ -10896,7 +11143,7 @@ msgstr ""
 msgid "creating '%s' failed"
 msgstr ""
 
-#: builtin/remote.c:792
+#: builtin/remote.c:794
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -10906,296 +11153,296 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:806
+#: builtin/remote.c:808
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr ""
 
-#: builtin/remote.c:907
+#: builtin/remote.c:909
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr ""
 
-#: builtin/remote.c:910
+#: builtin/remote.c:912
 msgid " tracked"
 msgstr ""
 
-#: builtin/remote.c:912
+#: builtin/remote.c:914
 msgid " stale (use 'git remote prune' to remove)"
 msgstr ""
 
-#: builtin/remote.c:914
+#: builtin/remote.c:916
 msgid " ???"
 msgstr ""
 
-#: builtin/remote.c:955
+#: builtin/remote.c:957
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr ""
 
-#: builtin/remote.c:963
+#: builtin/remote.c:965
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:964
+#: builtin/remote.c:966
 #, c-format
 msgid "rebases onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:967
+#: builtin/remote.c:969
 #, c-format
 msgid " merges with remote %s"
 msgstr ""
 
-#: builtin/remote.c:970
+#: builtin/remote.c:972
 #, c-format
 msgid "merges with remote %s"
 msgstr ""
 
-#: builtin/remote.c:973
+#: builtin/remote.c:975
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr ""
 
-#: builtin/remote.c:1016
+#: builtin/remote.c:1018
 msgid "create"
 msgstr ""
 
-#: builtin/remote.c:1019
+#: builtin/remote.c:1021
 msgid "delete"
 msgstr ""
 
-#: builtin/remote.c:1023
+#: builtin/remote.c:1025
 msgid "up to date"
 msgstr ""
 
-#: builtin/remote.c:1026
+#: builtin/remote.c:1028
 msgid "fast-forwardable"
 msgstr ""
 
-#: builtin/remote.c:1029
+#: builtin/remote.c:1031
 msgid "local out of date"
 msgstr ""
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1038
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr ""
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr ""
 
-#: builtin/remote.c:1043
+#: builtin/remote.c:1045
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr ""
 
-#: builtin/remote.c:1046
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr ""
 
-#: builtin/remote.c:1114
+#: builtin/remote.c:1116
 msgid "do not query remotes"
 msgstr ""
 
-#: builtin/remote.c:1141
+#: builtin/remote.c:1143
 #, c-format
 msgid "* remote %s"
 msgstr ""
 
-#: builtin/remote.c:1142
+#: builtin/remote.c:1144
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1143 builtin/remote.c:1156 builtin/remote.c:1295
+#: builtin/remote.c:1145 builtin/remote.c:1158 builtin/remote.c:1297
 msgid "(no URL)"
 msgstr ""
 
 #. TRANSLATORS: the colon ':' should align with
 #. the one in "  Fetch URL: %s" translation
-#: builtin/remote.c:1154 builtin/remote.c:1156
+#: builtin/remote.c:1156 builtin/remote.c:1158
 #, c-format
 msgid "  Push  URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1158 builtin/remote.c:1160 builtin/remote.c:1162
+#: builtin/remote.c:1160 builtin/remote.c:1162 builtin/remote.c:1164
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr ""
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1160
 msgid "(not queried)"
 msgstr ""
 
-#: builtin/remote.c:1160
+#: builtin/remote.c:1162
 msgid "(unknown)"
 msgstr ""
 
-#: builtin/remote.c:1164
+#: builtin/remote.c:1166
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr ""
 
-#: builtin/remote.c:1176
+#: builtin/remote.c:1178
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1179 builtin/remote.c:1205
+#: builtin/remote.c:1181 builtin/remote.c:1207
 msgid " (status not queried)"
 msgstr ""
 
-#: builtin/remote.c:1188
+#: builtin/remote.c:1190
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/remote.c:1196
+#: builtin/remote.c:1198
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr ""
 
-#: builtin/remote.c:1202
+#: builtin/remote.c:1204
 #, 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:1223
+#: builtin/remote.c:1225
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr ""
 
-#: builtin/remote.c:1225
+#: builtin/remote.c:1227
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr ""
 
-#: builtin/remote.c:1240
+#: builtin/remote.c:1242
 msgid "Cannot determine remote HEAD"
 msgstr ""
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1244
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 
-#: builtin/remote.c:1252
+#: builtin/remote.c:1254
 #, c-format
 msgid "Could not delete %s"
 msgstr ""
 
-#: builtin/remote.c:1260
+#: builtin/remote.c:1262
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr ""
 
-#: builtin/remote.c:1262
+#: builtin/remote.c:1264
 #, c-format
 msgid "Could not setup %s"
 msgstr ""
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1282
 #, c-format
 msgid " %s will become dangling!"
 msgstr ""
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1283
 #, c-format
 msgid " %s has become dangling!"
 msgstr ""
 
-#: builtin/remote.c:1291
+#: builtin/remote.c:1293
 #, c-format
 msgid "Pruning %s"
 msgstr ""
 
-#: builtin/remote.c:1292
+#: builtin/remote.c:1294
 #, c-format
 msgid "URL: %s"
 msgstr ""
 
-#: builtin/remote.c:1308
+#: builtin/remote.c:1310
 #, c-format
 msgid " * [would prune] %s"
 msgstr ""
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1313
 #, c-format
 msgid " * [pruned] %s"
 msgstr ""
 
-#: builtin/remote.c:1356
+#: builtin/remote.c:1358
 msgid "prune remotes after fetching"
 msgstr ""
 
-#: builtin/remote.c:1419 builtin/remote.c:1473 builtin/remote.c:1541
+#: builtin/remote.c:1421 builtin/remote.c:1475 builtin/remote.c:1543
 #, c-format
 msgid "No such remote '%s'"
 msgstr ""
 
-#: builtin/remote.c:1435
+#: builtin/remote.c:1437
 msgid "add branch"
 msgstr ""
 
-#: builtin/remote.c:1442
+#: builtin/remote.c:1444
 msgid "no remote specified"
 msgstr ""
 
-#: builtin/remote.c:1459
+#: builtin/remote.c:1461
 msgid "query push URLs rather than fetch URLs"
 msgstr ""
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1463
 msgid "return all URLs"
 msgstr ""
 
-#: builtin/remote.c:1489
+#: builtin/remote.c:1491
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr ""
 
-#: builtin/remote.c:1515
+#: builtin/remote.c:1517
 msgid "manipulate push URLs"
 msgstr ""
 
-#: builtin/remote.c:1517
+#: builtin/remote.c:1519
 msgid "add URL"
 msgstr ""
 
-#: builtin/remote.c:1519
+#: builtin/remote.c:1521
 msgid "delete URLs"
 msgstr ""
 
-#: builtin/remote.c:1526
+#: builtin/remote.c:1528
 msgid "--add --delete doesn't make sense"
 msgstr ""
 
-#: builtin/remote.c:1567
+#: builtin/remote.c:1569
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr ""
 
-#: builtin/remote.c:1575
+#: builtin/remote.c:1577
 #, c-format
 msgid "No such URL found: %s"
 msgstr ""
 
-#: builtin/remote.c:1577
+#: builtin/remote.c:1579
 msgid "Will not delete all non-push URLs"
 msgstr ""
 
-#: builtin/remote.c:1591
+#: builtin/remote.c:1593
 msgid "be verbose; must be placed before a subcommand"
 msgstr ""
 
-#: builtin/remote.c:1622
+#: builtin/remote.c:1624
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr ""
@@ -11311,67 +11558,67 @@ msgstr ""
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr ""
 
-#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
+#: builtin/replace.c:329 builtin/replace.c:367 builtin/replace.c:395
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr ""
 
-#: builtin/replace.c:355
+#: builtin/replace.c:359
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:357
+#: builtin/replace.c:361
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:368
+#: builtin/replace.c:372
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr ""
 
-#: builtin/replace.c:401
+#: builtin/replace.c:405
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr ""
 
-#: builtin/replace.c:402
+#: builtin/replace.c:406
 msgid "the signature will be removed in the replacement commit!"
 msgstr ""
 
-#: builtin/replace.c:408
+#: builtin/replace.c:412
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr ""
 
-#: builtin/replace.c:432
+#: builtin/replace.c:436
 msgid "list replace refs"
 msgstr ""
 
-#: builtin/replace.c:433
+#: builtin/replace.c:437
 msgid "delete replace refs"
 msgstr ""
 
-#: builtin/replace.c:434
+#: builtin/replace.c:438
 msgid "edit existing object"
 msgstr ""
 
-#: builtin/replace.c:435
+#: builtin/replace.c:439
 msgid "change a commit's parents"
 msgstr ""
 
-#: builtin/replace.c:436
+#: builtin/replace.c:440
 msgid "replace the ref if it exists"
 msgstr ""
 
-#: builtin/replace.c:437
+#: builtin/replace.c:441
 msgid "do not pretty-print contents for --edit"
 msgstr ""
 
-#: builtin/replace.c:438
+#: builtin/replace.c:442
 msgid "use this format"
 msgstr ""
 
@@ -11512,23 +11759,23 @@ msgstr ""
 msgid "rev-list does not support display of notes"
 msgstr ""
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:393
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr ""
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:398
 msgid "keep the `--` passed as an arg"
 msgstr ""
 
-#: builtin/rev-parse.c:398
+#: builtin/rev-parse.c:400
 msgid "stop parsing after the first non-option argument"
 msgstr ""
 
-#: builtin/rev-parse.c:401
+#: builtin/rev-parse.c:403
 msgid "output in stuck long form"
 msgstr ""
 
-#: builtin/rev-parse.c:532
+#: builtin/rev-parse.c:534
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11553,68 +11800,72 @@ msgstr ""
 msgid "git cherry-pick <subcommand>"
 msgstr ""
 
-#: builtin/revert.c:71
+#: builtin/revert.c:89
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr ""
 
-#: builtin/revert.c:80
+#: builtin/revert.c:98
 msgid "end revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:81
+#: builtin/revert.c:99
 msgid "resume revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:82
+#: builtin/revert.c:100
 msgid "cancel revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:83
+#: builtin/revert.c:101
 msgid "don't automatically commit"
 msgstr ""
 
-#: builtin/revert.c:84
+#: builtin/revert.c:102
 msgid "edit the commit message"
 msgstr ""
 
-#: builtin/revert.c:87
-msgid "parent number"
+#: builtin/revert.c:105
+msgid "parent-number"
 msgstr ""
 
-#: builtin/revert.c:89
+#: builtin/revert.c:106
+msgid "select mainline parent"
+msgstr ""
+
+#: builtin/revert.c:108
 msgid "merge strategy"
 msgstr ""
 
-#: builtin/revert.c:90
+#: builtin/revert.c:109
 msgid "option"
 msgstr ""
 
-#: builtin/revert.c:91
+#: builtin/revert.c:110
 msgid "option for merge strategy"
 msgstr ""
 
-#: builtin/revert.c:100
+#: builtin/revert.c:119
 msgid "append commit name"
 msgstr ""
 
-#: builtin/revert.c:102
+#: builtin/revert.c:121
 msgid "preserve initially empty commits"
 msgstr ""
 
-#: builtin/revert.c:103
+#: builtin/revert.c:122
 msgid "allow commits with empty messages"
 msgstr ""
 
-#: builtin/revert.c:104
+#: builtin/revert.c:123
 msgid "keep redundant, empty commits"
 msgstr ""
 
-#: builtin/revert.c:192
+#: builtin/revert.c:211
 msgid "revert failed"
 msgstr ""
 
-#: builtin/revert.c:205
+#: builtin/revert.c:224
 msgid "cherry-pick failed"
 msgstr ""
 
@@ -11699,19 +11950,19 @@ msgid ""
 "  --all and explicit <ref> specification are mutually exclusive."
 msgstr ""
 
-#: builtin/send-pack.c:160
+#: builtin/send-pack.c:161
 msgid "remote name"
 msgstr ""
 
-#: builtin/send-pack.c:171
+#: builtin/send-pack.c:175
 msgid "use stateless RPC protocol"
 msgstr ""
 
-#: builtin/send-pack.c:172
+#: builtin/send-pack.c:176
 msgid "read refs from stdin"
 msgstr ""
 
-#: builtin/send-pack.c:173
+#: builtin/send-pack.c:177
 msgid "print status from remote helper"
 msgstr ""
 
@@ -11719,27 +11970,27 @@ msgstr ""
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr ""
 
-#: builtin/shortlog.c:249
+#: builtin/shortlog.c:248
 msgid "Group by committer rather than author"
 msgstr ""
 
-#: builtin/shortlog.c:251
+#: builtin/shortlog.c:250
 msgid "sort output according to the number of commits per author"
 msgstr ""
 
-#: builtin/shortlog.c:253
+#: builtin/shortlog.c:252
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr ""
 
-#: builtin/shortlog.c:255
+#: builtin/shortlog.c:254
 msgid "Show the email address of each author"
 msgstr ""
 
-#: builtin/shortlog.c:256
+#: builtin/shortlog.c:255
 msgid "w[,i1[,i2]]"
 msgstr ""
 
-#: builtin/shortlog.c:257
+#: builtin/shortlog.c:256
 msgid "Linewrap output"
 msgstr ""
 
@@ -11755,120 +12006,120 @@ msgstr ""
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr ""
 
-#: builtin/show-branch.c:375
+#: builtin/show-branch.c:374
 #, 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:541
+#: builtin/show-branch.c:536
 #, c-format
 msgid "no matching refs with %s"
 msgstr ""
 
-#: builtin/show-branch.c:639
+#: builtin/show-branch.c:632
 msgid "show remote-tracking and local branches"
 msgstr ""
 
-#: builtin/show-branch.c:641
+#: builtin/show-branch.c:634
 msgid "show remote-tracking branches"
 msgstr ""
 
-#: builtin/show-branch.c:643
+#: builtin/show-branch.c:636
 msgid "color '*!+-' corresponding to the branch"
 msgstr ""
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:638
 msgid "show <n> more commits after the common ancestor"
 msgstr ""
 
-#: builtin/show-branch.c:647
+#: builtin/show-branch.c:640
 msgid "synonym to more=-1"
 msgstr ""
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:641
 msgid "suppress naming strings"
 msgstr ""
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:643
 msgid "include the current branch"
 msgstr ""
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:645
 msgid "name commits with their object names"
 msgstr ""
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:647
 msgid "show possible merge bases"
 msgstr ""
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:649
 msgid "show refs unreachable from any other ref"
 msgstr ""
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:651
 msgid "show commits in topological order"
 msgstr ""
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:654
 msgid "show only commits not on the first branch"
 msgstr ""
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:656
 msgid "show merges reachable from only one tip"
 msgstr ""
 
-#: builtin/show-branch.c:665
+#: builtin/show-branch.c:658
 msgid "topologically sort, maintaining date order where possible"
 msgstr ""
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:661
 msgid "<n>[,<base>]"
 msgstr ""
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:662
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr ""
 
-#: builtin/show-branch.c:703
+#: builtin/show-branch.c:696
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 
-#: builtin/show-branch.c:727
+#: builtin/show-branch.c:720
 msgid "no branches given, and HEAD is not valid"
 msgstr ""
 
-#: builtin/show-branch.c:730
+#: builtin/show-branch.c:723
 msgid "--reflog option needs one branch name"
 msgstr ""
 
-#: builtin/show-branch.c:733
+#: builtin/show-branch.c:726
 #, 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:737
+#: builtin/show-branch.c:730
 #, c-format
 msgid "no such ref %s"
 msgstr ""
 
-#: builtin/show-branch.c:829
+#: builtin/show-branch.c:814
 #, 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:833
+#: builtin/show-branch.c:818
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr ""
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:821
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr ""
@@ -11931,12 +12182,12 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr ""
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1075
 #, c-format
 msgid "No such ref: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1084
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr ""
@@ -11946,207 +12197,204 @@ msgstr ""
 msgid "cannot strip one component off url '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
+#: builtin/submodule--helper.c:305 builtin/submodule--helper.c:630
 msgid "alternative anchor for relative paths"
 msgstr ""
 
-#: builtin/submodule--helper.c:287
+#: builtin/submodule--helper.c:310
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
+#: builtin/submodule--helper.c:356 builtin/submodule--helper.c:382
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:395
+#, c-format
+msgid ""
+"could not lookup configuration '%s'. Assuming this repository is its own "
+"authoritative upstream."
+msgstr ""
+
+#: builtin/submodule--helper.c:406
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:377
+#: builtin/submodule--helper.c:410
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:387
+#: builtin/submodule--helper.c:420
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:394
+#: builtin/submodule--helper.c:427
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:410
+#: builtin/submodule--helper.c:443
 msgid "Suppress output for initializing a submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:415
+#: builtin/submodule--helper.c:448
 msgid "git submodule--helper init [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:436
+#: builtin/submodule--helper.c:476
 msgid "git submodule--helper name <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:442
+#: builtin/submodule--helper.c:482
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
+#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:568
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:564
+#: builtin/submodule--helper.c:604
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:571
+#: builtin/submodule--helper.c:611
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:595
+#: builtin/submodule--helper.c:633
 msgid "where the new submodule will be cloned to"
 msgstr ""
 
-#: builtin/submodule--helper.c:598
+#: builtin/submodule--helper.c:636
 msgid "name of the new submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:601
+#: builtin/submodule--helper.c:639
 msgid "url where to clone the submodule from"
 msgstr ""
 
-#: builtin/submodule--helper.c:607
+#: builtin/submodule--helper.c:645
 msgid "depth for shallow clones"
 msgstr ""
 
-#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
+#: builtin/submodule--helper.c:648 builtin/submodule--helper.c:993
 msgid "force cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:615
+#: builtin/submodule--helper.c:653
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:646
+#: builtin/submodule--helper.c:684
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr ""
 
-#: builtin/submodule--helper.c:662
-#, c-format
-msgid "cannot open file '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:667
-#, c-format
-msgid "could not close file %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:674
+#: builtin/submodule--helper.c:699
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:742
+#: builtin/submodule--helper.c:764
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr ""
 
-#: builtin/submodule--helper.c:746
+#: builtin/submodule--helper.c:768
 msgid "Maybe you want to use 'update --init'?"
 msgstr ""
 
-#: builtin/submodule--helper.c:772
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:793
+#: builtin/submodule--helper.c:814
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:929
+#: builtin/submodule--helper.c:942
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr ""
 
-#: builtin/submodule--helper.c:940
+#: builtin/submodule--helper.c:953
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr ""
 
-#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
+#: builtin/submodule--helper.c:974 builtin/submodule--helper.c:1162
 msgid "path into the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:977
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:981
 msgid "rebase, merge, checkout or none"
 msgstr ""
 
-#: builtin/submodule--helper.c:972
+#: builtin/submodule--helper.c:985
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 
-#: builtin/submodule--helper.c:975
+#: builtin/submodule--helper.c:988
 msgid "parallel jobs"
 msgstr ""
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:990
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr ""
 
-#: builtin/submodule--helper.c:978
+#: builtin/submodule--helper.c:991
 msgid "don't print cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:985
+#: builtin/submodule--helper.c:998
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:995
+#: builtin/submodule--helper.c:1008
 msgid "bad value for update parameter"
 msgstr ""
 
-#: builtin/submodule--helper.c:1066
+#: builtin/submodule--helper.c:1079
 #, 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:1106
+#: builtin/submodule--helper.c:1163
 msgid "recurse into submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1112
+#: builtin/submodule--helper.c:1169
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1157
+#: builtin/submodule--helper.c:1226
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr ""
 
-#: builtin/submodule--helper.c:1164
+#: builtin/submodule--helper.c:1233
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr ""
 
-#: builtin/submodule--helper.c:1170
+#: builtin/submodule--helper.c:1239
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr ""
@@ -12191,7 +12439,8 @@ msgstr ""
 
 #: builtin/tag.c:25
 msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n"
+"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
+"points-at <object>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
 msgstr ""
 
@@ -12199,22 +12448,17 @@ msgstr ""
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:82
-#, c-format
-msgid "tag name too long: %.*s..."
-msgstr ""
-
-#: builtin/tag.c:87
+#: builtin/tag.c:83
 #, c-format
 msgid "tag '%s' not found."
 msgstr ""
 
-#: builtin/tag.c:102
+#: builtin/tag.c:99
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/tag.c:131
+#: builtin/tag.c:128
 #, c-format
 msgid ""
 "\n"
@@ -12223,7 +12467,7 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 
-#: builtin/tag.c:135
+#: builtin/tag.c:132
 #, c-format
 msgid ""
 "\n"
@@ -12233,138 +12477,166 @@ msgid ""
 "want to.\n"
 msgstr ""
 
-#: builtin/tag.c:213
+#: builtin/tag.c:210
 msgid "unable to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:215
+#: builtin/tag.c:212
 msgid "unable to write tag file"
 msgstr ""
 
-#: builtin/tag.c:240
+#: builtin/tag.c:236
 msgid "bad object type."
 msgstr ""
 
-#: builtin/tag.c:253
-msgid "tag header too big."
-msgstr ""
-
-#: builtin/tag.c:289
+#: builtin/tag.c:282
 msgid "no tag message?"
 msgstr ""
 
-#: builtin/tag.c:295
+#: builtin/tag.c:289
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr ""
 
-#: builtin/tag.c:354
+#: builtin/tag.c:312
+msgid "tag: tagging "
+msgstr ""
+
+#: builtin/tag.c:320
+msgid "object of unknown type"
+msgstr ""
+
+#: builtin/tag.c:327
+msgid "commit object"
+msgstr ""
+
+#: builtin/tag.c:335
+msgid "tree object"
+msgstr ""
+
+#: builtin/tag.c:338
+msgid "blob object"
+msgstr ""
+
+#: builtin/tag.c:341
+msgid "other tag object"
+msgstr ""
+
+#: builtin/tag.c:397
 msgid "list tag names"
 msgstr ""
 
-#: builtin/tag.c:356
+#: builtin/tag.c:399
 msgid "print <n> lines of each tag message"
 msgstr ""
 
-#: builtin/tag.c:358
+#: builtin/tag.c:401
 msgid "delete tags"
 msgstr ""
 
-#: builtin/tag.c:359
+#: builtin/tag.c:402
 msgid "verify tags"
 msgstr ""
 
-#: builtin/tag.c:361
+#: builtin/tag.c:404
 msgid "Tag creation options"
 msgstr ""
 
-#: builtin/tag.c:363
+#: builtin/tag.c:406
 msgid "annotated tag, needs a message"
 msgstr ""
 
-#: builtin/tag.c:365
+#: builtin/tag.c:408
 msgid "tag message"
 msgstr ""
 
-#: builtin/tag.c:367
+#: builtin/tag.c:410
 msgid "annotated and GPG-signed tag"
 msgstr ""
 
-#: builtin/tag.c:371
+#: builtin/tag.c:414
 msgid "use another key to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:372
+#: builtin/tag.c:415
 msgid "replace the tag if exists"
 msgstr ""
 
-#: builtin/tag.c:373 builtin/update-ref.c:368
+#: builtin/tag.c:416 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr ""
 
-#: builtin/tag.c:375
+#: builtin/tag.c:418
 msgid "Tag listing options"
 msgstr ""
 
-#: builtin/tag.c:376
+#: builtin/tag.c:419
 msgid "show tag list in columns"
 msgstr ""
 
-#: builtin/tag.c:377 builtin/tag.c:378
+#: builtin/tag.c:420 builtin/tag.c:422
 msgid "print only tags that contain the commit"
 msgstr ""
 
-#: builtin/tag.c:379
+#: builtin/tag.c:421 builtin/tag.c:423
+msgid "print only tags that don't contain the commit"
+msgstr ""
+
+#: builtin/tag.c:424
 msgid "print only tags that are merged"
 msgstr ""
 
-#: builtin/tag.c:380
+#: builtin/tag.c:425
 msgid "print only tags that are not merged"
 msgstr ""
 
-#: builtin/tag.c:385
+#: builtin/tag.c:430
 msgid "print only tags of the object"
 msgstr ""
 
-#: builtin/tag.c:415
+#: builtin/tag.c:469
 msgid "--column and -n are incompatible"
 msgstr ""
 
-#: builtin/tag.c:437
-msgid "-n option is only allowed with -l."
+#: builtin/tag.c:491
+msgid "-n option is only allowed in list mode"
+msgstr ""
+
+#: builtin/tag.c:493
+msgid "--contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:439
-msgid "--contains option is only allowed with -l."
+#: builtin/tag.c:495
+msgid "--no-contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:441
-msgid "--points-at option is only allowed with -l."
+#: builtin/tag.c:497
+msgid "--points-at option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:443
-msgid "--merged and --no-merged option are only allowed with -l"
+#: builtin/tag.c:499
+msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:454
+#: builtin/tag.c:510
 msgid "only one -F or -m option is allowed."
 msgstr ""
 
-#: builtin/tag.c:473
+#: builtin/tag.c:529
 msgid "too many params"
 msgstr ""
 
-#: builtin/tag.c:479
+#: builtin/tag.c:535
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr ""
 
-#: builtin/tag.c:484
+#: builtin/tag.c:540
 #, c-format
 msgid "tag '%s' already exists"
 msgstr ""
 
-#: builtin/tag.c:512
+#: builtin/tag.c:570
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr ""
@@ -12393,181 +12665,193 @@ msgstr ""
 msgid "failed to delete file %s"
 msgstr ""
 
-#: builtin/update-index.c:110 builtin/update-index.c:212
+#: builtin/update-index.c:110 builtin/update-index.c:216
 #, c-format
 msgid "failed to delete directory %s"
 msgstr ""
 
-#: builtin/update-index.c:133
+#: builtin/update-index.c:135
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr ""
 
-#: builtin/update-index.c:145
+#: builtin/update-index.c:149
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 
-#: builtin/update-index.c:158
+#: builtin/update-index.c:162
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 
-#: builtin/update-index.c:171
+#: builtin/update-index.c:175
 msgid "directory stat info changes after updating a file"
 msgstr ""
 
-#: builtin/update-index.c:182
+#: builtin/update-index.c:186
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 
-#: builtin/update-index.c:193
+#: builtin/update-index.c:197
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 
-#: builtin/update-index.c:206
+#: builtin/update-index.c:210
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 
-#: builtin/update-index.c:213
+#: builtin/update-index.c:217
 msgid " OK"
 msgstr ""
 
-#: builtin/update-index.c:564
+#: builtin/update-index.c:568
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr ""
 
-#: builtin/update-index.c:919
+#: builtin/update-index.c:923
 msgid "continue refresh even when index needs update"
 msgstr ""
 
-#: builtin/update-index.c:922
+#: builtin/update-index.c:926
 msgid "refresh: ignore submodules"
 msgstr ""
 
-#: builtin/update-index.c:925
+#: builtin/update-index.c:929
 msgid "do not ignore new files"
 msgstr ""
 
-#: builtin/update-index.c:927
+#: builtin/update-index.c:931
 msgid "let files replace directories and vice-versa"
 msgstr ""
 
-#: builtin/update-index.c:929
+#: builtin/update-index.c:933
 msgid "notice files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:931
+#: builtin/update-index.c:935
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 
-#: builtin/update-index.c:934
+#: builtin/update-index.c:938
 msgid "refresh stat information"
 msgstr ""
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:942
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr ""
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:946
 msgid "<mode>,<object>,<path>"
 msgstr ""
 
-#: builtin/update-index.c:943
+#: builtin/update-index.c:947
 msgid "add the specified entry to the index"
 msgstr ""
 
-#: builtin/update-index.c:952
+#: builtin/update-index.c:956
 msgid "mark files as \"not changing\""
 msgstr ""
 
-#: builtin/update-index.c:955
+#: builtin/update-index.c:959
 msgid "clear assumed-unchanged bit"
 msgstr ""
 
-#: builtin/update-index.c:958
+#: builtin/update-index.c:962
 msgid "mark files as \"index-only\""
 msgstr ""
 
-#: builtin/update-index.c:961
+#: builtin/update-index.c:965
 msgid "clear skip-worktree bit"
 msgstr ""
 
-#: builtin/update-index.c:964
+#: builtin/update-index.c:968
 msgid "add to index only; do not add content to object database"
 msgstr ""
 
-#: builtin/update-index.c:966
+#: builtin/update-index.c:970
 msgid "remove named paths even if present in worktree"
 msgstr ""
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:972
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr ""
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:974
 msgid "read list of paths to be updated from standard input"
 msgstr ""
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:978
 msgid "add entries from standard input to the index"
 msgstr ""
 
-#: builtin/update-index.c:978
+#: builtin/update-index.c:982
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr ""
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:986
 msgid "only update entries that differ from HEAD"
 msgstr ""
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:990
 msgid "ignore files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:993
 msgid "report actions to standard output"
 msgstr ""
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:995
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr ""
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:999
 msgid "write index in this format"
 msgstr ""
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:1001
 msgid "enable or disable split index"
 msgstr ""
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:1003
 msgid "enable/disable untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1005
 msgid "test if the filesystem supports untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1003
+#: builtin/update-index.c:1007
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 
-#: builtin/update-index.c:1120
+#: builtin/update-index.c:1107
+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
+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
 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:1124
+#: builtin/update-index.c:1131
 msgid "Untracked cache disabled"
 msgstr ""
 
-#: builtin/update-index.c:1132
+#: builtin/update-index.c:1139
 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:1136
+#: builtin/update-index.c:1143
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr ""
@@ -12708,50 +12992,50 @@ msgstr ""
 msgid "Preparing %s (identifier %s)"
 msgstr ""
 
-#: builtin/worktree.c:323
+#: builtin/worktree.c:324
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 
-#: builtin/worktree.c:325
+#: builtin/worktree.c:326
 msgid "create a new branch"
 msgstr ""
 
-#: builtin/worktree.c:327
+#: builtin/worktree.c:328
 msgid "create or reset a branch"
 msgstr ""
 
-#: builtin/worktree.c:329
+#: builtin/worktree.c:330
 msgid "populate the new working tree"
 msgstr ""
 
-#: builtin/worktree.c:337
+#: builtin/worktree.c:338
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr ""
 
-#: builtin/worktree.c:472
+#: builtin/worktree.c:473
 msgid "reason for locking"
 msgstr ""
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:485 builtin/worktree.c:518
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr ""
 
-#: builtin/worktree.c:486 builtin/worktree.c:519
+#: builtin/worktree.c:487 builtin/worktree.c:520
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:492
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr ""
 
-#: builtin/worktree.c:493
+#: builtin/worktree.c:494
 #, c-format
 msgid "'%s' is already locked"
 msgstr ""
 
-#: builtin/worktree.c:521
+#: builtin/worktree.c:522
 #, c-format
 msgid "'%s' is not locked"
 msgstr ""
@@ -12776,19 +13060,19 @@ msgstr ""
 msgid "git upload-pack [<options>] <dir>"
 msgstr ""
 
-#: upload-pack.c:1036
+#: upload-pack.c:1040
 msgid "quit after a single request/response exchange"
 msgstr ""
 
-#: upload-pack.c:1038
+#: upload-pack.c:1042
 msgid "exit immediately after initial ref advertisement"
 msgstr ""
 
-#: upload-pack.c:1040
+#: upload-pack.c:1044
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr ""
 
-#: upload-pack.c:1042
+#: upload-pack.c:1046
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr ""
 
@@ -12812,15 +13096,15 @@ msgid ""
 "to read about a specific subcommand or concept."
 msgstr ""
 
-#: http.c:344
+#: http.c:355
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr ""
 
-#: http.c:353
+#: http.c:364
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr ""
 
-#: http.c:1713
+#: http.c:1755
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -12828,7 +13112,7 @@ msgid ""
 "   redirect: %s"
 msgstr ""
 
-#: remote-curl.c:319
+#: remote-curl.c:323
 #, c-format
 msgid "redirecting to %s"
 msgstr ""
@@ -13300,39 +13584,39 @@ msgstr ""
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr ""
 
-#: git-stash.sh:50
+#: git-stash.sh:53
 msgid "git stash clear with parameters is unimplemented"
 msgstr ""
 
-#: git-stash.sh:73
+#: git-stash.sh:94
 msgid "You do not have the initial commit yet"
 msgstr ""
 
-#: git-stash.sh:88
+#: git-stash.sh:109
 msgid "Cannot save the current index state"
 msgstr ""
 
-#: git-stash.sh:103
+#: git-stash.sh:124
 msgid "Cannot save the untracked files"
 msgstr ""
 
-#: git-stash.sh:123 git-stash.sh:136
+#: git-stash.sh:144 git-stash.sh:157
 msgid "Cannot save the current worktree state"
 msgstr ""
 
-#: git-stash.sh:140
+#: git-stash.sh:161
 msgid "No changes selected"
 msgstr ""
 
-#: git-stash.sh:143
+#: git-stash.sh:164
 msgid "Cannot remove temporary index (can't happen)"
 msgstr ""
 
-#: git-stash.sh:156
+#: git-stash.sh:177
 msgid "Cannot record working tree state"
 msgstr ""
 
-#: git-stash.sh:188
+#: git-stash.sh:209
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr ""
@@ -13347,114 +13631,114 @@ msgstr ""
 #. $ 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:238
+#: git-stash.sh:265
 #, sh-format
 msgid ""
 "error: unknown option for 'stash save': $option\n"
 "       To provide a message, use git stash save -- '$option'"
 msgstr ""
 
-#: git-stash.sh:251
+#: git-stash.sh:278
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 
-#: git-stash.sh:259
+#: git-stash.sh:286
 msgid "No local changes to save"
 msgstr ""
 
-#: git-stash.sh:263
+#: git-stash.sh:291
 msgid "Cannot initialize stash"
 msgstr ""
 
-#: git-stash.sh:267
+#: git-stash.sh:295
 msgid "Cannot save the current status"
 msgstr ""
 
-#: git-stash.sh:268
+#: git-stash.sh:296
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr ""
 
-#: git-stash.sh:285
+#: git-stash.sh:323
 msgid "Cannot remove worktree changes"
 msgstr ""
 
-#: git-stash.sh:403
+#: git-stash.sh:471
 #, sh-format
 msgid "unknown option: $opt"
 msgstr ""
 
-#: git-stash.sh:416
+#: git-stash.sh:484
 msgid "No stash found."
 msgstr ""
 
-#: git-stash.sh:423
+#: git-stash.sh:491
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr ""
 
-#: git-stash.sh:438
+#: git-stash.sh:506
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr ""
 
-#: git-stash.sh:466
+#: git-stash.sh:534
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr ""
 
-#: git-stash.sh:477
+#: git-stash.sh:545
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr ""
 
-#: git-stash.sh:485
+#: git-stash.sh:553
 msgid "unable to refresh index"
 msgstr ""
 
-#: git-stash.sh:489
+#: git-stash.sh:557
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr ""
 
-#: git-stash.sh:497
+#: git-stash.sh:565
 msgid "Conflicts in index. Try without --index."
 msgstr ""
 
-#: git-stash.sh:499
+#: git-stash.sh:567
 msgid "Could not save index tree"
 msgstr ""
 
-#: git-stash.sh:508
+#: git-stash.sh:576
 msgid "Could not restore untracked files from stash"
 msgstr ""
 
-#: git-stash.sh:533
+#: git-stash.sh:601
 msgid "Cannot unstage modified files"
 msgstr ""
 
-#: git-stash.sh:548
+#: git-stash.sh:616
 msgid "Index was not unstashed."
 msgstr ""
 
-#: git-stash.sh:562
+#: git-stash.sh:630
 msgid "The stash is kept in case you need it again."
 msgstr ""
 
-#: git-stash.sh:571
+#: git-stash.sh:639
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr ""
 
-#: git-stash.sh:572
+#: git-stash.sh:640
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr ""
 
-#: git-stash.sh:580
+#: git-stash.sh:648
 msgid "No branch name specified"
 msgstr ""
 
-#: git-stash.sh:652
+#: git-stash.sh:727
 msgid "(To restore them type \"git stash apply\")"
 msgstr ""
 
@@ -13531,164 +13815,164 @@ msgstr ""
 msgid "Failed to register submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:327
+#: git-submodule.sh:341
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:347
+#: git-submodule.sh:361
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr ""
 
-#: git-submodule.sh:418
+#: git-submodule.sh:432
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr ""
 
-#: git-submodule.sh:423
+#: git-submodule.sh:437
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 
-#: git-submodule.sh:443
+#: git-submodule.sh:457
 #, 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:451
+#: git-submodule.sh:465
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr ""
 
-#: git-submodule.sh:454
+#: git-submodule.sh:468
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:455
+#: git-submodule.sh:469
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:458
+#: git-submodule.sh:472
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:467
+#: git-submodule.sh:481
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:623
+#: git-submodule.sh:637
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:633
+#: git-submodule.sh:647
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:638
+#: git-submodule.sh:652
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:656
+#: git-submodule.sh:670
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:662
+#: git-submodule.sh:676
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 "Direct fetching of that commit failed."
 msgstr ""
 
-#: git-submodule.sh:669
+#: git-submodule.sh:683
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:670
+#: git-submodule.sh:684
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:674
+#: git-submodule.sh:688
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:675
+#: git-submodule.sh:689
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:680
+#: git-submodule.sh:694
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:681
+#: git-submodule.sh:695
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:686
+#: git-submodule.sh:700
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:687
+#: git-submodule.sh:701
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr ""
 
-#: git-submodule.sh:718
+#: git-submodule.sh:732
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:826
+#: git-submodule.sh:840
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 
-#: git-submodule.sh:878
+#: git-submodule.sh:892
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr ""
 
-#: git-submodule.sh:898
+#: git-submodule.sh:912
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr ""
 
-#: git-submodule.sh:901
+#: git-submodule.sh:915
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:904
+#: git-submodule.sh:918
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:1051
+#: git-submodule.sh:1064
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:1118
+#: git-submodule.sh:1136
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr ""
@@ -13938,11 +14222,11 @@ msgstr ""
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr ""
 
-#: git-rebase--interactive.sh:1079
+#: git-rebase--interactive.sh:1083
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: git-rebase--interactive.sh:1084
+#: git-rebase--interactive.sh:1088
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -13960,21 +14244,21 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1101
+#: git-rebase--interactive.sh:1105
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 
-#: git-rebase--interactive.sh:1106
+#: git-rebase--interactive.sh:1110
 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:1111 git-rebase--interactive.sh:1115
+#: git-rebase--interactive.sh:1115 git-rebase--interactive.sh:1119
 msgid "Could not commit staged changes."
 msgstr ""
 
-#: git-rebase--interactive.sh:1139
+#: git-rebase--interactive.sh:1147
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -13983,47 +14267,47 @@ msgid ""
 "\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
+#: git-rebase--interactive.sh:1155 git-rebase--interactive.sh:1313
 msgid "Could not execute editor"
 msgstr ""
 
-#: git-rebase--interactive.sh:1160
+#: git-rebase--interactive.sh:1168
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr ""
 
-#: git-rebase--interactive.sh:1165
+#: git-rebase--interactive.sh:1173
 msgid "No HEAD?"
 msgstr ""
 
-#: git-rebase--interactive.sh:1166
+#: git-rebase--interactive.sh:1174
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr ""
 
-#: git-rebase--interactive.sh:1168
+#: git-rebase--interactive.sh:1176
 msgid "Could not mark as interactive"
 msgstr ""
 
-#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
+#: git-rebase--interactive.sh:1186 git-rebase--interactive.sh:1191
 msgid "Could not init rewritten commits"
 msgstr ""
 
-#: git-rebase--interactive.sh:1283
+#: git-rebase--interactive.sh:1291
 #, 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:1288
+#: git-rebase--interactive.sh:1296
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 msgstr ""
 
-#: git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1303
 msgid "Note that empty commits are commented out"
 msgstr ""
 
@@ -14098,113 +14382,107 @@ msgstr ""
 msgid "unstaged"
 msgstr ""
 
-#: git-add--interactive.perl:297 git-add--interactive.perl:322
+#: git-add--interactive.perl:288 git-add--interactive.perl:313
 msgid "binary"
 msgstr ""
 
-#: git-add--interactive.perl:306 git-add--interactive.perl:360
+#: git-add--interactive.perl:297 git-add--interactive.perl:351
 msgid "nothing"
 msgstr ""
 
-#: git-add--interactive.perl:342 git-add--interactive.perl:357
+#: git-add--interactive.perl:333 git-add--interactive.perl:348
 msgid "unchanged"
 msgstr ""
 
-#: git-add--interactive.perl:653
+#: git-add--interactive.perl:644
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:656
+#: git-add--interactive.perl:647
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:659
+#: git-add--interactive.perl:650
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:662
+#: git-add--interactive.perl:653
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:671
+#: git-add--interactive.perl:662
 msgid "Update"
 msgstr ""
 
-#: git-add--interactive.perl:683
+#: git-add--interactive.perl:674
 msgid "Revert"
 msgstr ""
 
-#: git-add--interactive.perl:706
+#: git-add--interactive.perl:697
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr ""
 
-#: git-add--interactive.perl:717
+#: git-add--interactive.perl:708
 msgid "Add untracked"
 msgstr ""
 
-#: git-add--interactive.perl:723
+#: git-add--interactive.perl:714
 msgid "No untracked files.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1030
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
 
-#: git-add--interactive.perl:1042
+#: git-add--interactive.perl:1033
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
 
-#: git-add--interactive.perl:1045
+#: git-add--interactive.perl:1036
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
 
-#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+#: git-add--interactive.perl:1039 git-add--interactive.perl:1048
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
 
-#: git-add--interactive.perl:1051
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding"
-msgstr ""
-
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1042 git-add--interactive.perl:1045
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
 
-#: git-add--interactive.perl:1067
+#: git-add--interactive.perl:1058
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1068
+#: git-add--interactive.perl:1059
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1074
+#: git-add--interactive.perl:1065
 #, perl-format
 msgid ""
 "---\n"
@@ -14214,14 +14492,14 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1082
+#: git-add--interactive.perl:1073
 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:1096
+#: git-add--interactive.perl:1087
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr ""
@@ -14232,12 +14510,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:1187
+#: git-add--interactive.perl:1178
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 
-#: git-add--interactive.perl:1196
+#: git-add--interactive.perl:1187
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -14246,7 +14524,7 @@ msgid ""
 "d - do not stage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1202
+#: git-add--interactive.perl:1193
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -14255,7 +14533,7 @@ msgid ""
 "d - do not stash this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1208
+#: git-add--interactive.perl:1199
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -14264,7 +14542,7 @@ msgid ""
 "d - do not unstage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1214
+#: git-add--interactive.perl:1205
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -14273,7 +14551,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1220
+#: git-add--interactive.perl:1211
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -14282,7 +14560,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1226
+#: git-add--interactive.perl:1217
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -14291,7 +14569,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1232
+#: git-add--interactive.perl:1223
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -14300,7 +14578,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1241
+#: git-add--interactive.perl:1232
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -14313,217 +14591,217 @@ msgid ""
 "? - print help\n"
 msgstr ""
 
-#: git-add--interactive.perl:1272
+#: git-add--interactive.perl:1263
 msgid "The selected hunks do not apply to the index!\n"
 msgstr ""
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1264
 msgid "Apply them to the worktree anyway? "
 msgstr ""
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1267
 msgid "Nothing was applied.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1287
+#: git-add--interactive.perl:1278
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1296
+#: git-add--interactive.perl:1287
 msgid "Only binary files changed.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1298
+#: git-add--interactive.perl:1289
 msgid "No changes.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1306
+#: git-add--interactive.perl:1297
 msgid "Patch update"
 msgstr ""
 
-#: git-add--interactive.perl:1358
+#: git-add--interactive.perl:1349
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1359
+#: git-add--interactive.perl:1350
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1360
+#: git-add--interactive.perl:1351
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1363
+#: git-add--interactive.perl:1354
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1364
+#: git-add--interactive.perl:1355
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1365
+#: git-add--interactive.perl:1356
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1368
+#: git-add--interactive.perl:1359
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1369
+#: git-add--interactive.perl:1360
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1370
+#: git-add--interactive.perl:1361
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1373
+#: git-add--interactive.perl:1364
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1374
+#: git-add--interactive.perl:1365
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1375
+#: git-add--interactive.perl:1366
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1378
+#: git-add--interactive.perl:1369
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1379
+#: git-add--interactive.perl:1370
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1380
+#: git-add--interactive.perl:1371
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1383
+#: git-add--interactive.perl:1374
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1384
+#: git-add--interactive.perl:1375
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1385
+#: git-add--interactive.perl:1376
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1388
+#: git-add--interactive.perl:1379
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1389
+#: git-add--interactive.perl:1380
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1381
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1493
+#: git-add--interactive.perl:1484
 msgid "go to which hunk (<ret> to see more)? "
 msgstr ""
 
-#: git-add--interactive.perl:1495
+#: git-add--interactive.perl:1486
 msgid "go to which hunk? "
 msgstr ""
 
-#: git-add--interactive.perl:1504
+#: git-add--interactive.perl:1495
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr ""
 
-#: git-add--interactive.perl:1509
+#: git-add--interactive.perl:1500
 #, 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:1535
+#: git-add--interactive.perl:1526
 msgid "search for regex? "
 msgstr ""
 
-#: git-add--interactive.perl:1548
+#: git-add--interactive.perl:1539
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1558
+#: git-add--interactive.perl:1549
 msgid "No hunk matches the given pattern\n"
 msgstr ""
 
-#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+#: git-add--interactive.perl:1561 git-add--interactive.perl:1583
 msgid "No previous hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1589
 msgid "No next hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1606
+#: git-add--interactive.perl:1597
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:1658
+#: git-add--interactive.perl:1649
 msgid "Review diff"
 msgstr ""
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1677
+#: git-add--interactive.perl:1668
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
 "revert        - revert staged set of changes back to the HEAD version\n"
 "patch         - pick hunks and update selectively\n"
-"diff\t      - view diff between HEAD and index\n"
+"diff          - view diff between HEAD and index\n"
 "add untracked - add contents of untracked files to the staged set of "
 "changes\n"
 msgstr ""
 
-#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
-#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
-#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+#: 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
 msgid "missing --"
 msgstr ""
 
-#: git-add--interactive.perl:1715
+#: git-add--interactive.perl:1706
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#: git-add--interactive.perl:1712 git-add--interactive.perl:1718
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr ""