pack-objects: use object_id in packlist_alloc()
[gitweb.git] / po / git.pot
index e00e84440fbc07eb1a0d57bd88b7de50786ea869..d799696ad09a13f4e4e1279c553ce384781504cb 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-02-15 10:09+0800\n"
+"POT-Creation-Date: 2019-08-10 20:12+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,71 +18,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: advice.c:101
+#: advice.c:109
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr ""
 
-#: advice.c:154
+#: advice.c:162
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:156
+#: advice.c:164
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:158
+#: advice.c:166
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:160
+#: advice.c:168
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:162
+#: advice.c:170
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 
-#: advice.c:164
+#: advice.c:172
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 
-#: advice.c:172
+#: advice.c:180
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
 msgstr ""
 
-#: advice.c:180
+#: advice.c:188
 msgid "Exiting because of an unresolved conflict."
 msgstr ""
 
-#: advice.c:185 builtin/merge.c:1290
+#: advice.c:193 builtin/merge.c:1327
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr ""
 
-#: advice.c:187
+#: advice.c:195
 msgid "Please, commit your changes before merging."
 msgstr ""
 
-#: advice.c:188
+#: advice.c:196
 msgid "Exiting because of unfinished merge."
 msgstr ""
 
-#: advice.c:194
+#: advice.c:202
 #, c-format
 msgid ""
-"Note: checking out '%s'.\n"
+"Note: switching to '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by performing another checkout.\n"
+"state without impacting any branches by switching back to a branch.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -b with the checkout command again. Example:\n"
+"do so (now or later) by using -c with the switch command. Example:\n"
+"\n"
+"  git switch -c <new-branch-name>\n"
+"\n"
+"Or undo this operation with:\n"
 "\n"
-"  git checkout -b <new-branch-name>\n"
+"  git switch -\n"
+"\n"
+"Turn off this advice by setting config variable advice.detachedHead to "
+"false\n"
 "\n"
 msgstr ""
 
@@ -94,92 +101,92 @@ msgstr ""
 msgid "unclosed quote"
 msgstr ""
 
-#: apply.c:59
+#: apply.c:69
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr ""
 
-#: apply.c:75
+#: apply.c:85
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr ""
 
-#: apply.c:125
+#: apply.c:135
 msgid "--reject and --3way cannot be used together."
 msgstr ""
 
-#: apply.c:127
+#: apply.c:137
 msgid "--cached and --3way cannot be used together."
 msgstr ""
 
-#: apply.c:130
+#: apply.c:140
 msgid "--3way outside a repository"
 msgstr ""
 
-#: apply.c:141
+#: apply.c:151
 msgid "--index outside a repository"
 msgstr ""
 
-#: apply.c:144
+#: apply.c:154
 msgid "--cached outside a repository"
 msgstr ""
 
-#: apply.c:825
+#: apply.c:801
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr ""
 
-#: apply.c:834
+#: apply.c:810
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr ""
 
-#: apply.c:908
+#: apply.c:884
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr ""
 
-#: apply.c:946
+#: apply.c:922
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 
-#: apply.c:952
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr ""
 
-#: apply.c:953
+#: apply.c:929
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr ""
 
-#: apply.c:958
+#: apply.c:934
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr ""
 
-#: apply.c:987
+#: apply.c:963
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr ""
 
-#: apply.c:1306
+#: apply.c:1282
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr ""
 
-#: apply.c:1478
+#: apply.c:1460
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr ""
 
-#: apply.c:1547
+#: apply.c:1529
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr ""
 
-#: apply.c:1567
+#: apply.c:1551
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -190,528 +197,527 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:1580
+#: apply.c:1564
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 
-#: apply.c:1768
+#: apply.c:1752
 msgid "new file depends on old contents"
 msgstr ""
 
-#: apply.c:1770
+#: apply.c:1754
 msgid "deleted file still has contents"
 msgstr ""
 
-#: apply.c:1804
+#: apply.c:1788
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr ""
 
-#: apply.c:1841
+#: apply.c:1825
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr ""
 
-#: apply.c:1843
+#: apply.c:1827
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr ""
 
-#: apply.c:1846
+#: apply.c:1830
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr ""
 
-#: apply.c:1993
+#: apply.c:1977
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr ""
 
-#: apply.c:2030
+#: apply.c:2014
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr ""
 
-#: apply.c:2192
+#: apply.c:2176
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr ""
 
-#: apply.c:2278
+#: apply.c:2262
 #, c-format
 msgid "unable to read symlink %s"
 msgstr ""
 
-#: apply.c:2282
+#: apply.c:2266
 #, c-format
 msgid "unable to open or read %s"
 msgstr ""
 
-#: apply.c:2941
+#: apply.c:2925
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr ""
 
-#: apply.c:3062
+#: apply.c:3046
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:3074
+#: apply.c:3058
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr ""
 
-#: apply.c:3080
+#: apply.c:3064
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr ""
 
-#: apply.c:3102
+#: apply.c:3086
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr ""
 
-#: apply.c:3110
+#: apply.c:3094
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 
-#: apply.c:3157
+#: apply.c:3141
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 
-#: apply.c:3167
+#: apply.c:3151
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 
-#: apply.c:3175
+#: apply.c:3159
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr ""
 
-#: apply.c:3193
+#: apply.c:3177
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr ""
 
-#: apply.c:3206
+#: apply.c:3190
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr ""
 
-#: apply.c:3212
+#: apply.c:3196
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 
-#: apply.c:3233
+#: apply.c:3217
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr ""
 
-#: apply.c:3356
+#: apply.c:3340
 #, c-format
 msgid "cannot checkout %s"
 msgstr ""
 
-#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278
+#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279
 #, c-format
 msgid "failed to read %s"
 msgstr ""
 
-#: apply.c:3416
+#: apply.c:3400
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3445 apply.c:3688
+#: apply.c:3429 apply.c:3672
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr ""
 
-#: apply.c:3531 apply.c:3703
+#: apply.c:3515 apply.c:3687
 #, c-format
 msgid "%s: does not exist in index"
 msgstr ""
 
-#: apply.c:3540 apply.c:3711
+#: apply.c:3524 apply.c:3695
 #, c-format
 msgid "%s: does not match index"
 msgstr ""
 
-#: apply.c:3575
+#: apply.c:3559
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 
-#: apply.c:3578
+#: apply.c:3562
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr ""
 
-#: apply.c:3594 apply.c:3598
+#: apply.c:3578 apply.c:3582
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr ""
 
-#: apply.c:3610
+#: apply.c:3594
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr ""
 
-#: apply.c:3624
+#: apply.c:3608
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr ""
 
-#: apply.c:3629
+#: apply.c:3613
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr ""
 
-#: apply.c:3655
+#: apply.c:3639
 msgid "removal patch leaves file contents"
 msgstr ""
 
-#: apply.c:3728
+#: apply.c:3712
 #, c-format
 msgid "%s: wrong type"
 msgstr ""
 
-#: apply.c:3730
+#: apply.c:3714
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr ""
 
-#: apply.c:3881 apply.c:3883 read-cache.c:820 read-cache.c:846
-#: read-cache.c:1299
+#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1309
 #, c-format
 msgid "invalid path '%s'"
 msgstr ""
 
-#: apply.c:3939
+#: apply.c:3923
 #, c-format
 msgid "%s: already exists in index"
 msgstr ""
 
-#: apply.c:3942
+#: apply.c:3926
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr ""
 
-#: apply.c:3962
+#: apply.c:3946
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr ""
 
-#: apply.c:3967
+#: apply.c:3951
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 
-#: apply.c:3987
+#: apply.c:3971
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr ""
 
-#: apply.c:3991
+#: apply.c:3975
 #, c-format
 msgid "%s: patch does not apply"
 msgstr ""
 
-#: apply.c:4006
+#: apply.c:3990
 #, c-format
 msgid "Checking patch %s..."
 msgstr ""
 
-#: apply.c:4098
+#: apply.c:4082
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 
-#: apply.c:4105
+#: apply.c:4089
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr ""
 
-#: apply.c:4108
+#: apply.c:4092
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr ""
 
-#: apply.c:4113 builtin/checkout.c:248 builtin/reset.c:143
+#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr ""
 
-#: apply.c:4117
+#: apply.c:4101
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr ""
 
-#: apply.c:4127
+#: apply.c:4111
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr ""
 
-#: apply.c:4265
+#: apply.c:4249
 #, c-format
 msgid "unable to remove %s from index"
 msgstr ""
 
-#: apply.c:4299
+#: apply.c:4283
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr ""
 
-#: apply.c:4305
+#: apply.c:4289
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr ""
 
-#: apply.c:4313
+#: apply.c:4297
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 
-#: apply.c:4319 apply.c:4464
+#: apply.c:4303 apply.c:4448
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr ""
 
-#: apply.c:4362
+#: apply.c:4346
 #, c-format
 msgid "failed to write to '%s'"
 msgstr ""
 
-#: apply.c:4366
+#: apply.c:4350
 #, c-format
 msgid "closing file '%s'"
 msgstr ""
 
-#: apply.c:4436
+#: apply.c:4420
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr ""
 
-#: apply.c:4534
+#: apply.c:4518
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr ""
 
-#: apply.c:4542
+#: apply.c:4526
 msgid "internal error"
 msgstr ""
 
-#: apply.c:4545
+#: apply.c:4529
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4556
+#: apply.c:4540
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr ""
 
-#: apply.c:4564 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168
 #, c-format
 msgid "cannot open %s"
 msgstr ""
 
-#: apply.c:4578
+#: apply.c:4562
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr ""
 
-#: apply.c:4582
+#: apply.c:4566
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr ""
 
-#: apply.c:4692
+#: apply.c:4676
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr ""
 
-#: apply.c:4700
+#: apply.c:4684
 msgid "unrecognized input"
 msgstr ""
 
-#: apply.c:4720
+#: apply.c:4704
 msgid "unable to read index file"
 msgstr ""
 
-#: apply.c:4875
+#: apply.c:4859
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr ""
 
-#: apply.c:4902
+#: apply.c:4886
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4908 apply.c:4923
+#: apply.c:4892 apply.c:4907
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] ""
 msgstr[1] ""
 
-#: apply.c:4916
+#: apply.c:4900
 #, 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:4932 builtin/add.c:539 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr ""
 
-#: apply.c:4959 apply.c:4962 builtin/am.c:2203 builtin/am.c:2206
-#: builtin/clone.c:122 builtin/fetch.c:118 builtin/merge.c:263
-#: builtin/pull.c:200 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
+#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211
+#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273
+#: builtin/pull.c:208 builtin/submodule--helper.c:407
+#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370
 #: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:197
+#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211
 msgid "path"
 msgstr ""
 
-#: apply.c:4960
+#: apply.c:4944
 msgid "don't apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4963
+#: apply.c:4947
 msgid "apply changes matching the given path"
 msgstr ""
 
-#: apply.c:4965 builtin/am.c:2212
+#: apply.c:4949 builtin/am.c:2217
 msgid "num"
 msgstr ""
 
-#: apply.c:4966
+#: apply.c:4950
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 
-#: apply.c:4969
+#: apply.c:4953
 msgid "ignore additions made by the patch"
 msgstr ""
 
-#: apply.c:4971
+#: apply.c:4955
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 
-#: apply.c:4975
+#: apply.c:4959
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 
-#: apply.c:4977
+#: apply.c:4961
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 
-#: apply.c:4979
+#: apply.c:4963
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 
-#: apply.c:4981
+#: apply.c:4965
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 
-#: apply.c:4983
+#: apply.c:4967
 msgid "mark new files with `git add --intent-to-add`"
 msgstr ""
 
-#: apply.c:4985
+#: apply.c:4969
 msgid "apply a patch without touching the working tree"
 msgstr ""
 
-#: apply.c:4987
+#: apply.c:4971
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 
-#: apply.c:4990
+#: apply.c:4974
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 
-#: apply.c:4992
+#: apply.c:4976
 msgid "attempt three-way merge if a patch does not apply"
 msgstr ""
 
-#: apply.c:4994
+#: apply.c:4978
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 
-#: apply.c:4997 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524
 msgid "paths are separated with NUL character"
 msgstr ""
 
-#: apply.c:4999
+#: apply.c:4983
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 
-#: apply.c:5000 builtin/am.c:2191 builtin/interpret-trailers.c:97
-#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3314 builtin/rebase.c:1065
+#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
+#: builtin/pack-objects.c:3330 builtin/rebase.c:1421
 msgid "action"
 msgstr ""
 
-#: apply.c:5001
+#: apply.c:4985
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 
-#: apply.c:5004 apply.c:5007
+#: apply.c:4988 apply.c:4991
 msgid "ignore changes in whitespace when finding context"
 msgstr ""
 
-#: apply.c:5010
+#: apply.c:4994
 msgid "apply the patch in reverse"
 msgstr ""
 
-#: apply.c:5012
+#: apply.c:4996
 msgid "don't expect at least one line of context"
 msgstr ""
 
-#: apply.c:5014
+#: apply.c:4998
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 
-#: apply.c:5016
+#: apply.c:5000
 msgid "allow overlapping hunks"
 msgstr ""
 
-#: apply.c:5017 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1312 builtin/count-objects.c:98 builtin/fsck.c:724
-#: builtin/log.c:2037 builtin/mv.c:123 builtin/read-tree.c:128
-#: builtin/rebase--interactive.c:159
+#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22
+#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786
+#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr ""
 
-#: apply.c:5019
+#: apply.c:5003
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 
-#: apply.c:5022
+#: apply.c:5006
 msgid "do not trust the line counts in the hunk headers"
 msgstr ""
 
-#: apply.c:5024 builtin/am.c:2200
+#: apply.c:5008 builtin/am.c:2205
 msgid "root"
 msgstr ""
 
-#: apply.c:5025
+#: apply.c:5009
 msgid "prepend <root> to all filenames"
 msgstr ""
 
@@ -732,7 +738,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr ""
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:515 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr ""
@@ -752,98 +758,98 @@ msgstr ""
 msgid "not a tree object: %s"
 msgstr ""
 
-#: archive.c:424
+#: archive.c:426
 msgid "current working directory is untracked"
 msgstr ""
 
-#: archive.c:455
+#: archive.c:457
 msgid "fmt"
 msgstr ""
 
-#: archive.c:455
+#: archive.c:457
 msgid "archive format"
 msgstr ""
 
-#: archive.c:456 builtin/log.c:1549
+#: archive.c:458 builtin/log.c:1580
 msgid "prefix"
 msgstr ""
 
-#: archive.c:457
+#: archive.c:459
 msgid "prepend prefix to each pathname in the archive"
 msgstr ""
 
-#: archive.c:458 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129
-#: builtin/fast-export.c:1091 builtin/fast-export.c:1093 builtin/grep.c:895
-#: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563
-#: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123
-#: parse-options.h:162
+#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134
+#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105
+#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
 msgid "file"
 msgstr ""
 
-#: archive.c:459 builtin/archive.c:90
+#: archive.c:461 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr ""
 
-#: archive.c:461
+#: archive.c:463
 msgid "read .gitattributes in working directory"
 msgstr ""
 
-#: archive.c:462
+#: archive.c:464
 msgid "report archived files on stderr"
 msgstr ""
 
-#: archive.c:463
+#: archive.c:465
 msgid "store only"
 msgstr ""
 
-#: archive.c:464
+#: archive.c:466
 msgid "compress faster"
 msgstr ""
 
-#: archive.c:472
+#: archive.c:474
 msgid "compress better"
 msgstr ""
 
-#: archive.c:475
+#: archive.c:477
 msgid "list supported archive formats"
 msgstr ""
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1859
+#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859
 msgid "repo"
 msgstr ""
 
-#: archive.c:478 builtin/archive.c:92
+#: archive.c:480 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr ""
 
-#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:715
+#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707
 #: builtin/notes.c:498
 msgid "command"
 msgstr ""
 
-#: archive.c:480 builtin/archive.c:94
+#: archive.c:482 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr ""
 
-#: archive.c:487
+#: archive.c:489
 msgid "Unexpected option --remote"
 msgstr ""
 
-#: archive.c:489
+#: archive.c:491
 msgid "Option --exec can only be used together with --remote"
 msgstr ""
 
-#: archive.c:491
+#: archive.c:493
 msgid "Unexpected option --output"
 msgstr ""
 
-#: archive.c:513
+#: archive.c:515
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr ""
 
-#: archive.c:520
+#: archive.c:522
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr ""
@@ -863,16 +869,16 @@ msgstr ""
 msgid "cannot read %s"
 msgstr ""
 
-#: archive-tar.c:458
+#: archive-tar.c:459
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr ""
 
-#: archive-tar.c:461
+#: archive-tar.c:462
 msgid "unable to redirect descriptor"
 msgstr ""
 
-#: archive-tar.c:468
+#: archive-tar.c:469
 #, c-format
 msgid "'%s' filter reported error"
 msgstr ""
@@ -887,7 +893,7 @@ msgstr ""
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr ""
 
-#: archive-zip.c:474 builtin/pack-objects.c:225 builtin/pack-objects.c:228
+#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233
 #, c-format
 msgid "deflate error (%d)"
 msgstr ""
@@ -975,33 +981,33 @@ msgstr ""
 msgid "a %s revision is needed"
 msgstr ""
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:237
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254
 #, c-format
 msgid "could not create file '%s'"
 msgstr ""
 
-#: bisect.c:937 builtin/merge.c:139
+#: bisect.c:928 builtin/merge.c:148
 #, c-format
 msgid "could not read file '%s'"
 msgstr ""
 
-#: bisect.c:967
+#: bisect.c:958
 msgid "reading bisect refs failed"
 msgstr ""
 
-#: bisect.c:986
+#: bisect.c:977
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr ""
 
-#: bisect.c:994
+#: bisect.c:985
 #, c-format
 msgid ""
 "No testable commit found.\n"
 "Maybe you started with bad path parameters?\n"
 msgstr ""
 
-#: bisect.c:1013
+#: bisect.c:1004
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1011,49 +1017,49 @@ msgstr[1] ""
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1019
+#: bisect.c:1010
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: blame.c:1792
+#: blame.c:2697
 msgid "--contents and --reverse do not blend well."
 msgstr ""
 
-#: blame.c:1806
+#: blame.c:2711
 msgid "cannot use --contents with final commit object name"
 msgstr ""
 
-#: blame.c:1827
+#: blame.c:2732
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 
-#: blame.c:1836 bundle.c:164 ref-filter.c:2071 remote.c:1948 sequencer.c:1993
-#: sequencer.c:4064 builtin/commit.c:1004 builtin/log.c:378 builtin/log.c:936
-#: builtin/log.c:1420 builtin/log.c:1796 builtin/log.c:2086 builtin/merge.c:407
-#: builtin/pack-objects.c:3137 builtin/pack-objects.c:3152
+#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033
+#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963
+#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411
+#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr ""
 
-#: blame.c:1854
+#: blame.c:2759
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 
-#: blame.c:1865
+#: blame.c:2770
 #, c-format
 msgid "no such path %s in %s"
 msgstr ""
 
-#: blame.c:1876
+#: blame.c:2781
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr ""
 
-#: branch.c:52
+#: branch.c:53
 #, c-format
 msgid ""
 "\n"
@@ -1062,85 +1068,85 @@ msgid ""
 "\"git branch --set-upstream-to=%s%s%s\"."
 msgstr ""
 
-#: branch.c:66
+#: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr ""
 
-#: branch.c:92
+#: branch.c:93
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr ""
 
-#: branch.c:93
+#: branch.c:94
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr ""
 
-#: branch.c:97
+#: branch.c:98
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr ""
 
-#: branch.c:98
+#: branch.c:99
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr ""
 
-#: branch.c:103
+#: branch.c:104
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr ""
 
-#: branch.c:104
+#: branch.c:105
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr ""
 
-#: branch.c:108
+#: branch.c:109
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr ""
 
-#: branch.c:109
+#: branch.c:110
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr ""
 
-#: branch.c:118
+#: branch.c:119
 msgid "Unable to write upstream branch configuration"
 msgstr ""
 
-#: branch.c:155
+#: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr ""
 
-#: branch.c:188
+#: branch.c:189
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr ""
 
-#: branch.c:207
+#: branch.c:208
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr ""
 
-#: branch.c:212
+#: branch.c:213
 msgid "Cannot force update the current branch."
 msgstr ""
 
-#: branch.c:232
+#: branch.c:233
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 
-#: branch.c:234
+#: branch.c:235
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr ""
 
-#: branch.c:236
+#: branch.c:237
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1152,27 +1158,27 @@ msgid ""
 "\"git push -u\" to set the upstream config as you push."
 msgstr ""
 
-#: branch.c:280
+#: branch.c:281
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr ""
 
-#: branch.c:300
+#: branch.c:301
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr ""
 
-#: branch.c:305
+#: branch.c:306
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr ""
 
-#: branch.c:359
+#: branch.c:364
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr ""
 
-#: branch.c:382
+#: branch.c:387
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr ""
@@ -1187,8 +1193,8 @@ msgstr ""
 msgid "unrecognized header: %s%s (%d)"
 msgstr ""
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2215 sequencer.c:2763
-#: builtin/commit.c:776
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024
+#: builtin/commit.c:791
 #, c-format
 msgid "could not open '%s'"
 msgstr ""
@@ -1197,60 +1203,64 @@ msgstr ""
 msgid "Repository lacks these prerequisite commits:"
 msgstr ""
 
-#: bundle.c:194
+#: bundle.c:146
+msgid "need a repository to verify a bundle"
+msgstr ""
+
+#: bundle.c:197
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: bundle.c:201
+#: bundle.c:204
 msgid "The bundle records a complete history."
 msgstr ""
 
-#: bundle.c:203
+#: bundle.c:206
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: bundle.c:269
+#: bundle.c:272
 msgid "unable to dup bundle descriptor"
 msgstr ""
 
-#: bundle.c:276
+#: bundle.c:279
 msgid "Could not spawn pack-objects"
 msgstr ""
 
-#: bundle.c:287
+#: bundle.c:290
 msgid "pack-objects died"
 msgstr ""
 
-#: bundle.c:329
+#: bundle.c:332
 msgid "rev-list died"
 msgstr ""
 
-#: bundle.c:378
+#: bundle.c:381
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr ""
 
-#: bundle.c:457 builtin/log.c:193 builtin/log.c:1701 builtin/shortlog.c:306
+#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr ""
 
-#: bundle.c:465
+#: bundle.c:468
 msgid "Refusing to create empty bundle."
 msgstr ""
 
-#: bundle.c:475
+#: bundle.c:478
 #, c-format
 msgid "cannot create '%s'"
 msgstr ""
 
-#: bundle.c:500
+#: bundle.c:503
 msgid "index-pack died"
 msgstr ""
 
@@ -1259,9 +1269,8 @@ msgstr ""
 msgid "invalid color value: %.*s"
 msgstr ""
 
-#: commit.c:50 sequencer.c:2567 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1375 builtin/am.c:2019 builtin/replace.c:376
-#: builtin/replace.c:448
+#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399
+#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455
 #, c-format
 msgid "could not parse %s"
 msgstr ""
@@ -1271,7 +1280,7 @@ msgstr ""
 msgid "%s %s is not a commit!"
 msgstr ""
 
-#: commit.c:193
+#: commit.c:192
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1283,163 +1292,279 @@ msgid ""
 "\"git config advice.graftFileDeprecated false\""
 msgstr ""
 
-#: commit.c:1122
+#: commit.c:1127
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 
-#: commit.c:1125
+#: commit.c:1130
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr ""
 
-#: commit.c:1128
+#: commit.c:1133
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr ""
 
-#: commit.c:1131
+#: commit.c:1136
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr ""
 
-#: commit.c:1385
+#: commit.c:1390
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
 
-#: commit-graph.c:101
-#, c-format
-msgid "graph file %s is too small"
+#: commit-graph.c:127
+msgid "commit-graph file is too small"
 msgstr ""
 
-#: commit-graph.c:136
+#: commit-graph.c:192
 #, c-format
-msgid "graph signature %X does not match signature %X"
+msgid "commit-graph signature %X does not match signature %X"
 msgstr ""
 
-#: commit-graph.c:143
+#: commit-graph.c:199
 #, c-format
-msgid "graph version %X does not match version %X"
+msgid "commit-graph version %X does not match version %X"
 msgstr ""
 
-#: commit-graph.c:150
+#: commit-graph.c:206
 #, c-format
-msgid "hash version %X does not match version %X"
+msgid "commit-graph hash version %X does not match version %X"
+msgstr ""
+
+#: commit-graph.c:229
+msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
 
-#: commit-graph.c:173
-msgid "chunk lookup table entry missing; graph file may be incomplete"
+#: commit-graph.c:240
+#, c-format
+msgid "commit-graph improper chunk offset %08x%08x"
 msgstr ""
 
-#: commit-graph.c:184
+#: commit-graph.c:283
 #, c-format
-msgid "improper chunk offset %08x%08x"
+msgid "commit-graph chunk id %08x appears multiple times"
+msgstr ""
+
+#: commit-graph.c:347
+msgid "commit-graph has no base graphs chunk"
 msgstr ""
 
-#: commit-graph.c:221
+#: commit-graph.c:357
+msgid "commit-graph chain does not match"
+msgstr ""
+
+#: commit-graph.c:404
 #, c-format
-msgid "chunk id %08x appears multiple times"
+msgid "invalid commit-graph chain: line '%s' not a hash"
+msgstr ""
+
+#: commit-graph.c:430
+msgid "unable to find all commit-graph files"
 msgstr ""
 
-#: commit-graph.c:334
+#: commit-graph.c:554 commit-graph.c:614
+msgid "invalid commit position. commit-graph is likely corrupt"
+msgstr ""
+
+#: commit-graph.c:575
 #, c-format
 msgid "could not find commit %s"
 msgstr ""
 
-#: commit-graph.c:671 builtin/pack-objects.c:2646
+#: commit-graph.c:1002 builtin/pack-objects.c:2657
 #, c-format
 msgid "unable to get type of object %s"
 msgstr ""
 
-#: commit-graph.c:704
+#: commit-graph.c:1034
 msgid "Loading known commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:720
+#: commit-graph.c:1051
 msgid "Expanding reachable commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:732
+#: commit-graph.c:1070
 msgid "Clearing commit marks in commit graph"
 msgstr ""
 
-#: commit-graph.c:752
+#: commit-graph.c:1089
 msgid "Computing commit graph generation numbers"
 msgstr ""
 
-#: commit-graph.c:869
+#: commit-graph.c:1163
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: commit-graph.c:882
+#: commit-graph.c:1176
 #, c-format
 msgid "error adding pack %s"
 msgstr ""
 
-#: commit-graph.c:884
+#: commit-graph.c:1180
 #, c-format
 msgid "error opening index for %s"
 msgstr ""
 
-#: commit-graph.c:898
+#: commit-graph.c:1204
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: commit-graph.c:930
+#: commit-graph.c:1238
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 
-#: commit-graph.c:943
+#: commit-graph.c:1253
 msgid "Counting distinct commits in commit graph"
 msgstr ""
 
-#: commit-graph.c:956
-#, c-format
-msgid "the commit graph format cannot write %d commits"
-msgstr ""
-
-#: commit-graph.c:965
+#: commit-graph.c:1284
 msgid "Finding extra edges in commit graph"
 msgstr ""
 
-#: commit-graph.c:989
-msgid "too many commits to write graph"
+#: commit-graph.c:1332
+msgid "failed to write correct number of base graph ids"
 msgstr ""
 
-#: commit-graph.c:996 midx.c:769
+#: commit-graph.c:1365 midx.c:811
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr ""
 
-#: commit-graph.c:1036
+#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240
+#, c-format
+msgid "unable to create '%s'"
+msgstr ""
+
+#: commit-graph.c:1437
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: commit-graph.c:1109
+#: commit-graph.c:1478
+msgid "unable to open commit-graph chain file"
+msgstr ""
+
+#: commit-graph.c:1490
+msgid "failed to rename base commit-graph file"
+msgstr ""
+
+#: commit-graph.c:1510
+msgid "failed to rename temporary commit-graph file"
+msgstr ""
+
+#: commit-graph.c:1621
+msgid "Scanning merged commits"
+msgstr ""
+
+#: commit-graph.c:1632
+#, c-format
+msgid "unexpected duplicate commit id %s"
+msgstr ""
+
+#: commit-graph.c:1657
+msgid "Merging commit-graph"
+msgstr ""
+
+#: commit-graph.c:1844
+#, c-format
+msgid "the commit graph format cannot write %d commits"
+msgstr ""
+
+#: commit-graph.c:1855
+msgid "too many commits to write graph"
+msgstr ""
+
+#: commit-graph.c:1945
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 
-#: commit-graph.c:1153
+#: commit-graph.c:1955
+#, c-format
+msgid "commit-graph has incorrect OID order: %s then %s"
+msgstr ""
+
+#: commit-graph.c:1965 commit-graph.c:1980
+#, c-format
+msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
+msgstr ""
+
+#: commit-graph.c:1972
+#, c-format
+msgid "failed to parse commit %s from commit-graph"
+msgstr ""
+
+#: commit-graph.c:1989
 msgid "Verifying commits in commit graph"
 msgstr ""
 
+#: commit-graph.c:2002
+#, c-format
+msgid "failed to parse commit %s from object database for commit-graph"
+msgstr ""
+
+#: commit-graph.c:2009
+#, c-format
+msgid "root tree OID for commit %s in commit-graph is %s != %s"
+msgstr ""
+
+#: commit-graph.c:2019
+#, c-format
+msgid "commit-graph parent list for commit %s is too long"
+msgstr ""
+
+#: commit-graph.c:2028
+#, c-format
+msgid "commit-graph parent for %s is %s != %s"
+msgstr ""
+
+#: commit-graph.c:2041
+#, c-format
+msgid "commit-graph parent list for commit %s terminates early"
+msgstr ""
+
+#: commit-graph.c:2046
+#, c-format
+msgid ""
+"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
+msgstr ""
+
+#: commit-graph.c:2050
+#, c-format
+msgid ""
+"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
+msgstr ""
+
+#: commit-graph.c:2065
+#, c-format
+msgid "commit-graph generation for commit %s is %u != %u"
+msgstr ""
+
+#: commit-graph.c:2071
+#, c-format
+msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
+msgstr ""
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr ""
 
-#: config.c:123
+#: config.c:124
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -1449,294 +1574,294 @@ msgid ""
 "This might be due to circular includes."
 msgstr ""
 
-#: config.c:139
+#: config.c:140
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr ""
 
-#: config.c:150
+#: config.c:151
 msgid "relative config includes must come from files"
 msgstr ""
 
-#: config.c:190
+#: config.c:197
 msgid "relative config include conditionals must come from files"
 msgstr ""
 
-#: config.c:348
+#: config.c:376
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr ""
 
-#: config.c:354
+#: config.c:382
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr ""
 
-#: config.c:378 sequencer.c:2330
+#: config.c:406 sequencer.c:2463
 #, c-format
 msgid "invalid key: %s"
 msgstr ""
 
-#: config.c:384
+#: config.c:412
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr ""
 
-#: config.c:420 config.c:432
+#: config.c:448 config.c:460
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr ""
 
-#: config.c:467
+#: config.c:495
 #, c-format
 msgid "bogus format in %s"
 msgstr ""
 
-#: config.c:793
+#: config.c:821
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr ""
 
-#: config.c:797
+#: config.c:825
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr ""
 
-#: config.c:801
+#: config.c:829
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr ""
 
-#: config.c:805
+#: config.c:833
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr ""
 
-#: config.c:809
+#: config.c:837
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr ""
 
-#: config.c:813
+#: config.c:841
 #, c-format
 msgid "bad config line %d in %s"
 msgstr ""
 
-#: config.c:952
+#: config.c:978
 msgid "out of range"
 msgstr ""
 
-#: config.c:952
+#: config.c:978
 msgid "invalid unit"
 msgstr ""
 
-#: config.c:958
+#: config.c:979
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr ""
 
-#: config.c:963
+#: config.c:998
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr ""
 
-#: config.c:966
+#: config.c:1001
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr ""
 
-#: config.c:969
+#: config.c:1004
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 
-#: config.c:972
+#: config.c:1007
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 
-#: config.c:975
+#: config.c:1010
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr ""
 
-#: config.c:978
+#: config.c:1013
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 
-#: config.c:1073
+#: config.c:1108
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr ""
 
-#: config.c:1082
+#: config.c:1117
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr ""
 
-#: config.c:1173
+#: config.c:1208
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr ""
 
-#: config.c:1187 config.c:1198
+#: config.c:1222 config.c:1233
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr ""
 
-#: config.c:1290
+#: config.c:1325
 msgid "core.commentChar should only be one character"
 msgstr ""
 
-#: config.c:1323
+#: config.c:1358
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr ""
 
-#: config.c:1395
+#: config.c:1430
 #, c-format
 msgid "malformed value for %s"
 msgstr ""
 
-#: config.c:1421
+#: config.c:1456
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr ""
 
-#: config.c:1422
+#: config.c:1457
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr ""
 
-#: config.c:1481 builtin/pack-objects.c:3394
+#: config.c:1518 builtin/pack-objects.c:3410
 #, c-format
 msgid "bad pack compression level %d"
 msgstr ""
 
-#: config.c:1602
+#: config.c:1639
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr ""
 
-#: config.c:1605
+#: config.c:1642
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr ""
 
-#: config.c:1622
+#: config.c:1659
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr ""
 
-#: config.c:1652
+#: config.c:1689
 #, c-format
 msgid "failed to parse %s"
 msgstr ""
 
-#: config.c:1705
+#: config.c:1745
 msgid "unable to parse command-line config"
 msgstr ""
 
-#: config.c:2037
+#: config.c:2094
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 
-#: config.c:2207
+#: config.c:2264
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr ""
 
-#: config.c:2250
+#: config.c:2307
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr ""
 
-#: config.c:2276
+#: config.c:2333
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr ""
 
-#: config.c:2322
+#: config.c:2379
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 
-#: config.c:2324
+#: config.c:2381
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 
-#: config.c:2405
+#: config.c:2462
 #, c-format
 msgid "invalid section name '%s'"
 msgstr ""
 
-#: config.c:2437
+#: config.c:2494
 #, c-format
 msgid "%s has multiple values"
 msgstr ""
 
-#: config.c:2466
+#: config.c:2523
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr ""
 
-#: config.c:2716 config.c:3040
+#: config.c:2775 config.c:3099
 #, c-format
 msgid "could not lock config file %s"
 msgstr ""
 
-#: config.c:2727
+#: config.c:2786
 #, c-format
 msgid "opening %s"
 msgstr ""
 
-#: config.c:2762 builtin/config.c:328
+#: config.c:2821 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr ""
 
-#: config.c:2787
+#: config.c:2846
 #, c-format
 msgid "invalid config file %s"
 msgstr ""
 
-#: config.c:2800 config.c:3053
+#: config.c:2859 config.c:3112
 #, c-format
 msgid "fstat on %s failed"
 msgstr ""
 
-#: config.c:2811
+#: config.c:2870
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr ""
 
-#: config.c:2820 config.c:3058
+#: config.c:2879 config.c:3117
 #, c-format
 msgid "chmod on %s failed"
 msgstr ""
 
-#: config.c:2905 config.c:3155
+#: config.c:2964 config.c:3214
 #, c-format
 msgid "could not write config file %s"
 msgstr ""
 
-#: config.c:2939
+#: config.c:2998
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr ""
 
-#: config.c:2941 builtin/remote.c:782
+#: config.c:3000 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr ""
 
-#: config.c:3031
+#: config.c:3090
 #, c-format
 msgid "invalid section name: %s"
 msgstr ""
 
-#: config.c:3198
+#: config.c:3257
 #, c-format
 msgid "missing value for '%s'"
 msgstr ""
@@ -1883,28 +2008,28 @@ msgstr ""
 msgid "ssh variant 'simple' does not support setting port"
 msgstr ""
 
-#: connect.c:1259
+#: connect.c:1260
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr ""
 
-#: connect.c:1304
+#: connect.c:1307
 msgid "unable to fork"
 msgstr ""
 
-#: connected.c:68 builtin/fsck.c:221 builtin/prune.c:146
+#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr ""
 
-#: connected.c:80
+#: connected.c:98
 msgid "Could not run 'git rev-list'"
 msgstr ""
 
-#: connected.c:100
+#: connected.c:118
 msgid "failed write to rev-list"
 msgstr ""
 
-#: connected.c:107
+#: connected.c:125
 msgid "failed to close rev-list's stdin"
 msgstr ""
 
@@ -2112,7 +2237,7 @@ msgstr ""
 msgid "island regex from config has too many capture groups (max=%d)"
 msgstr ""
 
-#: delta-islands.c:466
+#: delta-islands.c:467
 #, c-format
 msgid "Marked %d islands, done.\n"
 msgstr ""
@@ -2126,416 +2251,884 @@ msgstr ""
 msgid "Performing inexact rename detection"
 msgstr ""
 
-#: diff.c:108
-#, c-format
-msgid "option '%s' requires a value"
+#: diff-no-index.c:238
+msgid "git diff --no-index [<options>] <path> <path>"
+msgstr ""
+
+#: diff-no-index.c:263
+msgid ""
+"Not a git repository. Use --no-index to compare two paths outside a working "
+"tree"
 msgstr ""
 
-#: diff.c:158
+#: diff.c:155
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr ""
 
-#: diff.c:163
+#: diff.c:160
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr ""
 
-#: diff.c:291
+#: diff.c:296
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
 msgstr ""
 
-#: diff.c:319
+#: diff.c:324
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
 "'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'"
 msgstr ""
 
-#: diff.c:327
+#: diff.c:332
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
 msgstr ""
 
-#: diff.c:400
+#: diff.c:405
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr ""
 
-#: diff.c:460
+#: diff.c:465
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 "%s"
 msgstr ""
 
-#: diff.c:4211
+#: diff.c:4215
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr ""
 
-#: diff.c:4553
+#: diff.c:4560
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 
-#: diff.c:4556
+#: diff.c:4563
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr ""
 
-#: diff.c:4634
+#: diff.c:4641
 msgid "--follow requires exactly one pathspec"
 msgstr ""
 
-#: diff.c:4800
+#: diff.c:4689
+#, c-format
+msgid "invalid --stat value: %s"
+msgstr ""
+
+#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222
+#: parse-options.c:199 parse-options.c:203
+#, c-format
+msgid "%s expects a numerical value"
+msgstr ""
+
+#: diff.c:4726
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr ""
 
-#: diff.c:4814
+#: diff.c:4811
 #, c-format
-msgid "Failed to parse --submodule option parameter: '%s'"
+msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr ""
 
-#: diff.c:5900
-msgid "inexact rename detection was skipped due to too many files."
+#: diff.c:4835
+#, c-format
+msgid "unknown value after ws-error-highlight=%.*s"
 msgstr ""
 
-#: diff.c:5903
-msgid "only found copies from modified paths due to too many files."
+#: diff.c:4849
+#, c-format
+msgid "unable to resolve '%s'"
 msgstr ""
 
-#: diff.c:5906
+#: diff.c:4899 diff.c:4905
 #, c-format
-msgid ""
-"you may want to set your %s variable to at least %d and retry the command."
+msgid "%s expects <n>/<m> form"
 msgstr ""
 
-#: dir.c:538
+#: diff.c:4917
 #, c-format
-msgid "pathspec '%s' did not match any file(s) known to git"
+msgid "%s expects a character, got '%s'"
 msgstr ""
 
-#: dir.c:927
+#: diff.c:4938
 #, c-format
-msgid "cannot use %s as an exclude file"
+msgid "bad --color-moved argument: %s"
 msgstr ""
 
-#: dir.c:1842
+#: diff.c:4957
 #, c-format
-msgid "could not open directory '%s'"
+msgid "invalid mode '%s' in --color-moved-ws"
 msgstr ""
 
-#: dir.c:2084
-msgid "failed to get kernel name and information"
+#: diff.c:4997
+msgid ""
+"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
+"\"histogram\""
 msgstr ""
 
-#: dir.c:2208
-msgid "untracked cache is disabled on this system or location"
+#: diff.c:5033 diff.c:5053
+#, c-format
+msgid "invalid argument to %s"
 msgstr ""
 
-#: dir.c:3009
+#: diff.c:5191
 #, c-format
-msgid "index file corrupt in repo %s"
+msgid "failed to parse --submodule option parameter: '%s'"
 msgstr ""
 
-#: dir.c:3054 dir.c:3059
+#: diff.c:5247
 #, c-format
-msgid "could not create directories for %s"
+msgid "bad --word-diff argument: %s"
 msgstr ""
 
-#: dir.c:3088
-#, c-format
-msgid "could not migrate git directory from '%s' to '%s'"
+#: diff.c:5270
+msgid "Diff output format options"
 msgstr ""
 
-#: editor.c:73
-#, c-format
-msgid "hint: Waiting for your editor to close the file...%c"
+#: diff.c:5272 diff.c:5278
+msgid "generate patch"
 msgstr ""
 
-#: entry.c:178
-msgid "Filtering content"
+#: diff.c:5275 builtin/log.c:172
+msgid "suppress diff output"
 msgstr ""
 
-#: entry.c:465
-#, c-format
-msgid "could not stat file '%s'"
+#: diff.c:5280 diff.c:5394 diff.c:5401
+msgid "<n>"
 msgstr ""
 
-#: environment.c:150
-#, c-format
-msgid "bad git namespace path \"%s\""
+#: diff.c:5281 diff.c:5284
+msgid "generate diffs with <n> lines context"
 msgstr ""
 
-#: environment.c:332
-#, c-format
-msgid "could not set GIT_DIR to '%s'"
+#: diff.c:5286
+msgid "generate the diff in raw format"
 msgstr ""
 
-#: exec-cmd.c:361
-#, c-format
-msgid "too many args to run %s"
+#: diff.c:5289
+msgid "synonym for '-p --raw'"
 msgstr ""
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
+#: diff.c:5293
+msgid "synonym for '-p --stat'"
 msgstr ""
 
-#: fetch-pack.c:151
-msgid "git fetch-pack: expected shallow list"
+#: diff.c:5297
+msgid "machine friendly --stat"
 msgstr ""
 
-#: fetch-pack.c:154
-msgid "git fetch-pack: expected a flush packet after shallow list"
+#: diff.c:5300
+msgid "output only the last line of --stat"
 msgstr ""
 
-#: fetch-pack.c:165
-msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
+#: diff.c:5302 diff.c:5310
+msgid "<param1,param2>..."
 msgstr ""
 
-#: fetch-pack.c:185
-#, c-format
-msgid "git fetch-pack: expected ACK/NAK, got '%s'"
+#: diff.c:5303
+msgid ""
+"output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 
-#: fetch-pack.c:256
-msgid "--stateless-rpc requires multi_ack_detailed"
+#: diff.c:5307
+msgid "synonym for --dirstat=cumulative"
 msgstr ""
 
-#: fetch-pack.c:358 fetch-pack.c:1264
-#, c-format
-msgid "invalid shallow line: %s"
+#: diff.c:5311
+msgid "synonym for --dirstat=files,param1,param2..."
 msgstr ""
 
-#: fetch-pack.c:364 fetch-pack.c:1271
-#, c-format
-msgid "invalid unshallow line: %s"
+#: diff.c:5315
+msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 
-#: fetch-pack.c:366 fetch-pack.c:1273
-#, c-format
-msgid "object not found: %s"
+#: diff.c:5318
+msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 
-#: fetch-pack.c:369 fetch-pack.c:1276
-#, c-format
-msgid "error in object: %s"
+#: diff.c:5321
+msgid "show only names of changed files"
 msgstr ""
 
-#: fetch-pack.c:371 fetch-pack.c:1278
-#, c-format
-msgid "no shallow found: %s"
+#: diff.c:5324
+msgid "show only names and status of changed files"
 msgstr ""
 
-#: fetch-pack.c:374 fetch-pack.c:1282
-#, c-format
-msgid "expected shallow/unshallow, got %s"
+#: diff.c:5326
+msgid "<width>[,<name-width>[,<count>]]"
 msgstr ""
 
-#: fetch-pack.c:415
-#, c-format
-msgid "got %s %d %s"
+#: diff.c:5327
+msgid "generate diffstat"
 msgstr ""
 
-#: fetch-pack.c:432
-#, c-format
-msgid "invalid commit %s"
+#: diff.c:5329 diff.c:5332 diff.c:5335
+msgid "<width>"
 msgstr ""
 
-#: fetch-pack.c:463
-msgid "giving up"
+#: diff.c:5330
+msgid "generate diffstat with a given width"
 msgstr ""
 
-#: fetch-pack.c:475 progress.c:229
-msgid "done"
+#: diff.c:5333
+msgid "generate diffstat with a given name width"
 msgstr ""
 
-#: fetch-pack.c:487
-#, c-format
-msgid "got %s (%d) %s"
+#: diff.c:5336
+msgid "generate diffstat with a given graph width"
 msgstr ""
 
-#: fetch-pack.c:533
-#, c-format
-msgid "Marking %s as complete"
+#: diff.c:5338
+msgid "<count>"
 msgstr ""
 
-#: fetch-pack.c:740
-#, c-format
-msgid "already have %s (%s)"
+#: diff.c:5339
+msgid "generate diffstat with limited lines"
 msgstr ""
 
-#: fetch-pack.c:779
-msgid "fetch-pack: unable to fork off sideband demultiplexer"
+#: diff.c:5342
+msgid "generate compact summary in diffstat"
 msgstr ""
 
-#: fetch-pack.c:787
-msgid "protocol error: bad pack header"
+#: diff.c:5345
+msgid "output a binary diff that can be applied"
 msgstr ""
 
-#: fetch-pack.c:855
-#, c-format
-msgid "fetch-pack: unable to fork off %s"
+#: diff.c:5348
+msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 
-#: fetch-pack.c:871
-#, c-format
-msgid "%s failed"
+#: diff.c:5350
+msgid "show colored diff"
 msgstr ""
 
-#: fetch-pack.c:873
-msgid "error in sideband demultiplexer"
+#: diff.c:5351
+msgid "<kind>"
 msgstr ""
 
-#: fetch-pack.c:902
-msgid "Server does not support shallow clients"
+#: diff.c:5352
+msgid ""
+"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
+"diff"
 msgstr ""
 
-#: fetch-pack.c:906
-msgid "Server supports multi_ack_detailed"
+#: diff.c:5355
+msgid ""
+"do not munge pathnames and use NULs as output field terminators in --raw or "
+"--numstat"
 msgstr ""
 
-#: fetch-pack.c:909
-msgid "Server supports no-done"
+#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470
+msgid "<prefix>"
 msgstr ""
 
-#: fetch-pack.c:915
-msgid "Server supports multi_ack"
+#: diff.c:5359
+msgid "show the given source prefix instead of \"a/\""
 msgstr ""
 
-#: fetch-pack.c:919
-msgid "Server supports side-band-64k"
+#: diff.c:5362
+msgid "show the given destination prefix instead of \"b/\""
 msgstr ""
 
-#: fetch-pack.c:923
-msgid "Server supports side-band"
+#: diff.c:5365
+msgid "prepend an additional prefix to every line of output"
 msgstr ""
 
-#: fetch-pack.c:927
-msgid "Server supports allow-tip-sha1-in-want"
+#: diff.c:5368
+msgid "do not show any source or destination prefix"
 msgstr ""
 
-#: fetch-pack.c:931
-msgid "Server supports allow-reachable-sha1-in-want"
+#: diff.c:5371
+msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 
-#: fetch-pack.c:941
-msgid "Server supports ofs-delta"
+#: diff.c:5375 diff.c:5380 diff.c:5385
+msgid "<char>"
 msgstr ""
 
-#: fetch-pack.c:947 fetch-pack.c:1140
-msgid "Server supports filter"
+#: diff.c:5376
+msgid "specify the character to indicate a new line instead of '+'"
 msgstr ""
 
-#: fetch-pack.c:955
-#, c-format
-msgid "Server version is %.*s"
+#: diff.c:5381
+msgid "specify the character to indicate an old line instead of '-'"
 msgstr ""
 
-#: fetch-pack.c:961
-msgid "Server does not support --shallow-since"
+#: diff.c:5386
+msgid "specify the character to indicate a context instead of ' '"
 msgstr ""
 
-#: fetch-pack.c:965
-msgid "Server does not support --shallow-exclude"
+#: diff.c:5389
+msgid "Diff rename options"
 msgstr ""
 
-#: fetch-pack.c:967
-msgid "Server does not support --deepen"
+#: diff.c:5390
+msgid "<n>[/<m>]"
 msgstr ""
 
-#: fetch-pack.c:984
-msgid "no common commits"
+#: diff.c:5391
+msgid "break complete rewrite changes into pairs of delete and create"
 msgstr ""
 
-#: fetch-pack.c:996 fetch-pack.c:1419
-msgid "git fetch-pack: fetch failed."
+#: diff.c:5395
+msgid "detect renames"
 msgstr ""
 
-#: fetch-pack.c:1134
-msgid "Server does not support shallow requests"
+#: diff.c:5399
+msgid "omit the preimage for deletes"
 msgstr ""
 
-#: fetch-pack.c:1184
-#, c-format
-msgid "error reading section header '%s'"
+#: diff.c:5402
+msgid "detect copies"
 msgstr ""
 
-#: fetch-pack.c:1190
-#, c-format
-msgid "expected '%s', received '%s'"
+#: diff.c:5406
+msgid "use unmodified files as source to find copies"
 msgstr ""
 
-#: fetch-pack.c:1229
-#, c-format
-msgid "unexpected acknowledgment line: '%s'"
+#: diff.c:5408
+msgid "disable rename detection"
 msgstr ""
 
-#: fetch-pack.c:1234
-#, c-format
-msgid "error processing acks: %d"
+#: diff.c:5411
+msgid "use empty blobs as rename source"
 msgstr ""
 
-#: fetch-pack.c:1244
-msgid "expected packfile to be sent after 'ready'"
+#: diff.c:5413
+msgid "continue listing the history of a file beyond renames"
 msgstr ""
 
-#: fetch-pack.c:1246
-msgid "expected no other sections to be sent after no 'ready'"
+#: diff.c:5416
+msgid ""
+"prevent rename/copy detection if the number of rename/copy targets exceeds "
+"given limit"
 msgstr ""
 
-#: fetch-pack.c:1287
-#, c-format
-msgid "error processing shallow info: %d"
+#: diff.c:5418
+msgid "Diff algorithm options"
 msgstr ""
 
-#: fetch-pack.c:1308
-#, c-format
-msgid "expected wanted-ref, got '%s'"
+#: diff.c:5420
+msgid "produce the smallest possible diff"
 msgstr ""
 
-#: fetch-pack.c:1318
-#, c-format
-msgid "unexpected wanted-ref: '%s'"
+#: diff.c:5423
+msgid "ignore whitespace when comparing lines"
 msgstr ""
 
-#: fetch-pack.c:1322
-#, c-format
-msgid "error processing wanted refs: %d"
+#: diff.c:5426
+msgid "ignore changes in amount of whitespace"
 msgstr ""
 
-#: fetch-pack.c:1646
-msgid "no matching remote head"
+#: diff.c:5429
+msgid "ignore changes in whitespace at EOL"
 msgstr ""
 
-#: fetch-pack.c:1664 builtin/clone.c:671
-msgid "remote did not send all necessary objects"
+#: diff.c:5432
+msgid "ignore carrier-return at the end of line"
 msgstr ""
 
-#: fetch-pack.c:1690
-#, c-format
-msgid "no such remote ref %s"
+#: diff.c:5435
+msgid "ignore changes whose lines are all blank"
 msgstr ""
 
-#: fetch-pack.c:1693
-#, c-format
-msgid "Server does not allow request for unadvertised object %s"
+#: diff.c:5438
+msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 
-#: gpg-interface.c:318
+#: diff.c:5441
+msgid "generate diff using the \"patience diff\" algorithm"
+msgstr ""
+
+#: diff.c:5445
+msgid "generate diff using the \"histogram diff\" algorithm"
+msgstr ""
+
+#: diff.c:5447
+msgid "<algorithm>"
+msgstr ""
+
+#: diff.c:5448
+msgid "choose a diff algorithm"
+msgstr ""
+
+#: diff.c:5450
+msgid "<text>"
+msgstr ""
+
+#: diff.c:5451
+msgid "generate diff using the \"anchored diff\" algorithm"
+msgstr ""
+
+#: diff.c:5453 diff.c:5462 diff.c:5465
+msgid "<mode>"
+msgstr ""
+
+#: diff.c:5454
+msgid "show word diff, using <mode> to delimit changed words"
+msgstr ""
+
+#: diff.c:5456 diff.c:5459 diff.c:5504
+msgid "<regex>"
+msgstr ""
+
+#: diff.c:5457
+msgid "use <regex> to decide what a word is"
+msgstr ""
+
+#: diff.c:5460
+msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
+msgstr ""
+
+#: diff.c:5463
+msgid "moved lines of code are colored differently"
+msgstr ""
+
+#: diff.c:5466
+msgid "how white spaces are ignored in --color-moved"
+msgstr ""
+
+#: diff.c:5469
+msgid "Other diff options"
+msgstr ""
+
+#: diff.c:5471
+msgid "when run from subdir, exclude changes outside and show relative paths"
+msgstr ""
+
+#: diff.c:5475
+msgid "treat all files as text"
+msgstr ""
+
+#: diff.c:5477
+msgid "swap two inputs, reverse the diff"
+msgstr ""
+
+#: diff.c:5479
+msgid "exit with 1 if there were differences, 0 otherwise"
+msgstr ""
+
+#: diff.c:5481
+msgid "disable all output of the program"
+msgstr ""
+
+#: diff.c:5483
+msgid "allow an external diff helper to be executed"
+msgstr ""
+
+#: diff.c:5485
+msgid "run external text conversion filters when comparing binary files"
+msgstr ""
+
+#: diff.c:5487
+msgid "<when>"
+msgstr ""
+
+#: diff.c:5488
+msgid "ignore changes to submodules in the diff generation"
+msgstr ""
+
+#: diff.c:5491
+msgid "<format>"
+msgstr ""
+
+#: diff.c:5492
+msgid "specify how differences in submodules are shown"
+msgstr ""
+
+#: diff.c:5496
+msgid "hide 'git add -N' entries from the index"
+msgstr ""
+
+#: diff.c:5499
+msgid "treat 'git add -N' entries as real in the index"
+msgstr ""
+
+#: diff.c:5501
+msgid "<string>"
+msgstr ""
+
+#: diff.c:5502
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"string"
+msgstr ""
+
+#: diff.c:5505
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"regex"
+msgstr ""
+
+#: diff.c:5508
+msgid "show all changes in the changeset with -S or -G"
+msgstr ""
+
+#: diff.c:5511
+msgid "treat <string> in -S as extended POSIX regular expression"
+msgstr ""
+
+#: diff.c:5514
+msgid "control the order in which files appear in the output"
+msgstr ""
+
+#: diff.c:5515
+msgid "<object-id>"
+msgstr ""
+
+#: diff.c:5516
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"object"
+msgstr ""
+
+#: diff.c:5518
+msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
+msgstr ""
+
+#: diff.c:5519
+msgid "select files by diff type"
+msgstr ""
+
+#: diff.c:5521
+msgid "<file>"
+msgstr ""
+
+#: diff.c:5522
+msgid "Output to a specific file"
+msgstr ""
+
+#: diff.c:6177
+msgid "inexact rename detection was skipped due to too many files."
+msgstr ""
+
+#: diff.c:6180
+msgid "only found copies from modified paths due to too many files."
+msgstr ""
+
+#: diff.c:6183
+#, c-format
+msgid ""
+"you may want to set your %s variable to at least %d and retry the command."
+msgstr ""
+
+#: dir.c:537
+#, c-format
+msgid "pathspec '%s' did not match any file(s) known to git"
+msgstr ""
+
+#: dir.c:926
+#, c-format
+msgid "cannot use %s as an exclude file"
+msgstr ""
+
+#: dir.c:1843
+#, c-format
+msgid "could not open directory '%s'"
+msgstr ""
+
+#: dir.c:2085
+msgid "failed to get kernel name and information"
+msgstr ""
+
+#: dir.c:2209
+msgid "untracked cache is disabled on this system or location"
+msgstr ""
+
+#: dir.c:3013
+#, c-format
+msgid "index file corrupt in repo %s"
+msgstr ""
+
+#: dir.c:3058 dir.c:3063
+#, c-format
+msgid "could not create directories for %s"
+msgstr ""
+
+#: dir.c:3092
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr ""
+
+#: editor.c:73
+#, c-format
+msgid "hint: Waiting for your editor to close the file...%c"
+msgstr ""
+
+#: entry.c:178
+msgid "Filtering content"
+msgstr ""
+
+#: entry.c:476
+#, c-format
+msgid "could not stat file '%s'"
+msgstr ""
+
+#: environment.c:150
+#, c-format
+msgid "bad git namespace path \"%s\""
+msgstr ""
+
+#: environment.c:332
+#, c-format
+msgid "could not set GIT_DIR to '%s'"
+msgstr ""
+
+#: exec-cmd.c:363
+#, c-format
+msgid "too many args to run %s"
+msgstr ""
+
+#: fetch-object.c:17
+msgid "Remote with no URL"
+msgstr ""
+
+#: fetch-pack.c:151
+msgid "git fetch-pack: expected shallow list"
+msgstr ""
+
+#: fetch-pack.c:154
+msgid "git fetch-pack: expected a flush packet after shallow list"
+msgstr ""
+
+#: fetch-pack.c:165
+msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
+msgstr ""
+
+#: fetch-pack.c:185
+#, c-format
+msgid "git fetch-pack: expected ACK/NAK, got '%s'"
+msgstr ""
+
+#: fetch-pack.c:196
+msgid "unable to write to remote"
+msgstr ""
+
+#: fetch-pack.c:258
+msgid "--stateless-rpc requires multi_ack_detailed"
+msgstr ""
+
+#: fetch-pack.c:360 fetch-pack.c:1284
+#, c-format
+msgid "invalid shallow line: %s"
+msgstr ""
+
+#: fetch-pack.c:366 fetch-pack.c:1290
+#, c-format
+msgid "invalid unshallow line: %s"
+msgstr ""
+
+#: fetch-pack.c:368 fetch-pack.c:1292
+#, c-format
+msgid "object not found: %s"
+msgstr ""
+
+#: fetch-pack.c:371 fetch-pack.c:1295
+#, c-format
+msgid "error in object: %s"
+msgstr ""
+
+#: fetch-pack.c:373 fetch-pack.c:1297
+#, c-format
+msgid "no shallow found: %s"
+msgstr ""
+
+#: fetch-pack.c:376 fetch-pack.c:1301
+#, c-format
+msgid "expected shallow/unshallow, got %s"
+msgstr ""
+
+#: fetch-pack.c:417
+#, c-format
+msgid "got %s %d %s"
+msgstr ""
+
+#: fetch-pack.c:434
+#, c-format
+msgid "invalid commit %s"
+msgstr ""
+
+#: fetch-pack.c:465
+msgid "giving up"
+msgstr ""
+
+#: fetch-pack.c:477 progress.c:277
+msgid "done"
+msgstr ""
+
+#: fetch-pack.c:489
+#, c-format
+msgid "got %s (%d) %s"
+msgstr ""
+
+#: fetch-pack.c:535
+#, c-format
+msgid "Marking %s as complete"
+msgstr ""
+
+#: fetch-pack.c:744
+#, c-format
+msgid "already have %s (%s)"
+msgstr ""
+
+#: fetch-pack.c:783
+msgid "fetch-pack: unable to fork off sideband demultiplexer"
+msgstr ""
+
+#: fetch-pack.c:791
+msgid "protocol error: bad pack header"
+msgstr ""
+
+#: fetch-pack.c:859
+#, c-format
+msgid "fetch-pack: unable to fork off %s"
+msgstr ""
+
+#: fetch-pack.c:875
+#, c-format
+msgid "%s failed"
+msgstr ""
+
+#: fetch-pack.c:877
+msgid "error in sideband demultiplexer"
+msgstr ""
+
+#: fetch-pack.c:908
+#, c-format
+msgid "Server version is %.*s"
+msgstr ""
+
+#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928
+#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944
+#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960
+#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982
+#, c-format
+msgid "Server supports %s"
+msgstr ""
+
+#: fetch-pack.c:915
+msgid "Server does not support shallow clients"
+msgstr ""
+
+#: fetch-pack.c:975
+msgid "Server does not support --shallow-since"
+msgstr ""
+
+#: fetch-pack.c:980
+msgid "Server does not support --shallow-exclude"
+msgstr ""
+
+#: fetch-pack.c:984
+msgid "Server does not support --deepen"
+msgstr ""
+
+#: fetch-pack.c:1001
+msgid "no common commits"
+msgstr ""
+
+#: fetch-pack.c:1013 fetch-pack.c:1462
+msgid "git fetch-pack: fetch failed."
+msgstr ""
+
+#: fetch-pack.c:1151
+msgid "Server does not support shallow requests"
+msgstr ""
+
+#: fetch-pack.c:1157
+msgid "Server supports filter"
+msgstr ""
+
+#: fetch-pack.c:1184
+msgid "unable to write request to remote"
+msgstr ""
+
+#: fetch-pack.c:1202
+#, c-format
+msgid "error reading section header '%s'"
+msgstr ""
+
+#: fetch-pack.c:1208
+#, c-format
+msgid "expected '%s', received '%s'"
+msgstr ""
+
+#: fetch-pack.c:1247
+#, c-format
+msgid "unexpected acknowledgment line: '%s'"
+msgstr ""
+
+#: fetch-pack.c:1252
+#, c-format
+msgid "error processing acks: %d"
+msgstr ""
+
+#: fetch-pack.c:1262
+msgid "expected packfile to be sent after 'ready'"
+msgstr ""
+
+#: fetch-pack.c:1264
+msgid "expected no other sections to be sent after no 'ready'"
+msgstr ""
+
+#: fetch-pack.c:1306
+#, c-format
+msgid "error processing shallow info: %d"
+msgstr ""
+
+#: fetch-pack.c:1353
+#, c-format
+msgid "expected wanted-ref, got '%s'"
+msgstr ""
+
+#: fetch-pack.c:1358
+#, c-format
+msgid "unexpected wanted-ref: '%s'"
+msgstr ""
+
+#: fetch-pack.c:1363
+#, c-format
+msgid "error processing wanted refs: %d"
+msgstr ""
+
+#: fetch-pack.c:1689
+msgid "no matching remote head"
+msgstr ""
+
+#: fetch-pack.c:1712 builtin/clone.c:686
+msgid "remote did not send all necessary objects"
+msgstr ""
+
+#: fetch-pack.c:1739
+#, c-format
+msgid "no such remote ref %s"
+msgstr ""
+
+#: fetch-pack.c:1742
+#, c-format
+msgid "Server does not allow request for unadvertised object %s"
+msgstr ""
+
+#: gpg-interface.c:321
 msgid "gpg failed to sign the data"
 msgstr ""
 
-#: gpg-interface.c:344
+#: gpg-interface.c:347
 msgid "could not create temporary file"
 msgstr ""
 
-#: gpg-interface.c:347
+#: gpg-interface.c:350
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr ""
@@ -2545,18 +3138,18 @@ msgstr ""
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr ""
 
-#: grep.c:2113
+#: grep.c:2117
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr ""
 
-#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82
+#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr ""
 
-#: grep.c:2141
+#: grep.c:2145
 #, c-format
 msgid "'%s': short read"
 msgstr ""
@@ -2626,59 +3219,59 @@ msgstr ""
 msgid "These are common Git commands used in various situations:"
 msgstr ""
 
-#: help.c:363 git.c:90
+#: help.c:363 git.c:98
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr ""
 
-#: help.c:410
+#: help.c:403
 msgid "The common Git guides are:"
 msgstr ""
 
-#: help.c:519
+#: help.c:512
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr ""
 
-#: help.c:524
+#: help.c:517
 msgid "External commands"
 msgstr ""
 
-#: help.c:539
+#: help.c:532
 msgid "Command aliases"
 msgstr ""
 
-#: help.c:603
+#: help.c:596
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr ""
 
-#: help.c:662
+#: help.c:655
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr ""
 
-#: help.c:684
+#: help.c:677
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr ""
 
-#: help.c:689
+#: help.c:682
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr ""
 
-#: help.c:694
+#: help.c:687
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr ""
 
-#: help.c:702
+#: help.c:695
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr ""
 
-#: help.c:706
+#: help.c:699
 msgid ""
 "\n"
 "The most similar command is"
@@ -2688,16 +3281,16 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: help.c:721
+#: help.c:714
 msgid "git version [<options>]"
 msgstr ""
 
-#: help.c:789
+#: help.c:782
 #, c-format
 msgid "%s: %s - %s"
 msgstr ""
 
-#: help.c:793
+#: help.c:786
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2707,7 +3300,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ident.c:345
+#: ident.c:349
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -2722,39 +3315,54 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ident.c:369
+#: ident.c:379
 msgid "no email was given and auto-detection is disabled"
 msgstr ""
 
-#: ident.c:374
+#: ident.c:384
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr ""
 
-#: ident.c:384
+#: ident.c:401
 msgid "no name was given and auto-detection is disabled"
 msgstr ""
 
-#: ident.c:390
+#: ident.c:407
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr ""
 
-#: ident.c:398
+#: ident.c:415
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr ""
 
-#: ident.c:404
+#: ident.c:421
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr ""
 
-#: ident.c:419 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:611
 #, c-format
 msgid "invalid date format: %s"
 msgstr ""
 
+#: list-objects.c:129
+#, c-format
+msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+msgstr ""
+
+#: list-objects.c:142
+#, c-format
+msgid "entry '%s' in tree %s has blob mode, but is not a blob"
+msgstr ""
+
+#: list-objects.c:378
+#, c-format
+msgid "unable to load root tree for commit %s"
+msgstr ""
+
 #: list-objects-filter-options.c:36
 msgid "multiple filter-specs cannot be combined"
 msgstr ""
@@ -2763,7 +3371,16 @@ msgstr ""
 msgid "expected 'tree:<depth>'"
 msgstr ""
 
-#: list-objects-filter-options.c:152
+#: list-objects-filter-options.c:84
+msgid "sparse:path filters support has been dropped"
+msgstr ""
+
+#: list-objects-filter-options.c:94
+#, c-format
+msgid "invalid filter-spec '%s'"
+msgstr ""
+
+#: list-objects-filter-options.c:158
 msgid "cannot change partial clone promisor remote"
 msgstr ""
 
@@ -2788,113 +3405,114 @@ msgstr ""
 msgid "failed to read the cache"
 msgstr ""
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1884 builtin/am.c:1918
-#: builtin/checkout.c:416 builtin/checkout.c:745 builtin/clone.c:771
+#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919
+#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786
+#: builtin/stash.c:264
 msgid "unable to write new index file"
 msgstr ""
 
-#: merge-recursive.c:332
+#: merge-recursive.c:322
 msgid "(bad commit)\n"
 msgstr ""
 
-#: merge-recursive.c:355
+#: merge-recursive.c:345
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr ""
 
-#: merge-recursive.c:364
+#: merge-recursive.c:354
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr ""
 
-#: merge-recursive.c:447
+#: merge-recursive.c:437
 msgid "error building trees"
 msgstr ""
 
-#: merge-recursive.c:902
+#: merge-recursive.c:863
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr ""
 
-#: merge-recursive.c:913
+#: merge-recursive.c:874
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr ""
 
-#: merge-recursive.c:927 merge-recursive.c:946
+#: merge-recursive.c:888 merge-recursive.c:907
 msgid ": perhaps a D/F conflict?"
 msgstr ""
 
-#: merge-recursive.c:936
+#: merge-recursive.c:897
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr ""
 
-#: merge-recursive.c:978 builtin/cat-file.c:40
+#: merge-recursive.c:938 builtin/cat-file.c:40
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:980
+#: merge-recursive.c:941
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:1004
+#: merge-recursive.c:965
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:1015
+#: merge-recursive.c:976
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr ""
 
-#: merge-recursive.c:1020
+#: merge-recursive.c:981
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr ""
 
-#: merge-recursive.c:1211
+#: merge-recursive.c:1177
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr ""
 
-#: merge-recursive.c:1218
+#: merge-recursive.c:1184
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr ""
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1191
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 
-#: merge-recursive.c:1233 merge-recursive.c:1245
+#: merge-recursive.c:1199 merge-recursive.c:1211
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr ""
 
-#: merge-recursive.c:1236 merge-recursive.c:1248
+#: merge-recursive.c:1202 merge-recursive.c:1214
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr ""
 
-#: merge-recursive.c:1271
+#: merge-recursive.c:1237
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 
-#: merge-recursive.c:1275
+#: merge-recursive.c:1241
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr ""
 
-#: merge-recursive.c:1276
+#: merge-recursive.c:1242
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr ""
 
-#: merge-recursive.c:1279
+#: merge-recursive.c:1245
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -2905,108 +3523,108 @@ msgid ""
 "which will accept this suggestion.\n"
 msgstr ""
 
-#: merge-recursive.c:1288
+#: merge-recursive.c:1254
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr ""
 
-#: merge-recursive.c:1361
+#: merge-recursive.c:1327
 msgid "Failed to execute internal merge"
 msgstr ""
 
-#: merge-recursive.c:1366
+#: merge-recursive.c:1332
 #, c-format
 msgid "Unable to add %s to database"
 msgstr ""
 
-#: merge-recursive.c:1398
+#: merge-recursive.c:1364
 #, c-format
 msgid "Auto-merging %s"
 msgstr ""
 
-#: merge-recursive.c:1419
+#: merge-recursive.c:1387
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 
-#: merge-recursive.c:1486
+#: merge-recursive.c:1459
 #, 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:1491
+#: merge-recursive.c:1464
 #, 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:1498
+#: merge-recursive.c:1471
 #, 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:1503
+#: merge-recursive.c:1476
 #, 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:1537
+#: merge-recursive.c:1511
 msgid "rename"
 msgstr ""
 
-#: merge-recursive.c:1537
+#: merge-recursive.c:1511
 msgid "renamed"
 msgstr ""
 
-#: merge-recursive.c:1633 merge-recursive.c:2481 merge-recursive.c:3213
+#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr ""
 
-#: merge-recursive.c:1643
+#: merge-recursive.c:1601
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr ""
 
-#: merge-recursive.c:1706
+#: merge-recursive.c:1659
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 
-#: merge-recursive.c:1734
+#: merge-recursive.c:1690
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1739
+#: merge-recursive.c:1695
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:1759
+#: merge-recursive.c:1714
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
 "\"->\"%s\" in \"%s\"%s"
 msgstr ""
 
-#: merge-recursive.c:1764
+#: merge-recursive.c:1719
 msgid " (left unresolved)"
 msgstr ""
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1828
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 
-#: merge-recursive.c:2064
+#: merge-recursive.c:2035
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3014,270 +3632,323 @@ msgid ""
 "getting a majority of the files."
 msgstr ""
 
-#: merge-recursive.c:2096
+#: merge-recursive.c:2067
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
 "implicit directory rename(s) putting the following path(s) there: %s."
 msgstr ""
 
-#: merge-recursive.c:2106
+#: merge-recursive.c:2077
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
 "implicit directory renames tried to put these paths there: %s"
 msgstr ""
 
-#: merge-recursive.c:2198
+#: merge-recursive.c:2169
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
 ">%s in %s"
 msgstr ""
 
-#: merge-recursive.c:2443
+#: merge-recursive.c:2413
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr ""
 
-#: merge-recursive.c:3022
+#: merge-recursive.c:2938
 #, c-format
 msgid "cannot read object %s"
 msgstr ""
 
-#: merge-recursive.c:3025
+#: merge-recursive.c:2941
 #, c-format
 msgid "object %s is not a blob"
 msgstr ""
 
-#: merge-recursive.c:3094
+#: merge-recursive.c:3005
 msgid "modify"
 msgstr ""
 
-#: merge-recursive.c:3094
+#: merge-recursive.c:3005
 msgid "modified"
 msgstr ""
 
-#: merge-recursive.c:3105
+#: merge-recursive.c:3017
 msgid "content"
 msgstr ""
 
-#: merge-recursive.c:3112
+#: merge-recursive.c:3021
 msgid "add/add"
 msgstr ""
 
-#: merge-recursive.c:3160
+#: merge-recursive.c:3044
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr ""
 
-#: merge-recursive.c:3182 git-submodule.sh:861
+#: merge-recursive.c:3066 git-submodule.sh:937
 msgid "submodule"
 msgstr ""
 
-#: merge-recursive.c:3183
+#: merge-recursive.c:3067
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:3216
+#: merge-recursive.c:3097
 #, c-format
 msgid "Adding as %s instead"
 msgstr ""
 
-#: merge-recursive.c:3319
+#: merge-recursive.c:3179
+#, c-format
+msgid ""
+"Path updated: %s added in %s inside a directory that was renamed in %s; "
+"moving it to %s."
+msgstr ""
+
+#: merge-recursive.c:3182
+#, c-format
+msgid ""
+"CONFLICT (file location): %s added in %s inside a directory that was renamed "
+"in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+
+#: merge-recursive.c:3186
+#, c-format
+msgid ""
+"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
+"%s; moving it to %s."
+msgstr ""
+
+#: merge-recursive.c:3189
+#, c-format
+msgid ""
+"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
+"was renamed in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+
+#: merge-recursive.c:3303
 #, c-format
 msgid "Removing %s"
 msgstr ""
 
-#: merge-recursive.c:3345
+#: merge-recursive.c:3326
 msgid "file/directory"
 msgstr ""
 
-#: merge-recursive.c:3351
+#: merge-recursive.c:3331
 msgid "directory/file"
 msgstr ""
 
-#: merge-recursive.c:3358
+#: merge-recursive.c:3338
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 
-#: merge-recursive.c:3367
+#: merge-recursive.c:3347
 #, c-format
 msgid "Adding %s"
 msgstr ""
 
-#: merge-recursive.c:3376
+#: merge-recursive.c:3356
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:3417
+#: merge-recursive.c:3394
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "  %s"
 msgstr ""
 
-#: merge-recursive.c:3428
+#: merge-recursive.c:3405
 msgid "Already up to date!"
 msgstr ""
 
-#: merge-recursive.c:3437
+#: merge-recursive.c:3414
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr ""
 
-#: merge-recursive.c:3536
+#: merge-recursive.c:3513
 msgid "Merging:"
 msgstr ""
 
-#: merge-recursive.c:3549
+#: merge-recursive.c:3526
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: merge-recursive.c:3588
+#: merge-recursive.c:3565
 msgid "merge returned no commit"
 msgstr ""
 
-#: merge-recursive.c:3654
+#: merge-recursive.c:3631
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr ""
 
-#: merge-recursive.c:3670 builtin/merge.c:692 builtin/merge.c:850
+#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869
 msgid "Unable to write index."
 msgstr ""
 
-#: midx.c:65
+#: midx.c:69
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr ""
 
-#: midx.c:81
+#: midx.c:85
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 
-#: midx.c:86
+#: midx.c:90
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr ""
 
-#: midx.c:91
+#: midx.c:95
 #, c-format
 msgid "hash version %u does not match"
 msgstr ""
 
-#: midx.c:105
+#: midx.c:109
 msgid "invalid chunk offset (too large)"
 msgstr ""
 
-#: midx.c:129
+#: midx.c:133
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr ""
 
-#: midx.c:142
+#: midx.c:146
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr ""
 
-#: midx.c:144
+#: midx.c:148
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr ""
 
-#: midx.c:146
+#: midx.c:150
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr ""
 
-#: midx.c:148
+#: midx.c:152
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr ""
 
-#: midx.c:162
+#: midx.c:166
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr ""
 
-#: midx.c:205
+#: midx.c:211
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr ""
 
-#: midx.c:246
+#: midx.c:261
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
 
-#: midx.c:271
+#: midx.c:289
 msgid "error preparing packfile from multi-pack-index"
 msgstr ""
 
-#: midx.c:407
+#: midx.c:470
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr ""
 
-#: midx.c:413
+#: midx.c:476
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr ""
 
-#: midx.c:507
+#: midx.c:536
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr ""
 
-#: midx.c:943
+#: midx.c:865
+#, c-format
+msgid "did not see pack-file %s to drop"
+msgstr ""
+
+#: midx.c:1036
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr ""
 
-#: midx.c:981
+#: midx.c:1091
+msgid "Looking for referenced packfiles"
+msgstr ""
+
+#: midx.c:1106
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr ""
 
-#: midx.c:992
+#: midx.c:1110
+msgid "Verifying OID order in MIDX"
+msgstr ""
+
+#: midx.c:1119
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr ""
 
-#: midx.c:996
+#: midx.c:1138
+msgid "Sorting objects by packfile"
+msgstr ""
+
+#: midx.c:1144
 msgid "Verifying object offsets"
 msgstr ""
 
-#: midx.c:1004
+#: midx.c:1160
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr ""
 
-#: midx.c:1010
+#: midx.c:1166
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr ""
 
-#: midx.c:1019
+#: midx.c:1175
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 
-#: name-hash.c:531
+#: midx.c:1350
+msgid "could not start pack-objects"
+msgstr ""
+
+#: midx.c:1369
+msgid "could not finish pack-objects"
+msgstr ""
+
+#: name-hash.c:532
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr ""
 
-#: name-hash.c:553
+#: name-hash.c:554
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr ""
 
-#: name-hash.c:559
+#: name-hash.c:560
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr ""
@@ -3343,85 +4014,80 @@ msgstr ""
 msgid "hash mismatch %s"
 msgstr ""
 
-#: packfile.c:607
+#: packfile.c:648
 msgid "offset before end of packfile (broken .idx?)"
 msgstr ""
 
-#: packfile.c:1870
+#: packfile.c:1899
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr ""
 
-#: packfile.c:1874
+#: packfile.c:1903
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 
-#: parse-options.c:35
+#: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
 msgstr ""
 
-#: parse-options.c:69
+#: parse-options.c:73
 #, c-format
 msgid "%s is incompatible with %s"
 msgstr ""
 
-#: parse-options.c:74
+#: parse-options.c:78
 #, c-format
 msgid "%s : incompatible with something else"
 msgstr ""
 
-#: parse-options.c:88 parse-options.c:92 parse-options.c:260
+#: parse-options.c:92 parse-options.c:96 parse-options.c:319
 #, c-format
 msgid "%s takes no value"
 msgstr ""
 
-#: parse-options.c:90
+#: parse-options.c:94
 #, c-format
 msgid "%s isn't available"
 msgstr ""
 
-#: parse-options.c:178
-#, c-format
-msgid "%s expects a numerical value"
-msgstr ""
-
-#: parse-options.c:194
+#: parse-options.c:219
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr ""
 
-#: parse-options.c:322
+#: parse-options.c:389
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr ""
 
-#: parse-options.c:356 parse-options.c:364
+#: parse-options.c:423 parse-options.c:431
 #, c-format
 msgid "did you mean `--%s` (with two dashes ?)"
 msgstr ""
 
-#: parse-options.c:649
+#: parse-options.c:859
 #, c-format
 msgid "unknown option `%s'"
 msgstr ""
 
-#: parse-options.c:651
+#: parse-options.c:861
 #, c-format
 msgid "unknown switch `%c'"
 msgstr ""
 
-#: parse-options.c:653
+#: parse-options.c:863
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr ""
 
-#: parse-options.c:675
+#: parse-options.c:887
 msgid "..."
 msgstr ""
 
-#: parse-options.c:694
+#: parse-options.c:906
 #, c-format
 msgid "usage: %s"
 msgstr ""
@@ -3429,41 +4095,46 @@ msgstr ""
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:700
+#: parse-options.c:912
 #, c-format
 msgid "   or: %s"
 msgstr ""
 
-#: parse-options.c:703
+#: parse-options.c:915
 #, c-format
 msgid "    %s"
 msgstr ""
 
-#: parse-options.c:742
+#: parse-options.c:954
 msgid "-NUM"
 msgstr ""
 
-#: parse-options-cb.c:21
+#: parse-options.c:968
+#, c-format
+msgid "alias of --%s"
+msgstr ""
+
+#: parse-options-cb.c:20 parse-options-cb.c:24
 #, c-format
 msgid "option `%s' expects a numerical value"
 msgstr ""
 
-#: parse-options-cb.c:38
+#: parse-options-cb.c:41
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr ""
 
-#: parse-options-cb.c:51
+#: parse-options-cb.c:54
 #, c-format
 msgid "option `%s' expects \"always\", \"auto\", or \"never\""
 msgstr ""
 
-#: parse-options-cb.c:110
+#: parse-options-cb.c:130 parse-options-cb.c:147
 #, c-format
 msgid "malformed object name '%s'"
 msgstr ""
 
-#: path.c:894
+#: path.c:897
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr ""
@@ -3539,45 +4210,53 @@ msgstr ""
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr ""
 
-#: pkt-line.c:104
+#: pkt-line.c:92
+msgid "unable to write flush packet"
+msgstr ""
+
+#: pkt-line.c:99
+msgid "unable to write delim packet"
+msgstr ""
+
+#: pkt-line.c:106
 msgid "flush packet write failed"
 msgstr ""
 
-#: pkt-line.c:144 pkt-line.c:230
+#: pkt-line.c:146 pkt-line.c:232
 msgid "protocol error: impossibly long line"
 msgstr ""
 
-#: pkt-line.c:160 pkt-line.c:162
+#: pkt-line.c:162 pkt-line.c:164
 msgid "packet write with format failed"
 msgstr ""
 
-#: pkt-line.c:194
+#: pkt-line.c:196
 msgid "packet write failed - data exceeds max packet size"
 msgstr ""
 
-#: pkt-line.c:201 pkt-line.c:208
+#: pkt-line.c:203 pkt-line.c:210
 msgid "packet write failed"
 msgstr ""
 
-#: pkt-line.c:293
+#: pkt-line.c:295
 msgid "read error"
 msgstr ""
 
-#: pkt-line.c:301
+#: pkt-line.c:303
 msgid "the remote end hung up unexpectedly"
 msgstr ""
 
-#: pkt-line.c:329
+#: pkt-line.c:331
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr ""
 
-#: pkt-line.c:339 pkt-line.c:344
+#: pkt-line.c:341 pkt-line.c:346
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr ""
 
-#: pkt-line.c:353
+#: pkt-line.c:362
 #, c-format
 msgid "remote error: %s"
 msgstr ""
@@ -3591,222 +4270,237 @@ msgstr ""
 msgid "unable to create threaded lstat: %s"
 msgstr ""
 
-#: pretty.c:963
+#: pretty.c:966
 msgid "unable to parse --pretty format"
 msgstr ""
 
-#: range-diff.c:56
+#: range-diff.c:70
 msgid "could not start `log`"
 msgstr ""
 
-#: range-diff.c:59
+#: range-diff.c:72
 msgid "could not read `log` output"
 msgstr ""
 
-#: range-diff.c:74 sequencer.c:4828
+#: range-diff.c:91 sequencer.c:5021
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr ""
 
-#: range-diff.c:224
+#: range-diff.c:117
+#, c-format
+msgid "could not parse git header '%.*s'"
+msgstr ""
+
+#: range-diff.c:274
 msgid "failed to generate diff"
 msgstr ""
 
-#: range-diff.c:455 range-diff.c:457
+#: range-diff.c:506 range-diff.c:508
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr ""
 
-#: read-cache.c:673
+#: read-cache.c:680
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr ""
 
-#: read-cache.c:689
+#: read-cache.c:696
 msgid "cannot create an empty blob in the object database"
 msgstr ""
 
-#: read-cache.c:710
+#: read-cache.c:718
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 
-#: read-cache.c:765
+#: read-cache.c:723
+#, c-format
+msgid "'%s' does not have a commit checked out"
+msgstr ""
+
+#: read-cache.c:775
 #, c-format
 msgid "unable to index file '%s'"
 msgstr ""
 
-#: read-cache.c:784
+#: read-cache.c:794
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr ""
 
-#: read-cache.c:795
+#: read-cache.c:805
 #, c-format
 msgid "unable to stat '%s'"
 msgstr ""
 
-#: read-cache.c:1304
+#: read-cache.c:1314
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr ""
 
-#: read-cache.c:1489
+#: read-cache.c:1499
 msgid "Refresh index"
 msgstr ""
 
-#: read-cache.c:1603
+#: read-cache.c:1613
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:1613
+#: read-cache.c:1623
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
 "Using version %i"
 msgstr ""
 
-#: read-cache.c:1684
+#: read-cache.c:1679
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr ""
 
-#: read-cache.c:1687
+#: read-cache.c:1682
 #, c-format
 msgid "bad index version %d"
 msgstr ""
 
-#: read-cache.c:1696
+#: read-cache.c:1691
 msgid "bad index file sha1 signature"
 msgstr ""
 
-#: read-cache.c:1726
+#: read-cache.c:1721
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr ""
 
-#: read-cache.c:1728
+#: read-cache.c:1723
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr ""
 
-#: read-cache.c:1765
+#: read-cache.c:1760
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr ""
 
-#: read-cache.c:1781
+#: read-cache.c:1776
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr ""
 
-#: read-cache.c:1836
+#: read-cache.c:1833
 msgid "unordered stage entries in index"
 msgstr ""
 
-#: read-cache.c:1839
+#: read-cache.c:1836
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr ""
 
-#: read-cache.c:1842
+#: read-cache.c:1839
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr ""
 
-#: read-cache.c:1949 read-cache.c:2227 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:459 builtin/check-ignore.c:178 builtin/checkout.c:294
-#: builtin/checkout.c:622 builtin/checkout.c:991 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:116 builtin/grep.c:498
-#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
-#: builtin/submodule--helper.c:330
+#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467
+#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347
+#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
+#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr ""
 
-#: read-cache.c:2090
+#: read-cache.c:2087
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr ""
 
-#: read-cache.c:2103
+#: read-cache.c:2100
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr ""
 
-#: read-cache.c:2136
+#: read-cache.c:2133
 #, c-format
 msgid "%s: index file open failed"
 msgstr ""
 
-#: read-cache.c:2140
+#: read-cache.c:2137
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr ""
 
-#: read-cache.c:2144
+#: read-cache.c:2141
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr ""
 
-#: read-cache.c:2148
+#: read-cache.c:2145
 #, c-format
 msgid "%s: unable to map index file"
 msgstr ""
 
-#: read-cache.c:2190
+#: read-cache.c:2187
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr ""
 
-#: read-cache.c:2217
+#: read-cache.c:2214
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr ""
 
-#: read-cache.c:2239
+#: read-cache.c:2246
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr ""
 
-#: read-cache.c:2274
+#: read-cache.c:2293
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr ""
 
-#: read-cache.c:2971 sequencer.c:4791 wrapper.c:658 builtin/merge.c:1087
+#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114
 #, c-format
 msgid "could not close '%s'"
 msgstr ""
 
-#: read-cache.c:3044 sequencer.c:2237 sequencer.c:3647
+#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928
 #, c-format
 msgid "could not stat '%s'"
 msgstr ""
 
-#: read-cache.c:3057
+#: read-cache.c:3105
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr ""
 
-#: read-cache.c:3069
+#: read-cache.c:3117
 #, c-format
 msgid "unable to unlink: %s"
 msgstr ""
 
-#: read-cache.c:3088
+#: read-cache.c:3142
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr ""
 
-#: read-cache.c:3237
+#: read-cache.c:3291
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr ""
 
-#: rebase-interactive.c:10
+#: rebase-interactive.c:26
+#, c-format
+msgid ""
+"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
+msgstr ""
+
+#: rebase-interactive.c:35
 msgid ""
 "\n"
 "Commands:\n"
@@ -3828,19 +4522,26 @@ msgid ""
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
 
-#: rebase-interactive.c:31 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:56
+#, c-format
+msgid "Rebase %s onto %s (%d command)"
+msgid_plural "Rebase %s onto %s (%d commands)"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
 msgstr ""
 
-#: rebase-interactive.c:34 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
 msgstr ""
 
-#: rebase-interactive.c:40 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -3849,132 +4550,154 @@ msgid ""
 "\n"
 msgstr ""
 
-#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 msgstr ""
 
-#: rebase-interactive.c:51 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
 msgid "Note that empty commits are commented out"
 msgstr ""
 
-#: rebase-interactive.c:62 rebase-interactive.c:75 sequencer.c:2219
-#: sequencer.c:4569 sequencer.c:4625 sequencer.c:4900
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447
+#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235
+#, c-format
+msgid "could not write '%s'"
+msgstr ""
+
+#: rebase-interactive.c:108
+#, c-format
+msgid "could not copy '%s' to '%s'."
+msgstr ""
+
+#: rebase-interactive.c:173
+#, c-format
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):\n"
+msgstr ""
+
+#: rebase-interactive.c:180
 #, c-format
-msgid "could not read '%s'."
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error.\n"
+"\n"
 msgstr ""
 
-#: refs.c:192
+#: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr ""
 
-#: refs.c:583
+#: refs.c:667
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr ""
 
-#: refs.c:585 ref-filter.c:1976
+#: refs.c:669 ref-filter.c:2092
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr ""
 
-#: refs.c:711
+#: refs.c:804
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr ""
 
-#: refs.c:721 refs.c:772
+#: refs.c:814 refs.c:865
 #, c-format
 msgid "could not read ref '%s'"
 msgstr ""
 
-#: refs.c:727
+#: refs.c:820
 #, c-format
 msgid "ref '%s' already exists"
 msgstr ""
 
-#: refs.c:732
+#: refs.c:825
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr ""
 
-#: refs.c:740 sequencer.c:396 sequencer.c:2549 sequencer.c:2675
-#: sequencer.c:2689 sequencer.c:2923 sequencer.c:4789 sequencer.c:4852
-#: wrapper.c:656
+#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913
+#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr ""
 
-#: refs.c:767 sequencer.c:4787 sequencer.c:4846 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:713 builtin/rebase.c:575
+#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715
+#: builtin/rebase.c:1003
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr ""
 
-#: refs.c:774
+#: refs.c:867
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr ""
 
-#: refs.c:905
+#: refs.c:998
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr ""
 
-#: refs.c:911
+#: refs.c:1004
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr ""
 
-#: refs.c:969
+#: refs.c:1063
 #, c-format
 msgid "log for %s is empty"
 msgstr ""
 
-#: refs.c:1061
+#: refs.c:1155
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr ""
 
-#: refs.c:1137
+#: refs.c:1231
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr ""
 
-#: refs.c:1911
+#: refs.c:2012
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr ""
 
-#: refs.c:1943
+#: refs.c:2044
 msgid "ref updates forbidden inside quarantine environment"
 msgstr ""
 
-#: refs.c:2039 refs.c:2069
+#: refs.c:2140 refs.c:2170
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr ""
 
-#: refs.c:2045 refs.c:2080
+#: refs.c:2146 refs.c:2181
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr ""
 
-#: refs/files-backend.c:1228
+#: refs/files-backend.c:1234
 #, c-format
 msgid "could not remove reference %s"
 msgstr ""
 
-#: refs/files-backend.c:1242 refs/packed-backend.c:1532
+#: refs/files-backend.c:1248 refs/packed-backend.c:1532
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr ""
 
-#: refs/files-backend.c:1245 refs/packed-backend.c:1545
+#: refs/files-backend.c:1251 refs/packed-backend.c:1545
 #, c-format
 msgid "could not delete references: %s"
 msgstr ""
@@ -3984,267 +4707,251 @@ msgstr ""
 msgid "invalid refspec '%s'"
 msgstr ""
 
-#: ref-filter.c:39 wt-status.c:1861
+#: ref-filter.c:42 wt-status.c:1934
 msgid "gone"
 msgstr ""
 
-#: ref-filter.c:40
+#: ref-filter.c:43
 #, c-format
 msgid "ahead %d"
 msgstr ""
 
-#: ref-filter.c:41
+#: ref-filter.c:44
 #, c-format
 msgid "behind %d"
 msgstr ""
 
-#: ref-filter.c:42
+#: ref-filter.c:45
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr ""
 
-#: ref-filter.c:138
+#: ref-filter.c:162
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr ""
 
-#: ref-filter.c:140
+#: ref-filter.c:164
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr ""
 
-#: ref-filter.c:162
+#: ref-filter.c:186
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr ""
 
-#: ref-filter.c:166
+#: ref-filter.c:190
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr ""
 
-#: ref-filter.c:168
+#: ref-filter.c:192
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr ""
 
-#: ref-filter.c:223
+#: ref-filter.c:247
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:245
+#: ref-filter.c:269
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr ""
 
-#: ref-filter.c:253
+#: ref-filter.c:277
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:265
+#: ref-filter.c:289
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:274
+#: ref-filter.c:298
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:296
+#: ref-filter.c:320
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr ""
 
-#: ref-filter.c:325
+#: ref-filter.c:349
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr ""
 
-#: ref-filter.c:327
+#: ref-filter.c:351
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr ""
 
-#: ref-filter.c:342
+#: ref-filter.c:366
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr ""
 
-#: ref-filter.c:346
+#: ref-filter.c:370
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr ""
 
-#: ref-filter.c:376
+#: ref-filter.c:400
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr ""
 
-#: ref-filter.c:388
+#: ref-filter.c:412
 #, c-format
 msgid "unrecognized position:%s"
 msgstr ""
 
-#: ref-filter.c:395
+#: ref-filter.c:419
 #, c-format
 msgid "unrecognized width:%s"
 msgstr ""
 
-#: ref-filter.c:404
+#: ref-filter.c:428
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr ""
 
-#: ref-filter.c:412
+#: ref-filter.c:436
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr ""
 
-#: ref-filter.c:430
+#: ref-filter.c:454
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr ""
 
-#: ref-filter.c:527
+#: ref-filter.c:556
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:554
+#: ref-filter.c:583
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr ""
 
-#: ref-filter.c:558
+#: ref-filter.c:587
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr ""
 
-#: ref-filter.c:682
+#: ref-filter.c:711
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr ""
 
-#: ref-filter.c:745
+#: ref-filter.c:774
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr ""
 
-#: ref-filter.c:747
+#: ref-filter.c:776
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr ""
 
-#: ref-filter.c:749
+#: ref-filter.c:778
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr ""
 
-#: ref-filter.c:777
+#: ref-filter.c:806
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr ""
 
-#: ref-filter.c:779
+#: ref-filter.c:808
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr ""
 
-#: ref-filter.c:781
+#: ref-filter.c:810
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr ""
 
-#: ref-filter.c:796
+#: ref-filter.c:825
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr ""
 
-#: ref-filter.c:853
+#: ref-filter.c:882
 #, c-format
 msgid "malformed format string %s"
 msgstr ""
 
-#: ref-filter.c:1447
+#: ref-filter.c:1485
 #, c-format
-msgid "(no branch, rebasing %s)"
+msgid "no branch, rebasing %s"
 msgstr ""
 
-#: ref-filter.c:1450
+#: ref-filter.c:1488
 #, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
+msgid "no branch, rebasing detached HEAD %s"
 msgstr ""
 
-#: ref-filter.c:1453
+#: ref-filter.c:1491
 #, c-format
-msgid "(no branch, bisect started on %s)"
+msgid "no branch, bisect started on %s"
 msgstr ""
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached at " in wt-status.c
-#.
-#: ref-filter.c:1461
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr ""
-
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached from " in wt-status.c
-#.
-#: ref-filter.c:1468
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr ""
-
-#: ref-filter.c:1472
-msgid "(no branch)"
+#: ref-filter.c:1501
+msgid "no branch"
 msgstr ""
 
-#: ref-filter.c:1506 ref-filter.c:1663
+#: ref-filter.c:1537 ref-filter.c:1743
 #, c-format
 msgid "missing object %s for %s"
 msgstr ""
 
-#: ref-filter.c:1516
+#: ref-filter.c:1547
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr ""
 
-#: ref-filter.c:1882
+#: ref-filter.c:1998
 #, c-format
 msgid "malformed object at '%s'"
 msgstr ""
 
-#: ref-filter.c:1971
+#: ref-filter.c:2087
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr ""
 
-#: ref-filter.c:2257
+#: ref-filter.c:2382
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr ""
 
-#: ref-filter.c:2352
+#: ref-filter.c:2482
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr ""
 
-#: ref-filter.c:2355
+#: ref-filter.c:2485
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr ""
 
-#: ref-filter.c:2365
+#: ref-filter.c:2495
 #, c-format
 msgid "malformed object name %s"
 msgstr ""
 
-#: ref-filter.c:2370
+#: ref-filter.c:2500
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr ""
@@ -4419,42 +5126,42 @@ msgstr ""
 msgid "* Ignoring funny ref '%s' locally"
 msgstr ""
 
-#: remote.c:1990
+#: remote.c:2016
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 
-#: remote.c:1994
+#: remote.c:2020
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr ""
 
-#: remote.c:1997
+#: remote.c:2023
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr ""
 
-#: remote.c:2001
+#: remote.c:2027
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr ""
 
-#: remote.c:2004
+#: remote.c:2030
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr ""
 
-#: remote.c:2008
+#: remote.c:2034
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2014
+#: remote.c:2040
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr ""
 
-#: remote.c:2017
+#: remote.c:2043
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -4462,11 +5169,11 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2025
+#: remote.c:2051
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr ""
 
-#: remote.c:2028
+#: remote.c:2054
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -4477,11 +5184,11 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: remote.c:2038
+#: remote.c:2064
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 
-#: remote.c:2221
+#: remote.c:2247
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr ""
@@ -4509,12 +5216,6 @@ msgstr ""
 msgid "unable to write rerere record"
 msgstr ""
 
-#: rerere.c:485 rerere.c:692 sequencer.c:3186 sequencer.c:3212
-#: builtin/fsck.c:314
-#, c-format
-msgid "could not write '%s'"
-msgstr ""
-
 #: rerere.c:495
 #, c-format
 msgid "there were errors while writing '%s' (%s)"
@@ -4565,8 +5266,8 @@ msgstr ""
 msgid "Recorded preimage for '%s'"
 msgstr ""
 
-#: rerere.c:881 submodule.c:2012 builtin/submodule--helper.c:1417
-#: builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2023 builtin/log.c:1773
+#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428
 #, c-format
 msgid "could not create directory '%s'"
 msgstr ""
@@ -4600,29 +5301,33 @@ msgstr ""
 msgid "unable to open rr-cache directory"
 msgstr ""
 
-#: revision.c:2484
+#: revision.c:2507
 msgid "your current branch appears to be broken"
 msgstr ""
 
-#: revision.c:2487
+#: revision.c:2510
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr ""
 
-#: revision.c:2684
+#: revision.c:2710
 msgid "--first-parent is incompatible with --bisect"
 msgstr ""
 
-#: run-command.c:742
+#: revision.c:2714
+msgid "-L does not yet support diff formats besides -p and -s"
+msgstr ""
+
+#: run-command.c:763
 msgid "open /dev/null failed"
 msgstr ""
 
-#: run-command.c:1231
+#: run-command.c:1269
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr ""
 
-#: run-command.c:1295
+#: run-command.c:1333
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -4665,150 +5370,160 @@ msgstr ""
 msgid "the receiving end does not support push options"
 msgstr ""
 
-#: sequencer.c:184
+#: sequencer.c:187
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr ""
 
-#: sequencer.c:288
+#: sequencer.c:292
 #, c-format
 msgid "could not delete '%s'"
 msgstr ""
 
-#: sequencer.c:314
+#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369
+#, c-format
+msgid "could not remove '%s'"
+msgstr ""
+
+#: sequencer.c:321
 msgid "revert"
 msgstr ""
 
-#: sequencer.c:316
+#: sequencer.c:323
 msgid "cherry-pick"
 msgstr ""
 
-#: sequencer.c:318
+#: sequencer.c:325
 msgid "rebase -i"
 msgstr ""
 
-#: sequencer.c:320
+#: sequencer.c:327
 #, c-format
 msgid "unknown action: %d"
 msgstr ""
 
-#: sequencer.c:378
+#: sequencer.c:385
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
 
-#: sequencer.c:381
+#: sequencer.c:388
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 "and commit the result with 'git commit'"
 msgstr ""
 
-#: sequencer.c:394 sequencer.c:2671
+#: sequencer.c:401 sequencer.c:2909
 #, c-format
 msgid "could not lock '%s'"
 msgstr ""
 
-#: sequencer.c:401
+#: sequencer.c:408
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr ""
 
-#: sequencer.c:406 sequencer.c:2554 sequencer.c:2677 sequencer.c:2691
-#: sequencer.c:2931
+#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929
+#: sequencer.c:3192
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr ""
 
-#: sequencer.c:429 sequencer.c:931 sequencer.c:1615 sequencer.c:2574
-#: sequencer.c:2913 sequencer.c:3022 builtin/am.c:245 builtin/commit.c:748
-#: builtin/merge.c:1085 builtin/rebase.c:154
+#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734
+#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763
+#: builtin/merge.c:1112 builtin/rebase.c:567
 #, c-format
 msgid "could not read '%s'"
 msgstr ""
 
-#: sequencer.c:455
+#: sequencer.c:462
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr ""
 
-#: sequencer.c:459
+#: sequencer.c:466
 msgid "commit your changes or stash them to proceed."
 msgstr ""
 
-#: sequencer.c:491
+#: sequencer.c:498
 #, c-format
 msgid "%s: fast-forward"
 msgstr ""
 
+#: sequencer.c:537 builtin/tag.c:565
+#, c-format
+msgid "Invalid cleanup mode %s"
+msgstr ""
+
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:582
+#: sequencer.c:632
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr ""
 
-#: sequencer.c:598
+#: sequencer.c:649
 msgid "unable to update cache tree"
 msgstr ""
 
-#: sequencer.c:612
+#: sequencer.c:663
 msgid "could not resolve HEAD commit"
 msgstr ""
 
-#: sequencer.c:692
+#: sequencer.c:743
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr ""
 
-#: sequencer.c:703
+#: sequencer.c:754
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr ""
 
-#: sequencer.c:740 wrapper.c:227 wrapper.c:397 builtin/am.c:704
-#: builtin/am.c:796 builtin/merge.c:1082 builtin/rebase.c:617
+#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706
+#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr ""
 
-#: sequencer.c:750
+#: sequencer.c:801
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr ""
 
-#: sequencer.c:755
+#: sequencer.c:806
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr ""
 
-#: sequencer.c:760
+#: sequencer.c:811
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr ""
 
-#: sequencer.c:764
+#: sequencer.c:815
 #, c-format
 msgid "unknown variable '%s'"
 msgstr ""
 
-#: sequencer.c:769
+#: sequencer.c:820
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr ""
 
-#: sequencer.c:771
+#: sequencer.c:822
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr ""
 
-#: sequencer.c:773
+#: sequencer.c:824
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr ""
 
-#: sequencer.c:833
+#: sequencer.c:884
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr ""
 
-#: sequencer.c:850
+#: sequencer.c:901
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -4825,15 +5540,15 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:945
+#: sequencer.c:995
 msgid "writing root commit"
 msgstr ""
 
-#: sequencer.c:1155
+#: sequencer.c:1216
 msgid "'prepare-commit-msg' hook failed"
 msgstr ""
 
-#: sequencer.c:1162
+#: sequencer.c:1223
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4848,7 +5563,7 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 
-#: sequencer.c:1175
+#: sequencer.c:1236
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4862,294 +5577,346 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 
-#: sequencer.c:1217
+#: sequencer.c:1278
 msgid "couldn't look up newly created commit"
 msgstr ""
 
-#: sequencer.c:1219
+#: sequencer.c:1280
 msgid "could not parse newly created commit"
 msgstr ""
 
-#: sequencer.c:1265
+#: sequencer.c:1326
 msgid "unable to resolve HEAD after creating commit"
 msgstr ""
 
-#: sequencer.c:1267
+#: sequencer.c:1328
 msgid "detached HEAD"
 msgstr ""
 
-#: sequencer.c:1271
+#: sequencer.c:1332
 msgid " (root-commit)"
 msgstr ""
 
-#: sequencer.c:1292
+#: sequencer.c:1353
 msgid "could not parse HEAD"
 msgstr ""
 
-#: sequencer.c:1294
+#: sequencer.c:1355
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr ""
 
-#: sequencer.c:1298 builtin/commit.c:1546
+#: sequencer.c:1359 builtin/commit.c:1571
 msgid "could not parse HEAD commit"
 msgstr ""
 
-#: sequencer.c:1350 sequencer.c:1964
+#: sequencer.c:1411 sequencer.c:2004
 msgid "unable to parse commit author"
 msgstr ""
 
-#: sequencer.c:1360 builtin/am.c:1570 builtin/merge.c:678
+#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684
 msgid "git write-tree failed to write a tree"
 msgstr ""
 
-#: sequencer.c:1377 sequencer.c:1433
+#: sequencer.c:1438 sequencer.c:1499
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr ""
 
-#: sequencer.c:1399 builtin/am.c:1591 builtin/commit.c:1649 builtin/merge.c:859
-#: builtin/merge.c:884
+#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878
+#: builtin/merge.c:903
 msgid "failed to write commit object"
 msgstr ""
 
-#: sequencer.c:1460
+#: sequencer.c:1526
 #, c-format
 msgid "could not parse commit %s"
 msgstr ""
 
-#: sequencer.c:1465
+#: sequencer.c:1531
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:1565 sequencer.c:1675
+#: sequencer.c:1605 sequencer.c:1715
 #, c-format
 msgid "unknown command: %d"
 msgstr ""
 
-#: sequencer.c:1622 sequencer.c:1647
+#: sequencer.c:1662 sequencer.c:1687
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr ""
 
-#: sequencer.c:1632 sequencer.c:4808
+#: sequencer.c:1672
 msgid "need a HEAD to fixup"
 msgstr ""
 
-#: sequencer.c:1634 sequencer.c:2958
+#: sequencer.c:1674 sequencer.c:3219
 msgid "could not read HEAD"
 msgstr ""
 
-#: sequencer.c:1636
+#: sequencer.c:1676
 msgid "could not read HEAD's commit message"
 msgstr ""
 
-#: sequencer.c:1642
+#: sequencer.c:1682
 #, c-format
 msgid "cannot write '%s'"
 msgstr ""
 
-#: sequencer.c:1649 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1689 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr ""
 
-#: sequencer.c:1657
+#: sequencer.c:1697
 #, c-format
 msgid "could not read commit message of %s"
 msgstr ""
 
-#: sequencer.c:1664
+#: sequencer.c:1704
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr ""
 
-#: sequencer.c:1670
+#: sequencer.c:1710
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr ""
 
-#: sequencer.c:1758
+#: sequencer.c:1798
 msgid "your index file is unmerged."
 msgstr ""
 
-#: sequencer.c:1765
+#: sequencer.c:1805
 msgid "cannot fixup root commit"
 msgstr ""
 
-#: sequencer.c:1784
+#: sequencer.c:1824
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr ""
 
-#: sequencer.c:1792 sequencer.c:1800
+#: sequencer.c:1832 sequencer.c:1840
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr ""
 
-#: sequencer.c:1806
+#: sequencer.c:1846
 #, 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:1825
+#: sequencer.c:1865
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr ""
 
-#: sequencer.c:1890
+#: sequencer.c:1930
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:1945
+#: sequencer.c:1985
 #, c-format
 msgid "could not revert %s... %s"
 msgstr ""
 
-#: sequencer.c:1946
+#: sequencer.c:1986
 #, c-format
 msgid "could not apply %s... %s"
 msgstr ""
 
-#: sequencer.c:2005
+#: sequencer.c:2045
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr ""
 
-#: sequencer.c:2012
+#: sequencer.c:2052
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr ""
 
-#: sequencer.c:2094
+#: sequencer.c:2128
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr ""
 
-#: sequencer.c:2103
+#: sequencer.c:2137
 #, c-format
 msgid "missing arguments for %s"
 msgstr ""
 
-#: sequencer.c:2163
+#: sequencer.c:2174
+#, c-format
+msgid "could not parse '%.*s'"
+msgstr ""
+
+#: sequencer.c:2228
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr ""
 
-#: sequencer.c:2171
+#: sequencer.c:2239
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr ""
 
-#: sequencer.c:2243
+#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178
+#: builtin/rebase.c:204 builtin/rebase.c:229
+#, c-format
+msgid "could not read '%s'."
+msgstr ""
+
+#: sequencer.c:2323
+msgid "cancelling a cherry picking in progress"
+msgstr ""
+
+#: sequencer.c:2330
+msgid "cancelling a revert in progress"
+msgstr ""
+
+#: sequencer.c:2364
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: sequencer.c:2245
+#: sequencer.c:2366
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:2250
+#: sequencer.c:2371
 msgid "no commits parsed."
 msgstr ""
 
-#: sequencer.c:2261
+#: sequencer.c:2382
 msgid "cannot cherry-pick during a revert."
 msgstr ""
 
-#: sequencer.c:2263
+#: sequencer.c:2384
 msgid "cannot revert during a cherry-pick."
 msgstr ""
 
-#: sequencer.c:2333
+#: sequencer.c:2466
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr ""
 
-#: sequencer.c:2420
+#: sequencer.c:2553
 msgid "unusable squash-onto"
 msgstr ""
 
-#: sequencer.c:2436
+#: sequencer.c:2569
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr ""
 
-#: sequencer.c:2518 sequencer.c:4067
+#: sequencer.c:2652 sequencer.c:4351
 msgid "empty commit set passed"
 msgstr ""
 
-#: sequencer.c:2526
-msgid "a cherry-pick or revert is already in progress"
+#: sequencer.c:2668
+msgid "revert is already in progress"
+msgstr ""
+
+#: sequencer.c:2670
+#, c-format
+msgid "try \"git revert (--continue | %s--abort | --quit)\""
+msgstr ""
+
+#: sequencer.c:2673
+msgid "cherry-pick is already in progress"
 msgstr ""
 
-#: sequencer.c:2527
-msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
+#: sequencer.c:2675
+#, c-format
+msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr ""
 
-#: sequencer.c:2530
+#: sequencer.c:2689
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr ""
 
-#: sequencer.c:2544
+#: sequencer.c:2704
 msgid "could not lock HEAD"
 msgstr ""
 
-#: sequencer.c:2599 sequencer.c:3819
+#: sequencer.c:2764 sequencer.c:4103
 msgid "no cherry-pick or revert in progress"
 msgstr ""
 
-#: sequencer.c:2601
+#: sequencer.c:2766 sequencer.c:2777
 msgid "cannot resolve HEAD"
 msgstr ""
 
-#: sequencer.c:2603 sequencer.c:2638
+#: sequencer.c:2768 sequencer.c:2812
 msgid "cannot abort from a branch yet to be born"
 msgstr ""
 
-#: sequencer.c:2624 builtin/grep.c:732
+#: sequencer.c:2798 builtin/grep.c:734
 #, c-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: sequencer.c:2626
+#: sequencer.c:2800
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr ""
 
-#: sequencer.c:2627
+#: sequencer.c:2801
 msgid "unexpected end of file"
 msgstr ""
 
-#: sequencer.c:2633
+#: sequencer.c:2807
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr ""
 
-#: sequencer.c:2644
+#: sequencer.c:2818
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 
-#: sequencer.c:2750 sequencer.c:3735
+#: sequencer.c:2859
+msgid "no revert in progress"
+msgstr ""
+
+#: sequencer.c:2867
+msgid "no cherry-pick in progress"
+msgstr ""
+
+#: sequencer.c:2877
+msgid "failed to skip the commit"
+msgstr ""
+
+#: sequencer.c:2884
+msgid "there is nothing to skip"
+msgstr ""
+
+#: sequencer.c:2887
+#, c-format
+msgid ""
+"have you committed already?\n"
+"try \"git %s --continue\""
+msgstr ""
+
+#: sequencer.c:3011 sequencer.c:4015
 #, c-format
 msgid "could not update %s"
 msgstr ""
 
-#: sequencer.c:2788 sequencer.c:3715
+#: sequencer.c:3049 sequencer.c:3995
 msgid "cannot read HEAD"
 msgstr ""
 
-#: sequencer.c:2805
+#: sequencer.c:3066
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:2813
+#: sequencer.c:3074
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -5161,27 +5928,27 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:2823
+#: sequencer.c:3084
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr ""
 
-#: sequencer.c:2830
+#: sequencer.c:3091
 #, c-format
 msgid "Could not merge %.*s"
 msgstr ""
 
-#: sequencer.c:2844 sequencer.c:2848 builtin/difftool.c:641
+#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:2870 sequencer.c:3293 builtin/rebase.c:424 builtin/rebase.c:1230
-#: builtin/rebase.c:1591 builtin/rebase.c:1646
+#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582
+#: builtin/rebase.c:1953 builtin/rebase.c:2008
 msgid "could not read index"
 msgstr ""
 
-#: sequencer.c:2875
+#: sequencer.c:3136
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -5191,11 +5958,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:2881
+#: sequencer.c:3142
 msgid "and made changes to the index and/or the working tree\n"
 msgstr ""
 
-#: sequencer.c:2887
+#: sequencer.c:3148
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -5206,76 +5973,76 @@ msgid ""
 "\n"
 msgstr ""
 
-#: sequencer.c:2948
+#: sequencer.c:3209
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr ""
 
-#: sequencer.c:3002
+#: sequencer.c:3263
 msgid "writing fake root commit"
 msgstr ""
 
-#: sequencer.c:3007
+#: sequencer.c:3268
 msgid "writing squash-onto"
 msgstr ""
 
-#: sequencer.c:3045 builtin/rebase.c:429 builtin/rebase.c:435
+#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860
 #, c-format
 msgid "failed to find tree of %s"
 msgstr ""
 
-#: sequencer.c:3063 builtin/rebase.c:448
+#: sequencer.c:3324 builtin/rebase.c:873
 msgid "could not write index"
 msgstr ""
 
-#: sequencer.c:3090
+#: sequencer.c:3351
 #, c-format
 msgid "could not resolve '%s'"
 msgstr ""
 
-#: sequencer.c:3118
+#: sequencer.c:3379
 msgid "cannot merge without a current revision"
 msgstr ""
 
-#: sequencer.c:3140
+#: sequencer.c:3401
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr ""
 
-#: sequencer.c:3149
+#: sequencer.c:3410
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr ""
 
-#: sequencer.c:3161
+#: sequencer.c:3422
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 
-#: sequencer.c:3176
+#: sequencer.c:3437
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr ""
 
-#: sequencer.c:3325
+#: sequencer.c:3590
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr ""
 
-#: sequencer.c:3341
+#: sequencer.c:3606
 msgid "merge: Unable to write new index file"
 msgstr ""
 
-#: sequencer.c:3409 builtin/rebase.c:298
+#: sequencer.c:3675 builtin/rebase.c:711
 #, c-format
 msgid "Applied autostash.\n"
 msgstr ""
 
-#: sequencer.c:3421
+#: sequencer.c:3687
 #, c-format
 msgid "cannot store %s"
 msgstr ""
 
-#: sequencer.c:3424 builtin/rebase.c:314
+#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -5283,31 +6050,31 @@ msgid ""
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
 
-#: sequencer.c:3478
+#: sequencer.c:3751
 #, c-format
 msgid "could not checkout %s"
 msgstr ""
 
-#: sequencer.c:3492
+#: sequencer.c:3765
 #, c-format
 msgid "%s: not a valid OID"
 msgstr ""
 
-#: sequencer.c:3497 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3770 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr ""
 
-#: sequencer.c:3512
+#: sequencer.c:3785
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr ""
 
-#: sequencer.c:3514
+#: sequencer.c:3787
 #, c-format
 msgid "Stopped at %s\n"
 msgstr ""
 
-#: sequencer.c:3522
+#: sequencer.c:3795
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -5320,151 +6087,105 @@ msgid ""
 "    git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:3597
+#: sequencer.c:3877
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr ""
 
-#: sequencer.c:3677
+#: sequencer.c:3958
 #, c-format
 msgid "unknown command %d"
 msgstr ""
 
-#: sequencer.c:3723
+#: sequencer.c:4003
 msgid "could not read orig-head"
 msgstr ""
 
-#: sequencer.c:3728 sequencer.c:4805
+#: sequencer.c:4008
 msgid "could not read 'onto'"
 msgstr ""
 
-#: sequencer.c:3742
+#: sequencer.c:4022
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr ""
 
-#: sequencer.c:3831
+#: sequencer.c:4115
 msgid "cannot rebase: You have unstaged changes."
 msgstr ""
 
-#: sequencer.c:3840
+#: sequencer.c:4124
 msgid "cannot amend non-existing commit"
 msgstr ""
 
-#: sequencer.c:3842
+#: sequencer.c:4126
 #, c-format
 msgid "invalid file: '%s'"
 msgstr ""
 
-#: sequencer.c:3844
+#: sequencer.c:4128
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr ""
 
-#: sequencer.c:3847
+#: sequencer.c:4131
 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:3883 sequencer.c:3921
+#: sequencer.c:4167 sequencer.c:4205
 #, c-format
 msgid "could not write file: '%s'"
 msgstr ""
 
-#: sequencer.c:3936
+#: sequencer.c:4220
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: sequencer.c:3943
+#: sequencer.c:4227
 msgid "could not commit staged changes."
 msgstr ""
 
-#: sequencer.c:4044
+#: sequencer.c:4328
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr ""
 
-#: sequencer.c:4048
+#: sequencer.c:4332
 #, c-format
 msgid "%s: bad revision"
 msgstr ""
 
-#: sequencer.c:4083
+#: sequencer.c:4367
 msgid "can't revert as initial commit"
 msgstr ""
 
-#: sequencer.c:4529
+#: sequencer.c:4810
 msgid "make_script: unhandled options"
 msgstr ""
 
-#: sequencer.c:4532
+#: sequencer.c:4813
 msgid "make_script: error preparing revisions"
 msgstr ""
 
-#: sequencer.c:4573 sequencer.c:4629 sequencer.c:4904
-#, c-format
-msgid "unusable todo list: '%s'"
-msgstr ""
-
-#: sequencer.c:4684
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr ""
-
-#: sequencer.c:4754
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-
-#: sequencer.c:4761
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:4774
-#, c-format
+#: sequencer.c:4971
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
 "Or you can abort the rebase with 'git rebase --abort'.\n"
 msgstr ""
 
-#: sequencer.c:4912 sequencer.c:4950
+#: sequencer.c:5083 sequencer.c:5100
 msgid "nothing to do"
 msgstr ""
 
-#: sequencer.c:4916
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: sequencer.c:4928
-#, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr ""
-
-#: sequencer.c:4932 sequencer.c:4961
-msgid "could not transform the todo list"
-msgstr ""
-
-#: sequencer.c:4964
+#: sequencer.c:5114
 msgid "could not skip unnecessary pick commands"
 msgstr ""
 
-#: sequencer.c:5047
+#: sequencer.c:5197
 msgid "the script was already rearranged."
 msgstr ""
 
@@ -5473,14 +6194,14 @@ msgstr ""
 msgid "'%s' is outside repository"
 msgstr ""
 
-#: setup.c:172
+#: setup.c:173
 #, 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:185
+#: setup.c:186
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -5488,12 +6209,12 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:234
+#: setup.c:235
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 
-#: setup.c:253
+#: setup.c:254
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -5501,388 +6222,445 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr ""
 
-#: setup.c:389
+#: setup.c:390
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 
-#: setup.c:393
+#: setup.c:394
 msgid "this operation must be run in a work tree"
 msgstr ""
 
-#: setup.c:527
+#: setup.c:540
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr ""
 
-#: setup.c:535
+#: setup.c:548
 msgid "unknown repository extensions found:"
 msgstr ""
 
-#: setup.c:554
+#: setup.c:567
 #, c-format
 msgid "error opening '%s'"
 msgstr ""
 
-#: setup.c:556
+#: setup.c:569
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr ""
 
-#: setup.c:558
+#: setup.c:571
 #, c-format
 msgid "error reading %s"
 msgstr ""
 
-#: setup.c:560
+#: setup.c:573
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr ""
 
-#: setup.c:562
+#: setup.c:575
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr ""
 
-#: setup.c:564
+#: setup.c:577
 #, c-format
 msgid "not a git repository: %s"
 msgstr ""
 
-#: setup.c:663
+#: setup.c:676
 #, c-format
 msgid "'$%s' too big"
 msgstr ""
 
-#: setup.c:677
+#: setup.c:690
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr ""
 
-#: setup.c:706 setup.c:708 setup.c:739
+#: setup.c:719 setup.c:721 setup.c:752
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr ""
 
-#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824
+#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
 msgid "cannot come back to cwd"
 msgstr ""
 
-#: setup.c:838
+#: setup.c:851
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr ""
 
-#: setup.c:1068
+#: setup.c:1083
 msgid "Unable to read current working directory"
 msgstr ""
 
-#: setup.c:1077 setup.c:1083
+#: setup.c:1092 setup.c:1098
 #, c-format
 msgid "cannot change to '%s'"
 msgstr ""
 
-#: setup.c:1088
+#: setup.c:1103
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr ""
 
-#: setup.c:1094
+#: setup.c:1109
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
 "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
 msgstr ""
 
-#: setup.c:1204
+#: setup.c:1220
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
 "The owner of files must always have read and write permissions."
 msgstr ""
 
-#: setup.c:1247
+#: setup.c:1264
 msgid "open /dev/null or dup failed"
 msgstr ""
 
-#: setup.c:1262
+#: setup.c:1279
 msgid "fork failed"
 msgstr ""
 
-#: setup.c:1267
+#: setup.c:1284
 msgid "setsid failed"
 msgstr ""
 
-#: sha1-file.c:445
+#: sha1-file.c:453
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 
-#: sha1-file.c:496
+#: sha1-file.c:504
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr ""
 
-#: sha1-file.c:568
+#: sha1-file.c:576
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr ""
 
-#: sha1-file.c:575
+#: sha1-file.c:583
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr ""
 
-#: sha1-file.c:618
+#: sha1-file.c:626
 msgid "unable to fdopen alternates lockfile"
 msgstr ""
 
-#: sha1-file.c:636
+#: sha1-file.c:644
 msgid "unable to read alternates file"
 msgstr ""
 
-#: sha1-file.c:643
+#: sha1-file.c:651
 msgid "unable to move new alternates file into place"
 msgstr ""
 
-#: sha1-file.c:678
+#: sha1-file.c:686
 #, c-format
 msgid "path '%s' does not exist"
 msgstr ""
 
-#: sha1-file.c:704
+#: sha1-file.c:712
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 
-#: sha1-file.c:710
+#: sha1-file.c:718
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr ""
 
-#: sha1-file.c:716
+#: sha1-file.c:724
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 
-#: sha1-file.c:724
+#: sha1-file.c:732
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 
-#: sha1-file.c:838
+#: sha1-file.c:792
+#, c-format
+msgid "invalid line while parsing alternate refs: %s"
+msgstr ""
+
+#: sha1-file.c:944
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr ""
 
-#: sha1-file.c:863
+#: sha1-file.c:969
 msgid "mmap failed"
 msgstr ""
 
-#: sha1-file.c:1027
+#: sha1-file.c:1133
 #, c-format
 msgid "object file %s is empty"
 msgstr ""
 
-#: sha1-file.c:1151 sha1-file.c:2288
+#: sha1-file.c:1257 sha1-file.c:2396
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr ""
 
-#: sha1-file.c:1153 sha1-file.c:2292
+#: sha1-file.c:1259 sha1-file.c:2400
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr ""
 
-#: sha1-file.c:1195
+#: sha1-file.c:1301
 msgid "invalid object type"
 msgstr ""
 
-#: sha1-file.c:1279
+#: sha1-file.c:1385
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr ""
 
-#: sha1-file.c:1282
+#: sha1-file.c:1388
 #, c-format
 msgid "unable to unpack %s header"
 msgstr ""
 
-#: sha1-file.c:1288
+#: sha1-file.c:1394
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr ""
 
-#: sha1-file.c:1291
+#: sha1-file.c:1397
 #, c-format
 msgid "unable to parse %s header"
 msgstr ""
 
-#: sha1-file.c:1481
+#: sha1-file.c:1588
 #, c-format
 msgid "failed to read object %s"
 msgstr ""
 
-#: sha1-file.c:1485
+#: sha1-file.c:1592
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr ""
 
-#: sha1-file.c:1489
+#: sha1-file.c:1596
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr ""
 
-#: sha1-file.c:1493
+#: sha1-file.c:1600
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr ""
 
-#: sha1-file.c:1595
+#: sha1-file.c:1703
 #, c-format
 msgid "unable to write file %s"
 msgstr ""
 
-#: sha1-file.c:1602
+#: sha1-file.c:1710
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr ""
 
-#: sha1-file.c:1609
+#: sha1-file.c:1717
 msgid "file write error"
 msgstr ""
 
-#: sha1-file.c:1628
+#: sha1-file.c:1736
 msgid "error when closing loose object file"
 msgstr ""
 
-#: sha1-file.c:1693
+#: sha1-file.c:1801
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 
-#: sha1-file.c:1695
+#: sha1-file.c:1803
 msgid "unable to create temporary file"
 msgstr ""
 
-#: sha1-file.c:1719
+#: sha1-file.c:1827
 msgid "unable to write loose object file"
 msgstr ""
 
-#: sha1-file.c:1725
+#: sha1-file.c:1833
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr ""
 
-#: sha1-file.c:1729
+#: sha1-file.c:1837
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr ""
 
-#: sha1-file.c:1733
+#: sha1-file.c:1841
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr ""
 
-#: sha1-file.c:1743 builtin/pack-objects.c:919
+#: sha1-file.c:1851 builtin/pack-objects.c:925
 #, c-format
 msgid "failed utime() on %s"
 msgstr ""
 
-#: sha1-file.c:1818
+#: sha1-file.c:1926
 #, c-format
 msgid "cannot read object for %s"
 msgstr ""
 
-#: sha1-file.c:1858
+#: sha1-file.c:1966
 msgid "corrupt commit"
 msgstr ""
 
-#: sha1-file.c:1866
+#: sha1-file.c:1974
 msgid "corrupt tag"
 msgstr ""
 
-#: sha1-file.c:1965
+#: sha1-file.c:2073
 #, c-format
 msgid "read error while indexing %s"
 msgstr ""
 
-#: sha1-file.c:1968
+#: sha1-file.c:2076
 #, c-format
 msgid "short read while indexing %s"
 msgstr ""
 
-#: sha1-file.c:2041 sha1-file.c:2050
+#: sha1-file.c:2149 sha1-file.c:2158
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr ""
 
-#: sha1-file.c:2056
+#: sha1-file.c:2164
 #, c-format
 msgid "%s: unsupported file type"
 msgstr ""
 
-#: sha1-file.c:2080
+#: sha1-file.c:2188
 #, c-format
 msgid "%s is not a valid object"
 msgstr ""
 
-#: sha1-file.c:2082
+#: sha1-file.c:2190
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr ""
 
-#: sha1-file.c:2109 builtin/index-pack.c:154
+#: sha1-file.c:2217 builtin/index-pack.c:155
 #, c-format
 msgid "unable to open %s"
 msgstr ""
 
-#: sha1-file.c:2299 sha1-file.c:2351
+#: sha1-file.c:2407 sha1-file.c:2459
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr ""
 
-#: sha1-file.c:2323
+#: sha1-file.c:2431
 #, c-format
 msgid "unable to mmap %s"
 msgstr ""
 
-#: sha1-file.c:2328
+#: sha1-file.c:2436
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr ""
 
-#: sha1-file.c:2334
+#: sha1-file.c:2442
 #, c-format
 msgid "unable to parse header of %s"
 msgstr ""
 
-#: sha1-file.c:2345
+#: sha1-file.c:2453
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr ""
 
-#: sha1-name.c:448
+#: sha1-name.c:490
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr ""
 
-#: sha1-name.c:459
+#: sha1-name.c:501
 msgid "The candidates are:"
 msgstr ""
 
-#: sha1-name.c:742
+#: sha1-name.c:800
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
 "may be created by mistake. For example,\n"
 "\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
+"  git switch -c $br $(git rev-parse ...)\n"
 "\n"
 "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
 "examine these refs and maybe delete them. Turn this message off by\n"
 "running \"git config advice.objectNameWarning false\""
 msgstr ""
 
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte
+#: strbuf.c:821
+#, c-format
+msgid "%u.%2.2u GiB"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
+#: strbuf.c:823
+#, c-format
+msgid "%u.%2.2u GiB/s"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte
+#: strbuf.c:831
+#, c-format
+msgid "%u.%2.2u MiB"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
+#: strbuf.c:833
+#, c-format
+msgid "%u.%2.2u MiB/s"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte
+#: strbuf.c:840
+#, c-format
+msgid "%u.%2.2u KiB"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
+#: strbuf.c:842
+#, c-format
+msgid "%u.%2.2u KiB/s"
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 byte
+#: strbuf.c:848
+#, c-format
+msgid "%u byte"
+msgid_plural "%u bytes"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: IEC 80000-13:2008 byte/second
+#: strbuf.c:850
+#, c-format
+msgid "%u byte/s"
+msgid_plural "%u bytes/s"
+msgstr[0] ""
+msgstr[1] ""
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -5911,62 +6689,62 @@ msgstr ""
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr ""
 
-#: submodule.c:906
+#: submodule.c:910
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr ""
 
-#: submodule.c:1143 builtin/branch.c:656 builtin/submodule--helper.c:1989
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr ""
 
-#: submodule.c:1477
+#: submodule.c:1481
 #, c-format
 msgid "Could not access submodule '%s'"
 msgstr ""
 
-#: submodule.c:1639
+#: submodule.c:1651
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr ""
 
-#: submodule.c:1777
+#: submodule.c:1789
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1790
+#: submodule.c:1802
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1805
+#: submodule.c:1817
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1895
+#: submodule.c:1907
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr ""
 
-#: submodule.c:1947
+#: submodule.c:1959
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr ""
 
-#: submodule.c:1996
+#: submodule.c:2007
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr ""
 
-#: submodule.c:2008 submodule.c:2064
+#: submodule.c:2019 submodule.c:2074
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr ""
 
-#: submodule.c:2015
+#: submodule.c:2026
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -5974,16 +6752,16 @@ msgid ""
 "'%s'\n"
 msgstr ""
 
-#: submodule.c:2099
+#: submodule.c:2109
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr ""
 
-#: submodule.c:2143
+#: submodule.c:2153
 msgid "could not start ls-files in .."
 msgstr ""
 
-#: submodule.c:2182
+#: submodule.c:2192
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr ""
@@ -5993,21 +6771,21 @@ msgstr ""
 msgid "ignoring suspicious submodule name: %s"
 msgstr ""
 
-#: submodule-config.c:296
+#: submodule-config.c:299
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr ""
 
-#: submodule-config.c:390
+#: submodule-config.c:397
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 
-#: submodule-config.c:479
+#: submodule-config.c:486
 #, c-format
 msgid "invalid value for %s"
 msgstr ""
 
-#: submodule-config.c:754
+#: submodule-config.c:755
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr ""
@@ -6081,36 +6859,44 @@ msgstr ""
 msgid "transport: invalid depth option '%s'"
 msgstr ""
 
-#: transport.c:617
+#: transport.c:259
+msgid "see protocol.version in 'git help config' for more details"
+msgstr ""
+
+#: transport.c:260
+msgid "server options require protocol version 2 or later"
+msgstr ""
+
+#: transport.c:625
 msgid "could not parse transport.color.* config"
 msgstr ""
 
-#: transport.c:690
+#: transport.c:698
 msgid "support for protocol v2 not implemented yet"
 msgstr ""
 
-#: transport.c:817
+#: transport.c:825
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr ""
 
-#: transport.c:883
+#: transport.c:891
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr ""
 
-#: transport.c:937
+#: transport.c:945
 msgid "git-over-rsync is no longer supported"
 msgstr ""
 
-#: transport.c:1032
+#: transport.c:1040
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr ""
 
-#: transport.c:1036
+#: transport.c:1044
 #, c-format
 msgid ""
 "\n"
@@ -6126,183 +6912,178 @@ msgid ""
 "\n"
 msgstr ""
 
-#: transport.c:1044
+#: transport.c:1052
 msgid "Aborting."
 msgstr ""
 
-#: transport.c:1184
+#: transport.c:1193
 msgid "failed to push all needed submodules"
 msgstr ""
 
-#: transport.c:1317 transport-helper.c:643
+#: transport.c:1340 transport-helper.c:645
 msgid "operation not supported by protocol"
 msgstr ""
 
-#: transport.c:1421
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
 #: transport-helper.c:51 transport-helper.c:80
 msgid "full write to remote helper failed"
 msgstr ""
 
-#: transport-helper.c:132
+#: transport-helper.c:134
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr ""
 
-#: transport-helper.c:148 transport-helper.c:557
+#: transport-helper.c:150 transport-helper.c:559
 msgid "can't dup helper output fd"
 msgstr ""
 
-#: transport-helper.c:199
+#: transport-helper.c:201
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
 "version of Git"
 msgstr ""
 
-#: transport-helper.c:205
+#: transport-helper.c:207
 msgid "this remote helper should implement refspec capability"
 msgstr ""
 
-#: transport-helper.c:272 transport-helper.c:412
+#: transport-helper.c:274 transport-helper.c:414
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr ""
 
-#: transport-helper.c:401
+#: transport-helper.c:403
 #, c-format
 msgid "%s also locked %s"
 msgstr ""
 
-#: transport-helper.c:479
+#: transport-helper.c:481
 msgid "couldn't run fast-import"
 msgstr ""
 
-#: transport-helper.c:502
+#: transport-helper.c:504
 msgid "error while running fast-import"
 msgstr ""
 
-#: transport-helper.c:531 transport-helper.c:1097
+#: transport-helper.c:533 transport-helper.c:1105
 #, c-format
 msgid "could not read ref %s"
 msgstr ""
 
-#: transport-helper.c:576
+#: transport-helper.c:578
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr ""
 
-#: transport-helper.c:598
+#: transport-helper.c:600
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 
-#: transport-helper.c:600
+#: transport-helper.c:602
 msgid "invalid remote service path"
 msgstr ""
 
-#: transport-helper.c:646
+#: transport-helper.c:648
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr ""
 
-#: transport-helper.c:718
+#: transport-helper.c:720
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr ""
 
-#: transport-helper.c:771
+#: transport-helper.c:773
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr ""
 
-#: transport-helper.c:832
+#: transport-helper.c:834
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr ""
 
-#: transport-helper.c:835
+#: transport-helper.c:837
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr ""
 
-#: transport-helper.c:838
+#: transport-helper.c:840
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr ""
 
-#: transport-helper.c:845
+#: transport-helper.c:847
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr ""
 
-#: transport-helper.c:937
+#: transport-helper.c:945
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 
-#: transport-helper.c:942
+#: transport-helper.c:950
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr ""
 
-#: transport-helper.c:989
+#: transport-helper.c:997
 msgid "couldn't run fast-export"
 msgstr ""
 
-#: transport-helper.c:994
+#: transport-helper.c:1002
 msgid "error while running fast-export"
 msgstr ""
 
-#: transport-helper.c:1019
+#: transport-helper.c:1027
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
 "Perhaps you should specify a branch such as 'master'.\n"
 msgstr ""
 
-#: transport-helper.c:1083
+#: transport-helper.c:1091
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr ""
 
-#: transport-helper.c:1236
+#: transport-helper.c:1244
 #, c-format
 msgid "read(%s) failed"
 msgstr ""
 
-#: transport-helper.c:1263
+#: transport-helper.c:1271
 #, c-format
 msgid "write(%s) failed"
 msgstr ""
 
-#: transport-helper.c:1312
+#: transport-helper.c:1320
 #, c-format
 msgid "%s thread failed"
 msgstr ""
 
-#: transport-helper.c:1316
+#: transport-helper.c:1324
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr ""
 
-#: transport-helper.c:1335 transport-helper.c:1339
+#: transport-helper.c:1343 transport-helper.c:1347
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr ""
 
-#: transport-helper.c:1376
+#: transport-helper.c:1384
 #, c-format
 msgid "%s process failed to wait"
 msgstr ""
 
-#: transport-helper.c:1380
+#: transport-helper.c:1388
 #, c-format
 msgid "%s process failed"
 msgstr ""
 
-#: transport-helper.c:1398 transport-helper.c:1407
+#: transport-helper.c:1406 transport-helper.c:1415
 msgid "can't start thread for copying data"
 msgstr ""
 
@@ -6318,7 +7099,7 @@ msgstr ""
 msgid "empty filename in tree entry"
 msgstr ""
 
-#: tree-walk.c:116
+#: tree-walk.c:118
 msgid "too-short tree file"
 msgstr ""
 
@@ -6492,16 +7273,16 @@ msgid ""
 "%s"
 msgstr ""
 
-#: unpack-trees.c:253
+#: unpack-trees.c:256
 #, c-format
 msgid "Aborting\n"
 msgstr ""
 
-#: unpack-trees.c:335
-msgid "Checking out files"
+#: unpack-trees.c:318
+msgid "Updating files"
 msgstr ""
 
-#: unpack-trees.c:367
+#: unpack-trees.c:350
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -6537,32 +7318,32 @@ msgstr ""
 msgid "invalid '..' path segment"
 msgstr ""
 
-#: worktree.c:249 builtin/am.c:2094
+#: worktree.c:258 builtin/am.c:2095
 #, c-format
 msgid "failed to read '%s'"
 msgstr ""
 
-#: worktree.c:295
+#: worktree.c:304
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 
-#: worktree.c:306
+#: worktree.c:315
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 
-#: worktree.c:318
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr ""
 
-#: worktree.c:324
+#: worktree.c:333
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr ""
 
-#: worktree.c:332
+#: worktree.c:341
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr ""
@@ -6581,374 +7362,394 @@ msgstr ""
 msgid "unable to get current working directory"
 msgstr ""
 
-#: wt-status.c:155
+#: wt-status.c:158
 msgid "Unmerged paths:"
 msgstr ""
 
-#: wt-status.c:182 wt-status.c:209
+#: wt-status.c:187 wt-status.c:219
+msgid "  (use \"git restore --staged <file>...\" to unstage)"
+msgstr ""
+
+#: wt-status.c:190 wt-status.c:222
 #, c-format
-msgid "  (use \"git reset %s <file>...\" to unstage)"
+msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
 msgstr ""
 
-#: wt-status.c:184 wt-status.c:211
+#: wt-status.c:193 wt-status.c:225
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr ""
 
-#: wt-status.c:188
+#: wt-status.c:197
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:190 wt-status.c:194
+#: wt-status.c:199 wt-status.c:203
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 
-#: wt-status.c:192
+#: wt-status.c:201
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr ""
 
-#: wt-status.c:203 wt-status.c:1046
+#: wt-status.c:211 wt-status.c:1074
 msgid "Changes to be committed:"
 msgstr ""
 
-#: wt-status.c:221 wt-status.c:1055
+#: wt-status.c:234 wt-status.c:1083
 msgid "Changes not staged for commit:"
 msgstr ""
 
-#: wt-status.c:225
+#: wt-status.c:238
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 
-#: wt-status.c:227
+#: wt-status.c:240
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 
-#: wt-status.c:228
+#: wt-status.c:241
 msgid ""
-"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+"  (use \"git restore <file>...\" to discard changes in working directory)"
 msgstr ""
 
-#: wt-status.c:230
+#: wt-status.c:243
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 
-#: wt-status.c:242
+#: wt-status.c:254
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 
-#: wt-status.c:257
+#: wt-status.c:268
 msgid "both deleted:"
 msgstr ""
 
-#: wt-status.c:259
+#: wt-status.c:270
 msgid "added by us:"
 msgstr ""
 
-#: wt-status.c:261
+#: wt-status.c:272
 msgid "deleted by them:"
 msgstr ""
 
-#: wt-status.c:263
+#: wt-status.c:274
 msgid "added by them:"
 msgstr ""
 
-#: wt-status.c:265
+#: wt-status.c:276
 msgid "deleted by us:"
 msgstr ""
 
-#: wt-status.c:267
+#: wt-status.c:278
 msgid "both added:"
 msgstr ""
 
-#: wt-status.c:269
+#: wt-status.c:280
 msgid "both modified:"
 msgstr ""
 
-#: wt-status.c:279
+#: wt-status.c:290
 msgid "new file:"
 msgstr ""
 
-#: wt-status.c:281
+#: wt-status.c:292
 msgid "copied:"
 msgstr ""
 
-#: wt-status.c:283
+#: wt-status.c:294
 msgid "deleted:"
 msgstr ""
 
-#: wt-status.c:285
+#: wt-status.c:296
 msgid "modified:"
 msgstr ""
 
-#: wt-status.c:287
+#: wt-status.c:298
 msgid "renamed:"
 msgstr ""
 
-#: wt-status.c:289
+#: wt-status.c:300
 msgid "typechange:"
 msgstr ""
 
-#: wt-status.c:291
+#: wt-status.c:302
 msgid "unknown:"
 msgstr ""
 
-#: wt-status.c:293
+#: wt-status.c:304
 msgid "unmerged:"
 msgstr ""
 
-#: wt-status.c:373
+#: wt-status.c:384
 msgid "new commits, "
 msgstr ""
 
-#: wt-status.c:375
+#: wt-status.c:386
 msgid "modified content, "
 msgstr ""
 
-#: wt-status.c:377
+#: wt-status.c:388
 msgid "untracked content, "
 msgstr ""
 
-#: wt-status.c:884
+#: wt-status.c:906
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:916
+#: wt-status.c:938
 msgid "Submodules changed but not updated:"
 msgstr ""
 
-#: wt-status.c:918
+#: wt-status.c:940
 msgid "Submodule changes to be committed:"
 msgstr ""
 
-#: wt-status.c:1000
+#: wt-status.c:1022
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
 msgstr ""
 
-#: wt-status.c:1101
+#: wt-status.c:1114
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to compute the branch ahead/behind values.\n"
+"You can use '--no-ahead-behind' to avoid this.\n"
+msgstr ""
+
+#: wt-status.c:1144
 msgid "You have unmerged paths."
 msgstr ""
 
-#: wt-status.c:1104
+#: wt-status.c:1147
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr ""
 
-#: wt-status.c:1106
+#: wt-status.c:1149
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr ""
 
-#: wt-status.c:1110
+#: wt-status.c:1153
 msgid "All conflicts fixed but you are still merging."
 msgstr ""
 
-#: wt-status.c:1113
+#: wt-status.c:1156
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr ""
 
-#: wt-status.c:1122
+#: wt-status.c:1165
 msgid "You are in the middle of an am session."
 msgstr ""
 
-#: wt-status.c:1125
+#: wt-status.c:1168
 msgid "The current patch is empty."
 msgstr ""
 
-#: wt-status.c:1129
+#: wt-status.c:1172
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr ""
 
-#: wt-status.c:1131
+#: wt-status.c:1174
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1133
+#: wt-status.c:1176
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr ""
 
-#: wt-status.c:1264
+#: wt-status.c:1309
 msgid "git-rebase-todo is missing."
 msgstr ""
 
-#: wt-status.c:1266
+#: wt-status.c:1311
 msgid "No commands done."
 msgstr ""
 
-#: wt-status.c:1269
+#: wt-status.c:1314
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1280
+#: wt-status.c:1325
 #, c-format
 msgid "  (see more in file %s)"
 msgstr ""
 
-#: wt-status.c:1285
+#: wt-status.c:1330
 msgid "No commands remaining."
 msgstr ""
 
-#: wt-status.c:1288
+#: wt-status.c:1333
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] ""
 msgstr[1] ""
 
-#: wt-status.c:1296
+#: wt-status.c:1341
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr ""
 
-#: wt-status.c:1308
+#: wt-status.c:1353
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1313
+#: wt-status.c:1358
 msgid "You are currently rebasing."
 msgstr ""
 
-#: wt-status.c:1326
+#: wt-status.c:1371
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1328
+#: wt-status.c:1373
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr ""
 
-#: wt-status.c:1330
+#: wt-status.c:1375
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 
-#: wt-status.c:1337
+#: wt-status.c:1382
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1341
+#: wt-status.c:1386
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1346
+#: wt-status.c:1391
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1349
+#: wt-status.c:1394
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 
-#: wt-status.c:1353
+#: wt-status.c:1398
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 
-#: wt-status.c:1358
+#: wt-status.c:1403
 msgid "You are currently editing a commit during a rebase."
 msgstr ""
 
-#: wt-status.c:1361
+#: wt-status.c:1406
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 
-#: wt-status.c:1363
+#: wt-status.c:1408
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 
-#: wt-status.c:1372
+#: wt-status.c:1419
+msgid "Cherry-pick currently in progress."
+msgstr ""
+
+#: wt-status.c:1422
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr ""
 
-#: wt-status.c:1377
+#: wt-status.c:1429
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1380
+#: wt-status.c:1432
+msgid "  (run \"git cherry-pick --continue\" to continue)"
+msgstr ""
+
+#: wt-status.c:1435
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 
-#: wt-status.c:1382
+#: wt-status.c:1437
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 
-#: wt-status.c:1390
+#: wt-status.c:1447
+msgid "Revert currently in progress."
+msgstr ""
+
+#: wt-status.c:1450
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr ""
 
-#: wt-status.c:1395
+#: wt-status.c:1456
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1398
+#: wt-status.c:1459
+msgid "  (run \"git revert --continue\" to continue)"
+msgstr ""
+
+#: wt-status.c:1462
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 
-#: wt-status.c:1400
+#: wt-status.c:1464
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 
-#: wt-status.c:1410
+#: wt-status.c:1474
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 
-#: wt-status.c:1414
+#: wt-status.c:1478
 msgid "You are currently bisecting."
 msgstr ""
 
-#: wt-status.c:1417
+#: wt-status.c:1481
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 
-#: wt-status.c:1617
+#: wt-status.c:1690
 msgid "On branch "
 msgstr ""
 
-#: wt-status.c:1624
+#: wt-status.c:1697
 msgid "interactive rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1626
+#: wt-status.c:1699
 msgid "rebase in progress; onto "
 msgstr ""
 
-#: wt-status.c:1631
-msgid "HEAD detached at "
-msgstr ""
-
-#: wt-status.c:1633
-msgid "HEAD detached from "
-msgstr ""
-
-#: wt-status.c:1636
+#: wt-status.c:1709
 msgid "Not currently on any branch."
 msgstr ""
 
-#: wt-status.c:1653
+#: wt-status.c:1726
 msgid "Initial commit"
 msgstr ""
 
-#: wt-status.c:1654
+#: wt-status.c:1727
 msgid "No commits yet"
 msgstr ""
 
-#: wt-status.c:1668
+#: wt-status.c:1741
 msgid "Untracked files"
 msgstr ""
 
-#: wt-status.c:1670
+#: wt-status.c:1743
 msgid "Ignored files"
 msgstr ""
 
-#: wt-status.c:1674
+#: wt-status.c:1747
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -6956,92 +7757,92 @@ msgid ""
 "new files yourself (see 'git help status')."
 msgstr ""
 
-#: wt-status.c:1680
+#: wt-status.c:1753
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr ""
 
-#: wt-status.c:1682
+#: wt-status.c:1755
 msgid " (use -u option to show untracked files)"
 msgstr ""
 
-#: wt-status.c:1688
+#: wt-status.c:1761
 msgid "No changes"
 msgstr ""
 
-#: wt-status.c:1693
+#: wt-status.c:1766
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 
-#: wt-status.c:1696
+#: wt-status.c:1769
 #, c-format
 msgid "no changes added to commit\n"
 msgstr ""
 
-#: wt-status.c:1699
+#: wt-status.c:1772
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr ""
 
-#: wt-status.c:1702
+#: wt-status.c:1775
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 
-#: wt-status.c:1705
+#: wt-status.c:1778
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 
-#: wt-status.c:1708 wt-status.c:1713
+#: wt-status.c:1781 wt-status.c:1786
 #, c-format
 msgid "nothing to commit\n"
 msgstr ""
 
-#: wt-status.c:1711
+#: wt-status.c:1784
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 
-#: wt-status.c:1715
+#: wt-status.c:1788
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr ""
 
-#: wt-status.c:1828
+#: wt-status.c:1901
 msgid "No commits yet on "
 msgstr ""
 
-#: wt-status.c:1832
+#: wt-status.c:1905
 msgid "HEAD (no branch)"
 msgstr ""
 
-#: wt-status.c:1863
+#: wt-status.c:1936
 msgid "different"
 msgstr ""
 
-#: wt-status.c:1865 wt-status.c:1873
+#: wt-status.c:1938 wt-status.c:1946
 msgid "behind "
 msgstr ""
 
-#: wt-status.c:1868 wt-status.c:1871
+#: wt-status.c:1941 wt-status.c:1944
 msgid "ahead "
 msgstr ""
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2386
+#: wt-status.c:2466
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr ""
 
-#: wt-status.c:2392
+#: wt-status.c:2472
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 
-#: wt-status.c:2394
+#: wt-status.c:2474
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -7055,7 +7856,7 @@ msgstr ""
 msgid "unexpected diff status %c"
 msgstr ""
 
-#: builtin/add.c:89 builtin/commit.c:285
+#: builtin/add.c:89 builtin/commit.c:288
 msgid "updating files failed"
 msgstr ""
 
@@ -7103,8 +7904,8 @@ msgstr ""
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 
-#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:214 builtin/push.c:560
+#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr ""
@@ -7113,7 +7914,7 @@ msgstr ""
 msgid "interactive picking"
 msgstr ""
 
-#: builtin/add.c:294 builtin/checkout.c:1304 builtin/reset.c:306
+#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306
 msgid "select hunks interactively"
 msgstr ""
 
@@ -7157,7 +7958,7 @@ msgstr ""
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 
-#: builtin/add.c:309 builtin/update-index.c:991
+#: builtin/add.c:309 builtin/update-index.c:1001
 msgid "override the executable bit of the listed files"
 msgstr ""
 
@@ -7193,29 +7994,29 @@ msgstr ""
 msgid "Use -f if you really want to add them.\n"
 msgstr ""
 
-#: builtin/add.c:380
+#: builtin/add.c:379
 msgid "adding files failed"
 msgstr ""
 
-#: builtin/add.c:418
+#: builtin/add.c:419
 msgid "-A and -u are mutually incompatible"
 msgstr ""
 
-#: builtin/add.c:425
+#: builtin/add.c:426
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 
-#: builtin/add.c:429
+#: builtin/add.c:430
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr ""
 
-#: builtin/add.c:444
+#: builtin/add.c:445
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr ""
 
-#: builtin/add.c:445
+#: builtin/add.c:446
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr ""
@@ -7229,127 +8030,123 @@ msgstr ""
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr ""
 
-#: builtin/am.c:473
+#: builtin/am.c:474
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr ""
 
-#: builtin/am.c:510
+#: builtin/am.c:512
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr ""
 
-#: builtin/am.c:536
+#: builtin/am.c:538
 msgid "fseek failed"
 msgstr ""
 
-#: builtin/am.c:724
+#: builtin/am.c:726
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr ""
 
-#: builtin/am.c:789
+#: builtin/am.c:791
 msgid "Only one StGIT patch series can be applied at once"
 msgstr ""
 
-#: builtin/am.c:837
+#: builtin/am.c:839
 msgid "invalid timestamp"
 msgstr ""
 
-#: builtin/am.c:842 builtin/am.c:854
+#: builtin/am.c:844 builtin/am.c:856
 msgid "invalid Date line"
 msgstr ""
 
-#: builtin/am.c:849
+#: builtin/am.c:851
 msgid "invalid timezone offset"
 msgstr ""
 
-#: builtin/am.c:942
+#: builtin/am.c:944
 msgid "Patch format detection failed."
 msgstr ""
 
-#: builtin/am.c:947 builtin/clone.c:409
+#: builtin/am.c:949 builtin/clone.c:407
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr ""
 
-#: builtin/am.c:952
+#: builtin/am.c:954
 msgid "Failed to split patches."
 msgstr ""
 
-#: builtin/am.c:1082 builtin/commit.c:371
+#: builtin/am.c:1084 builtin/commit.c:374
 msgid "unable to write index file"
 msgstr ""
 
-#: builtin/am.c:1096
+#: builtin/am.c:1098
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr ""
 
-#: builtin/am.c:1097
+#: builtin/am.c:1099
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 
-#: builtin/am.c:1098
+#: builtin/am.c:1100
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 
-#: builtin/am.c:1181
+#: builtin/am.c:1183
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 
-#: builtin/am.c:1209
+#: builtin/am.c:1211
 msgid "Patch is empty."
 msgstr ""
 
-#: builtin/am.c:1275
+#: builtin/am.c:1277
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr ""
 
-#: builtin/am.c:1297
+#: builtin/am.c:1299
 #, c-format
 msgid "unable to parse commit %s"
 msgstr ""
 
-#: builtin/am.c:1493
+#: builtin/am.c:1496
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 
-#: builtin/am.c:1495
+#: builtin/am.c:1498
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 
-#: builtin/am.c:1514
+#: builtin/am.c:1517
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
 msgstr ""
 
-#: builtin/am.c:1520
+#: builtin/am.c:1523
 msgid "Falling back to patching base and 3-way merge..."
 msgstr ""
 
-#: builtin/am.c:1546
+#: builtin/am.c:1549
 msgid "Failed to merge in the changes."
 msgstr ""
 
-#: builtin/am.c:1578
+#: builtin/am.c:1581
 msgid "applying to an empty history"
 msgstr ""
 
-#: builtin/am.c:1624 builtin/am.c:1628
+#: builtin/am.c:1628 builtin/am.c:1632
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr ""
 
-#: builtin/am.c:1644
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr ""
-
-#: builtin/am.c:1649
+#: builtin/am.c:1650
 msgid "Commit Body is:"
 msgstr ""
 
@@ -7357,41 +8154,42 @@ msgstr ""
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1659
+#: builtin/am.c:1660
+#, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 
-#: builtin/am.c:1709
+#: builtin/am.c:1710
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr ""
 
-#: builtin/am.c:1749 builtin/am.c:1817
+#: builtin/am.c:1750 builtin/am.c:1818
 #, c-format
 msgid "Applying: %.*s"
 msgstr ""
 
-#: builtin/am.c:1766
+#: builtin/am.c:1767
 msgid "No changes -- Patch already applied."
 msgstr ""
 
-#: builtin/am.c:1772
+#: builtin/am.c:1773
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr ""
 
-#: builtin/am.c:1776
+#: builtin/am.c:1777
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr ""
 
-#: builtin/am.c:1820
+#: builtin/am.c:1821
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
 "already introduced the same changes; you might want to skip this patch."
 msgstr ""
 
-#: builtin/am.c:1827
+#: builtin/am.c:1828
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -7399,184 +8197,188 @@ msgid ""
 "You might run `git rm` on a file to accept \"deleted by them\" for it."
 msgstr ""
 
-#: builtin/am.c:1934 builtin/am.c:1938 builtin/am.c:1950 builtin/reset.c:329
+#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr ""
 
-#: builtin/am.c:1986
+#: builtin/am.c:1987
 msgid "failed to clean index"
 msgstr ""
 
-#: builtin/am.c:2030
+#: builtin/am.c:2031
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr ""
 
-#: builtin/am.c:2123
+#: builtin/am.c:2128
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr ""
 
-#: builtin/am.c:2159
+#: builtin/am.c:2164
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr ""
 
-#: builtin/am.c:2160
+#: builtin/am.c:2165
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr ""
 
-#: builtin/am.c:2166
+#: builtin/am.c:2171
 msgid "run interactively"
 msgstr ""
 
-#: builtin/am.c:2168
+#: builtin/am.c:2173
 msgid "historical option -- no-op"
 msgstr ""
 
-#: builtin/am.c:2170
+#: builtin/am.c:2175
 msgid "allow fall back on 3way merging if needed"
 msgstr ""
 
-#: builtin/am.c:2171 builtin/init-db.c:486 builtin/prune-packed.c:58
-#: builtin/repack.c:306
+#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:296 builtin/stash.c:806
 msgid "be quiet"
 msgstr ""
 
-#: builtin/am.c:2173
+#: builtin/am.c:2178
 msgid "add a Signed-off-by line to the commit message"
 msgstr ""
 
-#: builtin/am.c:2176
+#: builtin/am.c:2181
 msgid "recode into utf8 (default)"
 msgstr ""
 
-#: builtin/am.c:2178
+#: builtin/am.c:2183
 msgid "pass -k flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2180
+#: builtin/am.c:2185
 msgid "pass -b flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2182
+#: builtin/am.c:2187
 msgid "pass -m flag to git-mailinfo"
 msgstr ""
 
-#: builtin/am.c:2184
+#: builtin/am.c:2189
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr ""
 
-#: builtin/am.c:2187
+#: builtin/am.c:2192
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 
-#: builtin/am.c:2190
+#: builtin/am.c:2195
 msgid "strip everything before a scissors line"
 msgstr ""
 
-#: builtin/am.c:2192 builtin/am.c:2195 builtin/am.c:2198 builtin/am.c:2201
-#: builtin/am.c:2204 builtin/am.c:2207 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/am.c:2219
+#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206
+#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218
+#: builtin/am.c:2224
 msgid "pass it through git-apply"
 msgstr ""
 
-#: builtin/am.c:2209 builtin/commit.c:1343 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:240
-#: builtin/pull.c:152 builtin/pull.c:210 builtin/rebase.c:1062
-#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386
-#: parse-options.h:144 parse-options.h:146 parse-options.h:266
+#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249
+#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418
+#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313
+#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
+#: parse-options.h:141 parse-options.h:162 parse-options.h:312
 msgid "n"
 msgstr ""
 
-#: builtin/am.c:2215 builtin/branch.c:637 builtin/for-each-ref.c:38
-#: builtin/replace.c:544 builtin/tag.c:422 builtin/verify-tag.c:39
+#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38
+#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38
 msgid "format"
 msgstr ""
 
-#: builtin/am.c:2216
+#: builtin/am.c:2221
 msgid "format the patch(es) are in"
 msgstr ""
 
-#: builtin/am.c:2222
+#: builtin/am.c:2227
 msgid "override error message when patch failure occurs"
 msgstr ""
 
-#: builtin/am.c:2224
+#: builtin/am.c:2229
 msgid "continue applying patches after resolving a conflict"
 msgstr ""
 
-#: builtin/am.c:2227
+#: builtin/am.c:2232
 msgid "synonyms for --continue"
 msgstr ""
 
-#: builtin/am.c:2230
+#: builtin/am.c:2235
 msgid "skip the current patch"
 msgstr ""
 
-#: builtin/am.c:2233
+#: builtin/am.c:2238
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 
-#: builtin/am.c:2236
+#: builtin/am.c:2241
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr ""
 
-#: builtin/am.c:2239
+#: builtin/am.c:2244
 msgid "show the patch being applied."
 msgstr ""
 
-#: builtin/am.c:2243
+#: builtin/am.c:2248
 msgid "lie about committer date"
 msgstr ""
 
-#: builtin/am.c:2245
+#: builtin/am.c:2250
 msgid "use current timestamp for author date"
 msgstr ""
 
-#: builtin/am.c:2247 builtin/commit.c:1486 builtin/merge.c:274
-#: builtin/pull.c:185 builtin/rebase.c:1106 builtin/rebase--interactive.c:185
-#: builtin/revert.c:114 builtin/tag.c:402
+#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511
+#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489
+#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418
 msgid "key-id"
 msgstr ""
 
-#: builtin/am.c:2248 builtin/rebase.c:1107 builtin/rebase--interactive.c:186
+#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460
 msgid "GPG-sign commits"
 msgstr ""
 
-#: builtin/am.c:2251
+#: builtin/am.c:2256
 msgid "(internal use for git-rebase)"
 msgstr ""
 
-#: builtin/am.c:2269
+#: builtin/am.c:2274
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
 msgstr ""
 
-#: builtin/am.c:2276
+#: builtin/am.c:2281
 msgid "failed to read the index"
 msgstr ""
 
-#: builtin/am.c:2291
+#: builtin/am.c:2296
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 
-#: builtin/am.c:2315
+#: builtin/am.c:2320
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
 "Use \"git am --abort\" to remove it."
 msgstr ""
 
-#: builtin/am.c:2321
+#: builtin/am.c:2326
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr ""
 
+#: builtin/am.c:2336
+msgid "interactive mode requires patches on the command line"
+msgstr ""
+
 #: builtin/apply.c:8
 msgid "git apply [<options>] [<patch>...]"
 msgstr ""
@@ -7787,217 +8589,239 @@ msgstr ""
 msgid "bad HEAD - strange symbolic ref"
 msgstr ""
 
-#: builtin/bisect--helper.c:627
+#: builtin/bisect--helper.c:574
+#, c-format
+msgid "invalid ref: '%s'"
+msgstr ""
+
+#: builtin/bisect--helper.c:630
 msgid "perform 'git bisect next'"
 msgstr ""
 
-#: builtin/bisect--helper.c:629
+#: builtin/bisect--helper.c:632
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr ""
 
-#: builtin/bisect--helper.c:631
+#: builtin/bisect--helper.c:634
 msgid "cleanup the bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:633
+#: builtin/bisect--helper.c:636
 msgid "check for expected revs"
 msgstr ""
 
-#: builtin/bisect--helper.c:635
+#: builtin/bisect--helper.c:638
 msgid "reset the bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:637
+#: builtin/bisect--helper.c:640
 msgid "write out the bisection state in BISECT_LOG"
 msgstr ""
 
-#: builtin/bisect--helper.c:639
+#: builtin/bisect--helper.c:642
 msgid "check and set terms in a bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:641
+#: builtin/bisect--helper.c:644
 msgid "check whether bad or good terms exist"
 msgstr ""
 
-#: builtin/bisect--helper.c:643
+#: builtin/bisect--helper.c:646
 msgid "print out the bisect terms"
 msgstr ""
 
-#: builtin/bisect--helper.c:645
+#: builtin/bisect--helper.c:648
 msgid "start the bisect session"
 msgstr ""
 
-#: builtin/bisect--helper.c:647
+#: builtin/bisect--helper.c:650
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:649
+#: builtin/bisect--helper.c:652
 msgid "no log for BISECT_WRITE"
 msgstr ""
 
-#: builtin/bisect--helper.c:666
+#: builtin/bisect--helper.c:669
 msgid "--write-terms requires two arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:670
+#: builtin/bisect--helper.c:673
 msgid "--bisect-clean-state requires no arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:677
+#: builtin/bisect--helper.c:680
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:681
+#: builtin/bisect--helper.c:684
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:687
+#: builtin/bisect--helper.c:690
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:693
+#: builtin/bisect--helper.c:696
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:699
+#: builtin/bisect--helper.c:702
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr ""
 
-#: builtin/blame.c:31
+#: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr ""
 
-#: builtin/blame.c:36
+#: builtin/blame.c:37
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr ""
 
-#: builtin/blame.c:406
+#: builtin/blame.c:410
 #, c-format
 msgid "expecting a color: %s"
 msgstr ""
 
-#: builtin/blame.c:413
+#: builtin/blame.c:417
 msgid "must end with a color"
 msgstr ""
 
-#: builtin/blame.c:700
+#: builtin/blame.c:730
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr ""
 
-#: builtin/blame.c:718
+#: builtin/blame.c:748
 msgid "invalid value for blame.coloring"
 msgstr ""
 
-#: builtin/blame.c:793
+#: builtin/blame.c:823
+#, c-format
+msgid "cannot find revision %s to ignore"
+msgstr ""
+
+#: builtin/blame.c:845
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 
-#: builtin/blame.c:794
+#: builtin/blame.c:846
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:795
+#: builtin/blame.c:847
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:796
+#: builtin/blame.c:848
 msgid "Show work cost statistics"
 msgstr ""
 
-#: builtin/blame.c:797
+#: builtin/blame.c:849
 msgid "Force progress reporting"
 msgstr ""
 
-#: builtin/blame.c:798
+#: builtin/blame.c:850
 msgid "Show output score for blame entries"
 msgstr ""
 
-#: builtin/blame.c:799
+#: builtin/blame.c:851
 msgid "Show original filename (Default: auto)"
 msgstr ""
 
-#: builtin/blame.c:800
+#: builtin/blame.c:852
 msgid "Show original linenumber (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:801
+#: builtin/blame.c:853
 msgid "Show in a format designed for machine consumption"
 msgstr ""
 
-#: builtin/blame.c:802
+#: builtin/blame.c:854
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 
-#: builtin/blame.c:803
+#: builtin/blame.c:855
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:804
+#: builtin/blame.c:856
 msgid "Show raw timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:805
+#: builtin/blame.c:857
 msgid "Show long commit SHA1 (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:806
+#: builtin/blame.c:858
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:807
+#: builtin/blame.c:859
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 
-#: builtin/blame.c:808
+#: builtin/blame.c:860
 msgid "Ignore whitespace differences"
 msgstr ""
 
-#: builtin/blame.c:809
+#: builtin/blame.c:861 builtin/log.c:1629
+msgid "rev"
+msgstr ""
+
+#: builtin/blame.c:861
+msgid "Ignore <rev> when blaming"
+msgstr ""
+
+#: builtin/blame.c:862
+msgid "Ignore revisions from <file>"
+msgstr ""
+
+#: builtin/blame.c:863
 msgid "color redundant metadata from previous line differently"
 msgstr ""
 
-#: builtin/blame.c:810
+#: builtin/blame.c:864
 msgid "color lines by age"
 msgstr ""
 
-#: builtin/blame.c:817
+#: builtin/blame.c:871
 msgid "Use an experimental heuristic to improve diffs"
 msgstr ""
 
-#: builtin/blame.c:819
+#: builtin/blame.c:873
 msgid "Spend extra cycles to find better match"
 msgstr ""
 
-#: builtin/blame.c:820
+#: builtin/blame.c:874
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 
-#: builtin/blame.c:821
+#: builtin/blame.c:875
 msgid "Use <file>'s contents as the final image"
 msgstr ""
 
-#: builtin/blame.c:822 builtin/blame.c:823
+#: builtin/blame.c:876 builtin/blame.c:877
 msgid "score"
 msgstr ""
 
-#: builtin/blame.c:822
+#: builtin/blame.c:876
 msgid "Find line copies within and across files"
 msgstr ""
 
-#: builtin/blame.c:823
+#: builtin/blame.c:877
 msgid "Find line movements within and across files"
 msgstr ""
 
-#: builtin/blame.c:824
+#: builtin/blame.c:878
 msgid "n,m"
 msgstr ""
 
-#: builtin/blame.c:824
+#: builtin/blame.c:878
 msgid "Process only line range n,m, counting from 1"
 msgstr ""
 
-#: builtin/blame.c:875
+#: builtin/blame.c:929
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 
@@ -8009,18 +8833,18 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:926
+#: builtin/blame.c:980
 msgid "4 years, 11 months ago"
 msgstr ""
 
-#: builtin/blame.c:1018
+#: builtin/blame.c:1087
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/blame.c:1064
+#: builtin/blame.c:1133
 msgid "Blaming lines"
 msgstr ""
 
@@ -8052,138 +8876,147 @@ msgstr ""
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr ""
 
-#: builtin/branch.c:151
+#: builtin/branch.c:154
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 msgstr ""
 
-#: builtin/branch.c:155
+#: builtin/branch.c:158
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
 "         '%s', even though it is merged to HEAD."
 msgstr ""
 
-#: builtin/branch.c:169
+#: builtin/branch.c:172
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr ""
 
-#: builtin/branch.c:173
+#: builtin/branch.c:176
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr ""
 
-#: builtin/branch.c:186
+#: builtin/branch.c:189
 msgid "Update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:217
+#: builtin/branch.c:220
 msgid "cannot use -a with -d"
 msgstr ""
 
-#: builtin/branch.c:223
+#: builtin/branch.c:226
 msgid "Couldn't look up commit object for HEAD"
 msgstr ""
 
-#: builtin/branch.c:237
+#: builtin/branch.c:240
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr ""
 
-#: builtin/branch.c:252
+#: builtin/branch.c:255
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:253
+#: builtin/branch.c:256
 #, c-format
 msgid "branch '%s' not found."
 msgstr ""
 
-#: builtin/branch.c:268
+#: builtin/branch.c:271
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:269
+#: builtin/branch.c:272
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:276
+#: builtin/branch.c:279
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:277
+#: builtin/branch.c:280
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr ""
 
-#: builtin/branch.c:421 builtin/tag.c:59
+#: builtin/branch.c:429 builtin/tag.c:61
 msgid "unable to parse format string"
 msgstr ""
 
-#: builtin/branch.c:458
+#: builtin/branch.c:460
+msgid "could not resolve HEAD"
+msgstr ""
+
+#: builtin/branch.c:466
+#, c-format
+msgid "HEAD (%s) points outside of refs/heads/"
+msgstr ""
+
+#: builtin/branch.c:481
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr ""
 
-#: builtin/branch.c:462
+#: builtin/branch.c:485
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr ""
 
-#: builtin/branch.c:479
+#: builtin/branch.c:502
 msgid "cannot copy the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:481
+#: builtin/branch.c:504
 msgid "cannot rename the current branch while not on any."
 msgstr ""
 
-#: builtin/branch.c:492
+#: builtin/branch.c:515
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr ""
 
-#: builtin/branch.c:519
+#: builtin/branch.c:542
 msgid "Branch rename failed"
 msgstr ""
 
-#: builtin/branch.c:521
+#: builtin/branch.c:544
 msgid "Branch copy failed"
 msgstr ""
 
-#: builtin/branch.c:525
+#: builtin/branch.c:548
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:528
+#: builtin/branch.c:551
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr ""
 
-#: builtin/branch.c:534
+#: builtin/branch.c:557
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr ""
 
-#: builtin/branch.c:543
+#: builtin/branch.c:566
 msgid "Branch is renamed, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:545
+#: builtin/branch.c:568
 msgid "Branch is copied, but update of config-file failed"
 msgstr ""
 
-#: builtin/branch.c:561
+#: builtin/branch.c:584
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -8191,219 +9024,215 @@ msgid ""
 "Lines starting with '%c' will be stripped.\n"
 msgstr ""
 
-#: builtin/branch.c:594
+#: builtin/branch.c:618
 msgid "Generic options"
 msgstr ""
 
-#: builtin/branch.c:596
+#: builtin/branch.c:620
 msgid "show hash and subject, give twice for upstream branch"
 msgstr ""
 
-#: builtin/branch.c:597
+#: builtin/branch.c:621
 msgid "suppress informational messages"
 msgstr ""
 
-#: builtin/branch.c:598
+#: builtin/branch.c:622
 msgid "set up tracking mode (see git-pull(1))"
 msgstr ""
 
-#: builtin/branch.c:600
+#: builtin/branch.c:624
 msgid "do not use"
 msgstr ""
 
-#: builtin/branch.c:602 builtin/rebase--interactive.c:182
+#: builtin/branch.c:626 builtin/rebase.c:485
 msgid "upstream"
 msgstr ""
 
-#: builtin/branch.c:602
+#: builtin/branch.c:626
 msgid "change the upstream info"
 msgstr ""
 
-#: builtin/branch.c:603
+#: builtin/branch.c:627
 msgid "Unset the upstream info"
 msgstr ""
 
-#: builtin/branch.c:604
+#: builtin/branch.c:628
 msgid "use colored output"
 msgstr ""
 
-#: builtin/branch.c:605
+#: builtin/branch.c:629
 msgid "act on remote-tracking branches"
 msgstr ""
 
-#: builtin/branch.c:607 builtin/branch.c:609
+#: builtin/branch.c:631 builtin/branch.c:633
 msgid "print only branches that contain the commit"
 msgstr ""
 
-#: builtin/branch.c:608 builtin/branch.c:610
+#: builtin/branch.c:632 builtin/branch.c:634
 msgid "print only branches that don't contain the commit"
 msgstr ""
 
-#: builtin/branch.c:613
+#: builtin/branch.c:637
 msgid "Specific git-branch actions:"
 msgstr ""
 
-#: builtin/branch.c:614
+#: builtin/branch.c:638
 msgid "list both remote-tracking and local branches"
 msgstr ""
 
-#: builtin/branch.c:616
+#: builtin/branch.c:640
 msgid "delete fully merged branch"
 msgstr ""
 
-#: builtin/branch.c:617
+#: builtin/branch.c:641
 msgid "delete branch (even if not merged)"
 msgstr ""
 
-#: builtin/branch.c:618
+#: builtin/branch.c:642
 msgid "move/rename a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:619
+#: builtin/branch.c:643
 msgid "move/rename a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:620
+#: builtin/branch.c:644
 msgid "copy a branch and its reflog"
 msgstr ""
 
-#: builtin/branch.c:621
+#: builtin/branch.c:645
 msgid "copy a branch, even if target exists"
 msgstr ""
 
-#: builtin/branch.c:622
+#: builtin/branch.c:646
 msgid "list branch names"
 msgstr ""
 
-#: builtin/branch.c:623
+#: builtin/branch.c:647
+msgid "show current branch name"
+msgstr ""
+
+#: builtin/branch.c:648
 msgid "create the branch's reflog"
 msgstr ""
 
-#: builtin/branch.c:625
+#: builtin/branch.c:650
 msgid "edit the description for the branch"
 msgstr ""
 
-#: builtin/branch.c:626
+#: builtin/branch.c:651
 msgid "force creation, move/rename, deletion"
 msgstr ""
 
-#: builtin/branch.c:627
+#: builtin/branch.c:652
 msgid "print only branches that are merged"
 msgstr ""
 
-#: builtin/branch.c:628
+#: builtin/branch.c:653
 msgid "print only branches that are not merged"
 msgstr ""
 
-#: builtin/branch.c:629
+#: builtin/branch.c:654
 msgid "list branches in columns"
 msgstr ""
 
-#: builtin/branch.c:630 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:415
-msgid "key"
-msgstr ""
-
-#: builtin/branch.c:631 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:416
-msgid "field name to sort on"
-msgstr ""
-
-#: builtin/branch.c:633 builtin/for-each-ref.c:43 builtin/notes.c:415
+#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:418
+#: builtin/tag.c:433
 msgid "object"
 msgstr ""
 
-#: builtin/branch.c:634
+#: builtin/branch.c:658
 msgid "print only branches of the object"
 msgstr ""
 
-#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425
+#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440
 msgid "sorting and filtering are case insensitive"
 msgstr ""
 
-#: builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/tag.c:423
-#: builtin/verify-tag.c:39
+#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438
+#: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr ""
 
-#: builtin/branch.c:660 builtin/clone.c:746
+#: builtin/branch.c:684 builtin/clone.c:761
 msgid "HEAD not found below refs/heads!"
 msgstr ""
 
-#: builtin/branch.c:683
+#: builtin/branch.c:708
 msgid "--column and --verbose are incompatible"
 msgstr ""
 
-#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758
+#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
 msgid "branch name required"
 msgstr ""
 
-#: builtin/branch.c:725
+#: builtin/branch.c:753
 msgid "Cannot give description to detached HEAD"
 msgstr ""
 
-#: builtin/branch.c:730
+#: builtin/branch.c:758
 msgid "cannot edit description of more than one branch"
 msgstr ""
 
-#: builtin/branch.c:737
+#: builtin/branch.c:765
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr ""
 
-#: builtin/branch.c:740
+#: builtin/branch.c:768
 #, c-format
 msgid "No branch named '%s'."
 msgstr ""
 
-#: builtin/branch.c:755
+#: builtin/branch.c:783
 msgid "too many branches for a copy operation"
 msgstr ""
 
-#: builtin/branch.c:764
+#: builtin/branch.c:792
 msgid "too many arguments for a rename operation"
 msgstr ""
 
-#: builtin/branch.c:769
+#: builtin/branch.c:797
 msgid "too many arguments to set new upstream"
 msgstr ""
 
-#: builtin/branch.c:773
+#: builtin/branch.c:801
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:776 builtin/branch.c:799
+#: builtin/branch.c:804 builtin/branch.c:827
 #, c-format
 msgid "no such branch '%s'"
 msgstr ""
 
-#: builtin/branch.c:780
+#: builtin/branch.c:808
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr ""
 
-#: builtin/branch.c:793
+#: builtin/branch.c:821
 msgid "too many arguments to unset upstream"
 msgstr ""
 
-#: builtin/branch.c:797
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 
-#: builtin/branch.c:803
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr ""
 
-#: builtin/branch.c:813
-msgid "-a and -r options to 'git branch' do not make sense with a branch name"
+#: builtin/branch.c:841
+msgid ""
+"The -a, and -r, options to 'git branch' do not take a branch name.\n"
+"Did you mean to use: -a|-r --list <pattern>?"
 msgstr ""
 
-#: builtin/branch.c:816
+#: builtin/branch.c:845
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -8422,83 +9251,83 @@ msgstr ""
 msgid "Need a repository to unbundle."
 msgstr ""
 
-#: builtin/cat-file.c:593
+#: builtin/cat-file.c:594
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
 msgstr ""
 
-#: builtin/cat-file.c:594
+#: builtin/cat-file.c:595
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 msgstr ""
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:616
 msgid "only one batch option may be specified"
 msgstr ""
 
-#: builtin/cat-file.c:633
+#: builtin/cat-file.c:634
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr ""
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:635
 msgid "show object type"
 msgstr ""
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:636
 msgid "show object size"
 msgstr ""
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:638
 msgid "exit with zero when there's no error"
 msgstr ""
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:639
 msgid "pretty-print object's content"
 msgstr ""
 
-#: builtin/cat-file.c:640
+#: builtin/cat-file.c:641
 msgid "for blob objects, run textconv on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:642
+#: builtin/cat-file.c:643
 msgid "for blob objects, run filters on object's content"
 msgstr ""
 
-#: builtin/cat-file.c:643 git-submodule.sh:860
+#: builtin/cat-file.c:644 git-submodule.sh:936
 msgid "blob"
 msgstr ""
 
-#: builtin/cat-file.c:644
+#: builtin/cat-file.c:645
 msgid "use a specific path for --textconv/--filters"
 msgstr ""
 
-#: builtin/cat-file.c:646
+#: builtin/cat-file.c:647
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr ""
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:648
 msgid "buffer --batch output"
 msgstr ""
 
-#: builtin/cat-file.c:649
+#: builtin/cat-file.c:650
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 
-#: builtin/cat-file.c:653
+#: builtin/cat-file.c:654
 msgid "show info about objects fed from the standard input"
 msgstr ""
 
-#: builtin/cat-file.c:657
+#: builtin/cat-file.c:658
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 
-#: builtin/cat-file.c:659
+#: builtin/cat-file.c:660
 msgid "show all objects with --batch or --batch-check"
 msgstr ""
 
-#: builtin/cat-file.c:661
+#: builtin/cat-file.c:662
 msgid "do not order --batch-all-objects output"
 msgstr ""
 
@@ -8526,8 +9355,8 @@ msgstr ""
 msgid "terminate input and output records by a NUL character"
 msgstr ""
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1280 builtin/gc.c:517
-#: builtin/worktree.c:496
+#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538
+#: builtin/worktree.c:507
 msgid "suppress progress reporting"
 msgstr ""
 
@@ -8617,9 +9446,9 @@ msgid "write the content to temporary files"
 msgstr ""
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1857
-#: builtin/worktree.c:669
+#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857
+#: builtin/worktree.c:680
 msgid "string"
 msgstr ""
 
@@ -8631,134 +9460,169 @@ msgstr ""
 msgid "copy out the files from named stage"
 msgstr ""
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
 msgstr ""
 
-#: builtin/checkout.c:33
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr ""
 
-#: builtin/checkout.c:147 builtin/checkout.c:181
+#: builtin/checkout.c:37
+msgid "git switch [<options>] [<branch>]"
+msgstr ""
+
+#: builtin/checkout.c:42
+msgid "git restore [<options>] [--source=<branch>] <file>..."
+msgstr ""
+
+#: builtin/checkout.c:172 builtin/checkout.c:211
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr ""
 
-#: builtin/checkout.c:149 builtin/checkout.c:183
+#: builtin/checkout.c:174 builtin/checkout.c:213
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr ""
 
-#: builtin/checkout.c:165
+#: builtin/checkout.c:190
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:210
+#: builtin/checkout.c:240
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr ""
 
-#: builtin/checkout.c:228
+#: builtin/checkout.c:258
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr ""
 
-#: builtin/checkout.c:244
+#: builtin/checkout.c:274
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr ""
 
-#: builtin/checkout.c:267 builtin/checkout.c:270 builtin/checkout.c:273
-#: builtin/checkout.c:276
+#: builtin/checkout.c:374
+#, c-format
+msgid "Recreated %d merge conflict"
+msgid_plural "Recreated %d merge conflicts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/checkout.c:379
+#, c-format
+msgid "Updated %d path from %s"
+msgid_plural "Updated %d paths from %s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/checkout.c:386
+#, c-format
+msgid "Updated %d path from the index"
+msgid_plural "Updated %d paths from the index"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415
+#: builtin/checkout.c:419
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr ""
 
-#: builtin/checkout.c:279 builtin/checkout.c:282
+#: builtin/checkout.c:422 builtin/checkout.c:425
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr ""
 
-#: builtin/checkout.c:285
+#: builtin/checkout.c:429
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 
-#: builtin/checkout.c:354 builtin/checkout.c:361
+#: builtin/checkout.c:433
 #, c-format
-msgid "path '%s' is unmerged"
+msgid "neither '%s' or '%s' is specified"
 msgstr ""
 
-#: builtin/checkout.c:397
+#: builtin/checkout.c:437
 #, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] ""
-msgstr[1] ""
+msgid "'%s' must be used when '%s' is not specified"
+msgstr ""
 
-#: builtin/checkout.c:402
+#: builtin/checkout.c:442 builtin/checkout.c:447
 #, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] ""
-msgstr[1] ""
+msgid "'%s' or '%s' cannot be used with %s"
+msgstr ""
 
-#: builtin/checkout.c:409
+#: builtin/checkout.c:506 builtin/checkout.c:513
 #, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] ""
-msgstr[1] ""
+msgid "path '%s' is unmerged"
+msgstr ""
 
-#: builtin/checkout.c:645
+#: builtin/checkout.c:679
 msgid "you need to resolve your current index first"
 msgstr ""
 
-#: builtin/checkout.c:782
+#: builtin/checkout.c:729
+#, c-format
+msgid ""
+"cannot continue with staged changes in the following files:\n"
+"%s"
+msgstr ""
+
+#: builtin/checkout.c:736
+#, c-format
+msgid "staged changes in the following files may be lost: %s"
+msgstr ""
+
+#: builtin/checkout.c:833
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr ""
 
-#: builtin/checkout.c:824
+#: builtin/checkout.c:875
 msgid "HEAD is now at"
 msgstr ""
 
-#: builtin/checkout.c:828 builtin/clone.c:699
+#: builtin/checkout.c:879 builtin/clone.c:714
 msgid "unable to update HEAD"
 msgstr ""
 
-#: builtin/checkout.c:832
+#: builtin/checkout.c:883
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:835
+#: builtin/checkout.c:886
 #, c-format
 msgid "Already on '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:839
+#: builtin/checkout.c:890
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:841 builtin/checkout.c:1212
+#: builtin/checkout.c:892 builtin/checkout.c:1289
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:843
+#: builtin/checkout.c:894
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr ""
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:945
 #, c-format
 msgid " ... and %d more.\n"
 msgstr ""
 
-#: builtin/checkout.c:900
+#: builtin/checkout.c:951
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -8773,7 +9637,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:919
+#: builtin/checkout.c:970
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -8790,173 +9654,231 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:1005
 msgid "internal error in revision walk"
 msgstr ""
 
-#: builtin/checkout.c:955
+#: builtin/checkout.c:1009
 msgid "Previous HEAD position was"
 msgstr ""
 
-#: builtin/checkout.c:983 builtin/checkout.c:1207
+#: builtin/checkout.c:1049 builtin/checkout.c:1284
 msgid "You are on a branch yet to be born"
 msgstr ""
 
-#: builtin/checkout.c:1104
+#: builtin/checkout.c:1176
+msgid "only one reference expected"
+msgstr ""
+
+#: builtin/checkout.c:1193
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr ""
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1230
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
 "Please use -- (and optionally --no-guess) to disambiguate"
 msgstr ""
 
-#: builtin/checkout.c:1153 builtin/worktree.c:290 builtin/worktree.c:445
+#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456
 #, c-format
 msgid "invalid reference: %s"
 msgstr ""
 
-#: builtin/checkout.c:1182
+#: builtin/checkout.c:1256 builtin/checkout.c:1618
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr ""
 
-#: builtin/checkout.c:1221
-msgid "paths cannot be used with switching branches"
+#: builtin/checkout.c:1303
+#, c-format
+msgid "a branch is expected, got tag '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1224 builtin/checkout.c:1228
+#: builtin/checkout.c:1305
 #, c-format
-msgid "'%s' cannot be used with switching branches"
+msgid "a branch is expected, got remote branch '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1232 builtin/checkout.c:1235 builtin/checkout.c:1240
-#: builtin/checkout.c:1243
+#: builtin/checkout.c:1306 builtin/checkout.c:1314
 #, c-format
-msgid "'%s' cannot be used with '%s'"
+msgid "a branch is expected, got '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1248
+#: builtin/checkout.c:1309
 #, c-format
-msgid "Cannot switch branch to a non-commit '%s'"
+msgid "a branch is expected, got commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1281 builtin/checkout.c:1283 builtin/clone.c:120
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:489
-#: builtin/worktree.c:491
-msgid "branch"
+#: builtin/checkout.c:1325
+msgid ""
+"cannot switch branch while merging\n"
+"Consider \"git merge --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1282
-msgid "create and checkout a new branch"
+#: builtin/checkout.c:1329
+msgid ""
+"cannot switch branch in the middle of an am session\n"
+"Consider \"git am --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1284
-msgid "create/reset and checkout a branch"
+#: builtin/checkout.c:1333
+msgid ""
+"cannot switch branch while rebasing\n"
+"Consider \"git rebase --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1285
-msgid "create reflog for new branch"
+#: builtin/checkout.c:1337
+msgid ""
+"cannot switch branch while cherry-picking\n"
+"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1286 builtin/worktree.c:493
-msgid "detach HEAD at named commit"
+#: builtin/checkout.c:1341
+msgid ""
+"cannot switch branch while reverting\n"
+"Consider \"git revert --quit\" or \"git worktree add\"."
 msgstr ""
 
-#: builtin/checkout.c:1287
-msgid "set upstream info for new branch"
+#: builtin/checkout.c:1345
+msgid "you are switching branch while bisecting"
 msgstr ""
 
-#: builtin/checkout.c:1289
-msgid "new-branch"
+#: builtin/checkout.c:1352
+msgid "paths cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1289
-msgid "new unparented branch"
+#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363
+#, c-format
+msgid "'%s' cannot be used with switching branches"
 msgstr ""
 
-#: builtin/checkout.c:1291
-msgid "checkout our version for unmerged files"
+#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373
+#: builtin/checkout.c:1378 builtin/checkout.c:1383
+#, c-format
+msgid "'%s' cannot be used with '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1294
-msgid "checkout their version for unmerged files"
+#: builtin/checkout.c:1380
+#, c-format
+msgid "'%s' cannot take <start-point>"
 msgstr ""
 
-#: builtin/checkout.c:1296
-msgid "force checkout (throw away local modifications)"
+#: builtin/checkout.c:1388
+#, c-format
+msgid "Cannot switch branch to a non-commit '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1298
-msgid "perform a 3-way merge with the new branch"
+#: builtin/checkout.c:1395
+msgid "missing branch or commit argument"
 msgstr ""
 
-#: builtin/checkout.c:1300 builtin/merge.c:276
-msgid "update ignored files (default)"
+#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151
+#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575
+#: builtin/send-pack.c:174
+msgid "force progress reporting"
+msgstr ""
+
+#: builtin/checkout.c:1438
+msgid "perform a 3-way merge with the new branch"
 msgstr ""
 
-#: builtin/checkout.c:1302 builtin/log.c:1586 parse-options.h:272
+#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318
 msgid "style"
 msgstr ""
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1440
 msgid "conflict style (merge or diff3)"
 msgstr ""
 
-#: builtin/checkout.c:1306
-msgid "do not limit pathspecs to sparse entries only"
+#: builtin/checkout.c:1452 builtin/worktree.c:504
+msgid "detach HEAD at named commit"
+msgstr ""
+
+#: builtin/checkout.c:1453
+msgid "set upstream info for new branch"
 msgstr ""
 
-#: builtin/checkout.c:1308
-msgid "do not second guess 'git checkout <no-such-branch>'"
+#: builtin/checkout.c:1455
+msgid "force checkout (throw away local modifications)"
+msgstr ""
+
+#: builtin/checkout.c:1457
+msgid "new-branch"
+msgstr ""
+
+#: builtin/checkout.c:1457
+msgid "new unparented branch"
+msgstr ""
+
+#: builtin/checkout.c:1459 builtin/merge.c:288
+msgid "update ignored files (default)"
 msgstr ""
 
-#: builtin/checkout.c:1310
+#: builtin/checkout.c:1462
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 
-#: builtin/checkout.c:1314 builtin/clone.c:87 builtin/fetch.c:141
-#: builtin/merge.c:273 builtin/pull.c:130 builtin/push.c:575
-#: builtin/send-pack.c:174
-msgid "force progress reporting"
+#: builtin/checkout.c:1475
+msgid "checkout our version for unmerged files"
 msgstr ""
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1478
+msgid "checkout their version for unmerged files"
+msgstr ""
+
+#: builtin/checkout.c:1482
+msgid "do not limit pathspecs to sparse entries only"
+msgstr ""
+
+#: builtin/checkout.c:1533
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1362
+#: builtin/checkout.c:1536
+msgid "-p and --overlay are mutually exclusive"
+msgstr ""
+
+#: builtin/checkout.c:1573
 msgid "--track needs a branch name"
 msgstr ""
 
-#: builtin/checkout.c:1367
+#: builtin/checkout.c:1578
 msgid "missing branch name; try -b"
 msgstr ""
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1611
+#, c-format
+msgid "could not resolve %s"
+msgstr ""
+
+#: builtin/checkout.c:1623
+msgid "you must specify path(s) to restore"
+msgstr ""
+
+#: builtin/checkout.c:1631
 msgid "invalid path specification"
 msgstr ""
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1638
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 
-#: builtin/checkout.c:1415
+#: builtin/checkout.c:1642
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr ""
 
-#: builtin/checkout.c:1419
+#: builtin/checkout.c:1646
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 
-#: builtin/checkout.c:1439
+#: builtin/checkout.c:1666
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -8973,6 +9895,68 @@ msgid ""
 "checkout.defaultRemote=origin in your config."
 msgstr ""
 
+#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733
+#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169
+#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502
+msgid "branch"
+msgstr ""
+
+#: builtin/checkout.c:1692
+msgid "create and checkout a new branch"
+msgstr ""
+
+#: builtin/checkout.c:1694
+msgid "create/reset and checkout a branch"
+msgstr ""
+
+#: builtin/checkout.c:1695
+msgid "create reflog for new branch"
+msgstr ""
+
+#: builtin/checkout.c:1697
+msgid "second guess 'git checkout <no-such-branch>' (default)"
+msgstr ""
+
+#: builtin/checkout.c:1698
+msgid "use overlay mode (default)"
+msgstr ""
+
+#: builtin/checkout.c:1734
+msgid "create and switch to a new branch"
+msgstr ""
+
+#: builtin/checkout.c:1736
+msgid "create/reset and switch to a branch"
+msgstr ""
+
+#: builtin/checkout.c:1738
+msgid "second guess 'git switch <no-such-branch>'"
+msgstr ""
+
+#: builtin/checkout.c:1740
+msgid "throw away local modifications"
+msgstr ""
+
+#: builtin/checkout.c:1772
+msgid "which tree-ish to checkout from"
+msgstr ""
+
+#: builtin/checkout.c:1774
+msgid "restore the index"
+msgstr ""
+
+#: builtin/checkout.c:1776
+msgid "restore the working tree (default)"
+msgstr ""
+
+#: builtin/checkout.c:1778
+msgid "ignore unmerged entries"
+msgstr ""
+
+#: builtin/checkout.c:1779
+msgid "use overlay mode"
+msgstr ""
+
 #: builtin/clean.c:28
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
@@ -9003,7 +9987,12 @@ msgstr ""
 msgid "failed to remove %s"
 msgstr ""
 
-#: builtin/clean.c:299 git-add--interactive.perl:579
+#: builtin/clean.c:37
+#, c-format
+msgid "could not lstat %s\n"
+msgstr ""
+
+#: builtin/clean.c:300 git-add--interactive.perl:593
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -9012,7 +10001,7 @@ msgid ""
 "           - (empty) select nothing\n"
 msgstr ""
 
-#: builtin/clean.c:303 git-add--interactive.perl:588
+#: builtin/clean.c:304 git-add--interactive.perl:602
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -9025,38 +10014,38 @@ msgid ""
 "           - (empty) finish selecting\n"
 msgstr ""
 
-#: builtin/clean.c:519 git-add--interactive.perl:554
-#: git-add--interactive.perl:559
+#: builtin/clean.c:520 git-add--interactive.perl:568
+#: git-add--interactive.perl:573
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr ""
 
-#: builtin/clean.c:661
+#: builtin/clean.c:662
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr ""
 
-#: builtin/clean.c:698
+#: builtin/clean.c:699
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr ""
 
-#: builtin/clean.c:719
+#: builtin/clean.c:720
 msgid "Select items to delete"
 msgstr ""
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:760
+#: builtin/clean.c:761
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr ""
 
-#: builtin/clean.c:785 git-add--interactive.perl:1717
+#: builtin/clean.c:786 git-add--interactive.perl:1763
 #, c-format
 msgid "Bye.\n"
 msgstr ""
 
-#: builtin/clean.c:793
+#: builtin/clean.c:794
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -9067,424 +10056,504 @@ msgid ""
 "?                   - help for prompt selection"
 msgstr ""
 
-#: builtin/clean.c:820 git-add--interactive.perl:1793
+#: builtin/clean.c:821 git-add--interactive.perl:1849
 msgid "*** Commands ***"
 msgstr ""
 
-#: builtin/clean.c:821 git-add--interactive.perl:1790
+#: builtin/clean.c:822 git-add--interactive.perl:1846
 msgid "What now"
 msgstr ""
 
-#: builtin/clean.c:829
+#: builtin/clean.c:830
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/clean.c:845
+#: builtin/clean.c:846
 msgid "No more files to clean, exiting."
 msgstr ""
 
-#: builtin/clean.c:907
+#: builtin/clean.c:908
 msgid "do not print names of files removed"
 msgstr ""
 
-#: builtin/clean.c:909
+#: builtin/clean.c:910
 msgid "force"
 msgstr ""
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "interactive cleaning"
 msgstr ""
 
-#: builtin/clean.c:912
+#: builtin/clean.c:913
 msgid "remove whole directories"
 msgstr ""
 
-#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:167 builtin/log.c:169
-#: builtin/ls-files.c:557 builtin/name-rev.c:415 builtin/name-rev.c:417
-#: builtin/show-ref.c:178
+#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548
+#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178
+#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415
+#: builtin/show-ref.c:179
 msgid "pattern"
 msgstr ""
 
-#: builtin/clean.c:914
+#: builtin/clean.c:915
 msgid "add <pattern> to ignore rules"
 msgstr ""
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "remove ignored files, too"
 msgstr ""
 
-#: builtin/clean.c:917
+#: builtin/clean.c:918
 msgid "remove only ignored files"
 msgstr ""
 
-#: builtin/clean.c:935
+#: builtin/clean.c:936
 msgid "-x and -X cannot be used together"
 msgstr ""
 
-#: builtin/clean.c:939
+#: builtin/clean.c:940
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 
-#: builtin/clean.c:942
+#: builtin/clean.c:943
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
 
-#: builtin/clone.c:44
+#: builtin/clone.c:46
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr ""
 
-#: builtin/clone.c:89
+#: builtin/clone.c:93
 msgid "don't create a checkout"
 msgstr ""
 
-#: builtin/clone.c:90 builtin/clone.c:92 builtin/init-db.c:481
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr ""
 
-#: builtin/clone.c:94
+#: builtin/clone.c:98
 msgid "create a mirror repository (implies bare)"
 msgstr ""
 
-#: builtin/clone.c:96
+#: builtin/clone.c:100
 msgid "to clone from a local repository"
 msgstr ""
 
-#: builtin/clone.c:98
+#: builtin/clone.c:102
 msgid "don't use local hardlinks, always copy"
 msgstr ""
 
-#: builtin/clone.c:100
+#: builtin/clone.c:104
 msgid "setup as shared repository"
 msgstr ""
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr ""
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:107
 msgid "initialize submodules in the clone"
 msgstr ""
 
-#: builtin/clone.c:109
+#: builtin/clone.c:110
 msgid "number of submodules cloned in parallel"
 msgstr ""
 
-#: builtin/clone.c:110 builtin/init-db.c:478
+#: builtin/clone.c:111 builtin/init-db.c:486
 msgid "template-directory"
 msgstr ""
 
-#: builtin/clone.c:111 builtin/init-db.c:479
+#: builtin/clone.c:112 builtin/init-db.c:487
 msgid "directory from which templates will be used"
 msgstr ""
 
-#: builtin/clone.c:113 builtin/clone.c:115 builtin/submodule--helper.c:1379
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380
 #: builtin/submodule--helper.c:1860
 msgid "reference repository"
 msgstr ""
 
-#: builtin/clone.c:117 builtin/submodule--helper.c:1381
+#: builtin/clone.c:118 builtin/submodule--helper.c:1382
 #: builtin/submodule--helper.c:1862
 msgid "use --reference only while cloning"
 msgstr ""
 
-#: builtin/clone.c:118 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3303 builtin/repack.c:329
+#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3314 builtin/repack.c:319
 msgid "name"
 msgstr ""
 
-#: builtin/clone.c:119
+#: builtin/clone.c:120
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr ""
 
-#: builtin/clone.c:121
+#: builtin/clone.c:122
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr ""
 
-#: builtin/clone.c:123
+#: builtin/clone.c:124
 msgid "path to git-upload-pack on the remote"
 msgstr ""
 
-#: builtin/clone.c:124 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:218
+#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838
+#: builtin/pull.c:226
 msgid "depth"
 msgstr ""
 
-#: builtin/clone.c:125
+#: builtin/clone.c:126
 msgid "create a shallow clone of that depth"
 msgstr ""
 
-#: builtin/clone.c:126 builtin/fetch.c:144 builtin/pack-objects.c:3292
+#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303
 msgid "time"
 msgstr ""
 
-#: builtin/clone.c:127
+#: builtin/clone.c:128
 msgid "create a shallow clone since a specific time"
 msgstr ""
 
-#: builtin/clone.c:128 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1039
+#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179
+#: builtin/rebase.c:1395
 msgid "revision"
 msgstr ""
 
-#: builtin/clone.c:129 builtin/fetch.c:147
+#: builtin/clone.c:130 builtin/fetch.c:157
 msgid "deepen history of shallow clone, excluding rev"
 msgstr ""
 
-#: builtin/clone.c:131
+#: builtin/clone.c:132
 msgid "clone only one branch, HEAD or --branch"
 msgstr ""
 
-#: builtin/clone.c:133
+#: builtin/clone.c:134
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr ""
 
-#: builtin/clone.c:135
+#: builtin/clone.c:136
 msgid "any cloned submodules will be shallow"
 msgstr ""
 
-#: builtin/clone.c:136 builtin/init-db.c:487
+#: builtin/clone.c:137 builtin/init-db.c:495
 msgid "gitdir"
 msgstr ""
 
-#: builtin/clone.c:137 builtin/init-db.c:488
+#: builtin/clone.c:138 builtin/init-db.c:496
 msgid "separate git dir from working tree"
 msgstr ""
 
-#: builtin/clone.c:138
+#: builtin/clone.c:139
 msgid "key=value"
 msgstr ""
 
-#: builtin/clone.c:139
+#: builtin/clone.c:140
 msgid "set config inside the new repository"
 msgstr ""
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:231
+#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:172
+msgid "server-specific"
+msgstr ""
+
+#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:173
+msgid "option to transmit"
+msgstr ""
+
+#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr ""
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:234
+#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr ""
 
-#: builtin/clone.c:280
+#: builtin/clone.c:149
+msgid "any cloned submodules will use their remote-tracking branch"
+msgstr ""
+
+#: builtin/clone.c:285
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
 msgstr ""
 
-#: builtin/clone.c:333
+#: builtin/clone.c:338
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr ""
 
-#: builtin/clone.c:405
-#, c-format
-msgid "failed to open '%s'"
-msgstr ""
-
-#: builtin/clone.c:413
+#: builtin/clone.c:411
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr ""
 
-#: builtin/clone.c:427
+#: builtin/clone.c:428
 #, c-format
-msgid "failed to stat %s\n"
+msgid "failed to start iterator over '%s'"
 msgstr ""
 
-#: builtin/clone.c:444
+#: builtin/clone.c:453
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr ""
 
-#: builtin/clone.c:449
+#: builtin/clone.c:458
 #, c-format
 msgid "failed to create link '%s'"
 msgstr ""
 
-#: builtin/clone.c:453
+#: builtin/clone.c:462
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr ""
 
-#: builtin/clone.c:479
+#: builtin/clone.c:467
+#, c-format
+msgid "failed to iterate over '%s'"
+msgstr ""
+
+#: builtin/clone.c:492
 #, c-format
 msgid "done.\n"
 msgstr ""
 
-#: builtin/clone.c:493
+#: builtin/clone.c:506
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
-"and retry the checkout with 'git checkout -f HEAD'\n"
+"and retry with 'git restore --source=HEAD :/'\n"
 msgstr ""
 
-#: builtin/clone.c:570
+#: builtin/clone.c:583
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr ""
 
-#: builtin/clone.c:687
+#: builtin/clone.c:702
 #, c-format
 msgid "unable to update %s"
 msgstr ""
 
-#: builtin/clone.c:737
+#: builtin/clone.c:752
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 
-#: builtin/clone.c:768
+#: builtin/clone.c:783
 msgid "unable to checkout working tree"
 msgstr ""
 
-#: builtin/clone.c:813
+#: builtin/clone.c:833
 msgid "unable to write parameters to config file"
 msgstr ""
 
-#: builtin/clone.c:876
+#: builtin/clone.c:896
 msgid "cannot repack to clean up"
 msgstr ""
 
-#: builtin/clone.c:878
+#: builtin/clone.c:898
 msgid "cannot unlink temporary alternates file"
 msgstr ""
 
-#: builtin/clone.c:918 builtin/receive-pack.c:1941
+#: builtin/clone.c:938 builtin/receive-pack.c:1950
 msgid "Too many arguments."
 msgstr ""
 
-#: builtin/clone.c:922
+#: builtin/clone.c:942
 msgid "You must specify a repository to clone."
 msgstr ""
 
-#: builtin/clone.c:935
+#: builtin/clone.c:955
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr ""
 
-#: builtin/clone.c:938
+#: builtin/clone.c:958
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr ""
 
-#: builtin/clone.c:951
+#: builtin/clone.c:971
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr ""
 
-#: builtin/clone.c:957 builtin/fetch.c:1608
+#: builtin/clone.c:977 builtin/fetch.c:1660
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr ""
 
-#: builtin/clone.c:967
+#: builtin/clone.c:987
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 
-#: builtin/clone.c:977
+#: builtin/clone.c:997
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr ""
 
-#: builtin/clone.c:992 builtin/clone.c:1013 builtin/difftool.c:272
-#: builtin/worktree.c:296 builtin/worktree.c:326
+#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264
+#: builtin/worktree.c:303 builtin/worktree.c:335
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr ""
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1017
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr ""
 
-#: builtin/clone.c:1017
+#: builtin/clone.c:1037
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1039
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr ""
 
-#: builtin/clone.c:1043
+#: builtin/clone.c:1063
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr ""
 
-#: builtin/clone.c:1104
+#: builtin/clone.c:1124
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1106
-msgid "--shallow-since is ignored in local clones; use file:// instead."
+#: builtin/clone.c:1126
+msgid "--shallow-since is ignored in local clones; use file:// instead."
+msgstr ""
+
+#: builtin/clone.c:1128
+msgid "--shallow-exclude is ignored in local clones; use file:// instead."
+msgstr ""
+
+#: builtin/clone.c:1130
+msgid "--filter is ignored in local clones; use file:// instead."
+msgstr ""
+
+#: builtin/clone.c:1133
+msgid "source repository is shallow, ignoring --local"
+msgstr ""
+
+#: builtin/clone.c:1138
+msgid "--local is ignored"
+msgstr ""
+
+#: builtin/clone.c:1215 builtin/clone.c:1223
+#, c-format
+msgid "Remote branch %s not found in upstream %s"
+msgstr ""
+
+#: builtin/clone.c:1226
+msgid "You appear to have cloned an empty repository."
+msgstr ""
+
+#: builtin/column.c:10
+msgid "git column [<options>]"
+msgstr ""
+
+#: builtin/column.c:27
+msgid "lookup config vars"
+msgstr ""
+
+#: builtin/column.c:28 builtin/column.c:29
+msgid "layout to use"
+msgstr ""
+
+#: builtin/column.c:30
+msgid "Maximum width"
+msgstr ""
+
+#: builtin/column.c:31
+msgid "Padding space on left border"
+msgstr ""
+
+#: builtin/column.c:32
+msgid "Padding space on right border"
+msgstr ""
+
+#: builtin/column.c:33
+msgid "Padding space between columns"
+msgstr ""
+
+#: builtin/column.c:51
+msgid "--command must be the first argument"
 msgstr ""
 
-#: builtin/clone.c:1108
-msgid "--shallow-exclude is ignored in local clones; use file:// instead."
+#: builtin/commit-tree.c:18
+msgid ""
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
+"<file>)...] <tree>"
 msgstr ""
 
-#: builtin/clone.c:1110
-msgid "--filter is ignored in local clones; use file:// instead."
+#: builtin/commit-tree.c:31
+#, c-format
+msgid "duplicate parent %s ignored"
 msgstr ""
 
-#: builtin/clone.c:1113
-msgid "source repository is shallow, ignoring --local"
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525
+#, c-format
+msgid "not a valid object name %s"
 msgstr ""
 
-#: builtin/clone.c:1118
-msgid "--local is ignored"
+#: builtin/commit-tree.c:93
+#, c-format
+msgid "git commit-tree: failed to open '%s'"
 msgstr ""
 
-#: builtin/clone.c:1192 builtin/clone.c:1200
+#: builtin/commit-tree.c:96
 #, c-format
-msgid "Remote branch %s not found in upstream %s"
+msgid "git commit-tree: failed to read '%s'"
 msgstr ""
 
-#: builtin/clone.c:1203
-msgid "You appear to have cloned an empty repository."
+#: builtin/commit-tree.c:98
+#, c-format
+msgid "git commit-tree: failed to close '%s'"
 msgstr ""
 
-#: builtin/column.c:10
-msgid "git column [<options>]"
+#: builtin/commit-tree.c:111
+msgid "parent"
 msgstr ""
 
-#: builtin/column.c:27
-msgid "lookup config vars"
+#: builtin/commit-tree.c:112
+msgid "id of a parent commit object"
 msgstr ""
 
-#: builtin/column.c:28 builtin/column.c:29
-msgid "layout to use"
+#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460
+#: builtin/tag.c:412
+msgid "message"
 msgstr ""
 
-#: builtin/column.c:30
-msgid "Maximum width"
+#: builtin/commit-tree.c:115 builtin/commit.c:1500
+msgid "commit message"
 msgstr ""
 
-#: builtin/column.c:31
-msgid "Padding space on left border"
+#: builtin/commit-tree.c:118
+msgid "read commit log message from file"
 msgstr ""
 
-#: builtin/column.c:32
-msgid "Padding space on right border"
+#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287
+#: builtin/pull.c:194 builtin/revert.c:118
+msgid "GPG sign commit"
 msgstr ""
 
-#: builtin/column.c:33
-msgid "Padding space between columns"
+#: builtin/commit-tree.c:133
+msgid "must give exactly one tree"
 msgstr ""
 
-#: builtin/column.c:51
-msgid "--command must be the first argument"
+#: builtin/commit-tree.c:140
+msgid "git commit-tree: failed to read"
 msgstr ""
 
 #: builtin/commit.c:41
@@ -9512,111 +10581,114 @@ msgid ""
 msgstr ""
 
 #: builtin/commit.c:63
-msgid "Otherwise, please use 'git reset'\n"
+msgid "Otherwise, please use 'git cherry-pick --skip'\n"
 msgstr ""
 
 #: builtin/commit.c:66
 msgid ""
+"and then use:\n"
+"\n"
+"    git cherry-pick --continue\n"
+"\n"
+"to resume cherry-picking the remaining commits.\n"
 "If you wish to skip this commit, use:\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --skip\n"
 "\n"
-"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
-"the remaining commits.\n"
 msgstr ""
 
-#: builtin/commit.c:312
+#: builtin/commit.c:315
 msgid "failed to unpack HEAD tree object"
 msgstr ""
 
-#: builtin/commit.c:353
+#: builtin/commit.c:356
 msgid "unable to create temporary index"
 msgstr ""
 
-#: builtin/commit.c:359
+#: builtin/commit.c:362
 msgid "interactive add failed"
 msgstr ""
 
-#: builtin/commit.c:373
+#: builtin/commit.c:376
 msgid "unable to update temporary index"
 msgstr ""
 
-#: builtin/commit.c:375
+#: builtin/commit.c:378
 msgid "Failed to update main cache tree"
 msgstr ""
 
-#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469
+#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472
 msgid "unable to write new_index file"
 msgstr ""
 
-#: builtin/commit.c:452
+#: builtin/commit.c:455
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 
-#: builtin/commit.c:454
+#: builtin/commit.c:457
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 
-#: builtin/commit.c:462
+#: builtin/commit.c:465
 msgid "cannot read the index"
 msgstr ""
 
-#: builtin/commit.c:481
+#: builtin/commit.c:484
 msgid "unable to write temporary index file"
 msgstr ""
 
-#: builtin/commit.c:579
+#: builtin/commit.c:582
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr ""
 
-#: builtin/commit.c:581
+#: builtin/commit.c:584
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr ""
 
-#: builtin/commit.c:600
+#: builtin/commit.c:603
 msgid "malformed --author parameter"
 msgstr ""
 
-#: builtin/commit.c:652
+#: builtin/commit.c:656
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr ""
 
-#: builtin/commit.c:689 builtin/commit.c:722 builtin/commit.c:1052
+#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072
 #, c-format
 msgid "could not lookup commit %s"
 msgstr ""
 
-#: builtin/commit.c:701 builtin/shortlog.c:319
+#: builtin/commit.c:706 builtin/shortlog.c:319
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr ""
 
-#: builtin/commit.c:703
+#: builtin/commit.c:708
 msgid "could not read log from standard input"
 msgstr ""
 
-#: builtin/commit.c:707
+#: builtin/commit.c:712
 #, c-format
 msgid "could not read log file '%s'"
 msgstr ""
 
-#: builtin/commit.c:736 builtin/commit.c:744
+#: builtin/commit.c:743 builtin/commit.c:759
 msgid "could not read SQUASH_MSG"
 msgstr ""
 
-#: builtin/commit.c:741
+#: builtin/commit.c:750
 msgid "could not read MERGE_MSG"
 msgstr ""
 
-#: builtin/commit.c:795
+#: builtin/commit.c:810
 msgid "could not write commit template"
 msgstr ""
 
-#: builtin/commit.c:813
+#: builtin/commit.c:829
 #, c-format
 msgid ""
 "\n"
@@ -9626,7 +10698,7 @@ msgid ""
 "and try again.\n"
 msgstr ""
 
-#: builtin/commit.c:818
+#: builtin/commit.c:834
 #, c-format
 msgid ""
 "\n"
@@ -9636,14 +10708,14 @@ msgid ""
 "and try again.\n"
 msgstr ""
 
-#: builtin/commit.c:831
+#: builtin/commit.c:847
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '%c' will be ignored, and an empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/commit.c:839
+#: builtin/commit.c:855
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -9651,398 +10723,393 @@ msgid ""
 "An empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/commit.c:856
+#: builtin/commit.c:872
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr ""
 
-#: builtin/commit.c:864
+#: builtin/commit.c:880
 #, c-format
 msgid "%sDate:      %s"
 msgstr ""
 
-#: builtin/commit.c:871
+#: builtin/commit.c:887
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr ""
 
-#: builtin/commit.c:889
+#: builtin/commit.c:905
 msgid "Cannot read index"
 msgstr ""
 
-#: builtin/commit.c:956
+#: builtin/commit.c:972
 msgid "Error building trees"
 msgstr ""
 
-#: builtin/commit.c:970 builtin/tag.c:258
+#: builtin/commit.c:986 builtin/tag.c:275
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr ""
 
-#: builtin/commit.c:1014
+#: builtin/commit.c:1030
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 
-#: builtin/commit.c:1028
+#: builtin/commit.c:1044
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr ""
 
-#: builtin/commit.c:1042 builtin/commit.c:1279
+#: builtin/commit.c:1062 builtin/commit.c:1304
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr ""
 
-#: builtin/commit.c:1080
+#: builtin/commit.c:1102
 msgid "--long and -z are incompatible"
 msgstr ""
 
-#: builtin/commit.c:1113
+#: builtin/commit.c:1146
 msgid "Using both --reset-author and --author does not make sense"
 msgstr ""
 
-#: builtin/commit.c:1122
+#: builtin/commit.c:1155
 msgid "You have nothing to amend."
 msgstr ""
 
-#: builtin/commit.c:1125
+#: builtin/commit.c:1158
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 
-#: builtin/commit.c:1127
+#: builtin/commit.c:1160
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 
-#: builtin/commit.c:1130
+#: builtin/commit.c:1163
 msgid "Options --squash and --fixup cannot be used together"
 msgstr ""
 
-#: builtin/commit.c:1140
+#: builtin/commit.c:1173
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr ""
 
-#: builtin/commit.c:1142
+#: builtin/commit.c:1175
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr ""
 
-#: builtin/commit.c:1150
+#: builtin/commit.c:1183
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 
-#: builtin/commit.c:1167
+#: builtin/commit.c:1200
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 
-#: builtin/commit.c:1169
+#: builtin/commit.c:1202
 msgid "No paths with --include/--only does not make sense."
 msgstr ""
 
-#: builtin/commit.c:1183 builtin/tag.c:546
+#: builtin/commit.c:1208
 #, c-format
-msgid "Invalid cleanup mode %s"
+msgid "paths '%s ...' with -a does not make sense"
 msgstr ""
 
-#: builtin/commit.c:1188
-msgid "Paths with -a does not make sense."
-msgstr ""
-
-#: builtin/commit.c:1314 builtin/commit.c:1498
+#: builtin/commit.c:1339 builtin/commit.c:1523
 msgid "show status concisely"
 msgstr ""
 
-#: builtin/commit.c:1316 builtin/commit.c:1500
+#: builtin/commit.c:1341 builtin/commit.c:1525
 msgid "show branch information"
 msgstr ""
 
-#: builtin/commit.c:1318
+#: builtin/commit.c:1343
 msgid "show stash information"
 msgstr ""
 
-#: builtin/commit.c:1320 builtin/commit.c:1502
+#: builtin/commit.c:1345 builtin/commit.c:1527
 msgid "compute full ahead/behind values"
 msgstr ""
 
-#: builtin/commit.c:1322
+#: builtin/commit.c:1347
 msgid "version"
 msgstr ""
 
-#: builtin/commit.c:1322 builtin/commit.c:1504 builtin/push.c:561
-#: builtin/worktree.c:640
+#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561
+#: builtin/worktree.c:651
 msgid "machine-readable output"
 msgstr ""
 
-#: builtin/commit.c:1325 builtin/commit.c:1506
+#: builtin/commit.c:1350 builtin/commit.c:1531
 msgid "show status in long format (default)"
 msgstr ""
 
-#: builtin/commit.c:1328 builtin/commit.c:1509
+#: builtin/commit.c:1353 builtin/commit.c:1534
 msgid "terminate entries with NUL"
 msgstr ""
 
-#: builtin/commit.c:1330 builtin/commit.c:1334 builtin/commit.c:1512
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1118
-#: builtin/tag.c:400
+#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
+#: builtin/fast-export.c:1125 builtin/fast-export.c:1128
+#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332
 msgid "mode"
 msgstr ""
 
-#: builtin/commit.c:1331 builtin/commit.c:1512
+#: builtin/commit.c:1356 builtin/commit.c:1537
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1335
+#: builtin/commit.c:1360
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 
-#: builtin/commit.c:1337 parse-options.h:164
+#: builtin/commit.c:1362 parse-options.h:179
 msgid "when"
 msgstr ""
 
-#: builtin/commit.c:1338
+#: builtin/commit.c:1363
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1365
 msgid "list untracked files in columns"
 msgstr ""
 
-#: builtin/commit.c:1341
+#: builtin/commit.c:1366
 msgid "do not detect renames"
 msgstr ""
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1368
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1388
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 
-#: builtin/commit.c:1468
+#: builtin/commit.c:1493
 msgid "suppress summary after successful commit"
 msgstr ""
 
-#: builtin/commit.c:1469
+#: builtin/commit.c:1494
 msgid "show diff in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1471
+#: builtin/commit.c:1496
 msgid "Commit message options"
 msgstr ""
 
-#: builtin/commit.c:1472 builtin/merge.c:264 builtin/tag.c:397
+#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414
 msgid "read message from file"
 msgstr ""
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1498
 msgid "author"
 msgstr ""
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1498
 msgid "override author for commit"
 msgstr ""
 
-#: builtin/commit.c:1474 builtin/gc.c:518
+#: builtin/commit.c:1499 builtin/gc.c:539
 msgid "date"
 msgstr ""
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1499
 msgid "override date for commit"
 msgstr ""
 
-#: builtin/commit.c:1475 builtin/merge.c:260 builtin/notes.c:409
-#: builtin/notes.c:575 builtin/tag.c:395
-msgid "message"
-msgstr ""
-
-#: builtin/commit.c:1475
-msgid "commit message"
-msgstr ""
-
-#: builtin/commit.c:1476 builtin/commit.c:1477 builtin/commit.c:1478
-#: builtin/commit.c:1479 parse-options.h:278 ref-filter.h:92
+#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503
+#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92
 msgid "commit"
 msgstr ""
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1501
 msgid "reuse and edit message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1502
 msgid "reuse message from specified commit"
 msgstr ""
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1503
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1504
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 
-#: builtin/commit.c:1480
+#: builtin/commit.c:1505
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 
-#: builtin/commit.c:1481 builtin/log.c:1533 builtin/merge.c:277
-#: builtin/pull.c:156 builtin/revert.c:107
+#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289
+#: builtin/pull.c:163 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr ""
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1507
 msgid "use specified template file"
 msgstr ""
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1508
 msgid "force edit of commit"
 msgstr ""
 
-#: builtin/commit.c:1484
-msgid "default"
-msgstr ""
-
-#: builtin/commit.c:1484 builtin/tag.c:401
-msgid "how to strip spaces and #comments from message"
-msgstr ""
-
-#: builtin/commit.c:1485
+#: builtin/commit.c:1510
 msgid "include status in commit message template"
 msgstr ""
 
-#: builtin/commit.c:1487 builtin/merge.c:275 builtin/pull.c:186
-#: builtin/revert.c:115
-msgid "GPG sign commit"
-msgstr ""
-
-#: builtin/commit.c:1490
+#: builtin/commit.c:1515
 msgid "Commit contents options"
 msgstr ""
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1516
 msgid "commit all changed files"
 msgstr ""
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1517
 msgid "add specified files to index for commit"
 msgstr ""
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1518
 msgid "interactively add files"
 msgstr ""
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1519
 msgid "interactively add changes"
 msgstr ""
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1520
 msgid "commit only specified files"
 msgstr ""
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1521
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr ""
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1522
 msgid "show what would be committed"
 msgstr ""
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1535
 msgid "amend previous commit"
 msgstr ""
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1536
 msgid "bypass post-rewrite hook"
 msgstr ""
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1541
 msgid "ok to record an empty change"
 msgstr ""
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1543
 msgid "ok to record a change with an empty message"
 msgstr ""
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1616
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr ""
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1623
 msgid "could not read MERGE_MODE"
 msgstr ""
 
-#: builtin/commit.c:1617
+#: builtin/commit.c:1642
 #, c-format
 msgid "could not read commit message: %s"
 msgstr ""
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1649
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr ""
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1654
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1688
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git reset HEAD\" to recover."
+"not exceeded, and then \"git restore --staged :/\" to recover."
 msgstr ""
 
-#: builtin/commit-graph.c:10
+#: builtin/commit-graph.c:11
 msgid "git commit-graph [--object-dir <objdir>]"
 msgstr ""
 
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
 msgid "git commit-graph read [--object-dir <objdir>]"
 msgstr ""
 
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:18
-msgid "git commit-graph verify [--object-dir <objdir>]"
+#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
+msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]"
 msgstr ""
 
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:28
+#: builtin/commit-graph.c:14 builtin/commit-graph.c:29
 msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
-"stdin-packs|--stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
+"reachable|--stdin-packs|--stdin-commits] <split options>"
 msgstr ""
 
-#: builtin/commit-graph.c:48 builtin/commit-graph.c:78
-#: builtin/commit-graph.c:132 builtin/commit-graph.c:190 builtin/fetch.c:153
-#: builtin/log.c:1553
+#: builtin/commit-graph.c:54 builtin/commit-graph.c:100
+#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163
+#: builtin/log.c:1584
 msgid "dir"
 msgstr ""
 
-#: builtin/commit-graph.c:49 builtin/commit-graph.c:79
-#: builtin/commit-graph.c:133 builtin/commit-graph.c:191
+#: builtin/commit-graph.c:55 builtin/commit-graph.c:101
+#: builtin/commit-graph.c:162 builtin/commit-graph.c:238
 msgid "The object directory to store the graph"
 msgstr ""
 
-#: builtin/commit-graph.c:135
+#: builtin/commit-graph.c:57
+msgid "if the commit-graph is split, only verify the tip file"
+msgstr ""
+
+#: builtin/commit-graph.c:73 builtin/commit-graph.c:116
+#, c-format
+msgid "Could not open commit-graph '%s'"
+msgstr ""
+
+#: builtin/commit-graph.c:164
 msgid "start walk at all refs"
 msgstr ""
 
-#: builtin/commit-graph.c:137
+#: builtin/commit-graph.c:166
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr ""
 
-#: builtin/commit-graph.c:139
+#: builtin/commit-graph.c:168
 msgid "start walk at commits listed by stdin"
 msgstr ""
 
-#: builtin/commit-graph.c:141
+#: builtin/commit-graph.c:170
 msgid "include all commits already in the commit-graph file"
 msgstr ""
 
-#: builtin/commit-graph.c:150
+#: builtin/commit-graph.c:172
+msgid "allow writing an incremental commit-graph file"
+msgstr ""
+
+#: builtin/commit-graph.c:174 builtin/commit-graph.c:178
+msgid "maximum number of commits in a non-base split commit-graph"
+msgstr ""
+
+#: builtin/commit-graph.c:176
+msgid "maximum ratio between two levels of a split commit-graph"
+msgstr ""
+
+#: builtin/commit-graph.c:191
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr ""
 
@@ -10050,7 +11117,7 @@ msgstr ""
 msgid "git config [<options>]"
 msgstr ""
 
-#: builtin/config.c:103
+#: builtin/config.c:103 builtin/env--helper.c:23
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr ""
@@ -10155,7 +11222,7 @@ msgstr ""
 msgid "Type"
 msgstr ""
 
-#: builtin/config.c:147
+#: builtin/config.c:147 builtin/env--helper.c:38
 msgid "value is given this type"
 msgstr ""
 
@@ -10199,7 +11266,7 @@ msgstr ""
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 
-#: builtin/config.c:158
+#: builtin/config.c:158 builtin/env--helper.c:40
 msgid "value"
 msgstr ""
 
@@ -10426,7 +11493,7 @@ msgstr ""
 msgid "describe %s\n"
 msgstr ""
 
-#: builtin/describe.c:513 builtin/log.c:516
+#: builtin/describe.c:513
 #, c-format
 msgid "Not a valid object name %s"
 msgstr ""
@@ -10476,7 +11543,7 @@ msgstr ""
 msgid "do not consider tags matching <pattern>"
 msgstr ""
 
-#: builtin/describe.c:551 builtin/name-rev.c:424
+#: builtin/describe.c:551 builtin/name-rev.c:422
 msgid "show abbreviated commit object as fallback"
 msgstr ""
 
@@ -10518,473 +11585,535 @@ msgstr ""
 msgid "invalid option: %s"
 msgstr ""
 
-#: builtin/diff.c:364
+#: builtin/diff.c:350
 msgid "Not a git repository"
 msgstr ""
 
-#: builtin/diff.c:408
+#: builtin/diff.c:394
 #, c-format
 msgid "invalid object '%s' given."
 msgstr ""
 
-#: builtin/diff.c:417
+#: builtin/diff.c:403
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr ""
 
-#: builtin/diff.c:422
+#: builtin/diff.c:408
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr ""
 
-#: builtin/difftool.c:31
+#: builtin/difftool.c:30
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr ""
 
-#: builtin/difftool.c:261
+#: builtin/difftool.c:253
 #, c-format
 msgid "failed: %d"
 msgstr ""
 
-#: builtin/difftool.c:303
+#: builtin/difftool.c:295
 #, c-format
 msgid "could not read symlink %s"
 msgstr ""
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:297
 #, c-format
 msgid "could not read symlink file %s"
 msgstr ""
 
-#: builtin/difftool.c:313
+#: builtin/difftool.c:305
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr ""
 
-#: builtin/difftool.c:414
+#: builtin/difftool.c:406
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
 msgstr ""
 
-#: builtin/difftool.c:634
+#: builtin/difftool.c:626
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr ""
 
-#: builtin/difftool.c:636
+#: builtin/difftool.c:628
 msgid "working tree file has been left."
 msgstr ""
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:639
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr ""
 
-#: builtin/difftool.c:648
+#: builtin/difftool.c:640
 msgid "you may want to cleanup or recover these."
 msgstr ""
 
-#: builtin/difftool.c:697
+#: builtin/difftool.c:689
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr ""
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:691
 msgid "perform a full-directory diff"
 msgstr ""
 
-#: builtin/difftool.c:701
+#: builtin/difftool.c:693
 msgid "do not prompt before launching a diff tool"
 msgstr ""
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:698
 msgid "use symlinks in dir-diff mode"
 msgstr ""
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:699
 msgid "tool"
 msgstr ""
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:700
 msgid "use the specified diff tool"
 msgstr ""
 
-#: builtin/difftool.c:710
+#: builtin/difftool.c:702
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr ""
 
-#: builtin/difftool.c:713
+#: builtin/difftool.c:705
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr ""
 
-#: builtin/difftool.c:716
+#: builtin/difftool.c:708
 msgid "specify a custom command for viewing diffs"
 msgstr ""
 
-#: builtin/difftool.c:740
+#: builtin/difftool.c:709
+msgid "passed to `diff`"
+msgstr ""
+
+#: builtin/difftool.c:724
+msgid "difftool requires worktree or --no-index"
+msgstr ""
+
+#: builtin/difftool.c:731
+msgid "--dir-diff is incompatible with --no-index"
+msgstr ""
+
+#: builtin/difftool.c:734
+msgid "--gui, --tool and --extcmd are mutually exclusive"
+msgstr ""
+
+#: builtin/difftool.c:742
 msgid "no <tool> given for --tool=<tool>"
 msgstr ""
 
-#: builtin/difftool.c:747
+#: builtin/difftool.c:749
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr ""
 
+#: builtin/env--helper.c:6
+msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
+msgstr ""
+
+#: builtin/env--helper.c:37 builtin/hash-object.c:98
+msgid "type"
+msgstr ""
+
+#: builtin/env--helper.c:41
+msgid "default for git_env_*(...) to fall back on"
+msgstr ""
+
+#: builtin/env--helper.c:43
+msgid "be quiet only use git_env_*() value as exit code"
+msgstr ""
+
+#: builtin/env--helper.c:62
+#, c-format
+msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
+msgstr ""
+
+#: builtin/env--helper.c:77
+#, c-format
+msgid ""
+"option `--default' expects an unsigned long value with `--type=ulong`, not `"
+"%s`"
+msgstr ""
+
 #: builtin/fast-export.c:29
 msgid "git fast-export [rev-list-opts]"
 msgstr ""
 
-#: builtin/fast-export.c:1084
+#: builtin/fast-export.c:1124
 msgid "show progress after <n> objects"
 msgstr ""
 
-#: builtin/fast-export.c:1086
+#: builtin/fast-export.c:1126
 msgid "select handling of signed tags"
 msgstr ""
 
-#: builtin/fast-export.c:1089
+#: builtin/fast-export.c:1129
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 
-#: builtin/fast-export.c:1092
+#: builtin/fast-export.c:1132
+msgid "select handling of commit messages in an alternate encoding"
+msgstr ""
+
+#: builtin/fast-export.c:1135
 msgid "Dump marks to this file"
 msgstr ""
 
-#: builtin/fast-export.c:1094
+#: builtin/fast-export.c:1137
 msgid "Import marks from this file"
 msgstr ""
 
-#: builtin/fast-export.c:1096
+#: builtin/fast-export.c:1139
 msgid "Fake a tagger when tags lack one"
 msgstr ""
 
-#: builtin/fast-export.c:1098
+#: builtin/fast-export.c:1141
 msgid "Output full tree for each commit"
 msgstr ""
 
-#: builtin/fast-export.c:1100
+#: builtin/fast-export.c:1143
 msgid "Use the done feature to terminate the stream"
 msgstr ""
 
-#: builtin/fast-export.c:1101
+#: builtin/fast-export.c:1144
 msgid "Skip output of blob data"
 msgstr ""
 
-#: builtin/fast-export.c:1102 builtin/log.c:1601
+#: builtin/fast-export.c:1145 builtin/log.c:1632
 msgid "refspec"
 msgstr ""
 
-#: builtin/fast-export.c:1103
+#: builtin/fast-export.c:1146
 msgid "Apply refspec to exported refs"
 msgstr ""
 
-#: builtin/fast-export.c:1104
+#: builtin/fast-export.c:1147
 msgid "anonymize output"
 msgstr ""
 
-#: builtin/fast-export.c:1106
+#: builtin/fast-export.c:1149
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 
-#: builtin/fast-export.c:1108
+#: builtin/fast-export.c:1151
 msgid "Show original object ids of blobs/commits"
 msgstr ""
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:30
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:31
 msgid "git fetch [<options>] <group>"
 msgstr ""
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:32
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr ""
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:33
 msgid "git fetch --all [<options>]"
 msgstr ""
 
-#: builtin/fetch.c:115 builtin/pull.c:195
+#: builtin/fetch.c:125 builtin/pull.c:203
 msgid "fetch from all remotes"
 msgstr ""
 
-#: builtin/fetch.c:117 builtin/pull.c:198
+#: builtin/fetch.c:127 builtin/pull.c:206
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr ""
 
-#: builtin/fetch.c:119 builtin/pull.c:201
+#: builtin/fetch.c:129 builtin/pull.c:209
 msgid "path to upload pack on remote end"
 msgstr ""
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:130
 msgid "force overwrite of local reference"
 msgstr ""
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:132
 msgid "fetch from multiple remotes"
 msgstr ""
 
-#: builtin/fetch.c:124 builtin/pull.c:205
+#: builtin/fetch.c:134 builtin/pull.c:213
 msgid "fetch all tags and associated objects"
 msgstr ""
 
-#: builtin/fetch.c:126
+#: builtin/fetch.c:136
 msgid "do not fetch all tags (--no-tags)"
 msgstr ""
 
-#: builtin/fetch.c:128
+#: builtin/fetch.c:138
 msgid "number of submodules fetched in parallel"
 msgstr ""
 
-#: builtin/fetch.c:130 builtin/pull.c:208
+#: builtin/fetch.c:140 builtin/pull.c:216
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:142
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 
-#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:133
+#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140
 msgid "on-demand"
 msgstr ""
 
-#: builtin/fetch.c:134
+#: builtin/fetch.c:144
 msgid "control recursive fetching of submodules"
 msgstr ""
 
-#: builtin/fetch.c:138 builtin/pull.c:216
+#: builtin/fetch.c:148 builtin/pull.c:224
 msgid "keep downloaded pack"
 msgstr ""
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:150
 msgid "allow updating of HEAD ref"
 msgstr ""
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:219
+#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227
 msgid "deepen history of shallow clone"
 msgstr ""
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:155
 msgid "deepen history of shallow repository based on time"
 msgstr ""
 
-#: builtin/fetch.c:151 builtin/pull.c:222
+#: builtin/fetch.c:161 builtin/pull.c:230
 msgid "convert to a complete repository"
 msgstr ""
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:164
 msgid "prepend this to submodule path output"
 msgstr ""
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:167
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr ""
 
-#: builtin/fetch.c:161 builtin/pull.c:225
+#: builtin/fetch.c:171 builtin/pull.c:233
 msgid "accept refs that update .git/shallow"
 msgstr ""
 
-#: builtin/fetch.c:162 builtin/pull.c:227
+#: builtin/fetch.c:172 builtin/pull.c:235
 msgid "refmap"
 msgstr ""
 
-#: builtin/fetch.c:163 builtin/pull.c:228
+#: builtin/fetch.c:173 builtin/pull.c:236
 msgid "specify fetch refmap"
 msgstr ""
 
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:172
-msgid "server-specific"
+#: builtin/fetch.c:180
+msgid "report that we have only objects reachable from this object"
 msgstr ""
 
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:173
-msgid "option to transmit"
+#: builtin/fetch.c:183
+msgid "run 'gc --auto' after fetching"
 msgstr ""
 
-#: builtin/fetch.c:170
-msgid "report that we have only objects reachable from this object"
+#: builtin/fetch.c:185 builtin/pull.c:245
+msgid "check for forced-updates on all updated branches"
 msgstr ""
 
-#: builtin/fetch.c:469
+#: builtin/fetch.c:491
 msgid "Couldn't find remote ref HEAD"
 msgstr ""
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:630
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 
-#: builtin/fetch.c:705
+#: builtin/fetch.c:728
 #, c-format
 msgid "object %s not found"
 msgstr ""
 
-#: builtin/fetch.c:709
+#: builtin/fetch.c:732
 msgid "[up to date]"
 msgstr ""
 
-#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801
+#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833
 msgid "[rejected]"
 msgstr ""
 
-#: builtin/fetch.c:723
+#: builtin/fetch.c:746
 msgid "can't fetch in current branch"
 msgstr ""
 
-#: builtin/fetch.c:733
+#: builtin/fetch.c:756
 msgid "[tag update]"
 msgstr ""
 
-#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784
-#: builtin/fetch.c:796
+#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816
+#: builtin/fetch.c:828
 msgid "unable to update local ref"
 msgstr ""
 
-#: builtin/fetch.c:738
+#: builtin/fetch.c:761
 msgid "would clobber existing tag"
 msgstr ""
 
-#: builtin/fetch.c:760
+#: builtin/fetch.c:783
 msgid "[new tag]"
 msgstr ""
 
-#: builtin/fetch.c:763
+#: builtin/fetch.c:786
 msgid "[new branch]"
 msgstr ""
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:789
 msgid "[new ref]"
 msgstr ""
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:828
 msgid "forced update"
 msgstr ""
 
-#: builtin/fetch.c:801
+#: builtin/fetch.c:833
 msgid "non-fast-forward"
 msgstr ""
 
-#: builtin/fetch.c:847
+#: builtin/fetch.c:854
+msgid ""
+"Fetch normally indicates which branches had a forced update,\n"
+"but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
+"flag or run 'git config fetch.showForcedUpdates true'."
+msgstr ""
+
+#: builtin/fetch.c:858
+#, c-format
+msgid ""
+"It took %.2f seconds to check forced updates. You can use\n"
+"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
+"false'\n"
+" to avoid this check.\n"
+msgstr ""
+
+#: builtin/fetch.c:888
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr ""
 
-#: builtin/fetch.c:868
+#: builtin/fetch.c:909
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 
-#: builtin/fetch.c:959 builtin/fetch.c:1081
+#: builtin/fetch.c:1000 builtin/fetch.c:1131
 #, c-format
 msgid "From %.*s\n"
 msgstr ""
 
-#: builtin/fetch.c:970
+#: builtin/fetch.c:1011
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
 
-#: builtin/fetch.c:1051
+#: builtin/fetch.c:1101
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:1052
+#: builtin/fetch.c:1102
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr ""
 
-#: builtin/fetch.c:1084
+#: builtin/fetch.c:1134
 msgid "[deleted]"
 msgstr ""
 
-#: builtin/fetch.c:1085 builtin/remote.c:1036
+#: builtin/fetch.c:1135 builtin/remote.c:1036
 msgid "(none)"
 msgstr ""
 
-#: builtin/fetch.c:1108
+#: builtin/fetch.c:1158
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 
-#: builtin/fetch.c:1127
+#: builtin/fetch.c:1177
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr ""
 
-#: builtin/fetch.c:1130
+#: builtin/fetch.c:1180
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1434
+#: builtin/fetch.c:1484
 #, c-format
 msgid "Fetching %s\n"
 msgstr ""
 
-#: builtin/fetch.c:1436 builtin/remote.c:100
+#: builtin/fetch.c:1486 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr ""
 
-#: builtin/fetch.c:1482
+#: builtin/fetch.c:1532
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialClone"
 msgstr ""
 
-#: builtin/fetch.c:1506
+#: builtin/fetch.c:1556
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr ""
 
-#: builtin/fetch.c:1543
+#: builtin/fetch.c:1593
 msgid "You need to specify a tag name."
 msgstr ""
 
-#: builtin/fetch.c:1592
+#: builtin/fetch.c:1644
 msgid "Negative depth in --deepen is not supported"
 msgstr ""
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1646
 msgid "--deepen and --depth are mutually exclusive"
 msgstr ""
 
-#: builtin/fetch.c:1599
+#: builtin/fetch.c:1651
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 
-#: builtin/fetch.c:1601
+#: builtin/fetch.c:1653
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1617
+#: builtin/fetch.c:1669
 msgid "fetch --all does not take a repository argument"
 msgstr ""
 
-#: builtin/fetch.c:1619
+#: builtin/fetch.c:1671
 msgid "fetch --all does not make sense with refspecs"
 msgstr ""
 
-#: builtin/fetch.c:1628
+#: builtin/fetch.c:1680
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr ""
 
-#: builtin/fetch.c:1635
+#: builtin/fetch.c:1687
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 
-#: builtin/fetch.c:1651
+#: builtin/fetch.c:1703
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -11051,27 +12180,27 @@ msgstr ""
 msgid "show only <n> matched refs"
 msgstr ""
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:424
+#: builtin/for-each-ref.c:39 builtin/tag.c:439
 msgid "respect format colors"
 msgstr ""
 
-#: builtin/for-each-ref.c:43
+#: builtin/for-each-ref.c:42
 msgid "print only refs which points at the given object"
 msgstr ""
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:44
 msgid "print only refs that are merged"
 msgstr ""
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:45
 msgid "print only refs that are not merged"
 msgstr ""
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:46
 msgid "print only refs which contain the commit"
 msgstr ""
 
-#: builtin/for-each-ref.c:48
+#: builtin/for-each-ref.c:47
 msgid "print only refs which don't contain the commit"
 msgstr ""
 
@@ -11107,211 +12236,211 @@ msgid ""
 "              to %7s %s"
 msgstr ""
 
-#: builtin/fsck.c:253
+#: builtin/fsck.c:295
 #, c-format
 msgid "missing %s %s"
 msgstr ""
 
-#: builtin/fsck.c:279
+#: builtin/fsck.c:321
 #, c-format
 msgid "unreachable %s %s"
 msgstr ""
 
-#: builtin/fsck.c:298
+#: builtin/fsck.c:340
 #, c-format
 msgid "dangling %s %s"
 msgstr ""
 
-#: builtin/fsck.c:307
+#: builtin/fsck.c:349
 msgid "could not create lost-found"
 msgstr ""
 
-#: builtin/fsck.c:318
+#: builtin/fsck.c:360
 #, c-format
 msgid "could not finish '%s'"
 msgstr ""
 
-#: builtin/fsck.c:335
+#: builtin/fsck.c:377
 #, c-format
 msgid "Checking %s"
 msgstr ""
 
-#: builtin/fsck.c:353
+#: builtin/fsck.c:415
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr ""
 
-#: builtin/fsck.c:372
+#: builtin/fsck.c:434
 #, c-format
 msgid "Checking %s %s"
 msgstr ""
 
-#: builtin/fsck.c:376
+#: builtin/fsck.c:438
 msgid "broken links"
 msgstr ""
 
-#: builtin/fsck.c:385
+#: builtin/fsck.c:447
 #, c-format
 msgid "root %s"
 msgstr ""
 
-#: builtin/fsck.c:393
+#: builtin/fsck.c:455
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr ""
 
-#: builtin/fsck.c:422
+#: builtin/fsck.c:484
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr ""
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:509
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr ""
 
-#: builtin/fsck.c:461
+#: builtin/fsck.c:523
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr ""
 
-#: builtin/fsck.c:495
+#: builtin/fsck.c:557
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr ""
 
-#: builtin/fsck.c:502
+#: builtin/fsck.c:564
 #, c-format
 msgid "%s: not a commit"
 msgstr ""
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:619
 msgid "notice: No default references"
 msgstr ""
 
-#: builtin/fsck.c:572
+#: builtin/fsck.c:634
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr ""
 
-#: builtin/fsck.c:585
+#: builtin/fsck.c:647
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr ""
 
-#: builtin/fsck.c:605
+#: builtin/fsck.c:667
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr ""
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:682
 msgid "Checking object directory"
 msgstr ""
 
-#: builtin/fsck.c:623
+#: builtin/fsck.c:685
 msgid "Checking object directories"
 msgstr ""
 
-#: builtin/fsck.c:638
+#: builtin/fsck.c:700
 #, c-format
 msgid "Checking %s link"
 msgstr ""
 
-#: builtin/fsck.c:643 builtin/index-pack.c:833
+#: builtin/fsck.c:705 builtin/index-pack.c:842
 #, c-format
 msgid "invalid %s"
 msgstr ""
 
-#: builtin/fsck.c:650
+#: builtin/fsck.c:712
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr ""
 
-#: builtin/fsck.c:656
+#: builtin/fsck.c:718
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr ""
 
-#: builtin/fsck.c:660
+#: builtin/fsck.c:722
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr ""
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:734
 msgid "Checking cache tree"
 msgstr ""
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:739
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr ""
 
-#: builtin/fsck.c:688
+#: builtin/fsck.c:750
 msgid "non-tree in cache-tree"
 msgstr ""
 
-#: builtin/fsck.c:719
+#: builtin/fsck.c:781
 msgid "git fsck [<options>] [<object>...]"
 msgstr ""
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:787
 msgid "show unreachable objects"
 msgstr ""
 
-#: builtin/fsck.c:726
+#: builtin/fsck.c:788
 msgid "show dangling objects"
 msgstr ""
 
-#: builtin/fsck.c:727
+#: builtin/fsck.c:789
 msgid "report tags"
 msgstr ""
 
-#: builtin/fsck.c:728
+#: builtin/fsck.c:790
 msgid "report root nodes"
 msgstr ""
 
-#: builtin/fsck.c:729
+#: builtin/fsck.c:791
 msgid "make index objects head nodes"
 msgstr ""
 
-#: builtin/fsck.c:730
+#: builtin/fsck.c:792
 msgid "make reflogs head nodes (default)"
 msgstr ""
 
-#: builtin/fsck.c:731
+#: builtin/fsck.c:793
 msgid "also consider packs and alternate objects"
 msgstr ""
 
-#: builtin/fsck.c:732
+#: builtin/fsck.c:794
 msgid "check only connectivity"
 msgstr ""
 
-#: builtin/fsck.c:733
+#: builtin/fsck.c:795
 msgid "enable more strict checking"
 msgstr ""
 
-#: builtin/fsck.c:735
+#: builtin/fsck.c:797
 msgid "write dangling objects in .git/lost-found"
 msgstr ""
 
-#: builtin/fsck.c:736 builtin/prune.c:110
+#: builtin/fsck.c:798 builtin/prune.c:132
 msgid "show progress"
 msgstr ""
 
-#: builtin/fsck.c:737
+#: builtin/fsck.c:799
 msgid "show verbose names for reachable objects"
 msgstr ""
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:859 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr ""
 
-#: builtin/fsck.c:825
+#: builtin/fsck.c:887
 #, c-format
 msgid "%s: object missing"
 msgstr ""
 
-#: builtin/fsck.c:837
+#: builtin/fsck.c:899
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr ""
@@ -11325,17 +12454,22 @@ msgstr ""
 msgid "Failed to fstat %s: %s"
 msgstr ""
 
-#: builtin/gc.c:461 builtin/init-db.c:55
+#: builtin/gc.c:126
+#, c-format
+msgid "failed to parse '%s' value '%s'"
+msgstr ""
+
+#: builtin/gc.c:476 builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr ""
 
-#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529
 #, c-format
 msgid "cannot read '%s'"
 msgstr ""
 
-#: builtin/gc.c:477
+#: builtin/gc.c:492
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -11345,58 +12479,58 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/gc.c:519
+#: builtin/gc.c:540
 msgid "prune unreferenced objects"
 msgstr ""
 
-#: builtin/gc.c:521
+#: builtin/gc.c:542
 msgid "be more thorough (increased runtime)"
 msgstr ""
 
-#: builtin/gc.c:522
+#: builtin/gc.c:543
 msgid "enable auto-gc mode"
 msgstr ""
 
-#: builtin/gc.c:525
+#: builtin/gc.c:546
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 
-#: builtin/gc.c:528
+#: builtin/gc.c:549
 msgid "repack all other packs except the largest pack"
 msgstr ""
 
-#: builtin/gc.c:545
+#: builtin/gc.c:566
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr ""
 
-#: builtin/gc.c:556
+#: builtin/gc.c:577
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr ""
 
-#: builtin/gc.c:576
+#: builtin/gc.c:597
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:578
+#: builtin/gc.c:599
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 
-#: builtin/gc.c:579
+#: builtin/gc.c:600
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr ""
 
-#: builtin/gc.c:619
+#: builtin/gc.c:640
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 
-#: builtin/gc.c:672
+#: builtin/gc.c:695
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -11419,258 +12553,258 @@ msgstr ""
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1506 builtin/index-pack.c:1697
-#: builtin/pack-objects.c:2717
+#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727
+#: builtin/pack-objects.c:2728
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr ""
 
-#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631
+#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr ""
 
-#: builtin/grep.c:646
+#: builtin/grep.c:648
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr ""
 
-#: builtin/grep.c:712
+#: builtin/grep.c:714
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr ""
 
-#: builtin/grep.c:811
+#: builtin/grep.c:813
 msgid "search in index instead of in the work tree"
 msgstr ""
 
-#: builtin/grep.c:813
+#: builtin/grep.c:815
 msgid "find in contents not managed by git"
 msgstr ""
 
-#: builtin/grep.c:815
+#: builtin/grep.c:817
 msgid "search in both tracked and untracked files"
 msgstr ""
 
-#: builtin/grep.c:817
+#: builtin/grep.c:819
 msgid "ignore files specified via '.gitignore'"
 msgstr ""
 
-#: builtin/grep.c:819
+#: builtin/grep.c:821
 msgid "recursively search in each submodule"
 msgstr ""
 
-#: builtin/grep.c:822
+#: builtin/grep.c:824
 msgid "show non-matching lines"
 msgstr ""
 
-#: builtin/grep.c:824
+#: builtin/grep.c:826
 msgid "case insensitive matching"
 msgstr ""
 
-#: builtin/grep.c:826
+#: builtin/grep.c:828
 msgid "match patterns only at word boundaries"
 msgstr ""
 
-#: builtin/grep.c:828
+#: builtin/grep.c:830
 msgid "process binary files as text"
 msgstr ""
 
-#: builtin/grep.c:830
+#: builtin/grep.c:832
 msgid "don't match patterns in binary files"
 msgstr ""
 
-#: builtin/grep.c:833
+#: builtin/grep.c:835
 msgid "process binary files with textconv filters"
 msgstr ""
 
-#: builtin/grep.c:835
+#: builtin/grep.c:837
 msgid "search in subdirectories (default)"
 msgstr ""
 
-#: builtin/grep.c:837
+#: builtin/grep.c:839
 msgid "descend at most <depth> levels"
 msgstr ""
 
-#: builtin/grep.c:841
+#: builtin/grep.c:843
 msgid "use extended POSIX regular expressions"
 msgstr ""
 
-#: builtin/grep.c:844
+#: builtin/grep.c:846
 msgid "use basic POSIX regular expressions (default)"
 msgstr ""
 
-#: builtin/grep.c:847
+#: builtin/grep.c:849
 msgid "interpret patterns as fixed strings"
 msgstr ""
 
-#: builtin/grep.c:850
+#: builtin/grep.c:852
 msgid "use Perl-compatible regular expressions"
 msgstr ""
 
-#: builtin/grep.c:853
+#: builtin/grep.c:855
 msgid "show line numbers"
 msgstr ""
 
-#: builtin/grep.c:854
+#: builtin/grep.c:856
 msgid "show column number of first match"
 msgstr ""
 
-#: builtin/grep.c:855
+#: builtin/grep.c:857
 msgid "don't show filenames"
 msgstr ""
 
-#: builtin/grep.c:856
+#: builtin/grep.c:858
 msgid "show filenames"
 msgstr ""
 
-#: builtin/grep.c:858
+#: builtin/grep.c:860
 msgid "show filenames relative to top directory"
 msgstr ""
 
-#: builtin/grep.c:860
+#: builtin/grep.c:862
 msgid "show only filenames instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:862
+#: builtin/grep.c:864
 msgid "synonym for --files-with-matches"
 msgstr ""
 
-#: builtin/grep.c:865
+#: builtin/grep.c:867
 msgid "show only the names of files without match"
 msgstr ""
 
-#: builtin/grep.c:867
+#: builtin/grep.c:869
 msgid "print NUL after filenames"
 msgstr ""
 
-#: builtin/grep.c:870
+#: builtin/grep.c:872
 msgid "show only matching parts of a line"
 msgstr ""
 
-#: builtin/grep.c:872
+#: builtin/grep.c:874
 msgid "show the number of matches instead of matching lines"
 msgstr ""
 
-#: builtin/grep.c:873
+#: builtin/grep.c:875
 msgid "highlight matches"
 msgstr ""
 
-#: builtin/grep.c:875
+#: builtin/grep.c:877
 msgid "print empty line between matches from different files"
 msgstr ""
 
-#: builtin/grep.c:877
+#: builtin/grep.c:879
 msgid "show filename only once above matches from same file"
 msgstr ""
 
-#: builtin/grep.c:880
+#: builtin/grep.c:882
 msgid "show <n> context lines before and after matches"
 msgstr ""
 
-#: builtin/grep.c:883
+#: builtin/grep.c:885
 msgid "show <n> context lines before matches"
 msgstr ""
 
-#: builtin/grep.c:885
+#: builtin/grep.c:887
 msgid "show <n> context lines after matches"
 msgstr ""
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "use <n> worker threads"
 msgstr ""
 
-#: builtin/grep.c:888
+#: builtin/grep.c:890
 msgid "shortcut for -C NUM"
 msgstr ""
 
-#: builtin/grep.c:891
+#: builtin/grep.c:893
 msgid "show a line with the function name before matches"
 msgstr ""
 
-#: builtin/grep.c:893
+#: builtin/grep.c:895
 msgid "show the surrounding function"
 msgstr ""
 
-#: builtin/grep.c:896
+#: builtin/grep.c:898
 msgid "read patterns from file"
 msgstr ""
 
-#: builtin/grep.c:898
+#: builtin/grep.c:900
 msgid "match <pattern>"
 msgstr ""
 
-#: builtin/grep.c:900
+#: builtin/grep.c:902
 msgid "combine patterns specified with -e"
 msgstr ""
 
-#: builtin/grep.c:912
+#: builtin/grep.c:914
 msgid "indicate hit with exit status without output"
 msgstr ""
 
-#: builtin/grep.c:914
+#: builtin/grep.c:916
 msgid "show only matches from files that match all patterns"
 msgstr ""
 
-#: builtin/grep.c:916
+#: builtin/grep.c:918
 msgid "show parse tree for grep expression"
 msgstr ""
 
-#: builtin/grep.c:920
+#: builtin/grep.c:922
 msgid "pager"
 msgstr ""
 
-#: builtin/grep.c:920
+#: builtin/grep.c:922
 msgid "show matching files in the pager"
 msgstr ""
 
-#: builtin/grep.c:924
+#: builtin/grep.c:926
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr ""
 
-#: builtin/grep.c:988
+#: builtin/grep.c:990
 msgid "no pattern given"
 msgstr ""
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1026
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr ""
 
-#: builtin/grep.c:1032
+#: builtin/grep.c:1034
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr ""
 
-#: builtin/grep.c:1063
+#: builtin/grep.c:1065
 msgid "invalid option combination, ignoring --threads"
 msgstr ""
 
-#: builtin/grep.c:1066 builtin/pack-objects.c:3400
+#: builtin/grep.c:1068 builtin/pack-objects.c:3416
 msgid "no threads support, ignoring --threads"
 msgstr ""
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1503 builtin/pack-objects.c:2714
+#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr ""
 
-#: builtin/grep.c:1092
+#: builtin/grep.c:1094
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 
-#: builtin/grep.c:1115
+#: builtin/grep.c:1117
 msgid "option not supported with --recurse-submodules"
 msgstr ""
 
-#: builtin/grep.c:1121
+#: builtin/grep.c:1123
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr ""
 
-#: builtin/grep.c:1127
+#: builtin/grep.c:1129
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr ""
 
-#: builtin/grep.c:1135
+#: builtin/grep.c:1137
 msgid "both --cached and trees are given"
 msgstr ""
 
@@ -11684,10 +12818,6 @@ msgstr ""
 msgid "git hash-object  --stdin-paths"
 msgstr ""
 
-#: builtin/hash-object.c:98
-msgid "type"
-msgstr ""
-
 #: builtin/hash-object.c:98
 msgid "object type"
 msgstr ""
@@ -11749,359 +12879,354 @@ msgstr ""
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr ""
 
-#: builtin/help.c:73
+#: builtin/help.c:77
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr ""
 
-#: builtin/help.c:100
+#: builtin/help.c:104
 msgid "Failed to start emacsclient."
 msgstr ""
 
-#: builtin/help.c:113
+#: builtin/help.c:117
 msgid "Failed to parse emacsclient version."
 msgstr ""
 
-#: builtin/help.c:121
+#: builtin/help.c:125
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr ""
 
-#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179
+#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183
 #, c-format
 msgid "failed to exec '%s'"
 msgstr ""
 
-#: builtin/help.c:217
+#: builtin/help.c:221
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 "Please consider using 'man.<tool>.cmd' instead."
 msgstr ""
 
-#: builtin/help.c:229
+#: builtin/help.c:233
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 "Please consider using 'man.<tool>.path' instead."
 msgstr ""
 
-#: builtin/help.c:346
+#: builtin/help.c:350
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr ""
 
-#: builtin/help.c:363
+#: builtin/help.c:367
 msgid "no man viewer handled the request"
 msgstr ""
 
-#: builtin/help.c:371
+#: builtin/help.c:375
 msgid "no info viewer handled the request"
 msgstr ""
 
-#: builtin/help.c:430 builtin/help.c:441 git.c:323
+#: builtin/help.c:434 builtin/help.c:445 git.c:336
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr ""
 
-#: builtin/help.c:444 git.c:347
+#: builtin/help.c:448 git.c:365
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr ""
 
-#: builtin/help.c:473 builtin/help.c:503
+#: builtin/help.c:477 builtin/help.c:507
 #, c-format
 msgid "usage: %s%s"
 msgstr ""
 
-#: builtin/help.c:487
+#: builtin/help.c:491
 msgid "'git help config' for more information"
 msgstr ""
 
-#: builtin/index-pack.c:184
+#: builtin/index-pack.c:185
 #, c-format
 msgid "object type mismatch at %s"
 msgstr ""
 
-#: builtin/index-pack.c:204
+#: builtin/index-pack.c:205
 #, c-format
 msgid "did not receive expected object %s"
 msgstr ""
 
-#: builtin/index-pack.c:207
+#: builtin/index-pack.c:208
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr ""
 
-#: builtin/index-pack.c:249
+#: builtin/index-pack.c:258
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:259
+#: builtin/index-pack.c:268
 msgid "early EOF"
 msgstr ""
 
-#: builtin/index-pack.c:260
+#: builtin/index-pack.c:269
 msgid "read error on input"
 msgstr ""
 
-#: builtin/index-pack.c:272
+#: builtin/index-pack.c:281
 msgid "used more bytes than were available"
 msgstr ""
 
-#: builtin/index-pack.c:279 builtin/pack-objects.c:599
+#: builtin/index-pack.c:288 builtin/pack-objects.c:604
 msgid "pack too large for current definition of off_t"
 msgstr ""
 
-#: builtin/index-pack.c:282 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:291 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr ""
 
-#: builtin/index-pack.c:297 builtin/repack.c:250
-#, c-format
-msgid "unable to create '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:303
+#: builtin/index-pack.c:312
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:326
 msgid "pack signature mismatch"
 msgstr ""
 
-#: builtin/index-pack.c:319
+#: builtin/index-pack.c:328
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr ""
 
-#: builtin/index-pack.c:337
+#: builtin/index-pack.c:346
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr ""
 
-#: builtin/index-pack.c:457
+#: builtin/index-pack.c:466
 #, c-format
 msgid "inflate returned %d"
 msgstr ""
 
-#: builtin/index-pack.c:506
+#: builtin/index-pack.c:515
 msgid "offset value overflow for delta base object"
 msgstr ""
 
-#: builtin/index-pack.c:514
+#: builtin/index-pack.c:523
 msgid "delta base offset is out of bound"
 msgstr ""
 
-#: builtin/index-pack.c:522
+#: builtin/index-pack.c:531
 #, c-format
 msgid "unknown object type %d"
 msgstr ""
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:562
 msgid "cannot pread pack file"
 msgstr ""
 
-#: builtin/index-pack.c:555
+#: builtin/index-pack.c:564
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:581
+#: builtin/index-pack.c:590
 msgid "serious inflate inconsistency"
 msgstr ""
 
-#: builtin/index-pack.c:726 builtin/index-pack.c:732 builtin/index-pack.c:755
-#: builtin/index-pack.c:794 builtin/index-pack.c:803
+#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764
+#: builtin/index-pack.c:803 builtin/index-pack.c:812
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr ""
 
-#: builtin/index-pack.c:729 builtin/pack-objects.c:152
-#: builtin/pack-objects.c:212 builtin/pack-objects.c:306
+#: builtin/index-pack.c:738 builtin/pack-objects.c:157
+#: builtin/pack-objects.c:217 builtin/pack-objects.c:311
 #, c-format
 msgid "unable to read %s"
 msgstr ""
 
-#: builtin/index-pack.c:792
+#: builtin/index-pack.c:801
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr ""
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:809
 #, c-format
 msgid "cannot read existing object %s"
 msgstr ""
 
-#: builtin/index-pack.c:814
+#: builtin/index-pack.c:823
 #, c-format
 msgid "invalid blob object %s"
 msgstr ""
 
-#: builtin/index-pack.c:817 builtin/index-pack.c:836
+#: builtin/index-pack.c:826 builtin/index-pack.c:845
 msgid "fsck error in packed object"
 msgstr ""
 
-#: builtin/index-pack.c:838
+#: builtin/index-pack.c:847
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr ""
 
-#: builtin/index-pack.c:910 builtin/index-pack.c:941
+#: builtin/index-pack.c:919 builtin/index-pack.c:950
 msgid "failed to apply delta"
 msgstr ""
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1118
 msgid "Receiving objects"
 msgstr ""
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1118
 msgid "Indexing objects"
 msgstr ""
 
-#: builtin/index-pack.c:1143
+#: builtin/index-pack.c:1152
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr ""
 
-#: builtin/index-pack.c:1148
+#: builtin/index-pack.c:1157
 msgid "cannot fstat packfile"
 msgstr ""
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1160
 msgid "pack has junk at the end"
 msgstr ""
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1172
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr ""
 
-#: builtin/index-pack.c:1186
+#: builtin/index-pack.c:1195
 msgid "Resolving deltas"
 msgstr ""
 
-#: builtin/index-pack.c:1196 builtin/pack-objects.c:2486
+#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497
 #, c-format
 msgid "unable to create thread: %s"
 msgstr ""
 
-#: builtin/index-pack.c:1237
+#: builtin/index-pack.c:1246
 msgid "confusion beyond insanity"
 msgstr ""
 
-#: builtin/index-pack.c:1243
+#: builtin/index-pack.c:1252
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1255
+#: builtin/index-pack.c:1264
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 
-#: builtin/index-pack.c:1259
+#: builtin/index-pack.c:1268
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1283
+#: builtin/index-pack.c:1292
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr ""
 
-#: builtin/index-pack.c:1360
+#: builtin/index-pack.c:1388
 #, c-format
 msgid "local object %s is corrupt"
 msgstr ""
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1402
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr ""
 
-#: builtin/index-pack.c:1399
+#: builtin/index-pack.c:1427
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1435
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1431
+#: builtin/index-pack.c:1459
 msgid "error while closing pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1473
 msgid "cannot store pack file"
 msgstr ""
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1481
 msgid "cannot store index file"
 msgstr ""
 
-#: builtin/index-pack.c:1497 builtin/pack-objects.c:2725
+#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr ""
 
-#: builtin/index-pack.c:1565
+#: builtin/index-pack.c:1593
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1567
+#: builtin/index-pack.c:1595
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1615
+#: builtin/index-pack.c:1643
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1622
+#: builtin/index-pack.c:1650
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] ""
 msgstr[1] ""
 
-#: builtin/index-pack.c:1659
+#: builtin/index-pack.c:1689
 msgid "Cannot come back to cwd"
 msgstr ""
 
-#: builtin/index-pack.c:1708 builtin/index-pack.c:1711
-#: builtin/index-pack.c:1727 builtin/index-pack.c:1731
+#: builtin/index-pack.c:1738 builtin/index-pack.c:1741
+#: builtin/index-pack.c:1757 builtin/index-pack.c:1761
 #, c-format
 msgid "bad %s"
 msgstr ""
 
-#: builtin/index-pack.c:1747
+#: builtin/index-pack.c:1777
 msgid "--fix-thin cannot be used without --stdin"
 msgstr ""
 
-#: builtin/index-pack.c:1749
+#: builtin/index-pack.c:1779
 msgid "--stdin requires a git repository"
 msgstr ""
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1785
 msgid "--verify with no packfile name given"
 msgstr ""
 
-#: builtin/index-pack.c:1803 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr ""
 
@@ -12145,136 +13270,136 @@ msgstr ""
 msgid "not copying templates from '%s': %s"
 msgstr ""
 
-#: builtin/init-db.c:329
+#: builtin/init-db.c:334
 #, c-format
 msgid "unable to handle file type %d"
 msgstr ""
 
-#: builtin/init-db.c:332
+#: builtin/init-db.c:337
 #, c-format
 msgid "unable to move %s to %s"
 msgstr ""
 
-#: builtin/init-db.c:349 builtin/init-db.c:352
+#: builtin/init-db.c:354 builtin/init-db.c:357
 #, c-format
 msgid "%s already exists"
 msgstr ""
 
-#: builtin/init-db.c:405
+#: builtin/init-db.c:413
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:406
+#: builtin/init-db.c:414
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:410
+#: builtin/init-db.c:418
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:411
+#: builtin/init-db.c:419
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr ""
 
-#: builtin/init-db.c:460
+#: builtin/init-db.c:468
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
 msgstr ""
 
-#: builtin/init-db.c:483
+#: builtin/init-db.c:491
 msgid "permissions"
 msgstr ""
 
-#: builtin/init-db.c:484
+#: builtin/init-db.c:492
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr ""
 
-#: builtin/init-db.c:518 builtin/init-db.c:523
+#: builtin/init-db.c:529 builtin/init-db.c:534
 #, c-format
 msgid "cannot mkdir %s"
 msgstr ""
 
-#: builtin/init-db.c:527
+#: builtin/init-db.c:538
 #, c-format
 msgid "cannot chdir to %s"
 msgstr ""
 
-#: builtin/init-db.c:548
+#: builtin/init-db.c:559
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr ""
 
-#: builtin/init-db.c:576
+#: builtin/init-db.c:587
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr ""
 
-#: builtin/interpret-trailers.c:15
+#: builtin/interpret-trailers.c:16
 msgid ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<token>[(=|:)<value>])...] [<file>...]"
 msgstr ""
 
-#: builtin/interpret-trailers.c:94
+#: builtin/interpret-trailers.c:95
 msgid "edit files in place"
 msgstr ""
 
-#: builtin/interpret-trailers.c:95
+#: builtin/interpret-trailers.c:96
 msgid "trim empty trailers"
 msgstr ""
 
-#: builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:99
 msgid "where to place the new trailer"
 msgstr ""
 
-#: builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:101
 msgid "action if trailer already exists"
 msgstr ""
 
-#: builtin/interpret-trailers.c:102
+#: builtin/interpret-trailers.c:103
 msgid "action if trailer is missing"
 msgstr ""
 
-#: builtin/interpret-trailers.c:104
+#: builtin/interpret-trailers.c:105
 msgid "output only the trailers"
 msgstr ""
 
-#: builtin/interpret-trailers.c:105
+#: builtin/interpret-trailers.c:106
 msgid "do not apply config rules"
 msgstr ""
 
-#: builtin/interpret-trailers.c:106
+#: builtin/interpret-trailers.c:107
 msgid "join whitespace-continued values"
 msgstr ""
 
-#: builtin/interpret-trailers.c:107
+#: builtin/interpret-trailers.c:108
 msgid "set parsing options"
 msgstr ""
 
-#: builtin/interpret-trailers.c:109
+#: builtin/interpret-trailers.c:110
 msgid "do not treat --- specially"
 msgstr ""
 
-#: builtin/interpret-trailers.c:110
+#: builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr ""
 
-#: builtin/interpret-trailers.c:111
+#: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr ""
 
-#: builtin/interpret-trailers.c:120
+#: builtin/interpret-trailers.c:123
 msgid "--trailer with --only-input does not make sense"
 msgstr ""
 
-#: builtin/interpret-trailers.c:130
+#: builtin/interpret-trailers.c:133
 msgid "no input file given for in-place editing"
 msgstr ""
 
@@ -12286,388 +13411,380 @@ msgstr ""
 msgid "git show [<options>] <object>..."
 msgstr ""
 
-#: builtin/log.c:100
+#: builtin/log.c:109
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr ""
 
-#: builtin/log.c:163
-msgid "suppress diff output"
-msgstr ""
-
-#: builtin/log.c:164
+#: builtin/log.c:173
 msgid "show source"
 msgstr ""
 
-#: builtin/log.c:165
+#: builtin/log.c:174
 msgid "Use mail map file"
 msgstr ""
 
-#: builtin/log.c:167
+#: builtin/log.c:176
 msgid "only decorate refs that match <pattern>"
 msgstr ""
 
-#: builtin/log.c:169
+#: builtin/log.c:178
 msgid "do not decorate refs that match <pattern>"
 msgstr ""
 
-#: builtin/log.c:170
+#: builtin/log.c:179
 msgid "decorate options"
 msgstr ""
 
-#: builtin/log.c:173
+#: builtin/log.c:182
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 
-#: builtin/log.c:271
+#: builtin/log.c:280
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr ""
 
-#: builtin/log.c:525
+#: builtin/log.c:534
 #, c-format
 msgid "git show %s: bad file"
 msgstr ""
 
-#: builtin/log.c:540 builtin/log.c:634
+#: builtin/log.c:549 builtin/log.c:643
 #, c-format
-msgid "Could not read object %s"
+msgid "could not read object %s"
 msgstr ""
 
-#: builtin/log.c:659
+#: builtin/log.c:668
 #, c-format
-msgid "Unknown type: %d"
+msgid "unknown type: %d"
 msgstr ""
 
-#: builtin/log.c:780
+#: builtin/log.c:791
 msgid "format.headers without value"
 msgstr ""
 
-#: builtin/log.c:881
+#: builtin/log.c:908
 msgid "name of output directory is too long"
 msgstr ""
 
-#: builtin/log.c:897
+#: builtin/log.c:924
 #, c-format
-msgid "Cannot open patch file %s"
+msgid "cannot open patch file %s"
 msgstr ""
 
-#: builtin/log.c:914
-msgid "Need exactly one range."
+#: builtin/log.c:941
+msgid "need exactly one range"
 msgstr ""
 
-#: builtin/log.c:924
-msgid "Not a range."
+#: builtin/log.c:951
+msgid "not a range"
+msgstr ""
+
+#: builtin/log.c:1074
+msgid "cover letter needs email format"
 msgstr ""
 
-#: builtin/log.c:1047
-msgid "Cover letter needs email format"
+#: builtin/log.c:1080
+msgid "failed to create cover-letter file"
 msgstr ""
 
-#: builtin/log.c:1132
+#: builtin/log.c:1159
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr ""
 
-#: builtin/log.c:1159
+#: builtin/log.c:1186
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr ""
 
-#: builtin/log.c:1217
-msgid "Two output directories?"
+#: builtin/log.c:1244
+msgid "two output directories?"
 msgstr ""
 
-#: builtin/log.c:1324 builtin/log.c:2068 builtin/log.c:2070 builtin/log.c:2082
+#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113
 #, c-format
-msgid "Unknown commit %s"
+msgid "unknown commit %s"
 msgstr ""
 
-#: builtin/log.c:1334 builtin/notes.c:897 builtin/tag.c:526
+#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/replace.c:210
 #, c-format
-msgid "Failed to resolve '%s' as a valid ref."
+msgid "failed to resolve '%s' as a valid ref"
 msgstr ""
 
-#: builtin/log.c:1339
-msgid "Could not find exact merge base."
+#: builtin/log.c:1370
+msgid "could not find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1343
+#: builtin/log.c:1374
 msgid ""
-"Failed to get upstream, if you want to record base commit automatically,\n"
+"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."
+"Or you could specify base commit by --base=<base-commit-id> manually"
 msgstr ""
 
-#: builtin/log.c:1363
-msgid "Failed to find exact merge base"
+#: builtin/log.c:1394
+msgid "failed to find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1374
+#: builtin/log.c:1405
 msgid "base commit should be the ancestor of revision list"
 msgstr ""
 
-#: builtin/log.c:1378
+#: builtin/log.c:1409
 msgid "base commit shouldn't be in revision list"
 msgstr ""
 
-#: builtin/log.c:1431
+#: builtin/log.c:1462
 msgid "cannot get patch id"
 msgstr ""
 
-#: builtin/log.c:1483
+#: builtin/log.c:1514
 msgid "failed to infer range-diff ranges"
 msgstr ""
 
-#: builtin/log.c:1528
+#: builtin/log.c:1559
 msgid "use [PATCH n/m] even with a single patch"
 msgstr ""
 
-#: builtin/log.c:1531
+#: builtin/log.c:1562
 msgid "use [PATCH] even with multiple patches"
 msgstr ""
 
-#: builtin/log.c:1535
+#: builtin/log.c:1566
 msgid "print patches to standard out"
 msgstr ""
 
-#: builtin/log.c:1537
+#: builtin/log.c:1568
 msgid "generate a cover letter"
 msgstr ""
 
-#: builtin/log.c:1539
+#: builtin/log.c:1570
 msgid "use simple number sequence for output file names"
 msgstr ""
 
-#: builtin/log.c:1540
+#: builtin/log.c:1571
 msgid "sfx"
 msgstr ""
 
-#: builtin/log.c:1541
+#: builtin/log.c:1572
 msgid "use <sfx> instead of '.patch'"
 msgstr ""
 
-#: builtin/log.c:1543
+#: builtin/log.c:1574
 msgid "start numbering patches at <n> instead of 1"
 msgstr ""
 
-#: builtin/log.c:1545
+#: builtin/log.c:1576
 msgid "mark the series as Nth re-roll"
 msgstr ""
 
-#: builtin/log.c:1547
+#: builtin/log.c:1578
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1550
+#: builtin/log.c:1581
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1553
+#: builtin/log.c:1584
 msgid "store resulting files in <dir>"
 msgstr ""
 
-#: builtin/log.c:1556
+#: builtin/log.c:1587
 msgid "don't strip/add [PATCH]"
 msgstr ""
 
-#: builtin/log.c:1559
+#: builtin/log.c:1590
 msgid "don't output binary diffs"
 msgstr ""
 
-#: builtin/log.c:1561
+#: builtin/log.c:1592
 msgid "output all-zero hash in From header"
 msgstr ""
 
-#: builtin/log.c:1563
+#: builtin/log.c:1594
 msgid "don't include a patch matching a commit upstream"
 msgstr ""
 
-#: builtin/log.c:1565
+#: builtin/log.c:1596
 msgid "show patch format instead of default (patch + stat)"
 msgstr ""
 
-#: builtin/log.c:1567
+#: builtin/log.c:1598
 msgid "Messaging"
 msgstr ""
 
-#: builtin/log.c:1568
+#: builtin/log.c:1599
 msgid "header"
 msgstr ""
 
-#: builtin/log.c:1569
+#: builtin/log.c:1600
 msgid "add email header"
 msgstr ""
 
-#: builtin/log.c:1570 builtin/log.c:1572
+#: builtin/log.c:1601 builtin/log.c:1603
 msgid "email"
 msgstr ""
 
-#: builtin/log.c:1570
+#: builtin/log.c:1601
 msgid "add To: header"
 msgstr ""
 
-#: builtin/log.c:1572
+#: builtin/log.c:1603
 msgid "add Cc: header"
 msgstr ""
 
-#: builtin/log.c:1574
+#: builtin/log.c:1605
 msgid "ident"
 msgstr ""
 
-#: builtin/log.c:1575
+#: builtin/log.c:1606
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 
-#: builtin/log.c:1577
+#: builtin/log.c:1608
 msgid "message-id"
 msgstr ""
 
-#: builtin/log.c:1578
+#: builtin/log.c:1609
 msgid "make first mail a reply to <message-id>"
 msgstr ""
 
-#: builtin/log.c:1579 builtin/log.c:1582
+#: builtin/log.c:1610 builtin/log.c:1613
 msgid "boundary"
 msgstr ""
 
-#: builtin/log.c:1580
+#: builtin/log.c:1611
 msgid "attach the patch"
 msgstr ""
 
-#: builtin/log.c:1583
+#: builtin/log.c:1614
 msgid "inline the patch"
 msgstr ""
 
-#: builtin/log.c:1587
+#: builtin/log.c:1618
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 
-#: builtin/log.c:1589
+#: builtin/log.c:1620
 msgid "signature"
 msgstr ""
 
-#: builtin/log.c:1590
+#: builtin/log.c:1621
 msgid "add a signature"
 msgstr ""
 
-#: builtin/log.c:1591
+#: builtin/log.c:1622
 msgid "base-commit"
 msgstr ""
 
-#: builtin/log.c:1592
+#: builtin/log.c:1623
 msgid "add prerequisite tree info to the patch series"
 msgstr ""
 
-#: builtin/log.c:1594
+#: builtin/log.c:1625
 msgid "add a signature from a file"
 msgstr ""
 
-#: builtin/log.c:1595
+#: builtin/log.c:1626
 msgid "don't print the patch filenames"
 msgstr ""
 
-#: builtin/log.c:1597
+#: builtin/log.c:1628
 msgid "show progress while generating patches"
 msgstr ""
 
-#: builtin/log.c:1598
-msgid "rev"
-msgstr ""
-
-#: builtin/log.c:1599
+#: builtin/log.c:1630
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1602
+#: builtin/log.c:1633
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1604
+#: builtin/log.c:1635
 msgid "percentage by which creation is weighted"
 msgstr ""
 
-#: builtin/log.c:1679
+#: builtin/log.c:1710
 #, c-format
 msgid "invalid ident line: %s"
 msgstr ""
 
-#: builtin/log.c:1694
+#: builtin/log.c:1725
 msgid "-n and -k are mutually exclusive"
 msgstr ""
 
-#: builtin/log.c:1696
+#: builtin/log.c:1727
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr ""
 
-#: builtin/log.c:1704
+#: builtin/log.c:1735
 msgid "--name-only does not make sense"
 msgstr ""
 
-#: builtin/log.c:1706
+#: builtin/log.c:1737
 msgid "--name-status does not make sense"
 msgstr ""
 
-#: builtin/log.c:1708
+#: builtin/log.c:1739
 msgid "--check does not make sense"
 msgstr ""
 
-#: builtin/log.c:1740
+#: builtin/log.c:1771
 msgid "standard output, or directory, which one?"
 msgstr ""
 
-#: builtin/log.c:1742
-#, c-format
-msgid "Could not create directory '%s'"
-msgstr ""
-
-#: builtin/log.c:1829
+#: builtin/log.c:1860
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1833
+#: builtin/log.c:1864
 msgid "Interdiff:"
 msgstr ""
 
-#: builtin/log.c:1834
+#: builtin/log.c:1865
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr ""
 
-#: builtin/log.c:1840
+#: builtin/log.c:1871
 msgid "--creation-factor requires --range-diff"
 msgstr ""
 
-#: builtin/log.c:1844
+#: builtin/log.c:1875
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1852
+#: builtin/log.c:1883
 msgid "Range-diff:"
 msgstr ""
 
-#: builtin/log.c:1853
+#: builtin/log.c:1884
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr ""
 
-#: builtin/log.c:1864
+#: builtin/log.c:1895
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr ""
 
-#: builtin/log.c:1900
+#: builtin/log.c:1931
 msgid "Generating patches"
 msgstr ""
 
-#: builtin/log.c:1944
-msgid "Failed to create output files"
+#: builtin/log.c:1975
+msgid "failed to create output files"
 msgstr ""
 
-#: builtin/log.c:2003
+#: builtin/log.c:2034
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr ""
 
-#: builtin/log.c:2057
+#: builtin/log.c:2088
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -12788,7 +13905,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr ""
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1111
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464
 msgid "exec"
 msgstr ""
 
@@ -12812,11 +13929,11 @@ msgstr ""
 msgid "take url.<base>.insteadOf into account"
 msgstr ""
 
-#: builtin/ls-remote.c:73
+#: builtin/ls-remote.c:72
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr ""
 
-#: builtin/ls-remote.c:76
+#: builtin/ls-remote.c:75
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr ""
 
@@ -12861,353 +13978,373 @@ msgstr ""
 msgid "empty mbox: '%s'"
 msgstr ""
 
-#: builtin/merge.c:53
+#: builtin/merge.c:55
 msgid "git merge [<options>] [<commit>...]"
 msgstr ""
 
-#: builtin/merge.c:54
+#: builtin/merge.c:56
 msgid "git merge --abort"
 msgstr ""
 
-#: builtin/merge.c:55
+#: builtin/merge.c:57
 msgid "git merge --continue"
 msgstr ""
 
-#: builtin/merge.c:112
+#: builtin/merge.c:118
 msgid "switch `m' requires a value"
 msgstr ""
 
-#: builtin/merge.c:132
+#: builtin/merge.c:141
 #, c-format
 msgid "option `%s' requires a value"
 msgstr ""
 
-#: builtin/merge.c:178
+#: builtin/merge.c:187
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr ""
 
-#: builtin/merge.c:179
+#: builtin/merge.c:188
 #, c-format
 msgid "Available strategies are:"
 msgstr ""
 
-#: builtin/merge.c:184
+#: builtin/merge.c:193
 #, c-format
 msgid "Available custom strategies are:"
 msgstr ""
 
-#: builtin/merge.c:235 builtin/pull.c:144
+#: builtin/merge.c:244 builtin/pull.c:151
 msgid "do not show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:238 builtin/pull.c:147
+#: builtin/merge.c:247 builtin/pull.c:154
 msgid "show a diffstat at the end of the merge"
 msgstr ""
 
-#: builtin/merge.c:239 builtin/pull.c:150
+#: builtin/merge.c:248 builtin/pull.c:157
 msgid "(synonym to --stat)"
 msgstr ""
 
-#: builtin/merge.c:241 builtin/pull.c:153
+#: builtin/merge.c:250 builtin/pull.c:160
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 
-#: builtin/merge.c:244 builtin/pull.c:159
+#: builtin/merge.c:253 builtin/pull.c:166
 msgid "create a single commit instead of doing a merge"
 msgstr ""
 
-#: builtin/merge.c:246 builtin/pull.c:162
+#: builtin/merge.c:255 builtin/pull.c:169
 msgid "perform a commit if the merge succeeds (default)"
 msgstr ""
 
-#: builtin/merge.c:248 builtin/pull.c:165
+#: builtin/merge.c:257 builtin/pull.c:172
 msgid "edit message before committing"
 msgstr ""
 
-#: builtin/merge.c:249
+#: builtin/merge.c:259
 msgid "allow fast-forward (default)"
 msgstr ""
 
-#: builtin/merge.c:251 builtin/pull.c:171
+#: builtin/merge.c:261 builtin/pull.c:179
 msgid "abort if fast-forward is not possible"
 msgstr ""
 
-#: builtin/merge.c:255 builtin/pull.c:174
+#: builtin/merge.c:265 builtin/pull.c:182
 msgid "verify that the named commit has a valid GPG signature"
 msgstr ""
 
-#: builtin/merge.c:256 builtin/notes.c:787 builtin/pull.c:178
-#: builtin/rebase.c:1124 builtin/rebase--interactive.c:188 builtin/revert.c:111
+#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186
+#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114
 msgid "strategy"
 msgstr ""
 
-#: builtin/merge.c:257 builtin/pull.c:179
+#: builtin/merge.c:267 builtin/pull.c:187
 msgid "merge strategy to use"
 msgstr ""
 
-#: builtin/merge.c:258 builtin/pull.c:182
+#: builtin/merge.c:268 builtin/pull.c:190
 msgid "option=value"
 msgstr ""
 
-#: builtin/merge.c:259 builtin/pull.c:183
+#: builtin/merge.c:269 builtin/pull.c:191
 msgid "option for selected merge strategy"
 msgstr ""
 
-#: builtin/merge.c:261
+#: builtin/merge.c:271
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 
-#: builtin/merge.c:268
+#: builtin/merge.c:278
 msgid "abort the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:270
+#: builtin/merge.c:280
+msgid "--abort but leave index and working tree alone"
+msgstr ""
+
+#: builtin/merge.c:282
 msgid "continue the current in-progress merge"
 msgstr ""
 
-#: builtin/merge.c:272 builtin/pull.c:190
+#: builtin/merge.c:284 builtin/pull.c:198
 msgid "allow merging unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:278
+#: builtin/merge.c:290
 msgid "verify commit-msg hook"
 msgstr ""
 
-#: builtin/merge.c:303
+#: builtin/merge.c:307
 msgid "could not run stash."
 msgstr ""
 
-#: builtin/merge.c:308
+#: builtin/merge.c:312
 msgid "stash failed"
 msgstr ""
 
-#: builtin/merge.c:313
+#: builtin/merge.c:317
 #, c-format
 msgid "not a valid object: %s"
 msgstr ""
 
-#: builtin/merge.c:335 builtin/merge.c:352
+#: builtin/merge.c:339 builtin/merge.c:356
 msgid "read-tree failed"
 msgstr ""
 
-#: builtin/merge.c:382
+#: builtin/merge.c:386
 msgid " (nothing to squash)"
 msgstr ""
 
-#: builtin/merge.c:393
+#: builtin/merge.c:397
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr ""
 
-#: builtin/merge.c:494
+#: builtin/merge.c:498
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr ""
 
-#: builtin/merge.c:581
+#: builtin/merge.c:585
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr ""
 
-#: builtin/merge.c:702
+#: builtin/merge.c:708
 msgid "Not handling anything other than two heads merge."
 msgstr ""
 
-#: builtin/merge.c:716
+#: builtin/merge.c:722
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr ""
 
-#: builtin/merge.c:731
+#: builtin/merge.c:737
 #, c-format
 msgid "unable to write %s"
 msgstr ""
 
-#: builtin/merge.c:783
+#: builtin/merge.c:789
 #, c-format
 msgid "Could not read from '%s'"
 msgstr ""
 
-#: builtin/merge.c:792
+#: builtin/merge.c:798
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:798
-#, c-format
+#: builtin/merge.c:804
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
+msgstr ""
+
+#: builtin/merge.c:809
+msgid "An empty message aborts the commit.\n"
+msgstr ""
+
+#: builtin/merge.c:812
+#, c-format
+msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
 "the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:834
+#: builtin/merge.c:853
 msgid "Empty commit message."
 msgstr ""
 
-#: builtin/merge.c:853
+#: builtin/merge.c:872
 #, c-format
 msgid "Wonderful.\n"
 msgstr ""
 
-#: builtin/merge.c:906
+#: builtin/merge.c:933
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 
-#: builtin/merge.c:945
+#: builtin/merge.c:972
 msgid "No current branch."
 msgstr ""
 
-#: builtin/merge.c:947
+#: builtin/merge.c:974
 msgid "No remote for the current branch."
 msgstr ""
 
-#: builtin/merge.c:949
+#: builtin/merge.c:976
 msgid "No default upstream defined for the current branch."
 msgstr ""
 
-#: builtin/merge.c:954
+#: builtin/merge.c:981
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr ""
 
-#: builtin/merge.c:1011
+#: builtin/merge.c:1038
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr ""
 
-#: builtin/merge.c:1114
+#: builtin/merge.c:1141
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr ""
 
-#: builtin/merge.c:1148
+#: builtin/merge.c:1175
 msgid "not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1251
+#: builtin/merge.c:1278
 msgid "--abort expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1255
+#: builtin/merge.c:1282
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1267
+#: builtin/merge.c:1291
+msgid "--quit expects no arguments"
+msgstr ""
+
+#: builtin/merge.c:1304
 msgid "--continue expects no arguments"
 msgstr ""
 
-#: builtin/merge.c:1271
+#: builtin/merge.c:1308
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr ""
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1324
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1294
+#: builtin/merge.c:1331
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr ""
 
-#: builtin/merge.c:1297
+#: builtin/merge.c:1334
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 
-#: builtin/merge.c:1306
+#: builtin/merge.c:1348
 msgid "You cannot combine --squash with --no-ff."
 msgstr ""
 
-#: builtin/merge.c:1314
+#: builtin/merge.c:1350
+msgid "You cannot combine --squash with --commit."
+msgstr ""
+
+#: builtin/merge.c:1366
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 
-#: builtin/merge.c:1331
+#: builtin/merge.c:1383
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 
-#: builtin/merge.c:1333
+#: builtin/merge.c:1385
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 
-#: builtin/merge.c:1338
+#: builtin/merge.c:1390
 #, c-format
 msgid "%s - not something we can merge"
 msgstr ""
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1392
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 
-#: builtin/merge.c:1422
+#: builtin/merge.c:1471
 msgid "refusing to merge unrelated histories"
 msgstr ""
 
-#: builtin/merge.c:1431
+#: builtin/merge.c:1480
 msgid "Already up to date."
 msgstr ""
 
-#: builtin/merge.c:1441
+#: builtin/merge.c:1490
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr ""
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1532
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr ""
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1539
 #, c-format
 msgid "Nope.\n"
 msgstr ""
 
-#: builtin/merge.c:1515
+#: builtin/merge.c:1564
 msgid "Already up to date. Yeeah!"
 msgstr ""
 
-#: builtin/merge.c:1521
+#: builtin/merge.c:1570
 msgid "Not possible to fast-forward, aborting."
 msgstr ""
 
-#: builtin/merge.c:1544 builtin/merge.c:1623
+#: builtin/merge.c:1593 builtin/merge.c:1658
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr ""
 
-#: builtin/merge.c:1548
+#: builtin/merge.c:1597
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr ""
 
-#: builtin/merge.c:1614
+#: builtin/merge.c:1649
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr ""
 
-#: builtin/merge.c:1616
+#: builtin/merge.c:1651
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr ""
 
-#: builtin/merge.c:1625
+#: builtin/merge.c:1660
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr ""
 
-#: builtin/merge.c:1637
+#: builtin/merge.c:1672
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -13337,21 +14474,33 @@ msgstr ""
 msgid "allow creation of more than one tree"
 msgstr ""
 
-#: builtin/multi-pack-index.c:8
-msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
+#: builtin/multi-pack-index.c:9
+msgid ""
+"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
+"batch-size=<size>)"
 msgstr ""
 
-#: builtin/multi-pack-index.c:21
+#: builtin/multi-pack-index.c:23
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 
-#: builtin/multi-pack-index.c:39
+#: builtin/multi-pack-index.c:25
+msgid ""
+"during repack, collect pack-files of smaller size into a batch that is "
+"larger than this size"
+msgstr ""
+
+#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr ""
 
-#: builtin/multi-pack-index.c:48
+#: builtin/multi-pack-index.c:52
+msgid "--batch-size option is only for 'repack' subcommand"
+msgstr ""
+
+#: builtin/multi-pack-index.c:61
 #, c-format
-msgid "unrecognized verb: %s"
+msgid "unrecognized subcommand: %s"
 msgstr ""
 
 #: builtin/mv.c:18
@@ -13441,52 +14590,52 @@ msgstr ""
 msgid "Renaming %s to %s\n"
 msgstr ""
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:513
+#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510
 #, c-format
 msgid "renaming '%s' failed"
 msgstr ""
 
-#: builtin/name-rev.c:355
+#: builtin/name-rev.c:352
 msgid "git name-rev [<options>] <commit>..."
 msgstr ""
 
-#: builtin/name-rev.c:356
+#: builtin/name-rev.c:353
 msgid "git name-rev [<options>] --all"
 msgstr ""
 
-#: builtin/name-rev.c:357
+#: builtin/name-rev.c:354
 msgid "git name-rev [<options>] --stdin"
 msgstr ""
 
-#: builtin/name-rev.c:413
+#: builtin/name-rev.c:411
 msgid "print only names (no SHA-1)"
 msgstr ""
 
-#: builtin/name-rev.c:414
+#: builtin/name-rev.c:412
 msgid "only use tags to name the commits"
 msgstr ""
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:414
 msgid "only use refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:416
 msgid "ignore refs matching <pattern>"
 msgstr ""
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:418
 msgid "list all commits reachable from all refs"
 msgstr ""
 
-#: builtin/name-rev.c:421
+#: builtin/name-rev.c:419
 msgid "read from stdin"
 msgstr ""
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:420
 msgid "allow to print `undefined` names (default)"
 msgstr ""
 
-#: builtin/name-rev.c:428
+#: builtin/name-rev.c:426
 msgid "dereference tags in the input (internal use)"
 msgstr ""
 
@@ -13626,7 +14775,7 @@ msgstr ""
 msgid "the note contents have been left in %s"
 msgstr ""
 
-#: builtin/notes.c:242 builtin/tag.c:513
+#: builtin/notes.c:242 builtin/tag.c:532
 #, c-format
 msgid "could not open or read '%s'"
 msgstr ""
@@ -13847,6 +14996,11 @@ msgid ""
 "abort'.\n"
 msgstr ""
 
+#: builtin/notes.c:897 builtin/tag.c:545
+#, c-format
+msgid "Failed to resolve '%s' as a valid ref."
+msgstr ""
+
 #: builtin/notes.c:900
 #, c-format
 msgid "Object %s has no note\n"
@@ -13860,7 +15014,7 @@ msgstr ""
 msgid "read object names from the standard input"
 msgstr ""
 
-#: builtin/notes.c:954 builtin/prune.c:108 builtin/worktree.c:165
+#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165
 msgid "do not remove, show only"
 msgstr ""
 
@@ -13876,397 +15030,401 @@ msgstr ""
 msgid "use notes from <notes-ref>"
 msgstr ""
 
-#: builtin/notes.c:1034
+#: builtin/notes.c:1034 builtin/stash.c:1598
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr ""
 
-#: builtin/pack-objects.c:51
+#: builtin/pack-objects.c:52
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr ""
 
-#: builtin/pack-objects.c:52
+#: builtin/pack-objects.c:53
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
 
-#: builtin/pack-objects.c:423
+#: builtin/pack-objects.c:428
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:434
+#: builtin/pack-objects.c:439
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:565
+#: builtin/pack-objects.c:570
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr ""
 
-#: builtin/pack-objects.c:776
+#: builtin/pack-objects.c:781
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr ""
 
-#: builtin/pack-objects.c:789
+#: builtin/pack-objects.c:794
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr ""
 
-#: builtin/pack-objects.c:793
+#: builtin/pack-objects.c:798
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr ""
 
-#: builtin/pack-objects.c:797
+#: builtin/pack-objects.c:802
 msgid "unable to seek in reused packfile"
 msgstr ""
 
-#: builtin/pack-objects.c:808
+#: builtin/pack-objects.c:813
 msgid "unable to read from reused packfile"
 msgstr ""
 
-#: builtin/pack-objects.c:836
+#: builtin/pack-objects.c:841
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 
-#: builtin/pack-objects.c:849
+#: builtin/pack-objects.c:854
 msgid "Writing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:911 builtin/update-index.c:89
+#: builtin/pack-objects.c:917 builtin/update-index.c:89
 #, c-format
 msgid "failed to stat %s"
 msgstr ""
 
-#: builtin/pack-objects.c:964
+#: builtin/pack-objects.c:970
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr ""
 
-#: builtin/pack-objects.c:1158
+#: builtin/pack-objects.c:1166
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 
-#: builtin/pack-objects.c:1586
+#: builtin/pack-objects.c:1597
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:1595
+#: builtin/pack-objects.c:1606
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:1864
+#: builtin/pack-objects.c:1875
 msgid "Counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:1994
+#: builtin/pack-objects.c:2005
 #, c-format
 msgid "unable to get size of %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2009
+#: builtin/pack-objects.c:2020
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2079 builtin/pack-objects.c:2095
-#: builtin/pack-objects.c:2105
+#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106
+#: builtin/pack-objects.c:2116
 #, c-format
 msgid "object %s cannot be read"
 msgstr ""
 
-#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2109
+#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 
-#: builtin/pack-objects.c:2119
+#: builtin/pack-objects.c:2130
 msgid "suboptimal pack - out of memory"
 msgstr ""
 
-#: builtin/pack-objects.c:2445
+#: builtin/pack-objects.c:2456
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr ""
 
-#: builtin/pack-objects.c:2577
+#: builtin/pack-objects.c:2588
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2664
+#: builtin/pack-objects.c:2675
 msgid "Compressing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:2670
+#: builtin/pack-objects.c:2681
 msgid "inconsistency with delta count"
 msgstr ""
 
-#: builtin/pack-objects.c:2751
+#: builtin/pack-objects.c:2762
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
 " %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2757
+#: builtin/pack-objects.c:2768
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
 " %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2855
+#: builtin/pack-objects.c:2866
 msgid "invalid value for --missing"
 msgstr ""
 
-#: builtin/pack-objects.c:2914 builtin/pack-objects.c:3022
+#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033
 msgid "cannot open pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:2945
+#: builtin/pack-objects.c:2956
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr ""
 
-#: builtin/pack-objects.c:3030
+#: builtin/pack-objects.c:3041
 msgid "unable to force loose object"
 msgstr ""
 
-#: builtin/pack-objects.c:3122
+#: builtin/pack-objects.c:3133
 #, c-format
 msgid "not a rev '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3125
+#: builtin/pack-objects.c:3136
 #, c-format
 msgid "bad revision '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3150
+#: builtin/pack-objects.c:3161
 msgid "unable to add recent objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3203
+#: builtin/pack-objects.c:3214
 #, c-format
 msgid "unsupported index version %s"
 msgstr ""
 
-#: builtin/pack-objects.c:3207
+#: builtin/pack-objects.c:3218
 #, c-format
 msgid "bad index version '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3237
+#: builtin/pack-objects.c:3248
 msgid "do not show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:3239
+#: builtin/pack-objects.c:3250
 msgid "show progress meter"
 msgstr ""
 
-#: builtin/pack-objects.c:3241
+#: builtin/pack-objects.c:3252
 msgid "show progress meter during object writing phase"
 msgstr ""
 
-#: builtin/pack-objects.c:3244
+#: builtin/pack-objects.c:3255
 msgid "similar to --all-progress when progress meter is shown"
 msgstr ""
 
-#: builtin/pack-objects.c:3245
+#: builtin/pack-objects.c:3256
 msgid "<version>[,<offset>]"
 msgstr ""
 
-#: builtin/pack-objects.c:3246
+#: builtin/pack-objects.c:3257
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 
-#: builtin/pack-objects.c:3249
+#: builtin/pack-objects.c:3260
 msgid "maximum size of each output pack file"
 msgstr ""
 
-#: builtin/pack-objects.c:3251
+#: builtin/pack-objects.c:3262
 msgid "ignore borrowed objects from alternate object store"
 msgstr ""
 
-#: builtin/pack-objects.c:3253
+#: builtin/pack-objects.c:3264
 msgid "ignore packed objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3255
+#: builtin/pack-objects.c:3266
 msgid "limit pack window by objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3257
+#: builtin/pack-objects.c:3268
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 
-#: builtin/pack-objects.c:3259
+#: builtin/pack-objects.c:3270
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3261
+#: builtin/pack-objects.c:3272
 msgid "reuse existing deltas"
 msgstr ""
 
-#: builtin/pack-objects.c:3263
+#: builtin/pack-objects.c:3274
 msgid "reuse existing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3265
+#: builtin/pack-objects.c:3276
 msgid "use OFS_DELTA objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3267
+#: builtin/pack-objects.c:3278
 msgid "use threads when searching for best delta matches"
 msgstr ""
 
-#: builtin/pack-objects.c:3269
+#: builtin/pack-objects.c:3280
 msgid "do not create an empty pack output"
 msgstr ""
 
-#: builtin/pack-objects.c:3271
+#: builtin/pack-objects.c:3282
 msgid "read revision arguments from standard input"
 msgstr ""
 
-#: builtin/pack-objects.c:3273
+#: builtin/pack-objects.c:3284
 msgid "limit the objects to those that are not yet packed"
 msgstr ""
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3287
 msgid "include objects reachable from any reference"
 msgstr ""
 
-#: builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3290
 msgid "include objects referred by reflog entries"
 msgstr ""
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3293
 msgid "include objects referred to by the index"
 msgstr ""
 
-#: builtin/pack-objects.c:3285
+#: builtin/pack-objects.c:3296
 msgid "output pack to stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3298
 msgid "include tag objects that refer to objects to be packed"
 msgstr ""
 
-#: builtin/pack-objects.c:3289
+#: builtin/pack-objects.c:3300
 msgid "keep unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3291
+#: builtin/pack-objects.c:3302
 msgid "pack loose unreachable objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3293
+#: builtin/pack-objects.c:3304
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3307
 msgid "use the sparse reachability algorithm"
 msgstr ""
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3309
 msgid "create thin packs"
 msgstr ""
 
-#: builtin/pack-objects.c:3300
+#: builtin/pack-objects.c:3311
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 
-#: builtin/pack-objects.c:3302
+#: builtin/pack-objects.c:3313
 msgid "ignore packs that have companion .keep file"
 msgstr ""
 
-#: builtin/pack-objects.c:3304
+#: builtin/pack-objects.c:3315
 msgid "ignore this pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3306
+#: builtin/pack-objects.c:3317
 msgid "pack compression level"
 msgstr ""
 
-#: builtin/pack-objects.c:3308
+#: builtin/pack-objects.c:3319
 msgid "do not hide commits by grafts"
 msgstr ""
 
-#: builtin/pack-objects.c:3310
+#: builtin/pack-objects.c:3321
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3312
+#: builtin/pack-objects.c:3323
 msgid "write a bitmap index together with the pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:3315
+#: builtin/pack-objects.c:3327
+msgid "write a bitmap index if possible"
+msgstr ""
+
+#: builtin/pack-objects.c:3331
 msgid "handling for missing objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3318
+#: builtin/pack-objects.c:3334
 msgid "do not pack objects in promisor packfiles"
 msgstr ""
 
-#: builtin/pack-objects.c:3320
+#: builtin/pack-objects.c:3336
 msgid "respect islands during delta compression"
 msgstr ""
 
-#: builtin/pack-objects.c:3345
+#: builtin/pack-objects.c:3361
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr ""
 
-#: builtin/pack-objects.c:3350
+#: builtin/pack-objects.c:3366
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr ""
 
-#: builtin/pack-objects.c:3404
+#: builtin/pack-objects.c:3420
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 
-#: builtin/pack-objects.c:3406
+#: builtin/pack-objects.c:3422
 msgid "minimum pack size limit is 1 MiB"
 msgstr ""
 
-#: builtin/pack-objects.c:3411
+#: builtin/pack-objects.c:3427
 msgid "--thin cannot be used to build an indexable pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3414
+#: builtin/pack-objects.c:3430
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr ""
 
-#: builtin/pack-objects.c:3420
+#: builtin/pack-objects.c:3436
 msgid "cannot use --filter without --stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:3479
+#: builtin/pack-objects.c:3497
 msgid "Enumerating objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3498
+#: builtin/pack-objects.c:3527
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr ""
 
-#: builtin/pack-refs.c:7
+#: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
 msgstr ""
 
-#: builtin/pack-refs.c:15
+#: builtin/pack-refs.c:16
 msgid "pack everything"
 msgstr ""
 
-#: builtin/pack-refs.c:16
+#: builtin/pack-refs.c:17
 msgid "prune loose refs (default)"
 msgstr ""
 
@@ -14282,86 +15440,86 @@ msgstr ""
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr ""
 
-#: builtin/prune.c:109
+#: builtin/prune.c:131
 msgid "report pruned objects"
 msgstr ""
 
-#: builtin/prune.c:112
+#: builtin/prune.c:134
 msgid "expire objects older than <time>"
 msgstr ""
 
-#: builtin/prune.c:114
+#: builtin/prune.c:136
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr ""
 
-#: builtin/prune.c:128
+#: builtin/prune.c:150
 msgid "cannot prune in a precious-objects repo"
 msgstr ""
 
-#: builtin/pull.c:61 builtin/pull.c:63
+#: builtin/pull.c:66 builtin/pull.c:68
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr ""
 
-#: builtin/pull.c:83
+#: builtin/pull.c:88
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr ""
 
-#: builtin/pull.c:134
+#: builtin/pull.c:141
 msgid "control for recursive fetching of submodules"
 msgstr ""
 
-#: builtin/pull.c:138
+#: builtin/pull.c:145
 msgid "Options related to merging"
 msgstr ""
 
-#: builtin/pull.c:141
+#: builtin/pull.c:148
 msgid "incorporate changes by rebasing rather than merging"
 msgstr ""
 
-#: builtin/pull.c:168 builtin/rebase--interactive.c:149 builtin/revert.c:123
+#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr ""
 
-#: builtin/pull.c:177
+#: builtin/pull.c:185
 msgid "automatically stash/stash pop before and after rebase"
 msgstr ""
 
-#: builtin/pull.c:193
+#: builtin/pull.c:201
 msgid "Options related to fetching"
 msgstr ""
 
-#: builtin/pull.c:203
+#: builtin/pull.c:211
 msgid "force overwrite of local branch"
 msgstr ""
 
-#: builtin/pull.c:211
+#: builtin/pull.c:219
 msgid "number of submodules pulled in parallel"
 msgstr ""
 
-#: builtin/pull.c:306
+#: builtin/pull.c:316
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr ""
 
-#: builtin/pull.c:422
+#: builtin/pull.c:433
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr ""
 
-#: builtin/pull.c:424
+#: builtin/pull.c:435
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 
-#: builtin/pull.c:425
+#: builtin/pull.c:436
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr ""
 
-#: builtin/pull.c:428
+#: builtin/pull.c:439
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -14369,74 +15527,74 @@ msgid ""
 "for your current branch, you must specify a branch on the command line."
 msgstr ""
 
-#: builtin/pull.c:433 builtin/rebase.c:956 git-parse-remote.sh:73
+#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr ""
 
-#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:79
+#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr ""
 
-#: builtin/pull.c:437 builtin/pull.c:452 git-parse-remote.sh:82
+#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr ""
 
-#: builtin/pull.c:438 builtin/pull.c:453
+#: builtin/pull.c:449 builtin/pull.c:464
 msgid "See git-pull(1) for details."
 msgstr ""
 
-#: builtin/pull.c:440 builtin/pull.c:446 builtin/pull.c:455
-#: builtin/rebase.c:962 git-parse-remote.sh:64
+#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466
+#: builtin/rebase.c:1332 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr ""
 
-#: builtin/pull.c:440 builtin/pull.c:455 builtin/pull.c:460
-#: git-legacy-rebase.sh:564 git-parse-remote.sh:65
+#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471
+#: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr ""
 
-#: builtin/pull.c:448 builtin/rebase.c:954 git-parse-remote.sh:75
+#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr ""
 
-#: builtin/pull.c:457 git-parse-remote.sh:95
+#: builtin/pull.c:468 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 
-#: builtin/pull.c:462
+#: builtin/pull.c:473
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
 "from the remote, but no such ref was fetched."
 msgstr ""
 
-#: builtin/pull.c:566
+#: builtin/pull.c:581
 #, c-format
 msgid "unable to access commit %s"
 msgstr ""
 
-#: builtin/pull.c:844
+#: builtin/pull.c:861
 msgid "ignoring --verify-signatures for rebase"
 msgstr ""
 
-#: builtin/pull.c:892
+#: builtin/pull.c:916
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr ""
 
-#: builtin/pull.c:900
+#: builtin/pull.c:924
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 
-#: builtin/pull.c:904
+#: builtin/pull.c:928
 msgid "pull with rebase"
 msgstr ""
 
-#: builtin/pull.c:905
+#: builtin/pull.c:929
 msgid "please commit or stash them."
 msgstr ""
 
-#: builtin/pull.c:930
+#: builtin/pull.c:954
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -14444,7 +15602,7 @@ msgid ""
 "commit %s."
 msgstr ""
 
-#: builtin/pull.c:936
+#: builtin/pull.c:960
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -14455,15 +15613,15 @@ msgid ""
 "to recover."
 msgstr ""
 
-#: builtin/pull.c:951
+#: builtin/pull.c:975
 msgid "Cannot merge multiple branches into empty head."
 msgstr ""
 
-#: builtin/pull.c:955
+#: builtin/pull.c:979
 msgid "Cannot rebase onto multiple branches."
 msgstr ""
 
-#: builtin/pull.c:962
+#: builtin/pull.c:986
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 
@@ -14694,168 +15852,347 @@ msgstr ""
 msgid "--mirror can't be combined with refspecs"
 msgstr ""
 
-#: builtin/push.c:618
-msgid "--all and --mirror are incompatible"
+#: builtin/push.c:618
+msgid "--all and --mirror are incompatible"
+msgstr ""
+
+#: builtin/push.c:637
+msgid "push options must not have new line characters"
+msgstr ""
+
+#: builtin/range-diff.c:8
+msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
+msgstr ""
+
+#: builtin/range-diff.c:9
+msgid "git range-diff [<options>] <old-tip>...<new-tip>"
+msgstr ""
+
+#: builtin/range-diff.c:10
+msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
+msgstr ""
+
+#: builtin/range-diff.c:21
+msgid "Percentage by which creation is weighted"
+msgstr ""
+
+#: builtin/range-diff.c:23
+msgid "use simple diff colors"
+msgstr ""
+
+#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#, c-format
+msgid "no .. in range: '%s'"
+msgstr ""
+
+#: builtin/range-diff.c:60
+msgid "single arg format must be symmetric range"
+msgstr ""
+
+#: builtin/range-diff.c:75
+msgid "need two commit ranges"
+msgstr ""
+
+#: builtin/read-tree.c:41
+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:124
+msgid "write resulting index to <file>"
+msgstr ""
+
+#: builtin/read-tree.c:127
+msgid "only empty the index"
+msgstr ""
+
+#: builtin/read-tree.c:129
+msgid "Merging"
+msgstr ""
+
+#: builtin/read-tree.c:131
+msgid "perform a merge in addition to a read"
+msgstr ""
+
+#: builtin/read-tree.c:133
+msgid "3-way merge if no file level merging required"
+msgstr ""
+
+#: builtin/read-tree.c:135
+msgid "3-way merge in presence of adds and removes"
+msgstr ""
+
+#: builtin/read-tree.c:137
+msgid "same as -m, but discard unmerged entries"
+msgstr ""
+
+#: builtin/read-tree.c:138
+msgid "<subdirectory>/"
+msgstr ""
+
+#: builtin/read-tree.c:139
+msgid "read the tree into the index under <subdirectory>/"
+msgstr ""
+
+#: builtin/read-tree.c:142
+msgid "update working tree with merge result"
+msgstr ""
+
+#: builtin/read-tree.c:144
+msgid "gitignore"
+msgstr ""
+
+#: builtin/read-tree.c:145
+msgid "allow explicitly ignored files to be overwritten"
+msgstr ""
+
+#: builtin/read-tree.c:148
+msgid "don't check the working tree after merging"
+msgstr ""
+
+#: builtin/read-tree.c:149
+msgid "don't update the index or the work tree"
+msgstr ""
+
+#: builtin/read-tree.c:151
+msgid "skip applying sparse checkout filter"
+msgstr ""
+
+#: builtin/read-tree.c:153
+msgid "debug unpack-trees"
+msgstr ""
+
+#: builtin/read-tree.c:157
+msgid "suppress feedback messages"
+msgstr ""
+
+#: builtin/rebase.c:32
+msgid ""
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
+"[<branch>]"
+msgstr ""
+
+#: builtin/rebase.c:34
+msgid ""
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
+msgstr ""
+
+#: builtin/rebase.c:36
+msgid "git rebase --continue | --abort | --skip | --edit-todo"
+msgstr ""
+
+#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#, c-format
+msgid "unusable todo list: '%s'"
+msgstr ""
+
+#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
+#, c-format
+msgid "could not write '%s'."
+msgstr ""
+
+#: builtin/rebase.c:252
+msgid "no HEAD?"
+msgstr ""
+
+#: builtin/rebase.c:279
+#, c-format
+msgid "could not create temporary %s"
+msgstr ""
+
+#: builtin/rebase.c:285
+msgid "could not mark as interactive"
+msgstr ""
+
+#: builtin/rebase.c:343
+msgid "could not generate todo list"
+msgstr ""
+
+#: builtin/rebase.c:382
+msgid "a base commit must be provided with --upstream or --onto"
+msgstr ""
+
+#: builtin/rebase.c:437
+msgid "git rebase--interactive [<options>]"
+msgstr ""
+
+#: builtin/rebase.c:449
+msgid "keep empty commits"
+msgstr ""
+
+#: builtin/rebase.c:451 builtin/revert.c:128
+msgid "allow commits with empty messages"
+msgstr ""
+
+#: builtin/rebase.c:452
+msgid "rebase merge commits"
+msgstr ""
+
+#: builtin/rebase.c:454
+msgid "keep original branch points of cousins"
+msgstr ""
+
+#: builtin/rebase.c:456
+msgid "move commits that begin with squash!/fixup!"
+msgstr ""
+
+#: builtin/rebase.c:457
+msgid "sign commits"
 msgstr ""
 
-#: builtin/push.c:637
-msgid "push options must not have new line characters"
+#: builtin/rebase.c:459 builtin/rebase.c:1403
+msgid "display a diffstat of what changed upstream"
 msgstr ""
 
-#: builtin/range-diff.c:8
-msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
+#: builtin/rebase.c:461
+msgid "continue rebase"
 msgstr ""
 
-#: builtin/range-diff.c:9
-msgid "git range-diff [<options>] <old-tip>...<new-tip>"
+#: builtin/rebase.c:463
+msgid "skip commit"
 msgstr ""
 
-#: builtin/range-diff.c:10
-msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
+#: builtin/rebase.c:464
+msgid "edit the todo list"
 msgstr ""
 
-#: builtin/range-diff.c:21
-msgid "Percentage by which creation is weighted"
+#: builtin/rebase.c:466
+msgid "show the current patch"
 msgstr ""
 
-#: builtin/range-diff.c:23
-msgid "use simple diff colors"
+#: builtin/rebase.c:469
+msgid "shorten commit ids in the todo list"
 msgstr ""
 
-#: builtin/range-diff.c:61 builtin/range-diff.c:65
-#, c-format
-msgid "no .. in range: '%s'"
+#: builtin/rebase.c:471
+msgid "expand commit ids in the todo list"
 msgstr ""
 
-#: builtin/range-diff.c:75
-msgid "single arg format must be symmetric range"
+#: builtin/rebase.c:473
+msgid "check the todo list"
 msgstr ""
 
-#: builtin/range-diff.c:90
-msgid "need two commit ranges"
+#: builtin/rebase.c:475
+msgid "rearrange fixup/squash lines"
 msgstr ""
 
-#: builtin/read-tree.c:41
-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>]])"
+#: builtin/rebase.c:477
+msgid "insert exec commands in todo list"
 msgstr ""
 
-#: builtin/read-tree.c:124
-msgid "write resulting index to <file>"
+#: builtin/rebase.c:478
+msgid "onto"
 msgstr ""
 
-#: builtin/read-tree.c:127
-msgid "only empty the index"
+#: builtin/rebase.c:481
+msgid "restrict-revision"
 msgstr ""
 
-#: builtin/read-tree.c:129
-msgid "Merging"
+#: builtin/rebase.c:481
+msgid "restrict revision"
 msgstr ""
 
-#: builtin/read-tree.c:131
-msgid "perform a merge in addition to a read"
+#: builtin/rebase.c:483
+msgid "squash-onto"
 msgstr ""
 
-#: builtin/read-tree.c:133
-msgid "3-way merge if no file level merging required"
+#: builtin/rebase.c:484
+msgid "squash onto"
 msgstr ""
 
-#: builtin/read-tree.c:135
-msgid "3-way merge in presence of adds and removes"
+#: builtin/rebase.c:486
+msgid "the upstream commit"
 msgstr ""
 
-#: builtin/read-tree.c:137
-msgid "same as -m, but discard unmerged entries"
+#: builtin/rebase.c:488
+msgid "head-name"
 msgstr ""
 
-#: builtin/read-tree.c:138
-msgid "<subdirectory>/"
+#: builtin/rebase.c:488
+msgid "head name"
 msgstr ""
 
-#: builtin/read-tree.c:139
-msgid "read the tree into the index under <subdirectory>/"
+#: builtin/rebase.c:493
+msgid "rebase strategy"
 msgstr ""
 
-#: builtin/read-tree.c:142
-msgid "update working tree with merge result"
+#: builtin/rebase.c:494
+msgid "strategy-opts"
 msgstr ""
 
-#: builtin/read-tree.c:144
-msgid "gitignore"
+#: builtin/rebase.c:495
+msgid "strategy options"
 msgstr ""
 
-#: builtin/read-tree.c:145
-msgid "allow explicitly ignored files to be overwritten"
+#: builtin/rebase.c:496
+msgid "switch-to"
 msgstr ""
 
-#: builtin/read-tree.c:148
-msgid "don't check the working tree after merging"
+#: builtin/rebase.c:497
+msgid "the branch or commit to checkout"
 msgstr ""
 
-#: builtin/read-tree.c:149
-msgid "don't update the index or the work tree"
+#: builtin/rebase.c:498
+msgid "onto-name"
 msgstr ""
 
-#: builtin/read-tree.c:151
-msgid "skip applying sparse checkout filter"
+#: builtin/rebase.c:498
+msgid "onto name"
 msgstr ""
 
-#: builtin/read-tree.c:153
-msgid "debug unpack-trees"
+#: builtin/rebase.c:499
+msgid "cmd"
 msgstr ""
 
-#: builtin/rebase.c:30
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
-"[<branch>]"
+#: builtin/rebase.c:499
+msgid "the command to run"
 msgstr ""
 
-#: builtin/rebase.c:32
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
+#: builtin/rebase.c:502 builtin/rebase.c:1486
+msgid "automatically re-schedule any `exec` that fails"
 msgstr ""
 
-#: builtin/rebase.c:34
-msgid "git rebase --continue | --abort | --skip | --edit-todo"
+#: builtin/rebase.c:518
+msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr ""
 
-#: builtin/rebase.c:121 builtin/rebase.c:1437
+#: builtin/rebase.c:534
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr ""
 
-#: builtin/rebase.c:173
+#: builtin/rebase.c:586
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr ""
 
-#: builtin/rebase.c:188
+#: builtin/rebase.c:601
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:213
+#: builtin/rebase.c:626
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:289
+#: builtin/rebase.c:702
 #, c-format
 msgid "Could not read '%s'"
 msgstr ""
 
-#: builtin/rebase.c:307
+#: builtin/rebase.c:720
 #, c-format
 msgid "Cannot store %s"
 msgstr ""
 
-#: builtin/rebase.c:402
+#: builtin/rebase.c:827
 msgid "could not determine HEAD revision"
 msgstr ""
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -14864,7 +16201,7 @@ msgid ""
 "abort\"."
 msgstr ""
 
-#: builtin/rebase.c:603
+#: builtin/rebase.c:1031
 #, c-format
 msgid ""
 "\n"
@@ -14876,7 +16213,7 @@ msgid ""
 "As a result, git cannot rebase them."
 msgstr ""
 
-#: builtin/rebase.c:948
+#: builtin/rebase.c:1318
 #, c-format
 msgid ""
 "%s\n"
@@ -14887,7 +16224,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/rebase.c:964
+#: builtin/rebase.c:1334
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -14896,180 +16233,169 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/rebase.c:994
+#: builtin/rebase.c:1364
 msgid "exec commands cannot contain newlines"
 msgstr ""
 
-#: builtin/rebase.c:998
+#: builtin/rebase.c:1368
 msgid "empty exec command"
 msgstr ""
 
-#: builtin/rebase.c:1040
+#: builtin/rebase.c:1396
 msgid "rebase onto given branch instead of upstream"
 msgstr ""
 
-#: builtin/rebase.c:1042
+#: builtin/rebase.c:1398
 msgid "allow pre-rebase hook to run"
 msgstr ""
 
-#: builtin/rebase.c:1044
+#: builtin/rebase.c:1400
 msgid "be quiet. implies --no-stat"
 msgstr ""
 
-#: builtin/rebase.c:1047
-msgid "display a diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1050
+#: builtin/rebase.c:1406
 msgid "do not show diffstat of what changed upstream"
 msgstr ""
 
-#: builtin/rebase.c:1053
+#: builtin/rebase.c:1409
 msgid "add a Signed-off-by: line to each commit"
 msgstr ""
 
-#: builtin/rebase.c:1055 builtin/rebase.c:1059 builtin/rebase.c:1061
+#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417
 msgid "passed to 'git am'"
 msgstr ""
 
-#: builtin/rebase.c:1063 builtin/rebase.c:1065
+#: builtin/rebase.c:1419 builtin/rebase.c:1421
 msgid "passed to 'git apply'"
 msgstr ""
 
-#: builtin/rebase.c:1067 builtin/rebase.c:1070
+#: builtin/rebase.c:1423 builtin/rebase.c:1426
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 
-#: builtin/rebase.c:1072
+#: builtin/rebase.c:1428
 msgid "continue"
 msgstr ""
 
-#: builtin/rebase.c:1075
+#: builtin/rebase.c:1431
 msgid "skip current patch and continue"
 msgstr ""
 
-#: builtin/rebase.c:1077
+#: builtin/rebase.c:1433
 msgid "abort and check out the original branch"
 msgstr ""
 
-#: builtin/rebase.c:1080
+#: builtin/rebase.c:1436
 msgid "abort but keep HEAD where it is"
 msgstr ""
 
-#: builtin/rebase.c:1081
+#: builtin/rebase.c:1437
 msgid "edit the todo list during an interactive rebase"
 msgstr ""
 
-#: builtin/rebase.c:1084
+#: builtin/rebase.c:1440
 msgid "show the patch file being applied or merged"
 msgstr ""
 
-#: builtin/rebase.c:1087
+#: builtin/rebase.c:1443
 msgid "use merging strategies to rebase"
 msgstr ""
 
-#: builtin/rebase.c:1091
+#: builtin/rebase.c:1447
 msgid "let the user edit the list of commits to rebase"
 msgstr ""
 
-#: builtin/rebase.c:1095
-msgid "try to recreate merges instead of ignoring them"
-msgstr ""
-
-#: builtin/rebase.c:1099
-msgid "allow rerere to update index with resolved conflict"
+#: builtin/rebase.c:1451
+msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr ""
 
-#: builtin/rebase.c:1102
+#: builtin/rebase.c:1455
 msgid "preserve empty commits during rebase"
 msgstr ""
 
-#: builtin/rebase.c:1104
+#: builtin/rebase.c:1457
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr ""
 
-#: builtin/rebase.c:1110
+#: builtin/rebase.c:1463
 msgid "automatically stash/stash pop before and after"
 msgstr ""
 
-#: builtin/rebase.c:1112
+#: builtin/rebase.c:1465
 msgid "add exec lines after each commit of the editable list"
 msgstr ""
 
-#: builtin/rebase.c:1116
+#: builtin/rebase.c:1469
 msgid "allow rebasing commits with empty messages"
 msgstr ""
 
-#: builtin/rebase.c:1119
+#: builtin/rebase.c:1472
 msgid "try to rebase merges instead of skipping them"
 msgstr ""
 
-#: builtin/rebase.c:1122
+#: builtin/rebase.c:1475
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr ""
 
-#: builtin/rebase.c:1124
+#: builtin/rebase.c:1477
 msgid "use the given merge strategy"
 msgstr ""
 
-#: builtin/rebase.c:1126 builtin/revert.c:112
+#: builtin/rebase.c:1479 builtin/revert.c:115
 msgid "option"
 msgstr ""
 
-#: builtin/rebase.c:1127
+#: builtin/rebase.c:1480
 msgid "pass the argument through to the merge strategy"
 msgstr ""
 
-#: builtin/rebase.c:1130
+#: builtin/rebase.c:1483
 msgid "rebase all reachable commits up to the root(s)"
 msgstr ""
 
-#: builtin/rebase.c:1133 builtin/rebase--interactive.c:198
-msgid "automatically re-schedule any `exec` that fails"
+#: builtin/rebase.c:1500
+msgid ""
+"the rebase.useBuiltin support has been removed!\n"
+"See its entry in 'git help config' for details."
 msgstr ""
 
-#: builtin/rebase.c:1149
-#, c-format
-msgid "could not exec %s"
+#: builtin/rebase.c:1506
+msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 
-#: builtin/rebase.c:1167 git-legacy-rebase.sh:220
-msgid "It looks like 'git am' is in progress. Cannot rebase."
+#: builtin/rebase.c:1547
+msgid ""
+"git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 
-#: builtin/rebase.c:1208 git-legacy-rebase.sh:406
+#: builtin/rebase.c:1551
 msgid "No rebase in progress?"
 msgstr ""
 
-#: builtin/rebase.c:1212 git-legacy-rebase.sh:417
+#: builtin/rebase.c:1555
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 
-#: builtin/rebase.c:1226 git-legacy-rebase.sh:424
+#: builtin/rebase.c:1578
 msgid "Cannot read HEAD"
 msgstr ""
 
-#: builtin/rebase.c:1238 git-legacy-rebase.sh:427
+#: builtin/rebase.c:1590
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgstr ""
 
-#: builtin/rebase.c:1257
+#: builtin/rebase.c:1609
 msgid "could not discard worktree changes"
 msgstr ""
 
-#: builtin/rebase.c:1276
+#: builtin/rebase.c:1628
 #, c-format
 msgid "could not move back to %s"
 msgstr ""
 
-#: builtin/rebase.c:1287 builtin/rm.c:369
-#, c-format
-msgid "could not remove '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1313
+#: builtin/rebase.c:1673
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -15082,331 +16408,171 @@ msgid ""
 "valuable there.\n"
 msgstr ""
 
-#: builtin/rebase.c:1334
+#: builtin/rebase.c:1694
 msgid "switch `C' expects a numerical value"
 msgstr ""
 
-#: builtin/rebase.c:1375
+#: builtin/rebase.c:1735
 #, c-format
 msgid "Unknown mode: %s"
 msgstr ""
 
-#: builtin/rebase.c:1397
+#: builtin/rebase.c:1757
 msgid "--strategy requires --merge or --interactive"
 msgstr ""
 
-#: builtin/rebase.c:1446
+#: builtin/rebase.c:1797
+msgid "--reschedule-failed-exec requires --exec or --interactive"
+msgstr ""
+
+#: builtin/rebase.c:1809
 msgid "cannot combine am options with either interactive or merge options"
 msgstr ""
 
-#: builtin/rebase.c:1465
+#: builtin/rebase.c:1828
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr ""
 
-#: builtin/rebase.c:1469 git-legacy-rebase.sh:544
+#: builtin/rebase.c:1832
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1838
 msgid "cannot combine '--rebase-merges' with '--strategy-option'"
 msgstr ""
 
-#: builtin/rebase.c:1478
+#: builtin/rebase.c:1841
 msgid "cannot combine '--rebase-merges' with '--strategy'"
 msgstr ""
 
-#: builtin/rebase.c:1502
+#: builtin/rebase.c:1865
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1508
+#: builtin/rebase.c:1871
 msgid "Could not create new root commit"
 msgstr ""
 
-#: builtin/rebase.c:1526
+#: builtin/rebase.c:1889
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr ""
 
-#: builtin/rebase.c:1533
+#: builtin/rebase.c:1896
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1558
+#: builtin/rebase.c:1921
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1566 builtin/submodule--helper.c:38
+#: builtin/rebase.c:1929 builtin/submodule--helper.c:38
 #: builtin/submodule--helper.c:1934
 #, c-format
 msgid "No such ref: %s"
 msgstr ""
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1940
 msgid "Could not resolve HEAD to a revision"
 msgstr ""
 
-#: builtin/rebase.c:1619 git-legacy-rebase.sh:673
+#: builtin/rebase.c:1981
 msgid "Cannot autostash"
 msgstr ""
 
-#: builtin/rebase.c:1622
+#: builtin/rebase.c:1984
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1628
+#: builtin/rebase.c:1990
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1631
+#: builtin/rebase.c:1993
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr ""
 
-#: builtin/rebase.c:1634
+#: builtin/rebase.c:1996
 msgid "could not reset --hard"
 msgstr ""
 
-#: builtin/rebase.c:1635 builtin/reset.c:114
+#: builtin/rebase.c:1997 builtin/reset.c:114
 #, c-format
 msgid "HEAD is now at %s"
 msgstr ""
 
-#: builtin/rebase.c:1651 git-legacy-rebase.sh:682
-msgid "Please commit or stash them."
-msgstr ""
-
-#: builtin/rebase.c:1678
-#, c-format
-msgid "could not parse '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1691
-#, c-format
-msgid "could not switch to %s"
-msgstr ""
-
-#: builtin/rebase.c:1702 git-legacy-rebase.sh:705
-#, sh-format
-msgid "HEAD is up to date."
-msgstr ""
-
-#: builtin/rebase.c:1704
-#, c-format
-msgid "Current branch %s is up to date.\n"
-msgstr ""
-
-#: builtin/rebase.c:1712 git-legacy-rebase.sh:715
-#, sh-format
-msgid "HEAD is up to date, rebase forced."
-msgstr ""
-
-#: builtin/rebase.c:1714
-#, c-format
-msgid "Current branch %s is up to date, rebase forced.\n"
-msgstr ""
-
-#: builtin/rebase.c:1722 git-legacy-rebase.sh:215
-msgid "The pre-rebase hook refused to rebase."
-msgstr ""
-
-#: builtin/rebase.c:1729
-#, c-format
-msgid "Changes to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1732
-#, c-format
-msgid "Changes from %s to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1757
-#, c-format
-msgid "First, rewinding head to replay your work on top of it...\n"
-msgstr ""
-
-#: builtin/rebase.c:1765
-msgid "Could not detach HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1774
-#, c-format
-msgid "Fast-forwarded %s to %s.\n"
-msgstr ""
-
-#: builtin/rebase--interactive.c:25
-msgid "no HEAD?"
-msgstr ""
-
-#: builtin/rebase--interactive.c:52
-#, c-format
-msgid "could not create temporary %s"
-msgstr ""
-
-#: builtin/rebase--interactive.c:58
-msgid "could not mark as interactive"
-msgstr ""
-
-#: builtin/rebase--interactive.c:102
-#, c-format
-msgid "could not open %s"
-msgstr ""
-
-#: builtin/rebase--interactive.c:115
-msgid "could not generate todo list"
-msgstr ""
-
-#: builtin/rebase--interactive.c:131
-msgid "git rebase--interactive [<options>]"
-msgstr ""
-
-#: builtin/rebase--interactive.c:150
-msgid "keep empty commits"
-msgstr ""
-
-#: builtin/rebase--interactive.c:152 builtin/revert.c:125
-msgid "allow commits with empty messages"
-msgstr ""
-
-#: builtin/rebase--interactive.c:153
-msgid "rebase merge commits"
-msgstr ""
-
-#: builtin/rebase--interactive.c:155
-msgid "keep original branch points of cousins"
-msgstr ""
-
-#: builtin/rebase--interactive.c:157
-msgid "move commits that begin with squash!/fixup!"
-msgstr ""
-
-#: builtin/rebase--interactive.c:158
-msgid "sign commits"
-msgstr ""
-
-#: builtin/rebase--interactive.c:160
-msgid "continue rebase"
-msgstr ""
-
-#: builtin/rebase--interactive.c:162
-msgid "skip commit"
-msgstr ""
-
-#: builtin/rebase--interactive.c:163
-msgid "edit the todo list"
-msgstr ""
-
-#: builtin/rebase--interactive.c:165
-msgid "show the current patch"
-msgstr ""
-
-#: builtin/rebase--interactive.c:168
-msgid "shorten commit ids in the todo list"
-msgstr ""
-
-#: builtin/rebase--interactive.c:170
-msgid "expand commit ids in the todo list"
-msgstr ""
-
-#: builtin/rebase--interactive.c:172
-msgid "check the todo list"
-msgstr ""
-
-#: builtin/rebase--interactive.c:174
-msgid "rearrange fixup/squash lines"
-msgstr ""
-
-#: builtin/rebase--interactive.c:176
-msgid "insert exec commands in todo list"
-msgstr ""
-
-#: builtin/rebase--interactive.c:177
-msgid "onto"
-msgstr ""
-
-#: builtin/rebase--interactive.c:179
-msgid "restrict-revision"
-msgstr ""
-
-#: builtin/rebase--interactive.c:179
-msgid "restrict revision"
-msgstr ""
-
-#: builtin/rebase--interactive.c:180
-msgid "squash-onto"
-msgstr ""
-
-#: builtin/rebase--interactive.c:181
-msgid "squash onto"
-msgstr ""
-
-#: builtin/rebase--interactive.c:183
-msgid "the upstream commit"
-msgstr ""
-
-#: builtin/rebase--interactive.c:184
-msgid "head-name"
+#: builtin/rebase.c:2013
+msgid "Please commit or stash them."
 msgstr ""
 
-#: builtin/rebase--interactive.c:184
-msgid "head name"
+#: builtin/rebase.c:2040
+#, c-format
+msgid "could not parse '%s'"
 msgstr ""
 
-#: builtin/rebase--interactive.c:189
-msgid "rebase strategy"
+#: builtin/rebase.c:2053
+#, c-format
+msgid "could not switch to %s"
 msgstr ""
 
-#: builtin/rebase--interactive.c:190
-msgid "strategy-opts"
+#: builtin/rebase.c:2064
+msgid "HEAD is up to date."
 msgstr ""
 
-#: builtin/rebase--interactive.c:191
-msgid "strategy options"
+#: builtin/rebase.c:2066
+#, c-format
+msgid "Current branch %s is up to date.\n"
 msgstr ""
 
-#: builtin/rebase--interactive.c:192
-msgid "switch-to"
+#: builtin/rebase.c:2074
+msgid "HEAD is up to date, rebase forced."
 msgstr ""
 
-#: builtin/rebase--interactive.c:193
-msgid "the branch or commit to checkout"
+#: builtin/rebase.c:2076
+#, c-format
+msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr ""
 
-#: builtin/rebase--interactive.c:194
-msgid "onto-name"
+#: builtin/rebase.c:2084
+msgid "The pre-rebase hook refused to rebase."
 msgstr ""
 
-#: builtin/rebase--interactive.c:194
-msgid "onto name"
+#: builtin/rebase.c:2091
+#, c-format
+msgid "Changes to %s:\n"
 msgstr ""
 
-#: builtin/rebase--interactive.c:195
-msgid "cmd"
+#: builtin/rebase.c:2094
+#, c-format
+msgid "Changes from %s to %s:\n"
 msgstr ""
 
-#: builtin/rebase--interactive.c:195
-msgid "the command to run"
+#: builtin/rebase.c:2119
+#, c-format
+msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 
-#: builtin/rebase--interactive.c:224
-msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
+#: builtin/rebase.c:2128
+msgid "Could not detach HEAD"
 msgstr ""
 
-#: builtin/rebase--interactive.c:230
-msgid "a base commit must be provided with --upstream or --onto"
+#: builtin/rebase.c:2137
+#, c-format
+msgid "Fast-forwarded %s to %s.\n"
 msgstr ""
 
-#: builtin/receive-pack.c:33
+#: builtin/receive-pack.c:32
 msgid "git receive-pack <git-dir>"
 msgstr ""
 
-#: builtin/receive-pack.c:830
+#: builtin/receive-pack.c:832
 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"
@@ -15423,7 +16589,7 @@ msgid ""
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:850
+#: builtin/receive-pack.c:852
 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"
@@ -15435,11 +16601,11 @@ msgid ""
 "To squelch this message, you can set it to 'refuse'."
 msgstr ""
 
-#: builtin/receive-pack.c:1929
+#: builtin/receive-pack.c:1938
 msgid "quiet"
 msgstr ""
 
-#: builtin/receive-pack.c:1943
+#: builtin/receive-pack.c:1952
 msgid "You must specify a directory."
 msgstr ""
 
@@ -16002,111 +17168,111 @@ msgid ""
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
 msgstr ""
 
-#: builtin/repack.c:200
+#: builtin/repack.c:190
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 
-#: builtin/repack.c:239 builtin/repack.c:411
+#: builtin/repack.c:229 builtin/repack.c:408
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 
-#: builtin/repack.c:256
+#: builtin/repack.c:246
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 
-#: builtin/repack.c:294
+#: builtin/repack.c:284
 msgid "pack everything in a single pack"
 msgstr ""
 
-#: builtin/repack.c:296
+#: builtin/repack.c:286
 msgid "same as -a, and turn unreachable objects loose"
 msgstr ""
 
-#: builtin/repack.c:299
+#: builtin/repack.c:289
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr ""
 
-#: builtin/repack.c:301
+#: builtin/repack.c:291
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:303
+#: builtin/repack.c:293
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:305
+#: builtin/repack.c:295
 msgid "do not run git-update-server-info"
 msgstr ""
 
-#: builtin/repack.c:308
+#: builtin/repack.c:298
 msgid "pass --local to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:310
+#: builtin/repack.c:300
 msgid "write bitmap index"
 msgstr ""
 
-#: builtin/repack.c:312
+#: builtin/repack.c:302
 msgid "pass --delta-islands to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:313
+#: builtin/repack.c:303
 msgid "approxidate"
 msgstr ""
 
-#: builtin/repack.c:314
+#: builtin/repack.c:304
 msgid "with -A, do not loosen objects older than this"
 msgstr ""
 
-#: builtin/repack.c:316
+#: builtin/repack.c:306
 msgid "with -a, repack unreachable objects"
 msgstr ""
 
-#: builtin/repack.c:318
+#: builtin/repack.c:308
 msgid "size of the window used for delta compression"
 msgstr ""
 
-#: builtin/repack.c:319 builtin/repack.c:325
+#: builtin/repack.c:309 builtin/repack.c:315
 msgid "bytes"
 msgstr ""
 
-#: builtin/repack.c:320
+#: builtin/repack.c:310
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 
-#: builtin/repack.c:322
+#: builtin/repack.c:312
 msgid "limits the maximum delta depth"
 msgstr ""
 
-#: builtin/repack.c:324
+#: builtin/repack.c:314
 msgid "limits the maximum number of threads"
 msgstr ""
 
-#: builtin/repack.c:326
+#: builtin/repack.c:316
 msgid "maximum size of each packfile"
 msgstr ""
 
-#: builtin/repack.c:328
+#: builtin/repack.c:318
 msgid "repack objects in packs marked with .keep"
 msgstr ""
 
-#: builtin/repack.c:330
+#: builtin/repack.c:320
 msgid "do not repack this pack"
 msgstr ""
 
-#: builtin/repack.c:340
+#: builtin/repack.c:330
 msgid "cannot delete packs in a precious-objects repo"
 msgstr ""
 
-#: builtin/repack.c:344
+#: builtin/repack.c:334
 msgid "--keep-unreachable and -A are incompatible"
 msgstr ""
 
-#: builtin/repack.c:420
+#: builtin/repack.c:417
 msgid "Nothing new to pack."
 msgstr ""
 
-#: builtin/repack.c:481
+#: builtin/repack.c:478
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -16118,7 +17284,7 @@ msgid ""
 "WARNING: Please rename them in %s manually:\n"
 msgstr ""
 
-#: builtin/repack.c:529
+#: builtin/repack.c:526
 #, c-format
 msgid "failed to remove '%s'"
 msgstr ""
@@ -16147,39 +17313,34 @@ msgstr ""
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr ""
 
-#: builtin/replace.c:58 builtin/replace.c:203 builtin/replace.c:206
-#, c-format
-msgid "failed to resolve '%s' as a valid ref"
-msgstr ""
-
-#: builtin/replace.c:86
+#: builtin/replace.c:90
 #, c-format
 msgid ""
 "invalid replace format '%s'\n"
 "valid formats are 'short', 'medium' and 'long'"
 msgstr ""
 
-#: builtin/replace.c:121
+#: builtin/replace.c:125
 #, c-format
 msgid "replace ref '%s' not found"
 msgstr ""
 
-#: builtin/replace.c:137
+#: builtin/replace.c:141
 #, c-format
 msgid "Deleted replace ref '%s'"
 msgstr ""
 
-#: builtin/replace.c:149
+#: builtin/replace.c:153
 #, c-format
 msgid "'%s' is not a valid ref name"
 msgstr ""
 
-#: builtin/replace.c:154
+#: builtin/replace.c:158
 #, c-format
 msgid "replace ref '%s' already exists"
 msgstr ""
 
-#: builtin/replace.c:174
+#: builtin/replace.c:178
 #, c-format
 msgid ""
 "Objects must be of the same type.\n"
@@ -16187,178 +17348,183 @@ msgid ""
 "while '%s' points to a replacement object of type '%s'."
 msgstr ""
 
-#: builtin/replace.c:225
+#: builtin/replace.c:229
 #, c-format
 msgid "unable to open %s for writing"
 msgstr ""
 
-#: builtin/replace.c:238
+#: builtin/replace.c:242
 msgid "cat-file reported failure"
 msgstr ""
 
-#: builtin/replace.c:254
+#: builtin/replace.c:258
 #, c-format
 msgid "unable to open %s for reading"
 msgstr ""
 
-#: builtin/replace.c:268
+#: builtin/replace.c:272
 msgid "unable to spawn mktree"
 msgstr ""
 
-#: builtin/replace.c:272
+#: builtin/replace.c:276
 msgid "unable to read from mktree"
 msgstr ""
 
-#: builtin/replace.c:281
+#: builtin/replace.c:285
 msgid "mktree reported failure"
 msgstr ""
 
-#: builtin/replace.c:285
+#: builtin/replace.c:289
 msgid "mktree did not return an object name"
 msgstr ""
 
-#: builtin/replace.c:294
+#: builtin/replace.c:298
 #, c-format
 msgid "unable to fstat %s"
 msgstr ""
 
-#: builtin/replace.c:299
+#: builtin/replace.c:303
 msgid "unable to write object to database"
 msgstr ""
 
-#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415
-#: builtin/replace.c:445
+#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
+#: builtin/replace.c:452
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr ""
 
-#: builtin/replace.c:322
+#: builtin/replace.c:326
 #, c-format
 msgid "unable to get object type for %s"
 msgstr ""
 
-#: builtin/replace.c:338
+#: builtin/replace.c:342
 msgid "editing object file failed"
 msgstr ""
 
-#: builtin/replace.c:347
+#: builtin/replace.c:351
 #, c-format
 msgid "new object is the same as the old one: '%s'"
 msgstr ""
 
-#: builtin/replace.c:407
+#: builtin/replace.c:383
+#, c-format
+msgid "could not parse %s as a commit"
+msgstr ""
+
+#: builtin/replace.c:414
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:409
+#: builtin/replace.c:416
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr ""
 
-#: builtin/replace.c:421
+#: builtin/replace.c:428
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr ""
 
-#: builtin/replace.c:460
+#: builtin/replace.c:467
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr ""
 
-#: builtin/replace.c:461
+#: builtin/replace.c:468
 msgid "the signature will be removed in the replacement commit!"
 msgstr ""
 
-#: builtin/replace.c:471
+#: builtin/replace.c:478
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr ""
 
-#: builtin/replace.c:479
+#: builtin/replace.c:486
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr ""
 
-#: builtin/replace.c:482
+#: builtin/replace.c:490
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr ""
 
-#: builtin/replace.c:515
+#: builtin/replace.c:525
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
 "%s"
 msgstr ""
 
-#: builtin/replace.c:536
+#: builtin/replace.c:546
 msgid "list replace refs"
 msgstr ""
 
-#: builtin/replace.c:537
+#: builtin/replace.c:547
 msgid "delete replace refs"
 msgstr ""
 
-#: builtin/replace.c:538
+#: builtin/replace.c:548
 msgid "edit existing object"
 msgstr ""
 
-#: builtin/replace.c:539
+#: builtin/replace.c:549
 msgid "change a commit's parents"
 msgstr ""
 
-#: builtin/replace.c:540
+#: builtin/replace.c:550
 msgid "convert existing graft file"
 msgstr ""
 
-#: builtin/replace.c:541
+#: builtin/replace.c:551
 msgid "replace the ref if it exists"
 msgstr ""
 
-#: builtin/replace.c:543
+#: builtin/replace.c:553
 msgid "do not pretty-print contents for --edit"
 msgstr ""
 
-#: builtin/replace.c:544
+#: builtin/replace.c:554
 msgid "use this format"
 msgstr ""
 
-#: builtin/replace.c:557
+#: builtin/replace.c:567
 msgid "--format cannot be used when not listing"
 msgstr ""
 
-#: builtin/replace.c:565
+#: builtin/replace.c:575
 msgid "-f only makes sense when writing a replacement"
 msgstr ""
 
-#: builtin/replace.c:569
+#: builtin/replace.c:579
 msgid "--raw only makes sense with --edit"
 msgstr ""
 
-#: builtin/replace.c:575
+#: builtin/replace.c:585
 msgid "-d needs at least one argument"
 msgstr ""
 
-#: builtin/replace.c:581
+#: builtin/replace.c:591
 msgid "bad number of arguments"
 msgstr ""
 
-#: builtin/replace.c:587
+#: builtin/replace.c:597
 msgid "-e needs exactly one argument"
 msgstr ""
 
-#: builtin/replace.c:593
+#: builtin/replace.c:603
 msgid "-g needs at least one argument"
 msgstr ""
 
-#: builtin/replace.c:599
+#: builtin/replace.c:609
 msgid "--convert-graft-file takes no argument"
 msgstr ""
 
-#: builtin/replace.c:605
+#: builtin/replace.c:615
 msgid "only one pattern can be given with -l"
 msgstr ""
 
@@ -16430,7 +17596,8 @@ msgstr ""
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr ""
 
-#: builtin/reset.c:293
+#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
+#: builtin/stash.c:613
 msgid "be quiet, only report errors"
 msgstr ""
 
@@ -16468,29 +17635,29 @@ msgstr ""
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr ""
 
-#: builtin/reset.c:352
+#: builtin/reset.c:353
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 
-#: builtin/reset.c:354
+#: builtin/reset.c:355
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr ""
 
-#: builtin/reset.c:364
+#: builtin/reset.c:370
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr ""
 
-#: builtin/reset.c:368
+#: builtin/reset.c:374
 msgid "-N can only be used with --mixed"
 msgstr ""
 
-#: builtin/reset.c:388
+#: builtin/reset.c:395
 msgid "Unstaged changes after reset:"
 msgstr ""
 
-#: builtin/reset.c:391
+#: builtin/reset.c:398
 #, c-format
 msgid ""
 "\n"
@@ -16499,33 +17666,33 @@ msgid ""
 "to make this the default.\n"
 msgstr ""
 
-#: builtin/reset.c:401
+#: builtin/reset.c:408
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr ""
 
-#: builtin/reset.c:405
+#: builtin/reset.c:412
 msgid "Could not write new index file."
 msgstr ""
 
-#: builtin/rev-list.c:406
+#: builtin/rev-list.c:412
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr ""
 
-#: builtin/rev-list.c:464
+#: builtin/rev-list.c:473
 msgid "object filtering requires --objects"
 msgstr ""
 
-#: builtin/rev-list.c:467
+#: builtin/rev-list.c:476
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr ""
 
-#: builtin/rev-list.c:508
+#: builtin/rev-list.c:527
 msgid "rev-list does not support display of notes"
 msgstr ""
 
-#: builtin/rev-list.c:511
+#: builtin/rev-list.c:530
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr ""
 
@@ -16580,59 +17747,63 @@ msgstr ""
 msgid "%s: %s cannot be used with %s"
 msgstr ""
 
-#: builtin/revert.c:101
+#: builtin/revert.c:102
 msgid "end revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:102
+#: builtin/revert.c:103
 msgid "resume revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:103
+#: builtin/revert.c:104
 msgid "cancel revert or cherry-pick sequence"
 msgstr ""
 
-#: builtin/revert.c:104
+#: builtin/revert.c:105
+msgid "skip current commit and continue"
+msgstr ""
+
+#: builtin/revert.c:107
 msgid "don't automatically commit"
 msgstr ""
 
-#: builtin/revert.c:105
+#: builtin/revert.c:108
 msgid "edit the commit message"
 msgstr ""
 
-#: builtin/revert.c:108
+#: builtin/revert.c:111
 msgid "parent-number"
 msgstr ""
 
-#: builtin/revert.c:109
+#: builtin/revert.c:112
 msgid "select mainline parent"
 msgstr ""
 
-#: builtin/revert.c:111
+#: builtin/revert.c:114
 msgid "merge strategy"
 msgstr ""
 
-#: builtin/revert.c:113
+#: builtin/revert.c:116
 msgid "option for merge strategy"
 msgstr ""
 
-#: builtin/revert.c:122
+#: builtin/revert.c:125
 msgid "append commit name"
 msgstr ""
 
-#: builtin/revert.c:124
+#: builtin/revert.c:127
 msgid "preserve initially empty commits"
 msgstr ""
 
-#: builtin/revert.c:126
+#: builtin/revert.c:129
 msgid "keep redundant, empty commits"
 msgstr ""
 
-#: builtin/revert.c:220
+#: builtin/revert.c:232
 msgid "revert failed"
 msgstr ""
 
-#: builtin/revert.c:233
+#: builtin/revert.c:245
 msgid "cherry-pick failed"
 msgstr ""
 
@@ -16732,18 +17903,6 @@ msgstr ""
 msgid "print status from remote helper"
 msgstr ""
 
-#: builtin/serve.c:7
-msgid "git serve [<options>]"
-msgstr ""
-
-#: builtin/serve.c:17 builtin/upload-pack.c:23
-msgid "quit after a single request/response exchange"
-msgstr ""
-
-#: builtin/serve.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr ""
-
 #: builtin/shortlog.c:14
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
 msgstr ""
@@ -16792,164 +17951,385 @@ msgstr ""
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr ""
 
-#: builtin/show-branch.c:395
-#, 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:395
+#, 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:548
+#, c-format
+msgid "no matching refs with %s"
+msgstr ""
+
+#: builtin/show-branch.c:645
+msgid "show remote-tracking and local branches"
+msgstr ""
+
+#: builtin/show-branch.c:647
+msgid "show remote-tracking branches"
+msgstr ""
+
+#: builtin/show-branch.c:649
+msgid "color '*!+-' corresponding to the branch"
+msgstr ""
+
+#: builtin/show-branch.c:651
+msgid "show <n> more commits after the common ancestor"
+msgstr ""
+
+#: builtin/show-branch.c:653
+msgid "synonym to more=-1"
+msgstr ""
+
+#: builtin/show-branch.c:654
+msgid "suppress naming strings"
+msgstr ""
+
+#: builtin/show-branch.c:656
+msgid "include the current branch"
+msgstr ""
+
+#: builtin/show-branch.c:658
+msgid "name commits with their object names"
+msgstr ""
+
+#: builtin/show-branch.c:660
+msgid "show possible merge bases"
+msgstr ""
+
+#: builtin/show-branch.c:662
+msgid "show refs unreachable from any other ref"
+msgstr ""
+
+#: builtin/show-branch.c:664
+msgid "show commits in topological order"
+msgstr ""
+
+#: builtin/show-branch.c:667
+msgid "show only commits not on the first branch"
+msgstr ""
+
+#: builtin/show-branch.c:669
+msgid "show merges reachable from only one tip"
+msgstr ""
+
+#: builtin/show-branch.c:671
+msgid "topologically sort, maintaining date order where possible"
+msgstr ""
+
+#: builtin/show-branch.c:674
+msgid "<n>[,<base>]"
+msgstr ""
+
+#: builtin/show-branch.c:675
+msgid "show <n> most recent ref-log entries starting at base"
+msgstr ""
+
+#: builtin/show-branch.c:711
+msgid ""
+"--reflog is incompatible with --all, --remotes, --independent or --merge-base"
+msgstr ""
+
+#: builtin/show-branch.c:735
+msgid "no branches given, and HEAD is not valid"
+msgstr ""
+
+#: builtin/show-branch.c:738
+msgid "--reflog option needs one branch name"
+msgstr ""
+
+#: builtin/show-branch.c:741
+#, c-format
+msgid "only %d entry can be shown at one time."
+msgid_plural "only %d entries can be shown at one time."
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/show-branch.c:745
+#, c-format
+msgid "no such ref %s"
+msgstr ""
+
+#: builtin/show-branch.c:831
+#, c-format
+msgid "cannot handle more than %d rev."
+msgid_plural "cannot handle more than %d revs."
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtin/show-branch.c:835
+#, c-format
+msgid "'%s' is not a valid ref."
+msgstr ""
+
+#: builtin/show-branch.c:838
+#, c-format
+msgid "cannot find commit %s (%s)"
+msgstr ""
+
+#: builtin/show-ref.c:12
+msgid ""
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+msgstr ""
+
+#: builtin/show-ref.c:13
+msgid "git show-ref --exclude-existing[=<pattern>]"
+msgstr ""
+
+#: builtin/show-ref.c:162
+msgid "only show tags (can be combined with heads)"
+msgstr ""
+
+#: builtin/show-ref.c:163
+msgid "only show heads (can be combined with tags)"
+msgstr ""
+
+#: builtin/show-ref.c:164
+msgid "stricter reference checking, requires exact ref path"
+msgstr ""
+
+#: builtin/show-ref.c:167 builtin/show-ref.c:169
+msgid "show the HEAD reference, even if it would be filtered out"
+msgstr ""
+
+#: builtin/show-ref.c:171
+msgid "dereference tags into object IDs"
+msgstr ""
+
+#: builtin/show-ref.c:173
+msgid "only show SHA1 hash using <n> digits"
+msgstr ""
+
+#: builtin/show-ref.c:177
+msgid "do not print results to stdout (useful with --verify)"
+msgstr ""
+
+#: builtin/show-ref.c:179
+msgid "show refs from stdin that aren't in local repository"
+msgstr ""
+
+#: builtin/stash.c:22 builtin/stash.c:37
+msgid "git stash list [<options>]"
+msgstr ""
+
+#: builtin/stash.c:23 builtin/stash.c:42
+msgid "git stash show [<options>] [<stash>]"
+msgstr ""
+
+#: builtin/stash.c:24 builtin/stash.c:47
+msgid "git stash drop [-q|--quiet] [<stash>]"
+msgstr ""
+
+#: builtin/stash.c:25
+msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgstr ""
+
+#: builtin/stash.c:26 builtin/stash.c:62
+msgid "git stash branch <branchname> [<stash>]"
+msgstr ""
+
+#: builtin/stash.c:27 builtin/stash.c:67
+msgid "git stash clear"
+msgstr ""
+
+#: builtin/stash.c:28 builtin/stash.c:77
+msgid ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<pathspec>...]]"
+msgstr ""
+
+#: builtin/stash.c:31 builtin/stash.c:84
+msgid ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [<message>]"
+msgstr ""
+
+#: builtin/stash.c:52
+msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
+msgstr ""
+
+#: builtin/stash.c:57
+msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
+msgstr ""
+
+#: builtin/stash.c:72
+msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
+msgstr ""
+
+#: builtin/stash.c:127
+#, c-format
+msgid "'%s' is not a stash-like commit"
+msgstr ""
+
+#: builtin/stash.c:147
+#, c-format
+msgid "Too many revisions specified:%s"
+msgstr ""
+
+#: builtin/stash.c:161 git-legacy-stash.sh:548
+msgid "No stash entries found."
+msgstr ""
+
+#: builtin/stash.c:175
+#, c-format
+msgid "%s is not a valid reference"
+msgstr ""
+
+#: builtin/stash.c:224 git-legacy-stash.sh:75
+msgid "git stash clear with parameters is unimplemented"
+msgstr ""
+
+#: builtin/stash.c:403
+msgid "cannot apply a stash in the middle of a merge"
+msgstr ""
 
-#: builtin/show-branch.c:549
+#: builtin/stash.c:414
 #, c-format
-msgid "no matching refs with %s"
+msgid "could not generate diff %s^!."
 msgstr ""
 
-#: builtin/show-branch.c:646
-msgid "show remote-tracking and local branches"
+#: builtin/stash.c:421
+msgid "conflicts in index.Try without --index."
 msgstr ""
 
-#: builtin/show-branch.c:648
-msgid "show remote-tracking branches"
+#: builtin/stash.c:427
+msgid "could not save index tree"
 msgstr ""
 
-#: builtin/show-branch.c:650
-msgid "color '*!+-' corresponding to the branch"
+#: builtin/stash.c:434
+msgid "could not restore untracked files from stash"
 msgstr ""
 
-#: builtin/show-branch.c:652
-msgid "show <n> more commits after the common ancestor"
+#: builtin/stash.c:448
+#, c-format
+msgid "Merging %s with %s"
 msgstr ""
 
-#: builtin/show-branch.c:654
-msgid "synonym to more=-1"
+#: builtin/stash.c:458 git-legacy-stash.sh:680
+msgid "Index was not unstashed."
 msgstr ""
 
-#: builtin/show-branch.c:655
-msgid "suppress naming strings"
+#: builtin/stash.c:516 builtin/stash.c:615
+msgid "attempt to recreate the index"
 msgstr ""
 
-#: builtin/show-branch.c:657
-msgid "include the current branch"
+#: builtin/stash.c:549
+#, c-format
+msgid "Dropped %s (%s)"
 msgstr ""
 
-#: builtin/show-branch.c:659
-msgid "name commits with their object names"
+#: builtin/stash.c:552
+#, c-format
+msgid "%s: Could not drop stash entry"
 msgstr ""
 
-#: builtin/show-branch.c:661
-msgid "show possible merge bases"
+#: builtin/stash.c:577
+#, c-format
+msgid "'%s' is not a stash reference"
 msgstr ""
 
-#: builtin/show-branch.c:663
-msgid "show refs unreachable from any other ref"
+#: builtin/stash.c:627 git-legacy-stash.sh:694
+msgid "The stash entry is kept in case you need it again."
 msgstr ""
 
-#: builtin/show-branch.c:665
-msgid "show commits in topological order"
+#: builtin/stash.c:650 git-legacy-stash.sh:712
+msgid "No branch name specified"
 msgstr ""
 
-#: builtin/show-branch.c:668
-msgid "show only commits not on the first branch"
+#: builtin/stash.c:790 builtin/stash.c:827
+#, c-format
+msgid "Cannot update %s with %s"
 msgstr ""
 
-#: builtin/show-branch.c:670
-msgid "show merges reachable from only one tip"
+#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497
+msgid "stash message"
 msgstr ""
 
-#: builtin/show-branch.c:672
-msgid "topologically sort, maintaining date order where possible"
+#: builtin/stash.c:818
+msgid "\"git stash store\" requires one <commit> argument"
 msgstr ""
 
-#: builtin/show-branch.c:675
-msgid "<n>[,<base>]"
+#: builtin/stash.c:1040 git-legacy-stash.sh:217
+msgid "No changes selected"
 msgstr ""
 
-#: builtin/show-branch.c:676
-msgid "show <n> most recent ref-log entries starting at base"
+#: builtin/stash.c:1136 git-legacy-stash.sh:150
+msgid "You do not have the initial commit yet"
 msgstr ""
 
-#: builtin/show-branch.c:712
-msgid ""
-"--reflog is incompatible with --all, --remotes, --independent or --merge-base"
+#: builtin/stash.c:1163 git-legacy-stash.sh:165
+msgid "Cannot save the current index state"
 msgstr ""
 
-#: builtin/show-branch.c:736
-msgid "no branches given, and HEAD is not valid"
+#: builtin/stash.c:1172 git-legacy-stash.sh:180
+msgid "Cannot save the untracked files"
 msgstr ""
 
-#: builtin/show-branch.c:739
-msgid "--reflog option needs one branch name"
+#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200
+#: git-legacy-stash.sh:213
+msgid "Cannot save the current worktree state"
 msgstr ""
 
-#: builtin/show-branch.c:742
-#, c-format
-msgid "only %d entry can be shown at one time."
-msgid_plural "only %d entries can be shown at one time."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:746
-#, c-format
-msgid "no such ref %s"
+#: builtin/stash.c:1220 git-legacy-stash.sh:233
+msgid "Cannot record working tree state"
 msgstr ""
 
-#: builtin/show-branch.c:830
-#, c-format
-msgid "cannot handle more than %d rev."
-msgid_plural "cannot handle more than %d revs."
-msgstr[0] ""
-msgstr[1] ""
+#: builtin/stash.c:1269 git-legacy-stash.sh:337
+msgid "Can't use --patch and --include-untracked or --all at the same time"
+msgstr ""
 
-#: builtin/show-branch.c:834
-#, c-format
-msgid "'%s' is not a valid ref."
+#: builtin/stash.c:1285
+msgid "Did you forget to 'git add'?"
 msgstr ""
 
-#: builtin/show-branch.c:837
-#, c-format
-msgid "cannot find commit %s (%s)"
+#: builtin/stash.c:1300 git-legacy-stash.sh:345
+msgid "No local changes to save"
 msgstr ""
 
-#: builtin/show-ref.c:11
-msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+#: builtin/stash.c:1307 git-legacy-stash.sh:350
+msgid "Cannot initialize stash"
 msgstr ""
 
-#: builtin/show-ref.c:12
-msgid "git show-ref --exclude-existing[=<pattern>]"
+#: builtin/stash.c:1322 git-legacy-stash.sh:354
+msgid "Cannot save the current status"
 msgstr ""
 
-#: builtin/show-ref.c:161
-msgid "only show tags (can be combined with heads)"
+#: builtin/stash.c:1327
+#, c-format
+msgid "Saved working directory and index state %s"
 msgstr ""
 
-#: builtin/show-ref.c:162
-msgid "only show heads (can be combined with tags)"
+#: builtin/stash.c:1417 git-legacy-stash.sh:384
+msgid "Cannot remove worktree changes"
 msgstr ""
 
-#: builtin/show-ref.c:163
-msgid "stricter reference checking, requires exact ref path"
+#: builtin/stash.c:1452 builtin/stash.c:1488
+msgid "keep index"
 msgstr ""
 
-#: builtin/show-ref.c:166 builtin/show-ref.c:168
-msgid "show the HEAD reference, even if it would be filtered out"
+#: builtin/stash.c:1454 builtin/stash.c:1490
+msgid "stash in patch mode"
 msgstr ""
 
-#: builtin/show-ref.c:170
-msgid "dereference tags into object IDs"
+#: builtin/stash.c:1455 builtin/stash.c:1491
+msgid "quiet mode"
 msgstr ""
 
-#: builtin/show-ref.c:172
-msgid "only show SHA1 hash using <n> digits"
+#: builtin/stash.c:1457 builtin/stash.c:1493
+msgid "include untracked files in stash"
 msgstr ""
 
-#: builtin/show-ref.c:176
-msgid "do not print results to stdout (useful with --verify)"
+#: builtin/stash.c:1459 builtin/stash.c:1495
+msgid "include ignore files"
 msgstr ""
 
-#: builtin/show-ref.c:178
-msgid "show refs from stdin that aren't in local repository"
+#: builtin/stash.c:1555
+#, c-format
+msgid "could not exec %s"
 msgstr ""
 
 #: builtin/stripspace.c:18
@@ -16982,7 +18362,7 @@ msgstr ""
 msgid "cannot strip one component off url '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367
+#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368
 msgid "alternative anchor for relative paths"
 msgstr ""
 
@@ -16990,8 +18370,8 @@ msgstr ""
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627
-#: builtin/submodule--helper.c:650
+#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628
+#: builtin/submodule--helper.c:651
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr ""
@@ -17008,7 +18388,7 @@ msgid ""
 "."
 msgstr ""
 
-#: builtin/submodule--helper.c:546
+#: builtin/submodule--helper.c:547
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -17016,255 +18396,255 @@ msgid ""
 "."
 msgstr ""
 
-#: builtin/submodule--helper.c:562
+#: builtin/submodule--helper.c:563
 msgid "Suppress output of entering each submodule command"
 msgstr ""
 
-#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049
+#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050
 msgid "Recurse into nested submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:569
-msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
+#: builtin/submodule--helper.c:570
+msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr ""
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:597
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr ""
 
-#: builtin/submodule--helper.c:664
+#: builtin/submodule--helper.c:665
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:668
+#: builtin/submodule--helper.c:669
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:678
+#: builtin/submodule--helper.c:679
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:685
+#: builtin/submodule--helper.c:686
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:707
+#: builtin/submodule--helper.c:708
 msgid "Suppress output for initializing a submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:712
-msgid "git submodule--helper init [<path>]"
+#: builtin/submodule--helper.c:713
+msgid "git submodule--helper init [<options>] [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910
+#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:823
+#: builtin/submodule--helper.c:824
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019
+#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185
+#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186
 msgid "Suppress submodule status output"
 msgstr ""
 
-#: builtin/submodule--helper.c:875
+#: builtin/submodule--helper.c:876
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr ""
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:877
 msgid "recurse into nested submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:881
+#: builtin/submodule--helper.c:882
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 
-#: builtin/submodule--helper.c:905
+#: builtin/submodule--helper.c:906
 msgid "git submodule--helper name <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:970
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:975
+#: builtin/submodule--helper.c:976
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:989
+#: builtin/submodule--helper.c:990
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1000
+#: builtin/submodule--helper.c:1001
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1047
+#: builtin/submodule--helper.c:1048
 msgid "Suppress output of synchronizing submodule url"
 msgstr ""
 
-#: builtin/submodule--helper.c:1054
+#: builtin/submodule--helper.c:1055
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1108
+#: builtin/submodule--helper.c:1109
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
 "really want to remove it including all of its history)"
 msgstr ""
 
-#: builtin/submodule--helper.c:1120
+#: builtin/submodule--helper.c:1121
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr ""
 
-#: builtin/submodule--helper.c:1128
+#: builtin/submodule--helper.c:1129
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1130
+#: builtin/submodule--helper.c:1131
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1141
+#: builtin/submodule--helper.c:1142
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1157
+#: builtin/submodule--helper.c:1158
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:1187
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr ""
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1188
 msgid "Unregister all submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1192
+#: builtin/submodule--helper.c:1193
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 
-#: builtin/submodule--helper.c:1206
+#: builtin/submodule--helper.c:1207
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1340
+#: builtin/submodule--helper.c:1341
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:1347
+#: builtin/submodule--helper.c:1348
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr ""
 
-#: builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1371
 msgid "where the new submodule will be cloned to"
 msgstr ""
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1374
 msgid "name of the new submodule"
 msgstr ""
 
-#: builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1377
 msgid "url where to clone the submodule from"
 msgstr ""
 
-#: builtin/submodule--helper.c:1384
+#: builtin/submodule--helper.c:1385
 msgid "depth for shallow clones"
 msgstr ""
 
-#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872
 msgid "force cloning progress"
 msgstr ""
 
-#: builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1393
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
 msgstr ""
 
-#: builtin/submodule--helper.c:1423
+#: builtin/submodule--helper.c:1424
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr ""
 
-#: builtin/submodule--helper.c:1437
+#: builtin/submodule--helper.c:1438
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1473
+#: builtin/submodule--helper.c:1474
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1477
+#: builtin/submodule--helper.c:1478
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1570
+#: builtin/submodule--helper.c:1571
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr ""
 
-#: builtin/submodule--helper.c:1574
+#: builtin/submodule--helper.c:1575
 msgid "Maybe you want to use 'update --init'?"
 msgstr ""
 
-#: builtin/submodule--helper.c:1604
+#: builtin/submodule--helper.c:1605
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1633
+#: builtin/submodule--helper.c:1634
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1777
+#: builtin/submodule--helper.c:1778
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr ""
 
-#: builtin/submodule--helper.c:1788
+#: builtin/submodule--helper.c:1789
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr ""
@@ -17322,32 +18702,40 @@ msgid "recurse into submodules"
 msgstr ""
 
 #: builtin/submodule--helper.c:2100
-msgid "git submodule--helper embed-git-dir [<path>...]"
+msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr ""
 
 #: builtin/submodule--helper.c:2156
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr ""
 
-#: builtin/submodule--helper.c:2161
-msgid "git submodule--helper config name [value]"
+#: builtin/submodule--helper.c:2159
+msgid "unset the config in the .gitmodules file"
+msgstr ""
+
+#: builtin/submodule--helper.c:2164
+msgid "git submodule--helper config <name> [<value>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:2162
+#: builtin/submodule--helper.c:2165
+msgid "git submodule--helper config --unset <name>"
+msgstr ""
+
+#: builtin/submodule--helper.c:2166
 msgid "git submodule--helper config --check-writeable"
 msgstr ""
 
-#: builtin/submodule--helper.c:2179 git-submodule.sh:169
+#: builtin/submodule--helper.c:2185 git-submodule.sh:171
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:2229 git.c:413 git.c:658
+#: builtin/submodule--helper.c:2235 git.c:434 git.c:684
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr ""
 
-#: builtin/submodule--helper.c:2235
+#: builtin/submodule--helper.c:2241
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr ""
@@ -17382,36 +18770,36 @@ msgstr ""
 
 #: builtin/tag.c:25
 msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
-"[<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
+"\t\t<tagname> [<head>]"
 msgstr ""
 
-#: builtin/tag.c:26
+#: builtin/tag.c:27
 msgid "git tag -d <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:27
+#: builtin/tag.c:28
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
 msgstr ""
 
-#: builtin/tag.c:29
+#: builtin/tag.c:30
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr ""
 
-#: builtin/tag.c:87
+#: builtin/tag.c:89
 #, c-format
 msgid "tag '%s' not found."
 msgstr ""
 
-#: builtin/tag.c:103
+#: builtin/tag.c:105
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr ""
 
-#: builtin/tag.c:133
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -17420,7 +18808,7 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 
-#: builtin/tag.c:137
+#: builtin/tag.c:139
 #, c-format
 msgid ""
 "\n"
@@ -17430,146 +18818,155 @@ msgid ""
 "want to.\n"
 msgstr ""
 
-#: builtin/tag.c:191
+#: builtin/tag.c:198
 msgid "unable to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:193
+#: builtin/tag.c:200
 msgid "unable to write tag file"
 msgstr ""
 
-#: builtin/tag.c:218
+#: builtin/tag.c:216
+#, c-format
+msgid ""
+"You have created a nested tag. The object referred to by your new tag is\n"
+"already a tag. If you meant to tag the object that it points to, use:\n"
+"\n"
+"\tgit tag -f %s %s^{}"
+msgstr ""
+
+#: builtin/tag.c:232
 msgid "bad object type."
 msgstr ""
 
-#: builtin/tag.c:267
+#: builtin/tag.c:284
 msgid "no tag message?"
 msgstr ""
 
-#: builtin/tag.c:274
+#: builtin/tag.c:291
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr ""
 
-#: builtin/tag.c:385
+#: builtin/tag.c:402
 msgid "list tag names"
 msgstr ""
 
-#: builtin/tag.c:387
+#: builtin/tag.c:404
 msgid "print <n> lines of each tag message"
 msgstr ""
 
-#: builtin/tag.c:389
+#: builtin/tag.c:406
 msgid "delete tags"
 msgstr ""
 
-#: builtin/tag.c:390
+#: builtin/tag.c:407
 msgid "verify tags"
 msgstr ""
 
-#: builtin/tag.c:392
+#: builtin/tag.c:409
 msgid "Tag creation options"
 msgstr ""
 
-#: builtin/tag.c:394
+#: builtin/tag.c:411
 msgid "annotated tag, needs a message"
 msgstr ""
 
-#: builtin/tag.c:396
+#: builtin/tag.c:413
 msgid "tag message"
 msgstr ""
 
-#: builtin/tag.c:398
+#: builtin/tag.c:415
 msgid "force edit of tag message"
 msgstr ""
 
-#: builtin/tag.c:399
+#: builtin/tag.c:416
 msgid "annotated and GPG-signed tag"
 msgstr ""
 
-#: builtin/tag.c:403
+#: builtin/tag.c:419
 msgid "use another key to sign the tag"
 msgstr ""
 
-#: builtin/tag.c:404
+#: builtin/tag.c:420
 msgid "replace the tag if exists"
 msgstr ""
 
-#: builtin/tag.c:405 builtin/update-ref.c:369
+#: builtin/tag.c:421 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr ""
 
-#: builtin/tag.c:407
+#: builtin/tag.c:423
 msgid "Tag listing options"
 msgstr ""
 
-#: builtin/tag.c:408
+#: builtin/tag.c:424
 msgid "show tag list in columns"
 msgstr ""
 
-#: builtin/tag.c:409 builtin/tag.c:411
+#: builtin/tag.c:425 builtin/tag.c:427
 msgid "print only tags that contain the commit"
 msgstr ""
 
-#: builtin/tag.c:410 builtin/tag.c:412
+#: builtin/tag.c:426 builtin/tag.c:428
 msgid "print only tags that don't contain the commit"
 msgstr ""
 
-#: builtin/tag.c:413
+#: builtin/tag.c:429
 msgid "print only tags that are merged"
 msgstr ""
 
-#: builtin/tag.c:414
+#: builtin/tag.c:430
 msgid "print only tags that are not merged"
 msgstr ""
 
-#: builtin/tag.c:419
+#: builtin/tag.c:434
 msgid "print only tags of the object"
 msgstr ""
 
-#: builtin/tag.c:463
+#: builtin/tag.c:482
 msgid "--column and -n are incompatible"
 msgstr ""
 
-#: builtin/tag.c:485
+#: builtin/tag.c:504
 msgid "-n option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:487
+#: builtin/tag.c:506
 msgid "--contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:489
+#: builtin/tag.c:508
 msgid "--no-contains option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:491
+#: builtin/tag.c:510
 msgid "--points-at option is only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:493
+#: builtin/tag.c:512
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 
-#: builtin/tag.c:504
+#: builtin/tag.c:523
 msgid "only one -F or -m option is allowed."
 msgstr ""
 
-#: builtin/tag.c:523
+#: builtin/tag.c:542
 msgid "too many params"
 msgstr ""
 
-#: builtin/tag.c:529
+#: builtin/tag.c:548
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr ""
 
-#: builtin/tag.c:534
+#: builtin/tag.c:553
 #, c-format
 msgid "tag '%s' already exists"
 msgstr ""
 
-#: builtin/tag.c:565
+#: builtin/tag.c:584
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr ""
@@ -17635,185 +19032,185 @@ msgstr ""
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr ""
 
-#: builtin/update-index.c:962
+#: builtin/update-index.c:971
 msgid "continue refresh even when index needs update"
 msgstr ""
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:974
 msgid "refresh: ignore submodules"
 msgstr ""
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:977
 msgid "do not ignore new files"
 msgstr ""
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:979
 msgid "let files replace directories and vice-versa"
 msgstr ""
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:981
 msgid "notice files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:983
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:986
 msgid "refresh stat information"
 msgstr ""
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:990
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr ""
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:994
 msgid "<mode>,<object>,<path>"
 msgstr ""
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:995
 msgid "add the specified entry to the index"
 msgstr ""
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:1005
 msgid "mark files as \"not changing\""
 msgstr ""
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1008
 msgid "clear assumed-unchanged bit"
 msgstr ""
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1011
 msgid "mark files as \"index-only\""
 msgstr ""
 
-#: builtin/update-index.c:1004
+#: builtin/update-index.c:1014
 msgid "clear skip-worktree bit"
 msgstr ""
 
-#: builtin/update-index.c:1007
+#: builtin/update-index.c:1017
 msgid "add to index only; do not add content to object database"
 msgstr ""
 
-#: builtin/update-index.c:1009
+#: builtin/update-index.c:1019
 msgid "remove named paths even if present in worktree"
 msgstr ""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1021
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr ""
 
-#: builtin/update-index.c:1013
+#: builtin/update-index.c:1023
 msgid "read list of paths to be updated from standard input"
 msgstr ""
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1027
 msgid "add entries from standard input to the index"
 msgstr ""
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1031
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr ""
 
-#: builtin/update-index.c:1025
+#: builtin/update-index.c:1035
 msgid "only update entries that differ from HEAD"
 msgstr ""
 
-#: builtin/update-index.c:1029
+#: builtin/update-index.c:1039
 msgid "ignore files missing from worktree"
 msgstr ""
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1042
 msgid "report actions to standard output"
 msgstr ""
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1044
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr ""
 
-#: builtin/update-index.c:1038
+#: builtin/update-index.c:1048
 msgid "write index in this format"
 msgstr ""
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1050
 msgid "enable or disable split index"
 msgstr ""
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1052
 msgid "enable/disable untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1054
 msgid "test if the filesystem supports untracked cache"
 msgstr ""
 
-#: builtin/update-index.c:1046
+#: builtin/update-index.c:1056
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1058
 msgid "write out the index even if is not flagged as changed"
 msgstr ""
 
-#: builtin/update-index.c:1050
+#: builtin/update-index.c:1060
 msgid "enable or disable file system monitor"
 msgstr ""
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1062
 msgid "mark files as fsmonitor valid"
 msgstr ""
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1065
 msgid "clear fsmonitor valid bit"
 msgstr ""
 
-#: builtin/update-index.c:1156
+#: builtin/update-index.c:1168
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 
-#: builtin/update-index.c:1165
+#: builtin/update-index.c:1177
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 
-#: builtin/update-index.c:1176
+#: builtin/update-index.c:1188
 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:1180
+#: builtin/update-index.c:1192
 msgid "Untracked cache disabled"
 msgstr ""
 
-#: builtin/update-index.c:1188
+#: builtin/update-index.c:1200
 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:1192
+#: builtin/update-index.c:1204
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr ""
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1212
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 
-#: builtin/update-index.c:1204
+#: builtin/update-index.c:1216
 msgid "fsmonitor enabled"
 msgstr ""
 
-#: builtin/update-index.c:1207
+#: builtin/update-index.c:1219
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 
-#: builtin/update-index.c:1211
+#: builtin/update-index.c:1223
 msgid "fsmonitor disabled"
 msgstr ""
 
@@ -17857,6 +19254,10 @@ msgstr ""
 msgid "git upload-pack [<options>] <dir>"
 msgstr ""
 
+#: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17
+msgid "quit after a single request/response exchange"
+msgstr ""
+
 #: builtin/upload-pack.c:25
 msgid "exit immediately after initial ref advertisement"
 msgstr ""
@@ -17869,15 +19270,15 @@ msgstr ""
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr ""
 
-#: builtin/verify-commit.c:20
+#: builtin/verify-commit.c:19
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr ""
 
-#: builtin/verify-commit.c:76
+#: builtin/verify-commit.c:68
 msgid "print commit contents"
 msgstr ""
 
-#: builtin/verify-commit.c:77 builtin/verify-tag.c:38
+#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr ""
 
@@ -17893,11 +19294,11 @@ msgstr ""
 msgid "show statistics only"
 msgstr ""
 
-#: builtin/verify-tag.c:19
+#: builtin/verify-tag.c:18
 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
 msgstr ""
 
-#: builtin/verify-tag.c:37
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr ""
 
@@ -17929,7 +19330,7 @@ msgstr ""
 msgid "git worktree unlock <path>"
 msgstr ""
 
-#: builtin/worktree.c:61 builtin/worktree.c:888
+#: builtin/worktree.c:61 builtin/worktree.c:899
 #, c-format
 msgid "failed to delete '%s'"
 msgstr ""
@@ -17998,175 +19399,175 @@ msgid ""
 "use 'add -f' to override, or 'prune' or 'remove' to clear"
 msgstr ""
 
-#: builtin/worktree.c:310
+#: builtin/worktree.c:309
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr ""
 
-#: builtin/worktree.c:429 builtin/worktree.c:435
+#: builtin/worktree.c:440 builtin/worktree.c:446
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr ""
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:442
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr ""
 
-#: builtin/worktree.c:440
+#: builtin/worktree.c:451
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr ""
 
-#: builtin/worktree.c:446
+#: builtin/worktree.c:457
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr ""
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:498
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 
-#: builtin/worktree.c:490
+#: builtin/worktree.c:501
 msgid "create a new branch"
 msgstr ""
 
-#: builtin/worktree.c:492
+#: builtin/worktree.c:503
 msgid "create or reset a branch"
 msgstr ""
 
-#: builtin/worktree.c:494
+#: builtin/worktree.c:505
 msgid "populate the new working tree"
 msgstr ""
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:506
 msgid "keep the new working tree locked"
 msgstr ""
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:509
 msgid "set up tracking mode (see git-branch(1))"
 msgstr ""
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:512
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr ""
 
-#: builtin/worktree.c:509
+#: builtin/worktree.c:520
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr ""
 
-#: builtin/worktree.c:570
+#: builtin/worktree.c:581
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr ""
 
-#: builtin/worktree.c:670
+#: builtin/worktree.c:681
 msgid "reason for locking"
 msgstr ""
 
-#: builtin/worktree.c:682 builtin/worktree.c:715 builtin/worktree.c:789
-#: builtin/worktree.c:916
+#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800
+#: builtin/worktree.c:927
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr ""
 
-#: builtin/worktree.c:684 builtin/worktree.c:717
+#: builtin/worktree.c:695 builtin/worktree.c:728
 msgid "The main working tree cannot be locked or unlocked"
 msgstr ""
 
-#: builtin/worktree.c:689
+#: builtin/worktree.c:700
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr ""
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:702
 #, c-format
 msgid "'%s' is already locked"
 msgstr ""
 
-#: builtin/worktree.c:719
+#: builtin/worktree.c:730
 #, c-format
 msgid "'%s' is not locked"
 msgstr ""
 
-#: builtin/worktree.c:760
+#: builtin/worktree.c:771
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 
-#: builtin/worktree.c:768
+#: builtin/worktree.c:779
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 
-#: builtin/worktree.c:791 builtin/worktree.c:918
+#: builtin/worktree.c:802 builtin/worktree.c:929
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr ""
 
-#: builtin/worktree.c:796
+#: builtin/worktree.c:807
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr ""
 
-#: builtin/worktree.c:802
+#: builtin/worktree.c:813
 #, c-format
 msgid "target '%s' already exists"
 msgstr ""
 
-#: builtin/worktree.c:810
+#: builtin/worktree.c:821
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
 "use 'move -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:812
+#: builtin/worktree.c:823
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:815
+#: builtin/worktree.c:826
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr ""
 
-#: builtin/worktree.c:820
+#: builtin/worktree.c:831
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr ""
 
-#: builtin/worktree.c:868
+#: builtin/worktree.c:879
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr ""
 
-#: builtin/worktree.c:872
+#: builtin/worktree.c:883
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr ""
 
-#: builtin/worktree.c:877
+#: builtin/worktree.c:888
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr ""
 
-#: builtin/worktree.c:900
+#: builtin/worktree.c:911
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 
-#: builtin/worktree.c:923
+#: builtin/worktree.c:934
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
 "use 'remove -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:925
+#: builtin/worktree.c:936
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:939
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
@@ -18209,6 +19610,14 @@ msgstr ""
 msgid "too many commits marked reachable"
 msgstr ""
 
+#: t/helper/test-serve-v2.c:7
+msgid "test-tool serve-v2 [<options>]"
+msgstr ""
+
+#: t/helper/test-serve-v2.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr ""
+
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -18223,101 +19632,102 @@ msgstr ""
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept."
+"to read about a specific subcommand or concept.\n"
+"See 'git help git' for an overview of the system."
 msgstr ""
 
-#: git.c:174
+#: git.c:186
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr ""
 
-#: git.c:188
+#: git.c:200
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr ""
 
-#: git.c:202
+#: git.c:214
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr ""
 
-#: git.c:216
+#: git.c:228
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr ""
 
-#: git.c:238
+#: git.c:250
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr ""
 
-#: git.c:276
+#: git.c:288
 #, c-format
 msgid "no directory given for -C\n"
 msgstr ""
 
-#: git.c:301
+#: git.c:314
 #, c-format
 msgid "unknown option: %s\n"
 msgstr ""
 
-#: git.c:342
+#: git.c:360
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr ""
 
-#: git.c:351
+#: git.c:369
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
 "You can use '!git' in the alias to do this"
 msgstr ""
 
-#: git.c:359
+#: git.c:377
 #, c-format
 msgid "empty alias for %s"
 msgstr ""
 
-#: git.c:362
+#: git.c:380
 #, c-format
 msgid "recursive alias: %s"
 msgstr ""
 
-#: git.c:437
+#: git.c:460
 msgid "write failure on standard output"
 msgstr ""
 
-#: git.c:439
+#: git.c:462
 msgid "unknown write failure on standard output"
 msgstr ""
 
-#: git.c:441
+#: git.c:464
 msgid "close failed on standard output"
 msgstr ""
 
-#: git.c:720
+#: git.c:793
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 
-#: git.c:770
+#: git.c:843
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr ""
 
-#: git.c:783
+#: git.c:856
 #, c-format
 msgid ""
 "usage: %s\n"
 "\n"
 msgstr ""
 
-#: git.c:803
+#: git.c:876
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr ""
 
-#: git.c:815
+#: git.c:888
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr ""
@@ -18358,7 +19768,7 @@ msgstr ""
 msgid "Could not set SSL backend to '%s': already set"
 msgstr ""
 
-#: http.c:1959
+#: http.c:1965
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -18366,31 +19776,167 @@ msgid ""
 "   redirect: %s"
 msgstr ""
 
-#: remote-curl.c:455
+#: remote-curl.c:157
+#, c-format
+msgid "invalid quoting in push-option value: '%s'"
+msgstr ""
+
+#: remote-curl.c:254
+#, c-format
+msgid "%sinfo/refs not valid: is this a git repository?"
+msgstr ""
+
+#: remote-curl.c:355
+msgid "invalid server response; expected service, got flush packet"
+msgstr ""
+
+#: remote-curl.c:386
+#, c-format
+msgid "invalid server response; got '%s'"
+msgstr ""
+
+#: remote-curl.c:446
+#, c-format
+msgid "repository '%s' not found"
+msgstr ""
+
+#: remote-curl.c:450
+#, c-format
+msgid "Authentication failed for '%s'"
+msgstr ""
+
+#: remote-curl.c:454
+#, c-format
+msgid "unable to access '%s': %s"
+msgstr ""
+
+#: remote-curl.c:460
 #, c-format
 msgid "redirecting to %s"
 msgstr ""
 
-#: parse-options.h:154
+#: remote-curl.c:584
+msgid "shouldn't have EOF when not gentle on EOF"
+msgstr ""
+
+#: remote-curl.c:664
+msgid "unable to rewind rpc post data - try increasing http.postBuffer"
+msgstr ""
+
+#: remote-curl.c:724
+#, c-format
+msgid "RPC failed; %s"
+msgstr ""
+
+#: remote-curl.c:764
+msgid "cannot handle pushes this big"
+msgstr ""
+
+#: remote-curl.c:879
+#, c-format
+msgid "cannot deflate request; zlib deflate error %d"
+msgstr ""
+
+#: remote-curl.c:883
+#, c-format
+msgid "cannot deflate request; zlib end error %d"
+msgstr ""
+
+#: remote-curl.c:1014
+msgid "dumb http transport does not support shallow capabilities"
+msgstr ""
+
+#: remote-curl.c:1028
+msgid "fetch failed."
+msgstr ""
+
+#: remote-curl.c:1076
+msgid "cannot fetch by sha1 over smart http"
+msgstr ""
+
+#: remote-curl.c:1120 remote-curl.c:1126
+#, c-format
+msgid "protocol error: expected sha/ref, got '%s'"
+msgstr ""
+
+#: remote-curl.c:1138 remote-curl.c:1252
+#, c-format
+msgid "http transport does not support %s"
+msgstr ""
+
+#: remote-curl.c:1174
+msgid "git-http-push failed"
+msgstr ""
+
+#: remote-curl.c:1360
+msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
+msgstr ""
+
+#: remote-curl.c:1392
+msgid "remote-curl: error reading command stream from git"
+msgstr ""
+
+#: remote-curl.c:1399
+msgid "remote-curl: fetch attempted without a local repo"
+msgstr ""
+
+#: remote-curl.c:1439
+#, c-format
+msgid "remote-curl: unknown command '%s' from git"
+msgstr ""
+
+#: list-objects-filter-options.h:61
+msgid "args"
+msgstr ""
+
+#: list-objects-filter-options.h:62
+msgid "object filtering"
+msgstr ""
+
+#: parse-options.h:170
 msgid "expiry-date"
 msgstr ""
 
-#: parse-options.h:169
+#: parse-options.h:184
 msgid "no-op (backward compatibility)"
 msgstr ""
 
-#: parse-options.h:259
+#: parse-options.h:305
 msgid "be more verbose"
 msgstr ""
 
-#: parse-options.h:261
+#: parse-options.h:307
 msgid "be more quiet"
 msgstr ""
 
-#: parse-options.h:267
+#: parse-options.h:313
 msgid "use <n> digits to display SHA-1s"
 msgstr ""
 
+#: parse-options.h:332
+msgid "how to strip spaces and #comments from message"
+msgstr ""
+
+#: ref-filter.h:101
+msgid "key"
+msgstr ""
+
+#: ref-filter.h:101
+msgid "field name to sort on"
+msgstr ""
+
+#: rerere.h:44
+msgid "update the index with reused conflict resolution if possible"
+msgstr ""
+
+#: wt-status.h:67
+msgid "HEAD detached at "
+msgstr ""
+
+#: wt-status.h:68
+msgid "HEAD detached from "
+msgstr ""
+
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr ""
@@ -18644,7 +20190,7 @@ msgid "Instantly browse your working repository in gitweb"
 msgstr ""
 
 #: command-list.h:113
-msgid "add or parse structured information in commit messages"
+msgid "Add or parse structured information in commit messages"
 msgstr ""
 
 #: command-list.h:114
@@ -18816,227 +20362,223 @@ msgid "Reset current HEAD to the specified state"
 msgstr ""
 
 #: command-list.h:156
-msgid "Revert some existing commits"
+msgid "Restore working tree files"
 msgstr ""
 
 #: command-list.h:157
-msgid "Lists commit objects in reverse chronological order"
+msgid "Revert some existing commits"
 msgstr ""
 
 #: command-list.h:158
-msgid "Pick out and massage parameters"
+msgid "Lists commit objects in reverse chronological order"
 msgstr ""
 
 #: command-list.h:159
-msgid "Remove files from the working tree and from the index"
+msgid "Pick out and massage parameters"
 msgstr ""
 
 #: command-list.h:160
-msgid "Send a collection of patches as emails"
+msgid "Remove files from the working tree and from the index"
 msgstr ""
 
 #: command-list.h:161
-msgid "Push objects over Git protocol to another repository"
+msgid "Send a collection of patches as emails"
 msgstr ""
 
 #: command-list.h:162
-msgid "Restricted login shell for Git-only SSH access"
+msgid "Push objects over Git protocol to another repository"
 msgstr ""
 
 #: command-list.h:163
-msgid "Summarize 'git log' output"
+msgid "Restricted login shell for Git-only SSH access"
 msgstr ""
 
 #: command-list.h:164
-msgid "Show various types of objects"
+msgid "Summarize 'git log' output"
 msgstr ""
 
 #: command-list.h:165
-msgid "Show branches and their commits"
+msgid "Show various types of objects"
 msgstr ""
 
 #: command-list.h:166
-msgid "Show packed archive index"
+msgid "Show branches and their commits"
 msgstr ""
 
 #: command-list.h:167
-msgid "List references in a local repository"
+msgid "Show packed archive index"
 msgstr ""
 
 #: command-list.h:168
-msgid "Git's i18n setup code for shell scripts"
+msgid "List references in a local repository"
 msgstr ""
 
 #: command-list.h:169
-msgid "Common Git shell script setup code"
+msgid "Git's i18n setup code for shell scripts"
 msgstr ""
 
 #: command-list.h:170
-msgid "Stash the changes in a dirty working directory away"
+msgid "Common Git shell script setup code"
 msgstr ""
 
 #: command-list.h:171
-msgid "Add file contents to the staging area"
+msgid "Stash the changes in a dirty working directory away"
 msgstr ""
 
 #: command-list.h:172
-msgid "Show the working tree status"
+msgid "Add file contents to the staging area"
 msgstr ""
 
 #: command-list.h:173
-msgid "Remove unnecessary whitespace"
+msgid "Show the working tree status"
 msgstr ""
 
 #: command-list.h:174
-msgid "Initialize, update or inspect submodules"
+msgid "Remove unnecessary whitespace"
 msgstr ""
 
 #: command-list.h:175
-msgid "Bidirectional operation between a Subversion repository and Git"
+msgid "Initialize, update or inspect submodules"
 msgstr ""
 
 #: command-list.h:176
-msgid "Read, modify and delete symbolic refs"
+msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr ""
 
 #: command-list.h:177
-msgid "Create, list, delete or verify a tag object signed with GPG"
+msgid "Switch branches"
 msgstr ""
 
 #: command-list.h:178
-msgid "Creates a temporary file with a blob's contents"
+msgid "Read, modify and delete symbolic refs"
 msgstr ""
 
 #: command-list.h:179
-msgid "Unpack objects from a packed archive"
+msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr ""
 
 #: command-list.h:180
-msgid "Register file contents in the working tree to the index"
+msgid "Creates a temporary file with a blob's contents"
 msgstr ""
 
 #: command-list.h:181
-msgid "Update the object name stored in a ref safely"
+msgid "Unpack objects from a packed archive"
 msgstr ""
 
 #: command-list.h:182
-msgid "Update auxiliary info file to help dumb servers"
+msgid "Register file contents in the working tree to the index"
 msgstr ""
 
 #: command-list.h:183
-msgid "Send archive back to git-archive"
+msgid "Update the object name stored in a ref safely"
 msgstr ""
 
 #: command-list.h:184
-msgid "Send objects packed back to git-fetch-pack"
+msgid "Update auxiliary info file to help dumb servers"
 msgstr ""
 
 #: command-list.h:185
-msgid "Show a Git logical variable"
+msgid "Send archive back to git-archive"
 msgstr ""
 
 #: command-list.h:186
-msgid "Check the GPG signature of commits"
+msgid "Send objects packed back to git-fetch-pack"
 msgstr ""
 
 #: command-list.h:187
-msgid "Validate packed Git archive files"
+msgid "Show a Git logical variable"
 msgstr ""
 
 #: command-list.h:188
-msgid "Check the GPG signature of tags"
+msgid "Check the GPG signature of commits"
 msgstr ""
 
 #: command-list.h:189
-msgid "Git web interface (web frontend to Git repositories)"
+msgid "Validate packed Git archive files"
 msgstr ""
 
 #: command-list.h:190
-msgid "Show logs with difference each commit introduces"
+msgid "Check the GPG signature of tags"
 msgstr ""
 
 #: command-list.h:191
-msgid "Manage multiple working trees"
+msgid "Git web interface (web frontend to Git repositories)"
 msgstr ""
 
 #: command-list.h:192
-msgid "Create a tree object from the current index"
+msgid "Show logs with difference each commit introduces"
 msgstr ""
 
 #: command-list.h:193
-msgid "Defining attributes per path"
+msgid "Manage multiple working trees"
 msgstr ""
 
 #: command-list.h:194
-msgid "Git command-line interface and conventions"
+msgid "Create a tree object from the current index"
 msgstr ""
 
 #: command-list.h:195
-msgid "A Git core tutorial for developers"
+msgid "Defining attributes per path"
 msgstr ""
 
 #: command-list.h:196
-msgid "Git for CVS users"
+msgid "Git command-line interface and conventions"
 msgstr ""
 
 #: command-list.h:197
-msgid "Tweaking diff output"
+msgid "A Git core tutorial for developers"
 msgstr ""
 
 #: command-list.h:198
-msgid "A useful minimum set of commands for Everyday Git"
+msgid "Git for CVS users"
 msgstr ""
 
 #: command-list.h:199
-msgid "A Git Glossary"
+msgid "Tweaking diff output"
 msgstr ""
 
 #: command-list.h:200
-msgid "Hooks used by Git"
+msgid "A useful minimum set of commands for Everyday Git"
 msgstr ""
 
 #: command-list.h:201
-msgid "Specifies intentionally untracked files to ignore"
+msgid "A Git Glossary"
 msgstr ""
 
 #: command-list.h:202
-msgid "Defining submodule properties"
+msgid "Hooks used by Git"
 msgstr ""
 
 #: command-list.h:203
-msgid "Git namespaces"
+msgid "Specifies intentionally untracked files to ignore"
 msgstr ""
 
 #: command-list.h:204
-msgid "Git Repository Layout"
+msgid "Defining submodule properties"
 msgstr ""
 
 #: command-list.h:205
-msgid "Specifying revisions and ranges for Git"
+msgid "Git namespaces"
 msgstr ""
 
 #: command-list.h:206
-msgid "A tutorial introduction to Git: part two"
+msgid "Git Repository Layout"
 msgstr ""
 
 #: command-list.h:207
-msgid "A tutorial introduction to Git"
+msgid "Specifying revisions and ranges for Git"
 msgstr ""
 
 #: command-list.h:208
-msgid "An overview of recommended workflows with Git"
-msgstr ""
-
-#: list-objects-filter-options.h:63
-msgid "args"
+msgid "A tutorial introduction to Git: part two"
 msgstr ""
 
-#: list-objects-filter-options.h:64
-msgid "object filtering"
+#: command-list.h:209
+msgid "A tutorial introduction to Git"
 msgstr ""
 
-#: rerere.h:44
-msgid "update the index with reused conflict resolution if possible"
+#: command-list.h:210
+msgid "An overview of recommended workflows with Git"
 msgstr ""
 
 #: git-bisect.sh:54
@@ -19156,270 +20698,113 @@ msgstr ""
 msgid "Simple merge did not work, trying automatic merge."
 msgstr ""
 
-#: git-legacy-rebase.sh:445
-#, sh-format
-msgid "Could not move back to $head_name"
-msgstr ""
-
-#: git-legacy-rebase.sh:471
-#, sh-format
-msgid ""
-"It seems that there is already a $state_dir_base directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t$cmd_live_rebase\n"
-"If that is not the case, please\n"
-"\t$cmd_clear_stale_rebase\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there."
-msgstr ""
-
-#: git-legacy-rebase.sh:523
-msgid ""
-"fatal: cannot combine am options with either interactive or merge options"
-msgstr ""
-
-#: git-legacy-rebase.sh:530
-msgid "fatal: cannot combine '--signoff' with '--preserve-merges'"
-msgstr ""
-
-#: git-legacy-rebase.sh:541
-msgid "fatal: cannot combine '--preserve-merges' with '--rebase-merges'"
-msgstr ""
-
-#: git-legacy-rebase.sh:550
-msgid "fatal: cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr ""
-
-#: git-legacy-rebase.sh:552
-msgid "fatal: cannot combine '--rebase-merges' with '--strategy'"
-msgstr ""
-
-#: git-legacy-rebase.sh:578
-#, sh-format
-msgid "invalid upstream '$upstream_name'"
-msgstr ""
-
-#: git-legacy-rebase.sh:602
-#, sh-format
-msgid "$onto_name: there are more than one merge bases"
-msgstr ""
-
-#: git-legacy-rebase.sh:605 git-legacy-rebase.sh:609
-#, sh-format
-msgid "$onto_name: there is no merge base"
-msgstr ""
-
-#: git-legacy-rebase.sh:614
-#, sh-format
-msgid "Does not point to a valid commit: $onto_name"
-msgstr ""
-
-#: git-legacy-rebase.sh:640
-#, sh-format
-msgid "fatal: no such branch/commit '$branch_name'"
-msgstr ""
-
-#: git-legacy-rebase.sh:678
-#, sh-format
-msgid "Created autostash: $stash_abbrev"
-msgstr ""
-
-#: git-legacy-rebase.sh:707
-#, sh-format
-msgid "Current branch $branch_name is up to date."
-msgstr ""
-
-#: git-legacy-rebase.sh:717
-#, sh-format
-msgid "Current branch $branch_name is up to date, rebase forced."
-msgstr ""
-
-#: git-legacy-rebase.sh:731
-#, sh-format
-msgid "Changes to $onto:"
-msgstr ""
-
-#: git-legacy-rebase.sh:733
-#, sh-format
-msgid "Changes from $mb to $onto:"
-msgstr ""
-
-#: git-legacy-rebase.sh:743
-#, sh-format
-msgid "Fast-forwarded $branch_name to $onto_name."
-msgstr ""
-
-#: git-legacy-rebase.sh:757
-msgid "First, rewinding head to replay your work on top of it..."
-msgstr ""
-
-#: git-stash.sh:75
-msgid "git stash clear with parameters is unimplemented"
-msgstr ""
-
-#: git-stash.sh:125
-msgid "You do not have the initial commit yet"
-msgstr ""
-
-#: git-stash.sh:140
-msgid "Cannot save the current index state"
-msgstr ""
-
-#: git-stash.sh:155
-msgid "Cannot save the untracked files"
-msgstr ""
-
-#: git-stash.sh:175 git-stash.sh:188
-msgid "Cannot save the current worktree state"
-msgstr ""
-
-#: git-stash.sh:192
-msgid "No changes selected"
-msgstr ""
-
-#: git-stash.sh:195
+#: git-legacy-stash.sh:220
 msgid "Cannot remove temporary index (can't happen)"
 msgstr ""
 
-#: git-stash.sh:208
-msgid "Cannot record working tree state"
-msgstr ""
-
-#: git-stash.sh:246
+#: git-legacy-stash.sh:271
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr ""
 
-#: git-stash.sh:298
+#: git-legacy-stash.sh:323
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr ""
 
-#: git-stash.sh:312
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr ""
-
-#: git-stash.sh:320
-msgid "No local changes to save"
-msgstr ""
-
-#: git-stash.sh:325
-msgid "Cannot initialize stash"
-msgstr ""
-
-#: git-stash.sh:329
-msgid "Cannot save the current status"
-msgstr ""
-
-#: git-stash.sh:330
+#: git-legacy-stash.sh:355
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr ""
 
-#: git-stash.sh:359
-msgid "Cannot remove worktree changes"
-msgstr ""
-
-#: git-stash.sh:507
+#: git-legacy-stash.sh:535
 #, sh-format
 msgid "unknown option: $opt"
 msgstr ""
 
-#: git-stash.sh:520
-msgid "No stash entries found."
-msgstr ""
-
-#: git-stash.sh:527
+#: git-legacy-stash.sh:555
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr ""
 
-#: git-stash.sh:542
+#: git-legacy-stash.sh:570
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr ""
 
-#: git-stash.sh:570
+#: git-legacy-stash.sh:598
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr ""
 
-#: git-stash.sh:581
+#: git-legacy-stash.sh:609
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr ""
 
-#: git-stash.sh:589
+#: git-legacy-stash.sh:617
 msgid "unable to refresh index"
 msgstr ""
 
-#: git-stash.sh:593
+#: git-legacy-stash.sh:621
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr ""
 
-#: git-stash.sh:601
+#: git-legacy-stash.sh:629
 msgid "Conflicts in index. Try without --index."
 msgstr ""
 
-#: git-stash.sh:603
+#: git-legacy-stash.sh:631
 msgid "Could not save index tree"
 msgstr ""
 
-#: git-stash.sh:612
+#: git-legacy-stash.sh:640
 msgid "Could not restore untracked files from stash entry"
 msgstr ""
 
-#: git-stash.sh:637
+#: git-legacy-stash.sh:665
 msgid "Cannot unstage modified files"
 msgstr ""
 
-#: git-stash.sh:652
-msgid "Index was not unstashed."
-msgstr ""
-
-#: git-stash.sh:666
-msgid "The stash entry is kept in case you need it again."
-msgstr ""
-
-#: git-stash.sh:675
+#: git-legacy-stash.sh:703
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr ""
 
-#: git-stash.sh:676
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr ""
 
-#: git-stash.sh:684
-msgid "No branch name specified"
-msgstr ""
-
-#: git-stash.sh:763
+#: git-legacy-stash.sh:791
 msgid "(To restore them type \"git stash apply\")"
 msgstr ""
 
-#: git-submodule.sh:198
+#: git-submodule.sh:200
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 
-#: git-submodule.sh:208
+#: git-submodule.sh:210
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 
-#: git-submodule.sh:227
+#: git-submodule.sh:229
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr ""
 
-#: git-submodule.sh:230
+#: git-submodule.sh:232
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr ""
 
-#: git-submodule.sh:236
+#: git-submodule.sh:239
+#, sh-format
+msgid "'$sm_path' does not have a commit checked out"
+msgstr ""
+
+#: git-submodule.sh:245
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -19427,22 +20812,22 @@ msgid ""
 "Use -f if you really want to add it."
 msgstr ""
 
-#: git-submodule.sh:259
+#: git-submodule.sh:268
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr ""
 
-#: git-submodule.sh:261
+#: git-submodule.sh:270
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr ""
 
-#: git-submodule.sh:269
+#: git-submodule.sh:278
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 
-#: git-submodule.sh:271
+#: git-submodule.sh:280
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -19453,120 +20838,122 @@ msgid ""
 "option."
 msgstr ""
 
-#: git-submodule.sh:277
+#: git-submodule.sh:286
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 
-#: git-submodule.sh:289
+#: git-submodule.sh:298
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:294
+#: git-submodule.sh:303
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:303
+#: git-submodule.sh:312
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:563
+#: git-submodule.sh:573
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:573
+#: git-submodule.sh:583
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:578
+#: git-submodule.sh:588
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr ""
 
-#: git-submodule.sh:596
+#: git-submodule.sh:606
 #, sh-format
-msgid "Unable to fetch in submodule path '$displaypath'"
+msgid ""
+"Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
+"$sha1:"
 msgstr ""
 
-#: git-submodule.sh:602
+#: git-submodule.sh:612
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 "Direct fetching of that commit failed."
 msgstr ""
 
-#: git-submodule.sh:609
+#: git-submodule.sh:619
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:610
+#: git-submodule.sh:620
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:614
+#: git-submodule.sh:624
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:615
+#: git-submodule.sh:625
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:620
+#: git-submodule.sh:630
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:621
+#: git-submodule.sh:631
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr ""
 
-#: git-submodule.sh:626
+#: git-submodule.sh:636
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:627
+#: git-submodule.sh:637
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr ""
 
-#: git-submodule.sh:658
+#: git-submodule.sh:668
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr ""
 
-#: git-submodule.sh:754
+#: git-submodule.sh:830
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 
-#: git-submodule.sh:806
+#: git-submodule.sh:882
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr ""
 
-#: git-submodule.sh:826
+#: git-submodule.sh:902
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr ""
 
-#: git-submodule.sh:829
+#: git-submodule.sh:905
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr ""
 
-#: git-submodule.sh:832
+#: git-submodule.sh:908
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -19576,12 +20963,21 @@ msgstr ""
 msgid "See git-${cmd}(1) for details."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:136
+#: git-rebase--preserve-merges.sh:109
+msgid "Applied autostash."
+msgstr ""
+
+#: git-rebase--preserve-merges.sh:112
+#, sh-format
+msgid "Cannot store $stash_sha1"
+msgstr ""
+
+#: git-rebase--preserve-merges.sh:191
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:152
+#: git-rebase--preserve-merges.sh:207
 msgid ""
 "\n"
 "Commands:\n"
@@ -19602,7 +20998,7 @@ msgid ""
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:215
+#: git-rebase--preserve-merges.sh:270
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -19614,83 +21010,83 @@ msgid ""
 "\tgit rebase --continue"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:240
+#: git-rebase--preserve-merges.sh:295
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:279
+#: git-rebase--preserve-merges.sh:334
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:309
+#: git-rebase--preserve-merges.sh:364
 msgid "Cannot write current commit's replacement sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:360
+#: git-rebase--preserve-merges.sh:415
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:362
+#: git-rebase--preserve-merges.sh:417
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:371
+#: git-rebase--preserve-merges.sh:426
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:376
+#: git-rebase--preserve-merges.sh:431
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:394
+#: git-rebase--preserve-merges.sh:449
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:403
+#: git-rebase--preserve-merges.sh:458
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:412
+#: git-rebase--preserve-merges.sh:467
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:417
+#: git-rebase--preserve-merges.sh:472
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:428
+#: git-rebase--preserve-merges.sh:483
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--preserve-merges.sh:437
+#: git-rebase--preserve-merges.sh:492
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:440
+#: git-rebase--preserve-merges.sh:495
 msgid "This is a combination of 2 commits."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524
-#: git-rebase--preserve-merges.sh:527
+#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579
+#: git-rebase--preserve-merges.sh:582
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:556
+#: git-rebase--preserve-merges.sh:611
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -19700,31 +21096,31 @@ msgid ""
 "you are able to reword the commit."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:571
+#: git-rebase--preserve-merges.sh:626
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:586
+#: git-rebase--preserve-merges.sh:641
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:628
+#: git-rebase--preserve-merges.sh:683
 #, sh-format
 msgid "Executing: $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:636
+#: git-rebase--preserve-merges.sh:691
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:638
+#: git-rebase--preserve-merges.sh:693
 msgid "and made changes to the index and/or the working tree"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:640
+#: git-rebase--preserve-merges.sh:695
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -19732,7 +21128,7 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--preserve-merges.sh:653
+#: git-rebase--preserve-merges.sh:708
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -19742,25 +21138,25 @@ msgid ""
 "\tgit rebase --continue"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:664
+#: git-rebase--preserve-merges.sh:719
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:665
+#: git-rebase--preserve-merges.sh:720
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:700
+#: git-rebase--preserve-merges.sh:755
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:757
+#: git-rebase--preserve-merges.sh:812
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:762
+#: git-rebase--preserve-merges.sh:817
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -19778,50 +21174,50 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:779
+#: git-rebase--preserve-merges.sh:834
 msgid "Error trying to find the author identity to amend commit"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:784
+#: git-rebase--preserve-merges.sh:839
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793
+#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848
 msgid "Could not commit staged changes."
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965
 msgid "Could not execute editor"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:845
+#: git-rebase--preserve-merges.sh:900
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:852
+#: git-rebase--preserve-merges.sh:907
 msgid "No HEAD?"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:853
+#: git-rebase--preserve-merges.sh:908
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:856
+#: git-rebase--preserve-merges.sh:911
 msgid "Could not mark as interactive"
 msgstr ""
 
-#: git-rebase--preserve-merges.sh:888
+#: git-rebase--preserve-merges.sh:943
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
+#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002
 msgid "Could not init rewritten commits"
 msgstr ""
 
@@ -19830,173 +21226,175 @@ msgstr ""
 msgid "usage: $dashless $USAGE"
 msgstr ""
 
-#: git-sh-setup.sh:190
+#: git-sh-setup.sh:191
 #, sh-format
 msgid "Cannot chdir to $cdup, the toplevel of the working tree"
 msgstr ""
 
-#: git-sh-setup.sh:199 git-sh-setup.sh:206
+#: git-sh-setup.sh:200 git-sh-setup.sh:207
 #, sh-format
 msgid "fatal: $program_name cannot be used without a working tree."
 msgstr ""
 
-#: git-sh-setup.sh:220
+#: git-sh-setup.sh:221
 msgid "Cannot rebase: You have unstaged changes."
 msgstr ""
 
-#: git-sh-setup.sh:223
+#: git-sh-setup.sh:224
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr ""
 
-#: git-sh-setup.sh:226
+#: git-sh-setup.sh:227
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr ""
 
-#: git-sh-setup.sh:229
+#: git-sh-setup.sh:230
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr ""
 
-#: git-sh-setup.sh:242
+#: git-sh-setup.sh:243
 msgid "Cannot rebase: Your index contains uncommitted changes."
 msgstr ""
 
-#: git-sh-setup.sh:245
+#: git-sh-setup.sh:246
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr ""
 
-#: git-sh-setup.sh:248
+#: git-sh-setup.sh:249
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr ""
 
-#: git-sh-setup.sh:252
+#: git-sh-setup.sh:253
 msgid "Additionally, your index contains uncommitted changes."
 msgstr ""
 
-#: git-sh-setup.sh:372
+#: git-sh-setup.sh:373
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr ""
 
-#: git-sh-setup.sh:377
+#: git-sh-setup.sh:378
 msgid "Unable to determine absolute path of git directory"
 msgstr ""
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:196
+#: git-add--interactive.perl:210
 #, perl-format
 msgid "%12s %12s %s"
 msgstr ""
 
-#: git-add--interactive.perl:197
+#: git-add--interactive.perl:211
 msgid "staged"
 msgstr ""
 
-#: git-add--interactive.perl:197
+#: git-add--interactive.perl:211
 msgid "unstaged"
 msgstr ""
 
-#: git-add--interactive.perl:253 git-add--interactive.perl:278
+#: git-add--interactive.perl:267 git-add--interactive.perl:292
 msgid "binary"
 msgstr ""
 
-#: git-add--interactive.perl:262 git-add--interactive.perl:316
+#: git-add--interactive.perl:276 git-add--interactive.perl:330
 msgid "nothing"
 msgstr ""
 
-#: git-add--interactive.perl:298 git-add--interactive.perl:313
+#: git-add--interactive.perl:312 git-add--interactive.perl:327
 msgid "unchanged"
 msgstr ""
 
-#: git-add--interactive.perl:609
+#: git-add--interactive.perl:623
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:612
+#: git-add--interactive.perl:626
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:615
+#: git-add--interactive.perl:629
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:618
+#: git-add--interactive.perl:632
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:627
+#: git-add--interactive.perl:641
 msgid "Update"
 msgstr ""
 
-#: git-add--interactive.perl:639
+#: git-add--interactive.perl:653
 msgid "Revert"
 msgstr ""
 
-#: git-add--interactive.perl:662
+#: git-add--interactive.perl:676
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr ""
 
-#: git-add--interactive.perl:673
+#: git-add--interactive.perl:687
 msgid "Add untracked"
 msgstr ""
 
-#: git-add--interactive.perl:679
+#: git-add--interactive.perl:693
 msgid "No untracked files.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1033
+#: git-add--interactive.perl:1051
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
 
-#: git-add--interactive.perl:1036
+#: git-add--interactive.perl:1054
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1057
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
 
-#: git-add--interactive.perl:1042 git-add--interactive.perl:1051
+#: git-add--interactive.perl:1060 git-add--interactive.perl:1069
+#: git-add--interactive.perl:1075
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
 
-#: git-add--interactive.perl:1045 git-add--interactive.perl:1048
+#: git-add--interactive.perl:1063 git-add--interactive.perl:1066
+#: git-add--interactive.perl:1072
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
 
-#: git-add--interactive.perl:1085
+#: git-add--interactive.perl:1109
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1086
+#: git-add--interactive.perl:1110
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1092
+#: git-add--interactive.perl:1116
 #, perl-format
 msgid ""
 "---\n"
@@ -20006,14 +21404,14 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1100
+#: git-add--interactive.perl:1124
 msgid ""
 "If it does not apply cleanly, you will be given an opportunity to\n"
 "edit again.  If all lines of the hunk are removed, then the edit is\n"
 "aborted and the hunk is left unchanged.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1114
+#: git-add--interactive.perl:1138
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr ""
@@ -20024,12 +21422,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:1213
+#: git-add--interactive.perl:1237
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 
-#: git-add--interactive.perl:1222
+#: git-add--interactive.perl:1246
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -20038,7 +21436,7 @@ msgid ""
 "d - do not stage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1228
+#: git-add--interactive.perl:1252
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -20047,7 +21445,7 @@ msgid ""
 "d - do not stash this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1234
+#: git-add--interactive.perl:1258
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -20056,7 +21454,7 @@ msgid ""
 "d - do not unstage this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1240
+#: git-add--interactive.perl:1264
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -20065,7 +21463,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1270 git-add--interactive.perl:1288
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -20074,7 +21472,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1276
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -20083,7 +21481,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1282
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -20092,7 +21490,16 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1294
+msgid ""
+"y - apply this hunk to worktree\n"
+"n - do not apply this hunk to worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1309
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -20105,211 +21512,226 @@ msgid ""
 "? - print help\n"
 msgstr ""
 
-#: git-add--interactive.perl:1304
+#: git-add--interactive.perl:1340
 msgid "The selected hunks do not apply to the index!\n"
 msgstr ""
 
-#: git-add--interactive.perl:1305
+#: git-add--interactive.perl:1341
 msgid "Apply them to the worktree anyway? "
 msgstr ""
 
-#: git-add--interactive.perl:1308
+#: git-add--interactive.perl:1344
 msgid "Nothing was applied.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1319
+#: git-add--interactive.perl:1355
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1328
+#: git-add--interactive.perl:1364
 msgid "Only binary files changed.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1330
+#: git-add--interactive.perl:1366
 msgid "No changes.\n"
 msgstr ""
 
-#: git-add--interactive.perl:1338
+#: git-add--interactive.perl:1374
 msgid "Patch update"
 msgstr ""
 
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1426
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1391
+#: git-add--interactive.perl:1427
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1392
+#: git-add--interactive.perl:1428
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1395
+#: git-add--interactive.perl:1431
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1396
+#: git-add--interactive.perl:1432
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1397
+#: git-add--interactive.perl:1433
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1400
+#: git-add--interactive.perl:1436
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1401
+#: git-add--interactive.perl:1437
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1402
+#: git-add--interactive.perl:1438
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1405
+#: git-add--interactive.perl:1441
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1406
+#: git-add--interactive.perl:1442
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1407
+#: git-add--interactive.perl:1443
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1410
+#: git-add--interactive.perl:1446 git-add--interactive.perl:1461
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1411
+#: git-add--interactive.perl:1447 git-add--interactive.perl:1462
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1412
+#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1415
+#: git-add--interactive.perl:1451
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1416
+#: git-add--interactive.perl:1452
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1417
+#: git-add--interactive.perl:1453
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1420
+#: git-add--interactive.perl:1456
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1421
+#: git-add--interactive.perl:1457
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1422
+#: git-add--interactive.perl:1458
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 
-#: git-add--interactive.perl:1522
+#: git-add--interactive.perl:1466
+#, perl-format
+msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1467
+#, perl-format
+msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1468
+#, perl-format
+msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+
+#: git-add--interactive.perl:1568
 msgid "No other hunks to goto\n"
 msgstr ""
 
-#: git-add--interactive.perl:1529
+#: git-add--interactive.perl:1575
 msgid "go to which hunk (<ret> to see more)? "
 msgstr ""
 
-#: git-add--interactive.perl:1531
+#: git-add--interactive.perl:1577
 msgid "go to which hunk? "
 msgstr ""
 
-#: git-add--interactive.perl:1540
+#: git-add--interactive.perl:1586
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr ""
 
-#: git-add--interactive.perl:1545
+#: git-add--interactive.perl:1591
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:1571
+#: git-add--interactive.perl:1617
 msgid "No other hunks to search\n"
 msgstr ""
 
-#: git-add--interactive.perl:1575
+#: git-add--interactive.perl:1621
 msgid "search for regex? "
 msgstr ""
 
-#: git-add--interactive.perl:1588
+#: git-add--interactive.perl:1634
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr ""
 
-#: git-add--interactive.perl:1598
+#: git-add--interactive.perl:1644
 msgid "No hunk matches the given pattern\n"
 msgstr ""
 
-#: git-add--interactive.perl:1610 git-add--interactive.perl:1632
+#: git-add--interactive.perl:1656 git-add--interactive.perl:1678
 msgid "No previous hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1619 git-add--interactive.perl:1638
+#: git-add--interactive.perl:1665 git-add--interactive.perl:1684
 msgid "No next hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1690
 msgid "Sorry, cannot split this hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1650
+#: git-add--interactive.perl:1696
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: git-add--interactive.perl:1660
+#: git-add--interactive.perl:1706
 msgid "Sorry, cannot edit this hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1752
 msgid "Review diff"
 msgstr ""
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1725
+#: git-add--interactive.perl:1771
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -20320,18 +21742,19 @@ msgid ""
 "changes\n"
 msgstr ""
 
-#: git-add--interactive.perl:1742 git-add--interactive.perl:1747
-#: git-add--interactive.perl:1750 git-add--interactive.perl:1757
-#: git-add--interactive.perl:1761 git-add--interactive.perl:1767
+#: git-add--interactive.perl:1788 git-add--interactive.perl:1793
+#: git-add--interactive.perl:1796 git-add--interactive.perl:1803
+#: git-add--interactive.perl:1806 git-add--interactive.perl:1813
+#: git-add--interactive.perl:1817 git-add--interactive.perl:1823
 msgid "missing --"
 msgstr ""
 
-#: git-add--interactive.perl:1763
+#: git-add--interactive.perl:1819
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr ""
 
-#: git-add--interactive.perl:1769 git-add--interactive.perl:1775
+#: git-add--interactive.perl:1825 git-add--interactive.perl:1831
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr ""
@@ -20344,66 +21767,66 @@ msgstr ""
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr ""
 
-#: git-send-email.perl:219 git-send-email.perl:225
+#: git-send-email.perl:223 git-send-email.perl:229
 msgid "the editor exited uncleanly, aborting everything"
 msgstr ""
 
-#: git-send-email.perl:302
+#: git-send-email.perl:310
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr ""
 
-#: git-send-email.perl:307
+#: git-send-email.perl:315
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr ""
 
-#: git-send-email.perl:326
+#: git-send-email.perl:408
 msgid "--dump-aliases incompatible with other options\n"
 msgstr ""
 
-#: git-send-email.perl:395 git-send-email.perl:650
+#: git-send-email.perl:481 git-send-email.perl:683
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr ""
 
-#: git-send-email.perl:398
+#: git-send-email.perl:484
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
 msgstr ""
 
-#: git-send-email.perl:468
+#: git-send-email.perl:497
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:497
+#: git-send-email.perl:528
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:525
+#: git-send-email.perl:556
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:527
+#: git-send-email.perl:558
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:529
+#: git-send-email.perl:560
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr ""
 
-#: git-send-email.perl:534
+#: git-send-email.perl:565
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr ""
 
-#: git-send-email.perl:616
+#: git-send-email.perl:649
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -20413,36 +21836,36 @@ msgid ""
 "    * Giving --format-patch option if you mean a range.\n"
 msgstr ""
 
-#: git-send-email.perl:637
+#: git-send-email.perl:670
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr ""
 
-#: git-send-email.perl:661
+#: git-send-email.perl:694
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
 "warning: no patches were sent\n"
 msgstr ""
 
-#: git-send-email.perl:672
+#: git-send-email.perl:705
 msgid ""
 "\n"
 "No patch files specified!\n"
 "\n"
 msgstr ""
 
-#: git-send-email.perl:685
+#: git-send-email.perl:718
 #, perl-format
 msgid "No subject line in %s?"
 msgstr ""
 
-#: git-send-email.perl:695
+#: git-send-email.perl:728
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr ""
 
-#: git-send-email.perl:706
+#: git-send-email.perl:739
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -20451,37 +21874,37 @@ msgid ""
 "Clear the body content if you don't wish to send a summary.\n"
 msgstr ""
 
-#: git-send-email.perl:730
+#: git-send-email.perl:763
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr ""
 
-#: git-send-email.perl:747
+#: git-send-email.perl:780
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr ""
 
-#: git-send-email.perl:790
+#: git-send-email.perl:823
 msgid "Summary email is empty, skipping it\n"
 msgstr ""
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:825
+#: git-send-email.perl:858
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr ""
 
-#: git-send-email.perl:880
+#: git-send-email.perl:913
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr ""
 
-#: git-send-email.perl:885
+#: git-send-email.perl:918
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr ""
 
-#: git-send-email.perl:893
+#: git-send-email.perl:926
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -20490,20 +21913,20 @@ msgid ""
 "want to send.\n"
 msgstr ""
 
-#: git-send-email.perl:912
+#: git-send-email.perl:945
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr ""
 
-#: git-send-email.perl:930
+#: git-send-email.perl:963
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr ""
 
-#: git-send-email.perl:942
+#: git-send-email.perl:975
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr ""
 
-#: git-send-email.perl:1000 git-send-email.perl:1008
+#: git-send-email.perl:1033 git-send-email.perl:1041
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr ""
@@ -20511,16 +21934,16 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1012
+#: git-send-email.perl:1045
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr ""
 
-#: git-send-email.perl:1329
+#: git-send-email.perl:1362
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr ""
 
-#: git-send-email.perl:1412
+#: git-send-email.perl:1445
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -20537,128 +21960,128 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1427
+#: git-send-email.perl:1460
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr ""
 
-#: git-send-email.perl:1430
+#: git-send-email.perl:1463
 msgid "Send this email reply required"
 msgstr ""
 
-#: git-send-email.perl:1458
+#: git-send-email.perl:1491
 msgid "The required SMTP server is not properly defined."
 msgstr ""
 
-#: git-send-email.perl:1505
+#: git-send-email.perl:1538
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr ""
 
-#: git-send-email.perl:1510 git-send-email.perl:1514
+#: git-send-email.perl:1543 git-send-email.perl:1547
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr ""
 
-#: git-send-email.perl:1523
+#: git-send-email.perl:1556
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
 
-#: git-send-email.perl:1541
+#: git-send-email.perl:1574
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr ""
 
-#: git-send-email.perl:1544
+#: git-send-email.perl:1577
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr ""
 
-#: git-send-email.perl:1544
+#: git-send-email.perl:1577
 #, perl-format
 msgid "Sent %s\n"
 msgstr ""
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1579
 msgid "Dry-OK. Log says:\n"
 msgstr ""
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1579
 msgid "OK. Log says:\n"
 msgstr ""
 
-#: git-send-email.perl:1558
+#: git-send-email.perl:1591
 msgid "Result: "
 msgstr ""
 
-#: git-send-email.perl:1561
+#: git-send-email.perl:1594
 msgid "Result: OK\n"
 msgstr ""
 
-#: git-send-email.perl:1579
+#: git-send-email.perl:1612
 #, perl-format
 msgid "can't open file %s"
 msgstr ""
 
-#: git-send-email.perl:1626 git-send-email.perl:1646
+#: git-send-email.perl:1659 git-send-email.perl:1679
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1632
+#: git-send-email.perl:1665
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1685
+#: git-send-email.perl:1718
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1720
+#: git-send-email.perl:1753
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1831
+#: git-send-email.perl:1864
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr ""
 
-#: git-send-email.perl:1838
+#: git-send-email.perl:1871
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr ""
 
-#: git-send-email.perl:1842
+#: git-send-email.perl:1875
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr ""
 
-#: git-send-email.perl:1872
+#: git-send-email.perl:1905
 msgid "cannot send message as 7bit"
 msgstr ""
 
-#: git-send-email.perl:1880
+#: git-send-email.perl:1913
 msgid "invalid transfer encoding"
 msgstr ""
 
-#: git-send-email.perl:1921 git-send-email.perl:1973 git-send-email.perl:1983
+#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr ""
 
-#: git-send-email.perl:1924
+#: git-send-email.perl:1957
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr ""
 
-#: git-send-email.perl:1941
+#: git-send-email.perl:1974
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr ""
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1945
+#: git-send-email.perl:1978
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr ""