]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: vi.po(5204t): Updated Vietnamese translation for v2.32.0
authorTran Ngoc Quan <vnwildman@gmail.com>
Mon, 24 May 2021 06:54:03 +0000 (13:54 +0700)
committerTran Ngoc Quan <vnwildman@gmail.com>
Mon, 24 May 2021 06:54:03 +0000 (13:54 +0700)
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
po/vi.po

index f0ee9a8743c96959e35fa99fb37bad2f7e251e8e..ccdabfa2c86dab61987fd53d4f048ab928abd7ab 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git  v2.31.0-rc1 rd2\n"
+"Project-Id-Version: git  v2.32.0-rc0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2021-03-04 22:41+0800\n"
-"PO-Revision-Date: 2021-03-08 08:58+0700\n"
+"POT-Creation-Date: 2021-05-17 16:02+0800\n"
+"PO-Revision-Date: 2021-05-24 13:49+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -19,18 +19,16 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Poedit-Basepath: ..\n"
-"X-Generator: Poedit 2.4.2\n"
+"X-Generator: Poedit 3.0\n"
 
 #: add-interactive.c:376
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hả (%s)?"
 
-#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3292
-#: sequencer.c:3743 sequencer.c:3898 builtin/rebase.c:1538
-#: builtin/rebase.c:1963
+#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3493
+#: sequencer.c:3944 sequencer.c:4099 builtin/rebase.c:1528
+#: builtin/rebase.c:1953
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
@@ -58,7 +56,7 @@ msgstr "Cập nhật"
 msgid "could not stage '%s'"
 msgstr "không thể đưa “%s” lên bệ phóng"
 
-#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3486
+#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3687
 msgid "could not write index"
 msgstr "không thể ghi bảng mục lục"
 
@@ -73,7 +71,7 @@ msgstr[0] "đã cập nhật %d đường dẫn\n"
 msgid "note: %s is untracked now.\n"
 msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
 
-#: add-interactive.c:729 apply.c:4125 builtin/checkout.c:295
+#: add-interactive.c:729 apply.c:4127 builtin/checkout.c:298
 #: builtin/reset.c:145
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
@@ -217,12 +215,12 @@ msgstr "đã đưa lên bệ phóng"
 msgid "unstaged"
 msgstr "chưa đưa lên bệ phóng"
 
-#: add-interactive.c:1144 apply.c:4987 apply.c:4990 builtin/am.c:2257
-#: builtin/am.c:2260 builtin/bugreport.c:134 builtin/clone.c:124
-#: builtin/fetch.c:150 builtin/merge.c:285 builtin/pull.c:190
-#: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1818
-#: builtin/submodule--helper.c:1821 builtin/submodule--helper.c:2326
-#: builtin/submodule--helper.c:2329 builtin/submodule--helper.c:2572
+#: add-interactive.c:1144 apply.c:4994 apply.c:4997 builtin/am.c:2308
+#: builtin/am.c:2311 builtin/bugreport.c:135 builtin/clone.c:128
+#: builtin/fetch.c:152 builtin/merge.c:285 builtin/pull.c:190
+#: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1819
+#: builtin/submodule--helper.c:1822 builtin/submodule--helper.c:2327
+#: builtin/submodule--helper.c:2330 builtin/submodule--helper.c:2573
 #: git-add--interactive.perl:213
 msgid "path"
 msgstr "đường-dẫn"
@@ -746,7 +744,7 @@ msgstr "Rất tiếc, không thể sửa khúc này"
 msgid "'git apply' failed"
 msgstr "“git apply” gặp lỗi"
 
-#: advice.c:143
+#: advice.c:145
 #, c-format
 msgid ""
 "\n"
@@ -755,45 +753,45 @@ msgstr ""
 "\n"
 "Tắt lời nhắn này bằng \"git config advice.%s false\""
 
-#: advice.c:159
+#: advice.c:161
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sgợi ý: %.*s%s\n"
 
-#: advice.c:250
+#: advice.c:252
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 "Cherry-picking là không thể thực hiện bởi vì bạn có những tập tin chưa được "
 "hòa trộn."
 
-#: advice.c:252
+#: advice.c:254
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 "Commit là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: advice.c:254
+#: advice.c:256
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 "Merge là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: advice.c:256
+#: advice.c:258
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 "Pull là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: advice.c:258
+#: advice.c:260
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 "Revert là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: advice.c:260
+#: advice.c:262
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 "Việc này không thể thực hiện với %s bởi vì bạn có những tập tin chưa được "
 "hòa trộn."
 
-#: advice.c:268
+#: advice.c:270
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -801,23 +799,41 @@ msgstr ""
 "Sửa chúng trong cây làm việc, và sau đó dùng lệnh “git add/rm <tập-tin>”\n"
 "dành riêng cho việc đánh dấu cần giải quyết và tạo lần chuyển giao."
 
-#: advice.c:276
+#: advice.c:278
 msgid "Exiting because of an unresolved conflict."
 msgstr "Thoát ra bởi vì xung đột không thể giải quyết."
 
-#: advice.c:281 builtin/merge.c:1370
+#: advice.c:283 builtin/merge.c:1374
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại)."
 
-#: advice.c:283
+#: advice.c:285
 msgid "Please, commit your changes before merging."
 msgstr "Vui lòng chuyển giao các thay đổi trước khi hòa trộn."
 
-#: advice.c:284
+#: advice.c:286
 msgid "Exiting because of unfinished merge."
 msgstr "Thoát ra bởi vì việc hòa trộn không hoàn tất."
 
-#: advice.c:290
+#: advice.c:296
+#, c-format
+msgid ""
+"The following pathspecs didn't match any eligible path, but they do match "
+"index\n"
+"entries outside the current sparse checkout:\n"
+msgstr ""
+"Các đặc tả đường dẫn sau đây không khớp với bất kỳ đường dẫn thích hợp nào,\n"
+"nhưng chúng khớp với các mục mục lục bên ngoài \"sparse checkout\" hiện "
+"tại:\n"
+
+#: advice.c:303
+msgid ""
+"Disable or modify the sparsity rules if you intend to update such entries."
+msgstr ""
+"Vô hiệu hóa hoặc sửa đổi các quy tắc sparsity nếu bạn có ý định cập nhật các "
+"mục như vậy."
+
+#: advice.c:310
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -867,85 +883,81 @@ msgstr "cmdline kết thúc với \\"
 msgid "unclosed quote"
 msgstr "chưa có dấu nháy đóng"
 
-#: apply.c:69
+#: apply.c:70
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "không nhận ra tùy chọn về khoảng trắng “%s”"
 
-#: apply.c:85
+#: apply.c:86
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "không nhận ra tùy chọn bỏ qua khoảng trắng “%s”"
 
-#: apply.c:135
+#: apply.c:136
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject và --3way không thể dùng cùng nhau."
 
-#: apply.c:137
-msgid "--cached and --3way cannot be used together."
-msgstr "--cached và --3way không thể dùng cùng nhau."
-
-#: apply.c:140
+#: apply.c:139
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: apply.c:151
+#: apply.c:150
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: apply.c:154
+#: apply.c:153
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: apply.c:801
+#: apply.c:800
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr ""
 "Không thể chuẩn bị biểu thức chính qui dấu vết thời gian (timestamp regexp) "
 "%s"
 
-#: apply.c:810
+#: apply.c:809
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "thi hành biểu thức chính quy trả về %d cho đầu vào: %s"
 
-#: apply.c:884
+#: apply.c:883
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "không thể tìm thấy tên tập tin trong miếng vá tại dòng %d"
 
-#: apply.c:922
+#: apply.c:921
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 "git apply: git-diff sai - cần /dev/null, nhưng lại nhận được %s trên dòng %d"
 
-#: apply.c:928
+#: apply.c:927
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin mới không nhất quán trên dòng %d"
 
-#: apply.c:929
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin cũ không nhất quán trên dòng %d"
 
-#: apply.c:934
+#: apply.c:933
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: git-diff sai - cần “/dev/null” trên dòng %d"
 
-#: apply.c:963
+#: apply.c:962
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "chế độ không hợp lệ trên dòng %d: %s"
 
-#: apply.c:1282
+#: apply.c:1281
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "phần đầu mâu thuẫn dòng %d và %d"
 
-#: apply.c:1372
+#: apply.c:1371
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -957,91 +969,91 @@ msgstr[0] ""
 "phần đầu diff cho git  thiếu thông tin tên tập tin khi gỡ bỏ đi %d trong "
 "thành phần dẫn đầu tên của đường dẫn (dòng %d)"
 
-#: apply.c:1385
+#: apply.c:1384
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "phần đầu diff cho git thiếu thông tin tên tập tin (dòng %d)"
 
-#: apply.c:1481
+#: apply.c:1480
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không cần: %.*s"
 
-#: apply.c:1550
+#: apply.c:1549
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "miếng vá phân mảnh mà không có phần đầu tại dòng %d: %.*s"
 
-#: apply.c:1753
+#: apply.c:1752
 msgid "new file depends on old contents"
 msgstr "tập tin mới phụ thuộc vào nội dung cũ"
 
-#: apply.c:1755
+#: apply.c:1754
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: apply.c:1789
+#: apply.c:1788
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: apply.c:1826
+#: apply.c:1825
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "tập tin mới %s phụ thuộc vào nội dung cũ"
 
-#: apply.c:1828
+#: apply.c:1827
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "tập tin đã xóa %s vẫn còn nội dung"
 
-#: apply.c:1831
+#: apply.c:1830
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** cảnh báo: tập tin %s trở nên trống rỗng nhưng không bị xóa"
 
-#: apply.c:1978
+#: apply.c:1977
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "miếng vá định dạng nhị phân sai hỏng tại dòng %d: %.*s"
 
-#: apply.c:2015
+#: apply.c:2014
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "miếng vá định dạng nhị phân không được nhận ra tại dòng %d"
 
-#: apply.c:2177
+#: apply.c:2176
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: apply.c:2263
+#: apply.c:2262
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: apply.c:2267
+#: apply.c:2266
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2936
+#: apply.c:2935
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3057
+#: apply.c:3056
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Khối dữ liệu #%d thành công tại %d (offset %d dòng)."
 
-#: apply.c:3069
+#: apply.c:3068
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Ngữ cảnh bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: apply.c:3075
+#: apply.c:3074
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1050,440 +1062,448 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3097
+#: apply.c:3096
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "thiếu dữ liệu của miếng vá định dạng nhị phân cho “%s”"
 
-#: apply.c:3105
+#: apply.c:3104
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "không thể reverse-apply một miếng vá nhị phân mà không đảo ngược khúc thành "
 "“%s”"
 
-#: apply.c:3152
+#: apply.c:3151
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "không thể áp dụng miếng vá nhị phân thành “%s” mà không có dòng chỉ mục đầy "
 "đủ"
 
-#: apply.c:3163
+#: apply.c:3162
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "miếng vá áp dụng cho “%s” (%s), cái mà không khớp với các nội dung hiện tại."
 
-#: apply.c:3171
+#: apply.c:3170
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "miếng vá áp dụng cho một “%s” trống rỗng nhưng nó lại không trống"
 
-#: apply.c:3189
+#: apply.c:3188
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "không thể đọc postimage %s cần thiết cho “%s”"
 
-#: apply.c:3202
+#: apply.c:3201
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%s”"
 
-#: apply.c:3209
+#: apply.c:3208
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "vá nhị phân cho “%s” tạo ra kết quả không chính xác (mong chờ %s, lại nhận "
 "%s)"
 
-#: apply.c:3230
+#: apply.c:3229
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3353
+#: apply.c:3352
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:86 pack-revindex.c:213
+#: apply.c:3404 apply.c:3415 apply.c:3461 midx.c:98 pack-revindex.c:214
 #: setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3413
+#: apply.c:3412
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "đọc từ “%s” vượt ra ngoài liên kết mềm"
 
-#: apply.c:3442 apply.c:3685
+#: apply.c:3441 apply.c:3687
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3528 apply.c:3700
+#: apply.c:3527 apply.c:3702
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: không tồn tại trong bảng mục lục"
 
-#: apply.c:3537 apply.c:3708 apply.c:3952
+#: apply.c:3536 apply.c:3710 apply.c:3954
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3572
-msgid "repository lacks the necessary blob to fall back on 3-way merge."
-msgstr "kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
+#: apply.c:3571
+msgid "repository lacks the necessary blob to perform 3-way merge."
+msgstr "kho thiếu đối tượng blob cần thiết để thực hiện hòa trộn “3-way”."
 
-#: apply.c:3575
+#: apply.c:3574
 #, c-format
-msgid "Falling back to three-way merge...\n"
-msgstr "Đang trở lại hòa trộn “3-đường”…\n"
+msgid "Performing three-way merge...\n"
+msgstr "Đang thực hiện hòa trộn “3-đường”…\n"
 
-#: apply.c:3591 apply.c:3595
+#: apply.c:3590 apply.c:3594
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "không thể đọc nội dung hiện hành của “%s”"
 
-#: apply.c:3607
+#: apply.c:3606
 #, c-format
-msgid "Failed to fall back on three-way merge...\n"
-msgstr "Gặp lỗi khi quay trở lại để hòa trộn kiểu “three-way”…\n"
+msgid "Failed to perform three-way merge...\n"
+msgstr "Gặp lỗi khi thực hiện hòa trộn kiểu “three-way”…\n"
 
-#: apply.c:3621
+#: apply.c:3620
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Đã áp dụng miếng vá %s với các xung đột.\n"
 
-#: apply.c:3626
+#: apply.c:3625
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ.\n"
 
-#: apply.c:3652
+#: apply.c:3642
+#, c-format
+msgid "Falling back to direct application...\n"
+msgstr "Đang trở lại ứng dụng chi phối…\n"
+
+#: apply.c:3654
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3725
+#: apply.c:3727
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3727
+#: apply.c:3729
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3892 apply.c:3894 read-cache.c:832 read-cache.c:858
-#: read-cache.c:1313
+#: apply.c:3894 apply.c:3896 read-cache.c:861 read-cache.c:890
+#: read-cache.c:1351
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3950
+#: apply.c:3952
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3954
+#: apply.c:3956
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: đã sẵn có trong thư mục đang làm việc"
 
-#: apply.c:3974
+#: apply.c:3976
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o)"
 
-#: apply.c:3979
+#: apply.c:3981
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o) của %s"
 
-#: apply.c:3999
+#: apply.c:4001
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "tập tin chịu tác động “%s” vượt ra ngoài liên kết mềm"
 
-#: apply.c:4003
+#: apply.c:4005
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:4018
+#: apply.c:4020
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4110
+#: apply.c:4112
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "thông tin sha1 thiếu hoặc không dùng được cho mô-đun %s"
 
-#: apply.c:4117
+#: apply.c:4119
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "thay đổi chế độ cho %s, cái mà không phải là HEAD hiện tại"
 
-#: apply.c:4120
+#: apply.c:4122
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "thông tin sha1 còn thiếu hay không dùng được(%s)."
 
-#: apply.c:4129
+#: apply.c:4131
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "không thể thêm %s vào chỉ mục tạm thời"
 
-#: apply.c:4139
+#: apply.c:4141
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "không thể ghi mục lục tạm vào %s"
 
-#: apply.c:4277
+#: apply.c:4279
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4311
+#: apply.c:4313
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4317
+#: apply.c:4319
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy thống kê về tập tin %s mới hơn đã được tạo"
 
-#: apply.c:4325
+#: apply.c:4327
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "không thể tạo “kho lưu đằng sau” cho tập tin được tạo mới hơn %s"
 
-#: apply.c:4331 apply.c:4476
+#: apply.c:4333 apply.c:4478
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4374 builtin/bisect--helper.c:523
+#: apply.c:4376 builtin/bisect--helper.c:523
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4378
+#: apply.c:4380
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4448
+#: apply.c:4450
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "không thể ghi vào tập tin “%s” chế độ %o"
 
-#: apply.c:4546
+#: apply.c:4548
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4554
+#: apply.c:4556
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4557
+#: apply.c:4559
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối…"
 
-#: apply.c:4568
+#: apply.c:4570
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt ngắn tên tập tin .rej thành %.*s.rej"
 
-#: apply.c:4576 builtin/fetch.c:933 builtin/fetch.c:1334
+#: apply.c:4578 builtin/fetch.c:993 builtin/fetch.c:1394
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4590
+#: apply.c:4592
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4594
+#: apply.c:4596
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4718
+#: apply.c:4725
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Bỏ qua đường dẫn “%s”."
 
-#: apply.c:4726
+#: apply.c:4733
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: apply.c:4746
+#: apply.c:4753
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: apply.c:4903
+#: apply.c:4910
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4930
+#: apply.c:4937
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "đã chấm dứt %d lỗi khoảng trắng"
 
-#: apply.c:4936 apply.c:4951
+#: apply.c:4943 apply.c:4958
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d dòng thêm khoảng trắng lỗi."
 
-#: apply.c:4944
+#: apply.c:4951
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d dòng được áp dụng sau khi sửa các lỗi khoảng trắng."
 
-#: apply.c:4960 builtin/add.c:626 builtin/mv.c:304 builtin/rm.c:406
+#: apply.c:4967 builtin/add.c:679 builtin/mv.c:304 builtin/rm.c:423
 msgid "Unable to write new index file"
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: apply.c:4988
+#: apply.c:4995
 msgid "don't apply changes matching the given path"
 msgstr "không áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: apply.c:4991
+#: apply.c:4998
 msgid "apply changes matching the given path"
 msgstr "áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: apply.c:4993 builtin/am.c:2266
+#: apply.c:5000 builtin/am.c:2317
 msgid "num"
 msgstr "số"
 
-#: apply.c:4994
+#: apply.c:5001
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> dấu gạch chéo dẫn đầu từ đường dẫn diff cổ điển"
 
-#: apply.c:4997
+#: apply.c:5004
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần bổ xung được tạo ra bởi miếng vá"
 
-#: apply.c:4999
+#: apply.c:5006
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "thay vì áp dụng một miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra"
 
-#: apply.c:5003
+#: apply.c:5010
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "hiển thị số lượng các dòng được thêm vào và xóa đi theo ký hiệu thập phân"
 
-#: apply.c:5005
+#: apply.c:5012
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả cho đầu vào"
 
-#: apply.c:5007
+#: apply.c:5014
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thích hợp không"
 
-#: apply.c:5009
+#: apply.c:5016
 msgid "make sure the patch is applicable to the current index"
 msgstr "hãy chắc chắn là miếng vá thích hợp với bảng mục lục hiện hành"
 
-#: apply.c:5011
+#: apply.c:5018
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "đánh dấu các tập tin mới với “git add --intent-to-add”"
 
-#: apply.c:5013
+#: apply.c:5020
 msgid "apply a patch without touching the working tree"
 msgstr "áp dụng một miếng vá mà không động chạm đến cây làm việc"
 
-#: apply.c:5015
+#: apply.c:5022
 msgid "accept a patch that touches outside the working area"
 msgstr "chấp nhận một miếng vá mà không động chạm đến cây làm việc"
 
-#: apply.c:5018
+#: apply.c:5025
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 "đồng thời áp dụng miếng vá (dùng với tùy chọn --stat/--summary/--check)"
 
-#: apply.c:5020
-msgid "attempt three-way merge if a patch does not apply"
-msgstr "thử hòa trộn kiểu three-way nếu việc vá không thể thực hiện được"
+#: apply.c:5027
+msgid "attempt three-way merge, fall back on normal patch if that fails"
+msgstr ""
+"thử hòa trộn kiểu three-way, quay lại dán bình thường nếu không thể thực "
+"hiện được"
 
-#: apply.c:5022
+#: apply.c:5029
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "xây dựng bảng mục lục tạm thời trên cơ sở thông tin bảng mục lục được nhúng"
 
-#: apply.c:5025 builtin/checkout-index.c:195 builtin/ls-files.c:540
+#: apply.c:5032 builtin/checkout-index.c:196 builtin/ls-files.c:617
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
-#: apply.c:5027
+#: apply.c:5034
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng ngữ cảnh khớp"
 
-#: apply.c:5028 builtin/am.c:2245 builtin/interpret-trailers.c:98
-#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3577 builtin/rebase.c:1352
+#: apply.c:5035 builtin/am.c:2293 builtin/am.c:2296
+#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3831
+#: builtin/rebase.c:1347
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:5029
+#: apply.c:5036
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "tìm thấy một dòng mới hoặc bị sửa đổi mà nó có lỗi do khoảng trắng"
 
-#: apply.c:5032 apply.c:5035
+#: apply.c:5039 apply.c:5042
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi tìm ngữ cảnh"
 
-#: apply.c:5038
+#: apply.c:5045
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:5040
+#: apply.c:5047
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng ngữ cảnh"
 
-#: apply.c:5042
+#: apply.c:5049
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.rej tương ứng"
 
-#: apply.c:5044
+#: apply.c:5051
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:5045 builtin/add.c:337 builtin/check-ignore.c:22
-#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:757
-#: builtin/log.c:2286 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5052 builtin/add.c:364 builtin/check-ignore.c:22
+#: builtin/commit.c:1474 builtin/count-objects.c:98 builtin/fsck.c:755
+#: builtin/log.c:2295 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:5047
+#: apply.c:5054
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "đã dò tìm thấy dung sai không chính xác thiếu dòng mới tại cuối tập tin"
 
-#: apply.c:5050
+#: apply.c:5057
 msgid "do not trust the line counts in the hunk headers"
 msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu"
 
-#: apply.c:5052 builtin/am.c:2254
+#: apply.c:5059 builtin/am.c:2305
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:5053
+#: apply.c:5060
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
@@ -1550,141 +1570,141 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:192
+#: archive.c:188
 #, c-format
 msgid "cannot read %s"
 msgstr "không thể đọc %s"
 
-#: archive.c:345 sequencer.c:459 sequencer.c:1744 sequencer.c:2894
-#: sequencer.c:3335 sequencer.c:3444 builtin/am.c:249 builtin/commit.c:786
-#: builtin/merge.c:1139
+#: archive.c:342 sequencer.c:460 sequencer.c:1915 sequencer.c:3095
+#: sequencer.c:3536 sequencer.c:3645 builtin/am.c:261 builtin/commit.c:833
+#: builtin/merge.c:1143
 #, c-format
 msgid "could not read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: archive.c:430 builtin/add.c:189 builtin/add.c:602 builtin/rm.c:315
+#: archive.c:427 builtin/add.c:205 builtin/add.c:646 builtin/rm.c:328
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào"
 
-#: archive.c:454
+#: archive.c:451
 #, c-format
 msgid "no such ref: %.*s"
 msgstr "không có tham chiếu nào như thế: %.*s"
 
-#: archive.c:460
+#: archive.c:457
 #, c-format
 msgid "not a valid object name: %s"
 msgstr "không phải là tên đối tượng hợp lệ: “%s”"
 
-#: archive.c:473
+#: archive.c:470
 #, c-format
 msgid "not a tree object: %s"
 msgstr "không phải là đối tượng cây: “%s”"
 
-#: archive.c:485
+#: archive.c:482
 msgid "current working directory is untracked"
 msgstr "thư mục làm việc hiện hành chưa được theo dõi"
 
-#: archive.c:526
+#: archive.c:523
 #, c-format
 msgid "File not found: %s"
 msgstr "Không tìm thấy tập tin: %s"
 
-#: archive.c:528
+#: archive.c:525
 #, c-format
 msgid "Not a regular file: %s"
 msgstr "Không phải một tập tin thường: %s"
 
-#: archive.c:555
+#: archive.c:552
 msgid "fmt"
 msgstr "định_dạng"
 
-#: archive.c:555
+#: archive.c:552
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:556 builtin/log.c:1764
+#: archive.c:553 builtin/log.c:1772
 msgid "prefix"
 msgstr "tiền_tố"
 
-#: archive.c:557
+#: archive.c:554
 msgid "prepend prefix to each pathname in the archive"
 msgstr "nối thêm tiền tố vào từng đường dẫn tập tin trong kho lưu"
 
-#: archive.c:558 archive.c:561 builtin/blame.c:884 builtin/blame.c:888
+#: archive.c:555 archive.c:558 builtin/blame.c:884 builtin/blame.c:888
 #: builtin/blame.c:889 builtin/commit-tree.c:117 builtin/config.c:135
 #: builtin/fast-export.c:1207 builtin/fast-export.c:1209
-#: builtin/fast-export.c:1213 builtin/grep.c:920 builtin/hash-object.c:105
-#: builtin/ls-files.c:576 builtin/ls-files.c:579 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:190
+#: builtin/fast-export.c:1213 builtin/grep.c:922 builtin/hash-object.c:105
+#: builtin/ls-files.c:653 builtin/ls-files.c:656 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:191
 msgid "file"
 msgstr "tập_tin"
 
-#: archive.c:559
+#: archive.c:556
 msgid "add untracked file to archive"
 msgstr "thêm các tập tin không được theo dõi vào kho lưu"
 
-#: archive.c:562 builtin/archive.c:90
+#: archive.c:559 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr "ghi kho lưu vào tập tin này"
 
-#: archive.c:564
+#: archive.c:561
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:565
+#: archive.c:562
 msgid "report archived files on stderr"
 msgstr "liệt kê các tập tin được lưu trữ vào stderr (đầu ra lỗi tiêu chuẩn)"
 
-#: archive.c:567
+#: archive.c:564
 msgid "set compression level"
 msgstr "đặt mức nén"
 
-#: archive.c:570
+#: archive.c:567
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:572 builtin/archive.c:91 builtin/clone.c:114 builtin/clone.c:117
-#: builtin/submodule--helper.c:1830 builtin/submodule--helper.c:2335
+#: archive.c:569 builtin/archive.c:91 builtin/clone.c:118 builtin/clone.c:121
+#: builtin/submodule--helper.c:1831 builtin/submodule--helper.c:2336
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:573 builtin/archive.c:92
+#: archive.c:570 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:574 builtin/archive.c:93 builtin/difftool.c:714
+#: archive.c:571 builtin/archive.c:93 builtin/difftool.c:718
 #: builtin/notes.c:498
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:575 builtin/archive.c:94
+#: archive.c:572 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
-#: archive.c:582
+#: archive.c:579
 msgid "Unexpected option --remote"
 msgstr "Gặp tùy chọn không cần --remote"
 
-#: archive.c:584
+#: archive.c:581
 msgid "Option --exec can only be used together with --remote"
 msgstr "Tùy chọn --exec chỉ có thể được dùng cùng với --remote"
 
-#: archive.c:586
+#: archive.c:583
 msgid "Unexpected option --output"
 msgstr "Gặp tùy chọn không cần --output"
 
-#: archive.c:588
+#: archive.c:585
 msgid "Options --add-file and --remote cannot be used together"
 msgstr "Các tùy chọn --add-file và --remote không thể sử dụng cùng với nhau"
 
-#: archive.c:610
+#: archive.c:607
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Không hiểu định dạng “%s”"
 
-#: archive.c:619
+#: archive.c:616
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
@@ -1694,12 +1714,12 @@ msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s không phải tên thuộc tính hợp lệ"
 
-#: attr.c:359
+#: attr.c:363
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s không được phép: %s:%d"
 
-#: attr.c:399
+#: attr.c:403
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1782,7 +1802,7 @@ msgstr "Bisecting: nền hòa trộn cần phải được kiểm tra\n"
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:287
+#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:298
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
@@ -1825,40 +1845,40 @@ 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] "Bisecting: còn %d điểm xét duyệt để kiểm sau %s này\n"
 
-#: blame.c:2777
+#: blame.c:2776
 msgid "--contents and --reverse do not blend well."
 msgstr "tùy chọn--contents và --reverse không được trộn vào nhau."
 
-#: blame.c:2791
+#: blame.c:2790
 msgid "cannot use --contents with final commit object name"
 msgstr "không thể dùng --contents với tên đối tượng chuyển giao cuối cùng"
 
-#: blame.c:2812
+#: blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "cùng sử dụng --reverse và --first-parent cần chỉ định lần chuyển giao cuối"
 
-#: blame.c:2821 bundle.c:213 ref-filter.c:2206 remote.c:2041 sequencer.c:2146
-#: sequencer.c:4641 submodule.c:856 builtin/commit.c:1045 builtin/log.c:411
-#: builtin/log.c:1016 builtin/log.c:1624 builtin/log.c:2045 builtin/log.c:2335
-#: builtin/merge.c:424 builtin/pack-objects.c:3395 builtin/pack-objects.c:3410
-#: builtin/shortlog.c:255
+#: blame.c:2820 bundle.c:213 ref-filter.c:2207 remote.c:2041 sequencer.c:2333
+#: sequencer.c:4866 submodule.c:857 builtin/commit.c:1106 builtin/log.c:411
+#: builtin/log.c:1018 builtin/log.c:1626 builtin/log.c:2054 builtin/log.c:2344
+#: builtin/merge.c:428 builtin/pack-objects.c:3183 builtin/pack-objects.c:3646
+#: builtin/pack-objects.c:3661 builtin/shortlog.c:255
 msgid "revision walk setup failed"
 msgstr "cài đặt việc di chuyển qua các điểm xét duyệt gặp lỗi"
 
-#: blame.c:2839
+#: blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "cùng sử dụng --reverse --first-parent yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
 "tiên"
 
-#: blame.c:2850
+#: blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: blame.c:2861
+#: blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
@@ -1994,12 +2014,12 @@ msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: branch.c:365
+#: branch.c:366
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "“%s” đã được lấy ra tại “%s” rồi"
 
-#: branch.c:388
+#: branch.c:389
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "HEAD của cây làm việc %s chưa được cập nhật"
@@ -2024,8 +2044,8 @@ msgstr "“%s” không giống như tập tin v2 hay v3 bundle (định dạng
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2398 sequencer.c:3184
-#: builtin/commit.c:814
+#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2593 sequencer.c:3385
+#: builtin/commit.c:861
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -2081,7 +2101,7 @@ msgstr "phiên bản bundle %d không được hỗ trợ"
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "không thể ghi phiên bản bundle %d với thuật toán %s"
 
-#: bundle.c:510 builtin/log.c:210 builtin/log.c:1926 builtin/shortlog.c:396
+#: bundle.c:510 builtin/log.c:210 builtin/log.c:1935 builtin/shortlog.c:396
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
@@ -2123,249 +2143,249 @@ msgstr "mảnh cuối cùng có id không bằng không %<PRIx32>"
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit-graph.c:197 midx.c:46
+#: commit-graph.c:204 midx.c:47
 msgid "invalid hash version"
 msgstr "phiên bản băm không hợp lệ"
 
-#: commit-graph.c:255
+#: commit-graph.c:262
 msgid "commit-graph file is too small"
 msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ"
 
-#: commit-graph.c:348
+#: commit-graph.c:355
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "chữ ký đồ-thị-các-lần-chuyển-giao %X không khớp chữ ký %X"
 
-#: commit-graph.c:355
+#: commit-graph.c:362
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:362
+#: commit-graph.c:369
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:379
+#: commit-graph.c:386
 #, c-format
 msgid "commit-graph file is too small to hold %u chunks"
 msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ để giữ %u mảnh dữ liệu"
 
-#: commit-graph.c:472
+#: commit-graph.c:482
 msgid "commit-graph has no base graphs chunk"
 msgstr "đồ-thị-các-lần-chuyển-giao có không có mảnh các đồ họa cơ sở"
 
-#: commit-graph.c:482
+#: commit-graph.c:492
 msgid "commit-graph chain does not match"
 msgstr "móc xích đồ-thị-các-lần-chuyển-giao không khớp"
 
-#: commit-graph.c:530
+#: commit-graph.c:540
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr ""
 "móc xích đồ-thị-các-lần-chuyển-giao không hợp lệ: dòng “%s” không phải là "
 "một mã băm"
 
-#: commit-graph.c:554
+#: commit-graph.c:564
 msgid "unable to find all commit-graph files"
 msgstr "không thể tìm thấy tất cả các tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:735 commit-graph.c:772
+#: commit-graph.c:745 commit-graph.c:782
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr ""
 "vị trí lần chuyển giao không hợp lệ. đồ-thị-các-lần-chuyển-giao có vẻ như đã "
 "bị hỏng"
 
-#: commit-graph.c:756
+#: commit-graph.c:766
 #, c-format
 msgid "could not find commit %s"
 msgstr "không thể tìm thấy lần chuyển giao %s"
 
-#: commit-graph.c:789
+#: commit-graph.c:799
 msgid "commit-graph requires overflow generation data but has none"
 msgstr "commit-graph yêu cầu dữ liệu tạo tràn nhưng không có"
 
-#: commit-graph.c:1065 builtin/am.c:1292
+#: commit-graph.c:1075 builtin/am.c:1340
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: commit-graph.c:1327 builtin/pack-objects.c:2872
+#: commit-graph.c:1337 builtin/pack-objects.c:2897
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "không thể lấy kiểu của đối tượng “%s”"
 
-#: commit-graph.c:1358
+#: commit-graph.c:1368
 msgid "Loading known commits in commit graph"
 msgstr "Đang tải các lần chuyển giao chưa biết trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1375
+#: commit-graph.c:1385
 msgid "Expanding reachable commits in commit graph"
 msgstr ""
 "Mở rộng các lần chuyển giao có thể tiếp cận được trong trong đồ thị lần "
 "chuyển giao"
 
-#: commit-graph.c:1395
+#: commit-graph.c:1405
 msgid "Clearing commit marks in commit graph"
 msgstr "Đang dọn dẹp các đánh dấu lần chuyển giao trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1414
+#: commit-graph.c:1424
 msgid "Computing commit graph topological levels"
 msgstr "Đang tính mức hình học tô-pô tạo đồ thị các lần chuyển giao"
 
-#: commit-graph.c:1467
+#: commit-graph.c:1477
 msgid "Computing commit graph generation numbers"
 msgstr "Đang tính toán số tạo đồ thị các lần chuyển giao"
 
-#: commit-graph.c:1548
+#: commit-graph.c:1558
 msgid "Computing commit changed paths Bloom filters"
 msgstr "Đang tính toán chuyển giao các bộ lọc Bloom đường dẫn bị thay đổi"
 
-#: commit-graph.c:1625
+#: commit-graph.c:1635
 msgid "Collecting referenced commits"
 msgstr "Đang sưu tập các lần chuyển giao được tham chiếu"
 
-#: commit-graph.c:1650
+#: commit-graph.c:1660
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong %d gói"
 
-#: commit-graph.c:1663
+#: commit-graph.c:1673
 #, c-format
 msgid "error adding pack %s"
 msgstr "gặp lỗi thêm gói %s"
 
-#: commit-graph.c:1667
+#: commit-graph.c:1677
 #, c-format
 msgid "error opening index for %s"
 msgstr "gặp lỗi khi mở mục lục cho “%s”"
 
-#: commit-graph.c:1704
+#: commit-graph.c:1714
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong số các đối "
 "tượng đã đóng gói"
 
-#: commit-graph.c:1722
+#: commit-graph.c:1732
 msgid "Finding extra edges in commit graph"
 msgstr "Đang tìm các cạnh mở tộng trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1771
+#: commit-graph.c:1781
 msgid "failed to write correct number of base graph ids"
 msgstr "gặp lỗi khi ghi số đúng của mã đồ họa cơ sở"
 
-#: commit-graph.c:1802 midx.c:794
+#: commit-graph.c:1812 midx.c:906
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: commit-graph.c:1815
+#: commit-graph.c:1825
 msgid "unable to create temporary graph layer"
 msgstr "không thể tạo lớp sơ đồ tạm thời"
 
-#: commit-graph.c:1820
+#: commit-graph.c:1830
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "không thể chỉnh sửa quyền chia sẻ thành “%s”"
 
-#: commit-graph.c:1879
+#: commit-graph.c:1887
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Đang ghi ra đồ thị các lần chuyển giao trong lần %d"
 
-#: commit-graph.c:1915
+#: commit-graph.c:1923
 msgid "unable to open commit-graph chain file"
 msgstr "không thể mở tập tin mắt xích đồ thị chuyển giao"
 
-#: commit-graph.c:1931
+#: commit-graph.c:1939
 msgid "failed to rename base commit-graph file"
 msgstr "gặp lỗi khi đổi tên tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:1951
+#: commit-graph.c:1959
 msgid "failed to rename temporary commit-graph file"
 msgstr "gặp lỗi khi đổi tên tập tin đồ-thị-các-lần-chuyển-giao tạm thời"
 
-#: commit-graph.c:2084
+#: commit-graph.c:2092
 msgid "Scanning merged commits"
 msgstr "Đang quét các lần chuyển giao đã hòa trộn"
 
-#: commit-graph.c:2128
+#: commit-graph.c:2136
 msgid "Merging commit-graph"
 msgstr "Đang hòa trộn đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:2235
+#: commit-graph.c:2244
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr ""
 "cố gắng để ghi một đồ thị các lần chuyển giao, nhưng “core.commitGraph” bị "
 "vô hiệu hóa"
 
-#: commit-graph.c:2342
+#: commit-graph.c:2351
 msgid "too many commits to write graph"
 msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
 
-#: commit-graph.c:2440
+#: commit-graph.c:2450
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "tập tin đồ-thị-các-lần-chuyển-giao có tổng kiểm không đúng và có vẻ như là "
 "đã hỏng"
 
-#: commit-graph.c:2450
+#: commit-graph.c:2460
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "đồ-thị-các-lần-chuyển-giao có thứ tự OID không đúng: %s sau %s"
 
-#: commit-graph.c:2460 commit-graph.c:2475
+#: commit-graph.c:2470 commit-graph.c:2485
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
 "đồ-thị-các-lần-chuyển-giao có giá trị fanout không đúng: fanout[%d] = %u != "
 "%u"
 
-#: commit-graph.c:2467
+#: commit-graph.c:2477
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "gặp lỗi khi phân tích lần chuyển giao từ %s đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:2485
+#: commit-graph.c:2495
 msgid "Verifying commits in commit graph"
 msgstr "Đang thẩm tra các lần chuyển giao trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:2500
+#: commit-graph.c:2510
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "gặp lỗi khi phân tích lần chuyển giao %s từ cơ sở dữ liệu đối tượng cho đồ "
 "thị lần chuyển giao"
 
-#: commit-graph.c:2507
+#: commit-graph.c:2517
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "OID cây gốc cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là %s != "
 "%s"
 
-#: commit-graph.c:2517
+#: commit-graph.c:2527
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 "danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là quá dài"
 
-#: commit-graph.c:2526
+#: commit-graph.c:2536
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "cha mẹ đồ-thị-các-lần-chuyển-giao cho %s là %s != %s"
 
-#: commit-graph.c:2540
+#: commit-graph.c:2550
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 "danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s bị chấm "
 "dứt quá sớm"
 
-#: commit-graph.c:2545
+#: commit-graph.c:2555
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -2373,7 +2393,7 @@ msgstr ""
 "đồ-thị-các-lần-chuyển-giao có con số không lần tạo cho lần chuyển giao %s, "
 "nhưng không phải số không ở chỗ khác"
 
-#: commit-graph.c:2549
+#: commit-graph.c:2559
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -2381,22 +2401,22 @@ msgstr ""
 "đồ-thị-các-lần-chuyển-giao có con số không phải không lần tạo cho lần chuyển "
 "giao %s, nhưng số không ở chỗ khác"
 
-#: commit-graph.c:2566
+#: commit-graph.c:2576
 #, c-format
 msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
 msgstr ""
 "tạo đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là %<PRIuMAX> < "
 "%<PRIuMAX>"
 
-#: commit-graph.c:2572
+#: commit-graph.c:2582
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
 "ngày chuyển giao cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là "
 "%<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:52 sequencer.c:2887 builtin/am.c:359 builtin/am.c:403
-#: builtin/am.c:1371 builtin/am.c:2018 builtin/replace.c:457
+#: commit.c:52 sequencer.c:3088 builtin/am.c:371 builtin/am.c:416
+#: builtin/am.c:421 builtin/am.c:1419 builtin/am.c:2066 builtin/replace.c:457
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
@@ -2426,28 +2446,28 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1223
+#: commit.c:1237
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: commit.c:1227
+#: commit.c:1241
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: commit.c:1230
+#: commit.c:1244
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: commit.c:1233
+#: commit.c:1247
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: commit.c:1487
+#: commit.c:1501
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
@@ -2514,7 +2534,7 @@ msgstr "khóa không chứa một phần: %s"
 msgid "key does not contain variable name: %s"
 msgstr "khóa không chứa bất kỳ một tên biến nào: %s"
 
-#: config.c:472 sequencer.c:2588
+#: config.c:472 sequencer.c:2785
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
@@ -2633,70 +2653,70 @@ msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s: %s"
 
-#: config.c:1194
+#: config.c:1257
 #, c-format
 msgid "bad boolean config value '%s' for '%s'"
 msgstr "sai giá trị kiểu lô-gíc của cấu hình “%s” cho “%s”"
 
-#: config.c:1289
+#: config.c:1275
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "gặp lỗi mở rộng thư mục người dùng trong: “%s”"
 
-#: config.c:1298
+#: config.c:1284
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "“%s” dành cho “%s” không phải là dấu vết thời gian hợp lệ"
 
-#: config.c:1391
+#: config.c:1377
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "chiều dài abbrev nằm ngoài phạm vi: %d"
 
-#: config.c:1405 config.c:1416
+#: config.c:1391 config.c:1402
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:1508
+#: config.c:1494
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar chỉ được có một ký tự"
 
-#: config.c:1541
+#: config.c:1527
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "chế độ không hợp lệ đối với việc tạo đối tượng: %s"
 
-#: config.c:1613
+#: config.c:1599
 #, c-format
 msgid "malformed value for %s"
 msgstr "giá trị cho %s sai dạng"
 
-#: config.c:1639
+#: config.c:1625
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "giá trị cho %s sai dạng: %s"
 
-#: config.c:1640
+#: config.c:1626
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "phải là một trong số nothing, matching, simple, upstream hay current"
 
-#: config.c:1701 builtin/pack-objects.c:3666
+#: config.c:1687 builtin/pack-objects.c:3924
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1823
+#: config.c:1809
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "không thể tải đối tượng blob cấu hình “%s”"
 
-#: config.c:1826
+#: config.c:1812
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "tham chiếu “%s” không chỉ đến một blob nào cả"
 
-#: config.c:1843
+#: config.c:1829
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "không thể phân giải điểm xét duyệt “%s”"
@@ -2706,105 +2726,105 @@ msgstr "không thể phân giải điểm xét duyệt “%s”"
 msgid "failed to parse %s"
 msgstr "gặp lỗi khi phân tích cú pháp %s"
 
-#: config.c:1927
+#: config.c:1929
 msgid "unable to parse command-line config"
 msgstr "không thể phân tích cấu hình dòng lệnh"
 
-#: config.c:2290
+#: config.c:2293
 msgid "unknown error occurred while reading the configuration files"
 msgstr "đã có lỗi chưa biết xảy ra trong khi đọc các tập tin cấu hình"
 
-#: config.c:2464
+#: config.c:2467
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2509
+#: config.c:2512
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "giá trị splitIndex.maxPercentChange “%d” phải nằm giữa 0 và 100"
 
-#: config.c:2555
+#: config.c:2558
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "không thể phân tích “%s” từ cấu hình dòng lệnh"
 
-#: config.c:2557
+#: config.c:2560
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "sai biến cấu hình “%s” trong tập tin “%s” tại dòng %d"
 
-#: config.c:2641
+#: config.c:2644
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "tên của phần không hợp lệ “%s”"
 
-#: config.c:2673
+#: config.c:2676
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2702
+#: config.c:2705
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "gặp lỗi khi ghi tập tin cấu hình “%s”"
 
-#: config.c:2954 config.c:3280
+#: config.c:2957 config.c:3283
 #, c-format
 msgid "could not lock config file %s"
 msgstr "không thể khóa tập tin cấu hình %s"
 
-#: config.c:2965
+#: config.c:2968
 #, c-format
 msgid "opening %s"
 msgstr "đang mở “%s”"
 
-#: config.c:3002 builtin/config.c:361
+#: config.c:3005 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "mẫu không hợp lệ: %s"
 
-#: config.c:3027
+#: config.c:3030
 #, c-format
 msgid "invalid config file %s"
 msgstr "tập tin cấu hình “%s” không hợp lệ"
 
-#: config.c:3040 config.c:3293
+#: config.c:3043 config.c:3296
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:3051
+#: config.c:3054
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "không thể mmap “%s”"
 
-#: config.c:3060 config.c:3298
+#: config.c:3063 config.c:3301
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod trên %s gặp lỗi"
 
-#: config.c:3145 config.c:3395
+#: config.c:3148 config.c:3398
 #, c-format
 msgid "could not write config file %s"
 msgstr "không thể ghi tập tin cấu hình “%s”"
 
-#: config.c:3179
+#: config.c:3182
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:3181 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
+#: config.c:3184 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
-#: config.c:3271
+#: config.c:3274
 #, c-format
 msgid "invalid section name: %s"
 msgstr "tên của phần không hợp lệ: %s"
 
-#: config.c:3438
+#: config.c:3441
 #, c-format
 msgid "missing value for '%s'"
 msgstr "thiếu giá trị cho cho “%s”"
@@ -2981,7 +3001,7 @@ msgstr "đã khóa tên đường dẫn lạ “%s”"
 msgid "unable to fork"
 msgstr "không thể rẽ nhánh tiến trình con"
 
-#: connected.c:108 builtin/fsck.c:191 builtin/prune.c:45
+#: connected.c:108 builtin/fsck.c:188 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
@@ -2997,17 +3017,17 @@ msgstr "gặp lỗi khi ghi vào rev-list"
 msgid "failed to close rev-list's stdin"
 msgstr "gặp lỗi khi đóng đầu vào chuẩn stdin của rev-list"
 
-#: convert.c:194
+#: convert.c:183
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr "crlf_action %d không hợp lệ"
 
-#: convert.c:207
+#: convert.c:196
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr "CRLF nên được thay bằng LF trong %s"
 
-#: convert.c:209
+#: convert.c:198
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -3016,12 +3036,12 @@ msgstr ""
 "CRLF sẽ bị thay thế bằng LF trong %s.\n"
 "Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn"
 
-#: convert.c:217
+#: convert.c:206
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "LF nên thay bằng CRLF trong %s"
 
-#: convert.c:219
+#: convert.c:208
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -3030,12 +3050,12 @@ msgstr ""
 "LF sẽ bị thay thế bằng CRLF trong %s.\n"
 "Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn"
 
-#: convert.c:284
+#: convert.c:273
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "BOM bị cấm trong “%s” nếu được mã hóa là %s"
 
-#: convert.c:291
+#: convert.c:280
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
@@ -3044,12 +3064,12 @@ msgstr ""
 "Tập tin “%s” có chứa ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%.*s như "
 "là bảng mã cây làm việc."
 
-#: convert.c:304
+#: convert.c:293
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "BOM là bắt buộc trong “%s” nếu được mã hóa là %s"
 
-#: convert.c:306
+#: convert.c:295
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -3058,50 +3078,50 @@ msgstr ""
 "Tập tin “%s” còn thiếu ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%sBE hay "
 "UTF-%sLE (còn phục thuộc vào thứ tự byte) như là bảng mã cây làm việc."
 
-#: convert.c:419 convert.c:490
+#: convert.c:408 convert.c:479
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "gặp lỗi khi mã hóa “%s”  từ “%s” sang “%s”"
 
-#: convert.c:462
+#: convert.c:451
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "mã hóa “%s” từ %s thành %s và ngược trở lại không phải là cùng"
 
-#: convert.c:665
+#: convert.c:654
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "không thể rẽ nhánh tiến trình để chạy bộ lọc bên ngoài “%s”"
 
-#: convert.c:685
+#: convert.c:674
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "không thể cấp đầu vào cho bộ lọc bên ngoài “%s”"
 
-#: convert.c:692
+#: convert.c:681
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "chạy bộ lọc bên ngoài “%s” gặp lỗi %d"
 
-#: convert.c:727 convert.c:730
+#: convert.c:716 convert.c:719
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "đọc từ bộ lọc bên ngoài “%s” gặp lỗi"
 
-#: convert.c:733 convert.c:788
+#: convert.c:722 convert.c:777
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "gặp lỗi khi chạy bộ lọc bên ngoài “%s”"
 
-#: convert.c:837
+#: convert.c:826
 msgid "unexpected filter type"
 msgstr "gặp kiểu bộ lọc thừa"
 
-#: convert.c:848
+#: convert.c:837
 msgid "path name too long for external filter"
 msgstr "tên đường dẫn quá dài cho bộ lọc bên ngoài"
 
-#: convert.c:940
+#: convert.c:934
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
@@ -3110,16 +3130,16 @@ msgstr ""
 "bộ lọc bên ngoài “%s” không sẵn sàng nữa mặc dù không phải tất cả các đường "
 "dẫn đã được lọc"
 
-#: convert.c:1240
+#: convert.c:1234
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false là không phải bảng-mã-cây-làm-việc hợp lệ"
 
-#: convert.c:1428 convert.c:1462
+#: convert.c:1414 convert.c:1447
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s: gặp lỗi khi xóa bộ lọc “%s”"
 
-#: convert.c:1508
+#: convert.c:1490
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s: smudge bộ lọc %s gặp lỗi"
@@ -3236,28 +3256,28 @@ msgstr ""
 msgid "Marked %d islands, done.\n"
 msgstr "Đã đánh dấu %d island, xong.\n"
 
-#: diff-merges.c:70
+#: diff-merges.c:80
 #, c-format
 msgid "unknown value for --diff-merges: %s"
 msgstr "không hiểu giá trị cho --diff-merges: %s"
 
-#: diff-lib.c:534
+#: diff-lib.c:538
 msgid "--merge-base does not work with ranges"
 msgstr "--merge-base không hoạt động với phạm vi"
 
-#: diff-lib.c:536
+#: diff-lib.c:540
 msgid "--merge-base only works with commits"
 msgstr "--merge-base chỉ hoạt động với các lần chuyển giao"
 
-#: diff-lib.c:553
+#: diff-lib.c:557
 msgid "unable to get HEAD"
 msgstr "không thể lấy HEAD"
 
-#: diff-lib.c:560
+#: diff-lib.c:564
 msgid "no merge base found"
 msgstr "không tìm thấy cơ sở để hòa trộn"
 
-#: diff-lib.c:562
+#: diff-lib.c:566
 msgid "multiple merge bases found"
 msgstr "có nhiều cơ sở để hòa trộn"
 
@@ -3323,35 +3343,35 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:4276
+#: diff.c:4278
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "phần mềm diff ở bên ngoài đã chết, dừng tại %s"
 
-#: diff.c:4628
+#: diff.c:4630
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check và -s loại từ lẫn nhau"
 
-#: diff.c:4631
+#: diff.c:4633
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "Các tùy chọn -G, -S, và --find-object loại từ lẫn nhau"
 
-#: diff.c:4710
+#: diff.c:4712
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4758
+#: diff.c:4760
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "giá trị --stat không hợp lệ: “%s”"
 
-#: diff.c:4763 diff.c:4768 diff.c:4773 diff.c:4778 diff.c:5306
+#: diff.c:4765 diff.c:4770 diff.c:4775 diff.c:4780 diff.c:5308
 #: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "tùy chọn “%s” cần một giá trị bằng số"
 
-#: diff.c:4795
+#: diff.c:4797
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3360,42 +3380,42 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4880
+#: diff.c:4882
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "không hiểu lớp thay đổi “%c” trong --diff-filter=%s"
 
-#: diff.c:4904
+#: diff.c:4906
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "không hiểu giá trị sau ws-error-highlight=%.*s"
 
-#: diff.c:4918
+#: diff.c:4920
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: diff.c:4968 diff.c:4974
+#: diff.c:4970 diff.c:4976
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s cần dạng <n>/<m>"
 
-#: diff.c:4986
+#: diff.c:4988
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s cần một ký tự, nhưng lại nhận được “%s”"
 
-#: diff.c:5007
+#: diff.c:5009
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "đối số --color-moved sai: %s"
 
-#: diff.c:5026
+#: diff.c:5028
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "chế độ “%s” không hợp lệ trong --color-moved-ws"
 
-#: diff.c:5066
+#: diff.c:5068
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -3403,155 +3423,155 @@ msgstr ""
 "tùy chọn  diff-algorithm chấp nhận \"myers\", \"minimal\", \"patience\" và "
 "\"histogram\""
 
-#: diff.c:5102 diff.c:5122
+#: diff.c:5104 diff.c:5124
 #, c-format
 msgid "invalid argument to %s"
 msgstr "tham số cho %s không hợp lệ"
 
-#: diff.c:5226
+#: diff.c:5228
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "đưa cho -I biểu thức chính quy không hợp lệ: “%s”"
 
-#: diff.c:5275
+#: diff.c:5277
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "gặp lỗi khi phân tích đối số tùy chọn --submodule: “%s”"
 
-#: diff.c:5331
+#: diff.c:5333
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "đối số --word-diff sai: %s"
 
-#: diff.c:5367
+#: diff.c:5369
 msgid "Diff output format options"
 msgstr "Các tùy chọn định dạng khi xuất các khác biệt"
 
-#: diff.c:5369 diff.c:5375
+#: diff.c:5371 diff.c:5377
 msgid "generate patch"
 msgstr "tạo miếng vá"
 
-#: diff.c:5372 builtin/log.c:179
+#: diff.c:5374 builtin/log.c:179
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: diff.c:5377 diff.c:5491 diff.c:5498
+#: diff.c:5379 diff.c:5493 diff.c:5500
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5378 diff.c:5381
+#: diff.c:5380 diff.c:5383
 msgid "generate diffs with <n> lines context"
 msgstr "tạo khác biệt với <n> dòng ngữ cảnh"
 
-#: diff.c:5383
+#: diff.c:5385
 msgid "generate the diff in raw format"
 msgstr "tạo khác biệt ở định dạng thô"
 
-#: diff.c:5386
+#: diff.c:5388
 msgid "synonym for '-p --raw'"
 msgstr "đồng nghĩa với “-p --raw”"
 
-#: diff.c:5390
+#: diff.c:5392
 msgid "synonym for '-p --stat'"
 msgstr "đồng nghĩa với “-p --stat”"
 
-#: diff.c:5394
+#: diff.c:5396
 msgid "machine friendly --stat"
 msgstr "--stat thuận tiện cho máy đọc"
 
-#: diff.c:5397
+#: diff.c:5399
 msgid "output only the last line of --stat"
 msgstr "chỉ xuất những dòng cuối của --stat"
 
-#: diff.c:5399 diff.c:5407
+#: diff.c:5401 diff.c:5409
 msgid "<param1,param2>..."
 msgstr "<tham_số_1,tham_số_2>…"
 
-#: diff.c:5400
+#: diff.c:5402
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr "đầu ra phân phối của số lượng thay đổi tương đối cho mỗi thư mục con"
 
-#: diff.c:5404
+#: diff.c:5406
 msgid "synonym for --dirstat=cumulative"
 msgstr "đồng nghĩa với --dirstat=cumulative"
 
-#: diff.c:5408
+#: diff.c:5410
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "đồng nghĩa với --dirstat=files,param1,param2…"
 
-#: diff.c:5412
+#: diff.c:5414
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "cảnh báo nếu các thay đổi đưa ra các bộ tạo xung đột hay lỗi khoảng trắng"
 
-#: diff.c:5415
+#: diff.c:5417
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "tổng hợp dạng xúc tích như là tạo, đổi tên và các thay đổi chế độ"
 
-#: diff.c:5418
+#: diff.c:5420
 msgid "show only names of changed files"
 msgstr "chỉ hiển thị tên của các tập tin đổi"
 
-#: diff.c:5421
+#: diff.c:5423
 msgid "show only names and status of changed files"
 msgstr "chỉ hiển thị tên tập tin và tình trạng của các tập tin bị thay đổi"
 
-#: diff.c:5423
+#: diff.c:5425
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<rộng>[,<name-width>[,<số-lượng>]]"
 
-#: diff.c:5424
+#: diff.c:5426
 msgid "generate diffstat"
 msgstr "tạo diffstat"
 
-#: diff.c:5426 diff.c:5429 diff.c:5432
+#: diff.c:5428 diff.c:5431 diff.c:5434
 msgid "<width>"
 msgstr "<rộng>"
 
-#: diff.c:5427
+#: diff.c:5429
 msgid "generate diffstat with a given width"
 msgstr "tạo diffstat với độ rộng đã cho"
 
-#: diff.c:5430
+#: diff.c:5432
 msgid "generate diffstat with a given name width"
 msgstr "tạo diffstat với tên độ rộng đã cho"
 
-#: diff.c:5433
+#: diff.c:5435
 msgid "generate diffstat with a given graph width"
 msgstr "tạo diffstat với độ rộng đồ thị đã cho"
 
-#: diff.c:5435
+#: diff.c:5437
 msgid "<count>"
 msgstr "<số_lượng>"
 
-#: diff.c:5436
+#: diff.c:5438
 msgid "generate diffstat with limited lines"
 msgstr "tạo diffstat với các dòng bị giới hạn"
 
-#: diff.c:5439
+#: diff.c:5441
 msgid "generate compact summary in diffstat"
 msgstr "tạo tổng hợp xúc tích trong diffstat"
 
-#: diff.c:5442
+#: diff.c:5444
 msgid "output a binary diff that can be applied"
 msgstr "xuất ra một khác biệt dạng nhị phân cái mà có thể được áp dụng"
 
-#: diff.c:5445
+#: diff.c:5447
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "hiển thị đầy đủ các tên đối tượng pre- và post-image trên các dòng \"mục lục"
 "\""
 
-#: diff.c:5447
+#: diff.c:5449
 msgid "show colored diff"
 msgstr "hiển thị thay đổi được tô màu"
 
-#: diff.c:5448
+#: diff.c:5450
 msgid "<kind>"
 msgstr "<kiểu>"
 
-#: diff.c:5449
+#: diff.c:5451
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -3559,7 +3579,7 @@ msgstr ""
 "tô sáng các lỗi về khoảng trắng trong các dòng “context”, “old” và “new” "
 "trong khác biệt"
 
-#: diff.c:5452
+#: diff.c:5454
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3567,89 +3587,89 @@ msgstr ""
 "không munge tên đường dẫn và sử dụng NUL làm bộ phân tách trường đầu ra "
 "trong --raw hay --numstat"
 
-#: diff.c:5455 diff.c:5458 diff.c:5461 diff.c:5570
+#: diff.c:5457 diff.c:5460 diff.c:5463 diff.c:5572
 msgid "<prefix>"
 msgstr "<tiền_tố>"
 
-#: diff.c:5456
+#: diff.c:5458
 msgid "show the given source prefix instead of \"a/\""
 msgstr "hiển thị tiền tố nguồn đã cho thay cho \"a/\""
 
-#: diff.c:5459
+#: diff.c:5461
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "hiển thị tiền tố đích đã cho thay cho \"b/\""
 
-#: diff.c:5462
+#: diff.c:5464
 msgid "prepend an additional prefix to every line of output"
 msgstr "treo vào trước một tiền tố bổ sung cho mỗi dòng kết xuất"
 
-#: diff.c:5465
+#: diff.c:5467
 msgid "do not show any source or destination prefix"
 msgstr "đừng hiển thị bất kỳ tiền tố nguồn hay đích"
 
-#: diff.c:5468
+#: diff.c:5470
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "hiển thị ngữ cảnh giữa các khúc khác biệt khi đạt đến số lượng dòng đã chỉ "
 "định"
 
-#: diff.c:5472 diff.c:5477 diff.c:5482
+#: diff.c:5474 diff.c:5479 diff.c:5484
 msgid "<char>"
 msgstr "<ký_tự>"
 
-#: diff.c:5473
+#: diff.c:5475
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "chỉ định một ký tự để biểu thị một dòng được thêm mới thay cho “+”"
 
-#: diff.c:5478
+#: diff.c:5480
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "chỉ định một ký tự để biểu thị một dòng đã cũ thay cho “-”"
 
-#: diff.c:5483
+#: diff.c:5485
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "chỉ định một ký tự để biểu thị một ngữ cảnh thay cho “”"
 
-#: diff.c:5486
+#: diff.c:5488
 msgid "Diff rename options"
 msgstr "Tùy chọn khác biệt đổi tên"
 
-#: diff.c:5487
+#: diff.c:5489
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5488
+#: diff.c:5490
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "ngắt các thay đổi ghi lại hoàn thiện thành cặp của xóa và tạo"
 
-#: diff.c:5492
+#: diff.c:5494
 msgid "detect renames"
 msgstr "dò tìm các tên thay đổi"
 
-#: diff.c:5496
+#: diff.c:5498
 msgid "omit the preimage for deletes"
 msgstr "bỏ qua preimage (tiền ảnh??) cho các việc xóa"
 
-#: diff.c:5499
+#: diff.c:5501
 msgid "detect copies"
 msgstr "dò bản sao"
 
-#: diff.c:5503
+#: diff.c:5505
 msgid "use unmodified files as source to find copies"
 msgstr "dùng các tập tin không bị chỉnh sửa như là nguồn để tìm các bản sao"
 
-#: diff.c:5505
+#: diff.c:5507
 msgid "disable rename detection"
 msgstr "tắt dò tìm đổi tên"
 
-#: diff.c:5508
+#: diff.c:5510
 msgid "use empty blobs as rename source"
 msgstr "dùng các blob trống rống như là nguồn đổi tên"
 
-#: diff.c:5510
+#: diff.c:5512
 msgid "continue listing the history of a file beyond renames"
 msgstr "tiếp tục liệt kê lịch sử của một tập tin ngoài đổi tên"
 
-#: diff.c:5513
+#: diff.c:5515
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -3657,160 +3677,160 @@ msgstr ""
 "ngăn cản dò tìm đổi tên/bản sao nếu số lượng của đích đổi tên/bản sao vượt "
 "quá giới hạn đưa ra"
 
-#: diff.c:5515
+#: diff.c:5517
 msgid "Diff algorithm options"
 msgstr "Tùy chọn thuật toán khác biệt"
 
-#: diff.c:5517
+#: diff.c:5519
 msgid "produce the smallest possible diff"
 msgstr "sản sinh khác biệt ít nhất có thể"
 
-#: diff.c:5520
+#: diff.c:5522
 msgid "ignore whitespace when comparing lines"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi so sánh các dòng"
 
-#: diff.c:5523
+#: diff.c:5525
 msgid "ignore changes in amount of whitespace"
 msgstr "lờ đi sự thay đổi do số lượng khoảng trắng gây ra"
 
-#: diff.c:5526
+#: diff.c:5528
 msgid "ignore changes in whitespace at EOL"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi ở cuối dòng EOL"
 
-#: diff.c:5529
+#: diff.c:5531
 msgid "ignore carrier-return at the end of line"
 msgstr "bỏ qua ký tự về đầu dòng tại cuối dòng"
 
-#: diff.c:5532
+#: diff.c:5534
 msgid "ignore changes whose lines are all blank"
 msgstr "bỏ qua các thay đổi cho toàn bộ các dòng là trống"
 
-#: diff.c:5534 diff.c:5556 diff.c:5559 diff.c:5604
+#: diff.c:5536 diff.c:5558 diff.c:5561 diff.c:5606
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5535
+#: diff.c:5537
 msgid "ignore changes whose all lines match <regex>"
 msgstr "bỏ qua các thay đổi có tất cả các dòng khớp <regex>"
 
-#: diff.c:5538
+#: diff.c:5540
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "heuristic để dịch hạn biên của khối khác biệt cho dễ đọc"
 
-#: diff.c:5541
+#: diff.c:5543
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"patience diff\""
 
-#: diff.c:5545
+#: diff.c:5547
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"histogram diff\""
 
-#: diff.c:5547
+#: diff.c:5549
 msgid "<algorithm>"
 msgstr "<thuật toán>"
 
-#: diff.c:5548
+#: diff.c:5550
 msgid "choose a diff algorithm"
 msgstr "chọn một thuật toán khác biệt"
 
-#: diff.c:5550
+#: diff.c:5552
 msgid "<text>"
 msgstr "<văn bản>"
 
-#: diff.c:5551
+#: diff.c:5553
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"anchored diff\""
 
-#: diff.c:5553 diff.c:5562 diff.c:5565
+#: diff.c:5555 diff.c:5564 diff.c:5567
 msgid "<mode>"
 msgstr "<chế độ>"
 
-#: diff.c:5554
+#: diff.c:5556
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "hiển thị khác biệt từ, sử dụng <chế độ> để bỏ giới hạn các từ bị thay đổi"
 
-#: diff.c:5557
+#: diff.c:5559
 msgid "use <regex> to decide what a word is"
 msgstr "dùng <regex> để quyết định từ là cái gì"
 
-#: diff.c:5560
+#: diff.c:5562
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "tương đương với --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5563
+#: diff.c:5565
 msgid "moved lines of code are colored differently"
 msgstr "các dòng di chuyển của mã mà được tô màu khác nhau"
 
-#: diff.c:5566
+#: diff.c:5568
 msgid "how white spaces are ignored in --color-moved"
 msgstr "cách bỏ qua khoảng trắng trong --color-moved"
 
-#: diff.c:5569
+#: diff.c:5571
 msgid "Other diff options"
 msgstr "Các tùy chọn khác biệt khác"
 
-#: diff.c:5571
+#: diff.c:5573
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "khi chạy từ thư mục con, thực thi các thay đổi bên ngoài và hiển thị các "
 "đường dẫn liên quan"
 
-#: diff.c:5575
+#: diff.c:5577
 msgid "treat all files as text"
 msgstr "coi mọi tập tin là dạng văn bản thường"
 
-#: diff.c:5577
+#: diff.c:5579
 msgid "swap two inputs, reverse the diff"
 msgstr "tráo đổi hai đầu vào, đảo ngược khác biệt"
 
-#: diff.c:5579
+#: diff.c:5581
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "thoát với mã 1 nếu không có khác biệt gì, 0 nếu ngược lại"
 
-#: diff.c:5581
+#: diff.c:5583
 msgid "disable all output of the program"
 msgstr "tắt mọi kết xuất của chương trình"
 
-#: diff.c:5583
+#: diff.c:5585
 msgid "allow an external diff helper to be executed"
 msgstr "cho phép mộ bộ hỗ trợ xuất khác biệt ở bên ngoài được phép thực thi"
 
-#: diff.c:5585
+#: diff.c:5587
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "chạy các bộ lọc văn bản thông thường bên ngoài khi so sánh các tập tin nhị "
 "phân"
 
-#: diff.c:5587
+#: diff.c:5589
 msgid "<when>"
 msgstr "<khi>"
 
-#: diff.c:5588
+#: diff.c:5590
 msgid "ignore changes to submodules in the diff generation"
 msgstr "bỏ qua các thay đổi trong mô-đun-con trong khi tạo khác biệt"
 
-#: diff.c:5591
+#: diff.c:5593
 msgid "<format>"
 msgstr "<định dạng>"
 
-#: diff.c:5592
+#: diff.c:5594
 msgid "specify how differences in submodules are shown"
 msgstr "chi định khác biệt bao nhiêu trong các mô đun con được hiển thị"
 
-#: diff.c:5596
+#: diff.c:5598
 msgid "hide 'git add -N' entries from the index"
 msgstr "ẩn các mục “git add -N” từ bảng mục lục"
 
-#: diff.c:5599
+#: diff.c:5601
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "coi các mục “git add -N” như là có thật trong bảng mục lục"
 
-#: diff.c:5601
+#: diff.c:5603
 msgid "<string>"
 msgstr "<chuỗi>"
 
-#: diff.c:5602
+#: diff.c:5604
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -3818,7 +3838,7 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của "
 "chuỗi được chỉ ra"
 
-#: diff.c:5605
+#: diff.c:5607
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3826,35 +3846,35 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của biểu "
 "thức chính quy được chỉ ra"
 
-#: diff.c:5608
+#: diff.c:5610
 msgid "show all changes in the changeset with -S or -G"
 msgstr "hiển thị tất cả các thay đổi trong một bộ các thay đổi với -S hay -G"
 
-#: diff.c:5611
+#: diff.c:5613
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "coi <chuỗi> trong -S như là biểu thức chính qui POSIX có mở rộng"
 
-#: diff.c:5614
+#: diff.c:5616
 msgid "control the order in which files appear in the output"
 msgstr "điều khiển thứ tự xuát hiện các tập tin trong kết xuất"
 
-#: diff.c:5615 diff.c:5618
+#: diff.c:5617 diff.c:5620
 msgid "<path>"
 msgstr "<đường-dẫn>"
 
-#: diff.c:5616
+#: diff.c:5618
 msgid "show the change in the specified path first"
 msgstr "hiển thị các thay đổi trong đường dẫn đã cho đầu tiên"
 
-#: diff.c:5619
+#: diff.c:5621
 msgid "skip the output to the specified path"
 msgstr "bỏ qua đầu ra đến đường dẫn đã cho"
 
-#: diff.c:5621
+#: diff.c:5623
 msgid "<object-id>"
 msgstr "<mã-số-đối-tượng>"
 
-#: diff.c:5622
+#: diff.c:5624
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3862,33 +3882,33 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của đối "
 "tượng được chỉ ra"
 
-#: diff.c:5624
+#: diff.c:5626
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]"
 
-#: diff.c:5625
+#: diff.c:5627
 msgid "select files by diff type"
 msgstr "chọn các tập tin theo kiểu khác biệt"
 
-#: diff.c:5627
+#: diff.c:5629
 msgid "<file>"
 msgstr "<tập_tin>"
 
-#: diff.c:5628
+#: diff.c:5630
 msgid "Output to a specific file"
 msgstr "Xuất ra một tập tin cụ thể"
 
-#: diff.c:6285
+#: diff.c:6287
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "nhận thấy đổi tên không chính xác đã bị bỏ qua bởi có quá nhiều tập tin."
 
-#: diff.c:6288
+#: diff.c:6290
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "chỉ tìm thấy các bản sao từ đường dẫn đã sửa đổi bởi vì có quá nhiều tập tin."
 
-#: diff.c:6291
+#: diff.c:6293
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3901,7 +3921,7 @@ msgstr ""
 msgid "failed to read orderfile '%s'"
 msgstr "gặp lỗi khi đọc tập-tin-thứ-tự “%s”"
 
-#: diffcore-rename.c:786
+#: diffcore-rename.c:1418
 msgid "Performing inexact rename detection"
 msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
 
@@ -3934,35 +3954,35 @@ msgstr "tập tin sparse-checkout của bạn có lẽ gặp lỗi: mẫu “%s
 msgid "disabling cone pattern matching"
 msgstr "vô hiệu khớp mẫu nón"
 
-#: dir.c:1198
+#: dir.c:1206
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "không thể dùng %s như là một tập tin loại trừ"
 
-#: dir.c:2305
+#: dir.c:2314
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "không thể mở thư mục “%s”"
 
-#: dir.c:2605
+#: dir.c:2614
 msgid "failed to get kernel name and information"
 msgstr "gặp lỗi khi lấy tên và thông tin của nhân"
 
-#: dir.c:2729
+#: dir.c:2738
 msgid "untracked cache is disabled on this system or location"
 msgstr "bộ nhớ tạm không theo vết bị tắt trên hệ thống hay vị trí này"
 
-#: dir.c:3534
+#: dir.c:3543
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "tập tin ghi bảng mục lục bị hỏng trong kho %s"
 
-#: dir.c:3579 dir.c:3584
+#: dir.c:3590 dir.c:3595
 #, c-format
 msgid "could not create directories for %s"
 msgstr "không thể tạo thư mục cho %s"
 
-#: dir.c:3613
+#: dir.c:3624
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "không thể di dời thư mục git từ “%s” sang “%s”"
@@ -3972,11 +3992,11 @@ msgstr "không thể di dời thư mục git từ “%s” sang “%s”"
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "gợi ý: Chờ trình biên soạn của bạn đóng tập tin…%c"
 
-#: entry.c:177
+#: entry.c:179
 msgid "Filtering content"
 msgstr "Nội dung lọc"
 
-#: entry.c:478
+#: entry.c:500
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "không thể lấy thống kê tập tin “%s”"
@@ -3996,249 +4016,257 @@ msgstr "không thể đặt GIT_DIR thành “%s”"
 msgid "too many args to run %s"
 msgstr "quá nhiều tham số để chạy %s"
 
-#: fetch-pack.c:177
+#: fetch-pack.c:182
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: cần danh sách shallow"
 
-#: fetch-pack.c:180
+#: fetch-pack.c:185
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr "git fetch-pack: cần một gói đẩy sau danh sách shallow"
 
-#: fetch-pack.c:191
+#: fetch-pack.c:196
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được một gói flush"
 
-#: fetch-pack.c:211
+#: fetch-pack.c:216
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:222
+#: fetch-pack.c:227
 msgid "unable to write to remote"
 msgstr "không thể ghi lên máy phục vụ"
 
-#: fetch-pack.c:283
+#: fetch-pack.c:288
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:378 fetch-pack.c:1457
+#: fetch-pack.c:383 fetch-pack.c:1423
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:384 fetch-pack.c:1463
+#: fetch-pack.c:389 fetch-pack.c:1429
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:386 fetch-pack.c:1465
+#: fetch-pack.c:391 fetch-pack.c:1431
 #, c-format
 msgid "object not found: %s"
 msgstr "không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:389 fetch-pack.c:1468
+#: fetch-pack.c:394 fetch-pack.c:1434
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:391 fetch-pack.c:1470
+#: fetch-pack.c:396 fetch-pack.c:1436
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:394 fetch-pack.c:1474
+#: fetch-pack.c:399 fetch-pack.c:1440
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:439
 #, c-format
 msgid "got %s %d %s"
 msgstr "nhận %s %d - %s"
 
-#: fetch-pack.c:451
+#: fetch-pack.c:456
 #, c-format
 msgid "invalid commit %s"
 msgstr "lần chuyển giao %s không hợp lệ"
 
-#: fetch-pack.c:482
+#: fetch-pack.c:487
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:495 progress.c:339
+#: fetch-pack.c:500 progress.c:339
 msgid "done"
 msgstr "xong"
 
-#: fetch-pack.c:507
+#: fetch-pack.c:512
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "nhận %s (%d) %s"
 
-#: fetch-pack.c:543
+#: fetch-pack.c:548
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Đánh dấu %s là đã hoàn thành"
 
-#: fetch-pack.c:758
+#: fetch-pack.c:763
 #, c-format
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:844
+#: fetch-pack.c:849
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:852
+#: fetch-pack.c:857
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:946
+#: fetch-pack.c:951
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:952
+#: fetch-pack.c:957
 msgid "fetch-pack: invalid index-pack output"
 msgstr "fetch-pack: kết xuất index-pack không hợp lệ"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:974
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:976
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:1031
+#: fetch-pack.c:1019
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:1039 fetch-pack.c:1045 fetch-pack.c:1048 fetch-pack.c:1054
-#: fetch-pack.c:1058 fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070
-#: fetch-pack.c:1074 fetch-pack.c:1078 fetch-pack.c:1082 fetch-pack.c:1086
-#: fetch-pack.c:1092 fetch-pack.c:1098 fetch-pack.c:1103 fetch-pack.c:1108
+#: fetch-pack.c:1027 fetch-pack.c:1033 fetch-pack.c:1036 fetch-pack.c:1042
+#: fetch-pack.c:1046 fetch-pack.c:1050 fetch-pack.c:1054 fetch-pack.c:1058
+#: fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070 fetch-pack.c:1074
+#: fetch-pack.c:1080 fetch-pack.c:1086 fetch-pack.c:1091 fetch-pack.c:1096
 #, c-format
 msgid "Server supports %s"
 msgstr "Máy chủ hỗ trợ %s"
 
-#: fetch-pack.c:1041
+#: fetch-pack.c:1029
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:1101
+#: fetch-pack.c:1089
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:1106
+#: fetch-pack.c:1094
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:1110
+#: fetch-pack.c:1098
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:1112
+#: fetch-pack.c:1100
 msgid "Server does not support this repository's object format"
 msgstr "Máy chủ không hỗ trợ định dạng đối tượng của kho này"
 
-#: fetch-pack.c:1125
+#: fetch-pack.c:1113
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:1138 fetch-pack.c:1682
+#: fetch-pack.c:1122 fetch-pack.c:1469 builtin/clone.c:1238
+msgid "source repository is shallow, reject to clone."
+msgstr "kho nguồn là nông, nên bỏ từ chối nhân bản."
+
+#: fetch-pack.c:1128 fetch-pack.c:1651
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1265
+#: fetch-pack.c:1242
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "các thuật toán không khớp nhau: máy khách %s; máy chủ %s"
 
-#: fetch-pack.c:1269
+#: fetch-pack.c:1246
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "máy chủ không hỗ trợ thuật toán “%s”"
 
-#: fetch-pack.c:1289
+#: fetch-pack.c:1279
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1296
+#: fetch-pack.c:1286
 msgid "Server supports filter"
 msgstr "Máy chủ hỗ trợ bộ lọc"
 
-#: fetch-pack.c:1335
+#: fetch-pack.c:1329 fetch-pack.c:2034
 msgid "unable to write request to remote"
 msgstr "không thể ghi các yêu cầu lên máy phục vụ"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1347
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "gặp lỗi khi đọc phần đầu của đoạn %s"
 
-#: fetch-pack.c:1359
+#: fetch-pack.c:1353
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "cần “%s”, nhưng lại nhận “%s”"
 
-#: fetch-pack.c:1420
+#: fetch-pack.c:1387
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "gặp dòng không được thừa nhận: “%s”"
 
-#: fetch-pack.c:1425
+#: fetch-pack.c:1392
 #, c-format
 msgid "error processing acks: %d"
 msgstr "gặp lỗi khi xử lý tín hiệu trả lời: %d"
 
-#: fetch-pack.c:1435
+#: fetch-pack.c:1402
 msgid "expected packfile to be sent after 'ready'"
 msgstr "cần tập tin gói để gửi sau “ready”"
 
-#: fetch-pack.c:1437
+#: fetch-pack.c:1404
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "không cần thêm phần nào để gửi sau “ready”"
 
-#: fetch-pack.c:1479
+#: fetch-pack.c:1445
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "lỗi xử lý thông tin shallow: %d"
 
-#: fetch-pack.c:1526
+#: fetch-pack.c:1494
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:1531
+#: fetch-pack.c:1499
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref không được mong đợi: “%s”"
 
-#: fetch-pack.c:1536
+#: fetch-pack.c:1504
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "lỗi khi xử lý wanted refs: %d"
 
-#: fetch-pack.c:1566
+#: fetch-pack.c:1534
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack: cần nhận được trả lời là kết thúc gói"
 
-#: fetch-pack.c:1960
+#: fetch-pack.c:1930
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1983 builtin/clone.c:693
+#: fetch-pack.c:1953 builtin/clone.c:697
 msgid "remote did not send all necessary objects"
 msgstr "máy chủ đã không gửi tất cả các đối tượng cần thiết"
 
-#: fetch-pack.c:2010
+#: fetch-pack.c:2056
+msgid "unexpected 'ready' from remote"
+msgstr "gặp 'ready' đột xuất từ máy chủ"
+
+#: fetch-pack.c:2079
 #, c-format
 msgid "no such remote ref %s"
 msgstr "không có máy chủ tham chiếu nào như %s"
 
-#: fetch-pack.c:2013
+#: fetch-pack.c:2082
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr ""
@@ -4262,7 +4290,7 @@ msgstr "gpg gặp lỗi khi ký dữ liệu"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
 
-#: grep.c:543
+#: grep.c:531
 msgid ""
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
@@ -4270,18 +4298,18 @@ msgstr ""
 "mẫu đã cho có chứa NULL byte (qua -f <file>). Điều này chỉ được hỗ trợ với -"
 "P dưới PCRE v2"
 
-#: grep.c:1906
+#: grep.c:1893
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1923 setup.c:176 builtin/clone.c:412 builtin/diff.c:90
-#: builtin/rm.c:135
+#: grep.c:1910 setup.c:176 builtin/clone.c:416 builtin/diff.c:90
+#: builtin/rm.c:136
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:1934
+#: grep.c:1921
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
@@ -4498,47 +4526,52 @@ msgstr "không cho phép tên định danh là rỗng (cho <%s>)"
 msgid "name consists only of disallowed characters: %s"
 msgstr "tên chỉ được phép bao gồm các ký tự sau: %s"
 
-#: ident.c:454 builtin/commit.c:634
+#: ident.c:454 builtin/commit.c:647
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
 
-#: list-objects-filter-options.c:81
+#: list-objects-filter-options.c:83
 msgid "expected 'tree:<depth>'"
 msgstr "cần “tree:<depth>”"
 
-#: list-objects-filter-options.c:96
+#: list-objects-filter-options.c:98
 msgid "sparse:path filters support has been dropped"
 msgstr "việc hỗ trợ bộ lọc sparse:đường/dẫn đã bị bỏ"
 
-#: list-objects-filter-options.c:109
+#: list-objects-filter-options.c:105
+#, c-format
+msgid "'%s' for 'object:type=<type>' isnot a valid object type"
+msgstr "“%s” dành cho “object:type=<type>” không phải là kiểu đối tượng hợp lệ"
+
+#: list-objects-filter-options.c:124
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "đặc tả bộ lọc không hợp lệ “%s”"
 
-#: list-objects-filter-options.c:125
+#: list-objects-filter-options.c:140
 #, c-format
 msgid "must escape char in sub-filter-spec: '%c'"
 msgstr "phải thoát char trong sub-filter-spec: “%c”"
 
-#: list-objects-filter-options.c:167
+#: list-objects-filter-options.c:182
 msgid "expected something after combine:"
 msgstr "mong đợi một cái gì đó sau khi kết hợp:"
 
-#: list-objects-filter-options.c:249
+#: list-objects-filter-options.c:264
 msgid "multiple filter-specs cannot be combined"
 msgstr "không thể tổ hợp nhiều đặc tả kiểu lọc"
 
-#: list-objects-filter-options.c:361
+#: list-objects-filter-options.c:376
 msgid "unable to upgrade repository format to support partial clone"
 msgstr "không thể nâng cấp định định dạng kho chứa để hỗ trợ nhân bản cục bộ"
 
-#: list-objects-filter.c:492
+#: list-objects-filter.c:532
 #, c-format
 msgid "unable to access sparse blob in '%s'"
 msgstr "không thể truy cập các blob rải rác trong “%s”"
 
-#: list-objects-filter.c:495
+#: list-objects-filter.c:535
 #, c-format
 msgid "unable to parse sparse filter data in %s"
 msgstr "không thể phân tích dữ liệu bộ lọc rải rác trong %s"
@@ -4553,7 +4586,7 @@ msgstr "mục “%s” trong cây %s có nút cây, nhưng không phải là m
 msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr "mục “%s” trong cây %s có nút blob, nhưng không phải là một blob"
 
-#: list-objects.c:375
+#: list-objects.c:395
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "không thể tải cây gốc cho lần chuyển giao “%s”"
@@ -4591,34 +4624,43 @@ msgstr "giá trị '%s' không hợp lệ cho lsrefs.unborn"
 msgid "expected flush after ls-refs arguments"
 msgstr "cần đẩy dữ liệu lên đĩa sau tham số ls-refs (liệt kê tham chiếu)"
 
-#: merge-ort.c:888 merge-recursive.c:1191
+#: mailinfo.c:1050
+msgid "quoted CRLF detected"
+msgstr "phát hiện CRLF được trích dẫn"
+
+#: mailinfo.c:1254 builtin/am.c:176 builtin/mailinfo.c:46
+#, c-format
+msgid "bad action '%s' for '%s'"
+msgstr "thao tác sai “%s” cho “%s”"
+
+#: merge-ort.c:1116 merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (không lấy ra được)"
 
-#: merge-ort.c:897 merge-recursive.c:1198
+#: merge-ort.c:1125 merge-recursive.c:1212
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (lần chuyển giao không hiện diện)"
 
-#: merge-ort.c:906 merge-recursive.c:1205
+#: merge-ort.c:1134 merge-recursive.c:1219
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s” (lần chuyển giao không theo sau nền-hòa-"
 "trộn)"
 
-#: merge-ort.c:916 merge-ort.c:923
+#: merge-ort.c:1144 merge-ort.c:1151
 #, c-format
 msgid "Note: Fast-forwarding submodule %s to %s"
 msgstr "Chú ý: Chuyển-tiếp-nhanh mô-đun-con “%s” sang “%s”"
 
-#: merge-ort.c:944
+#: merge-ort.c:1172
 #, c-format
 msgid "Failed to merge submodule %s"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s”"
 
-#: merge-ort.c:951
+#: merge-ort.c:1179
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but a possible merge resolution exists:\n"
@@ -4627,7 +4669,7 @@ msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s”, nhưng có cách giải quyết:\n"
 "%s\n"
 
-#: merge-ort.c:955 merge-recursive.c:1259
+#: merge-ort.c:1183 merge-recursive.c:1273
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4644,7 +4686,7 @@ msgstr ""
 "\n"
 "cái mà sẽ chấp nhận gợi ý này.\n"
 
-#: merge-ort.c:968
+#: merge-ort.c:1196
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but multiple possible merges exist:\n"
@@ -4653,21 +4695,21 @@ msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s”, nhưng có nhiều cách giải quyết:\n"
 "%s"
 
-#: merge-ort.c:1127 merge-recursive.c:1341
+#: merge-ort.c:1415 merge-recursive.c:1362
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-ort.c:1132 merge-recursive.c:1346
+#: merge-ort.c:1420 merge-recursive.c:1367
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-ort.c:1139 merge-recursive.c:1378
+#: merge-ort.c:1427 merge-recursive.c:1400
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-ort.c:1278 merge-recursive.c:2100
+#: merge-ort.c:1566 merge-recursive.c:2122
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4676,7 +4718,7 @@ msgstr ""
 "XUNG ĐỘT: (ngầm đổi tên thư mục): Tập tin/thư mục đã sẵn có tại %s theo cách "
 "của các đổi tên thư mục ngầm đặt (các) đường dẫn sau ở đây: %s."
 
-#: merge-ort.c:1288 merge-recursive.c:2110
+#: merge-ort.c:1576 merge-recursive.c:2132
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4685,7 +4727,7 @@ msgstr ""
 "XUNG ĐỘT: (ngầm đổi tên thư mục): Không thể ánh xạ một đường dẫn thành %s; "
 "các đổi tên thư mục ngầm cố đặt các đường dẫn ở đây: %s"
 
-#: merge-ort.c:1471
+#: merge-ort.c:1634
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to rename %s to; it was "
@@ -4696,7 +4738,7 @@ msgstr ""
 "thành; nó đã bị đổi tên thành nhiều thư mục khác, với không đích đến nhận "
 "một phần nhiều của các tập tin."
 
-#: merge-ort.c:1637 merge-recursive.c:2447
+#: merge-ort.c:1788 merge-recursive.c:2468
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -4705,7 +4747,7 @@ msgstr ""
 "CẢNH BÁO: tránh áp dụng %s -> %s đổi thên thành %s, bởi vì bản thân %s cũng "
 "bị đổi tên."
 
-#: merge-ort.c:1781 merge-recursive.c:3215
+#: merge-ort.c:1932 merge-recursive.c:3244
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4714,7 +4756,7 @@ msgstr ""
 "Đường dẫn đã được cập nhật: %s được thêm vào trong %s bên trong một thư mục "
 "đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-ort.c:1788 merge-recursive.c:3222
+#: merge-ort.c:1939 merge-recursive.c:3251
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4723,7 +4765,7 @@ msgstr ""
 "Đường dẫn đã được cập nhật: %s được đổi tên thành %s trong %s, bên trong một "
 "thư mục đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-ort.c:1801 merge-recursive.c:3218
+#: merge-ort.c:1952 merge-recursive.c:3247
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4732,7 +4774,7 @@ msgstr ""
 "XUNG ĐỘT (vị trí tệp): %s được thêm vào trong %s trong một thư mục đã được "
 "đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
 
-#: merge-ort.c:1809 merge-recursive.c:3225
+#: merge-ort.c:1960 merge-recursive.c:3254
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4741,13 +4783,13 @@ msgstr ""
 "XUNG ĐỘT (vị trí tệp): %s được đổi tên thành %s trong %s, bên trong một thư "
 "mục đã được đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
 
-#: merge-ort.c:1952
+#: merge-ort.c:2103
 #, c-format
 msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s và thành %s trong %s."
 
-#: merge-ort.c:2047
+#: merge-ort.c:2198
 #, c-format
 msgid ""
 "CONFLICT (rename involved in collision): rename of %s -> %s has content "
@@ -4758,13 +4800,23 @@ msgstr ""
 "VÀ va chạm với một đường dẫn khác; điều này có thể dẫn đến tạo ra các xung "
 "đột lồng nhau."
 
-#: merge-ort.c:2066 merge-ort.c:2090
+#: merge-ort.c:2217 merge-ort.c:2241
 #, c-format
 msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
 msgstr ""
 "XUNG ĐỘT (đổi-tên/xóa): Đổi tên %s->%s trong %s, nhưng lại bị xóa trong %s."
 
-#: merge-ort.c:2735
+#: merge-ort.c:2550 merge-recursive.c:3002
+#, c-format
+msgid "cannot read object %s"
+msgstr "không thể đọc đối tượng %s"
+
+#: merge-ort.c:2553 merge-recursive.c:3005
+#, c-format
+msgid "object %s is not a blob"
+msgstr "đối tượng %s không phải là một blob"
+
+#: merge-ort.c:2981
 #, c-format
 msgid ""
 "CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
@@ -4773,41 +4825,42 @@ msgstr ""
 "XUNG ĐỘT (tập tin/thư mục): thư mục theo cách của %s từ %s; thay vào đó, di "
 "chuyển nó đến %s."
 
-#: merge-ort.c:2808
+#: merge-ort.c:3055
 #, c-format
 msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed %s "
+"CONFLICT (distinct types): %s had different types on each side; renamed both "
 "of them so each can be recorded somewhere."
 msgstr ""
-"CONFLICT (các loại riêng biệt): %s có các loại khác nhau ở mỗi bên; được đổi "
-"tên %s trong số chúng để mỗi cái có thể được ghi lại ở đâu đó."
+"XUNG ĐỘT (các kiểu riêng biệt): %s có các kiểu khác nhau ở mỗi bên; đã đổi "
+"tên cả hai trong số chúng để mỗi cái có thể được ghi lại ở đâu đó."
 
-#: merge-ort.c:2812
-msgid "both"
-msgstr "cả hai"
-
-#: merge-ort.c:2812
-msgid "one"
-msgstr "một"
+#: merge-ort.c:3062
+#, c-format
+msgid ""
+"CONFLICT (distinct types): %s had different types on each side; renamed one "
+"of them so each can be recorded somewhere."
+msgstr ""
+"XUNG ĐỘT (các kiểu riêng biệt): %s có các loại khác nhau ở mỗi bên; đã đổi "
+"tên một trong số chúng để mỗi cái có thể được ghi lại ở đâu đó."
 
-#: merge-ort.c:2907 merge-recursive.c:3052
+#: merge-ort.c:3162 merge-recursive.c:3081
 msgid "content"
 msgstr "nội dung"
 
-#: merge-ort.c:2909 merge-recursive.c:3056
+#: merge-ort.c:3164 merge-recursive.c:3085
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-ort.c:2911 merge-recursive.c:3101
+#: merge-ort.c:3166 merge-recursive.c:3130
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-ort.c:2913 merge-recursive.c:3102
+#: merge-ort.c:3168 merge-recursive.c:3131
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-ort.c:2938
+#: merge-ort.c:3198
 #, c-format
 msgid ""
 "CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
@@ -4816,15 +4869,24 @@ msgstr ""
 "XUNG ĐỘT (sửa/xóa): %s bị xóa trong %s và sửa trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
+#: merge-ort.c:3433
+#, c-format
+msgid ""
+"Note: %s not up to date and in way of checking out conflicted version; old "
+"copy renamed to %s"
+msgstr ""
+"Lưu ý: %s không được cập nhật và theo cách lấy ra phiên bản xung đột; bản "
+"sao cũ được đổi tên thành %s"
+
 #. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
 #. base, and 2-3) the trees for the two trees we're merging.
 #.
-#: merge-ort.c:3406
+#: merge-ort.c:3730
 #, c-format
 msgid "collecting merge info failed for trees %s, %s, %s"
 msgstr "thu thập thông tin hòa trộn gặp lỗi cho cây %s, %s, %s"
 
-#: merge-ort-wrappers.c:13 merge-recursive.c:3661
+#: merge-ort-wrappers.c:13 merge-recursive.c:3699
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4834,10 +4896,9 @@ msgstr ""
 "hòa trộn:\n"
 "  %s"
 
-#: merge-ort-wrappers.c:33 merge-recursive.c:3436
-#, c-format
-msgid "Already up to date!"
-msgstr "Đã cập nhật rồi!"
+#: merge-ort-wrappers.c:33 merge-recursive.c:3465 builtin/merge.c:402
+msgid "Already up to date."
+msgstr "Đã cập nhật rồi."
 
 #: merge-recursive.c:356
 msgid "(bad commit)\n"
@@ -4855,89 +4916,89 @@ msgstr ""
 "addinfo_cache gặp lỗi khi làm mới đối với đường dẫn “%s”; việc hòa trộn bị "
 "bãi bỏ."
 
-#: merge-recursive.c:874
+#: merge-recursive.c:876
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "gặp lỗi khi tạo đường dẫn “%s”%s"
 
-#: merge-recursive.c:885
+#: merge-recursive.c:887
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Gỡ bỏ %s để tạo chỗ (room) cho thư mục con\n"
 
-#: merge-recursive.c:899 merge-recursive.c:918
+#: merge-recursive.c:901 merge-recursive.c:920
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:908
+#: merge-recursive.c:910
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:949 builtin/cat-file.c:41
+#: merge-recursive.c:951 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:954
+#: merge-recursive.c:956
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "mong đợi đối tượng blob cho %s “%s”"
 
-#: merge-recursive.c:979
+#: merge-recursive.c:981
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "gặp lỗi khi mở “%s”: %s"
 
-#: merge-recursive.c:990
+#: merge-recursive.c:992
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”: %s"
 
-#: merge-recursive.c:995
+#: merge-recursive.c:997
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "không hiểu phải làm gì với %06o %s “%s”"
 
-#: merge-recursive.c:1213 merge-recursive.c:1225
+#: merge-recursive.c:1227 merge-recursive.c:1239
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s” đến lần chuyển giao sau đây:"
 
-#: merge-recursive.c:1216 merge-recursive.c:1228
+#: merge-recursive.c:1230 merge-recursive.c:1242
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s”"
 
-#: merge-recursive.c:1251
+#: merge-recursive.c:1265
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s” (không tìm thấy các lần chuyển giao "
 "theo sau hòa trộn)"
 
-#: merge-recursive.c:1255
+#: merge-recursive.c:1269
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (không chuyển tiếp nhanh được)"
 
-#: merge-recursive.c:1256
+#: merge-recursive.c:1270
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Tìm thấy một giải pháp hòa trộn có thể cho mô-đun-con:\n"
 
-#: merge-recursive.c:1268
+#: merge-recursive.c:1282
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (thấy nhiều hòa trộn đa trùng)"
 
-#: merge-recursive.c:1402
+#: merge-recursive.c:1424
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 "Lỗi: từ chối đóng tập tin không được theo dõi tại “%s”; thay vào đó ghi vào "
 "%s."
 
-#: merge-recursive.c:1474
+#: merge-recursive.c:1496
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -4946,7 +5007,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-recursive.c:1479
+#: merge-recursive.c:1501
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -4955,7 +5016,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
 "của %s còn lại trong cây (tree)."
 
-#: merge-recursive.c:1486
+#: merge-recursive.c:1508
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -4964,7 +5025,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree) tại %s."
 
-#: merge-recursive.c:1491
+#: merge-recursive.c:1513
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -4973,45 +5034,45 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
 "của %s còn lại trong cây (tree) tại %s."
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1548
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1548
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1577 merge-recursive.c:2484 merge-recursive.c:3129
+#: merge-recursive.c:1599 merge-recursive.c:2505 merge-recursive.c:3158
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:1587
+#: merge-recursive.c:1609
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr ""
 "Từ chối đóng tập tin không được theo dõi tại “%s”, ngay cả khi nó ở trên "
 "đường."
 
-#: merge-recursive.c:1645
+#: merge-recursive.c:1667
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm trong %s"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1698
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s là một thư mục trong %s thay vào đó thêm vào như là %s"
 
-#: merge-recursive.c:1681
+#: merge-recursive.c:1703
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr ""
 "Từ chối đóng tập tin không được theo dõi tại “%s”; thay vào đó đang thêm "
 "thành %s"
 
-#: merge-recursive.c:1708
+#: merge-recursive.c:1730
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -5020,17 +5081,17 @@ msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi "
 "tên \"%s\"->\"%s\" trong \"%s\"%s"
 
-#: merge-recursive.c:1713
+#: merge-recursive.c:1735
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1805
+#: merge-recursive.c:1827
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s. Đổi tên %s->%s trong %s"
 
-#: merge-recursive.c:2068
+#: merge-recursive.c:2090
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -5041,7 +5102,7 @@ msgstr ""
 "vì thư mục %s đã bị đổi tên thành nhiều thư mục khác, với không đích đến "
 "nhận một phần nhiều của các tập tin."
 
-#: merge-recursive.c:2202
+#: merge-recursive.c:2224
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -5050,90 +5111,80 @@ msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên thư mục %s->%s trong %s. Đổi tên thư mục "
 "%s->%s trong %s"
 
-#: merge-recursive.c:2973
-#, c-format
-msgid "cannot read object %s"
-msgstr "không thể đọc đối tượng %s"
-
-#: merge-recursive.c:2976
-#, c-format
-msgid "object %s is not a blob"
-msgstr "đối tượng %s không phải là một blob"
-
-#: merge-recursive.c:3040
+#: merge-recursive.c:3069
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:3040
+#: merge-recursive.c:3069
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:3079
+#: merge-recursive.c:3108
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
 
-#: merge-recursive.c:3132
+#: merge-recursive.c:3161
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:3339
+#: merge-recursive.c:3368
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:3362
+#: merge-recursive.c:3391
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:3367
+#: merge-recursive.c:3396
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:3374
+#: merge-recursive.c:3403
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "XUNG ĐỘT (%s): Ở đây không có thư mục nào có tên %s trong %s. Thêm %s như là "
 "%s"
 
-#: merge-recursive.c:3383
+#: merge-recursive.c:3412
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:3392
+#: merge-recursive.c:3421
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "XUNG ĐỘT (thêm/thêm): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:3445
+#: merge-recursive.c:3474
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "hòa trộn các cây %s và %s gặp lỗi"
 
-#: merge-recursive.c:3539
+#: merge-recursive.c:3568
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3552
+#: merge-recursive.c:3581
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "tìm thấy %u tổ tiên chung:"
 
-#: merge-recursive.c:3602
+#: merge-recursive.c:3631
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3758
+#: merge-recursive.c:3796
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3776 builtin/merge.c:712 builtin/merge.c:896
-#: builtin/stash.c:471
+#: merge-recursive.c:3814 builtin/merge.c:716 builtin/merge.c:900
+#: builtin/stash.c:473
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục."
 
@@ -5141,177 +5192,196 @@ msgstr "Không thể ghi bảng mục lục."
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:109 rerere.c:704 builtin/am.c:1883 builtin/am.c:1917
-#: builtin/checkout.c:575 builtin/checkout.c:828 builtin/clone.c:817
-#: builtin/stash.c:265
+#: merge.c:109 rerere.c:704 builtin/am.c:1931 builtin/am.c:1965
+#: builtin/checkout.c:595 builtin/checkout.c:849 builtin/clone.c:821
+#: builtin/stash.c:267
 msgid "unable to write new index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới"
 
-#: midx.c:62
+#: midx.c:74
 msgid "multi-pack-index OID fanout is of the wrong size"
 msgstr "fanout OID nhiều gói chỉ mục có kích thước sai"
 
-#: midx.c:93
+#: midx.c:105
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "tập tin đồ thị multi-pack-index %s quá nhỏ"
 
-#: midx.c:109
+#: midx.c:121
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "chữ ký multi-pack-index 0x%08x không khớp chữ ký 0x%08x"
 
-#: midx.c:114
+#: midx.c:126
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "không nhận ra phiên bản %d của multi-pack-index"
 
-#: midx.c:119
+#: midx.c:131
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr "phiên bản băm multi-pack-index %u không khớp phiên bản %u"
 
-#: midx.c:136
+#: midx.c:148
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "multi-pack-index thiếu mảnh pack-name cần thiết"
 
-#: midx.c:138
+#: midx.c:150
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "multi-pack-index thiếu mảnh OID fanout cần thiết"
 
-#: midx.c:140
+#: midx.c:152
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "multi-pack-index thiếu mảnh OID lookup cần thiết"
 
-#: midx.c:142
+#: midx.c:154
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "multi-pack-index thiếu mảnh các khoảng bù đối tượng cần thiết"
 
-#: midx.c:158
+#: midx.c:170
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "các tên gói multi-pack-index không đúng thứ tự: “%s” trước “%s”"
 
-#: midx.c:202
+#: midx.c:214
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "pack-int-id sai: %u (%u các gói tổng)"
 
-#: midx.c:252
+#: midx.c:264
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "multi-pack-index lưu trữ một khoảng bù 64-bít, nhưng off_t là quá nhỏ"
 
-#: midx.c:467
+#: midx.c:490
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "gặp lỗi khi thêm tập tin gói “%s”"
 
-#: midx.c:473
+#: midx.c:496
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "gặp lỗi khi mở pack-index “%s”"
 
-#: midx.c:533
+#: midx.c:564
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "gặp lỗi khi phân bổ đối tượng “%d” trong tập tin gói"
 
-#: midx.c:821
+#: midx.c:880 builtin/index-pack.c:1535
+msgid "cannot store reverse index file"
+msgstr "không thể lưu trữ tập tin ghi mục lục đảo ngược"
+
+#: midx.c:933
 msgid "Adding packfiles to multi-pack-index"
 msgstr "Đang thêm tập tin gói từ multi-pack-index"
 
-#: midx.c:855
+#: midx.c:979
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "đã không thấy tập tin gói %s để mà xóa"
 
-#: midx.c:904
+#: midx.c:1024
+#, c-format
+msgid "unknown preferred pack: '%s'"
+msgstr "không hiểu \"preferred pack\": %s"
+
+#: midx.c:1029
+#, c-format
+msgid "preferred pack '%s' is expired"
+msgstr "\"preferred pack\" “%s” đã hết hạn"
+
+#: midx.c:1045
 msgid "no pack files to index."
 msgstr "không có tập tin gói để đánh mục lục."
 
-#: midx.c:965
+#: midx.c:1125 builtin/clean.c:37
+#, c-format
+msgid "failed to remove %s"
+msgstr "gặp lỗi khi gỡ bỏ %s"
+
+#: midx.c:1156
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "gặp lỗi khi xóa multi-pack-index tại %s"
 
-#: midx.c:1021
+#: midx.c:1214
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr "đã có tập tin multi-pack-index, nhưng gặp lỗi khi phân tích cú pháp"
 
-#: midx.c:1029
+#: midx.c:1222
 msgid "Looking for referenced packfiles"
 msgstr "Đang khóa cho các gói bị tham chiếu"
 
-#: midx.c:1044
+#: midx.c:1237
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr "fanout cũ sai thứ tự: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1049
+#: midx.c:1242
 msgid "the midx contains no oid"
 msgstr "midx chẳng chứa oid nào"
 
-#: midx.c:1058
+#: midx.c:1251
 msgid "Verifying OID order in multi-pack-index"
 msgstr "Thẩm tra thứ tự OID trong multi-pack-index"
 
-#: midx.c:1067
+#: midx.c:1260
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "lookup cũ sai thứ tự: oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1087
+#: midx.c:1280
 msgid "Sorting objects by packfile"
 msgstr "Đang sắp xếp các đối tượng theo tập tin gói"
 
-#: midx.c:1094
+#: midx.c:1287
 msgid "Verifying object offsets"
 msgstr "Đang thẩm tra các khoảng bù đối tượng"
 
-#: midx.c:1110
+#: midx.c:1303
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "gặp lỗi khi tải mục gói cho oid[%d] = %s"
 
-#: midx.c:1116
+#: midx.c:1309
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "gặp lỗi khi tải pack-index cho tập tin gói %s"
 
-#: midx.c:1125
+#: midx.c:1318
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 "khoảng bù đối tượng không đúng cho oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1150
+#: midx.c:1343
 msgid "Counting referenced objects"
 msgstr "Đang đếm các đối tượng được tham chiếu"
 
-#: midx.c:1160
+#: midx.c:1353
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "Đang tìm và xóa các gói không được tham chiếu"
 
-#: midx.c:1351
+#: midx.c:1544
 msgid "could not start pack-objects"
 msgstr "không thể lấy thông tin thống kê về các đối tượng gói"
 
-#: midx.c:1371
+#: midx.c:1564
 msgid "could not finish pack-objects"
 msgstr "không thể hoàn thiện các đối tượng gói"
 
-#: name-hash.c:538
+#: name-hash.c:542
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "không thể tạo tuyến lazy_dir: %s"
 
-#: name-hash.c:560
+#: name-hash.c:564
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "không thể tạo tuyến lazy_name: %s"
 
-#: name-hash.c:566
+#: name-hash.c:570
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "không thể gia nhập tuyến lazy_name: %s"
@@ -5358,258 +5428,258 @@ msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: object-file.c:480
+#: object-file.c:526
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "thư mục đối tượng %s không tồn tại; kiểm tra .git/objects/info/alternates"
 
-#: object-file.c:531
+#: object-file.c:577
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "không thể thường hóa đường dẫn đối tượng thay thế: “%s”"
 
-#: object-file.c:603
+#: object-file.c:649
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s: đang bỏ qua kho đối tượng thay thế, lồng nhau quá sâu"
 
-#: object-file.c:610
+#: object-file.c:656
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "không thể chuẩn hóa thư mục đối tượng: “%s”"
 
-#: object-file.c:653
+#: object-file.c:699
 msgid "unable to fdopen alternates lockfile"
 msgstr "không thể fdopen tập tin khóa thay thế"
 
-#: object-file.c:671
+#: object-file.c:717
 msgid "unable to read alternates file"
 msgstr "không thể đọc tập tin thay thế"
 
-#: object-file.c:678
+#: object-file.c:724
 msgid "unable to move new alternates file into place"
 msgstr "không thể di chuyển tập tin thay thế vào chỗ"
 
-#: object-file.c:713
+#: object-file.c:759
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "đường dẫn “%s” không tồn tại"
 
-#: object-file.c:734
+#: object-file.c:780
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "kho tham chiếu “%s” như là lấy ra liên kết vẫn chưa được hỗ trợ."
 
-#: object-file.c:740
+#: object-file.c:786
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "kho tham chiếu “%s” không phải là một kho nội bộ."
 
-#: object-file.c:746
+#: object-file.c:792
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: object-file.c:754
+#: object-file.c:800
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: object-file.c:814
+#: object-file.c:860
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "dòng không hợp lệ trong khi phân tích các tham chiếu thay thế: %s"
 
-#: object-file.c:964
+#: object-file.c:1010
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "đang cố để mmap %<PRIuMAX> vượt quá giới hạn %<PRIuMAX>"
 
-#: object-file.c:985
+#: object-file.c:1031
 msgid "mmap failed"
 msgstr "mmap gặp lỗi"
 
-#: object-file.c:1149
+#: object-file.c:1195
 #, c-format
 msgid "object file %s is empty"
 msgstr "tập tin đối tượng %s trống rỗng"
 
-#: object-file.c:1284 object-file.c:2477
+#: object-file.c:1330 object-file.c:2524
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "đối tượng mất hỏng “%s”"
 
-#: object-file.c:1286 object-file.c:2481
+#: object-file.c:1332 object-file.c:2528
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "gặp rác tại cuối của đối tượng bị mất “%s”"
 
-#: object-file.c:1328
+#: object-file.c:1374
 msgid "invalid object type"
 msgstr "kiểu đối tượng không hợp lệ"
 
-#: object-file.c:1412
+#: object-file.c:1458
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "không thể giải nén phần đầu gói %s với --allow-unknown-type"
 
-#: object-file.c:1415
+#: object-file.c:1461
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "không thể giải gói phần đầu %s"
 
-#: object-file.c:1421
+#: object-file.c:1467
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "không thể phân tích phần đầu gói %s với --allow-unknown-type"
 
-#: object-file.c:1424
+#: object-file.c:1470
 #, c-format
 msgid "unable to parse %s header"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: object-file.c:1651
+#: object-file.c:1697
 #, c-format
 msgid "failed to read object %s"
 msgstr "gặp lỗi khi đọc đối tượng “%s”"
 
-#: object-file.c:1655
+#: object-file.c:1701
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "c%s thay thế không được tìm thấy cho %s"
 
-#: object-file.c:1659
+#: object-file.c:1705
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "đối tượng mất %s (được lưu trong %s) bị hỏng"
 
-#: object-file.c:1663
+#: object-file.c:1709
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "đối tượng đã đóng gói %s (được lưu trong %s) bị hỏng"
 
-#: object-file.c:1768
+#: object-file.c:1814
 #, c-format
 msgid "unable to write file %s"
 msgstr "không thể ghi tập tin %s"
 
-#: object-file.c:1775
+#: object-file.c:1821
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "không thể đặt quyền thành “%s”"
 
-#: object-file.c:1782
+#: object-file.c:1828
 msgid "file write error"
 msgstr "lỗi ghi tập tin"
 
-#: object-file.c:1802
+#: object-file.c:1848
 msgid "error when closing loose object file"
 msgstr "gặp lỗi trong khi đóng tập tin đối tượng"
 
-#: object-file.c:1867
+#: object-file.c:1913
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "không đủ thẩm quyền để thêm một đối tượng vào cơ sở dữ liệu kho chứa %s"
 
-#: object-file.c:1869
+#: object-file.c:1915
 msgid "unable to create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: object-file.c:1893
+#: object-file.c:1939
 msgid "unable to write loose object file"
 msgstr "không thể ghi tập tin đối tượng đã mất"
 
-#: object-file.c:1899
+#: object-file.c:1945
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "không thể xả nén đối tượng mới %s (%d)"
 
-#: object-file.c:1903
+#: object-file.c:1949
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "deflateEnd trên đối tượng %s gặp lỗi (%d)"
 
-#: object-file.c:1907
+#: object-file.c:1953
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "chưa rõ ràng baowir dữ liệu nguồn đối tượng không ổn định cho %s"
 
-#: object-file.c:1917 builtin/pack-objects.c:1097
+#: object-file.c:1963 builtin/pack-objects.c:1097
 #, c-format
 msgid "failed utime() on %s"
 msgstr "gặp lỗi utime() trên “%s”"
 
-#: object-file.c:1994
+#: object-file.c:2040
 #, c-format
 msgid "cannot read object for %s"
 msgstr "không thể đọc đối tượng cho %s"
 
-#: object-file.c:2045
+#: object-file.c:2091
 msgid "corrupt commit"
 msgstr "lần chuyển giao sai hỏng"
 
-#: object-file.c:2053
+#: object-file.c:2099
 msgid "corrupt tag"
 msgstr "thẻ sai hỏng"
 
-#: object-file.c:2153
+#: object-file.c:2199
 #, c-format
 msgid "read error while indexing %s"
 msgstr "gặp lỗi đọc khi đánh mục lục %s"
 
-#: object-file.c:2156
+#: object-file.c:2202
 #, c-format
 msgid "short read while indexing %s"
 msgstr "không đọc ngắn khi đánh mục lục %s"
 
-#: object-file.c:2229 object-file.c:2239
+#: object-file.c:2275 object-file.c:2285
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s: gặp lỗi khi thêm vào cơ sở dữ liệu"
 
-#: object-file.c:2245
+#: object-file.c:2291
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s: kiểu tập tin không được hỗ trợ"
 
-#: object-file.c:2269
+#: object-file.c:2315
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s không phải là một đối tượng hợp lệ"
 
-#: object-file.c:2271
+#: object-file.c:2317
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s không phải là một đối tượng “%s” hợp lệ"
 
-#: object-file.c:2298 builtin/index-pack.c:192
+#: object-file.c:2344 builtin/index-pack.c:192
 #, c-format
 msgid "unable to open %s"
 msgstr "không thể mở %s"
 
-#: object-file.c:2488 object-file.c:2541
+#: object-file.c:2535 object-file.c:2588
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "mã băm không khớp cho %s (cần %s)"
 
-#: object-file.c:2512
+#: object-file.c:2559
 #, c-format
 msgid "unable to mmap %s"
 msgstr "không thể mmap %s"
 
-#: object-file.c:2517
+#: object-file.c:2564
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "không thể giải gói phần đầu của “%s”"
 
-#: object-file.c:2523
+#: object-file.c:2570
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: object-file.c:2534
+#: object-file.c:2581
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "không thể giải gói nội dung của “%s”"
@@ -5723,71 +5793,71 @@ msgstr "kiểu đối tượng \"%s\" không hợp lệ"
 msgid "object %s is a %s, not a %s"
 msgstr "đối tượng %s là một %s, không phải là một %s"
 
-#: object.c:233
+#: object.c:232
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "đối tượng %s có mã kiểu %d chưa biết"
 
-#: object.c:246
+#: object.c:245
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
 
-#: object.c:266 object.c:278
+#: object.c:265 object.c:277
 #, c-format
 msgid "hash mismatch %s"
 msgstr "mã băm không khớp %s"
 
-#: pack-bitmap.c:843 pack-bitmap.c:849 builtin/pack-objects.c:2226
+#: pack-bitmap.c:844 pack-bitmap.c:850 builtin/pack-objects.c:2251
 #, c-format
 msgid "unable to get size of %s"
 msgstr "không thể lấy kích cỡ của %s"
 
-#: pack-bitmap.c:1489 builtin/rev-list.c:92
+#: pack-bitmap.c:1547 builtin/rev-list.c:92
 #, c-format
 msgid "unable to get disk usage of %s"
 msgstr "không thể dung lượng đĩa đã dùng của %s"
 
-#: pack-revindex.c:220
+#: pack-revindex.c:221
 #, c-format
 msgid "reverse-index file %s is too small"
 msgstr "tập tin reverse-index %s quá nhỏ"
 
-#: pack-revindex.c:225
+#: pack-revindex.c:226
 #, c-format
 msgid "reverse-index file %s is corrupt"
 msgstr "tập tin reverse-index %s bị hỏng"
 
-#: pack-revindex.c:233
+#: pack-revindex.c:234
 #, c-format
 msgid "reverse-index file %s has unknown signature"
 msgstr "tập tin reverse-index %s có chữ ký chưa biết"
 
-#: pack-revindex.c:237
+#: pack-revindex.c:238
 #, c-format
 msgid "reverse-index file %s has unsupported version %<PRIu32>"
 msgstr "tệp chỉ mục ngược %s có phiên bản không được hỗ trợ %<PRIu32>"
 
-#: pack-revindex.c:242
+#: pack-revindex.c:243
 #, c-format
 msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
 msgstr "tệp chỉ mục ngược %s có id mã băm không được hỗ trợ %<PRIu32>"
 
-#: pack-write.c:236
+#: pack-write.c:250
 msgid "cannot both write and verify reverse index"
 msgstr "không thể cùng lúc đọc và xác minh được bảng mục lục đảo ngược"
 
-#: pack-write.c:257
+#: pack-write.c:271
 #, c-format
 msgid "could not stat: %s"
 msgstr "không thể lấy thông tin thống kê: %s"
 
-#: pack-write.c:269
+#: pack-write.c:283
 #, c-format
 msgid "failed to make %s readable"
 msgstr "gặp lỗi làm cho %s đọc được"
 
-#: pack-write.c:508
+#: pack-write.c:522
 #, c-format
 msgid "could not write '%s' promisor file"
 msgstr "không thể ghi tập tin promisor “%s”"
@@ -5796,12 +5866,12 @@ msgstr "không thể ghi tập tin promisor “%s”"
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "vị trí tương đối trước điểm kết thúc của tập tin gói (.idx hỏng à?)"
 
-#: packfile.c:1934
+#: packfile.c:1937
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "vị trí tương đối nằm trước chỉ mục gói cho %s (mục lục bị hỏng à?)"
 
-#: packfile.c:1938
+#: packfile.c:1941
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -5867,31 +5937,31 @@ msgstr "tùy chọn chưa rõ rang: %s (nên là --%s%s hay --%s%s)"
 msgid "did you mean `--%s` (with two dashes)?"
 msgstr "có phải ý bạn là “--%s“ (với hai dấu gạch ngang)?"
 
-#: parse-options.c:666 parse-options.c:971
+#: parse-options.c:668 parse-options.c:988
 #, c-format
 msgid "alias of --%s"
 msgstr "bí danh của --%s"
 
-#: parse-options.c:862
+#: parse-options.c:879
 #, c-format
 msgid "unknown option `%s'"
 msgstr "không hiểu tùy chọn “%s”"
 
-#: parse-options.c:864
+#: parse-options.c:881
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "không hiểu tùy chọn “%c”"
 
-#: parse-options.c:866
+#: parse-options.c:883
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "không hiểu tùy chọn non-ascii trong chuỗi: “%s”"
 
-#: parse-options.c:890
+#: parse-options.c:907
 msgid "..."
 msgstr "…"
 
-#: parse-options.c:909
+#: parse-options.c:926
 #, c-format
 msgid "usage: %s"
 msgstr "cách dùng: %s"
@@ -5899,17 +5969,17 @@ msgstr "cách dùng: %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:915
+#: parse-options.c:932
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:918
+#: parse-options.c:935
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:957
+#: parse-options.c:974
 msgid "-NUM"
 msgstr "-SỐ"
 
@@ -5918,30 +5988,30 @@ msgstr "-SỐ"
 msgid "Could not make %s writable by group"
 msgstr "Không thể làm %s được ghi bởi nhóm"
 
-#: pathspec.c:130
+#: pathspec.c:151
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 "Ký tự thoát chuỗi “\\” không được phép là ký tự cuối trong giá trị thuộc tính"
 
-#: pathspec.c:148
+#: pathspec.c:169
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Chỉ có một đặc tả “attr:” là được phép."
 
-#: pathspec.c:151
+#: pathspec.c:172
 msgid "attr spec must not be empty"
 msgstr "đặc tả attr phải không được để trống"
 
-#: pathspec.c:194
+#: pathspec.c:215
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "tên thuộc tính không hợp lệ %s"
 
-#: pathspec.c:259
+#: pathspec.c:280
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "các cài đặt đặc tả đường dẫn “glob” và “noglob” toàn cục là xung khắc nhau"
 
-#: pathspec.c:266
+#: pathspec.c:287
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -5949,51 +6019,51 @@ msgstr ""
 "cài đặt đặc tả đường dẫn “literal” toàn cục là xung khắc với các cài đặt đặc "
 "tả đường dẫn toàn cục khác"
 
-#: pathspec.c:306
+#: pathspec.c:327
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "tham số không hợp lệ cho “tiền tố” màu nhiệm đặc tả đường đẫn"
 
-#: pathspec.c:327
+#: pathspec.c:348
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "Số màu nhiệm đặc tả đường dẫn không hợp lệ “%.*s” trong “%s”"
 
-#: pathspec.c:332
+#: pathspec.c:353
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Thiếu “)” tại cuối của số màu nhiệm đặc tả đường dẫn trong “%s”"
 
-#: pathspec.c:370
+#: pathspec.c:391
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Chưa viết mã cho số màu nhiệm đặc tả đường dẫn “%c” trong “%s”"
 
-#: pathspec.c:429
+#: pathspec.c:450
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s: “literal” và “glob” xung khắc nhau"
 
-#: pathspec.c:445
+#: pathspec.c:466
 #, c-format
 msgid "%s: '%s' is outside repository at '%s'"
 msgstr "%s: “%s” ngoài một kho chứa tại “%s”"
 
-#: pathspec.c:521
+#: pathspec.c:542
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "“%s” (mnemonic: “%c”)"
 
-#: pathspec.c:531
+#: pathspec.c:552
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ trợ bởi lệnh này: %s"
 
-#: pathspec.c:598
+#: pathspec.c:619
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
 
-#: pathspec.c:643
+#: pathspec.c:664
 #, c-format
 msgid "line is badly quoted: %s"
 msgstr "dòng được trích dẫn sai: %s"
@@ -6014,7 +6084,7 @@ msgstr "không thể ghi gói phân tách không trạng thái"
 msgid "flush packet write failed"
 msgstr "gặp lỗi khi ghi vào tập tin gói lúc đẩy dữ liệu lên bộ nhớ"
 
-#: pkt-line.c:153 pkt-line.c:239
+#: pkt-line.c:153 pkt-line.c:265
 msgid "protocol error: impossibly long line"
 msgstr "lỗi giao thức: không thể làm được dòng dài"
 
@@ -6022,33 +6092,34 @@ msgstr "lỗi giao thức: không thể làm được dòng dài"
 msgid "packet write with format failed"
 msgstr "gặp lỗi khi ghi gói có định dạng"
 
-#: pkt-line.c:203
+#: pkt-line.c:204
 msgid "packet write failed - data exceeds max packet size"
 msgstr "gặp lỗi khi ghi gói - dữ liệu vượt quá cỡ vói tối đa"
 
-#: pkt-line.c:210 pkt-line.c:217
-msgid "packet write failed"
-msgstr "gặp lỗi khi ghi gói"
+#: pkt-line.c:222
+#, c-format
+msgid "packet write failed: %s"
+msgstr "gặp lỗi khi ghi gói: %s"
 
-#: pkt-line.c:302
+#: pkt-line.c:328 pkt-line.c:329
 msgid "read error"
 msgstr "lỗi đọc"
 
-#: pkt-line.c:310
+#: pkt-line.c:339 pkt-line.c:340
 msgid "the remote end hung up unexpectedly"
 msgstr "máy chủ bị treo bất ngờ"
 
-#: pkt-line.c:338
+#: pkt-line.c:369 pkt-line.c:371
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "lỗi giao thức: ký tự chiều dài dòng bị sai: %.4s"
 
-#: pkt-line.c:352 pkt-line.c:357
+#: pkt-line.c:386 pkt-line.c:388 pkt-line.c:394 pkt-line.c:396
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "lỗi giao thức: chiều dài dòng bị sai %d"
 
-#: pkt-line.c:373 sideband.c:165
+#: pkt-line.c:413 sideband.c:165
 #, c-format
 msgid "remote error: %s"
 msgstr "lỗi máy chủ: %s"
@@ -6062,7 +6133,7 @@ msgstr "Làm mới bảng mục lục"
 msgid "unable to create threaded lstat: %s"
 msgstr "không thể tạo tuyến trình lstat: %s"
 
-#: pretty.c:984
+#: pretty.c:988
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
 
@@ -6084,6 +6155,10 @@ msgstr ""
 msgid "promisor remote name cannot begin with '/': %s"
 msgstr "tên máy chủ hứa hẹn không thể bắt đầu bằng “/”: %s"
 
+#: protocol-caps.c:103
+msgid "object-info: expected flush after arguments"
+msgstr "object-info: cần đẩy dữ liệu lên đĩa sau các tham số"
+
 #: prune-packed.c:35
 msgid "Removing duplicate objects"
 msgstr "Đang gỡ các đối tượng trùng lặp"
@@ -6096,7 +6171,7 @@ msgstr "không thể lấy thông tin thống kê về “log“"
 msgid "could not read `log` output"
 msgstr "không thể đọc kết xuất “log”"
 
-#: range-diff.c:101 sequencer.c:5318
+#: range-diff.c:101 sequencer.c:5551
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "không thể phân tích lần chuyển giao “%s”"
@@ -6128,52 +6203,52 @@ msgstr "--left-only và --right-only loại từ lẫn nhau"
 msgid "could not parse log for '%s'"
 msgstr "không thể phân tích nhật ký cho “%s”"
 
-#: read-cache.c:682
+#: read-cache.c:708
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr ""
 "sẽ không thêm các bí danh “%s” (“%s” đã có từ trước trong bảng mục lục)"
 
-#: read-cache.c:698
+#: read-cache.c:724
 msgid "cannot create an empty blob in the object database"
 msgstr "không thể tạo một blob rỗng trong cơ sở dữ liệu đối tượng"
 
-#: read-cache.c:720
+#: read-cache.c:746
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 "%s: chỉ có thể thêm tập tin thông thường, liên kết mềm hoặc git-directories"
 
-#: read-cache.c:725
+#: read-cache.c:751
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "“%s” không có một lần chuyển giao nào được lấy ra"
 
-#: read-cache.c:777
+#: read-cache.c:803
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "không thể đánh mục lục tập tin “%s”"
 
-#: read-cache.c:796
+#: read-cache.c:822
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "không thể thêm %s vào bảng mục lục"
 
-#: read-cache.c:807
+#: read-cache.c:833
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "không thể lấy thống kê “%s”"
 
-#: read-cache.c:1318
+#: read-cache.c:1356
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "%s có vẻ không phải là tập tin và cũng chẳng phải là một thư mục"
 
-#: read-cache.c:1532
+#: read-cache.c:1571
 msgid "Refresh index"
 msgstr "Làm tươi mới bảng mục lục"
 
-#: read-cache.c:1657
+#: read-cache.c:1700
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -6182,7 +6257,7 @@ msgstr ""
 "index.version được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: read-cache.c:1667
+#: read-cache.c:1710
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -6191,139 +6266,143 @@ msgstr ""
 "GIT_INDEX_VERSION được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: read-cache.c:1723
+#: read-cache.c:1766
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "chữ ký sai 0x%08x"
 
-#: read-cache.c:1726
+#: read-cache.c:1769
 #, c-format
 msgid "bad index version %d"
 msgstr "phiên bản mục lục sai %d"
 
-#: read-cache.c:1735
+#: read-cache.c:1778
 msgid "bad index file sha1 signature"
 msgstr "chữ ký dạng sha1 cho tập tin mục lục không đúng"
 
-#: read-cache.c:1765
+#: read-cache.c:1812
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "mục lục dùng phần mở rộng %.4s, cái mà chúng tôi không hiểu được"
 
-#: read-cache.c:1767
+#: read-cache.c:1814
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "đang lờ đi phần mở rộng %.4s"
 
-#: read-cache.c:1804
+#: read-cache.c:1851
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "không hiểu định dạng mục lục 0x%08x"
 
-#: read-cache.c:1820
+#: read-cache.c:1867
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "trường tên sai sạng trong mục lục, gần đường dẫn “%s”"
 
-#: read-cache.c:1877
+#: read-cache.c:1924
 msgid "unordered stage entries in index"
 msgstr "các mục tin stage không đúng thứ tự trong mục lục"
 
-#: read-cache.c:1880
+#: read-cache.c:1927
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "nhiều mục stage cho tập tin hòa trộn “%s”"
 
-#: read-cache.c:1883
+#: read-cache.c:1930
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "các mục tin stage không đúng thứ tự cho “%s”"
 
-#: read-cache.c:1989 read-cache.c:2280 rerere.c:549 rerere.c:583 rerere.c:1095
-#: submodule.c:1634 builtin/add.c:546 builtin/check-ignore.c:181
-#: builtin/checkout.c:504 builtin/checkout.c:690 builtin/clean.c:991
-#: builtin/commit.c:364 builtin/diff-tree.c:122 builtin/grep.c:505
-#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
+#: read-cache.c:2036 read-cache.c:2333 rerere.c:549 rerere.c:583 rerere.c:1095
+#: submodule.c:1635 builtin/add.c:575 builtin/check-ignore.c:183
+#: builtin/checkout.c:522 builtin/checkout.c:711 builtin/clean.c:991
+#: builtin/commit.c:377 builtin/diff-tree.c:122 builtin/grep.c:505
+#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:291
 #: builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: read-cache.c:2133
+#: read-cache.c:2180
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "không thể tạo tuyến load_cache_entries: %s"
 
-#: read-cache.c:2146
+#: read-cache.c:2193
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "không thể gia nhập tuyến load_cache_entries: %s"
 
-#: read-cache.c:2179
+#: read-cache.c:2226
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s: mở tập tin mục lục gặp lỗi"
 
-#: read-cache.c:2183
+#: read-cache.c:2230
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s: không thể lấy thống kê bảng mục lục đã mở"
 
-#: read-cache.c:2187
+#: read-cache.c:2234
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s: tập tin mục lục nhỏ hơn mong đợi"
 
-#: read-cache.c:2191
+#: read-cache.c:2238
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s: không thể ánh xạ tập tin mục lục"
 
-#: read-cache.c:2233
+#: read-cache.c:2280
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "không thể tạo tuyến load_index_extensions: %s"
 
-#: read-cache.c:2260
+#: read-cache.c:2307
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "không thể gia nhập tuyến load_index_extensions: %s"
 
-#: read-cache.c:2292
+#: read-cache.c:2345
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "không thể làm tươi mới mục lục đã chia sẻ “%s”"
 
-#: read-cache.c:2339
+#: read-cache.c:2392
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "mục lục bị hỏng, cần %s trong %s, nhưng lại nhận được %s"
 
-#: read-cache.c:3035 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1141
+#: read-cache.c:3095 strbuf.c:1173 wrapper.c:633 builtin/merge.c:1145
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: read-cache.c:3138 sequencer.c:2487 sequencer.c:4239
+#: read-cache.c:3138
+msgid "failed to convert to a sparse-index"
+msgstr "gặp lỗi khi chuyển đổi sang \"sparse-index\""
+
+#: read-cache.c:3209 sequencer.c:2684 sequencer.c:4441
 #, c-format
 msgid "could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: read-cache.c:3151
+#: read-cache.c:3222
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "không thể mở thư mục git: %s"
 
-#: read-cache.c:3163
+#: read-cache.c:3234
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "không thể bỏ liên kết (unlink): “%s”"
 
-#: read-cache.c:3188
+#: read-cache.c:3263
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "không thể sửa các bít phân quyền trên “%s”"
 
-#: read-cache.c:3337
+#: read-cache.c:3412
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s: không thể xóa bỏ stage #0"
@@ -6353,7 +6432,10 @@ msgid ""
 "r, reword <commit> = use commit, but edit the commit message\n"
 "e, edit <commit> = use commit, but stop for amending\n"
 "s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
+"                   commit's log message, unless -C is used, in which case\n"
+"                   keep only this commit's message; -c is same as -C but\n"
+"                   opens the editor\n"
 "x, exec <command> = run command (the rest of the line) using shell\n"
 "b, break = stop here (continue rebase later with 'git rebase --continue')\n"
 "d, drop <commit> = remove commit\n"
@@ -6362,7 +6444,7 @@ msgid ""
 "m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
 ".       create a merge commit using the original merge commit's\n"
 ".       message (or the oneline, if no original merge commit was\n"
-".       specified). Use -c <commit> to reword the commit message.\n"
+".       specified); use -c <commit> to reword the commit message\n"
 "\n"
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
@@ -6371,14 +6453,19 @@ msgstr ""
 "p, pick <commit> = dùng lần chuyển giao\n"
 "r, reword <commit> = dùng lần chuyển giao, nhưng sửa lại phần chú thích\n"
 "e, edit <commit> = dùng lần chuyển giao, nhưng dừng lại để tu bổ (amend)\n"
-"s, squash <commit> = dùng lần chuyển giao, nhưng meld vào lần chuyển giao kế "
+"s, squash <commit> = dùng lần chuyển giao, nhưng trộn vào lần chuyển giao kế "
 "trước\n"
-"f, fixup <commit> = giống như \"squash\", nhưng loại bỏ chú thích nhật ký "
-"của lần chuyển giao này\n"
+"f, fixup [-C | -c] <commit> = giống như \"squash\", nhưng chỉ giữ lại phần "
+"lời nhắn\n"
+"                   nhật ký của lần chuyển giao kế trước, trừ phi -C được "
+"dùng, trong trường hợp\n"
+"                   chỉ giữ ghi chú của lần chuyển giao này; -c giống như -C "
+"nhưng\n"
+"                   mở trình biên soạn\n"
 "x, exec <commit> = chạy lệnh (phần còn lại của dòng) dùng hệ vỏ\n"
 "b, break = dừng tại đây (tiếp tục cải tổ sau này bằng “git rebase --"
 "continue”)\n"
-"d, drop <commit> = xóa lần chuyển giao\n"
+"d, drop <commit> = xóa bỏ lần chuyển giao\n"
 "l, label <label> = đánh nhãn HEAD hiện tại bằng một tên\n"
 "t, reset <label> = đặt lại HEAD thành một nhãn\n"
 "m, merge [-C <commit> | -c <commit>] <nhãn> [# <một_dòng>]\n"
@@ -6388,16 +6475,16 @@ msgstr ""
 ".       trộn gốc). Dùng -c <commit> để reword chú thích của lần chuyển "
 "giao.\n"
 "\n"
-"Những dòng này có thể đảo ngược thứ tự; chúng chạy từ trên đỉnh xuống dưới "
-"đáy.\n"
+"Những dòng này có thể được thay đổi thứ tự; chúng chạy từ trên đỉnh xuống "
+"dưới đáy.\n"
 
-#: rebase-interactive.c:63
+#: rebase-interactive.c:66
 #, c-format
 msgid "Rebase %s onto %s (%d command)"
 msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] "Cải tổ %s vào %s (%d lệnh )"
 
-#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
+#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:218
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -6406,7 +6493,7 @@ msgstr ""
 "Đừng xóa bất kỳ dòng nào. Dùng “drop” một cách rõ ràng để xóa bỏ một lần "
 "chuyển giao.\n"
 
-#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
+#: rebase-interactive.c:78 git-rebase--preserve-merges.sh:222
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -6414,7 +6501,7 @@ msgstr ""
 "\n"
 "Nếu bạn xóa bỏ một dòng ở đây thì LẦN CHUYỂN GIAO ĐÓ SẼ MẤT.\n"
 
-#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
+#: rebase-interactive.c:84 git-rebase--preserve-merges.sh:861
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -6428,7 +6515,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
+#: rebase-interactive.c:89 git-rebase--preserve-merges.sh:938
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -6438,19 +6525,19 @@ msgstr ""
 "Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
 "\n"
 
-#: rebase-interactive.c:110 rerere.c:469 rerere.c:676 sequencer.c:3615
-#: sequencer.c:3641 sequencer.c:5424 builtin/fsck.c:329 builtin/rebase.c:272
+#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3816
+#: sequencer.c:3842 sequencer.c:5657 builtin/fsck.c:327 builtin/rebase.c:271
 #, c-format
 msgid "could not write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: rebase-interactive.c:116 builtin/rebase.c:204 builtin/rebase.c:230
-#: builtin/rebase.c:254
+#: rebase-interactive.c:119 builtin/rebase.c:203 builtin/rebase.c:229
+#: builtin/rebase.c:253
 #, c-format
 msgid "could not write '%s'."
 msgstr "không thể ghi “%s”."
 
-#: rebase-interactive.c:193
+#: rebase-interactive.c:196
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -6459,7 +6546,7 @@ msgstr ""
 "Cảnh báo: một số lần chuyển giao có lẽ đã bị xóa một cách tình cờ.\n"
 "Các lần chuyển giao bị xóa (từ mới đến cũ):\n"
 
-#: rebase-interactive.c:200
+#: rebase-interactive.c:203
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -6477,14 +6564,14 @@ msgstr ""
 "Cánh ứng xử có thể là: ignore, warn, error.\n"
 "\n"
 
-#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2402
-#: builtin/rebase.c:190 builtin/rebase.c:215 builtin/rebase.c:241
-#: builtin/rebase.c:266
+#: rebase-interactive.c:236 rebase-interactive.c:241 sequencer.c:2597
+#: builtin/rebase.c:189 builtin/rebase.c:214 builtin/rebase.c:240
+#: builtin/rebase.c:265
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: ref-filter.c:42 wt-status.c:1975
+#: ref-filter.c:42 wt-status.c:1978
 msgid "gone"
 msgstr "đã ra đi"
 
@@ -6641,111 +6728,111 @@ msgstr ""
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "định dạng: nguyên tử %%(if) được dùng mà không có nguyên tử %%(then)"
 
-#: ref-filter.c:806
+#: ref-filter.c:807
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "định dạng: nguyên tử %%(then) được dùng mà không có nguyên tử %%(if)"
 
-#: ref-filter.c:808
+#: ref-filter.c:809
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "định dạng: nguyên tử %%(then) được dùng nhiều hơn một lần"
 
-#: ref-filter.c:810
+#: ref-filter.c:811
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "định dạng: nguyên tử %%(then) được dùng sau %%(else)"
 
-#: ref-filter.c:838
+#: ref-filter.c:839
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "định dạng: nguyên tử %%(else) được dùng mà không có nguyên tử %%(if)"
 
-#: ref-filter.c:840
+#: ref-filter.c:841
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "định dạng: nguyên tử %%(else) được dùng mà không có nguyên tử %%(then)"
 
-#: ref-filter.c:842
+#: ref-filter.c:843
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "định dạng: nguyên tử %%(else) được dùng nhiều hơn một lần"
 
-#: ref-filter.c:857
+#: ref-filter.c:858
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "định dạng: nguyên tử %%(end) được dùng mà không có nguyên tử tương ứng"
 
-#: ref-filter.c:914
+#: ref-filter.c:915
 #, c-format
 msgid "malformed format string %s"
 msgstr "chuỗi định dạng dị hình %s"
 
-#: ref-filter.c:1555
+#: ref-filter.c:1556
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(không nhánh, đang cải tổ %s)"
 
-#: ref-filter.c:1558
+#: ref-filter.c:1559
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(không nhánh, đang cải tổ HEAD %s đã tách rời)"
 
-#: ref-filter.c:1561
+#: ref-filter.c:1562
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s)"
 
-#: ref-filter.c:1565
+#: ref-filter.c:1566
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD được tách rời tại %s)"
 
-#: ref-filter.c:1568
+#: ref-filter.c:1569
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD được tách rời từ %s)"
 
-#: ref-filter.c:1571
+#: ref-filter.c:1572
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: ref-filter.c:1603 ref-filter.c:1812
+#: ref-filter.c:1604 ref-filter.c:1813
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1613
+#: ref-filter.c:1614
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer gặp lỗi trên %s cho %s"
 
-#: ref-filter.c:1996
+#: ref-filter.c:1997
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:2085
+#: ref-filter.c:2086
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "đang lờ đi tham chiếu với tên hỏng %s"
 
-#: ref-filter.c:2090 refs.c:676
+#: ref-filter.c:2091 refs.c:676
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: ref-filter.c:2430
+#: ref-filter.c:2431
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:2529
+#: ref-filter.c:2525
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: ref-filter.c:2534
+#: ref-filter.c:2530
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "tùy chọn “%s” phải chỉ đến một lần chuyển giao"
@@ -7203,8 +7290,8 @@ msgstr "không thể unlink stray “%s”"
 msgid "Recorded preimage for '%s'"
 msgstr "Preimage đã được ghi lại cho “%s”"
 
-#: rerere.c:865 submodule.c:2088 builtin/log.c:1991
-#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
+#: rerere.c:865 submodule.c:2089 builtin/log.c:2000
+#: builtin/submodule--helper.c:1879 builtin/submodule--helper.c:1891
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
@@ -7242,25 +7329,25 @@ msgstr "không thể mở thư mục rr-cache"
 msgid "could not determine HEAD revision"
 msgstr "không thể dò tìm điểm xét duyệt HEAD"
 
-#: reset.c:70 reset.c:76 sequencer.c:3468
+#: reset.c:70 reset.c:76 sequencer.c:3669
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "gặp lỗi khi tìm cây của %s"
 
-#: revision.c:2338
+#: revision.c:2343
 msgid "--unpacked=<packfile> no longer supported"
 msgstr "--unpacked=<packfile> không còn được hỗ trợ nữa"
 
-#: revision.c:2668
+#: revision.c:2683
 msgid "your current branch appears to be broken"
 msgstr "nhánh hiện tại của bạn có vẻ như bị hỏng"
 
-#: revision.c:2671
+#: revision.c:2686
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "nhánh hiện tại của bạn “%s” không có một lần chuyển giao nào cả"
 
-#: revision.c:2877
+#: revision.c:2892
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L vẫn chưa hỗ trợ định dạng khác biệt nào ngoài -p và -s"
 
@@ -7268,12 +7355,12 @@ msgstr "-L vẫn chưa hỗ trợ định dạng khác biệt nào ngoài -p và
 msgid "open /dev/null failed"
 msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: run-command.c:1274
+#: run-command.c:1275
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "không thể tạo tuyến async: %s"
 
-#: run-command.c:1338
+#: run-command.c:1345
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -7282,34 +7369,42 @@ msgstr ""
 "Móc “%s” bị bỏ qua bởi vì nó không thể đặt là thực thi được.\n"
 "Bạn có thể tắt cảnh báo này bằng “git config advice.ignoredHook false“."
 
-#: send-pack.c:146
+#: send-pack.c:150
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 "gặp gói flush không cần trong khi đọc tình trạng giải nén gói trên máy chủ"
 
-#: send-pack.c:148
+#: send-pack.c:152
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "không thể phân tích tình trạng unpack máy chủ: %s"
 
-#: send-pack.c:150
+#: send-pack.c:154
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "máy chủ gặp lỗi unpack: %s"
 
-#: send-pack.c:374
+#: send-pack.c:378
 msgid "failed to sign the push certificate"
 msgstr "gặp lỗi khi ký chứng thực đẩy"
 
-#: send-pack.c:467
+#: send-pack.c:433
+msgid "send-pack: unable to fork off fetch subprocess"
+msgstr "send-pack: không thể rẽ nhánh tuyến trình con fetch"
+
+#: send-pack.c:455
+msgid "push negotiation failed; proceeding anyway with push"
+msgstr "đẩy đàm phán thất bại; vẫn tiếp tục xử lý bằng lệnh đẩy"
+
+#: send-pack.c:520
 msgid "the receiving end does not support this repository's hash algorithm"
 msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
 
-#: send-pack.c:476
+#: send-pack.c:529
 msgid "the receiving end does not support --signed push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
 
-#: send-pack.c:478
+#: send-pack.c:531
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -7317,47 +7412,47 @@ msgstr ""
 "đừng gửi giấy chứng nhận đẩy trước khi kết thúc nhận không hỗ trợ đẩy --"
 "signed"
 
-#: send-pack.c:490
+#: send-pack.c:543
 msgid "the receiving end does not support --atomic push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 
-#: send-pack.c:495
+#: send-pack.c:548
 msgid "the receiving end does not support push options"
 msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
 
-#: sequencer.c:195
+#: sequencer.c:196
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "chế độ dọn dẹp ghi chú các lần chuyển giao không hợp lệ “%s”"
 
-#: sequencer.c:323
+#: sequencer.c:324
 #, c-format
 msgid "could not delete '%s'"
 msgstr "không thể xóa bỏ “%s”"
 
-#: sequencer.c:343 builtin/rebase.c:757 builtin/rebase.c:1602 builtin/rm.c:385
+#: sequencer.c:344 builtin/rebase.c:757 builtin/rebase.c:1592 builtin/rm.c:402
 #, c-format
 msgid "could not remove '%s'"
 msgstr "không thể gỡ bỏ “%s”"
 
-#: sequencer.c:353
+#: sequencer.c:354
 msgid "revert"
 msgstr "hoàn nguyên"
 
-#: sequencer.c:355
+#: sequencer.c:356
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:357
+#: sequencer.c:358
 msgid "rebase"
 msgstr "rebase"
 
-#: sequencer.c:359
+#: sequencer.c:360
 #, c-format
 msgid "unknown action: %d"
 msgstr "không nhận ra thao tác: %d"
 
-#: sequencer.c:418
+#: sequencer.c:419
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -7365,7 +7460,7 @@ msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
 "với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”"
 
-#: sequencer.c:421
+#: sequencer.c:422
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -7375,43 +7470,43 @@ msgstr ""
 "với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:434 sequencer.c:3070
+#: sequencer.c:435 sequencer.c:3271
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:436 sequencer.c:2869 sequencer.c:3074 sequencer.c:3088
-#: sequencer.c:3345 sequencer.c:5334 strbuf.c:1168 wrapper.c:631
+#: sequencer.c:437 sequencer.c:3070 sequencer.c:3275 sequencer.c:3289
+#: sequencer.c:3546 sequencer.c:5567 strbuf.c:1170 wrapper.c:631
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
 
-#: sequencer.c:441
+#: sequencer.c:442
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:446 sequencer.c:2874 sequencer.c:3076 sequencer.c:3090
-#: sequencer.c:3353
+#: sequencer.c:447 sequencer.c:3075 sequencer.c:3277 sequencer.c:3291
+#: sequencer.c:3554
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:485
+#: sequencer.c:486
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh %s."
 
-#: sequencer.c:489
+#: sequencer.c:490
 msgid "commit your changes or stash them to proceed."
 msgstr "chuyển giao các thay đổi của bạn hay tạm cất (stash) chúng để xử lý."
 
-#: sequencer.c:521
+#: sequencer.c:522
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
 
-#: sequencer.c:560 builtin/tag.c:598
+#: sequencer.c:561 builtin/tag.c:609
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
@@ -7419,65 +7514,65 @@ msgstr "Chế độ dọn dẹp không hợp lệ %s"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase".
 #.
-#: sequencer.c:670
+#: sequencer.c:671
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:684
+#: sequencer.c:685
 msgid "unable to update cache tree"
 msgstr "không thể cập nhật cây bộ nhớ đệm"
 
-#: sequencer.c:698
+#: sequencer.c:699
 msgid "could not resolve HEAD commit"
 msgstr "không thể phân giải lần chuyển giao HEAD"
 
-#: sequencer.c:778
+#: sequencer.c:779
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "không có khóa hiện diện trong “%.*s”"
 
-#: sequencer.c:789
+#: sequencer.c:790
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "không thể giải trích dẫn giá trị của “%s”"
 
-#: sequencer.c:826 wrapper.c:201 wrapper.c:371 builtin/am.c:710
-#: builtin/am.c:802 builtin/merge.c:1136 builtin/rebase.c:910
+#: sequencer.c:827 wrapper.c:201 wrapper.c:371 builtin/am.c:728
+#: builtin/am.c:820 builtin/merge.c:1140 builtin/rebase.c:910
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: sequencer.c:836
+#: sequencer.c:837
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "“GIT_AUTHOR_NAME” đã sẵn đưa ra rồi"
 
-#: sequencer.c:841
+#: sequencer.c:842
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "“GIT_AUTHOR_EMAIL” đã sẵn đưa ra rồi"
 
-#: sequencer.c:846
+#: sequencer.c:847
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "“GIT_AUTHOR_DATE” đã sẵn đưa ra rồi"
 
-#: sequencer.c:850
+#: sequencer.c:851
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "không hiểu biến “%s”"
 
-#: sequencer.c:855
+#: sequencer.c:856
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "thiếu “GIT_AUTHOR_NAME”"
 
-#: sequencer.c:857
+#: sequencer.c:858
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "thiếu “GIT_AUTHOR_EMAIL”"
 
-#: sequencer.c:859
+#: sequencer.c:860
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "thiếu “GIT_AUTHOR_DATE”"
 
-#: sequencer.c:924
+#: sequencer.c:925
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -7506,11 +7601,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:1211
+#: sequencer.c:1212
 msgid "'prepare-commit-msg' hook failed"
 msgstr "móc “prepare-commit-msg” bị lỗi"
 
-#: sequencer.c:1217
+#: sequencer.c:1218
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7541,7 +7636,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1230
+#: sequencer.c:1231
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -7569,341 +7664,345 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1272
+#: sequencer.c:1273
 msgid "couldn't look up newly created commit"
 msgstr "không thể tìm thấy lần chuyển giao mới hơn đã được tạo"
 
-#: sequencer.c:1274
+#: sequencer.c:1275
 msgid "could not parse newly created commit"
 msgstr ""
 "không thể phân tích cú pháp của đối tượng chuyển giao mới hơn đã được tạo"
 
-#: sequencer.c:1320
+#: sequencer.c:1321
 msgid "unable to resolve HEAD after creating commit"
 msgstr "không thể phân giải HEAD sau khi tạo lần chuyển giao"
 
-#: sequencer.c:1322
+#: sequencer.c:1323
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:1326
+#: sequencer.c:1327
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: sequencer.c:1347
+#: sequencer.c:1348
 msgid "could not parse HEAD"
 msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:1349
+#: sequencer.c:1350
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s không phải là một lần chuyển giao!"
 
-#: sequencer.c:1353 sequencer.c:1431 builtin/commit.c:1577
+#: sequencer.c:1354 sequencer.c:1432 builtin/commit.c:1692
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:1409 sequencer.c:2108
+#: sequencer.c:1410 sequencer.c:2295
 msgid "unable to parse commit author"
 msgstr "không thể phân tích tác giả của lần chuyển giao"
 
-#: sequencer.c:1420 builtin/am.c:1566 builtin/merge.c:702
+#: sequencer.c:1421 builtin/am.c:1614 builtin/merge.c:706
 msgid "git write-tree failed to write a tree"
 msgstr "lệnh git write-tree gặp lỗi khi ghi một cây"
 
-#: sequencer.c:1453 sequencer.c:1573
+#: sequencer.c:1454 sequencer.c:1574
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "không thể đọc phần chú thích (message) từ “%s”"
 
-#: sequencer.c:1484 sequencer.c:1516
+#: sequencer.c:1485 sequencer.c:1517
 #, c-format
 msgid "invalid author identity '%s'"
 msgstr "định danh tác giả không hợp lệ “%s”"
 
-#: sequencer.c:1490
+#: sequencer.c:1491
 msgid "corrupt author: missing date information"
 msgstr "tác giả sai hỏng: thiếu thông tin này tháng"
 
-#: sequencer.c:1529 builtin/am.c:1593 builtin/commit.c:1678 builtin/merge.c:905
-#: builtin/merge.c:930 t/helper/test-fast-rebase.c:78
+#: sequencer.c:1530 builtin/am.c:1641 builtin/commit.c:1806 builtin/merge.c:909
+#: builtin/merge.c:934 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:1556 sequencer.c:4291 t/helper/test-fast-rebase.c:198
+#: sequencer.c:1557 sequencer.c:4493 t/helper/test-fast-rebase.c:198
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:1605
+#: sequencer.c:1606
 #, c-format
 msgid "could not parse commit %s"
 msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:1610
+#: sequencer.c:1611
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "không thể phân tích lần chuyển giao cha mẹ “%s”"
 
-#: sequencer.c:1693 sequencer.c:1804
+#: sequencer.c:1694 sequencer.c:1975
 #, c-format
 msgid "unknown command: %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:1751 sequencer.c:1776
+#: sequencer.c:1736 git-rebase--preserve-merges.sh:486
+msgid "This is the 1st commit message:"
+msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
+
+#: sequencer.c:1737
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "Đây là chú thích cho lần chuyển giao thứ #%d:"
+
+#: sequencer.c:1738
+msgid "The 1st commit message will be skipped:"
+msgstr "Chú thích cho lần chuyển giao thứ nhất sẽ bị bỏ qua:"
+
+#: sequencer.c:1739
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "Chú thích cho lần chuyển giao thứ #%d sẽ bị bỏ qua:"
+
+#: sequencer.c:1740
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Đây là tổ hợp của %d lần chuyển giao."
 
-#: sequencer.c:1761
+#: sequencer.c:1887 sequencer.c:1944
+#, c-format
+msgid "cannot write '%s'"
+msgstr "không thể ghi “%s”"
+
+#: sequencer.c:1934
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:1763 sequencer.c:3380
+#: sequencer.c:1936 sequencer.c:3581
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1765
+#: sequencer.c:1938
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:1771
-#, c-format
-msgid "cannot write '%s'"
-msgstr "không thể ghi “%s”"
-
-#: sequencer.c:1778 git-rebase--preserve-merges.sh:486
-msgid "This is the 1st commit message:"
-msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
-
-#: sequencer.c:1786
+#: sequencer.c:1962
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "không thể đọc phần chú thích (message) của %s"
 
-#: sequencer.c:1793
-#, c-format
-msgid "This is the commit message #%d:"
-msgstr "Đây là chú thích cho lần chuyển giao thứ #%d:"
-
-#: sequencer.c:1799
-#, c-format
-msgid "The commit message #%d will be skipped:"
-msgstr "Chú thích cho lần chuyển giao thứ #%d sẽ bị bỏ qua:"
-
-#: sequencer.c:1887
+#: sequencer.c:2072
 msgid "your index file is unmerged."
 msgstr "tập tin lưu mục lục của bạn không được hòa trộn."
 
-#: sequencer.c:1894
+#: sequencer.c:2079
 msgid "cannot fixup root commit"
 msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:1913
+#: sequencer.c:2098
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "lần chuyển giao %s là một lần hòa trộn nhưng không đưa ra tùy chọn -m."
 
-#: sequencer.c:1921 sequencer.c:1929
+#: sequencer.c:2106 sequencer.c:2114
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "lần chuyển giao %s không có cha mẹ %d"
 
-#: sequencer.c:1935
+#: sequencer.c:2120
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "không thể lấy ghi chú lần chuyển giao cho %s"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1954
+#: sequencer.c:2139
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: không thể phân tích lần chuyển giao mẹ của %s"
 
-#: sequencer.c:2019
+#: sequencer.c:2205
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:2079
+#: sequencer.c:2265
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:2080
+#: sequencer.c:2266
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:2100
+#: sequencer.c:2287
 #, c-format
 msgid "dropping %s %s -- patch contents already upstream\n"
 msgstr "xóa %s %s -- vá nội dung thượng nguồn đã có\n"
 
-#: sequencer.c:2158
+#: sequencer.c:2345
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: gặp lỗi đọc bảng mục lục"
 
-#: sequencer.c:2165
+#: sequencer.c:2352
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: gặp lỗi khi làm tươi mới bảng mục lục"
 
-#: sequencer.c:2242
+#: sequencer.c:2425
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:2251
+#: sequencer.c:2434
 #, c-format
 msgid "missing arguments for %s"
 msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:2282
+#: sequencer.c:2477
 #, c-format
 msgid "could not parse '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: sequencer.c:2343
+#: sequencer.c:2538
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:2354
+#: sequencer.c:2549
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "không thể “%s” thể mà không có lần chuyển giao kế trước"
 
-#: sequencer.c:2440
+#: sequencer.c:2635
 msgid "cancelling a cherry picking in progress"
 msgstr "đang hủy bỏ thao tác cherry pick đang thực hiện"
 
-#: sequencer.c:2449
+#: sequencer.c:2644
 msgid "cancelling a revert in progress"
 msgstr "đang hủy bỏ các thao tác hoàn nguyên đang thực hiện"
 
-#: sequencer.c:2493
+#: sequencer.c:2690
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "vui lòng sửa lỗi này bằng cách dùng “git rebase --edit-todo”."
 
-#: sequencer.c:2495
+#: sequencer.c:2692
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:2500
+#: sequencer.c:2697
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:2511
+#: sequencer.c:2708
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:2513
+#: sequencer.c:2710
 msgid "cannot revert during a cherry-pick."
 msgstr "không thể thực hiện việc hoàn nguyên trong khi đang cherry-pick."
 
-#: sequencer.c:2591
+#: sequencer.c:2788
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:2698
+#: sequencer.c:2897
 msgid "unusable squash-onto"
 msgstr "squash-onto không dùng được"
 
-#: sequencer.c:2718
+#: sequencer.c:2917
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:2811 sequencer.c:4644
+#: sequencer.c:3012 sequencer.c:4869
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:2828
+#: sequencer.c:3029
 msgid "revert is already in progress"
 msgstr "có thao tác hoàn nguyên đang được thực hiện"
 
-#: sequencer.c:2830
+#: sequencer.c:3031
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "hãy thử \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2833
+#: sequencer.c:3034
 msgid "cherry-pick is already in progress"
 msgstr "có thao tác “cherry-pick” đang được thực hiện"
 
-#: sequencer.c:2835
+#: sequencer.c:3036
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "hãy thử \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2849
+#: sequencer.c:3050
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "không thể tạo thư mục xếp dãy “%s”"
 
-#: sequencer.c:2864
+#: sequencer.c:3065
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:2924 sequencer.c:4379
+#: sequencer.c:3125 sequencer.c:4582
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay hoàn nguyên trong tiến trình"
 
-#: sequencer.c:2926 sequencer.c:2937
+#: sequencer.c:3127 sequencer.c:3138
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:2928 sequencer.c:2972
+#: sequencer.c:3129 sequencer.c:3173
 msgid "cannot abort from a branch yet to be born"
 msgstr "không thể hủy bỏ từ một nhánh mà nó còn chưa được tạo ra"
 
-#: sequencer.c:2958 builtin/grep.c:757
+#: sequencer.c:3159 builtin/grep.c:759
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:2960
+#: sequencer.c:3161
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:2961
+#: sequencer.c:3162
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:2967
+#: sequencer.c:3168
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "tập tin HEAD “pre-cherry-pick” đã lưu “%s” bị hỏng"
 
-#: sequencer.c:2978
+#: sequencer.c:3179
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 "Bạn có lẽ đã có HEAD đã bị di chuyển đi, Không thể tua, kiểm tra HEAD của "
 "bạn!"
 
-#: sequencer.c:3019
+#: sequencer.c:3220
 msgid "no revert in progress"
 msgstr "không có tiến trình hoàn nguyên nào"
 
-#: sequencer.c:3028
+#: sequencer.c:3229
 msgid "no cherry-pick in progress"
 msgstr "không có cherry-pick đang được thực hiện"
 
-#: sequencer.c:3038
+#: sequencer.c:3239
 msgid "failed to skip the commit"
 msgstr "gặp lỗi khi bỏ qua đối tượng chuyển giao"
 
-#: sequencer.c:3045
+#: sequencer.c:3246
 msgid "there is nothing to skip"
 msgstr "ở đây không có gì để mà bỏ qua cả"
 
-#: sequencer.c:3048
+#: sequencer.c:3249
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -7912,16 +8011,16 @@ msgstr ""
 "bạn đã sẵn sàng chuyển giao chưa?\n"
 "thử \"git %s --continue\""
 
-#: sequencer.c:3210 sequencer.c:4271
+#: sequencer.c:3411 sequencer.c:4473
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:3227
+#: sequencer.c:3428
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3235
+#: sequencer.c:3436
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -7940,27 +8039,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3245
+#: sequencer.c:3446
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Không thể áp dụng %s… %.*s"
 
-#: sequencer.c:3252
+#: sequencer.c:3453
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Không hòa trộn %.*s"
 
-#: sequencer.c:3266 sequencer.c:3270 builtin/difftool.c:640
+#: sequencer.c:3467 sequencer.c:3471 builtin/difftool.c:644
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3282
+#: sequencer.c:3483
 #, c-format
 msgid "Executing: %s\n"
 msgstr "Đang thực thi: %s\n"
 
-#: sequencer.c:3297
+#: sequencer.c:3498
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -7975,11 +8074,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3303
+#: sequencer.c:3504
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "và tạo các thay đổi bảng mục lục và/hay cây làm việc\n"
 
-#: sequencer.c:3309
+#: sequencer.c:3510
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -7996,90 +8095,90 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3370
+#: sequencer.c:3571
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "tên nhãn dị hình: “%.*s”"
 
-#: sequencer.c:3424
+#: sequencer.c:3625
 msgid "writing fake root commit"
 msgstr "ghi lần chuyển giao gốc giả"
 
-#: sequencer.c:3429
+#: sequencer.c:3630
 msgid "writing squash-onto"
 msgstr "đang ghi squash-onto"
 
-#: sequencer.c:3513
+#: sequencer.c:3714
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: sequencer.c:3546
+#: sequencer.c:3747
 msgid "cannot merge without a current revision"
 msgstr "không thể hòa trộn mà không có một điểm xét duyệt hiện tại"
 
-#: sequencer.c:3568
+#: sequencer.c:3769
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "không thể phân tích “%.*s”"
 
-#: sequencer.c:3577
+#: sequencer.c:3778
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "chẳng có gì để hòa trộn: “%.*s”"
 
-#: sequencer.c:3589
+#: sequencer.c:3790
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "hòa trộn octopus không thể được thực thi trên đỉnh của một [new root]"
 
-#: sequencer.c:3605
+#: sequencer.c:3806
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "không thể lấy chú thích của lần chuyển giao của “%s”"
 
-#: sequencer.c:3788
+#: sequencer.c:3989
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "không thể ngay cả khi thử hòa trộn “%.*s”"
 
-#: sequencer.c:3804
+#: sequencer.c:4005
 msgid "merge: Unable to write new index file"
 msgstr "merge: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:3878
+#: sequencer.c:4079
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: sequencer.c:3881
+#: sequencer.c:4082
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Gặp đáp ứng stash không cần: “%s”"
 
-#: sequencer.c:3887
+#: sequencer.c:4088
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Không thể tạo thư mục cho “%s”"
 
-#: sequencer.c:3890
+#: sequencer.c:4091
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Đã tạo autostash: %s\n"
 
-#: sequencer.c:3894
+#: sequencer.c:4095
 msgid "could not reset --hard"
 msgstr "không thể reset --hard"
 
-#: sequencer.c:3919
+#: sequencer.c:4120
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Đã áp dụng autostash.\n"
 
-#: sequencer.c:3931
+#: sequencer.c:4132
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:3934
+#: sequencer.c:4135
 #, c-format
 msgid ""
 "%s\n"
@@ -8091,29 +8190,29 @@ msgstr ""
 "Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
 "nào.\n"
 
-#: sequencer.c:3939
+#: sequencer.c:4140
 msgid "Applying autostash resulted in conflicts."
 msgstr "Áp dụng autostash có hiệu quả trong các xung đột."
 
-#: sequencer.c:3940
+#: sequencer.c:4141
 msgid "Autostash exists; creating a new stash entry."
 msgstr "Autostash đã sẵn có; nên tạo một mục stash mới."
 
-#: sequencer.c:4033 git-rebase--preserve-merges.sh:769
+#: sequencer.c:4234 git-rebase--preserve-merges.sh:769
 msgid "could not detach HEAD"
 msgstr "không thể tách rời HEAD"
 
-#: sequencer.c:4048
+#: sequencer.c:4249
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Dừng lại ở HEAD\n"
 
-#: sequencer.c:4050
+#: sequencer.c:4251
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Dừng lại ở %s\n"
 
-#: sequencer.c:4058
+#: sequencer.c:4259
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -8134,58 +8233,58 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:4104
+#: sequencer.c:4305
 #, c-format
 msgid "Rebasing (%d/%d)%s"
 msgstr "Đang cải tổ (%d/%d)%s"
 
-#: sequencer.c:4149
+#: sequencer.c:4351
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:4220
+#: sequencer.c:4422
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:4279
+#: sequencer.c:4481
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:4284
+#: sequencer.c:4486
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:4298
+#: sequencer.c:4500
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:4358
+#: sequencer.c:4560
 #, c-format
 msgid "Successfully rebased and updated %s.\n"
 msgstr "Cài tổ và cập nhật %s một cách thành công.\n"
 
-#: sequencer.c:4391
+#: sequencer.c:4612
 msgid "cannot rebase: You have unstaged changes."
 msgstr "không thể cải tổ: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: sequencer.c:4400
+#: sequencer.c:4621
 msgid "cannot amend non-existing commit"
 msgstr "không thể tu bỏ một lần chuyển giao không tồn tại"
 
-#: sequencer.c:4402
+#: sequencer.c:4623
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:4404
+#: sequencer.c:4625
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:4407
+#: sequencer.c:4628
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -8195,50 +8294,50 @@ msgstr ""
 "Bạn có các thay đổi chưa chuyển giao trong thư mục làm việc. Vui lòng\n"
 "chuyển giao chúng trước và sau đó chạy lệnh “git rebase --continue” lần nữa."
 
-#: sequencer.c:4443 sequencer.c:4482
+#: sequencer.c:4664 sequencer.c:4703
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "không thể ghi tập tin: “%s”"
 
-#: sequencer.c:4498
+#: sequencer.c:4719
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:4505
+#: sequencer.c:4726
 msgid "could not commit staged changes."
 msgstr "không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: sequencer.c:4621
+#: sequencer.c:4846
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:4625
+#: sequencer.c:4850
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:4660
+#: sequencer.c:4885
 msgid "can't revert as initial commit"
 msgstr "không thể hoàn nguyên một lần chuyển giao khởi tạo"
 
-#: sequencer.c:5137
+#: sequencer.c:5362
 msgid "make_script: unhandled options"
 msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sequencer.c:5140
+#: sequencer.c:5365
 msgid "make_script: error preparing revisions"
 msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sequencer.c:5382 sequencer.c:5399
+#: sequencer.c:5615 sequencer.c:5632
 msgid "nothing to do"
 msgstr "không có gì để làm"
 
-#: sequencer.c:5418
+#: sequencer.c:5651
 msgid "could not skip unnecessary pick commands"
 msgstr "không thể bỏ qua các lệnh cậy (pick) không cần thiết"
 
-#: sequencer.c:5512
+#: sequencer.c:5751
 msgid "the script was already rearranged."
 msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
@@ -8384,7 +8483,7 @@ msgstr ""
 "Dừng tại biên của hệ thống tập tin (GIT_DISCOVERY_ACROSS_FILESYSTEM chưa "
 "đặt)."
 
-#: setup.c:1362
+#: setup.c:1370
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -8393,75 +8492,88 @@ msgstr ""
 "gặp vấn đề với giá trị chế độ tập tin core.sharedRepository (0%.3o).\n"
 "người sở hữu tập tin phải luôn có quyền đọc và ghi."
 
-#: setup.c:1409
+#: setup.c:1417
 msgid "open /dev/null or dup failed"
 msgstr "gặp lỗi khi mở “/dev/null” hay dup"
 
-#: setup.c:1424
+#: setup.c:1432
 msgid "fork failed"
 msgstr "gặp lỗi khi rẽ nhánh tiến trình"
 
-#: setup.c:1429
+#: setup.c:1437 t/helper/test-simple-ipc.c:285
 msgid "setsid failed"
 msgstr "setsid gặp lỗi"
 
+#: sparse-index.c:151
+msgid "attempting to use sparse-index without cone mode"
+msgstr "cố gắng sử dụng chỉ mục thưa thớt mà không có chế độ hình nón"
+
+#: sparse-index.c:156
+msgid "unable to update cache-tree, staying full"
+msgstr "không thể cập nhật cây bộ nhớ đệm, chỗ chứa bị đầy"
+
+#: sparse-index.c:239
+#, c-format
+msgid "index entry is a directory, but not sparse (%08x)"
+msgstr "mục tin mục lục là một thư mục, nhưng không \"sparse\" (%08x)"
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:848
+#: strbuf.c:850
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u GiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:850
+#: strbuf.c:852
 #, c-format
 msgid "%u.%2.2u GiB/s"
 msgstr "%u.%2.2u GiB/giây"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:858
+#: strbuf.c:860
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u MiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:860
+#: strbuf.c:862
 #, c-format
 msgid "%u.%2.2u MiB/s"
 msgstr "%u.%2.2u MiB/giây"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:867
+#: strbuf.c:869
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u KiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:869
+#: strbuf.c:871
 #, c-format
 msgid "%u.%2.2u KiB/s"
 msgstr "%u.%2.2u KiB/giây"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:875
+#: strbuf.c:877
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
 msgstr[0] "%u byte"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:877
+#: strbuf.c:879
 #, c-format
 msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u byte/giây"
 
-#: strbuf.c:1166 wrapper.c:199 wrapper.c:369 builtin/am.c:719
+#: strbuf.c:1168 wrapper.c:199 wrapper.c:369 builtin/am.c:737
 #: builtin/rebase.c:866
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: strbuf.c:1175
+#: strbuf.c:1177
 #, c-format
 msgid "could not edit '%s'"
 msgstr "không thể sửa “%s”"
@@ -8512,22 +8624,22 @@ msgstr "Không thể gỡ bỏ mục .gitmodules dành cho %s"
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:327
+#: submodule.c:328
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "trong mô-đun-con không có gì “%s”"
 
-#: submodule.c:358
+#: submodule.c:359
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#: submodule.c:435
+#: submodule.c:436
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "đối số --ignore-submodules sai: %s"
 
-#: submodule.c:817
+#: submodule.c:818
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
@@ -8536,13 +8648,13 @@ msgstr ""
 "Mô-đun-con trong lần chuyển giao %s tại đường dẫn: “%s” va chạm với mô-đun-"
 "con cùng tên. Nên bỏ qua nó."
 
-#: submodule.c:920
+#: submodule.c:921
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr ""
 "mục tin mô-đun-con “%s” (%s) là một %s, không phải là một lần chuyển giao"
 
-#: submodule.c:1005
+#: submodule.c:1006
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
@@ -8551,36 +8663,36 @@ msgstr ""
 "Không thể chạy lệnh “git rev-list <các lần chuyển giao> --not --remotes -n "
 "1” trong mô-đun-con “%s”"
 
-#: submodule.c:1128
+#: submodule.c:1129
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "xử lý cho mô-đun-con “%s” gặp lỗi"
 
-#: submodule.c:1157 builtin/branch.c:689 builtin/submodule--helper.c:2469
+#: submodule.c:1158 builtin/branch.c:691 builtin/submodule--helper.c:2470
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu hợp lệ."
 
-#: submodule.c:1168
+#: submodule.c:1169
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "Đẩy lên mô-đun-con “%s”\n"
 
-#: submodule.c:1171
+#: submodule.c:1172
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "Không thể đẩy lên mô-đun-con “%s”\n"
 
-#: submodule.c:1463
+#: submodule.c:1464
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "Đang lấy về mô-đun-con %s%s\n"
 
-#: submodule.c:1497
+#: submodule.c:1498
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "Không thể truy cập mô-đun-con “%s”\n"
 
-#: submodule.c:1652
+#: submodule.c:1653
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8589,61 +8701,61 @@ msgstr ""
 "Có lỗi khi lấy về mô-đun-con:\n"
 " “%s”"
 
-#: submodule.c:1677
+#: submodule.c:1678
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "không nhận ra “%s” là một kho git"
 
-#: submodule.c:1694
+#: submodule.c:1695
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "Không thể chạy “git status --porcelain=2” trong mô-đun-con “%s”"
 
-#: submodule.c:1735
+#: submodule.c:1736
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "“git status --porcelain=2” gặp lỗi trong mô-đun-con “%s”"
 
-#: submodule.c:1810
+#: submodule.c:1811
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "không thể lấy thống kê “git status” trong mô-đun-con “%s”"
 
-#: submodule.c:1823
+#: submodule.c:1824
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "không thể chạy “git status” trong mô-đun-con “%s”"
 
-#: submodule.c:1838
+#: submodule.c:1839
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "Không thể đặt core.worktree trong mô-đun-con “%s”"
 
-#: submodule.c:1865 submodule.c:2175
+#: submodule.c:1866 submodule.c:2176
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:1886
+#: submodule.c:1887
 msgid "could not reset submodule index"
 msgstr "không thể đặt lại mục lục của mô-đun-con"
 
-#: submodule.c:1928
+#: submodule.c:1929
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 
-#: submodule.c:1980
+#: submodule.c:1981
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Mô-đun-con “%s” không thể được cập nhật."
 
-#: submodule.c:2048
+#: submodule.c:2049
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr "thư mục git mô đun con “%s” là bên trong git DIR “%.*s”"
 
-#: submodule.c:2069
+#: submodule.c:2070
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -8651,17 +8763,17 @@ msgstr ""
 "relocate_gitdir cho mô-đun-con “%s” với nhiều hơn một cây làm việc là chưa "
 "được hỗ trợ"
 
-#: submodule.c:2081 submodule.c:2140
+#: submodule.c:2082 submodule.c:2141
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "không thể tìm kiếm tên cho mô-đun-con “%s”"
 
-#: submodule.c:2085
+#: submodule.c:2086
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "từ chối di chuyển “%s” vào trong một thư mục git sẵn có"
 
-#: submodule.c:2092
+#: submodule.c:2093
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -8672,65 +8784,71 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:2220
+#: submodule.c:2221
 msgid "could not start ls-files in .."
 msgstr "không thể lấy thông tin thống kê về ls-files trong .."
 
-#: submodule.c:2260
+#: submodule.c:2261
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
 
-#: trailer.c:236
+#: symlinks.c:244
+#, c-format
+msgid "failed to lstat '%s'"
+msgstr "gặp lỗi khi lstat “%s”"
+
+#: trailer.c:244
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "chạy lệnh kéo theo “%s” gặp lỗi"
 
-#: trailer.c:483 trailer.c:488 trailer.c:493 trailer.c:547 trailer.c:551
-#: trailer.c:555
+#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
+#: trailer.c:570
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "không hiểu giá trị “%s” cho khóa “%s”"
 
-#: trailer.c:537 trailer.c:542 builtin/remote.c:299 builtin/remote.c:324
+#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:299
+#: builtin/remote.c:324
 #, c-format
 msgid "more than one %s"
 msgstr "nhiều hơn một %s"
 
-#: trailer.c:728
+#: trailer.c:743
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "thẻ thừa trống rỗng trong phần thừa “%.*s”"
 
-#: trailer.c:748
+#: trailer.c:763
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "không đọc được tập tin đầu vào “%s”"
 
-#: trailer.c:751 builtin/mktag.c:91
+#: trailer.c:766 builtin/mktag.c:88
 msgid "could not read from stdin"
 msgstr "không thể đọc từ đầu vào tiêu chuẩn"
 
-#: trailer.c:1009 wrapper.c:676
+#: trailer.c:1024 wrapper.c:676
 #, c-format
 msgid "could not stat %s"
 msgstr "không thể lấy thông tin thống kê về %s"
 
-#: trailer.c:1011
+#: trailer.c:1026
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "\"%s\" không phải là tập tin bình thường"
 
-#: trailer.c:1013
+#: trailer.c:1028
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "tập tin %s người dùng không thể ghi được"
 
-#: trailer.c:1025
+#: trailer.c:1040
 msgid "could not open temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: trailer.c:1065
+#: trailer.c:1080
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "không thể đổi tên tập tin tạm thời thành %s"
@@ -8779,7 +8897,7 @@ msgstr "không thể chạy fast-import"
 msgid "error while running fast-import"
 msgstr "gặp lỗi trong khi chạy fast-import"
 
-#: transport-helper.c:549 transport-helper.c:1237
+#: transport-helper.c:549 transport-helper.c:1247
 #, c-format
 msgid "could not read ref %s"
 msgstr "không thể đọc tham chiếu %s"
@@ -8797,7 +8915,7 @@ msgstr "giao thức này không hỗ trợ cài đặt đường dẫn dịch v
 msgid "invalid remote service path"
 msgstr "đường dẫn dịch vụ máy chủ không hợp lệ"
 
-#: transport-helper.c:661 transport.c:1447
+#: transport-helper.c:661 transport.c:1471
 msgid "operation not supported by protocol"
 msgstr "thao tác không được gia thức hỗ trợ"
 
@@ -8806,68 +8924,72 @@ msgstr "thao tác không được gia thức hỗ trợ"
 msgid "can't connect to subservice %s"
 msgstr "không thể kết nối đến dịch vụ phụ %s"
 
-#: transport-helper.c:745
+#: transport-helper.c:693 transport.c:397
+msgid "--negotiate-only requires protocol v2"
+msgstr "--negotiate-only cần giao thức v2"
+
+#: transport-helper.c:755
 msgid "'option' without a matching 'ok/error' directive"
 msgstr "“option” không có chỉ thị “ok/error” tương ứng"
 
-#: transport-helper.c:788
+#: transport-helper.c:798
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "cần ok/error, nhưng bộ hỗ trợ lại nói “%s”"
 
-#: transport-helper.c:845
+#: transport-helper.c:855
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "bộ hỗ trợ báo cáo rằng không cần tình trạng của %s"
 
-#: transport-helper.c:928
+#: transport-helper.c:938
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "helper %s không hỗ trợ dry-run"
 
-#: transport-helper.c:931
+#: transport-helper.c:941
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "helper %s không hỗ trợ --signed"
 
-#: transport-helper.c:934
+#: transport-helper.c:944
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "helper %s không hỗ trợ --signed=if-asked"
 
-#: transport-helper.c:939
+#: transport-helper.c:949
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "helper %s không hỗ trợ --atomic"
 
-#: transport-helper.c:943
+#: transport-helper.c:953
 #, c-format
 msgid "helper %s does not support --%s"
 msgstr "helper %s không hỗ trợ --%s"
 
-#: transport-helper.c:950
+#: transport-helper.c:960
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "helper %s không hỗ trợ “push-option”"
 
-#: transport-helper.c:1050
+#: transport-helper.c:1060
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-helper không hỗ trợ push; cần đặc tả tham chiếu"
 
-#: transport-helper.c:1055
+#: transport-helper.c:1065
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "helper %s không hỗ trợ “force”"
 
-#: transport-helper.c:1102
+#: transport-helper.c:1112
 msgid "couldn't run fast-export"
 msgstr "không thể chạy fast-export"
 
-#: transport-helper.c:1107
+#: transport-helper.c:1117
 msgid "error while running fast-export"
 msgstr "gặp lỗi trong khi chạy fast-export"
 
-#: transport-helper.c:1132
+#: transport-helper.c:1142
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -8877,52 +8999,52 @@ msgstr ""
 "cả.\n"
 "Tuy nhiên bạn nên chỉ định một nhánh.\n"
 
-#: transport-helper.c:1214
+#: transport-helper.c:1224
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "không hỗ trợ định dạng đối tượng “%s”"
 
-#: transport-helper.c:1223
+#: transport-helper.c:1233
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "đáp ứng sai dạng trong danh sách tham chiếu: %s"
 
-#: transport-helper.c:1375
+#: transport-helper.c:1385
 #, c-format
 msgid "read(%s) failed"
 msgstr "read(%s) gặp lỗi"
 
-#: transport-helper.c:1402
+#: transport-helper.c:1412
 #, c-format
 msgid "write(%s) failed"
 msgstr "write(%s) gặp lỗi"
 
-#: transport-helper.c:1451
+#: transport-helper.c:1461
 #, c-format
 msgid "%s thread failed"
 msgstr "tuyến trình %s gặp lỗi"
 
-#: transport-helper.c:1455
+#: transport-helper.c:1465
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "tuyến trình %s gặp lỗi khi gia nhập: %s"
 
-#: transport-helper.c:1474 transport-helper.c:1478
+#: transport-helper.c:1484 transport-helper.c:1488
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "không thể khởi chạy tuyến trình để sao chép dữ liệu: %s"
 
-#: transport-helper.c:1515
+#: transport-helper.c:1525
 #, c-format
 msgid "%s process failed to wait"
 msgstr "xử lý %s gặp lỗi khi đợi"
 
-#: transport-helper.c:1519
+#: transport-helper.c:1529
 #, c-format
 msgid "%s process failed"
 msgstr "xử lý %s gặp lỗi"
 
-#: transport-helper.c:1537 transport-helper.c:1546
+#: transport-helper.c:1547 transport-helper.c:1556
 msgid "can't start thread for copying data"
 msgstr "không thể khởi chạy tuyến trình cho việc chép dữ liệu"
 
@@ -8941,37 +9063,41 @@ msgstr "không thể đọc bó “%s”"
 msgid "transport: invalid depth option '%s'"
 msgstr "vận chuyển: tùy chọn độ sâu “%s” không hợp lệ"
 
-#: transport.c:269
+#: transport.c:272
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "xem protocol.version trong “git help config” để có thêm thông tin"
 
-#: transport.c:270
+#: transport.c:273
 msgid "server options require protocol version 2 or later"
 msgstr "các tùy chọn máy chủ yêu cầu giao thức phiên bản 2 hoặc mới hơn"
 
-#: transport.c:727
+#: transport.c:400
+msgid "server does not support wait-for-done"
+msgstr "Máy chủ không hỗ trợ wait-for-done"
+
+#: transport.c:751
 msgid "could not parse transport.color.* config"
 msgstr "không thể phân tích cú pháp cấu hình transport.color.*"
 
-#: transport.c:802
+#: transport.c:826
 msgid "support for protocol v2 not implemented yet"
 msgstr "việc hỗ trợ giao thức v2 chưa được thực hiện"
 
-#: transport.c:936
+#: transport.c:960
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "không hiểu giá trị cho cho cấu hình “%s”: %s"
 
-#: transport.c:1002
+#: transport.c:1026
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "không cho phép phương thức vận chuyển “%s”"
 
-#: transport.c:1055
+#: transport.c:1079
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync không còn được hỗ trợ nữa"
 
-#: transport.c:1157
+#: transport.c:1181
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -8980,7 +9106,7 @@ msgstr ""
 "Các đường dẫn mô-đun-con sau đây có chứa các thay đổi cái mà\n"
 "có thể được tìm thấy trên mọi máy phục vụ:\n"
 
-#: transport.c:1161
+#: transport.c:1185
 #, c-format
 msgid ""
 "\n"
@@ -9007,11 +9133,11 @@ msgstr ""
 "để đẩy chúng lên máy phục vụ.\n"
 "\n"
 
-#: transport.c:1169
+#: transport.c:1193
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport.c:1316
+#: transport.c:1340
 msgid "failed to push all needed submodules"
 msgstr "gặp lỗi khi đẩy dữ liệu của tất cả các mô-đun-con cần thiết"
 
@@ -9031,7 +9157,7 @@ msgstr "tên tập tin trống rỗng trong mục tin cây"
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
-#: unpack-trees.c:113
+#: unpack-trees.c:115
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -9042,7 +9168,7 @@ msgstr ""
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn "
 "chuyển nhánh."
 
-#: unpack-trees.c:115
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -9052,7 +9178,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:118
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -9063,7 +9189,7 @@ msgstr ""
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn hòa "
 "trộn."
 
-#: unpack-trees.c:120
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -9073,7 +9199,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:123
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -9083,7 +9209,7 @@ msgstr ""
 "%s:\n"
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn %s."
 
-#: unpack-trees.c:125
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -9093,7 +9219,7 @@ msgstr ""
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:130
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -9103,7 +9229,7 @@ msgstr ""
 "trong nó:\n"
 "%s"
 
-#: unpack-trees.c:134
+#: unpack-trees.c:136
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -9113,7 +9239,7 @@ msgstr ""
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:136
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -9123,7 +9249,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:139
+#: unpack-trees.c:141
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -9133,7 +9259,7 @@ msgstr ""
 "trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:141
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -9143,7 +9269,7 @@ msgstr ""
 "trộn:\n"
 "%%s"
 
-#: unpack-trees.c:144
+#: unpack-trees.c:146
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -9152,7 +9278,7 @@ msgstr ""
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:146
+#: unpack-trees.c:148
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -9161,7 +9287,7 @@ msgstr ""
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%s"
 
-#: unpack-trees.c:152
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -9172,7 +9298,7 @@ msgstr ""
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:154
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -9183,7 +9309,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:157
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -9193,7 +9319,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:159
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -9203,7 +9329,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:162
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -9213,7 +9339,7 @@ msgstr ""
 "%s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:164
+#: unpack-trees.c:166
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -9223,12 +9349,12 @@ msgstr ""
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:172
+#: unpack-trees.c:174
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Mục “%s” đè lên “%s”. Không thể buộc."
 
-#: unpack-trees.c:175
+#: unpack-trees.c:177
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -9237,7 +9363,7 @@ msgstr ""
 "Không thể cập nhật mô-đun-con:\n"
 "%s"
 
-#: unpack-trees.c:178
+#: unpack-trees.c:180
 #, c-format
 msgid ""
 "The following paths are not up to date and were left despite sparse "
@@ -9248,7 +9374,7 @@ msgstr ""
 "mẫu sparse:\n"
 "%s"
 
-#: unpack-trees.c:180
+#: unpack-trees.c:182
 #, c-format
 msgid ""
 "The following paths are unmerged and were left despite sparse patterns:\n"
@@ -9258,7 +9384,7 @@ msgstr ""
 "sparse:\n"
 "%s"
 
-#: unpack-trees.c:182
+#: unpack-trees.c:184
 #, c-format
 msgid ""
 "The following paths were already present and thus not updated despite sparse "
@@ -9269,12 +9395,12 @@ msgstr ""
 "cấp các mẫu sparse:\n"
 "%s"
 
-#: unpack-trees.c:262
+#: unpack-trees.c:264
 #, c-format
 msgid "Aborting\n"
 msgstr "Bãi bỏ\n"
 
-#: unpack-trees.c:289
+#: unpack-trees.c:291
 #, c-format
 msgid ""
 "After fixing the above paths, you may want to run `git sparse-checkout "
@@ -9283,11 +9409,11 @@ msgstr ""
 "Sau khi sửa các đường dẫn phía trên, bạn có thể chạy “git sparse-checkout "
 "reapply“.\n"
 
-#: unpack-trees.c:350
+#: unpack-trees.c:352
 msgid "Updating files"
 msgstr "Đang cập nhật các tập tin"
 
-#: unpack-trees.c:382
+#: unpack-trees.c:384
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -9297,11 +9423,17 @@ msgstr ""
 "HOA/thường trên một hệ thống tập tin không phân biệt HOA/thường)\n"
 "và chỉ một từ cùng một nhóm xung đột là trong cây làm việc hiện tại:\n"
 
-#: unpack-trees.c:1498
+#: unpack-trees.c:1519
 msgid "Updating index flags"
 msgstr "Đang cập nhật các cờ mục lục"
 
-#: upload-pack.c:1543
+#: unpack-trees.c:2608
+#, c-format
+msgid "worktree and untracked commit have duplicate entries: %s"
+msgstr ""
+"cây làm việc và lần chuyển giao không được theo dõi có các mục trùng lặp: %s"
+
+#: upload-pack.c:1548
 msgid "expected flush after fetch arguments"
 msgstr "cần đẩy dữ liệu lên đĩa sau các tham số của lệnh fetch"
 
@@ -9338,7 +9470,7 @@ msgstr "đoạn đường dẫn “..” không hợp lệ"
 msgid "Fetching objects"
 msgstr "Đang lấy về các đối tượng"
 
-#: worktree.c:238 builtin/am.c:2103
+#: worktree.c:238 builtin/am.c:2151
 #, c-format
 msgid "failed to read '%s'"
 msgstr "gặp lỗi khi đọc “%s”"
@@ -9482,11 +9614,11 @@ msgstr ""
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (dùng \"git rm <tập-tin>…\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:211 wt-status.c:1072
+#: wt-status.c:211 wt-status.c:1075
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:234 wt-status.c:1081
+#: wt-status.c:234 wt-status.c:1084
 msgid "Changes not staged for commit:"
 msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:"
 
@@ -9590,21 +9722,21 @@ msgstr "nội dung bị sửa đổi, "
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:905
+#: wt-status.c:908
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Bạn hiện nay ở trong phần cất đi đang có %d mục"
 
-#: wt-status.c:936
+#: wt-status.c:939
 msgid "Submodules changed but not updated:"
 msgstr "Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
 
-#: wt-status.c:938
+#: wt-status.c:941
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:1020
+#: wt-status.c:1023
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -9612,7 +9744,7 @@ msgstr ""
 "Không sửa hay xóa bỏ đường ở trên.\n"
 "Mọi thứ phía dưới sẽ được xóa bỏ."
 
-#: wt-status.c:1112
+#: wt-status.c:1115
 #, c-format
 msgid ""
 "\n"
@@ -9623,109 +9755,109 @@ msgstr ""
 "Nó cần %.2f giây để tính toán giá trị của trước/sau của nhánh.\n"
 "Bạn có thể dùng “--no-ahead-behind” tránh phải điều này.\n"
 
-#: wt-status.c:1142
+#: wt-status.c:1145
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:1145
+#: wt-status.c:1148
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:1147
+#: wt-status.c:1150
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (dùng \"git merge --abort\" để bãi bỏ việc hòa trộn)"
 
-#: wt-status.c:1151
+#: wt-status.c:1154
 msgid "All conflicts fixed but you are still merging."
 msgstr "Tất cả các xung đột đã được giải quyết nhưng bạn vẫn đang hòa trộn."
 
-#: wt-status.c:1154
+#: wt-status.c:1157
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (dùng \"git commit\" để hoàn tất việc hòa trộn)"
 
-#: wt-status.c:1163
+#: wt-status.c:1166
 msgid "You are in the middle of an am session."
 msgstr "Bạn đang ở giữa của một phiên “am”."
 
-#: wt-status.c:1166
+#: wt-status.c:1169
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:1170
+#: wt-status.c:1173
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git am --continue\")"
 
-#: wt-status.c:1172
+#: wt-status.c:1175
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (dùng \"git am --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:1174
+#: wt-status.c:1177
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (dùng \"git am --abort\" để phục hồi lại nhánh nguyên thủy)"
 
-#: wt-status.c:1307
+#: wt-status.c:1310
 msgid "git-rebase-todo is missing."
 msgstr "thiếu git-rebase-todo."
 
-#: wt-status.c:1309
+#: wt-status.c:1312
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1312
+#: wt-status.c:1315
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Lệnh thực hiện cuối (%d lệnh được thực thi):"
 
-#: wt-status.c:1323
+#: wt-status.c:1326
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1328
+#: wt-status.c:1331
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1331
+#: wt-status.c:1334
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Lệnh cần làm kế tiếp (%d lệnh còn lại):"
 
-#: wt-status.c:1339
+#: wt-status.c:1342
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (dùng lệnh \"git rebase --edit-todo\" để xem và sửa)"
 
-#: wt-status.c:1351
+#: wt-status.c:1354
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1356
+#: wt-status.c:1359
 msgid "You are currently rebasing."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” (cải tổ)."
 
-#: wt-status.c:1369
+#: wt-status.c:1372
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh “cải tổ” \"git rebase --continue\")"
 
-#: wt-status.c:1371
+#: wt-status.c:1374
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (dùng lệnh “cải tổ” \"git rebase --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1373
+#: wt-status.c:1376
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 "  (dùng lệnh “cải tổ” \"git rebase --abort\" để check-out nhánh nguyên thủy)"
 
-#: wt-status.c:1380
+#: wt-status.c:1383
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh “cải tổ” \"git rebase --"
 "continue\")"
 
-#: wt-status.c:1384
+#: wt-status.c:1387
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -9733,165 +9865,165 @@ msgstr ""
 "Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao trong khi "
 "đang “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1389
+#: wt-status.c:1392
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Bạn hiện tại đang cắt đôi một lần chuyển giao trong khi đang thực hiện việc "
 "rebase."
 
-#: wt-status.c:1392
+#: wt-status.c:1395
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Một khi thư mục làm việc của bạn đã gọn gàng, chạy lệnh “cải tổ” \"git "
 "rebase --continue\")"
 
-#: wt-status.c:1396
+#: wt-status.c:1399
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện việc sửa chữa một lần chuyển giao trong khi đang "
 "rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:1401
+#: wt-status.c:1404
 msgid "You are currently editing a commit during a rebase."
 msgstr "Bạn hiện đang sửa một lần chuyển giao trong khi bạn thực hiện rebase."
 
-#: wt-status.c:1404
+#: wt-status.c:1407
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (dùng \"git commit --amend\" để “tu bổ” lần chuyển giao hiện tại)"
 
-#: wt-status.c:1406
+#: wt-status.c:1409
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (chạy lệnh “cải tổ” \"git rebase --continue\" một khi bạn cảm thấy hài "
 "lòng về những thay đổi của mình)"
 
-#: wt-status.c:1417
+#: wt-status.c:1420
 msgid "Cherry-pick currently in progress."
 msgstr "Cherry-pick hiện tại đang được thực hiện."
 
-#: wt-status.c:1420
+#: wt-status.c:1423
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Bạn hiện nay đang thực hiện việc cherry-pick lần chuyển giao %s."
 
-#: wt-status.c:1427
+#: wt-status.c:1430
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh \"git cherry-pick --continue\")"
 
-#: wt-status.c:1430
+#: wt-status.c:1433
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (chạy lệnh \"git cherry-pick --continue\" để tiếp tục)"
 
-#: wt-status.c:1433
+#: wt-status.c:1436
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git cherry-pick --"
 "continue\")"
 
-#: wt-status.c:1435
+#: wt-status.c:1438
 msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
 msgstr "  (dùng \"git cherry-pick --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:1437
+#: wt-status.c:1440
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (dùng \"git cherry-pick --abort\" để hủy bỏ thao tác cherry-pick)"
 
-#: wt-status.c:1447
+#: wt-status.c:1450
 msgid "Revert currently in progress."
 msgstr "Hoàn nguyên hiện tại đang thực hiện."
 
-#: wt-status.c:1450
+#: wt-status.c:1453
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Bạn hiện nay đang thực hiện thao tác hoàn nguyên lần chuyển giao “%s”."
 
-#: wt-status.c:1456
+#: wt-status.c:1459
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:1459
+#: wt-status.c:1462
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (chạy lệnh \"git revert --continue\" để tiếp tục)"
 
-#: wt-status.c:1462
+#: wt-status.c:1465
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:1464
+#: wt-status.c:1467
 msgid "  (use \"git revert --skip\" to skip this patch)"
 msgstr "  (dùng lệnh \"git revert --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1466
+#: wt-status.c:1469
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (dùng \"git revert --abort\" để hủy bỏ thao tác hoàn nguyên)"
 
-#: wt-status.c:1476
+#: wt-status.c:1479
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện thao tác di chuyển nửa bước (bisect), bắt đầu từ "
 "nhánh “%s”."
 
-#: wt-status.c:1480
+#: wt-status.c:1483
 msgid "You are currently bisecting."
 msgstr "Bạn hiện tại đang thực hiện việc bisect (di chuyển nửa bước)."
 
-#: wt-status.c:1483
+#: wt-status.c:1486
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (dùng \"git bisect reset\" để quay trở lại nhánh nguyên thủy)"
 
-#: wt-status.c:1494
+#: wt-status.c:1497
 #, c-format
 msgid "You are in a sparse checkout with %d%% of tracked files present."
 msgstr ""
 "Bạn đang ở trong lần lấy ra sparser %d%% của các tập tin được theo dõi hiện "
 "tại."
 
-#: wt-status.c:1733
+#: wt-status.c:1736
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1740
+#: wt-status.c:1743
 msgid "interactive rebase in progress; onto "
 msgstr "rebase ở chế độ tương tác đang được thực hiện; lên trên "
 
-#: wt-status.c:1742
+#: wt-status.c:1745
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1747
+#: wt-status.c:1750
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1749
+#: wt-status.c:1752
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1752
+#: wt-status.c:1755
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1769
+#: wt-status.c:1772
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1770
+#: wt-status.c:1773
 msgid "No commits yet"
 msgstr "Vẫn chưa chuyển giao"
 
-#: wt-status.c:1784
+#: wt-status.c:1787
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1786
+#: wt-status.c:1789
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1790
+#: wt-status.c:1793
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -9903,32 +10035,32 @@ msgstr ""
 "có lẽ làm nó nhanh hơn, nhưng bạn phải cẩn thận đừng quên mình phải\n"
 "tự thêm các tập tin mới (xem “git help status”.."
 
-#: wt-status.c:1796
+#: wt-status.c:1799
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Những tập tin chưa được theo dõi không được liệt kê ra %s"
 
-#: wt-status.c:1798
+#: wt-status.c:1801
 msgid " (use -u option to show untracked files)"
 msgstr " (dùng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
 
-#: wt-status.c:1804
+#: wt-status.c:1807
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1809
+#: wt-status.c:1812
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "không có thay đổi nào được thêm vào để chuyển giao (dùng \"git add\" và/hoặc "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1813
+#: wt-status.c:1816
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "không có thay đổi nào được thêm vào để chuyển giao\n"
 
-#: wt-status.c:1817
+#: wt-status.c:1820
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -9937,74 +10069,92 @@ msgstr ""
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:1821
+#: wt-status.c:1824
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện\n"
 
-#: wt-status.c:1825
+#: wt-status.c:1828
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "không có gì để chuyển giao (tạo/sao-chép các tập tin và dùng \"git add\" để "
 "đưa vào theo dõi)\n"
 
-#: wt-status.c:1829 wt-status.c:1835
+#: wt-status.c:1832 wt-status.c:1838
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1832
+#: wt-status.c:1835
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "không có gì để chuyển giao (dùng -u xem các tập tin chưa được theo dõi)\n"
 
-#: wt-status.c:1837
+#: wt-status.c:1840
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "không có gì để chuyển giao, thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1942
+#: wt-status.c:1945
 msgid "No commits yet on "
 msgstr "Vẫn không thực hiện lệnh chuyển giao nào "
 
-#: wt-status.c:1946
+#: wt-status.c:1949
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1977
+#: wt-status.c:1980
 msgid "different"
 msgstr "khác"
 
-#: wt-status.c:1979 wt-status.c:1987
+#: wt-status.c:1982 wt-status.c:1990
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1982 wt-status.c:1985
+#: wt-status.c:1985 wt-status.c:1988
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2507
+#: wt-status.c:2511
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "không thể %s: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: wt-status.c:2513
+#: wt-status.c:2517
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 "thêm vào đó, bảng mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: wt-status.c:2515
+#: wt-status.c:2519
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 "không thể %s: Mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:457
+#: compat/simple-ipc/ipc-unix-socket.c:178
+msgid "could not send IPC command"
+msgstr "không thể gửi lệnh IPC"
+
+#: compat/simple-ipc/ipc-unix-socket.c:185
+msgid "could not read IPC response"
+msgstr "không thể đọc đáp ứng IPC"
+
+#: compat/simple-ipc/ipc-unix-socket.c:862
+#, c-format
+msgid "could not start accept_thread '%s'"
+msgstr "không thể khởi chạy accept_thread “%s”"
+
+#: compat/simple-ipc/ipc-unix-socket.c:874
+#, c-format
+msgid "could not start worker[0] for '%s'"
+msgstr "không thể khởi chạy bộ làm việc worker[0] cho “%s”"
+
+#: compat/precompose_utf8.c:58 builtin/clone.c:461
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
@@ -10013,138 +10163,138 @@ msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<các tùy chọn>] [--]  <pathspec>…"
 
-#: builtin/add.c:58
+#: builtin/add.c:61
 #, c-format
 msgid "cannot chmod %cx '%s'"
 msgstr "không thể chmod %cx '%s'"
 
-#: builtin/add.c:96
+#: builtin/add.c:99
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:101 builtin/commit.c:285
+#: builtin/add.c:104 builtin/commit.c:297
 msgid "updating files failed"
 msgstr "cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:111
+#: builtin/add.c:114
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:186
+#: builtin/add.c:198
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Đưa ra khỏi bệ phóng các thay đổi sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:280 builtin/rev-parse.c:991
+#: builtin/add.c:307 builtin/rev-parse.c:991
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:291
+#: builtin/add.c:318
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:295
+#: builtin/add.c:322
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:298
+#: builtin/add.c:325
 msgid "editing patch failed"
 msgstr "gặp lỗi khi sửa miếng vá"
 
-#: builtin/add.c:301
+#: builtin/add.c:328
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/add.c:303
+#: builtin/add.c:330
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Nên bỏ qua."
 
-#: builtin/add.c:308
+#: builtin/add.c:335
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể áp dụng miếng vá “%s”"
 
-#: builtin/add.c:316
+#: builtin/add.c:343
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:336 builtin/clean.c:904 builtin/fetch.c:169 builtin/mv.c:124
+#: builtin/add.c:363 builtin/clean.c:904 builtin/fetch.c:173 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:559
-#: builtin/remote.c:1427 builtin/rm.c:242 builtin/send-pack.c:190
+#: builtin/remote.c:1427 builtin/rm.c:243 builtin/send-pack.c:190
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:339
+#: builtin/add.c:366
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:340 builtin/checkout.c:1546 builtin/reset.c:308
+#: builtin/add.c:367 builtin/checkout.c:1567 builtin/reset.c:308
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
-#: builtin/add.c:341
+#: builtin/add.c:368
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:342
+#: builtin/add.c:369
 msgid "allow adding otherwise ignored files"
 msgstr "cho phép thêm các tập tin bị bỏ qua khác"
 
-#: builtin/add.c:343
+#: builtin/add.c:370
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo dõi"
 
-#: builtin/add.c:344
+#: builtin/add.c:371
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "thường hóa lại EOL của các tập tin được theo dõi (ý là -u)"
 
-#: builtin/add.c:345
+#: builtin/add.c:372
 msgid "record only the fact that the path will be added later"
 msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
 
-#: builtin/add.c:346
+#: builtin/add.c:373
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "thêm các thay đổi từ tất cả các tập tin có cũng như không được theo dõi dấu "
 "vết"
 
-#: builtin/add.c:349
+#: builtin/add.c:376
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "lờ đi các đường dẫn bị gỡ bỏ trong cây thư mục làm việc (giống với --no-all)"
 
-#: builtin/add.c:351
+#: builtin/add.c:378
 msgid "don't add, only refresh the index"
 msgstr "không thêm, chỉ làm tươi mới bảng mục lục"
 
-#: builtin/add.c:352
+#: builtin/add.c:379
 msgid "just skip files which cannot be added because of errors"
 msgstr "chie bỏ qua những tập tin mà nó không thể được thêm vào bởi vì gặp lỗi"
 
-#: builtin/add.c:353
+#: builtin/add.c:380
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 "kiểm tra xem - thậm chí thiếu - tập tin bị bỏ qua trong quá trình chạy thử"
 
-#: builtin/add.c:355 builtin/update-index.c:1004
+#: builtin/add.c:382 builtin/update-index.c:1006
 msgid "override the executable bit of the listed files"
 msgstr "ghi đè lên bít thi hành của các tập tin được liệt kê"
 
-#: builtin/add.c:357
+#: builtin/add.c:384
 msgid "warn when adding an embedded repository"
 msgstr "cảnh báo khi thêm một kho nhúng"
 
-#: builtin/add.c:359
+#: builtin/add.c:386
 msgid "backend for `git stash -p`"
 msgstr "ứng dụng chạy phía sau cho “git stash -p”"
 
-#: builtin/add.c:377
+#: builtin/add.c:404
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -10175,12 +10325,12 @@ msgstr ""
 "\n"
 "Xem \"git help submodule\" để biết thêm chi tiết."
 
-#: builtin/add.c:405
+#: builtin/add.c:432
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "thêm cần một kho git nhúng: %s"
 
-#: builtin/add.c:424
+#: builtin/add.c:451
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -10190,47 +10340,51 @@ msgstr ""
 "Tắt thông báo này bằng cách chạy lệnh\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:433
+#: builtin/add.c:460
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:461 builtin/commit.c:345
+#: builtin/add.c:488
+msgid "--dry-run is incompatible with --interactive/--patch"
+msgstr "--dry-run xung khắc với --interactive/--patch"
+
+#: builtin/add.c:490 builtin/commit.c:357
 msgid "--pathspec-from-file is incompatible with --interactive/--patch"
 msgstr "--pathspec-from-file xung khắc với --interactive/--patch"
 
-#: builtin/add.c:478
+#: builtin/add.c:507
 msgid "--pathspec-from-file is incompatible with --edit"
 msgstr "--pathspec-from-file xung khắc với --edit"
 
-#: builtin/add.c:490
+#: builtin/add.c:519
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:493
+#: builtin/add.c:522
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Tùy chọn --ignore-missing chỉ có thể được dùng cùng với --dry-run"
 
-#: builtin/add.c:497
+#: builtin/add.c:526
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "--chmod tham số “%s” phải hoặc là -x hay +x"
 
-#: builtin/add.c:515 builtin/checkout.c:1714 builtin/commit.c:351
-#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1569
+#: builtin/add.c:544 builtin/checkout.c:1735 builtin/commit.c:363
+#: builtin/reset.c:328 builtin/rm.c:273 builtin/stash.c:1637
 msgid "--pathspec-from-file is incompatible with pathspec arguments"
 msgstr "--pathspec-from-file xung khắc với các tham số đặc tả đường dẫn"
 
-#: builtin/add.c:522 builtin/checkout.c:1726 builtin/commit.c:357
-#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1575
+#: builtin/add.c:551 builtin/checkout.c:1747 builtin/commit.c:369
+#: builtin/reset.c:334 builtin/rm.c:279 builtin/stash.c:1643
 msgid "--pathspec-file-nul requires --pathspec-from-file"
 msgstr "--pathspec-file-nul cần --pathspec-from-file"
 
-#: builtin/add.c:526
+#: builtin/add.c:555
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 
-#: builtin/add.c:528
+#: builtin/add.c:557
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10240,109 +10394,109 @@ msgstr ""
 "Tắt thông báo này bằng cách chạy lệnh\n"
 "\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:352
+#: builtin/am.c:364
 msgid "could not parse author script"
 msgstr "không thể phân tích cú pháp văn lệnh tác giả"
 
-#: builtin/am.c:436
+#: builtin/am.c:454
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "“%s” bị xóa bởi móc applypatch-msg"
 
-#: builtin/am.c:478
+#: builtin/am.c:496
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/am.c:516
+#: builtin/am.c:534
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Gặp lỗi khi sao chép ghi chú (note) từ “%s” tới “%s”"
 
-#: builtin/am.c:542
+#: builtin/am.c:560
 msgid "fseek failed"
 msgstr "fseek gặp lỗi"
 
-#: builtin/am.c:730
+#: builtin/am.c:748
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/am.c:795
+#: builtin/am.c:813
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Chỉ có một sê-ri miếng vá StGIT được áp dụng một lúc"
 
-#: builtin/am.c:843
+#: builtin/am.c:861
 msgid "invalid timestamp"
 msgstr "dấu thời gian không hợp lệ"
 
-#: builtin/am.c:848 builtin/am.c:860
+#: builtin/am.c:866 builtin/am.c:878
 msgid "invalid Date line"
 msgstr "dòng Ngày tháng không hợp lệ"
 
-#: builtin/am.c:855
+#: builtin/am.c:873
 msgid "invalid timezone offset"
 msgstr "độ lệch múi giờ không hợp lệ"
 
-#: builtin/am.c:948
+#: builtin/am.c:966
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:953 builtin/clone.c:410
+#: builtin/am.c:971 builtin/clone.c:414
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/am.c:958
+#: builtin/am.c:976
 msgid "Failed to split patches."
 msgstr "Gặp lỗi khi chia nhỏ các miếng vá."
 
-#: builtin/am.c:1089
+#: builtin/am.c:1125
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Khi bạn đã giải quyết xong trục trặc này, hãy chạy \"%s --continue\"."
 
-#: builtin/am.c:1090
+#: builtin/am.c:1126
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 "Nếu bạn muốn bỏ qua miếng vá này, hãy chạy lệnh \"%s --skip\" để thay thế."
 
-#: builtin/am.c:1091
+#: builtin/am.c:1127
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "Để phục hồi lại nhánh gốc và dừng vá, hãy chạy \"%s --abort\"."
 
-#: builtin/am.c:1174
+#: builtin/am.c:1222
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Miếng vá được gửi với format=flowed; khoảng trống ở cuối của các dòng có thể "
 "bị mất."
 
-#: builtin/am.c:1202
+#: builtin/am.c:1250
 msgid "Patch is empty."
 msgstr "Miếng vá trống rỗng."
 
-#: builtin/am.c:1267
+#: builtin/am.c:1315
 #, c-format
 msgid "missing author line in commit %s"
 msgstr "thiếu dòng tác giả trong lần chuyển gia %s"
 
-#: builtin/am.c:1270
+#: builtin/am.c:1318
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "dòng định danh không hợp lệ: %.*s"
 
-#: builtin/am.c:1489
+#: builtin/am.c:1537
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để thực hiện “3-way merge”."
 
-#: builtin/am.c:1491
+#: builtin/am.c:1539
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Sử dụng thông tin trong bảng mục lục để cấu trúc lại một cây (tree) cơ sở…"
 
-#: builtin/am.c:1510
+#: builtin/am.c:1558
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -10350,24 +10504,24 @@ msgstr ""
 "Bạn đã sửa miếng vá của mình bằng cách thủ công à?\n"
 "Nó không thể áp dụng các blob đã được ghi lại trong bảng mục lục của nó."
 
-#: builtin/am.c:1516
+#: builtin/am.c:1564
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Đang dùng phương án dự phòng: vá bản cơ sở và “hòa trộn 3-đường”…"
 
-#: builtin/am.c:1542
+#: builtin/am.c:1590
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1574
+#: builtin/am.c:1622
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1626 builtin/am.c:1630
+#: builtin/am.c:1674 builtin/am.c:1678
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "không thể phục hồi: %s không tồn tại."
 
-#: builtin/am.c:1648
+#: builtin/am.c:1696
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
@@ -10375,41 +10529,41 @@ msgstr "Thân của lần chuyển giao là:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1658
+#: builtin/am.c:1706
 #, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 "Áp dụng? đồng ý [y]/khô[n]g/chỉnh sửa [e]/hiển thị miếng [v]á/chấp nhận tất "
 "cả [a]: "
 
-#: builtin/am.c:1704 builtin/commit.c:395
+#: builtin/am.c:1752 builtin/commit.c:408
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
-#: builtin/am.c:1708
+#: builtin/am.c:1756
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Bảng mục lục bẩn: không thể áp dụng các miếng vá (bẩn: %s)"
 
-#: builtin/am.c:1748 builtin/am.c:1816
+#: builtin/am.c:1796 builtin/am.c:1864
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Áp dụng: %.*s"
 
-#: builtin/am.c:1765
+#: builtin/am.c:1813
 msgid "No changes -- Patch already applied."
 msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi."
 
-#: builtin/am.c:1771
+#: builtin/am.c:1819
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Gặp lỗi khi vá tại %s %.*s"
 
-#: builtin/am.c:1775
+#: builtin/am.c:1823
 msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr "Dùng “git am --show-current-patch=diff” để xem miếng vá bị lỗi"
 
-#: builtin/am.c:1819
+#: builtin/am.c:1867
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -10420,7 +10574,7 @@ msgstr ""
 "đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng "
 "vá này."
 
-#: builtin/am.c:1826
+#: builtin/am.c:1874
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -10433,17 +10587,17 @@ msgstr ""
 "Bạn có lẽ muốn chạy “git rm“ trên một tập tin để chấp nhận \"được xóa bởi họ"
 "\" cho nó."
 
-#: builtin/am.c:1933 builtin/am.c:1937 builtin/am.c:1949 builtin/reset.c:347
+#: builtin/am.c:1981 builtin/am.c:1985 builtin/am.c:1997 builtin/reset.c:347
 #: builtin/reset.c:355
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Không thể phân tích đối tượng “%s”."
 
-#: builtin/am.c:1985
+#: builtin/am.c:2033
 msgid "failed to clean index"
 msgstr "gặp lỗi khi dọn bảng mục lục"
 
-#: builtin/am.c:2029
+#: builtin/am.c:2077
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -10451,156 +10605,160 @@ msgstr ""
 "Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần “am” thất bại cuối cùng.\n"
 "Không thể chuyển tới ORIG_HEAD"
 
-#: builtin/am.c:2136
+#: builtin/am.c:2184
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Giá trị không hợp lệ cho --patch-format: %s"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2226
 #, c-format
 msgid "Invalid value for --show-current-patch: %s"
 msgstr "Giá trị không hợp lệ cho --show-current-patch: %s"
 
-#: builtin/am.c:2182
+#: builtin/am.c:2230
 #, c-format
 msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s"
 msgstr "--show-current-patch=%s xung khắc với --show-current-patch=%s"
 
-#: builtin/am.c:2213
+#: builtin/am.c:2261
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<các tùy chọn>] [(<mbox>|<Maildir>)…]"
 
-#: builtin/am.c:2214
+#: builtin/am.c:2262
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<các tùy chọn>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2220
+#: builtin/am.c:2268
 msgid "run interactively"
 msgstr "chạy kiểu tương tác"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2270
 msgid "historical option -- no-op"
 msgstr "tùy chọn lịch sử -- không-toán-tử"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2272
 msgid "allow fall back on 3way merging if needed"
 msgstr "cho phép quay trở lại để hòa trộn kiểu “3way” nếu cần"
 
-#: builtin/am.c:2225 builtin/init-db.c:560 builtin/prune-packed.c:16
-#: builtin/repack.c:334 builtin/stash.c:882
+#: builtin/am.c:2273 builtin/init-db.c:546 builtin/prune-packed.c:16
+#: builtin/repack.c:472 builtin/stash.c:948
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2275
 msgid "add a Signed-off-by trailer to the commit message"
 msgstr "thêm dòng Signed-off-by vào cuối ghi chú của lần chuyển giao"
 
-#: builtin/am.c:2230
+#: builtin/am.c:2278
 msgid "recode into utf8 (default)"
 msgstr "chuyển mã thành utf8 (mặc định)"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2280
 msgid "pass -k flag to git-mailinfo"
 msgstr "chuyển cờ -k cho git-mailinfo"
 
-#: builtin/am.c:2234
+#: builtin/am.c:2282
 msgid "pass -b flag to git-mailinfo"
 msgstr "chuyển cờ -b cho git-mailinfo"
 
-#: builtin/am.c:2236
+#: builtin/am.c:2284
 msgid "pass -m flag to git-mailinfo"
 msgstr "chuyển cờ -m cho git-mailinfo"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2286
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "chuyển cờ --keep-cr cho git-mailsplit với định dạng mbox"
 
-#: builtin/am.c:2241
+#: builtin/am.c:2289
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "đừng chuyển cờ --keep-cr cho git-mailsplit không phụ thuộc vào am.keepcr"
 
-#: builtin/am.c:2244
+#: builtin/am.c:2292
 msgid "strip everything before a scissors line"
 msgstr "cắt mọi thứ trước dòng scissors"
 
-#: builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252 builtin/am.c:2255
-#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267
-#: builtin/am.c:2273
+#: builtin/am.c:2294
+msgid "pass it through git-mailinfo"
+msgstr "chuyển nó qua git-mailinfo"
+
+#: builtin/am.c:2297 builtin/am.c:2300 builtin/am.c:2303 builtin/am.c:2306
+#: builtin/am.c:2309 builtin/am.c:2312 builtin/am.c:2315 builtin/am.c:2318
+#: builtin/am.c:2324
 msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
-#: builtin/am.c:2263 builtin/commit.c:1395 builtin/fmt-merge-msg.c:17
-#: builtin/fmt-merge-msg.c:20 builtin/grep.c:904 builtin/merge.c:261
+#: builtin/am.c:2314 builtin/commit.c:1505 builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:906 builtin/merge.c:261
 #: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
-#: builtin/rebase.c:1347 builtin/repack.c:345 builtin/repack.c:349
-#: builtin/repack.c:351 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:436 parse-options.h:154 parse-options.h:175
-#: parse-options.h:316
+#: builtin/rebase.c:1342 builtin/repack.c:483 builtin/repack.c:487
+#: builtin/repack.c:489 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:447 parse-options.h:155 parse-options.h:176
+#: parse-options.h:317
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2269 builtin/branch.c:670 builtin/bugreport.c:136
-#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:470
+#: builtin/am.c:2320 builtin/branch.c:672 builtin/bugreport.c:137
+#: builtin/for-each-ref.c:40 builtin/replace.c:556 builtin/tag.c:481
 #: builtin/verify-tag.c:38
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2321
 msgid "format the patch(es) are in"
 msgstr "định dạng (các) miếng vá theo"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2327
 msgid "override error message when patch failure occurs"
 msgstr "đè lên các lời nhắn lỗi khi xảy ra lỗi vá nghiêm trọng"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2329
 msgid "continue applying patches after resolving a conflict"
 msgstr "tiếp tục áp dụng các miếng vá sau khi giải quyết xung đột"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2332
 msgid "synonyms for --continue"
 msgstr "đồng nghĩa với --continue"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2335
 msgid "skip the current patch"
 msgstr "bỏ qua miếng vá hiện hành"
 
-#: builtin/am.c:2287
+#: builtin/am.c:2338
 msgid "restore the original branch and abort the patching operation"
 msgstr "phục hồi lại nhánh gốc và loại bỏ thao tác vá"
 
-#: builtin/am.c:2290
+#: builtin/am.c:2341
 msgid "abort the patching operation but keep HEAD where it is"
 msgstr "bỏ qua thao tác vá nhưng vẫn giữ HEAD nơi nó chỉ đến"
 
-#: builtin/am.c:2294
+#: builtin/am.c:2345
 msgid "show the patch being applied"
 msgstr "hiển thị miếng vá đã được áp dụng rồi"
 
-#: builtin/am.c:2299
+#: builtin/am.c:2350
 msgid "lie about committer date"
 msgstr "nói dối về ngày chuyển giao"
 
-#: builtin/am.c:2301
+#: builtin/am.c:2352
 msgid "use current timestamp for author date"
 msgstr "dùng dấu thời gian hiện tại cho ngày tác giả"
 
-#: builtin/am.c:2303 builtin/commit-tree.c:120 builtin/commit.c:1515
-#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:538
-#: builtin/rebase.c:1400 builtin/revert.c:117 builtin/tag.c:451
+#: builtin/am.c:2354 builtin/commit-tree.c:120 builtin/commit.c:1630
+#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:537
+#: builtin/rebase.c:1395 builtin/revert.c:117 builtin/tag.c:462
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/am.c:2304 builtin/rebase.c:539 builtin/rebase.c:1401
+#: builtin/am.c:2355 builtin/rebase.c:538 builtin/rebase.c:1396
 msgid "GPG-sign commits"
 msgstr "Các lần chuyển giao ký-GPG"
 
-#: builtin/am.c:2307
+#: builtin/am.c:2358
 msgid "(internal use for git-rebase)"
 msgstr "(dùng nội bộ cho git-rebase)"
 
-#: builtin/am.c:2325
+#: builtin/am.c:2376
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -10608,16 +10766,16 @@ msgstr ""
 "Tùy chọn -b/--binary đã không dùng từ lâu rồi, và\n"
 "nó sẽ được bỏ đi. Xin đừng sử dụng nó thêm nữa."
 
-#: builtin/am.c:2332
+#: builtin/am.c:2383
 msgid "failed to read the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/am.c:2347
+#: builtin/am.c:2398
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "thư mục rebase trước %s không sẵn có nhưng mbox lại đưa ra."
 
-#: builtin/am.c:2371
+#: builtin/am.c:2422
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -10626,11 +10784,11 @@ msgstr ""
 "Tìm thấy thư mục lạc %s.\n"
 "Dùng \"git am --abort\" để loại bỏ nó đi."
 
-#: builtin/am.c:2377
+#: builtin/am.c:2428
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Thao tác phân giải không được tiến hành, chúng ta không phục hồi lại."
 
-#: builtin/am.c:2387
+#: builtin/am.c:2438
 msgid "interactive mode requires patches on the command line"
 msgstr "chế độ tương tác yêu cầu có các miếng vá trên dòng lệnh"
 
@@ -10836,7 +10994,7 @@ msgstr ""
 "tham số không hợp lệ %s cho “git bisect terms”.\n"
 "Các tùy chọn hỗ trợ là: --term-good|--term-old và --term-bad|--term-new."
 
-#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1014
+#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1021
 msgid "revision walk setup failed\n"
 msgstr "gặp lỗi cài đặt việc di chuyển qua các điểm xét duyệt\n"
 
@@ -10902,87 +11060,92 @@ msgstr "Hãy gọi “--bisect-state” với ít nhất một đối số"
 msgid "'git bisect %s' can take only one argument."
 msgstr "“git bisect %s” có thể lấy chỉ một đối số."
 
-#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:878
+#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:880
 #, c-format
 msgid "Bad rev input: %s"
 msgstr "Đầu vào rev sai: %s"
 
-#: builtin/bisect--helper.c:912
+#: builtin/bisect--helper.c:887
+#, c-format
+msgid "Bad rev input (not a commit): %s"
+msgstr "Đầu vào rev sai (không phải là lần chuyển giao): %s"
+
+#: builtin/bisect--helper.c:919
 msgid "We are not bisecting."
 msgstr "Chúng tôi không bisect."
 
-#: builtin/bisect--helper.c:962
+#: builtin/bisect--helper.c:969
 #, c-format
 msgid "'%s'?? what are you talking about?"
 msgstr "'%s'?? bạn đang nói gì thế?"
 
-#: builtin/bisect--helper.c:974
+#: builtin/bisect--helper.c:981
 #, c-format
 msgid "cannot read file '%s' for replaying"
 msgstr "không thể đọc tập tin '%s' để thao diễn lại"
 
-#: builtin/bisect--helper.c:1047
+#: builtin/bisect--helper.c:1054
 msgid "reset the bisection state"
 msgstr "đặt lại trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1049
+#: builtin/bisect--helper.c:1056
 msgid "check whether bad or good terms exist"
 msgstr "kiểm tra xem các thời điểm xấu/tốt có tồn tại không"
 
-#: builtin/bisect--helper.c:1051
+#: builtin/bisect--helper.c:1058
 msgid "print out the bisect terms"
 msgstr "in ra các thời điểm di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1053
+#: builtin/bisect--helper.c:1060
 msgid "start the bisect session"
 msgstr "bắt đầu phiên di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1055
+#: builtin/bisect--helper.c:1062
 msgid "find the next bisection commit"
 msgstr "tìm lần chuyển giao không di chuyển phân đôi"
 
-#: builtin/bisect--helper.c:1057
+#: builtin/bisect--helper.c:1064
 msgid "mark the state of ref (or refs)"
 msgstr "đánh dấu trạng thái ref (hoặc refs)"
 
-#: builtin/bisect--helper.c:1059
+#: builtin/bisect--helper.c:1066
 msgid "list the bisection steps so far"
 msgstr "liệt kê các bước bisection đi quá xa"
 
-#: builtin/bisect--helper.c:1061
+#: builtin/bisect--helper.c:1068
 msgid "replay the bisection process from the given file"
 msgstr "phát lại quá trình bisection từ tệp đã cho"
 
-#: builtin/bisect--helper.c:1063
+#: builtin/bisect--helper.c:1070
 msgid "skip some commits for checkout"
 msgstr "bỏ qua một số lần chuyển giao để lấy ra"
 
-#: builtin/bisect--helper.c:1065
+#: builtin/bisect--helper.c:1072
 msgid "no log for BISECT_WRITE"
 msgstr "không có nhật ký cho BISECT_WRITE"
 
-#: builtin/bisect--helper.c:1080
+#: builtin/bisect--helper.c:1087
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 "--bisect-reset requires không nhận đối số cũng không nhận lần chuyển giao"
 
-#: builtin/bisect--helper.c:1085
+#: builtin/bisect--helper.c:1092
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check cần 2 hoặc 3 tham số"
 
-#: builtin/bisect--helper.c:1091
+#: builtin/bisect--helper.c:1098
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms cần 0 hoặc 1 tham số"
 
-#: builtin/bisect--helper.c:1100
+#: builtin/bisect--helper.c:1107
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next cần 0 tham số"
 
-#: builtin/bisect--helper.c:1111
+#: builtin/bisect--helper.c:1118
 msgid "--bisect-log requires 0 arguments"
 msgstr "--bisect-log cần 0 tham số"
 
-#: builtin/bisect--helper.c:1116
+#: builtin/bisect--helper.c:1123
 msgid "no logfile given"
 msgstr "chưa chỉ ra tập tin ghi nhật ký"
 
@@ -11035,9 +11198,9 @@ msgstr "không coi các lần chuyển giao gốc là giới hạn (Mặc địn
 msgid "show work cost statistics"
 msgstr "hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:871 builtin/checkout.c:1503 builtin/clone.c:92
-#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:175
-#: builtin/merge.c:297 builtin/multi-pack-index.c:27 builtin/pull.c:119
+#: builtin/blame.c:871 builtin/checkout.c:1524 builtin/clone.c:94
+#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:179
+#: builtin/merge.c:297 builtin/multi-pack-index.c:55 builtin/pull.c:119
 #: builtin/push.c:575 builtin/send-pack.c:198
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
@@ -11086,7 +11249,7 @@ msgstr "hiển thị thư điện tử của tác giả thay cho tên (Mặc đ
 msgid "ignore whitespace differences"
 msgstr "bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:883 builtin/log.c:1812
+#: builtin/blame.c:883 builtin/log.c:1820
 msgid "rev"
 msgstr "rev"
 
@@ -11263,74 +11426,74 @@ msgstr "Đã xóa nhánh theo dõi máy chủ \"%s\" (từng là %s).\n"
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:438 builtin/tag.c:61
+#: builtin/branch.c:440 builtin/tag.c:63
 msgid "unable to parse format string"
 msgstr "không thể phân tích chuỗi định dạng"
 
-#: builtin/branch.c:469
+#: builtin/branch.c:471
 msgid "could not resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: builtin/branch.c:475
+#: builtin/branch.c:477
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) chỉ bên ngoài của refs/heads/"
 
-#: builtin/branch.c:490
+#: builtin/branch.c:492
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Nhánh %s đang được cải tổ lại tại %s"
 
-#: builtin/branch.c:494
+#: builtin/branch.c:496
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Nhánh %s đang được di chuyển phân đôi (bisect) tại %s"
 
-#: builtin/branch.c:511
+#: builtin/branch.c:513
 msgid "cannot copy the current branch while not on any."
 msgstr "không thể sao chép nhánh hiện hành trong khi nó chẳng ở đâu cả."
 
-#: builtin/branch.c:513
+#: builtin/branch.c:515
 msgid "cannot rename the current branch while not on any."
 msgstr "không thể đổi tên nhánh hiện hành trong khi nó chẳng ở đâu cả."
 
-#: builtin/branch.c:524
+#: builtin/branch.c:526
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:553
+#: builtin/branch.c:555
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:555
+#: builtin/branch.c:557
 msgid "Branch copy failed"
 msgstr "Gặp lỗi khi sao chép nhánh"
 
-#: builtin/branch.c:559
+#: builtin/branch.c:561
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "Đã tạo một bản sao của nhánh khuyết danh “%s”"
 
-#: builtin/branch.c:562
+#: builtin/branch.c:564
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:568
+#: builtin/branch.c:570
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Nhánh bị đổi tên thành %s, nhưng HEAD lại không được cập nhật!"
 
-#: builtin/branch.c:577
+#: builtin/branch.c:579
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Nhánh bị đổi tên, nhưng cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:579
+#: builtin/branch.c:581
 msgid "Branch is copied, but update of config-file failed"
 msgstr "Nhánh đã được sao chép, nhưng cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:597
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11341,180 +11504,180 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:631
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:633
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "hiển thị mã băm và chủ đề, đưa ra hai lần cho nhánh thượng nguồn"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:634
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:635
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:637
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:637 builtin/rebase.c:534
+#: builtin/branch.c:639 builtin/rebase.c:533
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:639
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:640
 msgid "unset the upstream info"
 msgstr "bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:641
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:642
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:642 builtin/branch.c:644
+#: builtin/branch.c:644 builtin/branch.c:646
 msgid "print only branches that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/branch.c:643 builtin/branch.c:645
+#: builtin/branch.c:645 builtin/branch.c:647
 msgid "print only branches that don't contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó không chứa lần chuyển giao"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:650
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:651
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:653
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:654
 msgid "delete branch (even if not merged)"
 msgstr "xóa nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:655
 msgid "move/rename a branch and its reflog"
 msgstr "di chuyển hay đổi tên một nhánh và reflog của nó"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:656
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:657
 msgid "copy a branch and its reflog"
 msgstr "sao chép một nhánh và reflog của nó"
 
-#: builtin/branch.c:656
+#: builtin/branch.c:658
 msgid "copy a branch, even if target exists"
 msgstr "sao chép một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:659
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:658
+#: builtin/branch.c:660
 msgid "show current branch name"
 msgstr "hiển thị nhánh hiện hành"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:661
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:663
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:664
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:665
 msgid "print only branches that are merged"
 msgstr "chỉ hiển thị những nhánh mà nó được hòa trộn"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:666
 msgid "print only branches that are not merged"
 msgstr "chỉ hiển thị những nhánh mà nó không được hòa trộn"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:667
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:667 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:669 builtin/for-each-ref.c:44 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:466
+#: builtin/tag.c:477
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:670
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:669 builtin/for-each-ref.c:48 builtin/tag.c:473
+#: builtin/branch.c:671 builtin/for-each-ref.c:50 builtin/tag.c:484
 msgid "sorting and filtering are case insensitive"
 msgstr "sắp xếp và lọc là phân biệt HOA thường"
 
-#: builtin/branch.c:670 builtin/for-each-ref.c:38 builtin/tag.c:471
+#: builtin/branch.c:672 builtin/for-each-ref.c:40 builtin/tag.c:482
 #: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/branch.c:693 builtin/clone.c:790
+#: builtin/branch.c:695 builtin/clone.c:794
 msgid "HEAD not found below refs/heads!"
 msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:717
+#: builtin/branch.c:719
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:732 builtin/branch.c:788 builtin/branch.c:797
+#: builtin/branch.c:734 builtin/branch.c:790 builtin/branch.c:799
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:764
+#: builtin/branch.c:766
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:771
 msgid "cannot edit description of more than one branch"
 msgstr "không thể sửa mô tả cho nhiều hơn một nhánh"
 
-#: builtin/branch.c:776
+#: builtin/branch.c:778
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Vẫn chưa chuyển giao trên nhánh “%s”."
 
-#: builtin/branch.c:779
+#: builtin/branch.c:781
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:794
+#: builtin/branch.c:796
 msgid "too many branches for a copy operation"
 msgstr "quá nhiều nhánh dành cho thao tác sao chép"
 
-#: builtin/branch.c:803
+#: builtin/branch.c:805
 msgid "too many arguments for a rename operation"
 msgstr "quá nhiều tham số cho thao tác đổi tên"
 
-#: builtin/branch.c:808
+#: builtin/branch.c:810
 msgid "too many arguments to set new upstream"
 msgstr "quá nhiều tham số để đặt thượng nguồn mới"
 
-#: builtin/branch.c:812
+#: builtin/branch.c:814
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -11522,30 +11685,30 @@ msgstr ""
 "không thể đặt thượng nguồn của HEAD thành %s khi mà nó chẳng chỉ đến nhánh "
 "nào cả."
 
-#: builtin/branch.c:815 builtin/branch.c:838
+#: builtin/branch.c:817 builtin/branch.c:840
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:819
+#: builtin/branch.c:821
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:832
+#: builtin/branch.c:834
 msgid "too many arguments to unset upstream"
 msgstr "quá nhiều tham số để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:838
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "không thể bỏ đặt thượng nguồn của HEAD không chỉ đến một nhánh nào cả."
 
-#: builtin/branch.c:842
+#: builtin/branch.c:844
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn"
 
-#: builtin/branch.c:852
+#: builtin/branch.c:854
 msgid ""
 "The -a, and -r, options to 'git branch' do not take a branch name.\n"
 "Did you mean to use: -a|-r --list <pattern>?"
@@ -11554,7 +11717,7 @@ msgstr ""
 "nhánh.\n"
 "Có phải ý bạn là dùng: -a|-r --list <mẫu>?"
 
-#: builtin/branch.c:856
+#: builtin/branch.c:858
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -11622,39 +11785,39 @@ msgstr ""
 "Vui lòng xen xét phần còn lại của báo cáo lỗi bên dưới.\n"
 "Bạn có thể xóa bất kỳ dòng nào bạn không muốn chia sẻ.\n"
 
-#: builtin/bugreport.c:135
+#: builtin/bugreport.c:136
 msgid "specify a destination for the bugreport file"
 msgstr "chỉ định thư mục định để tạo tập tin báo cáo lỗi"
 
-#: builtin/bugreport.c:137
+#: builtin/bugreport.c:138
 msgid "specify a strftime format suffix for the filename"
 msgstr ""
 "chỉ định chuỗi định dạng thời gian strftime dùng làm hậu tố cho tên tập tin"
 
-#: builtin/bugreport.c:159
+#: builtin/bugreport.c:160
 #, c-format
 msgid "could not create leading directories for '%s'"
 msgstr "không thể tạo các thư mục dẫn đầu cho “%s”"
 
-#: builtin/bugreport.c:166
+#: builtin/bugreport.c:167
 msgid "System Info"
 msgstr "Thông tin hệ thống"
 
-#: builtin/bugreport.c:169
+#: builtin/bugreport.c:170
 msgid "Enabled Hooks"
 msgstr "Các Móc đã được bật"
 
-#: builtin/bugreport.c:176
+#: builtin/bugreport.c:177
 #, c-format
 msgid "couldn't create a new file at '%s'"
 msgstr "không thể tạo tập tin mới tại “%s”"
 
-#: builtin/bugreport.c:179
+#: builtin/bugreport.c:180
 #, c-format
 msgid "unable to write to %s"
 msgstr "không thể ghi vào %s"
 
-#: builtin/bugreport.c:189
+#: builtin/bugreport.c:190
 #, c-format
 msgid "Created new report at '%s'.\n"
 msgstr "Đã tạo báo cáo mới tại “%s”\n"
@@ -11675,19 +11838,19 @@ msgstr "git bundle list-heads <tập tin> [<tên tham chiếu>…]"
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <tập tin> [<tên tham chiếu>…]"
 
-#: builtin/bundle.c:67 builtin/pack-objects.c:3495
+#: builtin/bundle.c:67 builtin/pack-objects.c:3747
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3497
+#: builtin/bundle.c:69 builtin/pack-objects.c:3749
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/bundle.c:71 builtin/pack-objects.c:3499
+#: builtin/bundle.c:71 builtin/pack-objects.c:3751
 msgid "show progress meter during object writing phase"
 msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
 
-#: builtin/bundle.c:74 builtin/pack-objects.c:3502
+#: builtin/bundle.c:74 builtin/pack-objects.c:3754
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
 
@@ -11830,8 +11993,8 @@ msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 msgid "terminate input and output records by a NUL character"
 msgstr "chấm dứt các bản ghi vào và ra bằng ký tự NULL"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1499 builtin/gc.c:549
-#: builtin/worktree.c:489
+#: builtin/check-ignore.c:21 builtin/checkout.c:1520 builtin/gc.c:549
+#: builtin/worktree.c:491
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -11843,27 +12006,27 @@ msgstr "hiển thị những đường dẫn đầu vào không khớp với m
 msgid "ignore index when checking"
 msgstr "bỏ qua mục lục khi kiểm tra"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:165
 msgid "cannot specify pathnames with --stdin"
 msgstr "không thể chỉ định các tên đường dẫn với --stdin"
 
-#: builtin/check-ignore.c:166
+#: builtin/check-ignore.c:168
 msgid "-z only makes sense with --stdin"
 msgstr "-z chỉ hợp lý với --stdin"
 
-#: builtin/check-ignore.c:168
+#: builtin/check-ignore.c:170
 msgid "no path specified"
 msgstr "chưa chỉ ra đường dẫn"
 
-#: builtin/check-ignore.c:172
+#: builtin/check-ignore.c:174
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet chỉ hợp lệ với tên đường dẫn đơn"
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:176
 msgid "cannot have both --quiet and --verbose"
 msgstr "không thể dùng cả hai tùy chọn --quiet và --verbose"
 
-#: builtin/check-ignore.c:177
+#: builtin/check-ignore.c:179
 msgid "--non-matching is only valid with --verbose"
 msgstr "tùy-chọn --non-matching chỉ hợp lệ khi dùng với --verbose"
 
@@ -11884,6 +12047,21 @@ msgstr "không thể phân tích danh bạ: “%s”"
 msgid "no contacts specified"
 msgstr "chưa chỉ ra danh bạ"
 
+#: builtin/checkout--worker.c:110
+msgid "git checkout--worker [<options>]"
+msgstr "git checkout--worker [<các tùy chọn>]"
+
+#: builtin/checkout--worker.c:118 builtin/checkout-index.c:201
+#: builtin/column.c:31 builtin/submodule--helper.c:1825
+#: builtin/submodule--helper.c:1828 builtin/submodule--helper.c:1836
+#: builtin/submodule--helper.c:2334 builtin/worktree.c:719
+msgid "string"
+msgstr "chuỗi"
+
+#: builtin/checkout--worker.c:119 builtin/checkout-index.c:202
+msgid "when creating files, prepend <string>"
+msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
+
 #: builtin/checkout-index.c:152
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<các tùy chọn>] [--] [<tập-tin>…]"
@@ -11892,156 +12070,145 @@ msgstr "git checkout-index [<các tùy chọn>] [--] [<tập-tin>…]"
 msgid "stage should be between 1 and 3 or all"
 msgstr "stage nên giữa 1 và 3 hay all"
 
-#: builtin/checkout-index.c:186
+#: builtin/checkout-index.c:187
 msgid "check out all files in the index"
 msgstr "lấy ra toàn bộ các tập tin trong bảng mục lục"
 
-#: builtin/checkout-index.c:187
+#: builtin/checkout-index.c:188
 msgid "force overwrite of existing files"
 msgstr "ép buộc ghi đè lên tập tin đã sẵn có từ trước"
 
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:190
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "không cảnh báo cho những tập tin tồn tại và không có trong bảng mục lục"
 
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:192
 msgid "don't checkout new files"
 msgstr "không checkout các tập tin mới"
 
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:194
 msgid "update stat information in the index file"
 msgstr "cập nhật thông tin thống kê trong tập tin lưu bảng mục lục mới"
 
-#: builtin/checkout-index.c:197
+#: builtin/checkout-index.c:198
 msgid "read list of paths from the standard input"
 msgstr "đọc danh sách đường dẫn từ đầu vào tiêu chuẩn"
 
-#: builtin/checkout-index.c:199
+#: builtin/checkout-index.c:200
 msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
-#: builtin/checkout-index.c:200 builtin/column.c:31
-#: builtin/submodule--helper.c:1824 builtin/submodule--helper.c:1827
-#: builtin/submodule--helper.c:1835 builtin/submodule--helper.c:2333
-#: builtin/worktree.c:717
-msgid "string"
-msgstr "chuỗi"
-
-#: builtin/checkout-index.c:201
-msgid "when creating files, prepend <string>"
-msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
-
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:204
 msgid "copy out the files from named stage"
 msgstr "sao chép ra các tập tin từ bệ phóng có tên"
 
-#: builtin/checkout.c:31
+#: builtin/checkout.c:33
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<các tùy chọn>] <nhánh>"
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:34
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<các tùy chọn>] [<nhánh>] -- <tập-tin>…"
 
-#: builtin/checkout.c:37
+#: builtin/checkout.c:39
 msgid "git switch [<options>] [<branch>]"
 msgstr "git switch [<các tùy chọn>] [<nhánh>]"
 
-#: builtin/checkout.c:42
+#: builtin/checkout.c:44
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<các tùy chọn>] [--source=<nhánh>] <tập tin>…"
 
-#: builtin/checkout.c:188 builtin/checkout.c:227
+#: builtin/checkout.c:190 builtin/checkout.c:229
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "đường dẫn “%s” không có các phiên bản của chúng ta"
 
-#: builtin/checkout.c:190 builtin/checkout.c:229
+#: builtin/checkout.c:192 builtin/checkout.c:231
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "đường dẫn “%s” không có các phiên bản của chúng"
 
-#: builtin/checkout.c:206
+#: builtin/checkout.c:208
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "đường dẫn “%s” không có tất cả các phiên bản cần thiết"
 
-#: builtin/checkout.c:258
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "đường dẫn “%s” không có các phiên bản cần thiết"
 
-#: builtin/checkout.c:275
+#: builtin/checkout.c:278
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:291
+#: builtin/checkout.c:294
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Không thể thêm kết quả hòa trộn cho “%s”"
 
-#: builtin/checkout.c:396
+#: builtin/checkout.c:414
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "Đã tạo lại %d xung đột hòa trộn"
 
-#: builtin/checkout.c:401
+#: builtin/checkout.c:419
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "Đã cập nhật đường dẫn %d từ %s"
 
-#: builtin/checkout.c:408
+#: builtin/checkout.c:426
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "Đã cập nhật đường dẫn %d từ mục lục"
 
-#: builtin/checkout.c:431 builtin/checkout.c:434 builtin/checkout.c:437
-#: builtin/checkout.c:441
+#: builtin/checkout.c:449 builtin/checkout.c:452 builtin/checkout.c:455
+#: builtin/checkout.c:459
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "không được dùng “%s” với các đường dẫn cập nhật"
 
-#: builtin/checkout.c:444 builtin/checkout.c:447
+#: builtin/checkout.c:462 builtin/checkout.c:465
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "không được dùng “%s” với %s"
 
-#: builtin/checkout.c:451
+#: builtin/checkout.c:469
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Không thể cập nhật các đường dẫn và chuyển đến nhánh “%s” cùng một lúc."
 
-#: builtin/checkout.c:455
+#: builtin/checkout.c:473
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "không chỉ định “%s” cũng không “%s”"
 
-#: builtin/checkout.c:459
+#: builtin/checkout.c:477
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "phải có “%s” khi không chỉ định “%s”"
 
-#: builtin/checkout.c:464 builtin/checkout.c:469
+#: builtin/checkout.c:482 builtin/checkout.c:487
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "“%s” hay “%s” không thể được sử dụng với %s"
 
-#: builtin/checkout.c:543 builtin/checkout.c:550
+#: builtin/checkout.c:563 builtin/checkout.c:570
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:718
+#: builtin/checkout.c:739
 msgid "you need to resolve your current index first"
 msgstr "bạn cần phải giải quyết bảng mục lục hiện tại của bạn trước đã"
 
-#: builtin/checkout.c:772
+#: builtin/checkout.c:793
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -12051,50 +12218,50 @@ msgstr ""
 "sau:\n"
 "%s"
 
-#: builtin/checkout.c:865
+#: builtin/checkout.c:886
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Không thể thực hiện reflog cho “%s”: %s\n"
 
-#: builtin/checkout.c:907
+#: builtin/checkout.c:928
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:911 builtin/clone.c:721 t/helper/test-fast-rebase.c:202
+#: builtin/checkout.c:932 builtin/clone.c:725 t/helper/test-fast-rebase.c:202
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:915
+#: builtin/checkout.c:936
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:918
+#: builtin/checkout.c:939
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:922
+#: builtin/checkout.c:943
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:924 builtin/checkout.c:1355
+#: builtin/checkout.c:945 builtin/checkout.c:1376
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:926
+#: builtin/checkout.c:947
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:977
+#: builtin/checkout.c:998
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:983
+#: builtin/checkout.c:1004
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -12113,7 +12280,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1002
+#: builtin/checkout.c:1023
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -12134,19 +12301,19 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:1037
+#: builtin/checkout.c:1058
 msgid "internal error in revision walk"
 msgstr "lỗi nội bộ trong khi di chuyển qua các điểm xét duyệt"
 
-#: builtin/checkout.c:1041
+#: builtin/checkout.c:1062
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1350
+#: builtin/checkout.c:1102 builtin/checkout.c:1371
 msgid "You are on a branch yet to be born"
 msgstr "Bạn tại nhánh mà nó chưa hề được sinh ra"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1184
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -12155,7 +12322,7 @@ msgstr ""
 "“%s” không thể là cả tập tin nội bộ và một nhánh theo dõi.\n"
 "Vui long dùng -- (và tùy chọn thêm --no-guess) để tránh lẫn lộn"
 
-#: builtin/checkout.c:1170
+#: builtin/checkout.c:1191
 msgid ""
 "If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
 "you can do so by fully qualifying the name with the --track option:\n"
@@ -12175,51 +12342,51 @@ msgstr ""
 "chưa rõ ràng, ví dụ máy chủ “origin”, cân nhắc cài đặt\n"
 "checkout.defaultRemote=origin trong cấu hình của bạn."
 
-#: builtin/checkout.c:1180
+#: builtin/checkout.c:1201
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "“%s” khớp với nhiều (%d) nhánh máy chủ được theo dõi"
 
-#: builtin/checkout.c:1246
+#: builtin/checkout.c:1267
 msgid "only one reference expected"
 msgstr "chỉ cần một tham chiếu"
 
-#: builtin/checkout.c:1263
+#: builtin/checkout.c:1284
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "chỉ cần một tham chiếu, nhưng lại đưa ra %d."
 
-#: builtin/checkout.c:1309 builtin/worktree.c:270 builtin/worktree.c:438
+#: builtin/checkout.c:1330 builtin/worktree.c:270 builtin/worktree.c:438
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1322 builtin/checkout.c:1688
+#: builtin/checkout.c:1343 builtin/checkout.c:1709
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "tham chiếu không phải là một cây:%s"
 
-#: builtin/checkout.c:1369
+#: builtin/checkout.c:1390
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được thẻ “%s”"
 
-#: builtin/checkout.c:1371
+#: builtin/checkout.c:1392
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được nhánh máy phục vụ “%s”"
 
-#: builtin/checkout.c:1372 builtin/checkout.c:1380
+#: builtin/checkout.c:1393 builtin/checkout.c:1401
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1375
+#: builtin/checkout.c:1396
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1391
+#: builtin/checkout.c:1412
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -12227,7 +12394,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi đang hòa trộn\n"
 "Cân nhắc dung \"git merge --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1395
+#: builtin/checkout.c:1416
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -12235,7 +12402,7 @@ msgstr ""
 "không thể chuyển nhanh ở giữa một phiên am\n"
 "Cân nhắc dùng \"git am --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1399
+#: builtin/checkout.c:1420
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -12243,7 +12410,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi cải tổ\n"
 "Cân nhắc dùng \"git rebase --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1403
+#: builtin/checkout.c:1424
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -12251,7 +12418,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi  cherry-picking\n"
 "Cân nhắc dùng \"git cherry-pick --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1407
+#: builtin/checkout.c:1428
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -12259,143 +12426,143 @@ msgstr ""
 "không thể chuyển nhánh trong khi hoàn nguyên\n"
 "Cân nhắc dùng \"git revert --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1432
 msgid "you are switching branch while bisecting"
 msgstr ""
 "bạn hiện tại đang thực hiện việc chuyển nhánh trong khi đang di chuyển nửa "
 "bước"
 
-#: builtin/checkout.c:1418
+#: builtin/checkout.c:1439
 msgid "paths cannot be used with switching branches"
 msgstr "các đường dẫn không thể dùng cùng với các nhánh chuyển"
 
-#: builtin/checkout.c:1421 builtin/checkout.c:1425 builtin/checkout.c:1429
+#: builtin/checkout.c:1442 builtin/checkout.c:1446 builtin/checkout.c:1450
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "“%s” không thể được sử dụng với các nhánh chuyển"
 
-#: builtin/checkout.c:1433 builtin/checkout.c:1436 builtin/checkout.c:1439
-#: builtin/checkout.c:1444 builtin/checkout.c:1449
+#: builtin/checkout.c:1454 builtin/checkout.c:1457 builtin/checkout.c:1460
+#: builtin/checkout.c:1465 builtin/checkout.c:1470
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1446
+#: builtin/checkout.c:1467
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "“%s” không thể nhận <điểm-đầu>"
 
-#: builtin/checkout.c:1454
+#: builtin/checkout.c:1475
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Không thể chuyển nhánh đến một thứ không phải là lần chuyển giao “%s”"
 
-#: builtin/checkout.c:1461
+#: builtin/checkout.c:1482
 msgid "missing branch or commit argument"
 msgstr "thiếu tham số là nhánh hoặc lần chuyển giao"
 
-#: builtin/checkout.c:1504
+#: builtin/checkout.c:1525
 msgid "perform a 3-way merge with the new branch"
 msgstr "thực hiện hòa trộn kiểu 3-way với nhánh mới"
 
-#: builtin/checkout.c:1505 builtin/log.c:1799 parse-options.h:322
+#: builtin/checkout.c:1526 builtin/log.c:1807 parse-options.h:323
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1506
+#: builtin/checkout.c:1527
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1518 builtin/worktree.c:486
+#: builtin/checkout.c:1539 builtin/worktree.c:488
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1519
+#: builtin/checkout.c:1540
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1521
+#: builtin/checkout.c:1542
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1523
+#: builtin/checkout.c:1544
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1523
+#: builtin/checkout.c:1544
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1525 builtin/merge.c:301
+#: builtin/checkout.c:1546 builtin/merge.c:301
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1528
+#: builtin/checkout.c:1549
 msgid "do not check if another worktree is holding the given ref"
 msgstr "không kiểm tra nếu cây làm việc khác đang giữ tham chiếu đã cho"
 
-#: builtin/checkout.c:1541
+#: builtin/checkout.c:1562
 msgid "checkout our version for unmerged files"
 msgstr ""
 "lấy ra (checkout) phiên bản của chúng ta cho các tập tin chưa được hòa trộn"
 
-#: builtin/checkout.c:1544
+#: builtin/checkout.c:1565
 msgid "checkout their version for unmerged files"
 msgstr ""
 "lấy ra (checkout) phiên bản của chúng họ cho các tập tin chưa được hòa trộn"
 
-#: builtin/checkout.c:1548
+#: builtin/checkout.c:1569
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục rải rác"
 
-#: builtin/checkout.c:1603
+#: builtin/checkout.c:1624
 #, c-format
 msgid "-%c, -%c and --orphan are mutually exclusive"
 msgstr "-%c, -%c và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1607
+#: builtin/checkout.c:1628
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p và --overlay loại từ lẫn nhau"
 
-#: builtin/checkout.c:1644
+#: builtin/checkout.c:1665
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1649
+#: builtin/checkout.c:1670
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "thiếu tên nhánh; hãy thử -%c"
 
-#: builtin/checkout.c:1681
+#: builtin/checkout.c:1702
 #, c-format
 msgid "could not resolve %s"
 msgstr "không thể phân giải “%s”"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1718
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1704
+#: builtin/checkout.c:1725
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 "“%s” không phải là một lần chuyển giao và một nhánh'%s” không thể được tạo "
 "từ đó"
 
-#: builtin/checkout.c:1708
+#: builtin/checkout.c:1729
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach không nhận một đối số đường dẫn “%s”"
 
-#: builtin/checkout.c:1717
+#: builtin/checkout.c:1738
 msgid "--pathspec-from-file is incompatible with --detach"
 msgstr "--pathspec-from-file xung khắc với --detach"
 
-#: builtin/checkout.c:1720 builtin/reset.c:325 builtin/stash.c:1566
+#: builtin/checkout.c:1741 builtin/reset.c:325 builtin/stash.c:1634
 msgid "--pathspec-from-file is incompatible with --patch"
 msgstr "--pathspec-from-file xung khắc với --patch"
 
-#: builtin/checkout.c:1733
+#: builtin/checkout.c:1754
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -12403,70 +12570,70 @@ msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
 "checkout bảng mục lục (index)."
 
-#: builtin/checkout.c:1738
+#: builtin/checkout.c:1759
 msgid "you must specify path(s) to restore"
 msgstr "bạn phải chỉ định các thư mục muốn hồi phục"
 
-#: builtin/checkout.c:1764 builtin/checkout.c:1766 builtin/checkout.c:1815
-#: builtin/checkout.c:1817 builtin/clone.c:122 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2719 builtin/worktree.c:482
-#: builtin/worktree.c:484
+#: builtin/checkout.c:1785 builtin/checkout.c:1787 builtin/checkout.c:1836
+#: builtin/checkout.c:1838 builtin/clone.c:126 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2720 builtin/worktree.c:484
+#: builtin/worktree.c:486
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1765
+#: builtin/checkout.c:1786
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1767
+#: builtin/checkout.c:1788
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1768
+#: builtin/checkout.c:1789
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1770
+#: builtin/checkout.c:1791
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "đoán thứ hai “git checkout <không-nhánh-nào-như-vậy>” (mặc định)"
 
-#: builtin/checkout.c:1771
+#: builtin/checkout.c:1792
 msgid "use overlay mode (default)"
 msgstr "dùng chế độ che phủ (mặc định)"
 
-#: builtin/checkout.c:1816
+#: builtin/checkout.c:1837
 msgid "create and switch to a new branch"
 msgstr "tạo và chuyển đến một nhánh mới"
 
-#: builtin/checkout.c:1818
+#: builtin/checkout.c:1839
 msgid "create/reset and switch to a branch"
 msgstr "tạo/đặt_lại và chuyển đến một nhánh"
 
-#: builtin/checkout.c:1820
+#: builtin/checkout.c:1841
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1822
+#: builtin/checkout.c:1843
 msgid "throw away local modifications"
 msgstr "vứt bỏ các sửa đổi địa phương"
 
-#: builtin/checkout.c:1856
+#: builtin/checkout.c:1877
 msgid "which tree-ish to checkout from"
 msgstr "lấy ra từ tree-ish nào"
 
-#: builtin/checkout.c:1858
+#: builtin/checkout.c:1879
 msgid "restore the index"
 msgstr "phục hồi bảng mục lục"
 
-#: builtin/checkout.c:1860
+#: builtin/checkout.c:1881
 msgid "restore the working tree (default)"
 msgstr "phục hồi cây làm việc (mặc định)"
 
-#: builtin/checkout.c:1862
+#: builtin/checkout.c:1883
 msgid "ignore unmerged entries"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s"
 
-#: builtin/checkout.c:1863
+#: builtin/checkout.c:1884
 msgid "use overlay mode"
 msgstr "dùng chế độ che phủ"
 
@@ -12497,11 +12664,6 @@ msgstr "Đang bỏ qua kho chứa %s\n"
 msgid "Would skip repository %s\n"
 msgstr "Nên bỏ qua kho chứa %s\n"
 
-#: builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr "gặp lỗi khi gỡ bỏ %s"
-
 #: builtin/clean.c:38
 #, c-format
 msgid "could not lstat %s\n"
@@ -12611,8 +12773,8 @@ msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
 #: builtin/clean.c:909 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:922 builtin/log.c:184 builtin/log.c:186
-#: builtin/ls-files.c:573 builtin/name-rev.c:526 builtin/name-rev.c:528
+#: builtin/grep.c:924 builtin/log.c:184 builtin/log.c:186
+#: builtin/ls-files.c:650 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "mẫu"
@@ -12653,164 +12815,169 @@ msgstr "-x và -X không thể dùng cùng nhau"
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các tùy chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:96
+msgid "don't clone shallow repository"
+msgstr "đừng nhân bản từ kho nông"
+
+#: builtin/clone.c:98
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:95 builtin/clone.c:97 builtin/init-db.c:555
+#: builtin/clone.c:99 builtin/clone.c:101 builtin/init-db.c:541
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:103
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:105
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:103
+#: builtin/clone.c:107
 msgid "don't use local hardlinks, always copy"
 msgstr "không sử dụng liên kết cứng nội bộ, luôn sao chép"
 
-#: builtin/clone.c:105
+#: builtin/clone.c:109
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "pathspec"
 msgstr "đặc-tả-đường-dẫn"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "number of submodules cloned in parallel"
 msgstr "số lượng mô-đun-con được nhân bản đồng thời"
 
-#: builtin/clone.c:112 builtin/init-db.c:552
+#: builtin/clone.c:116 builtin/init-db.c:538
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:113 builtin/init-db.c:553
+#: builtin/clone.c:117 builtin/init-db.c:539
 msgid "directory from which templates will be used"
 msgstr "thư mục mà tại đó các mẫu sẽ được dùng"
 
-#: builtin/clone.c:115 builtin/clone.c:117 builtin/submodule--helper.c:1831
-#: builtin/submodule--helper.c:2336
+#: builtin/clone.c:119 builtin/clone.c:121 builtin/submodule--helper.c:1832
+#: builtin/submodule--helper.c:2337
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:119 builtin/submodule--helper.c:1833
-#: builtin/submodule--helper.c:2338
+#: builtin/clone.c:123 builtin/submodule--helper.c:1834
+#: builtin/submodule--helper.c:2339
 msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
-#: builtin/clone.c:120 builtin/column.c:27 builtin/init-db.c:563
-#: builtin/merge-file.c:46 builtin/pack-objects.c:3561 builtin/repack.c:357
+#: builtin/clone.c:124 builtin/column.c:27 builtin/init-db.c:549
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3815 builtin/repack.c:495
+#: t/helper/test-simple-ipc.c:696 t/helper/test-simple-ipc.c:698
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:125
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "dùng <tên> thay cho “origin” để theo dõi thượng nguồn"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:127
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "lấy ra <nhánh> thay cho HEAD của máy chủ"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:129
 msgid "path to git-upload-pack on the remote"
 msgstr "đường dẫn đến git-upload-pack trên máy chủ"
 
-#: builtin/clone.c:126 builtin/fetch.c:176 builtin/grep.c:861
+#: builtin/clone.c:130 builtin/fetch.c:180 builtin/grep.c:863
 #: builtin/pull.c:208
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:131
 msgid "create a shallow clone of that depth"
 msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
 
-#: builtin/clone.c:128 builtin/fetch.c:178 builtin/pack-objects.c:3550
+#: builtin/clone.c:132 builtin/fetch.c:182 builtin/pack-objects.c:3804
 #: builtin/pull.c:211
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:133
 msgid "create a shallow clone since a specific time"
 msgstr "tạo bản sao không đầy đủ từ thời điểm đã cho"
 
-#: builtin/clone.c:130 builtin/fetch.c:180 builtin/fetch.c:203
-#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1323
+#: builtin/clone.c:134 builtin/fetch.c:184 builtin/fetch.c:207
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1318
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:131 builtin/fetch.c:181 builtin/pull.c:215
+#: builtin/clone.c:135 builtin/fetch.c:185 builtin/pull.c:215
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "làm sâu hơn lịch sử của bản sao shallow, bằng điểm xét duyệt loại trừ"
 
-#: builtin/clone.c:133 builtin/submodule--helper.c:1843
-#: builtin/submodule--helper.c:2352
+#: builtin/clone.c:137 builtin/submodule--helper.c:1844
+#: builtin/submodule--helper.c:2353
 msgid "clone only one branch, HEAD or --branch"
 msgstr "chỉ nhân bản một nhánh, HEAD hoặc --branch"
 
-#: builtin/clone.c:135
+#: builtin/clone.c:139
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr ""
 "đứng có nhân bản bất kỳ nhánh nào, và làm cho những lần lấy về sau không "
 "theo chúng nữa"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:141
 msgid "any cloned submodules will be shallow"
 msgstr "mọi mô-đun-con nhân bản sẽ là shallow (nông)"
 
-#: builtin/clone.c:138 builtin/init-db.c:561
+#: builtin/clone.c:142 builtin/init-db.c:547
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:139 builtin/init-db.c:562
+#: builtin/clone.c:143 builtin/init-db.c:548
 msgid "separate git dir from working tree"
 msgstr "không dùng chung thư mục dành riêng cho git và thư mục làm việc"
 
-#: builtin/clone.c:140
+#: builtin/clone.c:144
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:141
+#: builtin/clone.c:145
 msgid "set config inside the new repository"
 msgstr "đặt cấu hình bên trong một kho chứa mới"
 
-#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
+#: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
 #: builtin/pull.c:230 builtin/push.c:584 builtin/send-pack.c:196
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
+#: builtin/clone.c:147 builtin/fetch.c:202 builtin/ls-remote.c:77
 #: builtin/pull.c:231 builtin/push.c:584 builtin/send-pack.c:197
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/clone.c:144 builtin/fetch.c:199 builtin/pull.c:234
+#: builtin/clone.c:148 builtin/fetch.c:203 builtin/pull.c:234
 #: builtin/push.c:585
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:146 builtin/fetch.c:201 builtin/pull.c:237
+#: builtin/clone.c:150 builtin/fetch.c:205 builtin/pull.c:237
 #: builtin/push.c:587
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
-#: builtin/clone.c:150
+#: builtin/clone.c:154
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "mọi mô-đun-con nhân bản sẽ dung nhánh theo dõi máy chủ của chúng"
 
-#: builtin/clone.c:152
+#: builtin/clone.c:156
 msgid "initialize sparse-checkout file to include only files at root"
 msgstr "khởi tạo tập tin sparse-checkout để bao gồm chỉ các tập tin ở gốc"
 
-#: builtin/clone.c:288
+#: builtin/clone.c:292
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -12818,42 +12985,42 @@ msgstr ""
 "Không đoán được thư mục tên là gì.\n"
 "Vui lòng chỉ định tên một thư mục trên dòng lệnh"
 
-#: builtin/clone.c:341
+#: builtin/clone.c:345
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "thông tin: không thể thêm thay thế cho “%s”: %s\n"
 
-#: builtin/clone.c:414
+#: builtin/clone.c:418
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s có tồn tại nhưng lại không phải là một thư mục"
 
-#: builtin/clone.c:432
+#: builtin/clone.c:436
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "gặp lỗi khi bắt đầu lặp qua “%s”"
 
-#: builtin/clone.c:463
+#: builtin/clone.c:467
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "gặp lỗi khi tạo được liên kết mềm %s"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:471
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi sao chép tập tin và “%s”"
 
-#: builtin/clone.c:472
+#: builtin/clone.c:476
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "gặp lỗi khi lặp qua “%s”"
 
-#: builtin/clone.c:499
+#: builtin/clone.c:503
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:513
+#: builtin/clone.c:517
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -12863,105 +13030,105 @@ msgstr ""
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
 "và thử lấy ra với lệnh “git restore --source=HEAD :/”\n"
 
-#: builtin/clone.c:590
+#: builtin/clone.c:594
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Không tìm thấy nhánh máy chủ %s để nhân bản (clone)."
 
-#: builtin/clone.c:709
+#: builtin/clone.c:713
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:757
+#: builtin/clone.c:761
 msgid "failed to initialize sparse-checkout"
 msgstr "gặp lỗi khi khởi tạo sparse-checkout"
 
-#: builtin/clone.c:780
+#: builtin/clone.c:784
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể lấy ra.\n"
 
-#: builtin/clone.c:812
+#: builtin/clone.c:816
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:887
+#: builtin/clone.c:894
 msgid "unable to write parameters to config file"
 msgstr "không thể ghi các tham số vào tập tin cấu hình"
 
-#: builtin/clone.c:950
+#: builtin/clone.c:957
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:952
+#: builtin/clone.c:959
 msgid "cannot unlink temporary alternates file"
 msgstr "không thể bỏ liên kết tập tin thay thế tạm thời"
 
-#: builtin/clone.c:993 builtin/receive-pack.c:2493
+#: builtin/clone.c:1001 builtin/receive-pack.c:2491
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1005
 msgid "You must specify a repository to clone."
 msgstr "Bạn phải chỉ định một kho để mà nhân bản (clone)."
 
-#: builtin/clone.c:1010
+#: builtin/clone.c:1018
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "tùy chọn --bare và --origin %s xung khắc nhau."
 
-#: builtin/clone.c:1013
+#: builtin/clone.c:1021
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "tùy chọn --bare và --separate-git-dir xung khắc nhau."
 
-#: builtin/clone.c:1026
+#: builtin/clone.c:1035
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:1030 builtin/fetch.c:1951
+#: builtin/clone.c:1039 builtin/fetch.c:2011
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "độ sâu %s không phải là một số nguyên dương"
 
-#: builtin/clone.c:1040
+#: builtin/clone.c:1049
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "đường dẫn đích “%s” đã có từ trước và không phải là một thư mục rỗng."
 
-#: builtin/clone.c:1046
+#: builtin/clone.c:1055
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr ""
 "đường dẫn kho chứa “%s” đã có từ trước và không phải là một thư mục rỗng."
 
-#: builtin/clone.c:1060
+#: builtin/clone.c:1069
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "cây làm việc “%s” đã sẵn tồn tại rồi."
 
-#: builtin/clone.c:1075 builtin/clone.c:1096 builtin/difftool.c:271
-#: builtin/log.c:1986 builtin/worktree.c:282 builtin/worktree.c:314
+#: builtin/clone.c:1084 builtin/clone.c:1105 builtin/difftool.c:272
+#: builtin/log.c:1995 builtin/worktree.c:282 builtin/worktree.c:314
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: builtin/clone.c:1080
+#: builtin/clone.c:1089
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "không thể tạo cây thư mục làm việc dir “%s”"
 
-#: builtin/clone.c:1100
+#: builtin/clone.c:1109
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Đang nhân bản thành kho chứa bare “%s”…\n"
 
-#: builtin/clone.c:1102
+#: builtin/clone.c:1111
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1126
+#: builtin/clone.c:1135
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -12969,46 +13136,46 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1170 builtin/remote.c:200 builtin/remote.c:705
+#: builtin/clone.c:1188 builtin/remote.c:200 builtin/remote.c:705
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "“%s” không phải tên máy chủ hợp lệ"
 
-#: builtin/clone.c:1211
+#: builtin/clone.c:1229
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay thế."
 
-#: builtin/clone.c:1213
+#: builtin/clone.c:1231
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-since bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay "
 "thế."
 
-#: builtin/clone.c:1215
+#: builtin/clone.c:1233
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-exclude bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay "
 "thế."
 
-#: builtin/clone.c:1217
+#: builtin/clone.c:1235
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr ""
 "--filter bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay thế."
 
-#: builtin/clone.c:1220
+#: builtin/clone.c:1240
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1225
+#: builtin/clone.c:1245
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1315 builtin/clone.c:1323
+#: builtin/clone.c:1337 builtin/clone.c:1345
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Nhánh máy chủ %s không tìm thấy trong thượng nguồn %s"
 
-#: builtin/clone.c:1326
+#: builtin/clone.c:1348
 msgid "You appear to have cloned an empty repository."
 msgstr "Bạn hình như là đã nhân bản một kho trống rỗng."
 
@@ -13025,20 +13192,20 @@ msgid "layout to use"
 msgstr "bố cục để dùng"
 
 #: builtin/column.c:30
-msgid "Maximum width"
-msgstr "Ä\90ộ rộng tối đa"
+msgid "maximum width"
+msgstr "Ä\91ộ rộng tối đa"
 
 #: builtin/column.c:31
-msgid "Padding space on left border"
-msgstr "Chèn thêm khoảng trống vào bên trái"
+msgid "padding space on left border"
+msgstr "chèn thêm khoảng trống vào bên trái"
 
 #: builtin/column.c:32
-msgid "Padding space on right border"
-msgstr "Chèn thêm khoảng trắng vào bên phải"
+msgid "padding space on right border"
+msgstr "chèn thêm khoảng trắng vào bên phải"
 
 #: builtin/column.c:33
-msgid "Padding space between columns"
-msgstr "Chèn thêm khoảng trắng giữa các cột"
+msgid "padding space between columns"
+msgstr "chèn thêm khoảng trắng giữa các cột"
 
 #: builtin/column.c:51
 msgid "--command must be the first argument"
@@ -13068,7 +13235,7 @@ msgid "could not find object directory matching %s"
 msgstr "không thể tìm thấy thư mục đối tượng khớp với “%s”"
 
 #: builtin/commit-graph.c:80 builtin/commit-graph.c:210
-#: builtin/commit-graph.c:316 builtin/fetch.c:187 builtin/log.c:1768
+#: builtin/commit-graph.c:316 builtin/fetch.c:191 builtin/log.c:1776
 msgid "dir"
 msgstr "tmục"
 
@@ -13171,7 +13338,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "cha mẹ bị trùng lặp %s đã bị bỏ qua"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:557
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:559
 #, c-format
 msgid "not a valid object name %s"
 msgstr "không phải là tên đối tượng hợp lệ “%s”"
@@ -13199,13 +13366,13 @@ msgstr "cha-mẹ"
 msgid "id of a parent commit object"
 msgstr "mã số của đối tượng chuyển giao cha mẹ"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:282
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1537
-#: builtin/tag.c:445
+#: builtin/commit-tree.c:114 builtin/commit.c:1614 builtin/merge.c:282
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1605
+#: builtin/tag.c:456
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1504
+#: builtin/commit-tree.c:115 builtin/commit.c:1614
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
@@ -13213,7 +13380,7 @@ msgstr "chú thích của lần chuyển giao"
 msgid "read commit log message from file"
 msgstr "đọc chú thích nhật ký lần chuyển giao từ tập tin"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:299
+#: builtin/commit-tree.c:121 builtin/commit.c:1631 builtin/merge.c:299
 #: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "Ký lần chuyển giao dùng GPG"
@@ -13292,76 +13459,76 @@ msgstr ""
 "    git cherry-pick --skip\n"
 "\n"
 
-#: builtin/commit.c:312
+#: builtin/commit.c:324
 msgid "failed to unpack HEAD tree object"
 msgstr "gặp lỗi khi tháo dỡ HEAD đối tượng cây"
 
-#: builtin/commit.c:348
+#: builtin/commit.c:360
 msgid "--pathspec-from-file with -a does not make sense"
 msgstr "--pathspec-from-file với -a là không có ý nghĩa gì"
 
-#: builtin/commit.c:361
+#: builtin/commit.c:374
 msgid "No paths with --include/--only does not make sense."
 msgstr "Không đường dẫn với các tùy chọn --include/--only không hợp lý."
 
-#: builtin/commit.c:373
+#: builtin/commit.c:386
 msgid "unable to create temporary index"
 msgstr "không thể tạo bảng mục lục tạm thời"
 
-#: builtin/commit.c:382
+#: builtin/commit.c:395
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:397
+#: builtin/commit.c:410
 msgid "unable to update temporary index"
 msgstr "không thể cập nhật bảng mục lục tạm thời"
 
-#: builtin/commit.c:399
+#: builtin/commit.c:412
 msgid "Failed to update main cache tree"
 msgstr "Gặp lỗi khi cập nhật cây bộ nhớ đệm"
 
-#: builtin/commit.c:424 builtin/commit.c:447 builtin/commit.c:495
+#: builtin/commit.c:437 builtin/commit.c:460 builtin/commit.c:508
 msgid "unable to write new_index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới (new_index)"
 
-#: builtin/commit.c:476
+#: builtin/commit.c:489
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 "không thể thực hiện việc chuyển giao cục bộ trong khi đang được hòa trộn."
 
-#: builtin/commit.c:478
+#: builtin/commit.c:491
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "không thể thực hiện việc chuyển giao bộ phận trong khi đang cherry-pick."
 
-#: builtin/commit.c:480
+#: builtin/commit.c:493
 msgid "cannot do a partial commit during a rebase."
 msgstr ""
 "không thể thực hiện việc chuyển giao cục bộ trong khi đang thực hiện cải tổ."
 
-#: builtin/commit.c:488
+#: builtin/commit.c:501
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:507
+#: builtin/commit.c:520
 msgid "unable to write temporary index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục tạm thời"
 
-#: builtin/commit.c:605
+#: builtin/commit.c:618
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "lần chuyển giao “%s” thiếu phần tác giả ở đầu"
 
-#: builtin/commit.c:607
+#: builtin/commit.c:620
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "lần chuyển giao “%s” có phần tác giả ở đầu dị dạng"
 
-#: builtin/commit.c:626
+#: builtin/commit.c:639
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:679
+#: builtin/commit.c:692
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -13369,38 +13536,43 @@ msgstr ""
 "không thể chọn một ký tự ghi chú cái mà không được dùng\n"
 "trong phần ghi chú hiện tại"
 
-#: builtin/commit.c:717 builtin/commit.c:750 builtin/commit.c:1097
+#: builtin/commit.c:746 builtin/commit.c:780 builtin/commit.c:1158
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:729 builtin/shortlog.c:413
+#: builtin/commit.c:758 builtin/shortlog.c:413
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(đang đọc thông điệp nhật ký từ đầu vào tiêu chuẩn)\n"
 
-#: builtin/commit.c:731
+#: builtin/commit.c:760
 msgid "could not read log from standard input"
 msgstr "không thể đọc nhật ký từ đầu vào tiêu chuẩn"
 
-#: builtin/commit.c:735
+#: builtin/commit.c:764
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:766 builtin/commit.c:782
+#: builtin/commit.c:801
+#, c-format
+msgid "cannot combine -m with --fixup:%s"
+msgstr "không thể kết hợp “-m” với “--fixup”:%s"
+
+#: builtin/commit.c:813 builtin/commit.c:829
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:773
+#: builtin/commit.c:820
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:833
+#: builtin/commit.c:880
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:853
+#: builtin/commit.c:900
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
@@ -13414,7 +13586,7 @@ msgstr ""
 "\tgit update-ref -d MERGE_HEAD\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:858
+#: builtin/commit.c:905
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
@@ -13428,7 +13600,7 @@ msgstr ""
 "\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:868
+#: builtin/commit.c:915
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13439,7 +13611,7 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua, nếu phần chú thích rỗng sẽ hủy bỏ lần "
 "chuyển giao.\n"
 
-#: builtin/commit.c:876
+#: builtin/commit.c:923
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13451,153 +13623,186 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn thế.\n"
 "Phần chú thích này nếu trống rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/commit.c:893
+#: builtin/commit.c:940
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:901
+#: builtin/commit.c:948
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:908
+#: builtin/commit.c:955
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:926
+#: builtin/commit.c:973
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:997
+#: builtin/commit.c:1018
+msgid "unable to pass trailers to --trailers"
+msgstr "không thể chuyển phần đuôi cho “--trailers”"
+
+#: builtin/commit.c:1058
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:1011 builtin/tag.c:308
+#: builtin/commit.c:1072 builtin/tag.c:319
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Xin hãy cung cấp lời chú giải hoặc là dùng tùy chọn -m hoặc là -F.\n"
 
-#: builtin/commit.c:1055
+#: builtin/commit.c:1116
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "--author “%s” không phải là “Họ và tên <thư điện tửl>” và không khớp bất kỳ "
 "tác giả nào sẵn có"
 
-#: builtin/commit.c:1069
+#: builtin/commit.c:1130
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Chế độ bỏ qua không hợp lệ “%s”"
 
-#: builtin/commit.c:1087 builtin/commit.c:1331
+#: builtin/commit.c:1148 builtin/commit.c:1441
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin chưa được theo dõi không hợp lệ “%s”"
 
-#: builtin/commit.c:1127
+#: builtin/commit.c:1188
 msgid "--long and -z are incompatible"
 msgstr "hai tùy chọn -long và -z không tương thích với nhau"
 
-#: builtin/commit.c:1171
+#: builtin/commit.c:1219
+msgid "You are in the middle of a merge -- cannot reword."
+msgstr ""
+"Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện việc “reword”."
+
+#: builtin/commit.c:1221
+msgid "You are in the middle of a cherry-pick -- cannot reword."
+msgstr ""
+"Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện việc "
+"“reword”."
+
+#: builtin/commit.c:1224
+#, c-format
+msgid "cannot combine reword option of --fixup with path '%s'"
+msgstr "không thể tổ hợp tùy chọn \"reword\" của --fixup với đường dẫn '%s'"
+
+#: builtin/commit.c:1226
+msgid ""
+"reword option of --fixup is mutually exclusive with --patch/--interactive/--"
+"all/--include/--only"
+msgstr ""
+"tùy chọn \"reword\" của --fixup là loại trừ qua lại với --patch/--"
+"interactive/--all/--include/--only"
+
+#: builtin/commit.c:1245
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Sử dụng cả hai tùy chọn --reset-author và --author không hợp lý"
 
-#: builtin/commit.c:1180
+#: builtin/commit.c:1254
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1257
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện việc “tu bổ”."
 
-#: builtin/commit.c:1185
+#: builtin/commit.c:1259
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện việc “tu "
 "bổ”."
 
-#: builtin/commit.c:1187
+#: builtin/commit.c:1261
 msgid "You are in the middle of a rebase -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình cải tổ -- nên không thể thực hiện việc “tu bổ”."
 
-#: builtin/commit.c:1190
+#: builtin/commit.c:1264
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Các tùy chọn --squash và --fixup không thể sử dụng cùng với nhau"
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1274
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Chỉ được dùng một trong số tùy chọn trong số -c/-C/-F/--fixup."
 
-#: builtin/commit.c:1202
+#: builtin/commit.c:1276
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "Tùy chọn -m không thể được tổ hợp cùng với -c/-C/-F."
 
-#: builtin/commit.c:1211
+#: builtin/commit.c:1285
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 "--reset-author chỉ có thể được sử dụng với tùy chọn -C, -c hay --amend."
 
-#: builtin/commit.c:1229
+#: builtin/commit.c:1303
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch được "
 "sử dụng."
 
-#: builtin/commit.c:1235
+#: builtin/commit.c:1331
+#, c-format
+msgid "unknown option: --fixup=%s:%s"
+msgstr "không hiểu tùy chọn: --fixup=%s:%s"
+
+#: builtin/commit.c:1345
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "các đường dẫn “%s …” với tùy chọn -a không hợp lý"
 
-#: builtin/commit.c:1366 builtin/commit.c:1527
+#: builtin/commit.c:1476 builtin/commit.c:1642
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1368 builtin/commit.c:1529
+#: builtin/commit.c:1478 builtin/commit.c:1644
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1370
+#: builtin/commit.c:1480
 msgid "show stash information"
 msgstr "hiển thị thông tin về tạm cất"
 
-#: builtin/commit.c:1372 builtin/commit.c:1531
+#: builtin/commit.c:1482 builtin/commit.c:1646
 msgid "compute full ahead/behind values"
 msgstr "tính đầy đủ giá trị trước/sau"
 
-#: builtin/commit.c:1374
+#: builtin/commit.c:1484
 msgid "version"
 msgstr "phiên bản"
 
-#: builtin/commit.c:1374 builtin/commit.c:1533 builtin/push.c:560
-#: builtin/worktree.c:679
+#: builtin/commit.c:1484 builtin/commit.c:1648 builtin/push.c:560
+#: builtin/worktree.c:681
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1377 builtin/commit.c:1535
+#: builtin/commit.c:1487 builtin/commit.c:1650
 msgid "show status in long format (default)"
 msgstr "hiển thị trạng thái ở định dạng dài (mặc định)"
 
-#: builtin/commit.c:1380 builtin/commit.c:1538
+#: builtin/commit.c:1490 builtin/commit.c:1653
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1382 builtin/commit.c:1386 builtin/commit.c:1541
+#: builtin/commit.c:1492 builtin/commit.c:1496 builtin/commit.c:1656
 #: builtin/fast-export.c:1198 builtin/fast-export.c:1201
-#: builtin/fast-export.c:1204 builtin/rebase.c:1412 parse-options.h:336
+#: builtin/fast-export.c:1204 builtin/rebase.c:1407 parse-options.h:337
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1383 builtin/commit.c:1541
+#: builtin/commit.c:1493 builtin/commit.c:1656
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "hiển thị các tập tin chưa được theo dõi  dấu vết, các chế độ tùy chọn:  all, "
 "normal, no. (Mặc định: all)"
 
-#: builtin/commit.c:1387
+#: builtin/commit.c:1497
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -13605,11 +13810,11 @@ msgstr ""
 "hiển thị các tập tin bị bỏ qua, các chế độ tùy chọn: traditional, matching, "
 "no. (Mặc định: traditional)"
 
-#: builtin/commit.c:1389 parse-options.h:192
+#: builtin/commit.c:1499 parse-options.h:193
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1390
+#: builtin/commit.c:1500
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -13617,176 +13822,199 @@ msgstr ""
 "bỏ qua các thay đổi trong mô-đun-con, tùy chọn khi: all, dirty, untracked. "
 "(Mặc định: all)"
 
-#: builtin/commit.c:1392
+#: builtin/commit.c:1502
 msgid "list untracked files in columns"
 msgstr "hiển thị danh sách các tập-tin chưa được theo dõi trong các cột"
 
-#: builtin/commit.c:1393
+#: builtin/commit.c:1503
 msgid "do not detect renames"
 msgstr "không dò tìm các tên thay đổi"
 
-#: builtin/commit.c:1395
+#: builtin/commit.c:1505
 msgid "detect renames, optionally set similarity index"
 msgstr "dò các tên thay đổi, tùy ý đặt mục lục tương tự"
 
-#: builtin/commit.c:1415
+#: builtin/commit.c:1525
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Không hỗ trỡ tổ hợp các tham số các tập tin bị bỏ qua và không được theo dõi"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1607
 msgid "suppress summary after successful commit"
 msgstr "không hiển thị tổng kết sau khi chuyển giao thành công"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1608
 msgid "show diff in commit message template"
 msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1610
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1501 builtin/merge.c:286 builtin/tag.c:447
+#: builtin/commit.c:1611 builtin/merge.c:286 builtin/tag.c:458
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1612
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1612
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1503 builtin/gc.c:550
+#: builtin/commit.c:1613 builtin/gc.c:550
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1613
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1505 builtin/commit.c:1506 builtin/commit.c:1507
-#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:90
+#: builtin/commit.c:1615 builtin/commit.c:1616 builtin/commit.c:1622
+#: parse-options.h:329 ref-filter.h:90
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/commit.c:1505
+#: builtin/commit.c:1615
 msgid "reuse and edit message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho nhưng có cho sửa chữa"
 
-#: builtin/commit.c:1506
+#: builtin/commit.c:1616
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho"
 
-#: builtin/commit.c:1507
-msgid "use autosquash formatted message to fixup specified commit"
+#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
+#. and only translate <commit>.
+#.
+#: builtin/commit.c:1621
+msgid "[(amend|reword):]commit"
+msgstr "[(amend|reword):]commit"
+
+#: builtin/commit.c:1621
+msgid ""
+"use autosquash formatted message to fixup or amend/reword specified commit"
 msgstr ""
-"dùng ghi chú có định dạng autosquash để sửa chữa lần chuyển giao đã chỉ ra"
+"dùng ghi chú có định dạng autosquash để sửa chữa hoặc tu bổ/reword lần "
+"chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1622
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "dùng lời nhắn có định dạng tự động nén để nén lại các lần chuyển giao đã chỉ "
 "ra"
 
-#: builtin/commit.c:1509
+#: builtin/commit.c:1623
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "lần chuyển giao nhận tôi là tác giả (được dùng với tùy chọn -C/-c/--amend)"
 
-#: builtin/commit.c:1510 builtin/log.c:1743 builtin/merge.c:302
+#: builtin/commit.c:1624 builtin/interpret-trailers.c:111
+msgid "trailer"
+msgstr "bộ dò vết"
+
+#: builtin/commit.c:1624
+msgid "add custom trailer(s)"
+msgstr "thêm đuôi tự chọn"
+
+#: builtin/commit.c:1625 builtin/log.c:1751 builtin/merge.c:302
 #: builtin/pull.c:145 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "thêm dòng Signed-off-by vào cuối"
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1626
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1512
+#: builtin/commit.c:1627
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1514
+#: builtin/commit.c:1629
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1634
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1635
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1636
 msgid "add specified files to index for commit"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục để chuyển giao"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1637
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1638
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1524
+#: builtin/commit.c:1639
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1525
+#: builtin/commit.c:1640
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-commit và commit-msg"
 
-#: builtin/commit.c:1526
+#: builtin/commit.c:1641
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1539
+#: builtin/commit.c:1654
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1540
+#: builtin/commit.c:1655
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1547
+#: builtin/commit.c:1662
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1549
+#: builtin/commit.c:1664
 msgid "ok to record a change with an empty message"
 msgstr "ok để ghi các thay đổi với lời nhắn trống rỗng"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1737
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1744
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1765
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "không thể đọc phần chú thích (message) của lần chuyển giao: %s"
 
-#: builtin/commit.c:1657
+#: builtin/commit.c:1772
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Bãi bỏ việc chuyển giao bởi vì phần chú thích của nó trống rỗng.\n"
 
-#: builtin/commit.c:1662
+#: builtin/commit.c:1777
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao; bạn đã không biên soạn phần chú thích "
 "(message).\n"
 
-#: builtin/commit.c:1696
+#: builtin/commit.c:1788
+#, c-format
+msgid "Aborting commit due to empty commit message body.\n"
+msgstr ""
+"Bãi bỏ việc chuyển giao bởi vì phần thân chú thích của nó trống rỗng.\n"
+
+#: builtin/commit.c:1824
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -14132,7 +14360,7 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "hiển thị kích cỡ theo định dạng dành cho người đọc"
 
-#: builtin/credential-cache--daemon.c:226
+#: builtin/credential-cache--daemon.c:227
 #, c-format
 msgid ""
 "The permissions on your socket directory are too loose; other\n"
@@ -14145,11 +14373,11 @@ msgstr ""
 "\n"
 "\tchmod 0700 %s"
 
-#: builtin/credential-cache--daemon.c:275
+#: builtin/credential-cache--daemon.c:276
 msgid "print debugging messages to stderr"
 msgstr "in thông tin gỡ lỗi ra đầu ra lỗi tiêu chuẩn"
 
-#: builtin/credential-cache--daemon.c:315
+#: builtin/credential-cache--daemon.c:316
 msgid "credential-cache--daemon unavailable; no unix socket support"
 msgstr "credential-cache--daemon không sẵn có; không hỗ trợ unix socket"
 
@@ -14353,7 +14581,7 @@ msgstr "%s…%s: không có cơ sở hòa trộn"
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:532 builtin/grep.c:682
+#: builtin/diff.c:532 builtin/grep.c:684
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
@@ -14373,33 +14601,33 @@ msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 msgid "%s...%s: multiple merge bases, using %s"
 msgstr "%s…%s: có nhiều cơ sở để hòa trộn, nên dùng %s"
 
-#: builtin/difftool.c:30
+#: builtin/difftool.c:31
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr ""
 "git difftool [<các tùy chọn>] [<lần_chuyển_giao> [<lần_chuyển_giao>]] [--] </"
 "đường/dẫn>…]"
 
-#: builtin/difftool.c:260
+#: builtin/difftool.c:261
 #, c-format
 msgid "failed: %d"
 msgstr "gặp lỗi: %d"
 
-#: builtin/difftool.c:302
+#: builtin/difftool.c:303
 #, c-format
 msgid "could not read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: builtin/difftool.c:304
+#: builtin/difftool.c:305
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "không đọc được tập tin liên kết mềm %s"
 
-#: builtin/difftool.c:312
+#: builtin/difftool.c:313
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "không thể đọc đối tượng %s cho liên kết mềm %s"
 
-#: builtin/difftool.c:412
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -14407,53 +14635,53 @@ msgstr ""
 "các định dạng diff tổ hợp(“-c” và “--cc”) chưa được hỗ trợ trong\n"
 "chế độ diff thư mục(“-d” và “--dir-diff”)."
 
-#: builtin/difftool.c:633
+#: builtin/difftool.c:637
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "cả hai tập tin đã bị sửa: “%s” và “%s”."
 
-#: builtin/difftool.c:635
+#: builtin/difftool.c:639
 msgid "working tree file has been left."
 msgstr "cây làm việc ở bên trái."
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:650
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "các tập tin tạm đã sẵn có trong “%s”."
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:651
 msgid "you may want to cleanup or recover these."
 msgstr "bạn có lẽ muốn dọn dẹp hay phục hồi ở đây."
 
-#: builtin/difftool.c:696
+#: builtin/difftool.c:700
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "dùng “diff.guitool“ thay vì dùng “diff.tool“"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:702
 msgid "perform a full-directory diff"
 msgstr "thực hiện một diff toàn thư mục"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:704
 msgid "do not prompt before launching a diff tool"
 msgstr "đừng nhắc khi khởi chạy công cụ diff"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:709
 msgid "use symlinks in dir-diff mode"
 msgstr "dùng liên kết mềm trong diff-thư-mục"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:710
 msgid "tool"
 msgstr "công cụ"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:711
 msgid "use the specified diff tool"
 msgstr "dùng công cụ diff đã cho"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:713
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "in ra danh sách các công cụ dif cái mà có thẻ dùng với “--tool“"
 
-#: builtin/difftool.c:712
+#: builtin/difftool.c:716
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -14461,31 +14689,31 @@ msgstr ""
 "làm cho “git-difftool” thoát khi gọi công cụ diff trả về mã không phải số "
 "không"
 
-#: builtin/difftool.c:715
+#: builtin/difftool.c:719
 msgid "specify a custom command for viewing diffs"
 msgstr "chỉ định một lệnh tùy ý để xem diff"
 
-#: builtin/difftool.c:716
+#: builtin/difftool.c:720
 msgid "passed to `diff`"
 msgstr "chuyển cho “diff”"
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:735
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool cần cây làm việc hoặc --no-index"
 
-#: builtin/difftool.c:738
+#: builtin/difftool.c:742
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dir-diff xung khắc với --no-index"
 
-#: builtin/difftool.c:741
+#: builtin/difftool.c:745
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui, --tool và --extcmd loại từ lẫn nhau"
 
-#: builtin/difftool.c:749
+#: builtin/difftool.c:753
 msgid "no <tool> given for --tool=<tool>"
 msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
 
-#: builtin/difftool.c:756
+#: builtin/difftool.c:760
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 
@@ -14577,7 +14805,7 @@ msgstr "sử dụng tính năng done để chấm dứt luồng dữ liệu"
 msgid "skip output of blob data"
 msgstr "bỏ qua kết xuất của dữ liệu blob"
 
-#: builtin/fast-export.c:1222 builtin/log.c:1815
+#: builtin/fast-export.c:1222 builtin/log.c:1823
 msgid "refspec"
 msgstr "refspec"
 
@@ -14670,98 +14898,103 @@ msgstr "git fetch --multiple [<các tùy chọn>] [(<kho> | <nhóm>)…]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<các tùy chọn>]"
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:122
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel không thể âm"
 
-#: builtin/fetch.c:143 builtin/pull.c:185
+#: builtin/fetch.c:145 builtin/pull.c:185
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:145 builtin/pull.c:245
+#: builtin/fetch.c:147 builtin/pull.c:245
 msgid "set upstream for git pull/fetch"
 msgstr "đặt thượng nguồn cho git pull/fetch"
 
-#: builtin/fetch.c:147 builtin/pull.c:188
+#: builtin/fetch.c:149 builtin/pull.c:188
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "nối thêm vào .git/FETCH_HEAD thay vì ghi đè lên nó"
 
-#: builtin/fetch.c:149
+#: builtin/fetch.c:151
 msgid "use atomic transaction to update references"
 msgstr "sử dụng giao dịch hạt nhân bên phía máy chủ"
 
-#: builtin/fetch.c:151 builtin/pull.c:191
+#: builtin/fetch.c:153 builtin/pull.c:191
 msgid "path to upload pack on remote end"
 msgstr "đường dẫn đến gói tải lên trên máy chủ cuối"
 
-#: builtin/fetch.c:152
+#: builtin/fetch.c:154
 msgid "force overwrite of local reference"
 msgstr "ép buộc ghi đè lên tham chiếu nội bộ"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:156
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:156 builtin/pull.c:195
+#: builtin/fetch.c:158 builtin/pull.c:195
 msgid "fetch all tags and associated objects"
 msgstr "lấy tất cả các thẻ cùng với các đối tượng liên quan đến nó"
 
-#: builtin/fetch.c:158
+#: builtin/fetch.c:160
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:160
+#: builtin/fetch.c:162
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:162 builtin/pull.c:198
+#: builtin/fetch.c:164
+msgid "modify the refspec to place all refs within refs/prefetch/"
+msgstr ""
+"sửa đặc tả đường dẫn cho các tham chiếu mọi chỗ có trong refs/prefetch/"
+
+#: builtin/fetch.c:166 builtin/pull.c:198
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "cắt cụt (prune) các nhánh “remote-tracking” không còn tồn tại trên máy chủ "
 "nữa"
 
-#: builtin/fetch.c:164
+#: builtin/fetch.c:168
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "cắt xém các thẻ nội bộ không còn ở máy chủ và xóa các thẻ đã thay đổi"
 
-#: builtin/fetch.c:165 builtin/fetch.c:190 builtin/pull.c:122
+#: builtin/fetch.c:169 builtin/fetch.c:194 builtin/pull.c:122
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:166
+#: builtin/fetch.c:170
 msgid "control recursive fetching of submodules"
 msgstr "điều khiển việc lấy về đệ quy trong các mô-đun-con"
 
-#: builtin/fetch.c:171
+#: builtin/fetch.c:175
 msgid "write fetched references to the FETCH_HEAD file"
 msgstr "ghi các tham chiếu lấy về vào tập tin FETCH_HEAD"
 
-#: builtin/fetch.c:172 builtin/pull.c:206
+#: builtin/fetch.c:176 builtin/pull.c:206
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:174
+#: builtin/fetch.c:178
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:177 builtin/fetch.c:183 builtin/pull.c:209
+#: builtin/fetch.c:181 builtin/fetch.c:187 builtin/pull.c:209
 #: builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:179 builtin/pull.c:212
+#: builtin/fetch.c:183 builtin/pull.c:212
 msgid "deepen history of shallow repository based on time"
 msgstr "làm sâu hơn lịch sử của kho bản sao shallow dựa trên thời gian"
 
-#: builtin/fetch.c:185 builtin/pull.c:221
+#: builtin/fetch.c:189 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:188
+#: builtin/fetch.c:192
 msgid "prepend this to submodule path output"
 msgstr "soạn sẵn cái này cho kết xuất đường dẫn mô-đun-con"
 
-#: builtin/fetch.c:191
+#: builtin/fetch.c:195
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -14769,99 +15002,104 @@ msgstr ""
 "mặc định cho việc lấy đệ quy các mô-đun-con (có mức ưu tiên thấp hơn các tập "
 "tin cấu hình config)"
 
-#: builtin/fetch.c:195 builtin/pull.c:224
+#: builtin/fetch.c:199 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:196 builtin/pull.c:226
+#: builtin/fetch.c:200 builtin/pull.c:226
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:197 builtin/pull.c:227
+#: builtin/fetch.c:201 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:204 builtin/pull.c:240
+#: builtin/fetch.c:208 builtin/pull.c:240
 msgid "report that we have only objects reachable from this object"
 msgstr ""
 "báo cáo rằng chúng ta chỉ có các đối tượng tiếp cận được từ đối tượng này"
 
-#: builtin/fetch.c:207 builtin/fetch.c:209
+#: builtin/fetch.c:210
+msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
+msgstr ""
+"không lấy về một packfile; thay vào đó, hãy in tổ tiên của đỉnh đàm phán"
+
+#: builtin/fetch.c:213 builtin/fetch.c:215
 msgid "run 'maintenance --auto' after fetching"
 msgstr "chạy “maintenance --auto” sau khi lấy về"
 
-#: builtin/fetch.c:211 builtin/pull.c:243
+#: builtin/fetch.c:217 builtin/pull.c:243
 msgid "check for forced-updates on all updated branches"
 msgstr "kiểm cho các-cập-nhật-bắt-buộc trên mọi nhánh đã cập nhật"
 
-#: builtin/fetch.c:213
+#: builtin/fetch.c:219
 msgid "write the commit-graph after fetching"
 msgstr "ghi ra đồ thị các lần chuyển giao sau khi lấy về"
 
-#: builtin/fetch.c:215
+#: builtin/fetch.c:221
 msgid "accept refspecs from stdin"
 msgstr "chấp nhận tham chiếu từ đầu vào tiêu chuẩn"
 
-#: builtin/fetch.c:526
+#: builtin/fetch.c:586
 msgid "Couldn't find remote ref HEAD"
 msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD"
 
-#: builtin/fetch.c:697
+#: builtin/fetch.c:757
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "phần cấu hình fetch.output có chứa giá-trị không hợp lệ %s"
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:856
 #, c-format
 msgid "object %s not found"
 msgstr "không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:800
+#: builtin/fetch.c:860
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:813 builtin/fetch.c:829 builtin/fetch.c:901
+#: builtin/fetch.c:873 builtin/fetch.c:889 builtin/fetch.c:961
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:814
+#: builtin/fetch.c:874
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:824
+#: builtin/fetch.c:884
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:825 builtin/fetch.c:862 builtin/fetch.c:884
-#: builtin/fetch.c:896
+#: builtin/fetch.c:885 builtin/fetch.c:922 builtin/fetch.c:944
+#: builtin/fetch.c:956
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:829
+#: builtin/fetch.c:889
 msgid "would clobber existing tag"
 msgstr "nên xóa chồng các thẻ có sẵn"
 
-#: builtin/fetch.c:851
+#: builtin/fetch.c:911
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:854
+#: builtin/fetch.c:914
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:857
+#: builtin/fetch.c:917
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:896
+#: builtin/fetch.c:956
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:901
+#: builtin/fetch.c:961
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:1005
+#: builtin/fetch.c:1065
 msgid ""
 "Fetch normally indicates which branches had a forced update,\n"
 "but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
@@ -14871,7 +15109,7 @@ msgstr ""
 "nhưng lựa chọn bị tắt. Để kích hoạt lại, sử dụng cờ\n"
 "“--show-forced-updates” hoặc chạy “git config fetch.showForcedUpdates true”."
 
-#: builtin/fetch.c:1009
+#: builtin/fetch.c:1069
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -14884,22 +15122,22 @@ msgstr ""
 "false”\n"
 "để tránh kiểm tra này.\n"
 
-#: builtin/fetch.c:1041
+#: builtin/fetch.c:1101
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s đã không gửi tất cả các đối tượng cần thiết\n"
 
-#: builtin/fetch.c:1069
+#: builtin/fetch.c:1129
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:1146 builtin/fetch.c:1297
+#: builtin/fetch.c:1206 builtin/fetch.c:1357
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:1168
+#: builtin/fetch.c:1228
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -14908,58 +15146,58 @@ msgstr ""
 "một số tham chiếu nội bộ không thể được cập nhật; hãy thử chạy\n"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:1267
+#: builtin/fetch.c:1327
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sẽ trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1268
+#: builtin/fetch.c:1328
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1300
+#: builtin/fetch.c:1360
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:1301 builtin/remote.c:1118
+#: builtin/fetch.c:1361 builtin/remote.c:1118
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1384
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:1343
+#: builtin/fetch.c:1403
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Tùy chọn \"%s\" có giá trị \"%s\" là không hợp lệ cho %s"
 
-#: builtin/fetch.c:1346
+#: builtin/fetch.c:1406
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Tùy chọn \"%s\" bị bỏ qua với %s\n"
 
-#: builtin/fetch.c:1558
+#: builtin/fetch.c:1618
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "phát hiện nhiều nhánh, không tương thích với --set-upstream"
 
-#: builtin/fetch.c:1573
+#: builtin/fetch.c:1633
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "không cài đặt thượng nguồn cho một nhánh được theo dõi trên máy chủ"
 
-#: builtin/fetch.c:1575
+#: builtin/fetch.c:1635
 msgid "not setting upstream for a remote tag"
 msgstr "không cài đặt thượng nguồn cho một thẻ nhánh trên máy chủ"
 
-#: builtin/fetch.c:1577
+#: builtin/fetch.c:1637
 msgid "unknown branch type"
 msgstr "không hiểu kiểu nhánh"
 
-#: builtin/fetch.c:1579
+#: builtin/fetch.c:1639
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -14967,22 +15205,22 @@ msgstr ""
 "không tìm thấy nhánh nguồn.\n"
 "bạn cần phải chỉ định chính xác một nhánh với tùy chọn --set-upstream."
 
-#: builtin/fetch.c:1708 builtin/fetch.c:1771
+#: builtin/fetch.c:1768 builtin/fetch.c:1831
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1718 builtin/fetch.c:1773 builtin/remote.c:101
+#: builtin/fetch.c:1778 builtin/fetch.c:1833 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Không thể lấy“%s” về"
 
-#: builtin/fetch.c:1730
+#: builtin/fetch.c:1790
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "không thể lấy “%s” (mã thoát: %d)\n"
 
-#: builtin/fetch.c:1834
+#: builtin/fetch.c:1894
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -14990,44 +15228,52 @@ msgstr ""
 "Chưa chỉ ra kho chứa máy chủ.  Xin hãy chỉ định hoặc là URL hoặc\n"
 "tên máy chủ từ cái mà những điểm xét duyệt mới có thể được fetch (lấy về)."
 
-#: builtin/fetch.c:1870
+#: builtin/fetch.c:1930
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1935
+#: builtin/fetch.c:1995
 msgid "Negative depth in --deepen is not supported"
 msgstr "Mức sâu là số âm trong --deepen là không được hỗ trợ"
 
-#: builtin/fetch.c:1937
+#: builtin/fetch.c:1997
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "Các tùy chọn--deepen và --depth loại từ lẫn nhau"
 
-#: builtin/fetch.c:1942
+#: builtin/fetch.c:2002
 msgid "--depth and --unshallow cannot be used together"
 msgstr "tùy chọn --depth và --unshallow không thể sử dụng cùng với nhau"
 
-#: builtin/fetch.c:1944
+#: builtin/fetch.c:2004
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow trên kho hoàn chỉnh là không hợp lý"
 
-#: builtin/fetch.c:1961
+#: builtin/fetch.c:2021
 msgid "fetch --all does not take a repository argument"
 msgstr "lệnh lấy về \"fetch --all\" không lấy đối số kho chứa"
 
-#: builtin/fetch.c:1963
+#: builtin/fetch.c:2023
 msgid "fetch --all does not make sense with refspecs"
 msgstr "lệnh lấy về \"fetch --all\" không hợp lý với refspecs"
 
-#: builtin/fetch.c:1972
+#: builtin/fetch.c:2032
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Không có nhóm máy chủ hay máy chủ như thế: %s"
 
-#: builtin/fetch.c:1979
+#: builtin/fetch.c:2039
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
-#: builtin/fetch.c:1997
+#: builtin/fetch.c:2055
+msgid "must supply remote when using --negotiate-only"
+msgstr "phải cung cấp máy chủ khi sử dụng --negotiate-only"
+
+#: builtin/fetch.c:2060
+msgid "Protocol does not support --negotiate-only, exiting."
+msgstr "Giao thức không hỗ trợ --negotiate-only, nên thoát."
+
+#: builtin/fetch.c:2079
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -15035,11 +15281,11 @@ msgstr ""
 "--filter chỉ có thể được dùng với máy chủ được cấu hình bằng extensions."
 "partialclone"
 
-#: builtin/fetch.c:2001
+#: builtin/fetch.c:2083
 msgid "--atomic can only be used when fetching from one remote"
 msgstr "--atomic chỉ có thể dùng khi lấy về từ một máy chủ"
 
-#: builtin/fetch.c:2005
+#: builtin/fetch.c:2087
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin chỉ có thể dùng khi lấy về từ một máy chủ"
 
@@ -15090,47 +15336,47 @@ msgstr ""
 "git for-each-ref [--contains [<lần-chuyển-giao>]] [--no-contains [<lần-"
 "chuyển-giao>]]"
 
-#: builtin/for-each-ref.c:28
+#: builtin/for-each-ref.c:30
 msgid "quote placeholders suitably for shells"
 msgstr "trích dẫn để phù hợp cho hệ vỏ (shell)"
 
-#: builtin/for-each-ref.c:30
+#: builtin/for-each-ref.c:32
 msgid "quote placeholders suitably for perl"
 msgstr "trích dẫn để phù hợp cho perl"
 
-#: builtin/for-each-ref.c:32
+#: builtin/for-each-ref.c:34
 msgid "quote placeholders suitably for python"
 msgstr "trích dẫn để phù hợp cho python"
 
-#: builtin/for-each-ref.c:34
+#: builtin/for-each-ref.c:36
 msgid "quote placeholders suitably for Tcl"
 msgstr "trích dẫn để phù hợp cho Tcl"
 
-#: builtin/for-each-ref.c:37
+#: builtin/for-each-ref.c:39
 msgid "show only <n> matched refs"
 msgstr "hiển thị chỉ <n> tham chiếu khớp"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:472
+#: builtin/for-each-ref.c:41 builtin/tag.c:483
 msgid "respect format colors"
 msgstr "các màu định dạng lưu tâm"
 
-#: builtin/for-each-ref.c:42
+#: builtin/for-each-ref.c:44
 msgid "print only refs which points at the given object"
 msgstr "chỉ hiển thị các tham chiếu mà nó chỉ đến đối tượng đã cho"
 
-#: builtin/for-each-ref.c:44
+#: builtin/for-each-ref.c:46
 msgid "print only refs that are merged"
 msgstr "chỉ hiển thị những tham chiếu mà nó được hòa trộn"
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:47
 msgid "print only refs that are not merged"
 msgstr "chỉ hiển thị những tham chiếu mà nó không được hòa trộn"
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:48
 msgid "print only refs which contain the commit"
 msgstr "chỉ hiển thị những tham chiếu mà nó chứa lần chuyển giao"
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:49
 msgid "print only refs which don't contain the commit"
 msgstr "chỉ hiển thị những tham chiếu mà nó không chứa lần chuyển giao"
 
@@ -15150,32 +15396,32 @@ msgstr "khóa cấu hình lưu trữ danh sách đường dẫn kho lưu trữ"
 msgid "missing --config=<config>"
 msgstr "thiếu --config=<config>"
 
-#: builtin/fsck.c:69 builtin/fsck.c:130 builtin/fsck.c:131
+#: builtin/fsck.c:69 builtin/fsck.c:127 builtin/fsck.c:128
 msgid "unknown"
 msgstr "không hiểu"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:83 builtin/fsck.c:103
+#: builtin/fsck.c:78 builtin/fsck.c:100
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "lỗi trong %s %s: %s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:97
+#: builtin/fsck.c:94
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "có cảnh báo trong %s %s: %s"
 
-#: builtin/fsck.c:126 builtin/fsck.c:129
+#: builtin/fsck.c:123 builtin/fsck.c:126
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "liên kết gãy từ %7s %s"
 
-#: builtin/fsck.c:138
+#: builtin/fsck.c:135
 msgid "wrong object type in link"
 msgstr "kiểu đối tượng sai trong liên kết"
 
-#: builtin/fsck.c:154
+#: builtin/fsck.c:151
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -15184,211 +15430,211 @@ msgstr ""
 "liên kết gãy từ %7s %s \n"
 "              tới %7s %s"
 
-#: builtin/fsck.c:265
+#: builtin/fsck.c:263
 #, c-format
 msgid "missing %s %s"
 msgstr "thiếu %s %s"
 
-#: builtin/fsck.c:292
+#: builtin/fsck.c:290
 #, c-format
 msgid "unreachable %s %s"
 msgstr "không tiếp cận được %s %s"
 
-#: builtin/fsck.c:312
+#: builtin/fsck.c:310
 #, c-format
 msgid "dangling %s %s"
 msgstr "dangling %s %s"
 
-#: builtin/fsck.c:322
+#: builtin/fsck.c:320
 msgid "could not create lost-found"
 msgstr "không thể tạo lost-found"
 
-#: builtin/fsck.c:333
+#: builtin/fsck.c:331
 #, c-format
 msgid "could not finish '%s'"
 msgstr "không thể hoàn thành “%s”"
 
-#: builtin/fsck.c:350
+#: builtin/fsck.c:348
 #, c-format
 msgid "Checking %s"
 msgstr "Đang kiểm tra %s"
 
-#: builtin/fsck.c:388
+#: builtin/fsck.c:386
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Đang kiểm tra kết nối (%d đối tượng)"
 
-#: builtin/fsck.c:407
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking %s %s"
 msgstr "Đang kiểm tra %s %s"
 
-#: builtin/fsck.c:412
+#: builtin/fsck.c:410
 msgid "broken links"
 msgstr "các liên kết bị gẫy"
 
-#: builtin/fsck.c:421
+#: builtin/fsck.c:419
 #, c-format
 msgid "root %s"
 msgstr "gốc %s"
 
-#: builtin/fsck.c:429
+#: builtin/fsck.c:427
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "đã đánh thẻ %s %s (%s) trong %s"
 
-#: builtin/fsck.c:458
+#: builtin/fsck.c:456
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s: đối tượng thiếu hay hỏng"
 
-#: builtin/fsck.c:483
+#: builtin/fsck.c:481
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s: mục reflog không hợp lệ %s"
 
-#: builtin/fsck.c:497
+#: builtin/fsck.c:495
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Đang kiểm tra việc đổi tên của “%s” thành “%s”"
 
-#: builtin/fsck.c:531
+#: builtin/fsck.c:529
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s: con trỏ sha1 không hợp lệ %s"
 
-#: builtin/fsck.c:538
+#: builtin/fsck.c:536
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s: không phải là một lần chuyển giao"
 
-#: builtin/fsck.c:592
+#: builtin/fsck.c:590
 msgid "notice: No default references"
 msgstr "cảnh báo: Không có các tham chiếu mặc định"
 
-#: builtin/fsck.c:607
+#: builtin/fsck.c:605
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s: thiếu đối tượng hoặc hỏng: %s"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:618
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s: không thể phân tích cú đối tượng: %s"
 
-#: builtin/fsck.c:640
+#: builtin/fsck.c:638
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "tập tin sha1 sai: %s"
 
-#: builtin/fsck.c:655
+#: builtin/fsck.c:653
 msgid "Checking object directory"
 msgstr "Đang kiểm tra thư mục đối tượng"
 
-#: builtin/fsck.c:658
+#: builtin/fsck.c:656
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:671
 #, c-format
 msgid "Checking %s link"
 msgstr "Đang lấy liên kết %s"
 
-#: builtin/fsck.c:678 builtin/index-pack.c:865
+#: builtin/fsck.c:676 builtin/index-pack.c:866
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:683
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s chỉ đến thứ gì đó xa lạ (%s)"
 
-#: builtin/fsck.c:691
+#: builtin/fsck.c:689
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s: HEAD đã tách rời không chỉ vào đâu cả"
 
-#: builtin/fsck.c:695
+#: builtin/fsck.c:693
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "chú ý: %s chỉ đến một nhánh chưa sinh (%s)"
 
-#: builtin/fsck.c:707
+#: builtin/fsck.c:705
 msgid "Checking cache tree"
 msgstr "Đang kiểm tra cây nhớ tạm"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:710
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s: con trỏ sha1 không hợp lệ trong cache-tree"
 
-#: builtin/fsck.c:721
+#: builtin/fsck.c:719
 msgid "non-tree in cache-tree"
 msgstr "non-tree trong cache-tree"
 
-#: builtin/fsck.c:752
+#: builtin/fsck.c:750
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<các tùy chọn>] [<đối-tượng>…]"
 
-#: builtin/fsck.c:758
+#: builtin/fsck.c:756
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:759
+#: builtin/fsck.c:757
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:760
+#: builtin/fsck.c:758
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:761
+#: builtin/fsck.c:759
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:762
+#: builtin/fsck.c:760
 msgid "make index objects head nodes"
 msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:763
+#: builtin/fsck.c:761
 msgid "make reflogs head nodes (default)"
 msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:764
+#: builtin/fsck.c:762
 msgid "also consider packs and alternate objects"
 msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
 
-#: builtin/fsck.c:765
+#: builtin/fsck.c:763
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:766 builtin/mktag.c:78
+#: builtin/fsck.c:764 builtin/mktag.c:75
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:768
+#: builtin/fsck.c:766
 msgid "write dangling objects in .git/lost-found"
 msgstr "ghi các đối tượng không được quản lý trong .git/lost-found"
 
-#: builtin/fsck.c:769 builtin/prune.c:134
+#: builtin/fsck.c:767 builtin/prune.c:134
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:770
+#: builtin/fsck.c:768
 msgid "show verbose names for reachable objects"
 msgstr "hiển thị tên chi tiết cho các đối tượng đọc được"
 
-#: builtin/fsck.c:829 builtin/index-pack.c:261
+#: builtin/fsck.c:827 builtin/index-pack.c:262
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
-#: builtin/fsck.c:857
+#: builtin/fsck.c:855
 #, c-format
 msgid "%s: object missing"
 msgstr "%s: thiếu đối tượng"
 
-#: builtin/fsck.c:868
+#: builtin/fsck.c:866
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "tham số không hợp lệ: cần sha1, nhưng lại nhận được “%s”"
@@ -15407,12 +15653,12 @@ msgstr "Gặp lỗi khi lấy thông tin thống kê về tập tin %s: %s"
 msgid "failed to parse '%s' value '%s'"
 msgstr "gặp lỗi khi phân tích “%s” giá trị “%s”"
 
-#: builtin/gc.c:487 builtin/init-db.c:58
+#: builtin/gc.c:487 builtin/init-db.c:57
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:562
+#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:573
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
@@ -15513,144 +15759,144 @@ msgstr "đối số --schedule không được thừa nhận %s"
 msgid "failed to write commit-graph"
 msgstr "gặp lỗi khi ghi đồ thị các lần chuyển giao"
 
-#: builtin/gc.c:914
-msgid "failed to fill remotes"
-msgstr "gặp lỗi khi điền đầy các máy chủ"
+#: builtin/gc.c:905
+msgid "failed to prefetch remotes"
+msgstr "gặp lỗi khi tải trước các máy chủ"
 
-#: builtin/gc.c:1037
+#: builtin/gc.c:1022
 msgid "failed to start 'git pack-objects' process"
 msgstr "gặp lỗi khi lấy thông tin thống kê về tiến trình “git pack-objects”"
 
-#: builtin/gc.c:1054
+#: builtin/gc.c:1039
 msgid "failed to finish 'git pack-objects' process"
 msgstr "gặp lỗi khi hoàn tất tiến trình “git pack-objects”"
 
-#: builtin/gc.c:1106
+#: builtin/gc.c:1091
 msgid "failed to write multi-pack-index"
 msgstr "gặp lỗi khi ghi multi-pack-index"
 
-#: builtin/gc.c:1124
+#: builtin/gc.c:1109
 msgid "'git multi-pack-index expire' failed"
 msgstr "gặp lỗi khi chạy “git multi-pack-index expire”"
 
-#: builtin/gc.c:1185
+#: builtin/gc.c:1170
 msgid "'git multi-pack-index repack' failed"
 msgstr "gặp lỗi khi chạy “git multi-pack-index repack”"
 
-#: builtin/gc.c:1194
+#: builtin/gc.c:1179
 msgid ""
 "skipping incremental-repack task because core.multiPackIndex is disabled"
 msgstr "bỏ qua tác vụ incremental-repack vì core.multiPackIndex bị vô hiệu hóa"
 
-#: builtin/gc.c:1298
+#: builtin/gc.c:1283
 #, c-format
 msgid "lock file '%s' exists, skipping maintenance"
 msgstr "đã có khóa của tập tin “%s”, bỏ qua bảo trì"
 
-#: builtin/gc.c:1328
+#: builtin/gc.c:1313
 #, c-format
 msgid "task '%s' failed"
 msgstr "gặp lỗi khi thực hiện nhiệm vụ “%s”"
 
-#: builtin/gc.c:1410
+#: builtin/gc.c:1395
 #, c-format
 msgid "'%s' is not a valid task"
 msgstr "“%s” không phải một nhiệm vụ hợp lệ"
 
-#: builtin/gc.c:1415
+#: builtin/gc.c:1400
 #, c-format
 msgid "task '%s' cannot be selected multiple times"
 msgstr "nhiệm vụ “%s” không được chọn nhiều lần"
 
-#: builtin/gc.c:1430
+#: builtin/gc.c:1415
 msgid "run tasks based on the state of the repository"
 msgstr "chạy nhiệm vụ dựa trên trạng thái của kho chứa"
 
-#: builtin/gc.c:1431
+#: builtin/gc.c:1416
 msgid "frequency"
 msgstr "tần số"
 
-#: builtin/gc.c:1432
+#: builtin/gc.c:1417
 msgid "run tasks based on frequency"
 msgstr "chạy nhiệm vụ dựa trên tần suất"
 
-#: builtin/gc.c:1435
+#: builtin/gc.c:1420
 msgid "do not report progress or other information over stderr"
 msgstr "đừng báo cáo diễn tiến hay các thông tin khác ra đầu lỗi tiêu chuẩn"
 
-#: builtin/gc.c:1436
+#: builtin/gc.c:1421
 msgid "task"
 msgstr "tác vụ"
 
-#: builtin/gc.c:1437
+#: builtin/gc.c:1422
 msgid "run a specific task"
 msgstr "chạy một nhiệm vụ cụ thể"
 
-#: builtin/gc.c:1454
+#: builtin/gc.c:1439
 msgid "use at most one of --auto and --schedule=<frequency>"
 msgstr "dùng nhiều nhất là một trong --auto và --schedule=<frequency>"
 
-#: builtin/gc.c:1497
+#: builtin/gc.c:1482
 msgid "failed to run 'git config'"
 msgstr "gặp lỗi khi chạy “git config”"
 
-#: builtin/gc.c:1562
+#: builtin/gc.c:1547
 #, c-format
 msgid "failed to expand path '%s'"
 msgstr "gặp lỗi khi khai triển đường dẫn “%s”"
 
-#: builtin/gc.c:1591
+#: builtin/gc.c:1576
 msgid "failed to start launchctl"
 msgstr "gặp lỗi khi khởi chạy launchctl"
 
-#: builtin/gc.c:1628
+#: builtin/gc.c:1613
 #, c-format
 msgid "failed to create directories for '%s'"
 msgstr "gặp lỗi khi tạo thư mục cho \"%s\""
 
-#: builtin/gc.c:1689
+#: builtin/gc.c:1674
 #, c-format
 msgid "failed to bootstrap service %s"
 msgstr "gặp lỗi khi mồi dịch vụ %s"
 
-#: builtin/gc.c:1760
+#: builtin/gc.c:1745
 msgid "failed to create temp xml file"
 msgstr "gặp lỗi khi tạo tập tin xml tạm thời"
 
-#: builtin/gc.c:1850
+#: builtin/gc.c:1835
 msgid "failed to start schtasks"
 msgstr "gặp lỗi khi lấy thông tin thống kê về schtasks"
 
-#: builtin/gc.c:1894
+#: builtin/gc.c:1879
 msgid "failed to run 'crontab -l'; your system might not support 'cron'"
 msgstr ""
 "gặp lỗi khi chạy “crontab -l”; hệ thống của bạn có thể không hỗ trợ “cron”"
 
-#: builtin/gc.c:1911
+#: builtin/gc.c:1896
 msgid "failed to run 'crontab'; your system might not support 'cron'"
 msgstr "gặp lỗi khi chạy “crontab”; hiển thị của bạn có lẽ không hỗ trợ “cron”"
 
-#: builtin/gc.c:1915
+#: builtin/gc.c:1900
 msgid "failed to open stdin of 'crontab'"
 msgstr "gặp lỗi khi mở đầu vào tiêu chuẩn của “crontab”"
 
-#: builtin/gc.c:1956
+#: builtin/gc.c:1942
 msgid "'crontab' died"
 msgstr "“crontab” đã chết"
 
-#: builtin/gc.c:1990
+#: builtin/gc.c:1976
 msgid "another process is scheduling background maintenance"
 msgstr "một tiến trình khác được lập kế hoạch chạy nền để bảo trì"
 
-#: builtin/gc.c:2009
+#: builtin/gc.c:2000
 msgid "failed to add repo to global config"
 msgstr "gặp lỗi khi thêm cấu hình toàn cục"
 
-#: builtin/gc.c:2019
+#: builtin/gc.c:2010
 msgid "git maintenance <subcommand> [<options>]"
 msgstr "git maintenance run <lệnh_con> [<các tùy chọn>]"
 
-#: builtin/gc.c:2038
+#: builtin/gc.c:2029
 #, c-format
 msgid "invalid subcommand: %s"
 msgstr "lện con không hợp lệ: %s"
@@ -15673,259 +15919,259 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:285 builtin/index-pack.c:1589 builtin/index-pack.c:1808
-#: builtin/pack-objects.c:2944
+#: builtin/grep.c:285 builtin/index-pack.c:1590 builtin/index-pack.c:1793
+#: builtin/pack-objects.c:2969
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/grep.c:473 builtin/grep.c:601 builtin/grep.c:641
+#: builtin/grep.c:473 builtin/grep.c:603 builtin/grep.c:643
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:658
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng thuộc kiểu %s"
 
-#: builtin/grep.c:737
+#: builtin/grep.c:739
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "chuyển đến “%c” cần một giá trị bằng số"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:838
 msgid "search in index instead of in the work tree"
 msgstr "tìm trong bảng mục lục thay vì trong cây làm việc"
 
-#: builtin/grep.c:838
+#: builtin/grep.c:840
 msgid "find in contents not managed by git"
 msgstr "tìm trong nội dung không được quản lý bởi git"
 
-#: builtin/grep.c:840
+#: builtin/grep.c:842
 msgid "search in both tracked and untracked files"
 msgstr "tìm kiếm các tập tin được và chưa được theo dõi dấu vết"
 
-#: builtin/grep.c:842
+#: builtin/grep.c:844
 msgid "ignore files specified via '.gitignore'"
 msgstr "các tập tin bị bỏ qua được chỉ định thông qua “.gitignore”"
 
-#: builtin/grep.c:844
+#: builtin/grep.c:846
 msgid "recursively search in each submodule"
 msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
 
-#: builtin/grep.c:847
+#: builtin/grep.c:849
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:851
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:853
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:855
 msgid "process binary files as text"
 msgstr "xử lý tập tin nhị phân như là dạng văn bản thường"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:857
 msgid "don't match patterns in binary files"
 msgstr "không khớp mẫu trong các tập tin nhị phân"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:860
 msgid "process binary files with textconv filters"
 msgstr "xử lý tập tin nhị phân với các bộ lọc “textconv”"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:862
 msgid "search in subdirectories (default)"
 msgstr "tìm kiếm trong thư mục con (mặc định)"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:864
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:868
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:871
 msgid "use basic POSIX regular expressions (default)"
 msgstr "sử dụng biểu thức chính quy kiểu POSIX (mặc định)"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:874
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:877
 msgid "use Perl-compatible regular expressions"
 msgstr "sử dụng biểu thức chính quy tương thích Perl"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:880
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:881
 msgid "show column number of first match"
 msgstr "hiển thị số cột của khớp với mẫu đầu tiên"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:882
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:881
+#: builtin/grep.c:883
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:883
+#: builtin/grep.c:885
 msgid "show filenames relative to top directory"
 msgstr "hiển thị tên tập tin tương đối với thư mục đỉnh (top)"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:887
 msgid "show only filenames instead of matching lines"
 msgstr "chỉ hiển thị tên tập tin thay vì những dòng khớp với mẫu"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:892
 msgid "show only the names of files without match"
 msgstr "chỉ hiển thị tên cho những tập tin không khớp với mẫu"
 
-#: builtin/grep.c:892
+#: builtin/grep.c:894
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:897
 msgid "show only matching parts of a line"
 msgstr "chỉ hiển thị những phần khớp với mẫu của một dòng"
 
-#: builtin/grep.c:897
+#: builtin/grep.c:899
 msgid "show the number of matches instead of matching lines"
 msgstr "hiển thị số lượng khớp thay vì những dòng khớp với mẫu"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:900
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:902
 msgid "print empty line between matches from different files"
 msgstr "hiển thị dòng trống giữa các lần khớp từ các tập tin khác biệt"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:904
 msgid "show filename only once above matches from same file"
 msgstr ""
 "hiển thị tên tập tin một lần phía trên các lần khớp từ cùng một tập tin"
 
-#: builtin/grep.c:905
+#: builtin/grep.c:907
 msgid "show <n> context lines before and after matches"
 msgstr "hiển thị <n> dòng nội dung phía trước và sau các lần khớp"
 
-#: builtin/grep.c:908
+#: builtin/grep.c:910
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:912
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:914
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:913
+#: builtin/grep.c:915
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:918
 msgid "show a line with the function name before matches"
 msgstr "hiển thị dòng vói tên hàm trước các lần khớp"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:920
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:921
+#: builtin/grep.c:923
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:923
+#: builtin/grep.c:925
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:925
+#: builtin/grep.c:927
 msgid "combine patterns specified with -e"
 msgstr "tổ hợp mẫu được chỉ ra với tùy chọn -e"
 
-#: builtin/grep.c:937
+#: builtin/grep.c:939
 msgid "indicate hit with exit status without output"
 msgstr "đưa ra gợi ý với trạng thái thoát mà không có kết xuất"
 
-#: builtin/grep.c:939
+#: builtin/grep.c:941
 msgid "show only matches from files that match all patterns"
 msgstr "chỉ hiển thị những cái khớp từ tập tin mà nó khớp toàn bộ các mẫu"
 
-#: builtin/grep.c:942
+#: builtin/grep.c:944
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:942
+#: builtin/grep.c:944
 msgid "show matching files in the pager"
 msgstr "hiển thị các tập tin khớp trong trang giấy"
 
-#: builtin/grep.c:946
+#: builtin/grep.c:948
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "cho phép gọi grep(1) (bị bỏ qua bởi lần dịch này)"
 
-#: builtin/grep.c:1012
+#: builtin/grep.c:1014
 msgid "no pattern given"
 msgstr "chưa chỉ ra mẫu"
 
-#: builtin/grep.c:1048
+#: builtin/grep.c:1050
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index hay --untracked không được sử dụng cùng với revs"
 
-#: builtin/grep.c:1056
+#: builtin/grep.c:1058
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "không thể phân giải điểm xét duyệt: %s"
 
-#: builtin/grep.c:1086
+#: builtin/grep.c:1088
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "tùy chọn --untracked không được hỗ trợ với --recurse-submodules"
 
-#: builtin/grep.c:1090
+#: builtin/grep.c:1092
 msgid "invalid option combination, ignoring --threads"
 msgstr "tổ hợp tùy chọn không hợp lệ, bỏ qua --threads"
 
-#: builtin/grep.c:1093 builtin/pack-objects.c:3672
+#: builtin/grep.c:1095 builtin/pack-objects.c:3930
 msgid "no threads support, ignoring --threads"
 msgstr "không hỗ trợ đa tuyến, bỏ qua --threads"
 
-#: builtin/grep.c:1096 builtin/index-pack.c:1586 builtin/pack-objects.c:2941
+#: builtin/grep.c:1098 builtin/index-pack.c:1587 builtin/pack-objects.c:2966
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:1130
+#: builtin/grep.c:1132
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager chỉ làm việc trên cây-làm-việc"
 
-#: builtin/grep.c:1156
+#: builtin/grep.c:1158
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached hay --untracked không được sử dụng với --no-index"
 
-#: builtin/grep.c:1159
+#: builtin/grep.c:1161
 msgid "--untracked cannot be used with --cached"
 msgstr "--untracked không thể được sử dụng với tùy chọn --cached"
 
-#: builtin/grep.c:1165
+#: builtin/grep.c:1167
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu dấu vết"
 
-#: builtin/grep.c:1173
+#: builtin/grep.c:1175
 msgid "both --cached and trees are given"
 msgstr "cả hai --cached và các cây phải được chỉ ra"
 
@@ -16056,12 +16302,12 @@ msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu
 msgid "no info viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng info tiếp hợp với yêu cầu"
 
-#: builtin/help.c:520 builtin/help.c:531 git.c:340
+#: builtin/help.c:520 builtin/help.c:531 git.c:348
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "“%s” được đặt bí danh thành “%s”"
 
-#: builtin/help.c:534 git.c:372
+#: builtin/help.c:534 git.c:380
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "chuỗi alias.%s sai: %s"
@@ -16075,390 +16321,386 @@ msgstr "cách dùng: %s%s"
 msgid "'git help config' for more information"
 msgstr "Chạy lệnh “git help config” để có thêm thông tin"
 
-#: builtin/index-pack.c:221
+#: builtin/index-pack.c:222
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "kiểu đối tượng không khớp tại %s"
 
-#: builtin/index-pack.c:241
+#: builtin/index-pack.c:242
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "không thể lấy về đối tượng cần %s"
 
-#: builtin/index-pack.c:244
+#: builtin/index-pack.c:245
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "đối tượng %s: cần kiểu %s nhưng lại nhận được %s"
 
-#: builtin/index-pack.c:294
+#: builtin/index-pack.c:295
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "không thể điền thêm vào %d byte"
 
-#: builtin/index-pack.c:304
+#: builtin/index-pack.c:305
 msgid "early EOF"
 msgstr "gặp kết thúc tập tin EOF quá sớm"
 
-#: builtin/index-pack.c:305
+#: builtin/index-pack.c:306
 msgid "read error on input"
 msgstr "lỗi đọc ở đầu vào"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:318
 msgid "used more bytes than were available"
 msgstr "sử dụng nhiều hơn số lượng byte mà nó sẵn có"
 
-#: builtin/index-pack.c:324 builtin/pack-objects.c:624
+#: builtin/index-pack.c:325 builtin/pack-objects.c:624
 msgid "pack too large for current definition of off_t"
 msgstr "gói quá lớn so với định nghĩa hiện tại của kiểu off_t"
 
-#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
+#: builtin/index-pack.c:328 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "gói đã vượt quá cỡ tối đa được phép"
 
-#: builtin/index-pack.c:342
+#: builtin/index-pack.c:343
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: builtin/index-pack.c:348
+#: builtin/index-pack.c:349
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:362
+#: builtin/index-pack.c:363
 msgid "pack signature mismatch"
 msgstr "chữ ký cho gói không khớp"
 
-#: builtin/index-pack.c:364
+#: builtin/index-pack.c:365
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "không hỗ trợ phiên bản gói %<PRIu32>"
 
-#: builtin/index-pack.c:382
+#: builtin/index-pack.c:383
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "gói có đối tượng sai tại khoảng bù %<PRIuMAX>: %s"
 
-#: builtin/index-pack.c:488
+#: builtin/index-pack.c:489
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:537
+#: builtin/index-pack.c:538
 msgid "offset value overflow for delta base object"
 msgstr "tràn giá trị khoảng bù cho đối tượng delta cơ sở"
 
-#: builtin/index-pack.c:545
+#: builtin/index-pack.c:546
 msgid "delta base offset is out of bound"
 msgstr "khoảng bù cơ sở cho delta nằm ngoài phạm vi"
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:554
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:584
+#: builtin/index-pack.c:585
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin gói"
 
-#: builtin/index-pack.c:586
+#: builtin/index-pack.c:587
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "tập tin gói bị kết thúc sớm, thiếu %<PRIuMAX> byte"
 
-#: builtin/index-pack.c:612
+#: builtin/index-pack.c:613
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:757 builtin/index-pack.c:763 builtin/index-pack.c:787
-#: builtin/index-pack.c:826 builtin/index-pack.c:835
+#: builtin/index-pack.c:758 builtin/index-pack.c:764 builtin/index-pack.c:788
+#: builtin/index-pack.c:827 builtin/index-pack.c:836
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:760 builtin/pack-objects.c:171
+#: builtin/index-pack.c:761 builtin/pack-objects.c:171
 #: builtin/pack-objects.c:231 builtin/pack-objects.c:326
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:824
+#: builtin/index-pack.c:825
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "không thể đọc thông tin đối tượng sẵn có %s"
 
-#: builtin/index-pack.c:832
+#: builtin/index-pack.c:833
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "không thể đọc đối tượng đã tồn tại %s"
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:849 builtin/index-pack.c:868
+#: builtin/index-pack.c:850 builtin/index-pack.c:869
 msgid "fsck error in packed object"
 msgstr "lỗi fsck trong đối tượng đóng gói"
 
-#: builtin/index-pack.c:870
+#: builtin/index-pack.c:871
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Không phải tất cả các đối tượng con của %s là có thể với tới được"
 
-#: builtin/index-pack.c:931 builtin/index-pack.c:978
+#: builtin/index-pack.c:932 builtin/index-pack.c:979
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1161
+#: builtin/index-pack.c:1162
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1161
+#: builtin/index-pack.c:1162
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1196
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1200
+#: builtin/index-pack.c:1201
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1203
+#: builtin/index-pack.c:1204
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1215
+#: builtin/index-pack.c:1216
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "lộn xộn hơn cả điên rồ khi chạy hàm parse_pack_objects()"
 
-#: builtin/index-pack.c:1238
+#: builtin/index-pack.c:1239
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2707
+#: builtin/index-pack.c:1250 builtin/pack-objects.c:2732
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1282
+#: builtin/index-pack.c:1283
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1288
+#: builtin/index-pack.c:1289
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "đầy đủ với %d đối tượng nội bộ"
 
-#: builtin/index-pack.c:1300
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Gặp tổng kiểm tra tail không cần cho %s (đĩa hỏng?)"
 
-#: builtin/index-pack.c:1304
+#: builtin/index-pack.c:1305
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "gói có %d delta chưa được giải quyết"
 
-#: builtin/index-pack.c:1328
+#: builtin/index-pack.c:1329
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "không thể xả nén đối tượng nối thêm (%d)"
 
-#: builtin/index-pack.c:1424
+#: builtin/index-pack.c:1425
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1446
 #, c-format
 msgid "packfile name '%s' does not end with '.%s'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc “.%s”"
 
-#: builtin/index-pack.c:1469
+#: builtin/index-pack.c:1470
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "không thể ghi %s tập tin “%s”"
 
-#: builtin/index-pack.c:1477
+#: builtin/index-pack.c:1478
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "không thể đóng tập tin được ghi %s “%s”"
 
-#: builtin/index-pack.c:1503
+#: builtin/index-pack.c:1504
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1517
+#: builtin/index-pack.c:1518
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1525
+#: builtin/index-pack.c:1526
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1534
-msgid "cannot store reverse index file"
-msgstr "không thể lưu trữ tập tin ghi mục lục đảo ngược"
-
-#: builtin/index-pack.c:1580 builtin/pack-objects.c:2952
+#: builtin/index-pack.c:1581 builtin/pack-objects.c:2977
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1650
+#: builtin/index-pack.c:1651
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Không thể mở tập tin gói đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1652
+#: builtin/index-pack.c:1653
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Không thể mở tập tin idx của gói cho “%s”"
 
-#: builtin/index-pack.c:1700
+#: builtin/index-pack.c:1701
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "không delta: %d đối tượng"
 
-#: builtin/index-pack.c:1707
+#: builtin/index-pack.c:1708
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "chiều dài xích = %d: %lu đối tượng"
 
-#: builtin/index-pack.c:1765
+#: builtin/index-pack.c:1750
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1819 builtin/index-pack.c:1822
-#: builtin/index-pack.c:1838 builtin/index-pack.c:1842
+#: builtin/index-pack.c:1804 builtin/index-pack.c:1807
+#: builtin/index-pack.c:1823 builtin/index-pack.c:1827
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1848 builtin/init-db.c:392 builtin/init-db.c:625
+#: builtin/index-pack.c:1833 builtin/init-db.c:378 builtin/init-db.c:613
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "không hiểu thuật toán băm dữ liệu “%s”"
 
-#: builtin/index-pack.c:1867
+#: builtin/index-pack.c:1852
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin không thể được dùng mà không có --stdin"
 
-#: builtin/index-pack.c:1869
+#: builtin/index-pack.c:1854
 msgid "--stdin requires a git repository"
 msgstr "--stdin cần một kho git"
 
-#: builtin/index-pack.c:1871
+#: builtin/index-pack.c:1856
 msgid "--object-format cannot be used with --stdin"
 msgstr "--object-format không thể được dùng với --stdin"
 
-#: builtin/index-pack.c:1886
+#: builtin/index-pack.c:1871
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
-#: builtin/index-pack.c:1956 builtin/unpack-objects.c:582
+#: builtin/index-pack.c:1937 builtin/unpack-objects.c:584
 msgid "fsck error in pack objects"
 msgstr "lỗi fsck trong các đối tượng gói"
 
-#: builtin/init-db.c:64
+#: builtin/init-db.c:63
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "không thể lấy thông tin thống kê về mẫu “%s”"
 
-#: builtin/init-db.c:69
+#: builtin/init-db.c:68
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "không thể opendir() “%s”"
 
-#: builtin/init-db.c:81
+#: builtin/init-db.c:80
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "không thể readlink “%s”"
 
-#: builtin/init-db.c:83
+#: builtin/init-db.c:82
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "không thể tạo liên kết mềm (symlink) “%s” “%s”"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:88
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "không thể sao chép “%s” sang “%s”"
 
-#: builtin/init-db.c:93
+#: builtin/init-db.c:92
 #, c-format
 msgid "ignoring template %s"
 msgstr "đang lờ đi mẫu “%s”"
 
-#: builtin/init-db.c:124
+#: builtin/init-db.c:123
 #, c-format
 msgid "templates not found in %s"
 msgstr "các mẫu không được tìm thấy trong %s"
 
-#: builtin/init-db.c:139
+#: builtin/init-db.c:138
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "không sao chép các mẫu từ “%s”: %s"
 
-#: builtin/init-db.c:275
+#: builtin/init-db.c:262
 #, c-format
 msgid "invalid initial branch name: '%s'"
 msgstr "tên nhánh khởi tạo không hợp lệ: “%s”"
 
-#: builtin/init-db.c:367
+#: builtin/init-db.c:353
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "không thể xử lý (handle) tập tin kiểu %d"
 
-#: builtin/init-db.c:370
+#: builtin/init-db.c:356
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "không di chuyển được %s vào %s"
 
-#: builtin/init-db.c:386
+#: builtin/init-db.c:372
 msgid "attempt to reinitialize repository with different hash"
 msgstr "cố để khởi tạo lại một kho với kiểu băm dữ liệu khác"
 
-#: builtin/init-db.c:410 builtin/init-db.c:413
+#: builtin/init-db.c:396 builtin/init-db.c:399
 #, c-format
 msgid "%s already exists"
 msgstr "%s đã có từ trước rồi"
 
-#: builtin/init-db.c:445
+#: builtin/init-db.c:431
 #, c-format
 msgid "re-init: ignored --initial-branch=%s"
 msgstr "re-init: --initial-branch=%s bị bỏ qua"
 
-#: builtin/init-db.c:476
+#: builtin/init-db.c:462
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git chia sẻ sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:477
+#: builtin/init-db.c:463
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:481
+#: builtin/init-db.c:467
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git chia sẻ trống rỗng sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:468
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git trống rỗng sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:531
+#: builtin/init-db.c:517
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -16466,41 +16708,41 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<thư-mục-tạm>] [--shared[=<các-"
 "quyền>]] [thư-mục]"
 
-#: builtin/init-db.c:557
+#: builtin/init-db.c:543
 msgid "permissions"
 msgstr "các quyền"
 
-#: builtin/init-db.c:558
+#: builtin/init-db.c:544
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiều người dùng"
 
-#: builtin/init-db.c:564
+#: builtin/init-db.c:550
 msgid "override the name of the initial branch"
 msgstr "ghi đè lên tên của nhánh khởi tạo"
 
-#: builtin/init-db.c:565 builtin/verify-pack.c:74
+#: builtin/init-db.c:551 builtin/verify-pack.c:74
 msgid "hash"
 msgstr "băm"
 
-#: builtin/init-db.c:566 builtin/show-index.c:22 builtin/verify-pack.c:75
+#: builtin/init-db.c:552 builtin/show-index.c:22 builtin/verify-pack.c:75
 msgid "specify the hash algorithm to use"
 msgstr "chỉ định thuật toán băm dữ liệu muốn dùng"
 
-#: builtin/init-db.c:573
+#: builtin/init-db.c:559
 msgid "--separate-git-dir and --bare are mutually exclusive"
 msgstr "Các tùy chọn --separate-git-dir và --bare loại từ lẫn nhau"
 
-#: builtin/init-db.c:602 builtin/init-db.c:607
+#: builtin/init-db.c:590 builtin/init-db.c:595
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "không thể mkdir (tạo thư mục): %s"
 
-#: builtin/init-db.c:611 builtin/init-db.c:666
+#: builtin/init-db.c:599 builtin/init-db.c:654
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "không thể chdir (chuyển đổi thư mục) sang %s"
 
-#: builtin/init-db.c:638
+#: builtin/init-db.c:626
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -16509,12 +16751,12 @@ msgstr ""
 "%s (hoặc --work-tree=<thư-mục>) không cho phép không chỉ định %s (hoặc --git-"
 "dir=<thư-mục>)"
 
-#: builtin/init-db.c:690
+#: builtin/init-db.c:678
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Không thể truy cập cây (tree) làm việc “%s”"
 
-#: builtin/init-db.c:695
+#: builtin/init-db.c:683
 msgid "--separate-git-dir incompatible with bare repository"
 msgstr "--separate-git-dir xung khắc với kho thuần"
 
@@ -16566,10 +16808,6 @@ msgstr "đặt các tùy chọn phân tích cú pháp"
 msgid "do not treat --- specially"
 msgstr "không coi --- là đặc biệt"
 
-#: builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr "bộ dò vết"
-
 #: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr "bộ dò vết cần thêm"
@@ -16632,80 +16870,80 @@ msgstr "-L<vùng>:<tập_tin> không thể được sử dụng với đặc t
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:566
+#: builtin/log.c:568
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:581 builtin/log.c:671
+#: builtin/log.c:583 builtin/log.c:673
 #, c-format
 msgid "could not read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/log.c:696
+#: builtin/log.c:698
 #, c-format
 msgid "unknown type: %d"
 msgstr "không nhận ra kiểu: %d"
 
-#: builtin/log.c:841
+#: builtin/log.c:843
 #, c-format
 msgid "%s: invalid cover from description mode"
 msgstr "%s: bao bọc không hợp lệ từ chế độ mô tả"
 
-#: builtin/log.c:848
+#: builtin/log.c:850
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:977
+#: builtin/log.c:979
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:994
+#: builtin/log.c:996
 msgid "need exactly one range"
 msgstr "cần chính xác một vùng"
 
-#: builtin/log.c:1004
+#: builtin/log.c:1006
 msgid "not a range"
 msgstr "không phải là một vùng"
 
-#: builtin/log.c:1168
+#: builtin/log.c:1170
 msgid "cover letter needs email format"
 msgstr "“cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1174
+#: builtin/log.c:1176
 msgid "failed to create cover-letter file"
 msgstr "gặp lỗi khi tạo các tập tin cover-letter"
 
-#: builtin/log.c:1261
+#: builtin/log.c:1263
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1288
+#: builtin/log.c:1290
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<các tùy chọn>] [<kể-từ> | <vùng-xem-xét>]"
 
-#: builtin/log.c:1346
+#: builtin/log.c:1348
 msgid "two output directories?"
 msgstr "hai thư mục kết xuất?"
 
-#: builtin/log.c:1497 builtin/log.c:2317 builtin/log.c:2319 builtin/log.c:2331
+#: builtin/log.c:1499 builtin/log.c:2326 builtin/log.c:2328 builtin/log.c:2340
 #, c-format
 msgid "unknown commit %s"
 msgstr "không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1508 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1510 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ"
 
-#: builtin/log.c:1517
+#: builtin/log.c:1519
 msgid "could not find exact merge base"
 msgstr "không tìm thấy nền hòa trộn chính xác"
 
-#: builtin/log.c:1527
+#: builtin/log.c:1529
 msgid ""
 "failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -16716,289 +16954,293 @@ msgstr ""
 "nhánh máy chủ. Hoặc là bạn có thể chỉ định lần chuyển giao nền bằng\n"
 "\"--base=<base-commit-id>\" một cách thủ công"
 
-#: builtin/log.c:1550
+#: builtin/log.c:1552
 msgid "failed to find exact merge base"
 msgstr "gặp lỗi khi tìm nền hòa trộn chính xác"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1569
 msgid "base commit should be the ancestor of revision list"
 msgstr "lần chuyển giao nền không là tổ tiên của danh sách điểm xét duyệt"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1579
 msgid "base commit shouldn't be in revision list"
 msgstr "lần chuyển giao nền không được trong danh sách điểm xét duyệt"
 
-#: builtin/log.c:1635
+#: builtin/log.c:1637
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1692
+#: builtin/log.c:1700
 msgid "failed to infer range-diff origin of current series"
 msgstr ""
 "gặp lỗi khi suy luận range-diff (vùng khác biệt) gốc của sê-ri hiện tại"
 
-#: builtin/log.c:1694
+#: builtin/log.c:1702
 #, c-format
 msgid "using '%s' as range-diff origin of current series"
 msgstr "dùng “%s” như là gốc range-diff của sê-ri hiện tại"
 
-#: builtin/log.c:1738
+#: builtin/log.c:1746
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "dùng [PATCH n/m] ngay cả với miếng vá đơn"
 
-#: builtin/log.c:1741
+#: builtin/log.c:1749
 msgid "use [PATCH] even with multiple patches"
 msgstr "dùng [VÁ] ngay cả với các miếng vá phức tạp"
 
-#: builtin/log.c:1745
+#: builtin/log.c:1753
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1747
+#: builtin/log.c:1755
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1749
+#: builtin/log.c:1757
 msgid "use simple number sequence for output file names"
 msgstr "sử dụng chỗi dãy số dạng đơn giản cho tên tập-tin xuất ra"
 
-#: builtin/log.c:1750
+#: builtin/log.c:1758
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1751
+#: builtin/log.c:1759
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1753
+#: builtin/log.c:1761
 msgid "start numbering patches at <n> instead of 1"
 msgstr "bắt đầu đánh số miếng vá từ <n> thay vì 1"
 
-#: builtin/log.c:1755
+#: builtin/log.c:1762
+msgid "reroll-count"
+msgstr "đếm reroll"
+
+#: builtin/log.c:1763
 msgid "mark the series as Nth re-roll"
 msgstr "đánh dấu chuỗi nối tiếp dạng thứ-N re-roll"
 
-#: builtin/log.c:1757
+#: builtin/log.c:1765
 msgid "max length of output filename"
 msgstr "chiều dài tên tập tin đầu ra tối đa"
 
-#: builtin/log.c:1759
+#: builtin/log.c:1767
 msgid "use [RFC PATCH] instead of [PATCH]"
 msgstr "dùng [VÁ RFC] thay cho [VÁ]"
 
-#: builtin/log.c:1762
+#: builtin/log.c:1770
 msgid "cover-from-description-mode"
 msgstr "cover-from-description-mode"
 
-#: builtin/log.c:1763
+#: builtin/log.c:1771
 msgid "generate parts of a cover letter based on a branch's description"
 msgstr "tạo ra các phần của một lá thư bao gồm dựa trên mô tả của nhánh"
 
-#: builtin/log.c:1765
+#: builtin/log.c:1773
 msgid "use [<prefix>] instead of [PATCH]"
 msgstr "dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1768
+#: builtin/log.c:1776
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1771
+#: builtin/log.c:1779
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1774
+#: builtin/log.c:1782
 msgid "don't output binary diffs"
 msgstr "không kết xuất diff (những khác biệt) nhị phân"
 
-#: builtin/log.c:1776
+#: builtin/log.c:1784
 msgid "output all-zero hash in From header"
 msgstr "xuất mọi mã băm all-zero trong phần đầu From"
 
-#: builtin/log.c:1778
+#: builtin/log.c:1786
 msgid "don't include a patch matching a commit upstream"
 msgstr "không bao gồm miếng vá khớp với một lần chuyển giao thượng nguồn"
 
-#: builtin/log.c:1780
+#: builtin/log.c:1788
 msgid "show patch format instead of default (patch + stat)"
 msgstr "hiển thị định dạng miếng vá thay vì mặc định (miếng vá + thống kê)"
 
-#: builtin/log.c:1782
+#: builtin/log.c:1790
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1783
+#: builtin/log.c:1791
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1784
+#: builtin/log.c:1792
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1785 builtin/log.c:1786
+#: builtin/log.c:1793 builtin/log.c:1794
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1793
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1786
+#: builtin/log.c:1794
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1787
+#: builtin/log.c:1795
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1788
+#: builtin/log.c:1796
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "đặt “Địa chỉ gửi” thành <thụ lề> (hoặc thụt lề người commit nếu bỏ quên)"
 
-#: builtin/log.c:1790
+#: builtin/log.c:1798
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1791
+#: builtin/log.c:1799
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1792 builtin/log.c:1795
+#: builtin/log.c:1800 builtin/log.c:1803
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1793
+#: builtin/log.c:1801
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1796
+#: builtin/log.c:1804
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1800
+#: builtin/log.c:1808
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1802
+#: builtin/log.c:1810
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1803
+#: builtin/log.c:1811
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1804
+#: builtin/log.c:1812
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1805
+#: builtin/log.c:1813
 msgid "add prerequisite tree info to the patch series"
 msgstr "add trước hết đòi hỏi thông tin cây tới sê-ri miếng vá"
 
-#: builtin/log.c:1808
+#: builtin/log.c:1816
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1809
+#: builtin/log.c:1817
 msgid "don't print the patch filenames"
 msgstr "không hiển thị các tên tập tin của miếng vá"
 
-#: builtin/log.c:1811
+#: builtin/log.c:1819
 msgid "show progress while generating patches"
 msgstr "hiển thị bộ đo tiến triển trong khi tạo các miếng vá"
 
-#: builtin/log.c:1813
+#: builtin/log.c:1821
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <rev> trong các chữ bao bọc hoặc miếng vá đơn"
 
-#: builtin/log.c:1816
+#: builtin/log.c:1824
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <refspec> trong các chữ bao bọc hoặc miếng vá "
 "đơn"
 
-#: builtin/log.c:1818
+#: builtin/log.c:1826 builtin/range-diff.c:28
 msgid "percentage by which creation is weighted"
 msgstr "tỷ lệ phần trăm theo cái tạo là weighted"
 
-#: builtin/log.c:1904
+#: builtin/log.c:1913
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng định danh không hợp lệ: %s"
 
-#: builtin/log.c:1919
+#: builtin/log.c:1928
 msgid "-n and -k are mutually exclusive"
 msgstr "-n và -k loại trừ lẫn nhau"
 
-#: builtin/log.c:1921
+#: builtin/log.c:1930
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc và -k xung khắc nhau"
 
-#: builtin/log.c:1929
+#: builtin/log.c:1938
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1931
+#: builtin/log.c:1940
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1933
+#: builtin/log.c:1942
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1955
+#: builtin/log.c:1964
 msgid "--stdout, --output, and --output-directory are mutually exclusive"
 msgstr "Các tùy chọn--stdout, --output, và --output-directory loại từ lẫn nhau"
 
-#: builtin/log.c:2078
+#: builtin/log.c:2087
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff cần --cover-letter hoặc vá đơn"
 
-#: builtin/log.c:2082
+#: builtin/log.c:2091
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:2083
+#: builtin/log.c:2092
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff dựa trên v%d:"
 
-#: builtin/log.c:2089
+#: builtin/log.c:2098
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor yêu cầu --range-diff"
 
-#: builtin/log.c:2093
+#: builtin/log.c:2102
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff yêu cầu --cover-letter hoặc miếng vá đơn"
 
-#: builtin/log.c:2101
+#: builtin/log.c:2110
 msgid "Range-diff:"
 msgstr "Range-diff:"
 
-#: builtin/log.c:2102
+#: builtin/log.c:2111
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-diff dựa trên v%d:"
 
-#: builtin/log.c:2113
+#: builtin/log.c:2122
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:2149
+#: builtin/log.c:2158
 msgid "Generating patches"
 msgstr "Đang tạo các miếng vá"
 
-#: builtin/log.c:2193
+#: builtin/log.c:2202
 msgid "failed to create output files"
 msgstr "gặp lỗi khi tạo các tập tin kết xuất"
 
-#: builtin/log.c:2252
+#: builtin/log.c:2261
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:2306
+#: builtin/log.c:2315
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -17006,114 +17248,114 @@ msgstr ""
 "Không tìm thấy nhánh mạng được theo dõi, hãy chỉ định <thượng-nguồn> một "
 "cách thủ công.\n"
 
-#: builtin/ls-files.c:486
+#: builtin/ls-files.c:563
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<các tùy chọn>] [<tập-tin>…]"
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:619
 msgid "identify the file status with tags"
 msgstr "nhận dạng các trạng thái tập tin với thẻ"
 
-#: builtin/ls-files.c:544
+#: builtin/ls-files.c:621
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "dùng chữ cái viết thường cho các tập tin “assume unchanged” (giả định không "
 "thay đổi)"
 
-#: builtin/ls-files.c:546
+#: builtin/ls-files.c:623
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "dùng chữ cái viết thường cho các tập tin “fsmonitor clean”"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:625
 msgid "show cached files in the output (default)"
 msgstr "hiển thị các tập tin được nhớ tạm vào đầu ra (mặc định)"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:627
 msgid "show deleted files in the output"
 msgstr "hiển thị các tập tin đã xóa trong kết xuất"
 
-#: builtin/ls-files.c:552
+#: builtin/ls-files.c:629
 msgid "show modified files in the output"
 msgstr "hiển thị các tập tin đã bị sửa đổi ra kết xuất"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:631
 msgid "show other files in the output"
 msgstr "hiển thị các tập tin khác trong kết xuất"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:633
 msgid "show ignored files in the output"
 msgstr "hiển thị các tập tin bị bỏ qua trong kết xuất"
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:636
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được đặt lên bệ phóng ra kết xuất"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:638
 msgid "show files on the filesystem that need to be removed"
 msgstr "hiển thị các tập tin trên hệ thống tập tin mà nó cần được gỡ bỏ"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:640
 msgid "show 'other' directories' names only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:642
 msgid "show line endings of files"
 msgstr "hiển thị kết thúc dòng của các tập tin"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:644
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:570
+#: builtin/ls-files.c:647
 msgid "show unmerged files in the output"
 msgstr "hiển thị các tập tin chưa hòa trộn trong kết xuất"
 
-#: builtin/ls-files.c:572
+#: builtin/ls-files.c:649
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:574
+#: builtin/ls-files.c:651
 msgid "skip files matching pattern"
 msgstr "bỏ qua những tập tin khớp với một mẫu"
 
-#: builtin/ls-files.c:577
+#: builtin/ls-files.c:654
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:580
+#: builtin/ls-files.c:657
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "đọc thêm các mẫu ngoại trừ mỗi thư mục trong <tập tin>"
 
-#: builtin/ls-files.c:582
+#: builtin/ls-files.c:659
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:586
+#: builtin/ls-files.c:663
 msgid "make the output relative to the project top directory"
 msgstr "làm cho kết xuất liên quan đến thư mục ở mức cao nhất (gốc) của dự án"
 
-#: builtin/ls-files.c:589
+#: builtin/ls-files.c:666
 msgid "recurse through submodules"
 msgstr "đệ quy xuyên qua mô-đun con"
 
-#: builtin/ls-files.c:591
+#: builtin/ls-files.c:668
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "nếu <tập tin> bất kỳ không ở trong bảng mục lục, xử lý nó như một lỗi"
 
-#: builtin/ls-files.c:592
+#: builtin/ls-files.c:669
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:593
+#: builtin/ls-files.c:670
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <tree-ish> nay vẫn hiện diện"
 
-#: builtin/ls-files.c:595
+#: builtin/ls-files.c:672
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
-#: builtin/ls-files.c:597
+#: builtin/ls-files.c:674
 msgid "suppress duplicate entries"
 msgstr "chặn các mục tin trùng lặp"
 
@@ -17131,7 +17373,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "không hiển thị URL máy chủ"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1404
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1399
 msgid "exec"
 msgstr "thực thi"
 
@@ -17199,6 +17441,55 @@ msgstr "dùng tên đường dẫn đầy đủ"
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
 
+#. TRANSLATORS: keep <> in "<" mail ">" info.
+#: builtin/mailinfo.c:14
+msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
+msgstr "git mailinfo [<các tùy chọn>] <msg> <patch> < mail >info"
+
+#: builtin/mailinfo.c:58
+msgid "keep subject"
+msgstr "giữ lại phần chủ đề"
+
+#: builtin/mailinfo.c:60
+msgid "keep non patch brackets in subject"
+msgstr "giữ không dấu ngoặc vá trong chủ đề"
+
+#: builtin/mailinfo.c:62
+msgid "copy Message-ID to the end of commit message"
+msgstr "sao chép Message-ID vào cuối của ghi chú lần chuyển giao"
+
+#: builtin/mailinfo.c:64
+msgid "re-code metadata to i18n.commitEncoding"
+msgstr "mã hóa lại siêu dữ liệu thành i18n.commitEncoding"
+
+#: builtin/mailinfo.c:67
+msgid "disable charset re-coding of metadata"
+msgstr "vô hiệu hóa mã hóa lại bộ ký tự của siêu dữ liệu"
+
+#: builtin/mailinfo.c:69
+msgid "encoding"
+msgstr "bảng mã"
+
+#: builtin/mailinfo.c:70
+msgid "re-code metadata to this encoding"
+msgstr "mã hóa lại siêu dữ liệu vào bảng mã này"
+
+#: builtin/mailinfo.c:72
+msgid "use scissors"
+msgstr "dùng \"scissor\""
+
+#: builtin/mailinfo.c:73
+msgid "<action>"
+msgstr "<hành động>"
+
+#: builtin/mailinfo.c:74
+msgid "action when quoted CR is found"
+msgstr "hành động khi CR được trích dẫn được tìm thấy"
+
+#: builtin/mailinfo.c:77
+msgid "use headers in message's body"
+msgstr "sử dụng phần đầu trong nội dung thư"
+
 #: builtin/mailsplit.c:241
 #, c-format
 msgid "empty mbox: '%s'"
@@ -17391,7 +17682,7 @@ msgid "verify that the named commit has a valid GPG signature"
 msgstr "thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không"
 
 #: builtin/merge.c:278 builtin/notes.c:787 builtin/pull.c:168
-#: builtin/rebase.c:541 builtin/rebase.c:1418 builtin/revert.c:114
+#: builtin/rebase.c:540 builtin/rebase.c:1413 builtin/revert.c:114
 msgid "strategy"
 msgstr "chiến lược"
 
@@ -17450,57 +17741,57 @@ msgstr "không phải là một đối tượng hợp lệ: %s"
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:399
-msgid " (nothing to squash)"
-msgstr " (không có gì để squash)"
+#: builtin/merge.c:400
+msgid "Already up to date. (nothing to squash)"
+msgstr "Đã cập nhật rồi. (không có gì để squash)"
 
-#: builtin/merge.c:410
+#: builtin/merge.c:414
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:460
+#: builtin/merge.c:464
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Không có lời chú thích hòa trộn -- nên không cập nhật HEAD\n"
 
-#: builtin/merge.c:511
+#: builtin/merge.c:515
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "“%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/merge.c:598
+#: builtin/merge.c:602
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:724
+#: builtin/merge.c:728
 msgid "Not handling anything other than two heads merge."
 msgstr "Không cầm nắm gì ngoài hai head hòa trộn."
 
-#: builtin/merge.c:737
+#: builtin/merge.c:741
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Không hiểu tùy chọn cho merge-recursive: -X%s"
 
-#: builtin/merge.c:756 t/helper/test-fast-rebase.c:209
+#: builtin/merge.c:760 t/helper/test-fast-rebase.c:209
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:808
+#: builtin/merge.c:812
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:817
+#: builtin/merge.c:821
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Vẫn chưa hòa trộn các lần chuyển giao; sử dụng lệnh “git commit” để hoàn tất "
 "việc hòa trộn.\n"
 
-#: builtin/merge.c:823
+#: builtin/merge.c:827
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
@@ -17512,11 +17803,11 @@ msgstr ""
 "topic.\n"
 "\n"
 
-#: builtin/merge.c:828
+#: builtin/merge.c:832
 msgid "An empty message aborts the commit.\n"
 msgstr "Nếu phần chú thích rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:831
+#: builtin/merge.c:835
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
@@ -17525,75 +17816,75 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua, và nếu phần chú\n"
 "thích rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:884
+#: builtin/merge.c:888
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:899
+#: builtin/merge.c:903
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Việc tự động hòa trộn gặp lỗi; hãy sửa các xung đột sau đó chuyển giao kết "
 "quả.\n"
 
-#: builtin/merge.c:999
+#: builtin/merge.c:1003
 msgid "No current branch."
 msgstr "Không phải nhánh hiện hành."
 
-#: builtin/merge.c:1001
+#: builtin/merge.c:1005
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:1003
+#: builtin/merge.c:1007
 msgid "No default upstream defined for the current branch."
 msgstr "Không có thượng nguồn mặc định được định nghĩa cho nhánh hiện hành."
 
-#: builtin/merge.c:1008
+#: builtin/merge.c:1012
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Không nhánh mạng theo dõi cho %s từ %s"
 
-#: builtin/merge.c:1065
+#: builtin/merge.c:1069
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Giá trị sai “%s” trong biến môi trường “%s”"
 
-#: builtin/merge.c:1168
+#: builtin/merge.c:1172
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "không phải là một thứ gì đó mà chúng tôi có thể hòa trộn trong %s: %s"
 
-#: builtin/merge.c:1202
+#: builtin/merge.c:1206
 msgid "not something we can merge"
 msgstr "không phải là thứ gì đó mà chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1312
+#: builtin/merge.c:1316
 msgid "--abort expects no arguments"
 msgstr "--abort không nhận các đối số"
 
-#: builtin/merge.c:1316
+#: builtin/merge.c:1320
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 "Ở đây không có lần hòa trộn nào được hủy bỏ giữa chừng cả (thiếu MERGE_HEAD)."
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1338
 msgid "--quit expects no arguments"
 msgstr "--quit không nhận các đối số"
 
-#: builtin/merge.c:1347
+#: builtin/merge.c:1351
 msgid "--continue expects no arguments"
 msgstr "--continue không nhận đối số"
 
-#: builtin/merge.c:1351
+#: builtin/merge.c:1355
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Ở đây không có lần hòa trộn nào đang được xử lý cả (thiếu MERGE_HEAD)."
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1371
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17601,7 +17892,7 @@ msgstr ""
 "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1374
+#: builtin/merge.c:1378
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17609,98 +17900,90 @@ msgstr ""
 "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1381
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại)."
 
-#: builtin/merge.c:1391
+#: builtin/merge.c:1395
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Bạn không thể kết hợp --squash với --no-ff."
 
-#: builtin/merge.c:1393
+#: builtin/merge.c:1397
 msgid "You cannot combine --squash with --commit."
 msgstr "Bạn không thể kết hợp --squash với --commit."
 
-#: builtin/merge.c:1409
+#: builtin/merge.c:1413
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Không chỉ ra lần chuyển giao và merge.defaultToUpstream chưa được đặt."
 
-#: builtin/merge.c:1426
+#: builtin/merge.c:1430
 msgid "Squash commit into empty head not supported yet"
 msgstr "Squash commit vào một head trống rỗng vẫn chưa được hỗ trợ"
 
-#: builtin/merge.c:1428
+#: builtin/merge.c:1432
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Chuyển giao không-chuyển-tiếp-nhanh không hợp lý ở trong một head trống rỗng"
 
-#: builtin/merge.c:1433
+#: builtin/merge.c:1437
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - không phải là thứ gì đó mà chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1435
+#: builtin/merge.c:1439
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Không thể hòa trộn một cách đúng đắn một lần chuyển giao vào một head rỗng"
 
-#: builtin/merge.c:1516
+#: builtin/merge.c:1520
 msgid "refusing to merge unrelated histories"
 msgstr "từ chối hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:1525
-msgid "Already up to date."
-msgstr "Đã cập nhật rồi."
-
-#: builtin/merge.c:1535
+#: builtin/merge.c:1539
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1581
+#: builtin/merge.c:1585
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Đang thử hòa trộn kiểu “trivial in-index”…\n"
 
-#: builtin/merge.c:1588
+#: builtin/merge.c:1592
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1613
-msgid "Already up to date. Yeeah!"
-msgstr "Đã cập nhật rồi. Yeeah!"
-
-#: builtin/merge.c:1619
+#: builtin/merge.c:1623
 msgid "Not possible to fast-forward, aborting."
 msgstr "Thực hiện lệnh chuyển-tiếp-nhanh là không thể được, đang bỏ qua."
 
-#: builtin/merge.c:1647 builtin/merge.c:1712
+#: builtin/merge.c:1651 builtin/merge.c:1716
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Đang tua lại cây thành thời xa xưa…\n"
 
-#: builtin/merge.c:1651
+#: builtin/merge.c:1655
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1703
+#: builtin/merge.c:1707
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Không có chiến lược hòa trộn nào được nắm giữ (handle) sự hòa trộn.\n"
 
-#: builtin/merge.c:1705
+#: builtin/merge.c:1709
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Hòa trộn với chiến lược %s gặp lỗi.\n"
 
-#: builtin/merge.c:1714
+#: builtin/merge.c:1718
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Sử dụng %s để chuẩn bị giải quyết bằng tay.\n"
 
-#: builtin/merge.c:1728
+#: builtin/merge.c:1732
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -17711,42 +17994,42 @@ msgstr ""
 msgid "git mktag"
 msgstr "git mktag"
 
-#: builtin/mktag.c:30
+#: builtin/mktag.c:27
 #, c-format
 msgid "warning: tag input does not pass fsck: %s"
 msgstr "cảnh báo: đầu vào thẻ không qua kiểm tra fsck: %s"
 
-#: builtin/mktag.c:41
+#: builtin/mktag.c:38
 #, c-format
 msgid "error: tag input does not pass fsck: %s"
 msgstr "lỗi: đầu vào thẻ không vượt qua fsck: %s"
 
-#: builtin/mktag.c:44
+#: builtin/mktag.c:41
 #, c-format
 msgid "%d (FSCK_IGNORE?) should never trigger this callback"
 msgstr "%d (FSCK_IGNORE?) không bao giờ nên kích hoạt cuộc gọi ngược này"
 
-#: builtin/mktag.c:59
+#: builtin/mktag.c:56
 #, c-format
 msgid "could not read tagged object '%s'"
 msgstr "không thể đọc đối tượng được đánh thẻ %s"
 
-#: builtin/mktag.c:62
+#: builtin/mktag.c:59
 #, c-format
 msgid "object '%s' tagged as '%s', but is a '%s' type"
 msgstr "đối tượng %s được đánh thẻ là %s, không phải là kiểu %s"
 
-#: builtin/mktag.c:99
+#: builtin/mktag.c:97
 msgid "tag on stdin did not pass our strict fsck check"
 msgstr ""
 "thẻ trên stdin đã không vượt qua kiểm tra fsck nghiêm ngặt của chúng tôi"
 
-#: builtin/mktag.c:102
+#: builtin/mktag.c:100
 msgid "tag on stdin did not refer to a valid object"
 msgstr ""
 "thẻ trên đầu vào tiêu chuẩn không chỉ đến một lần chuyển giao hợp lệ nào cả"
 
-#: builtin/mktag.c:105 builtin/tag.c:232
+#: builtin/mktag.c:103 builtin/tag.c:243
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
@@ -17766,19 +18049,35 @@ msgstr "cho phép thiếu đối tượng"
 msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
-#: builtin/multi-pack-index.c:9
-msgid ""
-"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
-"size=<size>)"
-msgstr ""
-"git multi-pack-index [<các-tùy-chọn>] (write|verify|expire|repack --batch-"
-"size=<cỡ>)"
+#: builtin/multi-pack-index.c:10
+msgid "git multi-pack-index [<options>] write [--preferred-pack=<pack>]"
+msgstr "git multi-pack-index [<các tùy chọn>] write [--preferred-pack=<cỡ>]"
+
+#: builtin/multi-pack-index.c:13
+msgid "git multi-pack-index [<options>] verify"
+msgstr "git multi-pack-index [<các tùy chọn>] verify"
+
+#: builtin/multi-pack-index.c:16
+msgid "git multi-pack-index [<options>] expire"
+msgstr "git multi-pack-index [<các tùy chọn>] expire"
 
-#: builtin/multi-pack-index.c:26
+#: builtin/multi-pack-index.c:19
+msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
+msgstr "git multi-pack-index [<các-tùy-chọn>] repack [--batch-size=<cỡ>]"
+
+#: builtin/multi-pack-index.c:54
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "thư mục đối tượng có chứa một bộ các tập tin gói và cặp pack-index"
 
-#: builtin/multi-pack-index.c:29
+#: builtin/multi-pack-index.c:69
+msgid "preferred-pack"
+msgstr "preferred-pack"
+
+#: builtin/multi-pack-index.c:70
+msgid "pack for reuse when computing a multi-pack bitmap"
+msgstr "gói được sử dụng khi tính toán một \"multi-pack bitmap\""
+
+#: builtin/multi-pack-index.c:128
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
@@ -17786,18 +18085,7 @@ msgstr ""
 "trong suốt quá trình đóng gói lại, gom các tập tin gói có kích cỡ nhỏ hơn "
 "vào một bó cái mà lớn hơn kích thước này"
 
-#: builtin/multi-pack-index.c:50 builtin/notes.c:376 builtin/notes.c:431
-#: builtin/notes.c:509 builtin/notes.c:521 builtin/notes.c:598
-#: builtin/notes.c:665 builtin/notes.c:815 builtin/notes.c:963
-#: builtin/notes.c:985 builtin/prune-packed.c:25 builtin/tag.c:575
-msgid "too many arguments"
-msgstr "có quá nhiều đối số"
-
-#: builtin/multi-pack-index.c:60
-msgid "--batch-size option is only for 'repack' subcommand"
-msgstr "tùy chọn --batch-size chỉ cho lệnh con “repack”"
-
-#: builtin/multi-pack-index.c:69
+#: builtin/multi-pack-index.c:180
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -17894,7 +18182,7 @@ msgstr "%s, nguồn=%s, đích=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:483
+#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:667
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
@@ -18086,7 +18374,7 @@ msgstr "không thể ghi đối tượng ghi chú (note)"
 msgid "the note contents have been left in %s"
 msgstr "nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:242 builtin/tag.c:565
+#: builtin/notes.c:242 builtin/tag.c:576
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
@@ -18126,6 +18414,13 @@ msgstr "gặp lỗi khi sao chép ghi chú (note) từ “%s” sang “%s”"
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "từ chối %s ghi chú trong %s (nằm ngoài refs/notes/)"
 
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509
+#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665
+#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985
+#: builtin/prune-packed.c:25 builtin/tag.c:586
+msgid "too many arguments"
+msgstr "có quá nhiều đối số"
+
 #: builtin/notes.c:389 builtin/notes.c:678
 #, c-format
 msgid "no note found for object %s."
@@ -18314,7 +18609,7 @@ msgstr ""
 "chuyển giao kết quả bằng “git notes merge --commit”, hoặc bãi bỏ việc hòa "
 "trộn bằng “git notes merge --abort”.\n"
 
-#: builtin/notes.c:897 builtin/tag.c:578
+#: builtin/notes.c:897 builtin/tag.c:589
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ."
@@ -18348,7 +18643,7 @@ msgstr "notes-ref"
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1671
+#: builtin/notes.c:1034 builtin/stash.c:1739
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -18419,65 +18714,65 @@ msgstr "gặp lỗi khi lấy thông tin thống kê về %s"
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "đã ghi %<PRIu32> đối tượng trong khi cần %<PRIu32>"
 
-#: builtin/pack-objects.c:1358
+#: builtin/pack-objects.c:1383
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "tắt ghi bitmap, như vậy một số đối tượng sẽ không được đóng gói"
 
-#: builtin/pack-objects.c:1806
+#: builtin/pack-objects.c:1831
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "khoảng bù cơ sở cho delta bị tràn trong gói cho %s"
 
-#: builtin/pack-objects.c:1815
+#: builtin/pack-objects.c:1840
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "khoảng bù cơ sở cho delta nằm ngoài phạm cho %s"
 
-#: builtin/pack-objects.c:2096
+#: builtin/pack-objects.c:2121
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
-#: builtin/pack-objects.c:2241
+#: builtin/pack-objects.c:2266
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "không thể phân tích phần đầu đối tượng của “%s”"
 
-#: builtin/pack-objects.c:2311 builtin/pack-objects.c:2327
-#: builtin/pack-objects.c:2337
+#: builtin/pack-objects.c:2336 builtin/pack-objects.c:2352
+#: builtin/pack-objects.c:2362
 #, c-format
 msgid "object %s cannot be read"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/pack-objects.c:2314 builtin/pack-objects.c:2341
+#: builtin/pack-objects.c:2339 builtin/pack-objects.c:2366
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "đối tượng %s không nhất quán về chiều dài đối tượng (%<PRIuMAX> so với "
 "%<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2351
+#: builtin/pack-objects.c:2376
 msgid "suboptimal pack - out of memory"
 msgstr "suboptimal pack - hết bộ nhớ"
 
-#: builtin/pack-objects.c:2666
+#: builtin/pack-objects.c:2691
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Nén delta dùng tới %d tuyến trình"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2830
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "không thể đóng gói các đối tượng tiếp cận được từ thẻ “%s”"
 
-#: builtin/pack-objects.c:2891
+#: builtin/pack-objects.c:2916
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2897
+#: builtin/pack-objects.c:2922
 msgid "inconsistency with delta count"
 msgstr "mâu thuẫn với số lượng delta"
 
-#: builtin/pack-objects.c:2976
+#: builtin/pack-objects.c:3001
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -18486,7 +18781,7 @@ msgstr ""
 "giá trị của uploadpack.blobpackfileuri phải có dạng “<object-hash> <pack-"
 "hash> <uri>” (nhận “%s”)"
 
-#: builtin/pack-objects.c:2979
+#: builtin/pack-objects.c:3004
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
@@ -18494,7 +18789,17 @@ msgstr ""
 "đối tượng đã được cấu hình trong một uploadpack.blobpackfileuri khác (đã "
 "nhận “%s”)"
 
-#: builtin/pack-objects.c:3008
+#: builtin/pack-objects.c:3039
+#, c-format
+msgid "could not get type of object %s in pack %s"
+msgstr "không thể lấy kiểu của đối tượng “%s” trong gói “%s”"
+
+#: builtin/pack-objects.c:3161 builtin/pack-objects.c:3175
+#, c-format
+msgid "could not find pack '%s'"
+msgstr "không thể tìm thấy gói “%s”"
+
+#: builtin/pack-objects.c:3218
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -18503,7 +18808,7 @@ msgstr ""
 "cần ID đối tượng cạnh, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:3014
+#: builtin/pack-objects.c:3224
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -18512,236 +18817,248 @@ msgstr ""
 "cần ID đối tượng, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:3112
+#: builtin/pack-objects.c:3322
 msgid "invalid value for --missing"
 msgstr "giá trị cho --missing không hợp lệ"
 
-#: builtin/pack-objects.c:3171 builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3381 builtin/pack-objects.c:3490
 msgid "cannot open pack index"
 msgstr "không thể mở mục lục của gói"
 
-#: builtin/pack-objects.c:3202
+#: builtin/pack-objects.c:3412
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "đối tượng mất tại %s không thể đã kiểm tra"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3498
 msgid "unable to force loose object"
 msgstr "không thể buộc mất đối tượng"
 
-#: builtin/pack-objects.c:3380
+#: builtin/pack-objects.c:3628
 #, c-format
 msgid "not a rev '%s'"
 msgstr "không phải một rev “%s”"
 
-#: builtin/pack-objects.c:3383
+#: builtin/pack-objects.c:3631
 #, c-format
 msgid "bad revision '%s'"
 msgstr "điểm xem xét sai “%s”"
 
-#: builtin/pack-objects.c:3408
+#: builtin/pack-objects.c:3659
 msgid "unable to add recent objects"
 msgstr "không thể thêm các đối tượng mới dùng"
 
-#: builtin/pack-objects.c:3461
+#: builtin/pack-objects.c:3712
 #, c-format
 msgid "unsupported index version %s"
 msgstr "phiên bản mục lục không được hỗ trợ %s"
 
-#: builtin/pack-objects.c:3465
+#: builtin/pack-objects.c:3716
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:3503
+#: builtin/pack-objects.c:3755
 msgid "<version>[,<offset>]"
 msgstr "<phiên bản>[,offset]"
 
-#: builtin/pack-objects.c:3504
+#: builtin/pack-objects.c:3756
 msgid "write the pack index file in the specified idx format version"
 msgstr "ghi tập tin bảng mục lục gói (pack) ở phiên bản định dạng idx đã cho"
 
-#: builtin/pack-objects.c:3507
+#: builtin/pack-objects.c:3759
 msgid "maximum size of each output pack file"
 msgstr "kcíh thước tối đa cho tập tin gói được tạo"
 
-#: builtin/pack-objects.c:3509
+#: builtin/pack-objects.c:3761
 msgid "ignore borrowed objects from alternate object store"
 msgstr "bỏ qua các đối tượng vay mượn từ kho đối tượng thay thế"
 
-#: builtin/pack-objects.c:3511
+#: builtin/pack-objects.c:3763
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:3513
+#: builtin/pack-objects.c:3765
 msgid "limit pack window by objects"
 msgstr "giới hạn cửa sổ đóng gói theo đối tượng"
 
-#: builtin/pack-objects.c:3515
+#: builtin/pack-objects.c:3767
 msgid "limit pack window by memory in addition to object limit"
 msgstr "giới hạn cửa sổ đóng gói theo bộ nhớ cộng thêm với giới hạn đối tượng"
 
-#: builtin/pack-objects.c:3517
+#: builtin/pack-objects.c:3769
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "độ dài tối đa của chuỗi móc xích “delta” được phép trong gói kết quả"
 
-#: builtin/pack-objects.c:3519
+#: builtin/pack-objects.c:3771
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:3521
+#: builtin/pack-objects.c:3773
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:3523
+#: builtin/pack-objects.c:3775
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:3525
+#: builtin/pack-objects.c:3777
 msgid "use threads when searching for best delta matches"
 msgstr "sử dụng các tuyến trình khi tìm kiếm cho các mẫu khớp delta tốt nhất"
 
-#: builtin/pack-objects.c:3527
+#: builtin/pack-objects.c:3779
 msgid "do not create an empty pack output"
 msgstr "không thể tạo kết xuất gói trống rỗng"
 
-#: builtin/pack-objects.c:3529
+#: builtin/pack-objects.c:3781
 msgid "read revision arguments from standard input"
 msgstr "đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:3531
+#: builtin/pack-objects.c:3783
 msgid "limit the objects to those that are not yet packed"
 msgstr "giới hạn các đối tượng thành những cái mà chúng vẫn chưa được đóng gói"
 
-#: builtin/pack-objects.c:3534
+#: builtin/pack-objects.c:3786
 msgid "include objects reachable from any reference"
 msgstr "bao gồm các đối tượng có thể đọc được từ bất kỳ tham chiếu nào"
 
-#: builtin/pack-objects.c:3537
+#: builtin/pack-objects.c:3789
 msgid "include objects referred by reflog entries"
 msgstr "bao gồm các đối tượng được tham chiếu bởi các mục reflog"
 
-#: builtin/pack-objects.c:3540
+#: builtin/pack-objects.c:3792
 msgid "include objects referred to by the index"
 msgstr "bao gồm các đối tượng được tham chiếu bởi mục lục"
 
-#: builtin/pack-objects.c:3543
+#: builtin/pack-objects.c:3795
+msgid "read packs from stdin"
+msgstr "đọc các gói từ đầu vào tiêu chuẩn"
+
+#: builtin/pack-objects.c:3797
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:3545
+#: builtin/pack-objects.c:3799
 msgid "include tag objects that refer to objects to be packed"
 msgstr "bao gồm các đối tượng tham chiếu đến các đối tượng được đóng gói"
 
-#: builtin/pack-objects.c:3547
+#: builtin/pack-objects.c:3801
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3549
+#: builtin/pack-objects.c:3803
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3551
+#: builtin/pack-objects.c:3805
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 "xả nén (gỡ khỏi gói) các đối tượng không thể đọc được mới hơn <thời-gian>"
 
-#: builtin/pack-objects.c:3554
+#: builtin/pack-objects.c:3808
 msgid "use the sparse reachability algorithm"
 msgstr "sử dụng thuật toán “sparse reachability”"
 
-#: builtin/pack-objects.c:3556
+#: builtin/pack-objects.c:3810
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:3558
+#: builtin/pack-objects.c:3812
 msgid "create packs suitable for shallow fetches"
 msgstr "tạo gói để phù hợp cho lấy về nông (shallow)"
 
-#: builtin/pack-objects.c:3560
+#: builtin/pack-objects.c:3814
 msgid "ignore packs that have companion .keep file"
 msgstr "bỏ qua các gói mà nó có tập tin .keep đi kèm"
 
-#: builtin/pack-objects.c:3562
+#: builtin/pack-objects.c:3816
 msgid "ignore this pack"
 msgstr "bỏ qua gói này"
 
-#: builtin/pack-objects.c:3564
+#: builtin/pack-objects.c:3818
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:3566
+#: builtin/pack-objects.c:3820
 msgid "do not hide commits by grafts"
 msgstr "không ẩn các lần chuyển giao bởi “grafts”"
 
-#: builtin/pack-objects.c:3568
+#: builtin/pack-objects.c:3822
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "dùng mục lục ánh xạ nếu có thể được để nâng cao tốc độ đếm đối tượng"
 
-#: builtin/pack-objects.c:3570
+#: builtin/pack-objects.c:3824
 msgid "write a bitmap index together with the pack index"
 msgstr "ghi một mục lục ánh xạ cùng với mục lục gói"
 
-#: builtin/pack-objects.c:3574
+#: builtin/pack-objects.c:3828
 msgid "write a bitmap index if possible"
 msgstr "ghi mục lục ánh xạ nếu được"
 
-#: builtin/pack-objects.c:3578
+#: builtin/pack-objects.c:3832
 msgid "handling for missing objects"
 msgstr "xử lý cho thiếu đối tượng"
 
-#: builtin/pack-objects.c:3581
+#: builtin/pack-objects.c:3835
 msgid "do not pack objects in promisor packfiles"
 msgstr "không thể đóng gói các đối tượng trong các tập tin gói hứa hẹn"
 
-#: builtin/pack-objects.c:3583
+#: builtin/pack-objects.c:3837
 msgid "respect islands during delta compression"
 msgstr "tôn trọng island trong suốt quá trình nén “delta”"
 
-#: builtin/pack-objects.c:3585
+#: builtin/pack-objects.c:3839
 msgid "protocol"
 msgstr "giao thức"
 
-#: builtin/pack-objects.c:3586
+#: builtin/pack-objects.c:3840
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr "loại trừ bất kỳ cấu hình uploadpack.blobpackfileuri với giao thức này"
 
-#: builtin/pack-objects.c:3617
+#: builtin/pack-objects.c:3873
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "mức sau xích delta %d là quá sâu, buộc dùng %d"
 
-#: builtin/pack-objects.c:3622
+#: builtin/pack-objects.c:3878
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit là quá cao, ép dùng %d"
 
-#: builtin/pack-objects.c:3676
+#: builtin/pack-objects.c:3934
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 "--max-pack-size không thể được sử dụng để xây dựng một gói để vận chuyển"
 
-#: builtin/pack-objects.c:3678
+#: builtin/pack-objects.c:3936
 msgid "minimum pack size limit is 1 MiB"
 msgstr "giới hạn kích thước tối thiểu của gói là 1 MiB"
 
-#: builtin/pack-objects.c:3683
+#: builtin/pack-objects.c:3941
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin không thể được dùng để xây dựng gói đánh mục lục được"
 
-#: builtin/pack-objects.c:3686
+#: builtin/pack-objects.c:3944
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable và --unpack-unreachable xung khắc nhau"
 
-#: builtin/pack-objects.c:3692
+#: builtin/pack-objects.c:3950
 msgid "cannot use --filter without --stdout"
 msgstr "không thể dùng tùy chọn --filter mà không có --stdout"
 
-#: builtin/pack-objects.c:3752
+#: builtin/pack-objects.c:3952
+msgid "cannot use --filter with --stdin-packs"
+msgstr "không thể dùng tùy chọn --filter với --stdin-packs"
+
+#: builtin/pack-objects.c:3956
+msgid "cannot use internal rev list with --stdin-packs"
+msgstr "không thể dùng danh sách rev bên trong với --stdin-packs"
+
+#: builtin/pack-objects.c:4015
 msgid "Enumerating objects"
 msgstr "Đánh số các đối tượng"
 
-#: builtin/pack-objects.c:3783
+#: builtin/pack-objects.c:4052
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -18821,11 +19138,11 @@ msgstr "Các tùy chọn liên quan đến hòa trộn"
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trộn"
 
-#: builtin/pull.c:158 builtin/rebase.c:492 builtin/revert.c:126
+#: builtin/pull.c:158 builtin/rebase.c:491 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
-#: builtin/pull.c:167 parse-options.h:339
+#: builtin/pull.c:167 parse-options.h:340
 msgid "automatically stash/stash pop before and after"
 msgstr "tự động stash/stash pop trước và sau"
 
@@ -18882,7 +19199,7 @@ msgstr ""
 "theo mặc định cho nhánh hiện tại của bạn, bạn phải chỉ định\n"
 "một nhánh trên dòng lệnh."
 
-#: builtin/pull.c:456 builtin/rebase.c:1253
+#: builtin/pull.c:456 builtin/rebase.c:1248
 msgid "You are not currently on a branch."
 msgstr "Hiện tại bạn chẳng ở nhánh nào cả."
 
@@ -18899,7 +19216,7 @@ msgid "See git-pull(1) for details."
 msgstr "Xem git-pull(1) để biết thêm chi tiết."
 
 #: builtin/pull.c:463 builtin/pull.c:469 builtin/pull.c:478
-#: builtin/rebase.c:1259
+#: builtin/rebase.c:1254
 msgid "<remote>"
 msgstr "<máy chủ>"
 
@@ -18907,7 +19224,7 @@ msgstr "<máy chủ>"
 msgid "<branch>"
 msgstr "<nhánh>"
 
-#: builtin/pull.c:471 builtin/rebase.c:1251
+#: builtin/pull.c:471 builtin/rebase.c:1246
 msgid "There is no tracking information for the current branch."
 msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hành."
 
@@ -19347,10 +19664,6 @@ msgstr "git range-diff [<các tùy chọn>] <old-tip>…<new-tip>"
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<các tùy chọn>] <base> <old-tip> <new-tip>"
 
-#: builtin/range-diff.c:28
-msgid "Percentage by which creation is weighted"
-msgstr "Tỷ lệ phần trăm cái tạo là weighted"
-
 #: builtin/range-diff.c:30
 msgid "use simple diff colors"
 msgstr "dùng màu diff đơn giản"
@@ -19487,188 +19800,188 @@ msgstr ""
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:195 builtin/rebase.c:219 builtin/rebase.c:246
+#: builtin/rebase.c:194 builtin/rebase.c:218 builtin/rebase.c:245
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "danh sách cần làm không dùng được: “%s”"
 
-#: builtin/rebase.c:312
+#: builtin/rebase.c:311
 #, c-format
 msgid "could not create temporary %s"
 msgstr "không thể tạo %s tạm thời"
 
-#: builtin/rebase.c:318
+#: builtin/rebase.c:317
 msgid "could not mark as interactive"
 msgstr "không thể đánh dấu là tương tác"
 
-#: builtin/rebase.c:371
+#: builtin/rebase.c:370
 msgid "could not generate todo list"
 msgstr "không thể tạo danh sách cần làm"
 
-#: builtin/rebase.c:413
+#: builtin/rebase.c:412
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "lần chuyển giao cơ sỏ phải được chỉ định với --upstream hoặc --onto"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:481
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<các tùy chọn>]"
 
-#: builtin/rebase.c:495 builtin/rebase.c:1394
+#: builtin/rebase.c:494 builtin/rebase.c:1389
 msgid "keep commits which start empty"
 msgstr "bỏ qua các lần chuyển giao mà nó bắt đầu trống rỗng"
 
-#: builtin/rebase.c:499 builtin/revert.c:128
+#: builtin/rebase.c:498 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:501
+#: builtin/rebase.c:500
 msgid "rebase merge commits"
 msgstr "cải tổ các lần chuyển giao hòa trộn"
 
-#: builtin/rebase.c:503
+#: builtin/rebase.c:502
 msgid "keep original branch points of cousins"
 msgstr "giữ các điểm nhánh nguyên bản của các anh em họ"
 
-#: builtin/rebase.c:505
+#: builtin/rebase.c:504
 msgid "move commits that begin with squash!/fixup!"
 msgstr "di chuyển các lần chuyển giao bắt đầu bằng squash!/fixup!"
 
-#: builtin/rebase.c:506
+#: builtin/rebase.c:505
 msgid "sign commits"
 msgstr "ký các lần chuyển giao"
 
-#: builtin/rebase.c:508 builtin/rebase.c:1333
+#: builtin/rebase.c:507 builtin/rebase.c:1328
 msgid "display a diffstat of what changed upstream"
 msgstr "hiển thị một diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:510
+#: builtin/rebase.c:509
 msgid "continue rebase"
 msgstr "tiếp tục cải tổ"
 
-#: builtin/rebase.c:512
+#: builtin/rebase.c:511
 msgid "skip commit"
 msgstr "bỏ qua lần chuyển giao"
 
-#: builtin/rebase.c:513
+#: builtin/rebase.c:512
 msgid "edit the todo list"
 msgstr "sửa danh sách cần làm"
 
-#: builtin/rebase.c:515
+#: builtin/rebase.c:514
 msgid "show the current patch"
 msgstr "hiển thị miếng vá hiện hành"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:517
 msgid "shorten commit ids in the todo list"
 msgstr "rút ngắn mã chuyển giao trong danh sách cần làm"
 
-#: builtin/rebase.c:520
+#: builtin/rebase.c:519
 msgid "expand commit ids in the todo list"
 msgstr "khai triển mã chuyển giao trong danh sách cần làm"
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:521
 msgid "check the todo list"
 msgstr "kiểm tra danh sách cần làm"
 
-#: builtin/rebase.c:524
+#: builtin/rebase.c:523
 msgid "rearrange fixup/squash lines"
 msgstr "sắp xếp lại các dòng fixup/squash"
 
-#: builtin/rebase.c:526
+#: builtin/rebase.c:525
 msgid "insert exec commands in todo list"
 msgstr "chèn các lệnh thực thi trong danh sách cần làm"
 
-#: builtin/rebase.c:527
+#: builtin/rebase.c:526
 msgid "onto"
 msgstr "lên trên"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:529
 msgid "restrict-revision"
 msgstr "điểm-xét-duyệt-hạn-chế"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:529
 msgid "restrict revision"
 msgstr "điểm xét duyệt hạn chế"
 
-#: builtin/rebase.c:532
+#: builtin/rebase.c:531
 msgid "squash-onto"
 msgstr "squash-lên-trên"
 
-#: builtin/rebase.c:533
+#: builtin/rebase.c:532
 msgid "squash onto"
 msgstr "squash lên trên"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:534
 msgid "the upstream commit"
 msgstr "lần chuyển giao thượng nguồn"
 
-#: builtin/rebase.c:537
+#: builtin/rebase.c:536
 msgid "head-name"
 msgstr "tên-đầu"
 
-#: builtin/rebase.c:537
+#: builtin/rebase.c:536
 msgid "head name"
 msgstr "tên đầu"
 
-#: builtin/rebase.c:542
+#: builtin/rebase.c:541
 msgid "rebase strategy"
 msgstr "chiến lược cải tổ"
 
-#: builtin/rebase.c:543
+#: builtin/rebase.c:542
 msgid "strategy-opts"
 msgstr "tùy-chọn-chiến-lược"
 
-#: builtin/rebase.c:544
+#: builtin/rebase.c:543
 msgid "strategy options"
 msgstr "các tùy chọn chiến lược"
 
-#: builtin/rebase.c:545
+#: builtin/rebase.c:544
 msgid "switch-to"
 msgstr "chuyển-đến"
 
-#: builtin/rebase.c:546
+#: builtin/rebase.c:545
 msgid "the branch or commit to checkout"
 msgstr "nhánh hay lần chuyển giao lần lấy ra"
 
-#: builtin/rebase.c:547
+#: builtin/rebase.c:546
 msgid "onto-name"
 msgstr "onto-name"
 
-#: builtin/rebase.c:547
+#: builtin/rebase.c:546
 msgid "onto name"
 msgstr "tên lên trên"
 
-#: builtin/rebase.c:548
+#: builtin/rebase.c:547
 msgid "cmd"
 msgstr "lệnh"
 
-#: builtin/rebase.c:548
+#: builtin/rebase.c:547
 msgid "the command to run"
 msgstr "lệnh muốn chạy"
 
-#: builtin/rebase.c:551 builtin/rebase.c:1427
+#: builtin/rebase.c:550 builtin/rebase.c:1422
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "lập lịch lại một cách tự động bất kỳ “exec“ bị lỗi"
 
-#: builtin/rebase.c:567
+#: builtin/rebase.c:566
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins không có tác dụng khi không có --rebase-merges"
 
-#: builtin/rebase.c:583
+#: builtin/rebase.c:582
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s cần một ứng dụng hòa trộn chạy phía sau"
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:625
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "không thể đặt lấy “onto”: “%s”"
 
-#: builtin/rebase.c:643
+#: builtin/rebase.c:642
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head không hợp lệ: “%s”"
 
-#: builtin/rebase.c:668
+#: builtin/rebase.c:667
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "đang bỏ qua allow_rerere_autoupdate không hợp lệ: “%s”"
@@ -19707,7 +20020,7 @@ msgstr ""
 "\n"
 "Kết quả là git không thể cải tổ lại chúng."
 
-#: builtin/rebase.c:1227
+#: builtin/rebase.c:1222
 #, c-format
 msgid ""
 "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
@@ -19716,7 +20029,7 @@ msgstr ""
 "kiểu rỗng không được nhận dạng “%s”; giá trị hợp lệ là \"drop\", \"keep\", "
 "và \"ask\"."
 
-#: builtin/rebase.c:1245
+#: builtin/rebase.c:1240
 #, c-format
 msgid ""
 "%s\n"
@@ -19733,7 +20046,7 @@ msgstr ""
 "    git rebase “<nhánh>”\n"
 "\n"
 
-#: builtin/rebase.c:1261
+#: builtin/rebase.c:1256
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -19747,196 +20060,188 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<nhánh> %s\n"
 "\n"
 
-#: builtin/rebase.c:1291
+#: builtin/rebase.c:1286
 msgid "exec commands cannot contain newlines"
 msgstr "các lệnh thực thi không thể chứa các ký tự dòng mới"
 
-#: builtin/rebase.c:1295
+#: builtin/rebase.c:1290
 msgid "empty exec command"
 msgstr "lệnh thực thi trống rỗng"
 
-#: builtin/rebase.c:1324
+#: builtin/rebase.c:1319
 msgid "rebase onto given branch instead of upstream"
 msgstr "cải tổ vào nhánh đã cho thay cho thượng nguồn"
 
-#: builtin/rebase.c:1326
+#: builtin/rebase.c:1321
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr ""
 "sử dụng các cơ sở hòa trộn của thượng nguồn và nhánh như là cơ sở hiện tại"
 
-#: builtin/rebase.c:1328
+#: builtin/rebase.c:1323
 msgid "allow pre-rebase hook to run"
 msgstr "cho phép móc (hook) pre-rebase được chạy"
 
-#: builtin/rebase.c:1330
+#: builtin/rebase.c:1325
 msgid "be quiet. implies --no-stat"
 msgstr "hãy im lặng. ý là --no-stat"
 
-#: builtin/rebase.c:1336
+#: builtin/rebase.c:1331
 msgid "do not show diffstat of what changed upstream"
 msgstr "đừng hiển thị diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:1339
+#: builtin/rebase.c:1334
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "thêm dòng Signed-off-by vào cuối cho từng lần chuyển giao"
 
-#: builtin/rebase.c:1342
+#: builtin/rebase.c:1337
 msgid "make committer date match author date"
 msgstr "làm ngày tháng chuyển giao khớp với ngày của tác giả"
 
-#: builtin/rebase.c:1344
+#: builtin/rebase.c:1339
 msgid "ignore author date and use current date"
 msgstr "bỏ qua ngày tác giả và sử dụng ngày tháng hiện tại"
 
-#: builtin/rebase.c:1346
+#: builtin/rebase.c:1341
 msgid "synonym of --reset-author-date"
 msgstr "đồng nghĩa với --reset-author-date"
 
-#: builtin/rebase.c:1348 builtin/rebase.c:1352
+#: builtin/rebase.c:1343 builtin/rebase.c:1347
 msgid "passed to 'git apply'"
 msgstr "chuyển cho “git apply”"
 
-#: builtin/rebase.c:1350
+#: builtin/rebase.c:1345
 msgid "ignore changes in whitespace"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra"
 
-#: builtin/rebase.c:1354 builtin/rebase.c:1357
+#: builtin/rebase.c:1349 builtin/rebase.c:1352
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 "cherry-pick tất cả các lần chuyển giao, ngay cả khi không có thay đổi gì"
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1354
 msgid "continue"
 msgstr "tiếp tục"
 
-#: builtin/rebase.c:1362
+#: builtin/rebase.c:1357
 msgid "skip current patch and continue"
 msgstr "bỏ qua miếng vá hiện hành và tiếp tục"
 
-#: builtin/rebase.c:1364
+#: builtin/rebase.c:1359
 msgid "abort and check out the original branch"
 msgstr "bãi bỏ và lấy ra nhánh nguyên thủy"
 
-#: builtin/rebase.c:1367
+#: builtin/rebase.c:1362
 msgid "abort but keep HEAD where it is"
 msgstr "bãi bỏ nhưng vẫn vẫn giữ HEAD chỉ đến nó"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1363
 msgid "edit the todo list during an interactive rebase"
 msgstr "sửa danh sách cần làm trong quá trình “rebase” (cải tổ) tương tác"
 
-#: builtin/rebase.c:1371
+#: builtin/rebase.c:1366
 msgid "show the patch file being applied or merged"
 msgstr "hiển thị miếng vá đã được áp dụng hay hòa trộn"
 
-#: builtin/rebase.c:1374
+#: builtin/rebase.c:1369
 msgid "use apply strategies to rebase"
 msgstr "dùng chiến lược áp dụng để cải tổ"
 
-#: builtin/rebase.c:1378
+#: builtin/rebase.c:1373
 msgid "use merging strategies to rebase"
 msgstr "dùng chiến lược hòa trộn để cải tổ"
 
-#: builtin/rebase.c:1382
+#: builtin/rebase.c:1377
 msgid "let the user edit the list of commits to rebase"
 msgstr "để người dùng sửa danh sách các lần chuyển giao muốn cải tổ"
 
-#: builtin/rebase.c:1386
+#: builtin/rebase.c:1381
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(ĐàLẠC HẬU) hay thử tạo lại các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1391
+#: builtin/rebase.c:1386
 msgid "how to handle commits that become empty"
 msgstr "xử lý các lần chuyển giao mà nó trở thành trống rỗng như thế nào"
 
-#: builtin/rebase.c:1398
+#: builtin/rebase.c:1393
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "di chuyển các lần chuyển giao mà bắt đầu bằng squash!/fixup! dưới -i"
 
-#: builtin/rebase.c:1405
+#: builtin/rebase.c:1400
 msgid "add exec lines after each commit of the editable list"
 msgstr "thêm các dòng thực thi sau từng lần chuyển giao của danh sách sửa được"
 
-#: builtin/rebase.c:1409
+#: builtin/rebase.c:1404
 msgid "allow rebasing commits with empty messages"
 msgstr "chấp nhận cải tổ các chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:1413
+#: builtin/rebase.c:1408
 msgid "try to rebase merges instead of skipping them"
 msgstr "cố thử cải tổ các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1416
+#: builtin/rebase.c:1411
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "dùng “merge-base --fork-point” để định nghĩa lại thượng nguồn"
 
-#: builtin/rebase.c:1418
+#: builtin/rebase.c:1413
 msgid "use the given merge strategy"
 msgstr "dùng chiến lược hòa trộn đã cho"
 
-#: builtin/rebase.c:1420 builtin/revert.c:115
+#: builtin/rebase.c:1415 builtin/revert.c:115
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/rebase.c:1421
+#: builtin/rebase.c:1416
 msgid "pass the argument through to the merge strategy"
 msgstr "chuyển thao số đến chiến lược hòa trộn"
 
-#: builtin/rebase.c:1424
+#: builtin/rebase.c:1419
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "cải tổ tất các các lần chuyển giao cho đến root"
 
-#: builtin/rebase.c:1429
+#: builtin/rebase.c:1424
 msgid "apply all changes, even those already present upstream"
 msgstr ""
 "áp dụng mọi thay đổi, ngay cả khi những thứ đó đã sẵn có ở thượng nguồn"
 
-#: builtin/rebase.c:1446
-msgid ""
-"the rebase.useBuiltin support has been removed!\n"
-"See its entry in 'git help config' for details."
-msgstr ""
-"việc hỗ trợ rebase.useBuiltin đã bị xóa!\n"
-"Xem mục tin của nó trong “ git help config” để biết chi tiết."
-
-#: builtin/rebase.c:1452
+#: builtin/rebase.c:1442
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 "Hình như đang trong quá trình thực hiện lệnh “git-am”. Không thể rebase."
 
-#: builtin/rebase.c:1493
+#: builtin/rebase.c:1483
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges đã lạc hậu. Hãy dùng --rebase-merges để thay "
 "thế."
 
-#: builtin/rebase.c:1498
+#: builtin/rebase.c:1488
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "không thể kết hợp “--keep-base” với “--onto”"
 
-#: builtin/rebase.c:1500
+#: builtin/rebase.c:1490
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "không thể kết hợp “--keep-base” với “--root”"
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1494
 msgid "cannot combine '--root' with '--fork-point'"
 msgstr "không thể kết hợp “--root” với “--fork-point”"
 
-#: builtin/rebase.c:1507
+#: builtin/rebase.c:1497
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: builtin/rebase.c:1511
+#: builtin/rebase.c:1501
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: builtin/rebase.c:1534 t/helper/test-fast-rebase.c:123
+#: builtin/rebase.c:1524 t/helper/test-fast-rebase.c:123
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: builtin/rebase.c:1546
+#: builtin/rebase.c:1536
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -19944,16 +20249,16 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: builtin/rebase.c:1565
+#: builtin/rebase.c:1555
 msgid "could not discard worktree changes"
 msgstr "không thể loại bỏ các thay đổi cây-làm-việc"
 
-#: builtin/rebase.c:1584
+#: builtin/rebase.c:1574
 #, c-format
 msgid "could not move back to %s"
 msgstr "không thể quay trở lại %s"
 
-#: builtin/rebase.c:1630
+#: builtin/rebase.c:1620
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -19974,132 +20279,132 @@ msgstr ""
 "và chạy TÔI lần nữa. TÔI dừng lại trong trường hợp bạn vẫn\n"
 "có một số thứ quý giá ở đây.\n"
 
-#: builtin/rebase.c:1658
+#: builtin/rebase.c:1648
 msgid "switch `C' expects a numerical value"
 msgstr "tùy chọn “%c” cần một giá trị bằng số"
 
-#: builtin/rebase.c:1700
+#: builtin/rebase.c:1690
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Không hiểu chế độ: %s"
 
-#: builtin/rebase.c:1739
+#: builtin/rebase.c:1729
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy cần --merge hay --interactive"
 
-#: builtin/rebase.c:1769
+#: builtin/rebase.c:1759
 msgid "cannot combine apply options with merge options"
 msgstr "không thể tổ hợp các tùy chọn áp dụng với các tùy chọn hòa trộn"
 
-#: builtin/rebase.c:1782
+#: builtin/rebase.c:1772
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "Không hiểu ứng dụng chạy phía sau lệnh cải tổ: %s"
 
-#: builtin/rebase.c:1812
+#: builtin/rebase.c:1802
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec cần --exec hay --interactive"
 
-#: builtin/rebase.c:1832
+#: builtin/rebase.c:1822
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "không thể kết hợp “--preserve-merges” với “--rebase-merges”"
 
-#: builtin/rebase.c:1836
+#: builtin/rebase.c:1826
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr "không thể kết hợp “--preserve-merges” với “--reschedule-failed-exec”"
 
-#: builtin/rebase.c:1860
+#: builtin/rebase.c:1850
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "thượng nguồn không hợp lệ “%s”"
 
-#: builtin/rebase.c:1866
+#: builtin/rebase.c:1856
 msgid "Could not create new root commit"
 msgstr "Không thể tạo lần chuyển giao gốc mới"
 
-#: builtin/rebase.c:1892
+#: builtin/rebase.c:1882
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn với nhánh"
 
-#: builtin/rebase.c:1895
+#: builtin/rebase.c:1885
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn"
 
-#: builtin/rebase.c:1903
+#: builtin/rebase.c:1893
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ “%s”"
 
-#: builtin/rebase.c:1931
+#: builtin/rebase.c:1921
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "nghiêm trọng: không có nhánh/lần chuyển giao “%s” như thế"
 
-#: builtin/rebase.c:1939 builtin/submodule--helper.c:40
-#: builtin/submodule--helper.c:2414
+#: builtin/rebase.c:1929 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:2415
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/rebase.c:1950
+#: builtin/rebase.c:1940
 msgid "Could not resolve HEAD to a revision"
 msgstr "Không thể phân giải lần chuyển giao HEAD đến một điểm xét duyệt"
 
-#: builtin/rebase.c:1971
+#: builtin/rebase.c:1961
 msgid "Please commit or stash them."
 msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: builtin/rebase.c:2007
+#: builtin/rebase.c:1997
 #, c-format
 msgid "could not switch to %s"
 msgstr "không thể chuyển đến %s"
 
-#: builtin/rebase.c:2018
+#: builtin/rebase.c:2008
 msgid "HEAD is up to date."
 msgstr "HEAD đã cập nhật."
 
-#: builtin/rebase.c:2020
+#: builtin/rebase.c:2010
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi.\n"
 
-#: builtin/rebase.c:2028
+#: builtin/rebase.c:2018
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD hiện đã được cập nhật rồi, bị ép buộc rebase."
 
-#: builtin/rebase.c:2030
+#: builtin/rebase.c:2020
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi, lệnh rebase ép buộc.\n"
 
-#: builtin/rebase.c:2038
+#: builtin/rebase.c:2028
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: builtin/rebase.c:2045
+#: builtin/rebase.c:2035
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Thay đổi thành %s:\n"
 
-#: builtin/rebase.c:2048
+#: builtin/rebase.c:2038
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Thay đổi từ %s thành %s:\n"
 
-#: builtin/rebase.c:2073
+#: builtin/rebase.c:2063
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…\n"
 
-#: builtin/rebase.c:2082
+#: builtin/rebase.c:2072
 msgid "Could not detach HEAD"
 msgstr "Không thể tách rời HEAD"
 
-#: builtin/rebase.c:2091
+#: builtin/rebase.c:2081
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Chuyển-tiếp-nhanh %s đến %s.\n"
@@ -20159,11 +20464,11 @@ msgstr ""
 "\n"
 "Để chấm dứt lời nhắn này, bạn hãy đặt nó thành “refuse”."
 
-#: builtin/receive-pack.c:2481
+#: builtin/receive-pack.c:2479
 msgid "quiet"
 msgstr "im lặng"
 
-#: builtin/receive-pack.c:2495
+#: builtin/receive-pack.c:2493
 msgid "You must specify a directory."
 msgstr "Bạn phải chỉ định thư mục."
 
@@ -20398,7 +20703,7 @@ msgstr ""
 "\t%s:%d\n"
 "bây giờ tên trên máy chủ không tồn tại “%s”"
 
-#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:946
+#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:943
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Không có máy chủ nào như vậy: “%s”"
@@ -20749,114 +21054,137 @@ msgstr ""
 "không thể lấy thông tin thống kê pack-objects để mà đóng gói lại các đối "
 "tượng hứa hẹn"
 
-#: builtin/repack.c:270 builtin/repack.c:446
+#: builtin/repack.c:270 builtin/repack.c:630
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack: Đang chỉ cần các dòng ID đối tượng dạng thập lục phân đầy dủ từ pack-"
 "objects."
 
-#: builtin/repack.c:294
-msgid "could not finish pack-objects to repack promisor objects"
-msgstr "không thể hoàn tất pack-objects để đóng gói các đối tượng hứa hẹn"
+#: builtin/repack.c:294
+msgid "could not finish pack-objects to repack promisor objects"
+msgstr "không thể hoàn tất pack-objects để đóng gói các đối tượng hứa hẹn"
+
+#: builtin/repack.c:309
+#, c-format
+msgid "cannot open index for %s"
+msgstr "không thể mở mục lục cho “%s”"
+
+#: builtin/repack.c:368
+#, c-format
+msgid "pack %s too large to consider in geometric progression"
+msgstr "gói %s là quá lớn để được xem là trong tiến trình hình học"
+
+#: builtin/repack.c:401 builtin/repack.c:408 builtin/repack.c:413
+#, c-format
+msgid "pack %s too large to roll up"
+msgstr "gói %s là quá lớn để được cuộn lại"
 
-#: builtin/repack.c:322
+#: builtin/repack.c:460
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:324
+#: builtin/repack.c:462
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "giống với -a, và chỉnh sửa các đối tượng không đọc được thiếu sót"
 
-#: builtin/repack.c:327
+#: builtin/repack.c:465
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "xóa bỏ các gói dư thừa, và chạy git-prune-packed"
 
-#: builtin/repack.c:329
+#: builtin/repack.c:467
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:469
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:333
+#: builtin/repack.c:471
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:336
+#: builtin/repack.c:474
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:338
+#: builtin/repack.c:476
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:340
+#: builtin/repack.c:478
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "chuyển --delta-islands cho git-pack-objects"
 
-#: builtin/repack.c:341
+#: builtin/repack.c:479
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:342
+#: builtin/repack.c:480
 msgid "with -A, do not loosen objects older than this"
 msgstr "với -A, các đối tượng cũ hơn khoảng thời gian này thì không bị mất"
 
-#: builtin/repack.c:344
+#: builtin/repack.c:482
 msgid "with -a, repack unreachable objects"
 msgstr "với -a, đóng gói lại các đối tượng không thể đọc được"
 
-#: builtin/repack.c:346
+#: builtin/repack.c:484
 msgid "size of the window used for delta compression"
 msgstr "kích thước cửa sổ được dùng cho nén “delta”"
 
-#: builtin/repack.c:347 builtin/repack.c:353
+#: builtin/repack.c:485 builtin/repack.c:491
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:348
+#: builtin/repack.c:486
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "giống như trên, nhưng giới hạn kích thước bộ nhớ hay vì số lượng"
 
-#: builtin/repack.c:350
+#: builtin/repack.c:488
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:352
+#: builtin/repack.c:490
 msgid "limits the maximum number of threads"
 msgstr "giới hạn số lượng tối đa tuyến trình"
 
-#: builtin/repack.c:354
+#: builtin/repack.c:492
 msgid "maximum size of each packfile"
 msgstr "kích thước tối đa cho từng tập tin gói"
 
-#: builtin/repack.c:356
+#: builtin/repack.c:494
 msgid "repack objects in packs marked with .keep"
 msgstr "đóng gói lại các đối tượng trong các gói đã đánh dấu bằng .keep"
 
-#: builtin/repack.c:358
+#: builtin/repack.c:496
 msgid "do not repack this pack"
 msgstr "đừng đóng gói lại gói này"
 
-#: builtin/repack.c:368
+#: builtin/repack.c:498
+msgid "find a geometric progression with factor <N>"
+msgstr "tìm một tiến trình hình học với hệ số <N>"
+
+#: builtin/repack.c:508
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "không thể xóa các gói trong một kho đối_tượng_vĩ_đại"
 
-#: builtin/repack.c:372
+#: builtin/repack.c:512
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable và -A xung khắc nhau"
 
-#: builtin/repack.c:455
+#: builtin/repack.c:527
+msgid "--geometric is incompatible with -A, -a"
+msgstr "--geometric là xung khắc với tùy chọn -A, -a"
+
+#: builtin/repack.c:639
 msgid "Nothing new to pack."
 msgstr "Không có gì mới để mà đóng gói."
 
-#: builtin/repack.c:485
+#: builtin/repack.c:669
 #, c-format
 msgid "missing required file: %s"
 msgstr "thiếu tập tin cần thiết: %s"
 
-#: builtin/repack.c:487
+#: builtin/repack.c:671
 #, c-format
 msgid "could not unlink: %s"
 msgstr "không thể bỏ liên kết: %s"
@@ -21190,8 +21518,8 @@ msgstr "HEAD hiện giờ tại %s"
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Không thể thực hiện một %s reset ở giữa của quá trình hòa trộn."
 
-#: builtin/reset.c:295 builtin/stash.c:587 builtin/stash.c:661
-#: builtin/stash.c:685
+#: builtin/reset.c:295 builtin/stash.c:589 builtin/stash.c:663
+#: builtin/stash.c:687
 msgid "be quiet, only report errors"
 msgstr "làm việc ở chế độ im lặng, chỉ hiển thị khi có lỗi"
 
@@ -21276,19 +21604,19 @@ msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét
 msgid "Could not write new index file."
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 
-#: builtin/rev-list.c:534
+#: builtin/rev-list.c:538
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "không thể tổ hợp --exclude-promisor-objects và --missing"
 
-#: builtin/rev-list.c:595
+#: builtin/rev-list.c:599
 msgid "object filtering requires --objects"
 msgstr "lọc đối tượng yêu cầu --objects"
 
-#: builtin/rev-list.c:651
+#: builtin/rev-list.c:659
 msgid "rev-list does not support display of notes"
 msgstr "rev-list không hỗ trợ hiển thị các ghi chú"
 
-#: builtin/rev-list.c:656
+#: builtin/rev-list.c:664
 msgid "marked counting is incompatible with --objects"
 msgstr "được đánh dấu đếm là xung khắc với --objects"
 
@@ -21400,19 +21728,19 @@ msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
 msgid "keep redundant, empty commits"
 msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
 
-#: builtin/revert.c:239
+#: builtin/revert.c:237
 msgid "revert failed"
 msgstr "hoàn nguyên gặp lỗi"
 
-#: builtin/revert.c:252
+#: builtin/revert.c:250
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
-#: builtin/rm.c:19
+#: builtin/rm.c:20
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<các tùy chọn>] [--] <tập-tin>…"
 
-#: builtin/rm.c:207
+#: builtin/rm.c:208
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -21423,7 +21751,7 @@ msgstr[0] ""
 "các tập tin sau đây có khác biệt nội dung đã đưa lên bệ phóng\n"
 "từ cả tập tin và cả HEAD:"
 
-#: builtin/rm.c:212
+#: builtin/rm.c:213
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -21431,12 +21759,12 @@ msgstr ""
 "\n"
 "(dùng -f để buộc gỡ bỏ)"
 
-#: builtin/rm.c:216
+#: builtin/rm.c:217
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "các tập tin sau đây có thay đổi trạng thái trong bảng mục lục:"
 
-#: builtin/rm.c:220 builtin/rm.c:229
+#: builtin/rm.c:221 builtin/rm.c:230
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -21444,46 +21772,46 @@ msgstr ""
 "\n"
 "(dùng tùy chọn --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
 
-#: builtin/rm.c:226
+#: builtin/rm.c:227
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "những tập tin sau đây có những thay đổi nội bộ:"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "do not list removed files"
 msgstr "không liệt kê các tập tin đã gỡ bỏ"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "only remove from the index"
 msgstr "chỉ gỡ bỏ từ mục lục"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "override the up-to-date check"
 msgstr "ghi đè lên kiểm tra cập nhật"
 
-#: builtin/rm.c:246
+#: builtin/rm.c:247
 msgid "allow recursive removal"
 msgstr "cho phép gỡ bỏ đệ qui"
 
-#: builtin/rm.c:248
+#: builtin/rm.c:249
 msgid "exit with a zero status even if nothing matched"
 msgstr "thoát ra với trạng thái khác không thậm chí nếu không có gì khớp"
 
-#: builtin/rm.c:282
+#: builtin/rm.c:283
 msgid "No pathspec was given. Which files should I remove?"
 msgstr "Không đưa ra đặc tả đường dẫn. Tôi nên loại bỏ các tập tin nào?"
 
-#: builtin/rm.c:305
+#: builtin/rm.c:310
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "hãy đưa các thay đổi của bạn vào .gitmodules hay tạm cất chúng đi để xử lý"
 
-#: builtin/rm.c:323
+#: builtin/rm.c:331
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "không thể gỡ bỏ “%s” một cách đệ qui mà không có tùy chọn -r"
 
-#: builtin/rm.c:362
+#: builtin/rm.c:379
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: không thể gỡ bỏ %s"
@@ -21763,104 +22091,112 @@ msgstr ""
 "hiển thị các tham chiếu từ đầu vào tiêu chuẩn (stdin) cái mà không ở kho nội "
 "bộ"
 
-#: builtin/sparse-checkout.c:21
+#: builtin/sparse-checkout.c:22
 msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
 msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <các-tùy-chọn>"
 
-#: builtin/sparse-checkout.c:45
+#: builtin/sparse-checkout.c:46
 msgid "git sparse-checkout list"
 msgstr "git sparse-checkout list"
 
-#: builtin/sparse-checkout.c:71
+#: builtin/sparse-checkout.c:72
 msgid "this worktree is not sparse (sparse-checkout file may not exist)"
 msgstr ""
 "không thể phân tích cú pháp cây làm việc này (tập tin sparse-checkout có lẽ "
 "không tồn tại)"
 
-#: builtin/sparse-checkout.c:223
+#: builtin/sparse-checkout.c:227
 msgid "failed to create directory for sparse-checkout file"
 msgstr "gặp lỗi khi tạo thư mục cho tập tin sparse-checkout"
 
-#: builtin/sparse-checkout.c:264
+#: builtin/sparse-checkout.c:268
 msgid "unable to upgrade repository format to enable worktreeConfig"
 msgstr "không thể nâng cấp định dạng kho lưu trữ để kích hoạt worktreeConfig"
 
-#: builtin/sparse-checkout.c:266
+#: builtin/sparse-checkout.c:270
 msgid "failed to set extensions.worktreeConfig setting"
 msgstr "gặp lỗi khi đặt cài đặt extensions.worktreeConfig"
 
-#: builtin/sparse-checkout.c:283
-msgid "git sparse-checkout init [--cone]"
-msgstr "git sparse-checkout init [--cone]"
+#: builtin/sparse-checkout.c:290
+msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
 
-#: builtin/sparse-checkout.c:302
+#: builtin/sparse-checkout.c:310
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "khởi tạo sparse-checkout trong chế độ nón"
 
-#: builtin/sparse-checkout.c:339
+#: builtin/sparse-checkout.c:312
+msgid "toggle the use of a sparse index"
+msgstr "bật tắt việc sử dụng một \"sparse index\""
+
+#: builtin/sparse-checkout.c:340
+msgid "failed to modify sparse-index config"
+msgstr "gặp lỗi khi sửa cấu hình \"sparse-index\""
+
+#: builtin/sparse-checkout.c:361
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: builtin/sparse-checkout.c:396
+#: builtin/sparse-checkout.c:419
 #, c-format
 msgid "could not normalize path %s"
 msgstr "không thể thường hóa đường dẫn “%s”"
 
-#: builtin/sparse-checkout.c:408
+#: builtin/sparse-checkout.c:431
 msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
 msgstr "git sparse-checkout (set|add) (--stdin | <các mẫu>)"
 
-#: builtin/sparse-checkout.c:433
+#: builtin/sparse-checkout.c:456
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "không thể bỏ trích dẫn chuỗi kiểu C “%s”"
 
-#: builtin/sparse-checkout.c:487 builtin/sparse-checkout.c:511
+#: builtin/sparse-checkout.c:510 builtin/sparse-checkout.c:534
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "không thể tải các mẫu sparse-checkout"
 
-#: builtin/sparse-checkout.c:556
+#: builtin/sparse-checkout.c:579
 msgid "read patterns from standard in"
 msgstr "đọc các mẫu từ đầu vào tiêu chuẩn"
 
-#: builtin/sparse-checkout.c:571
+#: builtin/sparse-checkout.c:594
 msgid "git sparse-checkout reapply"
 msgstr "git sparse-checkout reapply"
 
-#: builtin/sparse-checkout.c:590
+#: builtin/sparse-checkout.c:613
 msgid "git sparse-checkout disable"
 msgstr "git sparse-checkout disable"
 
-#: builtin/sparse-checkout.c:618
+#: builtin/sparse-checkout.c:644
 msgid "error while refreshing working directory"
 msgstr "gặp lỗi khi đọc lại thư mục làm việc"
 
-#: builtin/stash.c:22 builtin/stash.c:38
+#: builtin/stash.c:24 builtin/stash.c:40
 msgid "git stash list [<options>]"
 msgstr "git stash list [<các tùy chọn>]"
 
-#: builtin/stash.c:23 builtin/stash.c:43
+#: builtin/stash.c:25 builtin/stash.c:45
 msgid "git stash show [<options>] [<stash>]"
 msgstr "git stash show [<các tùy chọn>] <stash>"
 
-#: builtin/stash.c:24 builtin/stash.c:48
+#: builtin/stash.c:26 builtin/stash.c:50
 msgid "git stash drop [-q|--quiet] [<stash>]"
 msgstr "git stash drop [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:25
+#: builtin/stash.c:27
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:26 builtin/stash.c:63
+#: builtin/stash.c:28 builtin/stash.c:65
 msgid "git stash branch <branchname> [<stash>]"
 msgstr "git stash branch <tên-nhánh> [<stash>]"
 
-#: builtin/stash.c:27 builtin/stash.c:68
+#: builtin/stash.c:29 builtin/stash.c:70
 msgid "git stash clear"
 msgstr "git stash clear"
 
-#: builtin/stash.c:28
+#: builtin/stash.c:30
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
@@ -21872,7 +22208,7 @@ msgstr ""
 "          [--pathspec-from-file=<tập_tin> [--pathspec-file-nul]]\n"
 "          [--] [<đặc/tả/đường/dẫn>…]]"
 
-#: builtin/stash.c:32 builtin/stash.c:85
+#: builtin/stash.c:34 builtin/stash.c:87
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
@@ -21880,19 +22216,19 @@ msgstr ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<ghi chú>]"
 
-#: builtin/stash.c:53
+#: builtin/stash.c:55
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:58
+#: builtin/stash.c:60
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
 
-#: builtin/stash.c:73
+#: builtin/stash.c:75
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <ghi chú>] [-q|--quiet] <commit>"
 
-#: builtin/stash.c:78
+#: builtin/stash.c:80
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
@@ -21902,30 +22238,30 @@ msgstr ""
 "          [-u|--include-untracked] [-a|--all] [-m|--message <lời nhắn>]\n"
 "          [--] [<đặc/tả/đường/dẫn>…]]"
 
-#: builtin/stash.c:128
+#: builtin/stash.c:130
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "“%s” không phải là lần chuyển giao kiểu-stash (cất đi)"
 
-#: builtin/stash.c:148
+#: builtin/stash.c:150
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "Chỉ ra quá nhiều điểm xét duyệt: %s"
 
-#: builtin/stash.c:162
+#: builtin/stash.c:164
 msgid "No stash entries found."
 msgstr "Không tìm thấy các mục tạm cất (stash) nào."
 
-#: builtin/stash.c:176
+#: builtin/stash.c:178
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "“%s” không phải một tham chiếu hợp lệ"
 
-#: builtin/stash.c:225
+#: builtin/stash.c:227
 msgid "git stash clear with arguments is unimplemented"
 msgstr "git stash clear với các tham số là chưa được thực hiện"
 
-#: builtin/stash.c:429
+#: builtin/stash.c:431
 #, c-format
 msgid ""
 "WARNING: Untracked file in way of tracked file!  Renaming\n"
@@ -21936,150 +22272,166 @@ msgstr ""
 "            %s -> %s\n"
 "         để nhường chỗ.\n"
 
-#: builtin/stash.c:490
+#: builtin/stash.c:492
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "không thể áp dụng một stash ở giữa của quá trình hòa trộn"
 
-#: builtin/stash.c:501
+#: builtin/stash.c:503
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "không thể tạo diff %s^!."
 
-#: builtin/stash.c:508
+#: builtin/stash.c:510
 msgid "conflicts in index. Try without --index."
 msgstr "xung đột trong bảng mục lục. Hãy thử mà không dùng tùy chọn --index."
 
-#: builtin/stash.c:514
+#: builtin/stash.c:516
 msgid "could not save index tree"
 msgstr "không thể ghi lại cây chỉ mục"
 
-#: builtin/stash.c:523
+#: builtin/stash.c:525
 msgid "could not restore untracked files from stash"
 msgstr "không thể phục hồi các tập tin chưa theo dõi từ mục cất đi (stash)"
 
-#: builtin/stash.c:537
+#: builtin/stash.c:539
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Đang hòa trộn %s với %s"
 
-#: builtin/stash.c:547
+#: builtin/stash.c:549
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: builtin/stash.c:589 builtin/stash.c:687
+#: builtin/stash.c:591 builtin/stash.c:689
 msgid "attempt to recreate the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/stash.c:633
+#: builtin/stash.c:635
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "Đã xóa %s (%s)"
 
-#: builtin/stash.c:636
+#: builtin/stash.c:638
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: Không thể xóa bỏ mục stash"
 
-#: builtin/stash.c:649
+#: builtin/stash.c:651
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "”%s” không phải tham chiếu đến stash"
 
-#: builtin/stash.c:699
+#: builtin/stash.c:701
 msgid "The stash entry is kept in case you need it again."
 msgstr "Các mục tạm cất (stash) được giữ trong trường hợp bạn lại cần nó."
 
-#: builtin/stash.c:722
+#: builtin/stash.c:724
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: builtin/stash.c:866 builtin/stash.c:903
+#: builtin/stash.c:808
+msgid "failed to parse tree"
+msgstr "gặp lỗi khi phân tích cây"
+
+#: builtin/stash.c:819
+msgid "failed to unpack trees"
+msgstr "gặp lỗi khi tháo dỡ cây"
+
+#: builtin/stash.c:839
+msgid "include untracked files in the stash"
+msgstr "bao gồm các tập tin không được theo dõi trong stash"
+
+#: builtin/stash.c:842
+msgid "only show untracked files in the stash"
+msgstr "chỉ hiển thị các tập tin không được theo dõi trong stash"
+
+#: builtin/stash.c:932 builtin/stash.c:969
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Không thể cập nhật %s với %s"
 
-#: builtin/stash.c:884 builtin/stash.c:1538 builtin/stash.c:1603
+#: builtin/stash.c:950 builtin/stash.c:1606 builtin/stash.c:1671
 msgid "stash message"
 msgstr "phần chú thích cho stash"
 
-#: builtin/stash.c:894
+#: builtin/stash.c:960
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" cần một đối số <lần chuyển giao>"
 
-#: builtin/stash.c:1109
+#: builtin/stash.c:1175
 msgid "No changes selected"
 msgstr "Chưa có thay đổi nào được chọn"
 
-#: builtin/stash.c:1209
+#: builtin/stash.c:1275
 msgid "You do not have the initial commit yet"
 msgstr "Bạn chưa còn có lần chuyển giao khởi tạo"
 
-#: builtin/stash.c:1236
+#: builtin/stash.c:1302
 msgid "Cannot save the current index state"
 msgstr "Không thể ghi lại trạng thái bảng mục lục hiện hành"
 
-#: builtin/stash.c:1245
+#: builtin/stash.c:1311
 msgid "Cannot save the untracked files"
 msgstr "Không thể ghi lại các tập tin chưa theo dõi"
 
-#: builtin/stash.c:1256 builtin/stash.c:1265
+#: builtin/stash.c:1322 builtin/stash.c:1331
 msgid "Cannot save the current worktree state"
 msgstr "Không thể ghi lại trạng thái cây-làm-việc hiện hành"
 
-#: builtin/stash.c:1293
+#: builtin/stash.c:1359
 msgid "Cannot record working tree state"
 msgstr "Không thể ghi lại trạng thái cây làm việc hiện hành"
 
-#: builtin/stash.c:1342
+#: builtin/stash.c:1408
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "Không thể dùng --patch và --include-untracked hay --all cùng một lúc"
 
-#: builtin/stash.c:1358
+#: builtin/stash.c:1426
 msgid "Did you forget to 'git add'?"
 msgstr "Có lẽ bạn đã quên “git add ” phải không?"
 
-#: builtin/stash.c:1373
+#: builtin/stash.c:1441
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: builtin/stash.c:1380
+#: builtin/stash.c:1448
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: builtin/stash.c:1395
+#: builtin/stash.c:1463
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
-#: builtin/stash.c:1400
+#: builtin/stash.c:1468
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Đã ghi lại thư mục làm việc và trạng thái mục lục %s"
 
-#: builtin/stash.c:1490
+#: builtin/stash.c:1558
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
-#: builtin/stash.c:1529 builtin/stash.c:1594
+#: builtin/stash.c:1597 builtin/stash.c:1662
 msgid "keep index"
 msgstr "giữ nguyên bảng mục lục"
 
-#: builtin/stash.c:1531 builtin/stash.c:1596
+#: builtin/stash.c:1599 builtin/stash.c:1664
 msgid "stash in patch mode"
 msgstr "cất đi ở chế độ miếng vá"
 
-#: builtin/stash.c:1532 builtin/stash.c:1597
+#: builtin/stash.c:1600 builtin/stash.c:1665
 msgid "quiet mode"
 msgstr "chế độ im lặng"
 
-#: builtin/stash.c:1534 builtin/stash.c:1599
+#: builtin/stash.c:1602 builtin/stash.c:1667
 msgid "include untracked files in stash"
 msgstr "bao gồm các tập tin không được theo dõi trong stash"
 
-#: builtin/stash.c:1536 builtin/stash.c:1601
+#: builtin/stash.c:1604 builtin/stash.c:1669
 msgid "include ignore files"
 msgstr "bao gồm các tập tin bị bỏ qua"
 
-#: builtin/stash.c:1636
+#: builtin/stash.c:1704
 msgid ""
 "the stash.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -22103,7 +22455,7 @@ msgstr "giữ và xóa bỏ mọi dòng bắt đầu bằng ký tự ghi chú"
 msgid "prepend comment character and space to each line"
 msgstr "treo trước ký tự ghi chú và ký tự khoảng trắng cho từng dòng"
 
-#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2423
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2424
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nhận được %s"
@@ -22117,7 +22469,7 @@ msgstr "submodule--helper print-default-remote takes không nhận tham số"
 msgid "cannot strip one component off url '%s'"
 msgstr "không thể cắt bỏ một thành phần ra khỏi “%s” url"
 
-#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1819
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1820
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
@@ -22125,18 +22477,18 @@ msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:629
-#: builtin/submodule--helper.c:652
+#: builtin/submodule--helper.c:473 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Không tìm thấy url cho đường dẫn mô-đun-con “%s” trong .gitmodules"
 
-#: builtin/submodule--helper.c:524
+#: builtin/submodule--helper.c:525
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Đang vào “%s”\n"
 
-#: builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:528
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -22145,7 +22497,7 @@ msgstr ""
 "run_command trả về trạng thái khác không cho %s\n"
 "."
 
-#: builtin/submodule--helper.c:549
+#: builtin/submodule--helper.c:550
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -22156,20 +22508,20 @@ msgstr ""
 "con lồng nhau của %s\n"
 "."
 
-#: builtin/submodule--helper.c:565
+#: builtin/submodule--helper.c:566
 msgid "suppress output of entering each submodule command"
 msgstr "chặn kết xuất của từng lệnh mô-đun-con"
 
-#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:888
-#: builtin/submodule--helper.c:1487
+#: builtin/submodule--helper.c:568 builtin/submodule--helper.c:889
+#: builtin/submodule--helper.c:1488
 msgid "recurse into nested submodules"
 msgstr "đệ quy vào trong mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:572
+#: builtin/submodule--helper.c:573
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--]  <lệnh>"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:600
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -22178,56 +22530,56 @@ msgstr ""
 "không thể tìm thấy cấu hình “%s”. Coi rằng đây là kho thượng nguồn có quyền "
 "sở hữu chính nó."
 
-#: builtin/submodule--helper.c:666
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:670
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:680
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "cảnh báo: chế độ lệnh cập nhật được gợi ý cho mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:687
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:709
+#: builtin/submodule--helper.c:710
 msgid "suppress output for initializing a submodule"
 msgstr "chặn kết xuất của khởi tạo một mô-đun-con"
 
-#: builtin/submodule--helper.c:714
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<các tùy chọn>] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:922
+#: builtin/submodule--helper.c:788 builtin/submodule--helper.c:923
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“%s”"
 
-#: builtin/submodule--helper.c:835
+#: builtin/submodule--helper.c:836
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "không thể phân giải tham chiếu HEAD bên trong mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1457
+#: builtin/submodule--helper.c:863 builtin/submodule--helper.c:1458
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "gặp lỗi khi đệ quy vào trong mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:886 builtin/submodule--helper.c:1623
+#: builtin/submodule--helper.c:887 builtin/submodule--helper.c:1624
 msgid "suppress submodule status output"
 msgstr "chặn kết xuất về tình trạng mô-đun-con"
 
-#: builtin/submodule--helper.c:887
+#: builtin/submodule--helper.c:888
 msgid ""
 "use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -22235,103 +22587,103 @@ msgstr ""
 "dùng lần chuyển giao lưu trong mục lục thay cho cái được lưu trong HEAD mô-"
 "đun-con"
 
-#: builtin/submodule--helper.c:893
+#: builtin/submodule--helper.c:894
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 "git submodule status [--quiet] [--cached] [--recursive] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:917
+#: builtin/submodule--helper.c:918
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:989
+#: builtin/submodule--helper.c:990
 #, c-format
 msgid "* %s %s(blob)->%s(submodule)"
 msgstr ""
 "* %s %s(blob)->%s(\n"
 ")"
 
-#: builtin/submodule--helper.c:992
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "* %s %s(submodule)->%s(blob)"
 msgstr "* %s %s(mô-đun-con)->%s(blob)"
 
-#: builtin/submodule--helper.c:1005
+#: builtin/submodule--helper.c:1006
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1056
 #, c-format
 msgid "couldn't hash object from '%s'"
 msgstr "không thể băm đối tượng từ “%s”"
 
-#: builtin/submodule--helper.c:1059
+#: builtin/submodule--helper.c:1060
 #, c-format
 msgid "unexpected mode %o\n"
 msgstr "gặp chế độ không như mong chờ %o\n"
 
-#: builtin/submodule--helper.c:1300
+#: builtin/submodule--helper.c:1301
 msgid "use the commit stored in the index instead of the submodule HEAD"
 msgstr "hùng lần chuyển giao đã lưu trong mục lục thay cho HEAD mô-đun-con"
 
-#: builtin/submodule--helper.c:1302
+#: builtin/submodule--helper.c:1303
 msgid "to compare the commit in the index with that in the submodule HEAD"
 msgstr ""
 "để so sánh lần chuyển giao lưu trong mục lục với cái trong HEAD mô-đun-con"
 
-#: builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1305
 msgid "skip submodules with 'ignore_config' value set to 'all'"
 msgstr ""
 "bỏ qua các mô-đun-con với giá trị của “ignore_config” được đặt thành “all”"
 
-#: builtin/submodule--helper.c:1306
+#: builtin/submodule--helper.c:1307
 msgid "limit the summary size"
 msgstr "giới hạn kích cỡ tổng hợp"
 
-#: builtin/submodule--helper.c:1311
+#: builtin/submodule--helper.c:1312
 msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 msgstr ""
 "git submodule--helper summary [<các tùy chọn>] [<lần_chuyển_giao>] [--] [</"
 "đường/dẫn>]"
 
-#: builtin/submodule--helper.c:1335
+#: builtin/submodule--helper.c:1336
 msgid "could not fetch a revision for HEAD"
 msgstr "không thể lấy về một điểm xem xét cho HEAD"
 
-#: builtin/submodule--helper.c:1340
+#: builtin/submodule--helper.c:1341
 msgid "--cached and --files are mutually exclusive"
 msgstr "Các tùy chọn --cached và --files loại từ lẫn nhau"
 
-#: builtin/submodule--helper.c:1407
+#: builtin/submodule--helper.c:1408
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Url mô-đun-con đồng bộ hóa cho “%s”\n"
 
-#: builtin/submodule--helper.c:1413
+#: builtin/submodule--helper.c:1414
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1427
+#: builtin/submodule--helper.c:1428
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "gặp lỗi khi lấy máy chủ mặc định cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1439
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "gặp lỗi khi cập nhật cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1485
+#: builtin/submodule--helper.c:1486
 msgid "suppress output of synchronizing submodule url"
 msgstr "chặn kết xuất của url mô-đun-con đồng bộ"
 
-#: builtin/submodule--helper.c:1492
+#: builtin/submodule--helper.c:1493
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:1546
+#: builtin/submodule--helper.c:1547
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -22340,7 +22692,7 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” có chứa thư mục .git (dùng “rm -rf” nếu bạn "
 "thực sự muốn gỡ bỏ nó cùng với toàn bộ lịch sử của chúng)"
 
-#: builtin/submodule--helper.c:1558
+#: builtin/submodule--helper.c:1559
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -22349,45 +22701,45 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” chứa các thay đổi nội bộ; hãy dùng “-f” để loại "
 "bỏ chúng đi"
 
-#: builtin/submodule--helper.c:1566
+#: builtin/submodule--helper.c:1567
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Đã xóa thư mục “%s”\n"
 
-#: builtin/submodule--helper.c:1568
+#: builtin/submodule--helper.c:1569
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Không thể gỡ bỏ cây làm việc mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:1579
+#: builtin/submodule--helper.c:1580
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "không thể tạo thư mục mô-đun-con rỗng “%s”"
 
-#: builtin/submodule--helper.c:1595
+#: builtin/submodule--helper.c:1596
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:1624
+#: builtin/submodule--helper.c:1625
 msgid "remove submodule working trees even if they contain local changes"
 msgstr "gỡ bỏ cây làm việc của mô-đun-con ngay cả khi nó có thay đổi nội bộ"
 
-#: builtin/submodule--helper.c:1625
+#: builtin/submodule--helper.c:1626
 msgid "unregister all submodules"
 msgstr "bỏ đăng ký tất cả các trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1630
+#: builtin/submodule--helper.c:1631
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--]  [</đường/dẫn>…]]"
 
-#: builtin/submodule--helper.c:1644
+#: builtin/submodule--helper.c:1645
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Dùng “--all” nếu bạn thực sự muốn hủy khởi tạo mọi mô-đun-con"
 
-#: builtin/submodule--helper.c:1713
+#: builtin/submodule--helper.c:1714
 msgid ""
 "An alternate computed from a superproject's alternate is invalid.\n"
 "To allow Git to clone without an alternate in such a case, set\n"
@@ -22402,46 +22754,46 @@ msgstr ""
 "bằng\n"
 "“--reference-if-able” thay vì dùng “--reference”."
 
-#: builtin/submodule--helper.c:1752 builtin/submodule--helper.c:1755
+#: builtin/submodule--helper.c:1753 builtin/submodule--helper.c:1756
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "mô-đun-con “%s” không thể thêm thay thế: %s"
 
-#: builtin/submodule--helper.c:1791
+#: builtin/submodule--helper.c:1792
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateErrorStrategy không được thừa nhận"
 
-#: builtin/submodule--helper.c:1798
+#: builtin/submodule--helper.c:1799
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateLocation không được thừa nhận"
 
-#: builtin/submodule--helper.c:1822
+#: builtin/submodule--helper.c:1823
 msgid "where the new submodule will be cloned to"
 msgstr "nhân bản mô-đun-con mới vào chỗ nào"
 
-#: builtin/submodule--helper.c:1825
+#: builtin/submodule--helper.c:1826
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:1828
+#: builtin/submodule--helper.c:1829
 msgid "url where to clone the submodule from"
 msgstr "url nơi mà nhân bản mô-đun-con từ đó"
 
-#: builtin/submodule--helper.c:1836
+#: builtin/submodule--helper.c:1837
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:1839 builtin/submodule--helper.c:2348
+#: builtin/submodule--helper.c:1840 builtin/submodule--helper.c:2349
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1841 builtin/submodule--helper.c:2350
+#: builtin/submodule--helper.c:1842 builtin/submodule--helper.c:2351
 msgid "disallow cloning into non-empty directory"
 msgstr "làm đầy đủ dữ liệu cho bản sao vào trong một thư mục trống rỗng"
 
-#: builtin/submodule--helper.c:1848
+#: builtin/submodule--helper.c:1849
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
@@ -22451,105 +22803,105 @@ msgstr ""
 "<kho>] [--name <tên>] [--depth <sâu>] [--single-branch] [--url <url>] --path "
 "</đường/dẫn>"
 
-#: builtin/submodule--helper.c:1873
+#: builtin/submodule--helper.c:1874
 #, c-format
 msgid "refusing to create/use '%s' in another submodule's git dir"
 msgstr "từ chối tạo/dùng “%s” trong một thư mục git của mô đun con"
 
-#: builtin/submodule--helper.c:1884
+#: builtin/submodule--helper.c:1885
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "việc sao “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:1888
+#: builtin/submodule--helper.c:1889
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "thư mục không trống: “%s”"
 
-#: builtin/submodule--helper.c:1900
+#: builtin/submodule--helper.c:1901
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "không thể lấy thư mục mô-đun-con cho “%s”"
 
-#: builtin/submodule--helper.c:1936
+#: builtin/submodule--helper.c:1937
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "Chế độ cập nhật “%s” không hợp lệ cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1940
+#: builtin/submodule--helper.c:1941
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Chế độ cập nhật “%s” không hợp lệ được cấu hình cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2041
+#: builtin/submodule--helper.c:2042
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Đường dẫn mô-đun-con “%s” chưa được khởi tạo"
 
-#: builtin/submodule--helper.c:2045
+#: builtin/submodule--helper.c:2046
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Có lẽ bạn là bạn muốn dùng \"update --init\" phải không?"
 
-#: builtin/submodule--helper.c:2075
+#: builtin/submodule--helper.c:2076
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Bỏ qua các mô-đun-con chưa được hòa trộn %s"
 
-#: builtin/submodule--helper.c:2104
+#: builtin/submodule--helper.c:2105
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2254
+#: builtin/submodule--helper.c:2255
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Gặp lỗi khi nhân bản “%s”. Thử lại lịch trình"
 
-#: builtin/submodule--helper.c:2265
+#: builtin/submodule--helper.c:2266
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Gặp lỗi khi nhân bản “%s” lần thứ hai nên bãi bỏ"
 
-#: builtin/submodule--helper.c:2327 builtin/submodule--helper.c:2573
+#: builtin/submodule--helper.c:2328 builtin/submodule--helper.c:2574
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:2330
+#: builtin/submodule--helper.c:2331
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "đường dẫn đến cây làm việc, chéo biên giới mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:2334
+#: builtin/submodule--helper.c:2335
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:2340
+#: builtin/submodule--helper.c:2341
 msgid "create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 "tạo một bản sao nông được cắt ngắn thành số lượng điểm xét duyệt đã cho"
 
-#: builtin/submodule--helper.c:2343
+#: builtin/submodule--helper.c:2344
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:2345
+#: builtin/submodule--helper.c:2346
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "nhân bản lần đầu có nên theo khuyến nghị là nông hay không"
 
-#: builtin/submodule--helper.c:2346
+#: builtin/submodule--helper.c:2347
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:2357
+#: builtin/submodule--helper.c:2358
 msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr ""
 "git submodule--helper update-clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:2370
+#: builtin/submodule--helper.c:2371
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:2418
+#: builtin/submodule--helper.c:2419
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -22558,86 +22910,86 @@ msgstr ""
 "Nhánh mô-đun-con (%s) được cấu hình kế thừa nhánh từ siêu dự án, nhưng siêu "
 "dự án lại không trên bất kỳ nhánh nào"
 
-#: builtin/submodule--helper.c:2541
+#: builtin/submodule--helper.c:2542
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "không thể lấy thẻ quản kho cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2574
+#: builtin/submodule--helper.c:2575
 msgid "recurse into submodules"
 msgstr "đệ quy vào trong mô-đun-con"
 
-#: builtin/submodule--helper.c:2580
+#: builtin/submodule--helper.c:2581
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<các tùy chọn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:2636
+#: builtin/submodule--helper.c:2637
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "chọn nếu nó là an toàn để ghi vào tập tin .gitmodules"
 
-#: builtin/submodule--helper.c:2639
+#: builtin/submodule--helper.c:2640
 msgid "unset the config in the .gitmodules file"
 msgstr "bỏ đặt cấu hình trong tập tin .gitmodules"
 
-#: builtin/submodule--helper.c:2644
+#: builtin/submodule--helper.c:2645
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <tên> [<giá trị>]"
 
-#: builtin/submodule--helper.c:2645
+#: builtin/submodule--helper.c:2646
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <tên>"
 
-#: builtin/submodule--helper.c:2646
+#: builtin/submodule--helper.c:2647
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2665 git-submodule.sh:150
+#: builtin/submodule--helper.c:2666 git-submodule.sh:150
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "hãy đảm bảo rằng tập tin .gitmodules có trong cây làm việc"
 
-#: builtin/submodule--helper.c:2681
+#: builtin/submodule--helper.c:2682
 msgid "suppress output for setting url of a submodule"
 msgstr "chặn kết xuất cho cài đặt url của một mô-đun-con"
 
-#: builtin/submodule--helper.c:2685
+#: builtin/submodule--helper.c:2686
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
 msgstr "git submodule--helper set-url [--quiet] </đường/dẫn> <url_mới>"
 
-#: builtin/submodule--helper.c:2718
+#: builtin/submodule--helper.c:2719
 msgid "set the default tracking branch to master"
 msgstr "đặt nhánh theo dõi mặc định thành master"
 
-#: builtin/submodule--helper.c:2720
+#: builtin/submodule--helper.c:2721
 msgid "set the default tracking branch"
 msgstr "đặt nhánh theo dõi mặc định"
 
-#: builtin/submodule--helper.c:2724
+#: builtin/submodule--helper.c:2725
 msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet](-d|--default)</đường/dẫn>"
 
-#: builtin/submodule--helper.c:2725
+#: builtin/submodule--helper.c:2726
 msgid ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <nhánh> </đường/"
 "dẫn>"
 
-#: builtin/submodule--helper.c:2732
+#: builtin/submodule--helper.c:2733
 msgid "--branch or --default required"
 msgstr "cần --branch hoặc --default"
 
-#: builtin/submodule--helper.c:2735
+#: builtin/submodule--helper.c:2736
 msgid "--branch and --default are mutually exclusive"
 msgstr "Các tùy chọn --branch và --default loại từ lẫn nhau"
 
-#: builtin/submodule--helper.c:2792 git.c:441 git.c:714
+#: builtin/submodule--helper.c:2793 git.c:449 git.c:724
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
 
-#: builtin/submodule--helper.c:2798
+#: builtin/submodule--helper.c:2799
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "“%s” không phải là lệnh con submodule--helper hợp lệ"
@@ -22650,23 +23002,23 @@ msgstr "git symbolic-ref [<các tùy chọn>] <tên> [<t.chiếu>]"
 msgid "git symbolic-ref -d [-q] <name>"
 msgstr "git symbolic-ref -d [-q] <tên>"
 
-#: builtin/symbolic-ref.c:40
+#: builtin/symbolic-ref.c:42
 msgid "suppress error message for non-symbolic (detached) refs"
 msgstr "chặn các thông tin lỗi cho các tham chiếu “không-mềm” (bị tách ra)"
 
-#: builtin/symbolic-ref.c:41
+#: builtin/symbolic-ref.c:43
 msgid "delete symbolic ref"
 msgstr "xóa tham chiếu mềm"
 
-#: builtin/symbolic-ref.c:42
+#: builtin/symbolic-ref.c:44
 msgid "shorten ref output"
 msgstr "làm ngắn kết xuất ref (tham chiếu)"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
 msgid "reason"
 msgstr "lý do"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
+#: builtin/symbolic-ref.c:45 builtin/update-ref.c:499
 msgid "reason of the update"
 msgstr "lý do cập nhật"
 
@@ -22698,17 +23050,17 @@ msgstr ""
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 
-#: builtin/tag.c:89
+#: builtin/tag.c:100
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:124
+#: builtin/tag.c:135
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:159
+#: builtin/tag.c:170
 #, c-format
 msgid ""
 "\n"
@@ -22721,7 +23073,7 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:163
+#: builtin/tag.c:174
 #, c-format
 msgid ""
 "\n"
@@ -22736,11 +23088,11 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được giữ lại; bạn có thể xóa chúng đi "
 "nếu muốn.\n"
 
-#: builtin/tag.c:230
+#: builtin/tag.c:241
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:248
+#: builtin/tag.c:259
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -22753,140 +23105,140 @@ msgstr ""
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:264
+#: builtin/tag.c:275
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:317
+#: builtin/tag.c:328
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:324
+#: builtin/tag.c:335
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Nội dung ghi chú còn lại %s\n"
 
-#: builtin/tag.c:435
+#: builtin/tag.c:446
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:437
+#: builtin/tag.c:448
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:439
+#: builtin/tag.c:450
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:440
+#: builtin/tag.c:451
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:442
+#: builtin/tag.c:453
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:444
+#: builtin/tag.c:455
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:446
+#: builtin/tag.c:457
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:448
+#: builtin/tag.c:459
 msgid "force edit of tag message"
 msgstr "ép buộc sửa thẻ lần commit"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:460
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:463
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:464
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:454 builtin/update-ref.c:505
+#: builtin/tag.c:465 builtin/update-ref.c:505
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:456
+#: builtin/tag.c:467
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:457
+#: builtin/tag.c:468
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:458 builtin/tag.c:460
+#: builtin/tag.c:469 builtin/tag.c:471
 msgid "print only tags that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/tag.c:459 builtin/tag.c:461
+#: builtin/tag.c:470 builtin/tag.c:472
 msgid "print only tags that don't contain the commit"
 msgstr "chỉ hiển thị những thẻ mà nó không chứa lần chuyển giao"
 
-#: builtin/tag.c:462
+#: builtin/tag.c:473
 msgid "print only tags that are merged"
 msgstr "chỉ hiển thị những thẻ mà nó được hòa trộn"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:474
 msgid "print only tags that are not merged"
 msgstr "chỉ hiển thị những thẻ mà nó không được hòa trộn"
 
-#: builtin/tag.c:467
+#: builtin/tag.c:478
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:515
+#: builtin/tag.c:526
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:537
+#: builtin/tag.c:548
 msgid "-n option is only allowed in list mode"
 msgstr "tùy chọn -n chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:539
+#: builtin/tag.c:550
 msgid "--contains option is only allowed in list mode"
 msgstr "tùy chọn --contains chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:541
+#: builtin/tag.c:552
 msgid "--no-contains option is only allowed in list mode"
 msgstr "tùy chọn --no-contains chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:543
+#: builtin/tag.c:554
 msgid "--points-at option is only allowed in list mode"
 msgstr "tùy chọn --points-at chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:545
+#: builtin/tag.c:556
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 "tùy chọn --merged và --no-merged chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:556
+#: builtin/tag.c:567
 msgid "only one -F or -m option is allowed."
 msgstr "chỉ có một tùy chọn -F hoặc -m là được phép."
 
-#: builtin/tag.c:581
+#: builtin/tag.c:592
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:586
+#: builtin/tag.c:597
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:617
+#: builtin/tag.c:628
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: builtin/unpack-objects.c:502
+#: builtin/unpack-objects.c:504
 msgid "Unpacking objects"
 msgstr "Đang giải nén các đối tượng"
 
@@ -22949,147 +23301,147 @@ msgstr " Đồng ý"
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:976
 msgid "continue refresh even when index needs update"
 msgstr "tiếp tục làm mới ngay cả khi bảng mục lục cần được cập nhật"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:979
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:982
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:984
 msgid "let files replace directories and vice-versa"
 msgstr "để các tập tin thay thế các thư mục và “vice-versa”"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:986
 msgid "notice files missing from worktree"
 msgstr "thông báo các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:988
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 "làm tươi mới thậm chí khi bảng mục lục chứa các mục tin chưa được hòa trộn"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:991
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:995
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "giống --refresh, nhưng bỏ qua các cài đặt “assume-unchanged”"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:999
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1000
 msgid "add the specified entry to the index"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1010
 msgid "mark files as \"not changing\""
 msgstr "đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1013
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít assumed-unchanged (giả định là không thay đổi)"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1016
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1019
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1022
 msgid "do not touch index-only entries"
 msgstr "đừng động vào các mục index-only"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1024
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "chỉ thêm vào bảng mục lục; không thêm nội dung vào cơ sở dữ liệu đối tượng"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1026
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "gỡ bỏ các đường dẫn được đặt tên thậm chí cả khi nó hiện diện trong thư mục "
 "làm việc"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1028
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "với tùy chọn --stdin: các dòng đầu vào được chấm dứt bởi ký tự null"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1030
 msgid "read list of paths to be updated from standard input"
 msgstr "đọc danh sách đường dẫn cần cập nhật từ đầu vào tiêu chuẩn"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1034
 msgid "add entries from standard input to the index"
 msgstr "không thể đọc các mục từ đầu vào tiêu chuẩn vào bảng mục lục"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1038
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "phục hồi các trạng thái #2 và #3 cho các đường dẫn được liệt kê"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1042
 msgid "only update entries that differ from HEAD"
 msgstr "chỉ cập nhật các mục tin mà nó khác biệt so với HEAD"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1046
 msgid "ignore files missing from worktree"
 msgstr "bỏ qua các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:1047
+#: builtin/update-index.c:1049
 msgid "report actions to standard output"
 msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1051
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(cho “porcelains”) quên các xung đột chưa được giải quyết đã ghi"
 
-#: builtin/update-index.c:1053
+#: builtin/update-index.c:1055
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1057
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1059
 msgid "enable/disable untracked cache"
 msgstr "bật/tắt bộ đệm không theo vết"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1061
 msgid "test if the filesystem supports untracked cache"
 msgstr "kiểm tra xem hệ thống tập tin có hỗ trợ đệm không theo dõi hay không"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1063
 msgid "enable untracked cache without testing the filesystem"
 msgstr "bật bộ đệm không theo vết mà không kiểm tra hệ thống tập tin"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1065
 msgid "write out the index even if is not flagged as changed"
 msgstr "ghi ra mục lục ngay cả khi không được đánh cờ là có thay đổi"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1067
 msgid "enable or disable file system monitor"
 msgstr "bật/tắt theo dõi hệ thống tập tin"
 
-#: builtin/update-index.c:1067
+#: builtin/update-index.c:1069
 msgid "mark files as fsmonitor valid"
 msgstr "đánh dấu các tập tin là hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1070
+#: builtin/update-index.c:1072
 msgid "clear fsmonitor valid bit"
 msgstr "xóa bít hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1173
+#: builtin/update-index.c:1175
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -23097,7 +23449,7 @@ msgstr ""
 "core.splitIndex được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật chia tách mục lục"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1184
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -23105,7 +23457,7 @@ msgstr ""
 "core.splitIndex được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn tắt chia tách mục lục"
 
-#: builtin/update-index.c:1194
+#: builtin/update-index.c:1196
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -23113,11 +23465,11 @@ msgstr ""
 "core.untrackedCache được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực "
 "sự muốn tắt bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1198
+#: builtin/update-index.c:1200
 msgid "Untracked cache disabled"
 msgstr "Nhớ đệm không theo vết bị tắt"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1208
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -23125,29 +23477,29 @@ msgstr ""
 "core.untrackedCache được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1210
+#: builtin/update-index.c:1212
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Nhớ đệm không theo vết được bật cho “%s”"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1220
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor chưa được đặt; đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1222
+#: builtin/update-index.c:1224
 msgid "fsmonitor enabled"
 msgstr "fsmonitor được bật"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1227
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor đã được đặt; bỏ đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1229
+#: builtin/update-index.c:1231
 msgid "fsmonitor disabled"
 msgstr "fsmonitor bị tắt"
 
@@ -23267,7 +23619,7 @@ msgstr "git worktree remove [<các tùy chọn>] <worktree>"
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock </đường/dẫn>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:933
+#: builtin/worktree.c:61 builtin/worktree.c:935
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "gặp lỗi khi xóa “%s”"
@@ -23338,104 +23690,104 @@ msgstr "Đang chuẩn bị cây làm việc (đang lấy ra “%s”)"
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Đang chuẩn bị cây làm việc (HEAD đã tách rời “%s”)"
 
-#: builtin/worktree.c:480
+#: builtin/worktree.c:482
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "lấy ra <nhánh> ngay cả khi nó đã được lấy ra ở cây làm việc khác"
 
-#: builtin/worktree.c:483
+#: builtin/worktree.c:485
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:485
+#: builtin/worktree.c:487
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:489
 msgid "populate the new working tree"
 msgstr "di chuyển cây làm việc mới"
 
-#: builtin/worktree.c:488
+#: builtin/worktree.c:490
 msgid "keep the new working tree locked"
 msgstr "giữ cây làm việc mới bị khóa"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-branch(1))"
 
-#: builtin/worktree.c:494
+#: builtin/worktree.c:496
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "có khớp tên tên nhánh mới với một nhánh theo dõi máy chủ"
 
-#: builtin/worktree.c:502
+#: builtin/worktree.c:504
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "Các tùy chọn -b, -B, và --detach loại từ lẫn nhau"
 
-#: builtin/worktree.c:563
+#: builtin/worktree.c:565
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "--[no-]track chỉ có thể được dùng nếu một nhánh mới được tạo"
 
-#: builtin/worktree.c:680
+#: builtin/worktree.c:682
 msgid "show extended annotations and reasons, if available"
 msgstr "hiển thị chú thích và lý do mở rộng, nếu có"
 
-#: builtin/worktree.c:682
+#: builtin/worktree.c:684
 msgid "add 'prunable' annotation to worktrees older than <time>"
 msgstr ""
 "thêm chú thích kiểu 'prunable' cho các cây làm việc hết hạn cũ hơn khoảng "
 "<thời gian>"
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:693
 msgid "--verbose and --porcelain are mutually exclusive"
 msgstr "--verbose và --porcelain loại từ lẫn nhau"
 
-#: builtin/worktree.c:718
+#: builtin/worktree.c:720
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:730 builtin/worktree.c:763 builtin/worktree.c:837
-#: builtin/worktree.c:961
+#: builtin/worktree.c:732 builtin/worktree.c:765 builtin/worktree.c:839
+#: builtin/worktree.c:963
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "%s không phải là cây làm việc"
 
-#: builtin/worktree.c:732 builtin/worktree.c:765
+#: builtin/worktree.c:734 builtin/worktree.c:767
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Cây thư mục làm việc chính không thể khóa hay bỏ khóa được"
 
-#: builtin/worktree.c:737
+#: builtin/worktree.c:739
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:739
+#: builtin/worktree.c:741
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:767
+#: builtin/worktree.c:769
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
 
-#: builtin/worktree.c:808
+#: builtin/worktree.c:810
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "cây làm việc có chứa mô-đun-con không thể di chuyển hay xóa bỏ"
 
-#: builtin/worktree.c:816
+#: builtin/worktree.c:818
 msgid "force move even if worktree is dirty or locked"
 msgstr "ép buộc ngay cả khi cây làm việc đang bẩn hay bị khóa"
 
-#: builtin/worktree.c:839 builtin/worktree.c:963
+#: builtin/worktree.c:841 builtin/worktree.c:965
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "“%s” là cây làm việc chính"
 
-#: builtin/worktree.c:844
+#: builtin/worktree.c:846
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "không thể phác họa ra tên đích đến “%s”"
 
-#: builtin/worktree.c:857
+#: builtin/worktree.c:859
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -23444,7 +23796,7 @@ msgstr ""
 "không thể di chuyển một cây-làm-việc bị khóa, khóa vì: %s\n"
 "dùng “move -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:859
+#: builtin/worktree.c:861
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -23452,38 +23804,38 @@ msgstr ""
 "không thể di chuyển một cây-làm-việc bị khóa;\n"
 "dùng “move -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:862
+#: builtin/worktree.c:864
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "thẩm tra gặp lỗi, không thể di chuyển một cây-làm-việc: %s"
 
-#: builtin/worktree.c:867
+#: builtin/worktree.c:869
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "gặp lỗi khi chuyển “%s” sang “%s”"
 
-#: builtin/worktree.c:913
+#: builtin/worktree.c:915
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "gặp lỗi khi chạy “git status” vào “%s”"
 
-#: builtin/worktree.c:917
+#: builtin/worktree.c:919
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 "“%s” có chứa các tập tin đã bị sửa chữa hoặc chưa được theo dõi, hãy dùng --"
 "force để xóa nó"
 
-#: builtin/worktree.c:922
+#: builtin/worktree.c:924
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "gặp lỗi khi chạy “git status” trong “%s”, mã %d"
 
-#: builtin/worktree.c:945
+#: builtin/worktree.c:947
 msgid "force removal even if worktree is dirty or locked"
 msgstr "ép buộc di chuyển thậm chí cả khi cây làm việc đang bẩn hay bị khóa"
 
-#: builtin/worktree.c:968
+#: builtin/worktree.c:970
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -23492,7 +23844,7 @@ msgstr ""
 "không thể xóa bỏ một cây-làm-việc bị khóa, khóa vì: %s\n"
 "dùng “remove -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:970
+#: builtin/worktree.c:972
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -23500,17 +23852,17 @@ msgstr ""
 "không thể xóa bỏ một cây-làm-việc bị khóa;\n"
 "dùng “remove -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:973
+#: builtin/worktree.c:975
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "thẩm tra gặp lỗi, không thể gỡ bỏ một cây-làm-việc: %s"
 
-#: builtin/worktree.c:997
+#: builtin/worktree.c:999
 #, c-format
 msgid "repair: %s: %s"
 msgstr "sửa chữa: %s: %s"
 
-#: builtin/worktree.c:1000
+#: builtin/worktree.c:1002
 #, c-format
 msgid "error: %s: %s"
 msgstr "lỗi: %s: %s"
@@ -23531,49 +23883,6 @@ msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
 msgid "only useful for debugging"
 msgstr "chỉ hữu ích khi cần gỡ lỗi"
 
-#: http-fetch.c:118
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr "tham số cho --packfile phải là một giá trị băm hợp lệ (nhận được “%s”)"
-
-#: http-fetch.c:128
-msgid "not a git repository"
-msgstr "không phải là kho git"
-
-#: http-fetch.c:134
-#| msgid "--pathspec-file-nul requires --pathspec-from-file"
-msgid "--packfile requires --index-pack-args"
-msgstr "--packfile cần --index-pack-args"
-
-#: http-fetch.c:143
-msgid "--index-pack-args can only be used with --packfile"
-msgstr "--index-pack-args chỉ được dùng khi có --packfile"
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr "các tùy chọn được không xử lý"
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr "gặp lỗi khi chuẩn bị các điểm xét duyệt"
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr "lần chuyển giao %s chưa được đánh dấu là tiếp cận được"
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr "có quá nhiều lần chuyển giao được đánh dấu là tiếp cận được"
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr "test-tool serve-v2 [<các tùy chọn>]"
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr "thoát ngay sau khi khởi tạo quảng cáo capabilities"
-
 #: git.c:28
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -23631,22 +23940,27 @@ msgstr "chưa đưa ra tiền tố cho --super-prefix\n"
 msgid "-c expects a configuration string\n"
 msgstr "-c cần một chuỗi cấu hình\n"
 
-#: git.c:292
+#: git.c:260
+#, c-format
+msgid "no config key given for --config-env\n"
+msgstr "không đưa ra khóa cấu hình cho --config-env\n"
+
+#: git.c:300
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "chưa đưa ra thư mục cho -C\n"
 
-#: git.c:318
+#: git.c:326
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "không hiểu tùy chọn: %s\n"
 
-#: git.c:367
+#: git.c:375
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "trong khi triển khai bí danh “%s”: “%s”"
 
-#: git.c:376
+#: git.c:384
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -23655,40 +23969,40 @@ msgstr ""
 "bí danh “%s” thay đổi biến môi trường.\n"
 "Bạn có thể sử dụng “!git” trong đặt bí danh để làm việc này"
 
-#: git.c:383
+#: git.c:391
 #, c-format
 msgid "empty alias for %s"
 msgstr "làm trống bí danh cho %s"
 
-#: git.c:386
+#: git.c:394
 #, c-format
 msgid "recursive alias: %s"
 msgstr "đệ quy các bí danh: %s"
 
-#: git.c:468
+#: git.c:476
 msgid "write failure on standard output"
 msgstr "lỗi ghi nghiêm trong trên đầu ra tiêu chuẩn"
 
-#: git.c:470
+#: git.c:478
 msgid "unknown write failure on standard output"
 msgstr "lỗi nghiêm trọng chưa biết khi ghi ra đầu ra tiêu chuẩn"
 
-#: git.c:472
+#: git.c:480
 msgid "close failed on standard output"
 msgstr "gặp lỗi khi đóng đầu ra tiêu chuẩn"
 
-#: git.c:823
+#: git.c:833
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 "dò tìm thấy các bí danh quẩn tròn: biểu thức của “%s” không có điểm kết:%s"
 
-#: git.c:873
+#: git.c:883
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "không thể xử lý %s như là một phần bổ sung"
 
-#: git.c:886
+#: git.c:896
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -23697,16 +24011,165 @@ msgstr ""
 "cách dùng: %s\n"
 "\n"
 
-#: git.c:906
+#: git.c:916
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "gặp lỗi khi khai triển bí danh “%s”; “%s” không phải là lệnh git\n"
 
-#: git.c:918
+#: git.c:928
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "gặp lỗi khi chạy lệnh “%s”: %s\n"
 
+#: http-fetch.c:118
+#, c-format
+msgid "argument to --packfile must be a valid hash (got '%s')"
+msgstr "tham số cho --packfile phải là một giá trị băm hợp lệ (nhận được “%s”)"
+
+#: http-fetch.c:128
+msgid "not a git repository"
+msgstr "không phải là kho git"
+
+#: http-fetch.c:134
+msgid "--packfile requires --index-pack-args"
+msgstr "--packfile cần --index-pack-args"
+
+#: http-fetch.c:143
+msgid "--index-pack-args can only be used with --packfile"
+msgstr "--index-pack-args chỉ được dùng khi có --packfile"
+
+#: t/helper/test-fast-rebase.c:141
+msgid "unhandled options"
+msgstr "các tùy chọn được không xử lý"
+
+#: t/helper/test-fast-rebase.c:146
+msgid "error preparing revisions"
+msgstr "gặp lỗi khi chuẩn bị các điểm xét duyệt"
+
+#: t/helper/test-reach.c:154
+#, c-format
+msgid "commit %s is not marked reachable"
+msgstr "lần chuyển giao %s chưa được đánh dấu là tiếp cận được"
+
+#: t/helper/test-reach.c:164
+msgid "too many commits marked reachable"
+msgstr "có quá nhiều lần chuyển giao được đánh dấu là tiếp cận được"
+
+#: t/helper/test-serve-v2.c:7
+msgid "test-tool serve-v2 [<options>]"
+msgstr "test-tool serve-v2 [<các tùy chọn>]"
+
+#: t/helper/test-serve-v2.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr "thoát ngay sau khi khởi tạo quảng cáo capabilities"
+
+#: t/helper/test-simple-ipc.c:262
+#, c-format
+msgid "socket/pipe already in use: '%s'"
+msgstr "socket/pipe đã đang được sử dụng rồi: '%s'"
+
+#: t/helper/test-simple-ipc.c:264
+#, c-format
+msgid "could not start server on: '%s'"
+msgstr "không thể khởi động máy phục vụ lên: “%s”"
+
+#: t/helper/test-simple-ipc.c:295 t/helper/test-simple-ipc.c:331
+msgid "could not spawn daemon in the background"
+msgstr "không thể sinh ra daemon trong nền"
+
+#: t/helper/test-simple-ipc.c:356
+msgid "waitpid failed"
+msgstr "waitpid gặp lỗi"
+
+#: t/helper/test-simple-ipc.c:376
+msgid "daemon not online yet"
+msgstr "\"daemon\" vẫn chưa trực tuyến"
+
+#: t/helper/test-simple-ipc.c:406
+msgid "daemon failed to start"
+msgstr "daemon gặp lỗi khi khởi động"
+
+#: t/helper/test-simple-ipc.c:410
+msgid "waitpid is confused"
+msgstr "waitpid là chưa rõ ràng"
+
+#: t/helper/test-simple-ipc.c:541
+msgid "daemon has not shutdown yet"
+msgstr "\"daemon\" vẫn chưa được tắt đi"
+
+#: t/helper/test-simple-ipc.c:682
+msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
+msgstr "test-helper simple-ipc is-active    [<tên>] [<các tùy chọn>]"
+
+#: t/helper/test-simple-ipc.c:683
+msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
+msgstr "test-helper simple-ipc run-daemon   [<tên>] [<các tiến trình>]"
+
+#: t/helper/test-simple-ipc.c:684
+msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
+msgstr ""
+"test-helper simple-ipc start-daemon [<tên>] [<các tiến trình>] [<chờ tối đa>]"
+
+#: t/helper/test-simple-ipc.c:685
+msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
+msgstr "test-helper simple-ipc stop-daemon  [<tên>] [<chờ tối đa>]"
+
+#: t/helper/test-simple-ipc.c:686
+msgid "test-helper simple-ipc send         [<name>] [<token>]"
+msgstr "test-helper simple-ipc send         [<tên>] [<thẻ>]"
+
+#: t/helper/test-simple-ipc.c:687
+msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
+msgstr "test-helper simple-ipc sendbytes    [<tên>] [<số lượng byte>] [<byte>]"
+
+#: t/helper/test-simple-ipc.c:688
+msgid ""
+"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
+"[<batchsize>]"
+msgstr ""
+"test-helper simple-ipc multiple     [<tên>] [<các tiến trình>] [<số lượng "
+"byte>] [<cỡ bó>]"
+
+#: t/helper/test-simple-ipc.c:696
+msgid "name or pathname of unix domain socket"
+msgstr "tên hoặc tên đường dẫn của ổ cắm miền unix"
+
+#: t/helper/test-simple-ipc.c:698
+msgid "named-pipe name"
+msgstr "tên named-pipe"
+
+#: t/helper/test-simple-ipc.c:700
+msgid "number of threads in server thread pool"
+msgstr "số lượng tiến trình trong kho tiến trình máy phục vụ"
+
+#: t/helper/test-simple-ipc.c:701
+msgid "seconds to wait for daemon to start or stop"
+msgstr "số giây mà dịch vụ chạy nền chờ khi khởi động hoặc dừng"
+
+#: t/helper/test-simple-ipc.c:703
+msgid "number of bytes"
+msgstr "số lượng byte"
+
+#: t/helper/test-simple-ipc.c:704
+msgid "number of requests per thread"
+msgstr "số lượng yêu cầu mỗi tiến trình"
+
+#: t/helper/test-simple-ipc.c:706
+msgid "byte"
+msgstr "byte"
+
+#: t/helper/test-simple-ipc.c:706
+msgid "ballast character"
+msgstr "ký tự ballast"
+
+#: t/helper/test-simple-ipc.c:707
+msgid "token"
+msgstr "thẻ bài"
+
+#: t/helper/test-simple-ipc.c:707
+msgid "command token to send to the server"
+msgstr "thẻ bài lệnh để gửi lên cho máy phục vụ"
+
 #: http.c:399
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
@@ -23747,7 +24210,7 @@ msgstr ""
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "Không thể đặt ứng dụng chạy sau SSL cho “%s”: đã đặt rồi"
 
-#: http.c:2025
+#: http.c:2035
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -23900,43 +24363,43 @@ msgstr "hiện không có thông tin về trình biên dịch\n"
 msgid "no libc information available\n"
 msgstr "không có thông tin về libc\n"
 
-#: list-objects-filter-options.h:91
+#: list-objects-filter-options.h:94
 msgid "args"
 msgstr "các_tham_số"
 
-#: list-objects-filter-options.h:92
+#: list-objects-filter-options.h:95
 msgid "object filtering"
 msgstr "lọc đối tượng"
 
-#: parse-options.h:183
+#: parse-options.h:184
 msgid "expiry-date"
 msgstr "ngày hết hạn"
 
-#: parse-options.h:197
+#: parse-options.h:198
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:309
+#: parse-options.h:310
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:311
+#: parse-options.h:312
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:317
+#: parse-options.h:318
 msgid "use <n> digits to display object names"
 msgstr "sử dụng <n> chữ số để hiển thị tên đối tượng"
 
-#: parse-options.h:336
+#: parse-options.h:337
 msgid "how to strip spaces and #comments from message"
 msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩu tin nhắn"
 
-#: parse-options.h:337
+#: parse-options.h:338
 msgid "read pathspec from file"
 msgstr "đọc đặc tả đường dẫn từ tập tin"
 
-#: parse-options.h:338
+#: parse-options.h:339
 msgid ""
 "with --pathspec-from-file, pathspec elements are separated with NUL character"
 msgstr ""
@@ -25627,26 +26090,31 @@ msgstr "múi giờ nội bộ khác biệt với GMT bởi khoảng thời gian
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "khoảng bù thời gian nội bộ lớn hơn hoặc bằng 24 giờ\n"
 
-#: git-send-email.perl:223 git-send-email.perl:229
+#: git-send-email.perl:222
+#, perl-format
+msgid "fatal: command '%s' died with exit code %d"
+msgstr "lỗi nghiêm trọng: lệnh '%s' chết với mã thoát %d"
+
+#: git-send-email.perl:235
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "trình soạn thảo thoát không sạch sẽ, bãi bỏ mọi thứ"
 
-#: git-send-email.perl:312
+#: git-send-email.perl:321
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr "“%s” có chưa một phiên bản trung gian của thư bạn đã soạn.\n"
 
-#: git-send-email.perl:317
+#: git-send-email.perl:326
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "“%s.final” chứa thư điện tử đã soạn thảo.\n"
 
-#: git-send-email.perl:410
+#: git-send-email.perl:419
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases xung khắc với các tùy chọn khác\n"
 
-#: git-send-email.perl:484
+#: git-send-email.perl:493
 msgid ""
 "fatal: found configuration options for 'sendmail'\n"
 "git-send-email is configured with the sendemail.* options - note the 'e'.\n"
@@ -25656,11 +26124,11 @@ msgstr ""
 "git-send-email được cấu hình với các tùy chọn sendemail.* - chú ý “e”.\n"
 "Đặt sendemail.forbidSendmailVariables thành false để tắt kiểm tra này.\n"
 
-#: git-send-email.perl:489 git-send-email.perl:691
+#: git-send-email.perl:498 git-send-email.perl:700
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "Không thể chạy git format-patch ở ngoài một kho chứa\n"
 
-#: git-send-email.perl:492
+#: git-send-email.perl:501
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
@@ -25668,37 +26136,37 @@ msgstr ""
 "“batch-size” và “relogin” phải được chỉ định cùng với nhau (thông qua dòng "
 "lệnh hoặc tùy chọn cấu hình)\n"
 
-#: git-send-email.perl:505
+#: git-send-email.perl:514
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Không hiểu trường --suppress-cc: “%s”\n"
 
-#: git-send-email.perl:536
+#: git-send-email.perl:545
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Không hiểu cài đặt --confirm: “%s”\n"
 
-#: git-send-email.perl:564
+#: git-send-email.perl:573
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "cảnh báo: bí danh sendmail với dấu trích dẫn không được hỗ trợ: %s\n"
 
-#: git-send-email.perl:566
+#: git-send-email.perl:575
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "cảnh báo: “:include:“ không được hỗ trợ: %s\n"
 
-#: git-send-email.perl:568
+#: git-send-email.perl:577
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "cảnh báo: chuyển hướng “/file“ hay “|pipe“ không được hỗ trợ: %s\n"
 
-#: git-send-email.perl:573
+#: git-send-email.perl:582
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "cảnh báo: dòng sendmail không nhận ra được: %s\n"
 
-#: git-send-email.perl:657
+#: git-send-email.perl:666
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -25713,21 +26181,12 @@ msgstr ""
 "    * Nói \"./%s\" nếu ý bạn là một tập tin; hoặc\n"
 "    * Đưa ra tùy chọn --format-patch nếu ý bạn là chuẩn bị.\n"
 
-#: git-send-email.perl:678
+#: git-send-email.perl:687
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Gặp lỗi khi mở thư mục “%s”: %s"
 
-#: git-send-email.perl:702
-#, perl-format
-msgid ""
-"fatal: %s: %s\n"
-"warning: no patches were sent\n"
-msgstr ""
-"nghiêm trọng: %s: %s\n"
-"cảnh báo: không có miếng vá nào được gửi đi\n"
-
-#: git-send-email.perl:713
+#: git-send-email.perl:720
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -25737,17 +26196,17 @@ msgstr ""
 "Chưa chỉ định các tập tin miếng vá!\n"
 "\n"
 
-#: git-send-email.perl:726
+#: git-send-email.perl:733
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Không có dòng chủ đề trong %s?"
 
-#: git-send-email.perl:736
+#: git-send-email.perl:743
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Gặp lỗi khi mở “%s” để ghi: %s"
 
-#: git-send-email.perl:747
+#: git-send-email.perl:754
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -25761,27 +26220,27 @@ msgstr ""
 "\n"
 "Xóa nội dung phần thân nếu bạn không muốn gửi tóm tắt.\n"
 
-#: git-send-email.perl:771
+#: git-send-email.perl:778
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Gặp lỗi khi mở “%s”: %s"
 
-#: git-send-email.perl:788
+#: git-send-email.perl:795
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Gặp lỗi khi mở %s.final: %s"
 
-#: git-send-email.perl:831
+#: git-send-email.perl:838
 msgid "Summary email is empty, skipping it\n"
 msgstr "Thư tổng thể là trống rỗng, nên bỏ qua nó\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:866
+#: git-send-email.perl:873
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "Bạn có chắc muốn dùng <%s> [y/N]? "
 
-#: git-send-email.perl:921
+#: git-send-email.perl:928
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -25789,11 +26248,11 @@ msgstr ""
 "Các trường sau đây là 8bit, nhưng không khai báo một Content-Transfer-"
 "Encoding.\n"
 
-#: git-send-email.perl:926
+#: git-send-email.perl:933
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Bảng mã 8bit nào tôi nên khai báo [UTF-8]? "
 
-#: git-send-email.perl:934
+#: git-send-email.perl:941
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -25806,20 +26265,20 @@ msgstr ""
 "có chủ đề ở dạng mẫu “*** SUBJECT HERE ***”. Dùng --force nếu bạn thực sự "
 "muốn gửi.\n"
 
-#: git-send-email.perl:953
+#: git-send-email.perl:960
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "Tới người mà thư được gửi (nếu có)?"
 
-#: git-send-email.perl:971
+#: git-send-email.perl:978
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "nghiêm trọng: bí danh “%s” được khai triển thành chính nó\n"
 
-#: git-send-email.perl:983
+#: git-send-email.perl:990
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID được dùng như là In-Reply-To cho thư đầu tiên (nếu có)? "
 
-#: git-send-email.perl:1041 git-send-email.perl:1049
+#: git-send-email.perl:1048 git-send-email.perl:1056
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "lỗi: không thể rút trích một địa chỉ hợp lệ từ: %s\n"
@@ -25827,16 +26286,16 @@ msgstr "lỗi: không thể rút trích một địa chỉ hợp lệ từ: %s\n
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1053
+#: git-send-email.perl:1060
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "Làm gì với địa chỉ này? (thoát[q]|xóa[d]|sửa[e]): "
 
-#: git-send-email.perl:1370
+#: git-send-email.perl:1377
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "Đường dẫn CA “%s” không tồn tại"
 
-#: git-send-email.perl:1453
+#: git-send-email.perl:1460
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -25863,134 +26322,182 @@ 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:1468
+#: git-send-email.perl:1475
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "Gửi thư này chứ? ([y]có|[n]không|[e]sửa|[q]thoát|[a]tất): "
 
-#: git-send-email.perl:1471
+#: git-send-email.perl:1478
 msgid "Send this email reply required"
 msgstr "Gửi thư này trả lời yêu cầu"
 
-#: git-send-email.perl:1499
+#: git-send-email.perl:1506
 msgid "The required SMTP server is not properly defined."
 msgstr "Máy phục vụ SMTP chưa được định nghĩa một cách thích hợp."
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1553
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Máy chủ không hỗ trợ STARTTLS! %s"
 
-#: git-send-email.perl:1551 git-send-email.perl:1555
+#: git-send-email.perl:1558 git-send-email.perl:1562
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS gặp lỗi! %s"
 
-#: git-send-email.perl:1564
+#: git-send-email.perl:1571
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
 "Không thể khởi tạo SMTP một cách đúng đắn. Kiểm tra cấu hình và dùng --smtp-"
 "debug."
 
-#: git-send-email.perl:1582
+#: git-send-email.perl:1589
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "Gặp lỗi khi gửi %s\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1592
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Thử gửi %s\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1592
 #, perl-format
 msgid "Sent %s\n"
 msgstr "Gửi %s\n"
 
-#: git-send-email.perl:1587
+#: git-send-email.perl:1594
 msgid "Dry-OK. Log says:\n"
 msgstr "Dry-OK. Nhật ký nói rằng:\n"
 
-#: git-send-email.perl:1587
+#: git-send-email.perl:1594
 msgid "OK. Log says:\n"
 msgstr "OK. Nhật ký nói rằng:\n"
 
-#: git-send-email.perl:1599
+#: git-send-email.perl:1606
 msgid "Result: "
 msgstr "Kết quả: "
 
-#: git-send-email.perl:1602
+#: git-send-email.perl:1609
 msgid "Result: OK\n"
 msgstr "Kết quả: Tốt\n"
 
-#: git-send-email.perl:1620
+#: git-send-email.perl:1627
 #, perl-format
 msgid "can't open file %s"
 msgstr "không thể mở tập tin “%s”"
 
-#: git-send-email.perl:1667 git-send-email.perl:1687
+#: git-send-email.perl:1674 git-send-email.perl:1694
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) Thêm cc: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1673
+#: git-send-email.perl:1680
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) Đang thêm to: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1730
+#: git-send-email.perl:1737
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) Thêm cc: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1765
+#: git-send-email.perl:1772
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) Thêm cc: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1876
+#: git-send-email.perl:1883
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Không thể thực thi “%s”"
 
-#: git-send-email.perl:1883
+#: git-send-email.perl:1890
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Đang thêm %s: %s từ: “%s”\n"
 
-#: git-send-email.perl:1887
+#: git-send-email.perl:1894
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) gặp lỗi khi đóng đường ống đến “%s”"
 
-#: git-send-email.perl:1917
+#: git-send-email.perl:1924
 msgid "cannot send message as 7bit"
 msgstr "không thể lấy gửi thư dạng 7 bít"
 
-#: git-send-email.perl:1925
+#: git-send-email.perl:1932
 msgid "invalid transfer encoding"
 msgstr "bảng mã truyền không hợp lệ"
 
-#: git-send-email.perl:1966 git-send-email.perl:2018 git-send-email.perl:2028
+#: git-send-email.perl:1966
+#, perl-format
+msgid ""
+"fatal: %s: rejected by sendemail-validate hook\n"
+"%s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"nghiêm trọng: %s: bị từ chối bởi móc sendemail-validate\n"
+"%s\n"
+"cảnh báo: không có miếng vá nào được gửi đi\n"
+
+#: git-send-email.perl:1976 git-send-email.perl:2029 git-send-email.perl:2039
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: git-send-email.perl:1969
+#: git-send-email.perl:1979
 #, perl-format
-msgid "%s: patch contains a line longer than 998 characters"
-msgstr "%s: miếng vá có chứa dòng dài hơn 998 ký tự"
+msgid ""
+"fatal: %s:%d is longer than 998 characters\n"
+"warning: no patches were sent\n"
+msgstr ""
+"nghiêm trọng: %s: %d là dài hơn 998 ký tự\n"
+"cảnh báo: không có miếng vá nào được gửi đi\n"
 
-#: git-send-email.perl:1986
+#: git-send-email.perl:1997
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "Bỏ qua %s với hậu tố sao lưu dự phòng “%s”.\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1990
+#: git-send-email.perl:2001
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 
+#~ msgid "--cached and --3way cannot be used together."
+#~ msgstr "--cached và --3way không thể dùng cùng nhau."
+
+#~ msgid "both"
+#~ msgstr "cả hai"
+
+#~ msgid "one"
+#~ msgstr "một"
+
+#, c-format
+#~ msgid "Already up to date!"
+#~ msgstr "Đã cập nhật rồi!"
+
+#~ msgid "Already up to date. Yeeah!"
+#~ msgstr "Đã cập nhật rồi. Yeeah!"
+
+#~ msgid "--batch-size option is only for 'repack' subcommand"
+#~ msgstr "tùy chọn --batch-size chỉ cho lệnh con “repack”"
+
+#~ msgid "Percentage by which creation is weighted"
+#~ msgstr "Tỷ lệ phần trăm cái tạo là weighted"
+
+#~ msgid ""
+#~ "the rebase.useBuiltin support has been removed!\n"
+#~ "See its entry in 'git help config' for details."
+#~ msgstr ""
+#~ "việc hỗ trợ rebase.useBuiltin đã bị xóa!\n"
+#~ "Xem mục tin của nó trong “ git help config” để biết chi tiết."
+
+#, perl-format
+#~ msgid "%s: patch contains a line longer than 998 characters"
+#~ msgstr "%s: miếng vá có chứa dòng dài hơn 998 ký tự"
+
 #~ msgid "repository contains replace objects; skipping commit-graph"
 #~ msgstr ""
 #~ "kho lưu trữ chứa các đối tượng thay thế; bỏ qua sơ đồ lần chuyển giao"
@@ -27020,9 +27527,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "commit object"
 #~ msgstr "đối tượng lần chuyển giao"
 
-#~ msgid "tree object"
-#~ msgstr "đối tượng cây"
-
 #~ msgid "blob object"
 #~ msgstr "đối tượng blob"
 
@@ -27063,9 +27567,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "insanely long object directory %.*s"
 #~ msgstr "thư mục đối tượng dài một cách điên rồ %.*s"
 
-#~ msgid "git merge [<options>] <msg> HEAD <commit>"
-#~ msgstr "git merge [<các-tùy-chọn>] <tin-nhắn> HEAD <commit>"
-
 #~ msgid "tag name too long: %.*s..."
 #~ msgstr "tên thẻ quá dài: %.*s…"
 
@@ -27162,9 +27663,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s: đơn vị không hợp "
 #~ "lệ"
 
-#~ msgid "This is the 2nd commit message:"
-#~ msgstr "Đây là chú thích cho lần chuyển giao thứ 2:"
-
 #~ msgid "This is the 3rd commit message:"
 #~ msgstr "Đây là chú thích cho lần chuyển giao thứ 3:"
 
@@ -27201,9 +27699,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "This is the ${n}rd commit message:"
 #~ msgstr "Đây là chú thích cho lần chuyển giao thứ ${n}:"
 
-#~ msgid "The 1st commit message will be skipped:"
-#~ msgstr "Chú thích cho lần chuyển giao thứ nhất sẽ bị bỏ qua:"
-
 #~ msgid "The 2nd commit message will be skipped:"
 #~ msgstr "Chú thích cho lần chuyển giao thứ 2 sẽ bị bỏ qua:"