l10n: vi.po(4581t): Updated Vietnamese translation for v2.22.0 round 3
[git/git.git] / po / vi.po
index 3068608..4951db3 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.21 round 2\n"
+"Project-Id-Version: git v2.22.0 round 3\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-02-15 10:09+0800\n"
-"PO-Revision-Date: 2019-02-26 14:49+0700\n"
+"POT-Creation-Date: 2019-06-04 08:24+0800\n"
+"PO-Revision-Date: 2019-06-04 08:07+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"
@@ -22,45 +22,45 @@ msgstr ""
 "X-Poedit-Basepath: ..\n"
 "X-Generator: Gtranslator 2.91.7\n"
 
-#: advice.c:101
+#: advice.c:103
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sgợi ý: %.*s%s\n"
 
-#: advice.c:154
+#: advice.c:156
 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:156
+#: advice.c:158
 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:158
+#: advice.c:160
 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:160
+#: advice.c:162
 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:162
+#: advice.c:164
 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:164
+#: advice.c:166
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
-"Nó là 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 "
+"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:172
+#: advice.c:174
 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."
@@ -68,23 +68,23 @@ 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:180
+#: advice.c:182
 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:185 builtin/merge.c:1290
+#: advice.c:187 builtin/merge.c:1320
 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:187
+#: advice.c:189
 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:188
+#: advice.c:190
 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:194
+#: advice.c:196
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -121,95 +121,95 @@ msgstr "cmdline kết thúc với \\"
 msgid "unclosed quote"
 msgstr "chưa đóng trích dẫn"
 
-#: apply.c:59
+#: apply.c:63
 #, 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:75
+#: apply.c:79
 #, 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:125
+#: apply.c:129
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject và --3way không thể dùng cùng nhau."
 
-#: apply.c:127
+#: apply.c:131
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached và --3way không thể dùng cùng nhau."
 
-#: apply.c:130
+#: apply.c:134
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: apply.c:141
+#: apply.c:145
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: apply.c:144
+#: apply.c:148
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: apply.c:825
+#: apply.c:829
 #, 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:834
+#: apply.c:838
 #, 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:908
+#: apply.c:912
 #, 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:946
+#: apply.c:950
 #, 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:952
+#: apply.c:956
 #, 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:953
+#: apply.c:957
 #, 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:958
+#: apply.c:962
 #, 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:987
+#: apply.c:991
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "chế độ không hợp lệ trên dòng %d: %s"
 
-#: apply.c:1306
+#: apply.c:1310
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "phần đầu mâu thuẫn dòng %d và %d"
 
-#: apply.c:1478
+#: apply.c:1482
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không cần: %.*s"
 
-#: apply.c:1547
+#: apply.c:1551
 #, 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:1567
+#: apply.c:1571
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -221,81 +221,81 @@ 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:1580
+#: apply.c:1584
 #, 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:1768
+#: apply.c:1772
 msgid "new file depends on old contents"
 msgstr "tập tin mới phụ thuộc vào nội dung cũ"
 
-#: apply.c:1770
+#: apply.c:1774
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: apply.c:1804
+#: apply.c:1808
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: apply.c:1841
+#: apply.c:1845
 #, 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:1843
+#: apply.c:1847
 #, 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:1846
+#: apply.c:1850
 #, 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:1993
+#: apply.c:1997
 #, 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:2030
+#: apply.c:2034
 #, 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:2192
+#: apply.c:2196
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: apply.c:2278
+#: apply.c:2282
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: apply.c:2282
+#: apply.c:2286
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2941
+#: apply.c:2945
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3062
+#: apply.c:3066
 #, 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:3074
+#: apply.c:3078
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Nội dung bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: apply.c:3080
+#: apply.c:3084
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -304,454 +304,453 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3102
+#: apply.c:3106
 #, 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:3110
+#: apply.c:3114
 #, 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 hunk thành "
 "“%s”"
 
-#: apply.c:3157
+#: apply.c:3161
 #, 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:3167
+#: apply.c:3171
 #, 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:3175
+#: apply.c:3179
 #, 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:3193
+#: apply.c:3197
 #, 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:3206
+#: apply.c:3210
 #, 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:3212
+#: apply.c:3216
 #, 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:3233
+#: apply.c:3237
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3356
+#: apply.c:3360
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278
+#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3416
+#: apply.c:3420
 #, 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:3445 apply.c:3688
+#: apply.c:3449 apply.c:3692
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3531 apply.c:3703
+#: apply.c:3535 apply.c:3707
 #, 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:3540 apply.c:3711
+#: apply.c:3544 apply.c:3715
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3575
+#: apply.c:3579
 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:3578
+#: apply.c:3582
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Đang trở lại hòa trộn “3-đường”…\n"
 
-#: apply.c:3594 apply.c:3598
+#: apply.c:3598 apply.c:3602
 #, 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:3610
+#: apply.c:3614
 #, 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"
 
-#: apply.c:3624
+#: apply.c:3628
 #, 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:3629
+#: apply.c:3633
 #, 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:3655
+#: apply.c:3659
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3728
+#: apply.c:3732
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3730
+#: apply.c:3734
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3881 apply.c:3883 read-cache.c:820 read-cache.c:846
-#: read-cache.c:1299
+#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1309
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3939
+#: apply.c:3943
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3942
+#: apply.c:3946
 #, 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:3962
+#: apply.c:3966
 #, 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:3967
+#: apply.c:3971
 #, 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:3987
+#: apply.c:3991
 #, 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:3991
+#: apply.c:3995
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:4006
+#: apply.c:4010
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4098
+#: apply.c:4102
 #, 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:4105
+#: apply.c:4109
 #, 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:4108
+#: apply.c:4112
 #, 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:4113 builtin/checkout.c:248 builtin/reset.c:143
+#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry gặp lỗi đối với đường dẫn “%s”"
 
-#: apply.c:4117
+#: apply.c:4121
 #, 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:4127
+#: apply.c:4131
 #, 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:4265
+#: apply.c:4269
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4299
+#: apply.c:4303
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4305
+#: apply.c:4309
 #, 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:4313
+#: apply.c:4317
 #, 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:4319 apply.c:4464
+#: apply.c:4323 apply.c:4468
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4362
+#: apply.c:4366
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4366
+#: apply.c:4370
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4436
+#: apply.c:4440
 #, 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:4534
+#: apply.c:4538
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4542
+#: apply.c:4546
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4545
+#: apply.c:4549
 #, 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:4556
+#: apply.c:4560
 #, 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:4564 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4578
+#: apply.c:4582
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4582
+#: apply.c:4586
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4692
+#: apply.c:4696
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Bỏ qua đường dẫn “%s”."
 
-#: apply.c:4700
+#: apply.c:4704
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: apply.c:4720
+#: apply.c:4724
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: apply.c:4875
+#: apply.c:4879
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4902
+#: apply.c:4906
 #, 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:4908 apply.c:4923
+#: apply.c:4912 apply.c:4927
 #, 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:4916
+#: apply.c:4920
 #, 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:4932 builtin/add.c:539 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
 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:4959 apply.c:4962 builtin/am.c:2203 builtin/am.c:2206
-#: builtin/clone.c:122 builtin/fetch.c:118 builtin/merge.c:263
-#: builtin/pull.c:200 builtin/submodule--helper.c:407
+#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
+#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
+#: builtin/pull.c:207 builtin/submodule--helper.c:407
 #: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:197
+#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
+#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
 msgid "path"
 msgstr "đường-dẫn"
 
-#: apply.c:4960
+#: apply.c:4964
 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:4963
+#: apply.c:4967
 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:4965 builtin/am.c:2212
+#: apply.c:4969 builtin/am.c:2219
 msgid "num"
 msgstr "số"
 
-#: apply.c:4966
+#: apply.c:4970
 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:4969
+#: apply.c:4973
 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:4971
+#: apply.c:4975
 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:4975
+#: apply.c:4979
 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:4977
+#: apply.c:4981
 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:4979
+#: apply.c:4983
 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:4981
+#: apply.c:4985
 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:4983
+#: apply.c:4987
 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:4985
+#: apply.c:4989
 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:4987
+#: apply.c:4991
 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:4990
+#: apply.c:4994
 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:4992
+#: apply.c:4996
 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:4994
+#: apply.c:4998
 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:4997 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
 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:4999
+#: apply.c:5003
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: apply.c:5000 builtin/am.c:2191 builtin/interpret-trailers.c:97
+#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
 #: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3314 builtin/rebase.c:1065
+#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:5001
+#: apply.c:5005
 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:5004 apply.c:5007
+#: apply.c:5008 apply.c:5011
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi quét nội dung"
 
-#: apply.c:5010
+#: apply.c:5014
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:5012
+#: apply.c:5016
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: apply.c:5014
+#: apply.c:5018
 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:5016
+#: apply.c:5020
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:5017 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1312 builtin/count-objects.c:98 builtin/fsck.c:724
-#: builtin/log.c:2037 builtin/mv.c:123 builtin/read-tree.c:128
-#: builtin/rebase--interactive.c:159
+#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
+#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
+#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:5019
+#: apply.c:5023
 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:5022
+#: apply.c:5026
 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:5024 builtin/am.c:2200
+#: apply.c:5028 builtin/am.c:2207
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:5025
+#: apply.c:5029
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
@@ -774,7 +773,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:515 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào"
@@ -806,7 +805,7 @@ msgstr "định_dạng"
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:456 builtin/log.c:1549
+#: archive.c:456 builtin/log.c:1557
 msgid "prefix"
 msgstr "tiền_tố"
 
@@ -814,11 +813,11 @@ msgstr "tiền_tố"
 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:458 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129
-#: builtin/fast-export.c:1091 builtin/fast-export.c:1093 builtin/grep.c:895
-#: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563
-#: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123
-#: parse-options.h:162
+#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
+#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
+#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
 msgid "file"
 msgstr "tập_tin"
 
@@ -850,8 +849,8 @@ msgstr "nén nhỏ hơn"
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1859
+#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
+#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
 msgid "repo"
 msgstr "kho"
 
@@ -859,7 +858,7 @@ msgstr "kho"
 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:479 builtin/archive.c:93 builtin/difftool.c:715
+#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707
 #: builtin/notes.c:498
 msgid "command"
 msgstr "lệnh"
@@ -905,16 +904,16 @@ msgstr "chế độ tập tin lục không được hỗ trợ: 0%o (SHA1: %s)"
 msgid "cannot read %s"
 msgstr "không thể đọc %s"
 
-#: archive-tar.c:458
+#: archive-tar.c:459
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr "không thể bắt đầu bộ lọc “%s”"
 
-#: archive-tar.c:461
+#: archive-tar.c:462
 msgid "unable to redirect descriptor"
 msgstr "không thể chuyển hướng mô tả"
 
-#: archive-tar.c:468
+#: archive-tar.c:469
 #, c-format
 msgid "'%s' filter reported error"
 msgstr "bộ lọc “%s” đã báo cáo lỗi"
@@ -929,7 +928,7 @@ msgstr "đường dẫn không hợp lệ UTF-8: %s"
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "đường dẫn quá dài (%d ký tự, SHA1: %s): %s"
 
-#: archive-zip.c:474 builtin/pack-objects.c:225 builtin/pack-objects.c:228
+#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
@@ -1032,26 +1031,26 @@ 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:884 builtin/notes.c:177 builtin/tag.c:237
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: bisect.c:937 builtin/merge.c:139
+#: bisect.c:928 builtin/merge.c:146
 #, c-format
 msgid "could not read file '%s'"
 msgstr "không thể đọc tập tin “%s”"
 
-#: bisect.c:967
+#: bisect.c:958
 msgid "reading bisect refs failed"
 msgstr "việc đọc tham chiếu bisect gặp lỗi"
 
-#: bisect.c:986
+#: bisect.c:977
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s là cả %s và %s\n"
 
-#: bisect.c:994
+#: bisect.c:985
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1060,7 +1059,7 @@ msgstr ""
 "Không tìm thấy lần chuyển giao kiểm tra được nào.\n"
 "Có lẽ bạn bắt đầu với các tham số đường dẫn sai?\n"
 
-#: bisect.c:1013
+#: bisect.c:1004
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1069,51 +1068,51 @@ msgstr[0] "(ước chừng %d bước)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1019
+#: bisect.c:1010
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "Bisecting: còn %d điểm xét duyệt để kiểm sau %s này\n"
 
-#: blame.c:1792
+#: blame.c:1794
 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:1806
+#: blame.c:1808
 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:1827
+#: blame.c:1829
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse và --first-parent cùng nhau cần chỉ định lần chuyển giao cuối"
 
-#: blame.c:1836 bundle.c:164 ref-filter.c:2071 remote.c:1948 sequencer.c:1993
-#: sequencer.c:4064 builtin/commit.c:1004 builtin/log.c:378 builtin/log.c:936
-#: builtin/log.c:1420 builtin/log.c:1796 builtin/log.c:2086 builtin/merge.c:407
-#: builtin/pack-objects.c:3137 builtin/pack-objects.c:3152
+#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
+#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
+#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415
+#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
 #: builtin/shortlog.c:192
 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:1854
+#: blame.c:1856
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent cùng nhau yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
 "tiên"
 
-#: blame.c:1865
+#: blame.c:1867
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: blame.c:1876
+#: blame.c:1878
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
 
-#: branch.c:52
+#: branch.c:53
 #, c-format
 msgid ""
 "\n"
@@ -1126,90 +1125,90 @@ msgstr ""
 "thông tin theo dõi máy chủ bằng cách gọi lệnh\n"
 "\"git branch --set-upstream-to=%s%s%s\"."
 
-#: branch.c:66
+#: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "Chưa cài đặt nhánh %s như là thượng nguồn của nó."
 
-#: branch.c:92
+#: branch.c:93
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr ""
 "Nhánh “%s” cài đặt để theo dõi nhánh máy chủ “%s” từ “%s” bằng cách rebase."
 
-#: branch.c:93
+#: branch.c:94
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi nhánh máy chủ “%s” từ “%s”."
 
-#: branch.c:97
+#: branch.c:98
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr "Nhánh “%s” cài đặt để theo dõi nhánh nội bộ “%s” bằng cách rebase."
 
-#: branch.c:98
+#: branch.c:99
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi nhánh nội bộ “%s”."
 
-#: branch.c:103
+#: branch.c:104
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr ""
 "Nhánh “%s” cài đặt để theo dõi tham chiếu máy chủ “%s” bằng cách rebase."
 
-#: branch.c:104
+#: branch.c:105
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi tham chiếu máy chủ “%s”."
 
-#: branch.c:108
+#: branch.c:109
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr ""
 "Nhánh “%s” cài đặt để theo dõi tham chiếu nội bộ “%s” bằng cách rebase."
 
-#: branch.c:109
+#: branch.c:110
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi tham chiếu nội bộ “%s”."
 
-#: branch.c:118
+#: branch.c:119
 msgid "Unable to write upstream branch configuration"
 msgstr "Không thể ghi cấu hình nhánh thượng nguồn"
 
-#: branch.c:155
+#: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Không theo dõi: thông tin chưa rõ ràng cho tham chiếu %s"
 
-#: branch.c:188
+#: branch.c:189
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "“%s” không phải là một tên nhánh hợp lệ."
 
-#: branch.c:207
+#: branch.c:208
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Đã có nhánh mang tên “%s”."
 
-#: branch.c:212
+#: branch.c:213
 msgid "Cannot force update the current branch."
 msgstr "Không thể ép buộc cập nhật nhánh hiện hành."
 
-#: branch.c:232
+#: branch.c:233
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 "Không thể cài đặt thông tin theo dõi; điểm bắt đầu “%s” không phải là một "
 "nhánh."
 
-#: branch.c:234
+#: branch.c:235
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "nhánh thượng nguồn đã yêu cầu “%s” không tồn tại"
 
-#: branch.c:236
+#: branch.c:237
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1229,17 +1228,17 @@ msgstr ""
 "sẽ theo dõi bản đối chiếu máy chủ của nó, bạn cần dùng lệnh\n"
 "\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push."
 
-#: branch.c:280
+#: branch.c:281
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Không phải tên đối tượng hợp lệ: “%s”."
 
-#: branch.c:300
+#: branch.c:301
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:305
+#: branch.c:306
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
@@ -1264,8 +1263,8 @@ msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump c
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2215 sequencer.c:2763
-#: builtin/commit.c:776
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
+#: builtin/commit.c:788
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -1311,7 +1310,7 @@ msgstr "rev-list đã chết"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "th.chiếu “%s” bị loại trừ bởi các tùy chọn rev-list"
 
-#: bundle.c:457 builtin/log.c:193 builtin/log.c:1701 builtin/shortlog.c:306
+#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
@@ -1334,9 +1333,8 @@ msgstr "mục lục gói đã chết"
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit.c:50 sequencer.c:2567 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1375 builtin/am.c:2019 builtin/replace.c:376
-#: builtin/replace.c:448
+#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
+#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
@@ -1366,28 +1364,28 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1122
+#: commit.c:1128
 #, 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:1125
+#: commit.c:1131
 #, 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:1128
+#: commit.c:1134
 #, 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:1131
+#: commit.c:1137
 #, 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:1385
+#: commit.c:1391
 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"
@@ -1397,137 +1395,210 @@ msgstr ""
 "Bạn có lẽ muốn tu bổ nó sau khi sửa lời chú thích, hoặc là đặt biến\n"
 "cấu hình i18n.commitencoding thành bảng mã mà dự án của bạn muốn dùng.\n"
 
-#: commit-graph.c:101
-#, c-format
-msgid "graph file %s is too small"
-msgstr "tập tin đồ thị %s quá nhỏ"
+#: commit-graph.c:105
+msgid "commit-graph file is too small"
+msgstr "tập tin đồ thị các lần chuyển giao quá nhỏ"
 
-#: commit-graph.c:136
+#: commit-graph.c:170
 #, c-format
-msgid "graph signature %X does not match signature %X"
-msgstr "chữ ký đồ họa %X không khớp chữ ký %X"
+msgid "commit-graph signature %X does not match signature %X"
+msgstr "chữ ký đồ thị lần chuyển giao %X không khớp chữ ký %X"
 
-#: commit-graph.c:143
+#: commit-graph.c:177
 #, c-format
-msgid "graph version %X does not match version %X"
-msgstr "phiên bản đồ họa %X không khớp phiên bản %X"
+msgid "commit-graph version %X does not match version %X"
+msgstr "phiên bản đồ đồ thị lần chuyển giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:150
+#: commit-graph.c:184
 #, c-format
-msgid "hash version %X does not match version %X"
-msgstr "phiên bản băm “%X” không có phiên bản khớp %X"
+msgid "commit-graph hash version %X does not match version %X"
+msgstr "phiên bản đồ thị lần chuyển giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:173
-msgid "chunk lookup table entry missing; graph file may be incomplete"
+#: commit-graph.c:207
+msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
-"mục tin bảng tìm kiếm mảnh còn thiếu; tập tin đồ thị có thể sẽ không hoàn "
-"thiện"
+"mục tin bảng tìm kiếm mảnh còn thiếu; tập tin có thể sẽ không hoàn thiện"
 
-#: commit-graph.c:184
+#: commit-graph.c:218
 #, c-format
-msgid "improper chunk offset %08x%08x"
+msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "bù mảnh không đúng chỗ %08x%08x"
 
-#: commit-graph.c:221
+#: commit-graph.c:255
 #, c-format
-msgid "chunk id %08x appears multiple times"
-msgstr "mã mảnh %08x xuất hiện nhiều lần"
+msgid "commit-graph chunk id %08x appears multiple times"
+msgstr "mã mảnh đồ thị lần chuyển giao %08x xuất hiện nhiều lần"
 
-#: commit-graph.c:334
+#: commit-graph.c:390
 #, 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:671 builtin/pack-objects.c:2646
+#: commit-graph.c:732 builtin/pack-objects.c:2649
 #, 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:704
+#: commit-graph.c:765
 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:720
+#: commit-graph.c:781
 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:732
+#: commit-graph.c:793
 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:752
+#: commit-graph.c:813
 msgid "Computing commit graph generation numbers"
 msgstr "Đang tính toán số tạo sơ đồ các lần chuyển giao"
 
-#: commit-graph.c:869
+#: commit-graph.c:930
 #, 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:882
+#: commit-graph.c:943
 #, c-format
 msgid "error adding pack %s"
 msgstr "gặp lỗi thêm gói %s"
 
-#: commit-graph.c:884
+#: commit-graph.c:945
 #, c-format
 msgid "error opening index for %s"
 msgstr "gặp lỗi khi mở mục lục cho “%s”"
 
-#: commit-graph.c:898
+#: commit-graph.c:959
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao từ %d tham chiếu"
 
-#: commit-graph.c:930
+#: commit-graph.c:991
 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:943
+#: commit-graph.c:1004
 msgid "Counting distinct commits in commit graph"
 msgstr "Đang đếm các lần chuyển giao khác nhau trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:956
+#: commit-graph.c:1017
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 msgstr "định dạng đồ họa các lần chuyển giao không thể ghi %d lần chuyển giao"
 
-#: commit-graph.c:965
+#: commit-graph.c:1026
 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:989
+#: commit-graph.c:1050
 msgid "too many commits to write graph"
 msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
 
-#: commit-graph.c:996 midx.c:769
+#: commit-graph.c:1057 midx.c:819
 #, 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:1036
+#: commit-graph.c:1097
 #, 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:1109
+#: commit-graph.c:1162
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "tập tin sơ đồ chuyển giao có tổng kiểm không đúng và có vẻ như là đã hỏng"
 
-#: commit-graph.c:1153
+#: commit-graph.c:1172
+#, c-format
+msgid "commit-graph has incorrect OID order: %s then %s"
+msgstr "đồ thị lần chuyển giao có thứ tự OID không đúng: %s sau %s"
+
+#: commit-graph.c:1182 commit-graph.c:1197
+#, c-format
+msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
+msgstr ""
+"đồ thị lần chuyển giao có giá trị fanout không đúng: fanout[%d] = %u != %u"
+
+#: commit-graph.c:1189
+#, 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ị lần chuyển giao"
+
+#: commit-graph.c:1206
 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:1219
+#, 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:1226
+#, 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ị lần chuyển giao là %s != %s"
+
+#: commit-graph.c:1236
+#, c-format
+msgid "commit-graph parent list for commit %s is too long"
+msgstr ""
+"danh sách cha mẹ đồ thị lần chuyển giao cho lần chuyển giao %s là quá dài"
+
+#: commit-graph.c:1242
+#, c-format
+msgid "commit-graph parent for %s is %s != %s"
+msgstr "cha mẹ đồ thị lần chuyển giao cho %s là %s != %s"
+
+#: commit-graph.c:1255
+#, c-format
+msgid "commit-graph parent list for commit %s terminates early"
+msgstr ""
+"danh sách cha mẹ đồ thị lần chuyển giao cho lần chuyển giao %s bị chấm dứt "
+"quá sớm"
+
+#: commit-graph.c:1260
+#, c-format
+msgid ""
+"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
+msgstr ""
+"đồ thị 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:1264
+#, c-format
+msgid ""
+"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
+msgstr ""
+"đồ thị 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:1279
+#, c-format
+msgid "commit-graph generation for commit %s is %u != %u"
+msgstr "tạo đồ thị lần chuyển giao cho lần chuyển giao %s là %u != %u"
+
+#: commit-graph.c:1285
+#, 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ị lần chuyển giao là "
+"%<PRIuMAX> != %<PRIuMAX>"
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
@@ -1570,7 +1641,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:378 sequencer.c:2330
+#: config.c:378 sequencer.c:2459
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
@@ -1708,136 +1779,136 @@ msgstr "giá trị cho %s sai dạng: %s"
 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:1481 builtin/pack-objects.c:3394
+#: config.c:1483 builtin/pack-objects.c:3397
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1602
+#: config.c:1604
 #, 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:1605
+#: config.c:1607
 #, 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:1622
+#: config.c:1624
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "không thể phân giải điểm xét duyệt “%s”"
 
-#: config.c:1652
+#: config.c:1654
 #, c-format
 msgid "failed to parse %s"
 msgstr "gặp lỗi khi phân tích cú pháp %s"
 
-#: config.c:1705
+#: config.c:1710
 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:2037
+#: config.c:2059
 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:2207
+#: config.c:2229
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2250
+#: config.c:2272
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr ""
 "không hiểu giá trị core.untrackedCache “%s”; dùng giá trị mặc định “keep”"
 
-#: config.c:2276
+#: config.c:2298
 #, 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:2322
+#: config.c:2344
 #, 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:2324
+#: config.c:2346
 #, 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:2405
+#: config.c:2427
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "tên của phần không hợp lệ “%s”"
 
-#: config.c:2437
+#: config.c:2459
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2466
+#: config.c:2488
 #, 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:2716 config.c:3040
+#: config.c:2740 config.c:3064
 #, 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:2727
+#: config.c:2751
 #, c-format
 msgid "opening %s"
 msgstr "đang mở “%s”"
 
-#: config.c:2762 builtin/config.c:328
+#: config.c:2786 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "mẫu không hợp lệ: %s"
 
-#: config.c:2787
+#: config.c:2811
 #, c-format
 msgid "invalid config file %s"
 msgstr "tập tin cấu hình “%s” không hợp lệ"
 
-#: config.c:2800 config.c:3053
+#: config.c:2824 config.c:3077
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:2811
+#: config.c:2835
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "không thể mmap “%s”"
 
-#: config.c:2820 config.c:3058
+#: config.c:2844 config.c:3082
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod trên %s gặp lỗi"
 
-#: config.c:2905 config.c:3155
+#: config.c:2929 config.c:3179
 #, c-format
 msgid "could not write config file %s"
 msgstr "không thể ghi tập tin cấu hình “%s”"
 
-#: config.c:2939
+#: config.c:2963
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:2941 builtin/remote.c:782
+#: config.c:2965 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
-#: config.c:3031
+#: config.c:3055
 #, c-format
 msgid "invalid section name: %s"
 msgstr "tên của phần không hợp lệ: %s"
 
-#: config.c:3198
+#: config.c:3222
 #, c-format
 msgid "missing value for '%s'"
 msgstr "thiếu giá trị cho cho “%s”"
@@ -1992,28 +2063,28 @@ msgstr "ssh biến thể “simple” không hỗ trợ -6"
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "ssh biến thể “simple” không hỗ trợ đặt cổng"
 
-#: connect.c:1259
+#: connect.c:1260
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "đã khóa tên đường dẫn lạ “%s”"
 
-#: connect.c:1304
+#: connect.c:1307
 msgid "unable to fork"
 msgstr "không thể rẽ nhánh tiến trình con"
 
-#: connected.c:68 builtin/fsck.c:221 builtin/prune.c:146
+#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
-#: connected.c:80
+#: connected.c:97
 msgid "Could not run 'git rev-list'"
 msgstr "Không thể chạy “git rev-list”"
 
-#: connected.c:100
+#: connected.c:117
 msgid "failed write to rev-list"
 msgstr "gặp lỗi khi ghi vào rev-list"
 
-#: connected.c:107
+#: connected.c:124
 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"
 
@@ -2237,22 +2308,29 @@ msgstr "gặp lỗi khi đọc tập-tin-thứ-tự “%s”"
 msgid "Performing inexact rename detection"
 msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
 
-#: diff.c:108
-#, c-format
-msgid "option '%s' requires a value"
-msgstr "tùy chọn “%s” yêu cầu một giá trị"
+#: diff-no-index.c:238
+msgid "git diff --no-index [<options>] <path> <path>"
+msgstr "git diff --no-index [<các-tùy-chọn>] <đường-dẫn> <đường-dẫn>"
+
+#: diff-no-index.c:263
+msgid ""
+"Not a git repository. Use --no-index to compare two paths outside a working "
+"tree"
+msgstr ""
+"Không phải là một thư mục git. Dùng --no-index để so sánh hai đường dẫn bên "
+"ngoài một cây làm việc"
 
-#: diff.c:158
+#: diff.c:155
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  Gặp lỗi khi phân tích dirstat cắt bỏ phần trăm “%s”\n"
 
-#: diff.c:163
+#: diff.c:160
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Không hiểu đối số dirstat “%s”\n"
 
-#: diff.c:291
+#: diff.c:296
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -2260,7 +2338,7 @@ msgstr ""
 "cài đặt màu đã di chuyển phải là một trong “no”, “default”, “blocks”, "
 "“zebra”, “dimmed_zebra”, “plain”"
 
-#: diff.c:319
+#: diff.c:324
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -2270,7 +2348,7 @@ msgstr ""
 "change”, “ignore-space-at-eol”, “ignore-all-space”, “allow-indentation-"
 "change”"
 
-#: diff.c:327
+#: diff.c:332
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
@@ -2278,12 +2356,12 @@ msgstr ""
 "color-moved-ws: allow-indentation-change không thể tổ hợp cùng với các chế "
 "độ khoảng trắng khác"
 
-#: diff.c:400
+#: diff.c:405
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: “%s”"
 
-#: diff.c:460
+#: diff.c:465
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -2292,24 +2370,35 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:4211
+#: diff.c:4210
 #, 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:4553
+#: diff.c:4555
 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:4556
+#: diff.c:4558
 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:4634
+#: diff.c:4636
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4800
+#: diff.c:4684
+#, c-format
+msgid "invalid --stat value: %s"
+msgstr "giá trị --stat không hợp lệ: “%s”"
+
+#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
+#: parse-options.c:199 parse-options.c:203
+#, 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:4721
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2318,22 +2407,514 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4814
+#: diff.c:4806
+#, 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:4830
+#, c-format
+msgid "unknown value after ws-error-highlight=%.*s"
+msgstr "không hiểu giá trị sau ws-error-highlight=%.*s"
+
+#: diff.c:4844
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "không thể phân giải “%s”"
+
+#: diff.c:4894 diff.c:4900
+#, c-format
+msgid "%s expects <n>/<m> form"
+msgstr "%s cần dạng <n>/<m>"
+
+#: diff.c:4912
+#, 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:4933
+#, c-format
+msgid "bad --color-moved argument: %s"
+msgstr "đối số --color-moved sai: %s"
+
+#: diff.c:4952
+#, c-format
+msgid "invalid mode '%s' in --color-moved-ws"
+msgstr "chế độ “%s” không hợp lệ trong --color-moved-ws"
+
+#: diff.c:4992
+msgid ""
+"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
+"\"histogram\""
+msgstr ""
+"tùy chọn  diff-algorithm chấp nhận \"myers\", \"minimal\", \"patience\" và "
+"\"histogram\""
+
+#: diff.c:5028 diff.c:5048
 #, 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”"
+msgid "invalid argument to %s"
+msgstr "tham số cho %s không hợp lệ"
+
+#: diff.c:5186
+#, 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:5242
+#, c-format
+msgid "bad --word-diff argument: %s"
+msgstr "đối số --word-diff sai: %s"
+
+#: diff.c:5265
+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:5267 diff.c:5273
+msgid "generate patch"
+msgstr "tạo miếng vá"
+
+#: diff.c:5270 builtin/log.c:167
+msgid "suppress diff output"
+msgstr "chặn mọi kết xuất từ diff"
+
+#: diff.c:5275 diff.c:5389 diff.c:5396
+msgid "<n>"
+msgstr "<n>"
+
+#: diff.c:5276 diff.c:5279
+msgid "generate diffs with <n> lines context"
+msgstr "tạo khác biệt với <n> dòng ngữ cảnh"
+
+#: diff.c:5281
+msgid "generate the diff in raw format"
+msgstr "tạo khác biệt ở định dạng thô"
+
+#: diff.c:5284
+msgid "synonym for '-p --raw'"
+msgstr "đồng nghĩa với “-p --raw”"
+
+#: diff.c:5288
+msgid "synonym for '-p --stat'"
+msgstr "đồng nghĩa với “-p --stat”"
+
+#: diff.c:5292
+msgid "machine friendly --stat"
+msgstr "--stat thuận tiện cho máy đọc"
+
+#: diff.c:5295
+msgid "output only the last line of --stat"
+msgstr "chỉ xuất những dòng cuối của --stat"
+
+#: diff.c:5297 diff.c:5305
+msgid "<param1,param2>..."
+msgstr "<tham_số_1,tham_số_2>…"
+
+#: diff.c:5298
+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:5302
+msgid "synonym for --dirstat=cumulative"
+msgstr "đồng nghĩa với --dirstat=cumulative"
+
+#: diff.c:5306
+msgid "synonym for --dirstat=files,param1,param2..."
+msgstr "đồng nghĩa với --dirstat=files,param1,param2…"
+
+#: diff.c:5310
+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:5313
+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:5316
+msgid "show only names of changed files"
+msgstr "chỉ hiển thị tên của các tập tin đổi"
+
+#: diff.c:5319
+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:5321
+msgid "<width>[,<name-width>[,<count>]]"
+msgstr "<width>[,<name-width>[,<count>]]"
+
+#: diff.c:5322
+msgid "generate diffstat"
+msgstr "tạo diffstat"
+
+#: diff.c:5324 diff.c:5327 diff.c:5330
+msgid "<width>"
+msgstr "<rộng>"
+
+#: diff.c:5325
+msgid "generate diffstat with a given width"
+msgstr "tạo diffstat với độ rộng đã cho"
+
+#: diff.c:5328
+msgid "generate diffstat with a given name width"
+msgstr "tạo diffstat với tên độ rộng đã cho"
+
+#: diff.c:5331
+msgid "generate diffstat with a given graph width"
+msgstr "tạo diffstat với độ rộng đồ thị đã cho"
+
+#: diff.c:5333
+msgid "<count>"
+msgstr "<số_lượng>"
+
+#: diff.c:5334
+msgid "generate diffstat with limited lines"
+msgstr "tạo diffstat với các dòng bị giới hạn"
+
+#: diff.c:5337
+msgid "generate compact summary in diffstat"
+msgstr "tạo tổng hợp xúc tích trong diffstat"
+
+#: diff.c:5340
+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:5343
+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:5345
+msgid "show colored diff"
+msgstr "hiển thị thay đổi được tô màu"
+
+#: diff.c:5346
+msgid "<kind>"
+msgstr "<kind>"
+
+#: diff.c:5347
+msgid ""
+"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
+"diff"
+msgstr ""
+"tô sang 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:5350
+msgid ""
+"do not munge pathnames and use NULs as output field terminators in --raw or "
+"--numstat"
+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:5353 diff.c:5356 diff.c:5359 diff.c:5465
+msgid "<prefix>"
+msgstr "<tiền tố>"
+
+#: diff.c:5354
+msgid "show the given source prefix instead of \"a/\""
+msgstr "hiển thị tiền tố nguồn đã cho thay cho \"a/\""
+
+#: diff.c:5357
+msgid "show the given destination prefix instead of \"b/\""
+msgstr "hiển thị tiền tố đích đã cho thay cho \"b/\""
+
+#: diff.c:5360
+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:5363
+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:5366
+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:5370 diff.c:5375 diff.c:5380
+msgid "<char>"
+msgstr "<ký_tự>"
+
+#: diff.c:5371
+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:5376
+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:5381
+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:5384
+msgid "Diff rename options"
+msgstr "Tùy chọn khác biệt đổi tên"
+
+#: diff.c:5385
+msgid "<n>[/<m>]"
+msgstr "<n>[/<m>]"
+
+#: diff.c:5386
+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:5390
+msgid "detect renames"
+msgstr "dò tìm các tên thay đổi"
+
+#: diff.c:5394
+msgid "omit the preimage for deletes"
+msgstr "bỏ qua preimage (tiền ảnh??) cho các việc xóa"
+
+#: diff.c:5397
+msgid "detect copies"
+msgstr "dò bản sao"
+
+#: diff.c:5401
+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:5403
+msgid "disable rename detection"
+msgstr "tắt dò tìm đổi tên"
+
+#: diff.c:5406
+msgid "use empty blobs as rename source"
+msgstr "dung các blob trống rống như là nguồn đổi tên"
+
+#: diff.c:5408
+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:5411
+msgid ""
+"prevent rename/copy detection if the number of rename/copy targets exceeds "
+"given limit"
+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:5413
+msgid "Diff algorithm options"
+msgstr "Tùy chọn thuật toán khác biệt"
+
+#: diff.c:5415
+msgid "produce the smallest possible diff"
+msgstr "sản sinh khác biệt ít nhất có thể"
 
-#: diff.c:5900
+#: diff.c:5418
+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:5421
+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:5424
+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:5427
+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:5430
+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:5433
+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:5436
+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:5440
+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:5442
+msgid "<algorithm>"
+msgstr "<thuật toán>"
+
+#: diff.c:5443
+msgid "choose a diff algorithm"
+msgstr "chọn một thuật toán khác biệt"
+
+#: diff.c:5445
+msgid "<text>"
+msgstr "<văn bản>"
+
+#: diff.c:5446
+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:5448 diff.c:5457 diff.c:5460
+msgid "<mode>"
+msgstr "<chế độ>"
+
+#: diff.c:5449
+msgid "show word diff, using <mode> to delimit changed words"
+msgstr ""
+"hiển thị khác biệt từ, sử dung <chế độ> để bỏ giới hạn các từ bị thay đổi"
+
+#: diff.c:5451 diff.c:5454 diff.c:5499
+msgid "<regex>"
+msgstr "<regex>"
+
+#: diff.c:5452
+msgid "use <regex> to decide what a word is"
+msgstr "dùng <regex> để quyết định từ là cái gì"
+
+#: diff.c:5455
+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:5458
+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:5461
+msgid "how white spaces are ignored in --color-moved"
+msgstr "bỏ qua khoảng trắng như thế nào trong --color-moved"
+
+#: diff.c:5464
+msgid "Other diff options"
+msgstr "Các tùy chọn khác biệt khác"
+
+#: diff.c:5466
+msgid "when run from subdir, exclude changes outside and show relative paths"
+msgstr ""
+"khi chạy từ thư mục con, thự thi các thay đổi bên ngoài và hiển thị các "
+"đường dẫn liên quan"
+
+#: diff.c:5470
+msgid "treat all files as text"
+msgstr "coi mọi tập tin là dạng văn bản thường"
+
+#: diff.c:5472
+msgid "swap two inputs, reverse the diff"
+msgstr "tráo đổi hai đầu vào, đảo ngược khác biệt"
+
+#: diff.c:5474
+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:5476
+msgid "disable all output of the program"
+msgstr "tắt mọi kết xuất của chương trình"
+
+#: diff.c:5478
+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:5480
+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:5482
+msgid "<when>"
+msgstr "<khi>"
+
+#: diff.c:5483
+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:5486
+msgid "<format>"
+msgstr "<định dạng>"
+
+#: diff.c:5487
+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:5491
+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:5494
+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:5496
+msgid "<string>"
+msgstr "<chuỗi>"
+
+#: diff.c:5497
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"string"
+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:5500
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"regex"
+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:5503
+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:5506
+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:5509
+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:5510
+msgid "<object-id>"
+msgstr "<mã-số-đối-tượng>"
+
+#: diff.c:5511
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"object"
+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:5513
+msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
+msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]"
+
+#: diff.c:5514
+msgid "select files by diff type"
+msgstr "chọn các tập tin theo kiểu khác biệt"
+
+#: diff.c:5516
+msgid "<file>"
+msgstr "<tập_tin>"
+
+#: diff.c:5517
+msgid "Output to a specific file"
+msgstr "Xuất ra một tập tin cụ thể"
+
+#: diff.c:6150
 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:5903
+#: diff.c:6153
 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:5906
+#: diff.c:6156
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -2341,40 +2922,40 @@ msgstr ""
 "bạn có lẽ muốn đặt biến %s của bạn thành ít nhất là %d và thử lại lệnh lần "
 "nữa."
 
-#: dir.c:538
+#: dir.c:537
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào mà git biết"
 
-#: dir.c:927
+#: dir.c:926
 #, 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:1842
+#: dir.c:1843
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "không thể mở thư mục “%s”"
 
-#: dir.c:2084
+#: dir.c:2085
 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:2208
+#: dir.c:2209
 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:3009
+#: dir.c:3013
 #, 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:3054 dir.c:3059
+#: dir.c:3058 dir.c:3063
 #, c-format
 msgid "could not create directories for %s"
 msgstr "không thể tạo thư mục cho %s"
 
-#: dir.c:3088
+#: dir.c:3092
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "không thể di cư thư mục git từ “%s” sang “%s”"
@@ -2388,7 +2969,7 @@ msgstr "gợi ý: Chờ trình biên soạn của bạn đóng tập tin…%c"
 msgid "Filtering content"
 msgstr "Nội dung lọc"
 
-#: entry.c:465
+#: entry.c:476
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "không thể lấy thống kê tập tin “%s”"
@@ -2403,7 +2984,7 @@ msgstr "đường dẫn không gian tên git \"%s\" sai"
 msgid "could not set GIT_DIR to '%s'"
 msgstr "không thể đặt GIT_DIR thành “%s”"
 
-#: exec-cmd.c:361
+#: exec-cmd.c:363
 #, c-format
 msgid "too many args to run %s"
 msgstr "quá nhiều tham số để chạy %s"
@@ -2429,226 +3010,234 @@ msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được một gói f
 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:256
+#: fetch-pack.c:196
+msgid "unable to write to remote"
+msgstr "không thể ghi lên máy phục vụ"
+
+#: fetch-pack.c:258
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:358 fetch-pack.c:1264
+#: fetch-pack.c:360 fetch-pack.c:1271
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:364 fetch-pack.c:1271
+#: fetch-pack.c:366 fetch-pack.c:1277
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:366 fetch-pack.c:1273
+#: fetch-pack.c:368 fetch-pack.c:1279
 #, c-format
 msgid "object not found: %s"
 msgstr "không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:369 fetch-pack.c:1276
+#: fetch-pack.c:371 fetch-pack.c:1282
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:371 fetch-pack.c:1278
+#: fetch-pack.c:373 fetch-pack.c:1284
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:374 fetch-pack.c:1282
+#: fetch-pack.c:376 fetch-pack.c:1288
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
 
-#: fetch-pack.c:415
+#: fetch-pack.c:417
 #, c-format
 msgid "got %s %d %s"
 msgstr "nhận %s %d - %s"
 
-#: fetch-pack.c:432
+#: fetch-pack.c:434
 #, c-format
 msgid "invalid commit %s"
 msgstr "lần chuyển giao %s không hợp lệ"
 
-#: fetch-pack.c:463
+#: fetch-pack.c:465
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:475 progress.c:229
+#: fetch-pack.c:477 progress.c:284
 msgid "done"
 msgstr "xong"
 
-#: fetch-pack.c:487
+#: fetch-pack.c:489
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "nhận %s (%d) %s"
 
-#: fetch-pack.c:533
+#: fetch-pack.c:535
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Đánh dấu %s là đã hoàn thành"
 
-#: fetch-pack.c:740
+#: fetch-pack.c:744
 #, c-format
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:779
+#: fetch-pack.c:783
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:787
+#: fetch-pack.c:791
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:855
+#: fetch-pack.c:859
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:871
+#: fetch-pack.c:875
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:873
+#: fetch-pack.c:877
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:902
+#: fetch-pack.c:906
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:906
+#: fetch-pack.c:910
 msgid "Server supports multi_ack_detailed"
 msgstr "Máy chủ hỗ trợ multi_ack_detailed"
 
-#: fetch-pack.c:909
+#: fetch-pack.c:913
 msgid "Server supports no-done"
 msgstr "Máy chủ hỗ trợ no-done"
 
-#: fetch-pack.c:915
+#: fetch-pack.c:919
 msgid "Server supports multi_ack"
 msgstr "Máy chủ hỗ trợ multi_ack"
 
-#: fetch-pack.c:919
+#: fetch-pack.c:923
 msgid "Server supports side-band-64k"
 msgstr "Máy chủ hỗ trợ side-band-64k"
 
-#: fetch-pack.c:923
+#: fetch-pack.c:927
 msgid "Server supports side-band"
 msgstr "Máy chủ hỗ trợ side-band"
 
-#: fetch-pack.c:927
+#: fetch-pack.c:931
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "Máy chủ hỗ trợ allow-tip-sha1-in-want"
 
-#: fetch-pack.c:931
+#: fetch-pack.c:935
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "Máy chủ hỗ trợ allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:941
+#: fetch-pack.c:945
 msgid "Server supports ofs-delta"
 msgstr "Máy chủ hỗ trợ ofs-delta"
 
-#: fetch-pack.c:947 fetch-pack.c:1140
+#: fetch-pack.c:951 fetch-pack.c:1144
 msgid "Server supports filter"
 msgstr "Máy chủ hỗ trợ bộ lọc"
 
-#: fetch-pack.c:955
+#: fetch-pack.c:959
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:961
+#: fetch-pack.c:965
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:969
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:967
+#: fetch-pack.c:971
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:984
+#: fetch-pack.c:988
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:996 fetch-pack.c:1419
+#: fetch-pack.c:1000 fetch-pack.c:1449
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1134
+#: fetch-pack.c:1138
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1184
+#: fetch-pack.c:1171
+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:1189
 #, 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:1190
+#: fetch-pack.c:1195
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "cần “%s”, nhưng lại nhận “%s”"
 
-#: fetch-pack.c:1229
+#: fetch-pack.c:1234
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "gặp dòng không được thừa nhận: “%s”"
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1239
 #, 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:1244
+#: fetch-pack.c:1249
 msgid "expected packfile to be sent after 'ready'"
 msgstr "cần tập tin gói để gửi sau “ready”"
 
-#: fetch-pack.c:1246
+#: fetch-pack.c:1251
 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:1287
+#: fetch-pack.c:1293
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "lỗi xử lý thông tin shallow: %d"
 
-#: fetch-pack.c:1308
+#: fetch-pack.c:1340
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:1318
+#: fetch-pack.c:1345
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "không cần wanted-ref: “%s”"
 
-#: fetch-pack.c:1322
+#: fetch-pack.c:1350
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "lỗi khi xử lý wanted refs: %d"
 
-#: fetch-pack.c:1646
+#: fetch-pack.c:1676
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1664 builtin/clone.c:671
+#: fetch-pack.c:1699 builtin/clone.c:673
 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:1690
+#: fetch-pack.c:1726
 #, 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:1693
+#: fetch-pack.c:1729
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr ""
@@ -2753,28 +3342,28 @@ msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 msgid "These are common Git commands used in various situations:"
 msgstr "Có các lệnh Git chung được sử dụng trong các tình huống khác nhau:"
 
-#: help.c:363 git.c:90
+#: help.c:363 git.c:97
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "không hỗ trợ liệt kê lệnh kiểu “%s”"
 
-#: help.c:410
+#: help.c:403
 msgid "The common Git guides are:"
 msgstr "Các chỉ dẫn chung về Git là:"
 
-#: help.c:519
+#: help.c:512
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr "Xem “git help <lệnh>” để đọc các đặc tả của lệnh con"
 
-#: help.c:524
+#: help.c:517
 msgid "External commands"
 msgstr "Các lệnh bên ngoài"
 
-#: help.c:539
+#: help.c:532
 msgid "Command aliases"
 msgstr "Các bí danh lệnh"
 
-#: help.c:603
+#: help.c:596
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -2783,31 +3372,31 @@ msgstr ""
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:662
+#: help.c:655
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:684
+#: help.c:677
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn."
 
-#: help.c:689
+#: help.c:682
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Tiếp tục và coi rằng ý bạn là “%s”."
 
-#: help.c:694
+#: help.c:687
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "Tiếp tục trong %0.1f giây,và coi rằng ý bạn là “%s”."
 
-#: help.c:702
+#: help.c:695
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:706
+#: help.c:699
 msgid ""
 "\n"
 "The most similar command is"
@@ -2818,16 +3407,16 @@ msgstr[0] ""
 "\n"
 "Những lệnh giống nhất là"
 
-#: help.c:721
+#: help.c:714
 msgid "git version [<options>]"
 msgstr "git version [<các-tùy-chọn>]"
 
-#: help.c:789
+#: help.c:782
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:793
+#: help.c:786
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2838,7 +3427,7 @@ msgstr[0] ""
 "\n"
 "Có phải ý bạn là một trong số những cái này không?"
 
-#: ident.c:345
+#: ident.c:349
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -2864,39 +3453,54 @@ msgstr ""
 "Bỏ tùy chọn --global nếu chỉ định danh riêng cho kho này.\n"
 "\n"
 
-#: ident.c:369
+#: ident.c:379
 msgid "no email was given and auto-detection is disabled"
 msgstr "không đưa ra địa chỉ thư điện tử và auto-detection bị tắt"
 
-#: ident.c:374
+#: ident.c:384
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "không thể tự dò tìm địa chỉ thư điện tử (nhận “%s”)"
 
-#: ident.c:384
+#: ident.c:401
 msgid "no name was given and auto-detection is disabled"
 msgstr "chưa chỉ ra tên và tự-động-dò-tìm bị tắt"
 
-#: ident.c:390
+#: ident.c:407
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "không thể dò-tìm-tự động tên (đã nhận “%s”)"
 
-#: ident.c:398
+#: ident.c:415
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "không cho phép tên định danh là rỗng (cho <%s>)"
 
-#: ident.c:404
+#: ident.c:421
 #, c-format
 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:419 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:608
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
 
+#: list-objects.c:129
+#, c-format
+msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+msgstr "mục “%s” trong cây %s có nút cây, nhưng không phải là một cây"
+
+#: list-objects.c:142
+#, c-format
+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:378
+#, 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”"
+
 #: list-objects-filter-options.c:36
 msgid "multiple filter-specs cannot be combined"
 msgstr "không thể tổ hợp nhiều đặc tả kiểu lọc"
@@ -2905,7 +3509,11 @@ msgstr "không thể tổ hợp nhiều đặc tả kiểu lọc"
 msgid "expected 'tree:<depth>'"
 msgstr "cần “tree:<depth>”"
 
-#: list-objects-filter-options.c:152
+#: list-objects-filter-options.c:84
+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:158
 msgid "cannot change partial clone promisor remote"
 msgstr "không thể thay đổi nhân bản từng phần máy chủ promisor"
 
@@ -2937,119 +3545,120 @@ msgstr "Không thể tạo “%s.lock”: %s"
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1884 builtin/am.c:1918
-#: builtin/checkout.c:416 builtin/checkout.c:745 builtin/clone.c:771
+#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
+#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
+#: builtin/stash.c:264
 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"
 
-#: merge-recursive.c:332
+#: merge-recursive.c:322
 msgid "(bad commit)\n"
 msgstr "(commit sai)\n"
 
-#: merge-recursive.c:355
+#: merge-recursive.c:345
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "addinfo_cache gặp lỗi đối với đường dẫn “%s”; việc hòa trộn bị bãi bỏ."
 
-#: merge-recursive.c:364
+#: merge-recursive.c:354
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 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:447
+#: merge-recursive.c:437
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:902
+#: merge-recursive.c:861
 #, 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:913
+#: merge-recursive.c:872
 #, 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:927 merge-recursive.c:946
+#: merge-recursive.c:886 merge-recursive.c:905
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:936
+#: merge-recursive.c:895
 #, 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:978 builtin/cat-file.c:40
+#: merge-recursive.c:936 builtin/cat-file.c:40
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:980
+#: merge-recursive.c:939
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "mong đợi đối tượng blob cho %s “%s”"
 
-#: merge-recursive.c:1004
+#: merge-recursive.c:963
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "gặp lỗi khi mở “%s”: %s"
 
-#: merge-recursive.c:1015
+#: merge-recursive.c:974
 #, 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:1020
+#: merge-recursive.c:979
 #, 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:1211
+#: merge-recursive.c:1175
 #, 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-recursive.c:1218
+#: merge-recursive.c:1182
 #, 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-recursive.c:1225
+#: merge-recursive.c:1189
 #, 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-recursive.c:1233 merge-recursive.c:1245
+#: merge-recursive.c:1197 merge-recursive.c:1209
 #, 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:1236 merge-recursive.c:1248
+#: merge-recursive.c:1200 merge-recursive.c:1212
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s”"
 
-#: merge-recursive.c:1271
+#: merge-recursive.c:1235
 #, 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:1275
+#: merge-recursive.c:1239
 #, 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:1276
+#: merge-recursive.c:1240
 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:1279
+#: merge-recursive.c:1243
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3066,33 +3675,33 @@ msgstr ""
 "\n"
 "cái mà sẽ chấp nhận gợi ý này.\n"
 
-#: merge-recursive.c:1288
+#: merge-recursive.c:1252
 #, 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:1361
+#: merge-recursive.c:1325
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:1366
+#: merge-recursive.c:1330
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-recursive.c:1398
+#: merge-recursive.c:1362
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1419
+#: merge-recursive.c:1385
 #, 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:1486
+#: merge-recursive.c:1457
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3101,7 +3710,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:1491
+#: merge-recursive.c:1462
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3110,7 +3719,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:1498
+#: merge-recursive.c:1469
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3119,7 +3728,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:1503
+#: merge-recursive.c:1474
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3128,45 +3737,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:1537
+#: merge-recursive.c:1509
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1537
+#: merge-recursive.c:1509
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1633 merge-recursive.c:2481 merge-recursive.c:3213
+#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
 #, 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:1643
+#: merge-recursive.c:1599
 #, 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:1706
+#: merge-recursive.c:1657
 #, 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:1734
+#: merge-recursive.c:1687
 #, 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:1739
+#: merge-recursive.c:1692
 #, 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:1759
+#: merge-recursive.c:1711
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3175,17 +3784,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:1764
+#: merge-recursive.c:1716
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1825
 #, 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:2064
+#: merge-recursive.c:2030
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3196,7 +3805,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:2096
+#: merge-recursive.c:2062
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3205,7 +3814,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-recursive.c:2106
+#: merge-recursive.c:2072
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3214,7 +3823,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-recursive.c:2198
+#: merge-recursive.c:2164
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3223,7 +3832,7 @@ 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:2443
+#: merge-recursive.c:2408
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3232,82 +3841,118 @@ 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-recursive.c:3022
+#: merge-recursive.c:2929
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:3025
+#: merge-recursive.c:2932
 #, 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:3094
+#: merge-recursive.c:2996
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:3094
+#: merge-recursive.c:2996
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:3105
+#: merge-recursive.c:3008
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:3112
+#: merge-recursive.c:3012
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:3160
+#: merge-recursive.c:3035
 #, 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:3182 git-submodule.sh:861
+#: merge-recursive.c:3057 git-submodule.sh:937
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:3183
+#: merge-recursive.c:3058
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:3216
+#: merge-recursive.c:3088
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:3319
+#: merge-recursive.c:3170
+#, c-format
+msgid ""
+"Path updated: %s added in %s inside a directory that was renamed in %s; "
+"moving it to %s."
+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-recursive.c:3173
+#, c-format
+msgid ""
+"CONFLICT (file location): %s added in %s inside a directory that was renamed "
+"in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"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-recursive.c:3177
+#, c-format
+msgid ""
+"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
+"%s; moving it to %s."
+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-recursive.c:3180
+#, c-format
+msgid ""
+"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
+"was renamed in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"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-recursive.c:3294
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:3345
+#: merge-recursive.c:3317
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:3351
+#: merge-recursive.c:3322
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:3358
+#: merge-recursive.c:3329
 #, 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:3367
+#: merge-recursive.c:3338
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:3376
+#: merge-recursive.c:3347
 #, 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:3417
+#: merge-recursive.c:3385
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3317,146 +3962,158 @@ msgstr ""
 "hòa trộn:\n"
 "  %s"
 
-#: merge-recursive.c:3428
+#: merge-recursive.c:3396
 msgid "Already up to date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:3437
+#: merge-recursive.c:3405
 #, 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:3536
+#: merge-recursive.c:3504
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3549
+#: merge-recursive.c:3517
 #, 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:3588
+#: merge-recursive.c:3556
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3654
+#: merge-recursive.c:3622
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3670 builtin/merge.c:692 builtin/merge.c:850
+#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục."
 
-#: midx.c:65
+#: midx.c:66
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "tập tin đồ thị multi-pack-index %s quá nhỏ"
 
-#: midx.c:81
+#: midx.c:82
 #, 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:86
+#: midx.c:87
 #, 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:91
+#: midx.c:92
 #, c-format
 msgid "hash version %u does not match"
 msgstr "phiên bản băm “%u” không khớp"
 
-#: midx.c:105
+#: midx.c:106
 msgid "invalid chunk offset (too large)"
 msgstr "khoảng bù đoạn không hợp lệ (quá lớn)"
 
-#: midx.c:129
+#: midx.c:130
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr "mã mảnh kết thúc multi-pack-index xuất hiện sớm hơn bình thường"
 
-#: midx.c:142
+#: midx.c:143
 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:144
+#: midx.c:145
 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:146
+#: midx.c:147
 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:148
+#: midx.c:149
 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:162
+#: midx.c:163
 #, 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:205
+#: midx.c:208
 #, 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:246
+#: midx.c:258
 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:271
+#: midx.c:286
 msgid "error preparing packfile from multi-pack-index"
 msgstr "lỗi chuẩn bị tập tin gói từ multi-pack-index"
 
-#: midx.c:407
+#: midx.c:457
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "gặp lỗi khi thêm tập tin gói “%s”"
 
-#: midx.c:413
+#: midx.c:463
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "gặp lỗi khi mở pack-index “%s”"
 
-#: midx.c:507
+#: midx.c:557
 #, 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:943
+#: midx.c:993
 #, 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:981
+#: midx.c:1048
+msgid "Looking for referenced packfiles"
+msgstr "Đang khóa cho các gói bị tham chiếu"
+
+#: midx.c:1063
 #, 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:992
+#: midx.c:1067
+msgid "Verifying OID order in MIDX"
+msgstr "Thẩm tra thứ tự OID trong MIDX"
+
+#: midx.c:1076
 #, 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:996
+#: midx.c:1095
+msgid "Sorting objects by packfile"
+msgstr "Đang sắp xếp các đối tượng theo tập tin gói"
+
+#: midx.c:1101
 msgid "Verifying object offsets"
 msgstr "Đang thẩm tra các khoảng bù đối tượng"
 
-#: midx.c:1004
+#: midx.c:1117
 #, 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:1010
+#: midx.c:1123
 #, 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:1019
+#: midx.c:1132
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
@@ -3544,86 +4201,81 @@ msgstr "không thể phân tích đối tượng: “%s”"
 msgid "hash mismatch %s"
 msgstr "mã băm không khớp %s"
 
-#: packfile.c:607
+#: packfile.c:617
 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:1870
+#: packfile.c:1868
 #, 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:1874
+#: packfile.c:1872
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "vị trí tương đối vượt quá cuối của chỉ mục gói cho %s (mục lục bị cắt cụt à?)"
 
-#: parse-options.c:35
+#: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
 msgstr "“%s” yêu cầu một giá trị"
 
-#: parse-options.c:69
+#: parse-options.c:73
 #, c-format
 msgid "%s is incompatible with %s"
 msgstr "%s là xung khắc với %s"
 
-#: parse-options.c:74
+#: parse-options.c:78
 #, c-format
 msgid "%s : incompatible with something else"
 msgstr "%s : xung khắc với các cái khác"
 
-#: parse-options.c:88 parse-options.c:92 parse-options.c:260
+#: parse-options.c:92 parse-options.c:96 parse-options.c:319
 #, c-format
 msgid "%s takes no value"
 msgstr "%s k nhận giá trị"
 
-#: parse-options.c:90
+#: parse-options.c:94
 #, c-format
 msgid "%s isn't available"
 msgstr "%s không sẵn có"
 
-#: parse-options.c:178
-#, c-format
-msgid "%s expects a numerical value"
-msgstr "tùy chọn “%s” cần một giá trị bằng số"
-
-#: parse-options.c:194
+#: parse-options.c:219
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr "%s cần một giá trị dạng số không âm với một hậu tố tùy chọn k/m/g"
 
-#: parse-options.c:322
+#: parse-options.c:389
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "tùy chọn chưa rõ rang: %s (nên là --%s%s hay --%s%s)"
 
-#: parse-options.c:356 parse-options.c:364
+#: parse-options.c:423 parse-options.c:431
 #, c-format
 msgid "did you mean `--%s` (with two dashes ?)"
 msgstr "có phải ý bạn là “--%s“ (với hai dấu gạch ngang?)"
 
-#: parse-options.c:649
+#: parse-options.c:859
 #, c-format
 msgid "unknown option `%s'"
 msgstr "không hiểu tùy chọn “%s”"
 
-#: parse-options.c:651
+#: parse-options.c:861
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "không hiểu tùy chọn “%c”"
 
-#: parse-options.c:653
+#: parse-options.c:863
 #, 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:675
+#: parse-options.c:887
 msgid "..."
 msgstr "…"
 
-#: parse-options.c:694
+#: parse-options.c:906
 #, c-format
 msgid "usage: %s"
 msgstr "cách dùng: %s"
@@ -3631,41 +4283,46 @@ msgstr "cách dùng: %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:700
+#: parse-options.c:912
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:703
+#: parse-options.c:915
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:742
+#: parse-options.c:954
 msgid "-NUM"
 msgstr "-SỐ"
 
-#: parse-options-cb.c:21
+#: parse-options.c:968
+#, c-format
+msgid "alias of --%s"
+msgstr "bí danh của --%s"
+
+#: parse-options-cb.c:20 parse-options-cb.c:24
 #, c-format
 msgid "option `%s' expects a numerical value"
 msgstr "tùy chọn “%s” cần một giá trị bằng số"
 
-#: parse-options-cb.c:38
+#: parse-options-cb.c:41
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "ngày tháng hết hạn dị hình “%s”"
 
-#: parse-options-cb.c:51
+#: parse-options-cb.c:54
 #, c-format
 msgid "option `%s' expects \"always\", \"auto\", or \"never\""
 msgstr "tùy chọn “%s” cần \"always\", \"auto\", hoặc \"never\""
 
-#: parse-options-cb.c:110
+#: parse-options-cb.c:130 parse-options-cb.c:147
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "tên đối tượng dị hình “%s”"
 
-#: path.c:894
+#: path.c:897
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Không thể làm %s được ghi bởi nhóm"
@@ -3745,45 +4402,53 @@ msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ t
 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"
 
-#: pkt-line.c:104
+#: pkt-line.c:92
+msgid "unable to write flush packet"
+msgstr "không thể đẩy dữ liệu của gói lên đĩa"
+
+#: pkt-line.c:99
+msgid "unable to write delim packet"
+msgstr "không thể ghi gói delim"
+
+#: pkt-line.c:106
 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:144 pkt-line.c:230
+#: pkt-line.c:146 pkt-line.c:232
 msgid "protocol error: impossibly long line"
 msgstr "lỗi giao thức: không thể làm được dòng dài"
 
-#: pkt-line.c:160 pkt-line.c:162
+#: pkt-line.c:162 pkt-line.c:164
 msgid "packet write with format failed"
 msgstr "gặp lỗi khi ghi gói có định dạng"
 
-#: pkt-line.c:194
+#: pkt-line.c:196
 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:201 pkt-line.c:208
+#: pkt-line.c:203 pkt-line.c:210
 msgid "packet write failed"
 msgstr "gặp lỗi khi ghi gói"
 
-#: pkt-line.c:293
+#: pkt-line.c:295
 msgid "read error"
 msgstr "lỗi đọc"
 
-#: pkt-line.c:301
+#: pkt-line.c:303
 msgid "the remote end hung up unexpectedly"
 msgstr "máy chủ bị treo bất ngờ"
 
-#: pkt-line.c:329
+#: pkt-line.c:331
 #, 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:339 pkt-line.c:344
+#: pkt-line.c:341 pkt-line.c:346
 #, 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:353
+#: pkt-line.c:362
 #, c-format
 msgid "remote error: %s"
 msgstr "lỗi máy chủ: %s"
@@ -3797,7 +4462,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:963
+#: pretty.c:966
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
 
@@ -3809,7 +4474,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:74 sequencer.c:4828
+#: range-diff.c:74 sequencer.c:4897
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "không thể phân tích lần chuyển giao “%s”"
@@ -3823,47 +4488,52 @@ msgstr "gặp lỗi khi tạo khác biệt"
 msgid "could not parse log for '%s'"
 msgstr "không thể phân tích nhật ký cho “%s”"
 
-#: read-cache.c:673
+#: read-cache.c:680
 #, 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:689
+#: read-cache.c:696
 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:710
+#: read-cache.c:718
 #, 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:765
+#: read-cache.c:723
+#, 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:775
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "không thể đánh mục lục tập tin “%s”"
 
-#: read-cache.c:784
+#: read-cache.c:794
 #, 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:795
+#: read-cache.c:805
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "không thể lấy thống kê “%s”"
 
-#: read-cache.c:1304
+#: read-cache.c:1314
 #, 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:1489
+#: read-cache.c:1499
 msgid "Refresh index"
 msgstr "Làm tươi mới bảng mục lục"
 
-#: read-cache.c:1603
+#: read-cache.c:1613
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -3872,7 +4542,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:1613
+#: read-cache.c:1623
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -3881,144 +4551,151 @@ 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:1684
+#: read-cache.c:1679
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "chữ ký sai 0x%08x"
 
-#: read-cache.c:1687
+#: read-cache.c:1682
 #, c-format
 msgid "bad index version %d"
 msgstr "phiên bản mục lục sai %d"
 
-#: read-cache.c:1696
+#: read-cache.c:1691
 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:1726
+#: read-cache.c:1721
 #, 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:1728
+#: read-cache.c:1723
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "đang lờ đi phần mở rộng %.4s"
 
-#: read-cache.c:1765
+#: read-cache.c:1760
 #, 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:1781
+#: read-cache.c:1776
 #, 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:1836
+#: read-cache.c:1833
 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:1839
+#: read-cache.c:1836
 #, 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:1842
+#: read-cache.c:1839
 #, 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:1949 read-cache.c:2227 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:459 builtin/check-ignore.c:178 builtin/checkout.c:294
-#: builtin/checkout.c:622 builtin/checkout.c:991 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:116 builtin/grep.c:498
+#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
+#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
+#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
 #: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
 #: builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: read-cache.c:2090
+#: read-cache.c:2087
 #, 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:2103
+#: read-cache.c:2100
 #, 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:2136
+#: read-cache.c:2133
 #, 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:2140
+#: read-cache.c:2137
 #, 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:2144
+#: read-cache.c:2141
 #, 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:2148
+#: read-cache.c:2145
 #, 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:2190
+#: read-cache.c:2187
 #, 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:2217
+#: read-cache.c:2214
 #, 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:2239
+#: read-cache.c:2246
 #, 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:2274
+#: read-cache.c:2293
 #, 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:2971 sequencer.c:4791 wrapper.c:658 builtin/merge.c:1087
+#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: read-cache.c:3044 sequencer.c:2237 sequencer.c:3647
+#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
 #, c-format
 msgid "could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: read-cache.c:3057
+#: read-cache.c:3105
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "không thể mở thư mục git: %s"
 
-#: read-cache.c:3069
+#: read-cache.c:3117
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "không thể bỏ liên kết (unlink): “%s”"
 
-#: read-cache.c:3088
+#: read-cache.c:3142
 #, 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:3237
+#: read-cache.c:3291
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s: không thể xóa bỏ stage #0"
 
-#: rebase-interactive.c:10
+#: rebase-interactive.c:26
+#, c-format
+msgid ""
+"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
+msgstr ""
+"không nhận ra cài đặt %s cho tùy chọn rebase.missingCommitsCheck. Nên bỏ qua."
+
+#: rebase-interactive.c:35
 msgid ""
 "\n"
 "Commands:\n"
@@ -4064,7 +4741,13 @@ msgstr ""
 "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"
 
-#: rebase-interactive.c:31 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:56
+#, c-format
+msgid "Rebase %s onto %s (%d command)"
+msgid_plural "Rebase %s onto %s (%d commands)"
+msgstr[0] "Cải tổ %s vào %s (%d lệnh )"
+
+#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -4073,7 +4756,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:34 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -4081,7 +4764,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:40 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4095,7 +4778,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -4105,125 +4788,155 @@ 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:51 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900
 msgid "Note that empty commits are commented out"
 msgstr "Chú ý rằng lần chuyển giao trống rỗng là ghi chú"
 
-#: rebase-interactive.c:62 rebase-interactive.c:75 sequencer.c:2219
-#: sequencer.c:4569 sequencer.c:4625 sequencer.c:4900
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
+#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
 #, c-format
-msgid "could not read '%s'."
-msgstr "không thể đọc “%s”."
+msgid "could not write '%s'"
+msgstr "không thể ghi “%s”"
+
+#: rebase-interactive.c:108
+#, c-format
+msgid "could not copy '%s' to '%s'."
+msgstr "không thể chép “%s” sang “%s”."
+
+#: rebase-interactive.c:173
+#, c-format
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):\n"
+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:180
+#, c-format
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error.\n"
+"\n"
+msgstr ""
+"Để tránh thông báo này, dùng \"drop\" một cách rõ ràng để xóa bỏ một lần "
+"chuyển giao.\n"
+"\n"
+"Dùng “git config rebase.missingCommitsCheck” để thay đổi mức độ của cảnh "
+"báo.\n"
+"Cánh ứng xử có thể là: ignore, warn, error.\n"
+"\n"
 
 #: refs.c:192
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "“%s” không chỉ đến một lần chuyển giao hợp lệ nào cả!"
 
-#: refs.c:583
+#: refs.c:597
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "đang lờ đi tham chiếu mềm thừa %s"
 
-#: refs.c:585 ref-filter.c:1976
+#: refs.c:599 ref-filter.c:1982
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: refs.c:711
+#: refs.c:734
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "không thể mở “%s” để ghi: %s"
 
-#: refs.c:721 refs.c:772
+#: refs.c:744 refs.c:795
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "không thể đọc tham chiếu “%s”"
 
-#: refs.c:727
+#: refs.c:750
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "tham chiếu “%s” đã có từ trước rồi"
 
-#: refs.c:732
+#: refs.c:755
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "không cần ID đối tượng khi ghi “%s”"
 
-#: refs.c:740 sequencer.c:396 sequencer.c:2549 sequencer.c:2675
-#: sequencer.c:2689 sequencer.c:2923 sequencer.c:4789 sequencer.c:4852
-#: wrapper.c:656
+#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
+#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
 
-#: refs.c:767 sequencer.c:4787 sequencer.c:4846 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:713 builtin/rebase.c:575
+#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: refs.c:774
+#: refs.c:797
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "gặp ID đối tượng không cần khi xóa “%s”"
 
-#: refs.c:905
+#: refs.c:928
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "nhật ký cho tham chiếu %s có khoảng trống sau %s"
 
-#: refs.c:911
+#: refs.c:934
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "nhật ký cho tham chiếu %s kết thúc bất ngờ trên %s"
 
-#: refs.c:969
+#: refs.c:993
 #, c-format
 msgid "log for %s is empty"
 msgstr "nhật ký cho %s trống rỗng"
 
-#: refs.c:1061
+#: refs.c:1085
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "từ chối cập nhật tham chiếu với tên sai “%s”"
 
-#: refs.c:1137
+#: refs.c:1161
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "update_ref bị lỗi cho ref “%s”: %s"
 
-#: refs.c:1911
+#: refs.c:1942
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "không cho phép đa cập nhật cho tham chiếu “%s”"
 
-#: refs.c:1943
+#: refs.c:1974
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "cập nhật tham chiếu bị cấm trong môi trường kiểm tra"
 
-#: refs.c:2039 refs.c:2069
+#: refs.c:2070 refs.c:2100
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "“%s” sẵn có; không thể tạo “%s”"
 
-#: refs.c:2045 refs.c:2080
+#: refs.c:2076 refs.c:2111
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "không thể xử lý “%s” và “%s” cùng một lúc"
 
-#: refs/files-backend.c:1228
+#: refs/files-backend.c:1234
 #, c-format
 msgid "could not remove reference %s"
 msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: refs/files-backend.c:1242 refs/packed-backend.c:1532
+#: refs/files-backend.c:1248 refs/packed-backend.c:1532
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "không thể xóa bỏ tham chiếu %s: %s"
 
-#: refs/files-backend.c:1245 refs/packed-backend.c:1545
+#: refs/files-backend.c:1251 refs/packed-backend.c:1545
 #, c-format
 msgid "could not delete references: %s"
 msgstr "không thể xóa bỏ tham chiếu: %s"
@@ -4233,7 +4946,7 @@ msgstr "không thể xóa bỏ tham chiếu: %s"
 msgid "invalid refspec '%s'"
 msgstr "refspec không hợp lệ “%s”"
 
-#: ref-filter.c:39 wt-status.c:1861
+#: ref-filter.c:39 wt-status.c:1909
 msgid "gone"
 msgstr "đã ra đi"
 
@@ -4357,17 +5070,17 @@ msgstr "cần giá trị độ rộng dương với nguyên tử %%(align)"
 msgid "unrecognized %%(if) argument: %s"
 msgstr "đối số không được thừa nhận %%(if): %s"
 
-#: ref-filter.c:527
+#: ref-filter.c:531
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "tên trường dị hình: %.*s"
 
-#: ref-filter.c:554
+#: ref-filter.c:558
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "không hiểu tên trường: %.*s"
 
-#: ref-filter.c:558
+#: ref-filter.c:562
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
@@ -4375,62 +5088,62 @@ msgstr ""
 "không phải là một kho git, nhưng trường “%.*s” yêu cầu truy cập vào dữ liệu "
 "đối tượng"
 
-#: ref-filter.c:682
+#: ref-filter.c:686
 #, c-format
 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:745
+#: ref-filter.c:749
 #, 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:747
+#: ref-filter.c:751
 #, 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:749
+#: ref-filter.c:753
 #, 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:777
+#: ref-filter.c:781
 #, 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:779
+#: ref-filter.c:783
 #, 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:781
+#: ref-filter.c:785
 #, 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:796
+#: ref-filter.c:800
 #, 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:853
+#: ref-filter.c:857
 #, c-format
 msgid "malformed format string %s"
 msgstr "chuỗi định dạng dị hình %s"
 
-#: ref-filter.c:1447
+#: ref-filter.c:1453
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(không nhánh, đang cải tổ %s)"
 
-#: ref-filter.c:1450
+#: ref-filter.c:1456
 #, 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:1453
+#: ref-filter.c:1459
 #, 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)"
@@ -4438,7 +5151,7 @@ msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1461
+#: ref-filter.c:1467
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD được tách rời tại %s)"
@@ -4446,56 +5159,56 @@ msgstr "(HEAD được tách rời tại %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1468
+#: ref-filter.c:1474
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD được tách rời từ %s)"
 
-#: ref-filter.c:1472
+#: ref-filter.c:1478
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: ref-filter.c:1506 ref-filter.c:1663
+#: ref-filter.c:1512 ref-filter.c:1669
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1516
+#: ref-filter.c:1522
 #, 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:1882
+#: ref-filter.c:1888
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:1971
+#: ref-filter.c:1977
 #, 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:2257
+#: ref-filter.c:2263
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:2352
+#: ref-filter.c:2363
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "tùy chọn “%s” là xung khắc với tùy chọn --merged"
 
-#: ref-filter.c:2355
+#: ref-filter.c:2366
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "tùy chọn “%s” là xung khắc với tùy chọn --no-merged"
 
-#: ref-filter.c:2365
+#: ref-filter.c:2376
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: ref-filter.c:2370
+#: ref-filter.c:2381
 #, 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"
@@ -4694,42 +5407,42 @@ msgstr "không thể tìm thấy tham chiếu máy chủ %s"
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Đang bỏ qua tham chiếu thú vị nội bộ “%s”"
 
-#: remote.c:1990
+#: remote.c:2016
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Nhánh của bạn dựa trên cơ sở là “%s”, nhưng trên thượng nguồn không còn.\n"
 
-#: remote.c:1994
+#: remote.c:2020
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:1997
+#: remote.c:2023
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Nhánh của bạn đã cập nhật với “%s”.\n"
 
-#: remote.c:2001
+#: remote.c:2027
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Nhánh của bạn và “%s” tham chiếu đến các lần chuyển giao khác nhau.\n"
 
-#: remote.c:2004
+#: remote.c:2030
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (dùng \"%s\" để biết thêm chi tiết)\n"
 
-#: remote.c:2008
+#: remote.c:2034
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 
-#: remote.c:2014
+#: remote.c:2040
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (dùng \"git push\" để xuất bản các lần chuyển giao nội bộ của bạn)\n"
 
-#: remote.c:2017
+#: remote.c:2043
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -4738,11 +5451,11 @@ msgstr[0] ""
 "Nhánh của bạn đứng đằng sau “%s” %d lần chuyển giao, và có thể được chuyển-"
 "tiếp-nhanh.\n"
 
-#: remote.c:2025
+#: remote.c:2051
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (dùng \"git pull\" để cập nhật nhánh nội bộ của bạn)\n"
 
-#: remote.c:2028
+#: remote.c:2054
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -4755,13 +5468,13 @@ msgstr[0] ""
 "và có %d và %d lần chuyển giao khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 
-#: remote.c:2038
+#: remote.c:2064
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
 "bạn)\n"
 
-#: remote.c:2221
+#: remote.c:2247
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "không thể phân tích tên đối tượng mong muốn “%s”"
@@ -4789,12 +5502,6 @@ msgstr "MERGE_RR sai hỏng"
 msgid "unable to write rerere record"
 msgstr "không thể ghi bản ghi rerere"
 
-#: rerere.c:485 rerere.c:692 sequencer.c:3186 sequencer.c:3212
-#: builtin/fsck.c:314
-#, c-format
-msgid "could not write '%s'"
-msgstr "không thể ghi “%s”"
-
 #: rerere.c:495
 #, c-format
 msgid "there were errors while writing '%s' (%s)"
@@ -4845,8 +5552,8 @@ msgstr "không thể unlink stray “%s”"
 msgid "Recorded preimage for '%s'"
 msgstr "Preimage đã được ghi lại cho “%s”"
 
-#: rerere.c:881 submodule.c:2012 builtin/submodule--helper.c:1417
-#: builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
+#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
@@ -4880,29 +5587,33 @@ msgstr "Quên phân giải cho “%s”\n"
 msgid "unable to open rr-cache directory"
 msgstr "không thể mở thư mục rr-cache"
 
-#: revision.c:2484
+#: revision.c:2476
 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:2487
+#: revision.c:2479
 #, 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:2684
+#: revision.c:2679
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent xung khắc với --bisect"
 
-#: run-command.c:742
+#: revision.c:2683
+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"
+
+#: run-command.c:763
 msgid "open /dev/null failed"
 msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: run-command.c:1231
+#: run-command.c:1269
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "không thể tạo tuyến async: %s"
 
-#: run-command.c:1295
+#: run-command.c:1333
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -4950,34 +5661,34 @@ msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 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:184
+#: sequencer.c:187
 #, 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:288
+#: sequencer.c:292
 #, c-format
 msgid "could not delete '%s'"
 msgstr "không thể xóa bỏ “%s”"
 
-#: sequencer.c:314
+#: sequencer.c:318
 msgid "revert"
 msgstr "hoàn nguyên"
 
-#: sequencer.c:316
+#: sequencer.c:320
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:318
+#: sequencer.c:322
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:320
+#: sequencer.c:324
 #, c-format
 msgid "unknown action: %d"
 msgstr "không nhận ra thao tác: %d"
 
-#: sequencer.c:378
+#: sequencer.c:382
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -4985,7 +5696,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 <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
 
-#: sequencer.c:381
+#: sequencer.c:385
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -4995,110 +5706,115 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:394 sequencer.c:2671
+#: sequencer.c:398 sequencer.c:2801
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:401
+#: sequencer.c:405
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:406 sequencer.c:2554 sequencer.c:2677 sequencer.c:2691
-#: sequencer.c:2931
+#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
+#: sequencer.c:3084
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:429 sequencer.c:931 sequencer.c:1615 sequencer.c:2574
-#: sequencer.c:2913 sequencer.c:3022 builtin/am.c:245 builtin/commit.c:748
-#: builtin/merge.c:1085 builtin/rebase.c:154
+#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
+#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
+#: builtin/merge.c:1115 builtin/rebase.c:567
 #, c-format
 msgid "could not read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: sequencer.c:455
+#: sequencer.c:459
 #, 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:459
+#: sequencer.c:463
 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:491
+#: sequencer.c:495
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
 
+#: sequencer.c:534 builtin/tag.c:555
+#, c-format
+msgid "Invalid cleanup mode %s"
+msgstr "Chế độ dọn dẹp không hợp lệ %s"
+
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:582
+#: sequencer.c:629
 #, 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:598
+#: sequencer.c:646
 msgid "unable to update cache tree"
 msgstr "không thể cập nhật cây bộ nhớ đệm"
 
-#: sequencer.c:612
+#: sequencer.c:660
 msgid "could not resolve HEAD commit"
 msgstr "không thể phân giải lần chuyển giao HEAD"
 
-#: sequencer.c:692
+#: sequencer.c:740
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "không có khóa hiện diện trong “%.*s”"
 
-#: sequencer.c:703
+#: sequencer.c:751
 #, 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:740 wrapper.c:227 wrapper.c:397 builtin/am.c:704
-#: builtin/am.c:796 builtin/merge.c:1082 builtin/rebase.c:617
+#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
+#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: sequencer.c:750
+#: sequencer.c:798
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "“GIT_AUTHOR_NAME” đã sẵn đưa ra rồi"
 
-#: sequencer.c:755
+#: sequencer.c:803
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "“GIT_AUTHOR_EMAIL” đã sẵn đưa ra rồi"
 
-#: sequencer.c:760
+#: sequencer.c:808
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "“GIT_AUTHOR_DATE” đã sẵn đưa ra rồi"
 
-#: sequencer.c:764
+#: sequencer.c:812
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "không hiểu biến “%s”"
 
-#: sequencer.c:769
+#: sequencer.c:817
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "thiếu “GIT_AUTHOR_NAME”"
 
-#: sequencer.c:771
+#: sequencer.c:819
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "thiếu “GIT_AUTHOR_EMAIL”"
 
-#: sequencer.c:773
+#: sequencer.c:821
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "thiếu “GIT_AUTHOR_DATE”"
 
-#: sequencer.c:833
+#: sequencer.c:881
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "định dạng ngày tháng không hợp lệ “%s” trong “%s”"
 
-#: sequencer.c:850
+#: sequencer.c:898
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5127,15 +5843,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:945
+#: sequencer.c:992
 msgid "writing root commit"
 msgstr "ghi chuyển giao gốc"
 
-#: sequencer.c:1155
+#: sequencer.c:1213
 msgid "'prepare-commit-msg' hook failed"
 msgstr "móc “prepare-commit-msg” bị lỗi"
 
-#: sequencer.c:1162
+#: sequencer.c:1220
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5166,7 +5882,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1175
+#: sequencer.c:1233
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5194,297 +5910,308 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1217
+#: sequencer.c:1275
 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:1219
+#: sequencer.c:1277
 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:1265
+#: sequencer.c:1323
 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:1267
+#: sequencer.c:1325
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:1271
+#: sequencer.c:1329
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: sequencer.c:1292
+#: sequencer.c:1350
 msgid "could not parse HEAD"
 msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:1294
+#: sequencer.c:1352
 #, 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:1298 builtin/commit.c:1546
+#: sequencer.c:1356 builtin/commit.c:1551
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:1350 sequencer.c:1964
+#: sequencer.c:1408 sequencer.c:2001
 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:1360 builtin/am.c:1570 builtin/merge.c:678
+#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688
 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:1377 sequencer.c:1433
+#: sequencer.c:1435 sequencer.c:1496
 #, 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:1399 builtin/am.c:1591 builtin/commit.c:1649 builtin/merge.c:859
-#: builtin/merge.c:884
+#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882
+#: builtin/merge.c:906
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:1460
+#: sequencer.c:1523
 #, c-format
 msgid "could not parse commit %s"
 msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:1465
+#: sequencer.c:1528
 #, 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:1565 sequencer.c:1675
+#: sequencer.c:1602 sequencer.c:1712
 #, c-format
 msgid "unknown command: %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:1622 sequencer.c:1647
+#: sequencer.c:1659 sequencer.c:1684
 #, 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:1632 sequencer.c:4808
+#: sequencer.c:1669
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:1634 sequencer.c:2958
+#: sequencer.c:1671 sequencer.c:3111
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1636
+#: sequencer.c:1673
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:1642
+#: sequencer.c:1679
 #, c-format
 msgid "cannot write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:1649 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:1657
+#: sequencer.c:1694
 #, 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:1664
+#: sequencer.c:1701
 #, 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:1670
+#: sequencer.c:1707
 #, 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:1758
+#: sequencer.c:1795
 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:1765
+#: sequencer.c:1802
 msgid "cannot fixup root commit"
 msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:1784
+#: sequencer.c:1821
 #, 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:1792 sequencer.c:1800
+#: sequencer.c:1829 sequencer.c:1837
 #, 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:1806
+#: sequencer.c:1843
 #, 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:1825
+#: sequencer.c:1862
 #, 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:1890
+#: sequencer.c:1927
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:1945
+#: sequencer.c:1982
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:1946
+#: sequencer.c:1983
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:2005
+#: sequencer.c:2042
 #, 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:2012
+#: sequencer.c:2049
 #, 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:2094
+#: sequencer.c:2118
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:2103
+#: sequencer.c:2127
 #, c-format
 msgid "missing arguments for %s"
 msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:2163
+#: sequencer.c:2164
+#, c-format
+msgid "could not parse '%.*s'"
+msgstr "không thể phân tích cú pháp “%.*s”"
+
+#: sequencer.c:2226
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:2171
+#: sequencer.c:2237
 #, 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:2243
+#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178
+#: builtin/rebase.c:204 builtin/rebase.c:229
+#, c-format
+msgid "could not read '%s'."
+msgstr "không thể đọc “%s”."
+
+#: sequencer.c:2360
 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:2245
+#: sequencer.c:2362
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:2250
+#: sequencer.c:2367
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:2261
+#: sequencer.c:2378
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:2263
+#: sequencer.c:2380
 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:2333
+#: sequencer.c:2462
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:2420
+#: sequencer.c:2549
 msgid "unusable squash-onto"
 msgstr "squash-onto không dùng được"
 
-#: sequencer.c:2436
+#: sequencer.c:2565
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:2518 sequencer.c:4067
+#: sequencer.c:2648 sequencer.c:4227
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:2526
+#: sequencer.c:2656
 msgid "a cherry-pick or revert is already in progress"
 msgstr "có một thao tác “cherry-pick” hoặc “revert” đang được thực hiện"
 
-#: sequencer.c:2527
+#: sequencer.c:2657
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:2530
+#: sequencer.c:2660
 #, 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:2544
+#: sequencer.c:2674
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:2599 sequencer.c:3819
+#: sequencer.c:2729 sequencer.c:3979
 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:2601
+#: sequencer.c:2731
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:2603 sequencer.c:2638
+#: sequencer.c:2733 sequencer.c:2768
 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:2624 builtin/grep.c:732
+#: sequencer.c:2754 builtin/grep.c:732
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:2626
+#: sequencer.c:2756
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:2627
+#: sequencer.c:2757
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:2633
+#: sequencer.c:2763
 #, 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:2644
+#: sequencer.c:2774
 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:2750 sequencer.c:3735
+#: sequencer.c:2903 sequencer.c:3894
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:2788 sequencer.c:3715
+#: sequencer.c:2941 sequencer.c:3874
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:2805
+#: sequencer.c:2958
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:2813
+#: sequencer.c:2966
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -5503,27 +6230,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2823
+#: sequencer.c:2976
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Không thể áp dụng %s… %.*s"
 
-#: sequencer.c:2830
+#: sequencer.c:2983
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Không hòa trộn %.*s"
 
-#: sequencer.c:2844 sequencer.c:2848 builtin/difftool.c:641
+#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:2870 sequencer.c:3293 builtin/rebase.c:424 builtin/rebase.c:1230
-#: builtin/rebase.c:1591 builtin/rebase.c:1646
+#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580
+#: builtin/rebase.c:1940 builtin/rebase.c:1995
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
-#: sequencer.c:2875
+#: sequencer.c:3028
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -5538,11 +6265,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2881
+#: sequencer.c:3034
 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:2887
+#: sequencer.c:3040
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -5559,76 +6286,76 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2948
+#: sequencer.c:3101
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "tên nhãn dị hình: “%.*s”"
 
-#: sequencer.c:3002
+#: sequencer.c:3155
 msgid "writing fake root commit"
 msgstr "ghi lần chuyển giao gốc giả"
 
-#: sequencer.c:3007
+#: sequencer.c:3160
 msgid "writing squash-onto"
 msgstr "đang ghi squash-onto"
 
-#: sequencer.c:3045 builtin/rebase.c:429 builtin/rebase.c:435
+#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "gặp lỗi khi tìm cây của %s"
 
-#: sequencer.c:3063 builtin/rebase.c:448
+#: sequencer.c:3216 builtin/rebase.c:863
 msgid "could not write index"
 msgstr "không thể ghi bảng mục lục"
 
-#: sequencer.c:3090
+#: sequencer.c:3243
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: sequencer.c:3118
+#: sequencer.c:3271
 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:3140
+#: sequencer.c:3293
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "không thể phân tích “%.*s”"
 
-#: sequencer.c:3149
+#: sequencer.c:3302
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "chẳng có gì để hòa trộn: “%.*s”"
 
-#: sequencer.c:3161
+#: sequencer.c:3314
 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:3176
+#: sequencer.c:3329
 #, 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:3325
+#: sequencer.c:3478
 #, 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:3341
+#: sequencer.c:3494
 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:3409 builtin/rebase.c:298
+#: sequencer.c:3562 builtin/rebase.c:711
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Đã áp dụng autostash.\n"
 
-#: sequencer.c:3421
+#: sequencer.c:3574
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:3424 builtin/rebase.c:314
+#: sequencer.c:3577 builtin/rebase.c:727
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -5640,31 +6367,31 @@ 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:3478
+#: sequencer.c:3638
 #, c-format
 msgid "could not checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: sequencer.c:3492
+#: sequencer.c:3652
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s không phải là một OID hợp lệ"
 
-#: sequencer.c:3497 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
 msgid "could not detach HEAD"
 msgstr "không thể tách rời HEAD"
 
-#: sequencer.c:3512
+#: sequencer.c:3672
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Dừng lại ở HEAD\n"
 
-#: sequencer.c:3514
+#: sequencer.c:3674
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Dừng lại ở %s\n"
 
-#: sequencer.c:3522
+#: sequencer.c:3682
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -5685,48 +6412,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3597
+#: sequencer.c:3759
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:3677
+#: sequencer.c:3837
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:3723
+#: sequencer.c:3882
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:3728 sequencer.c:4805
+#: sequencer.c:3887
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:3742
+#: sequencer.c:3901
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:3831
+#: sequencer.c:3991
 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:3840
+#: sequencer.c:4000
 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:3842
+#: sequencer.c:4002
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:3844
+#: sequencer.c:4004
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:3847
+#: sequencer.c:4007
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -5736,82 +6463,42 @@ 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:3883 sequencer.c:3921
+#: sequencer.c:4043 sequencer.c:4081
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "không thể ghi tập tin: “%s”"
 
-#: sequencer.c:3936
+#: sequencer.c:4096
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:3943
+#: sequencer.c:4103
 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:4044
+#: sequencer.c:4204
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:4048
+#: sequencer.c:4208
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:4083
+#: sequencer.c:4243
 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:4529
+#: sequencer.c:4686
 msgid "make_script: unhandled options"
 msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sequencer.c:4532
+#: sequencer.c:4689
 msgid "make_script: error preparing revisions"
 msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sequencer.c:4573 sequencer.c:4629 sequencer.c:4904
-#, c-format
-msgid "unusable todo list: '%s'"
-msgstr "danh sách cần làm không dùng được: “%s”"
-
-#: sequencer.c:4684
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr ""
-"không nhận ra cài đặt %s cho tùy chọn rebase.missingCommitsCheck. Nên bỏ qua."
-
-#: sequencer.c:4754
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-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"
-
-#: sequencer.c:4761
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-"Để tránh thông báo này, dùng \"drop\" một cách rõ ràng để xóa bỏ một lần "
-"chuyển giao.\n"
-"\n"
-"Dùng “git config rebase.missingCommitsCheck” để thay đổi mức độ của cảnh "
-"báo.\n"
-"Cánh ứng xử có thể là: ignore, warn, error.\n"
-"\n"
-
-#: sequencer.c:4774
-#, c-format
+#: sequencer.c:4847
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -5821,30 +6508,15 @@ msgstr ""
 "continue”.\n"
 "Hoặc là bạn có thể bãi bỏ việc cải tổ bằng “git rebase --abort”.\n"
 
-#: sequencer.c:4912 sequencer.c:4950
+#: sequencer.c:4959 sequencer.c:4976
 msgid "nothing to do"
 msgstr "không có gì để làm"
 
-#: sequencer.c:4916
-#, 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 )"
-
-#: sequencer.c:4928
-#, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr "không thể chép “%s” sang “%s”."
-
-#: sequencer.c:4932 sequencer.c:4961
-msgid "could not transform the todo list"
-msgstr "không thể chuyển dạng danh sách cần làm"
-
-#: sequencer.c:4964
+#: sequencer.c:4990
 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:5047
+#: sequencer.c:5073
 msgid "the script was already rearranged."
 msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
@@ -5853,7 +6525,7 @@ msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 msgid "'%s' is outside repository"
 msgstr "“%s” ở ngoài một kho chứa"
 
-#: setup.c:172
+#: setup.c:173
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -5863,7 +6535,7 @@ msgstr ""
 "Dùng “git <lệnh> -- <đường/dẫn>…” để chỉ định đường dẫn mà nó không tồn tại "
 "một cách nội bộ."
 
-#: setup.c:185
+#: setup.c:186
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -5875,12 +6547,12 @@ msgstr ""
 "Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
 "“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: setup.c:234
+#: setup.c:235
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr "tùy chọn “%s” phải trước các đối số đầu tiên không có tùy chọn"
 
-#: setup.c:253
+#: setup.c:254
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -5891,92 +6563,92 @@ msgstr ""
 "Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
 "“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: setup.c:389
+#: setup.c:390
 msgid "unable to set up work tree using invalid config"
 msgstr "không thể cài đặt thư mục làm việc sử dụng cấu hình không hợp lệ"
 
-#: setup.c:393
+#: setup.c:394
 msgid "this operation must be run in a work tree"
 msgstr "thao tác này phải được thực hiện trong thư mục làm việc"
 
-#: setup.c:527
+#: setup.c:540
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Cần phiên bản kho git <= %d, nhưng lại nhận được %d"
 
-#: setup.c:535
+#: setup.c:548
 msgid "unknown repository extensions found:"
 msgstr "tìm thấy phần mở rộng kho chưa biết:"
 
-#: setup.c:554
+#: setup.c:567
 #, c-format
 msgid "error opening '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: setup.c:556
+#: setup.c:569
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "tập tin .git là quá lớn: “%s”"
 
-#: setup.c:558
+#: setup.c:571
 #, c-format
 msgid "error reading %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: setup.c:560
+#: setup.c:573
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "định dạng tập tin git không hợp lệ: %s"
 
-#: setup.c:562
+#: setup.c:575
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "không có đường dẫn trong tập tin git: %s"
 
-#: setup.c:564
+#: setup.c:577
 #, c-format
 msgid "not a git repository: %s"
 msgstr "không phải là kho git: %s"
 
-#: setup.c:663
+#: setup.c:676
 #, c-format
 msgid "'$%s' too big"
 msgstr "“$%s” quá lớn"
 
-#: setup.c:677
+#: setup.c:690
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "không phải là kho git: “%s”"
 
-#: setup.c:706 setup.c:708 setup.c:739
+#: setup.c:719 setup.c:721 setup.c:752
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "không thể chdir (chuyển đổi thư mục) sang “%s”"
 
-#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824
+#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
 msgid "cannot come back to cwd"
 msgstr "không thể quay lại cwd"
 
-#: setup.c:838
+#: setup.c:851
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%*s%s%s”"
 
-#: setup.c:1068
+#: setup.c:1083
 msgid "Unable to read current working directory"
 msgstr "Không thể đọc thư mục làm việc hiện hành"
 
-#: setup.c:1077 setup.c:1083
+#: setup.c:1092 setup.c:1098
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "không thể chuyển sang “%s”"
 
-#: setup.c:1088
+#: setup.c:1103
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "không phải là kho git (hoặc bất kỳ thư mục cha mẹ nào): %s"
 
-#: setup.c:1094
+#: setup.c:1109
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -5986,7 +6658,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:1204
+#: setup.c:1220
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -5995,279 +6667,279 @@ 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:1247
+#: setup.c:1264
 msgid "open /dev/null or dup failed"
 msgstr "gặp lỗi khi mở “/dev/null” hay dup"
 
-#: setup.c:1262
+#: setup.c:1279
 msgid "fork failed"
 msgstr "gặp lỗi khi rẽ nhánh tiến trình"
 
-#: setup.c:1267
+#: setup.c:1284
 msgid "setsid failed"
 msgstr "setsid gặp lỗi"
 
-#: sha1-file.c:445
+#: sha1-file.c:453
 #, 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"
 
-#: sha1-file.c:496
+#: sha1-file.c:504
 #, 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”"
 
-#: sha1-file.c:568
+#: sha1-file.c:576
 #, 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"
 
-#: sha1-file.c:575
+#: sha1-file.c:583
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "không thể chuẩn hóa thư mục đối tượng: “%s”"
 
-#: sha1-file.c:618
+#: sha1-file.c:626
 msgid "unable to fdopen alternates lockfile"
 msgstr "không thể fdopen tập tin khóa thay thế"
 
-#: sha1-file.c:636
+#: sha1-file.c:644
 msgid "unable to read alternates file"
 msgstr "không thể đọc tập tin thay thế"
 
-#: sha1-file.c:643
+#: sha1-file.c:651
 msgid "unable to move new alternates file into place"
 msgstr "không thể di chuyển tập tin thay thế vào chỗ"
 
-#: sha1-file.c:678
+#: sha1-file.c:686
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "đường dẫn “%s” không tồn tại"
 
-#: sha1-file.c:704
+#: sha1-file.c:712
 #, 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ợ."
 
-#: sha1-file.c:710
+#: sha1-file.c:718
 #, 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ộ."
 
-#: sha1-file.c:716
+#: sha1-file.c:724
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: sha1-file.c:724
+#: sha1-file.c:732
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: sha1-file.c:838
+#: sha1-file.c:846
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "đang cố để mmap %<PRIuMAX> vượt quá giới hạn %<PRIuMAX>"
 
-#: sha1-file.c:863
+#: sha1-file.c:871
 msgid "mmap failed"
 msgstr "mmap gặp lỗi"
 
-#: sha1-file.c:1027
+#: sha1-file.c:1035
 #, c-format
 msgid "object file %s is empty"
 msgstr "tập tin đối tượng %s trống rỗng"
 
-#: sha1-file.c:1151 sha1-file.c:2288
+#: sha1-file.c:1159 sha1-file.c:2297
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "đối tượng mất hỏng “%s”"
 
-#: sha1-file.c:1153 sha1-file.c:2292
+#: sha1-file.c:1161 sha1-file.c:2301
 #, 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”"
 
-#: sha1-file.c:1195
+#: sha1-file.c:1203
 msgid "invalid object type"
 msgstr "kiểu đối tượng không hợp lệ"
 
-#: sha1-file.c:1279
+#: sha1-file.c:1287
 #, 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"
 
-#: sha1-file.c:1282
+#: sha1-file.c:1290
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "không thể giải gói phần đầu %s"
 
-#: sha1-file.c:1288
+#: sha1-file.c:1296
 #, 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"
 
-#: sha1-file.c:1291
+#: sha1-file.c:1299
 #, c-format
 msgid "unable to parse %s header"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: sha1-file.c:1481
+#: sha1-file.c:1490
 #, c-format
 msgid "failed to read object %s"
 msgstr "gặp lỗi khi đọc đối tượng “%s”"
 
-#: sha1-file.c:1485
+#: sha1-file.c:1494
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "c%s thay thế không được tìm thấy cho %s"
 
-#: sha1-file.c:1489
+#: sha1-file.c:1498
 #, 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"
 
-#: sha1-file.c:1493
+#: sha1-file.c:1502
 #, 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"
 
-#: sha1-file.c:1595
+#: sha1-file.c:1604
 #, c-format
 msgid "unable to write file %s"
 msgstr "không thể ghi tập tin %s"
 
-#: sha1-file.c:1602
+#: sha1-file.c:1611
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "không thể đặt quyền thành “%s”"
 
-#: sha1-file.c:1609
+#: sha1-file.c:1618
 msgid "file write error"
 msgstr "lỗi ghi tập tin"
 
-#: sha1-file.c:1628
+#: sha1-file.c:1637
 msgid "error when closing loose object file"
 msgstr "gặp lỗi trong khi đóng tập tin đối tượng"
 
-#: sha1-file.c:1693
+#: sha1-file.c:1702
 #, 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"
 
-#: sha1-file.c:1695
+#: sha1-file.c:1704
 msgid "unable to create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: sha1-file.c:1719
+#: sha1-file.c:1728
 msgid "unable to write loose object file"
 msgstr "không thể ghi tập tin đối tượng đã mất"
 
-#: sha1-file.c:1725
+#: sha1-file.c:1734
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "không thể xả nén đối tượng mới %s (%d)"
 
-#: sha1-file.c:1729
+#: sha1-file.c:1738
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "deflateEnd trên đối tượng %s gặp lỗi (%d)"
 
-#: sha1-file.c:1733
+#: sha1-file.c:1742
 #, 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"
 
-#: sha1-file.c:1743 builtin/pack-objects.c:919
+#: sha1-file.c:1752 builtin/pack-objects.c:920
 #, c-format
 msgid "failed utime() on %s"
 msgstr "gặp lỗi utime() trên “%s”"
 
-#: sha1-file.c:1818
+#: sha1-file.c:1827
 #, c-format
 msgid "cannot read object for %s"
 msgstr "không thể đọc đối tượng cho %s"
 
-#: sha1-file.c:1858
+#: sha1-file.c:1867
 msgid "corrupt commit"
 msgstr "lần chuyển giao sai hỏng"
 
-#: sha1-file.c:1866
+#: sha1-file.c:1875
 msgid "corrupt tag"
 msgstr "thẻ sai hỏng"
 
-#: sha1-file.c:1965
+#: sha1-file.c:1974
 #, c-format
 msgid "read error while indexing %s"
 msgstr "gặp lỗi đọc khi đánh mục lục %s"
 
-#: sha1-file.c:1968
+#: sha1-file.c:1977
 #, c-format
 msgid "short read while indexing %s"
 msgstr "không đọc ngắn khi đánh mục lục %s"
 
-#: sha1-file.c:2041 sha1-file.c:2050
+#: sha1-file.c:2050 sha1-file.c:2059
 #, 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"
 
-#: sha1-file.c:2056
+#: sha1-file.c:2065
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s: kiểu tập tin không được hỗ trợ"
 
-#: sha1-file.c:2080
+#: sha1-file.c:2089
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s không phải là một đối tượng hợp lệ"
 
-#: sha1-file.c:2082
+#: sha1-file.c:2091
 #, 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ệ"
 
-#: sha1-file.c:2109 builtin/index-pack.c:154
+#: sha1-file.c:2118 builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "không thể mở %s"
 
-#: sha1-file.c:2299 sha1-file.c:2351
+#: sha1-file.c:2308 sha1-file.c:2360
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "mã băm không khớp cho %s (cần %s)"
 
-#: sha1-file.c:2323
+#: sha1-file.c:2332
 #, c-format
 msgid "unable to mmap %s"
 msgstr "không thể mmap %s"
 
-#: sha1-file.c:2328
+#: sha1-file.c:2337
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "không thể giải gói phần đầu của “%s”"
 
-#: sha1-file.c:2334
+#: sha1-file.c:2343
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: sha1-file.c:2345
+#: sha1-file.c:2354
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "không thể giải gói nội dung của “%s”"
 
-#: sha1-name.c:448
+#: sha1-name.c:490
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "tóm lược SHA1 %s chưa rõ ràng"
 
-#: sha1-name.c:459
+#: sha1-name.c:501
 msgid "The candidates are:"
 msgstr "Các ứng cử là:"
 
-#: sha1-name.c:742
+#: sha1-name.c:800
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -6321,52 +6993,52 @@ msgstr "trong mô-đun-con không có gì “%s”"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#: submodule.c:906
+#: submodule.c:910
 #, 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:1143 builtin/branch.c:656 builtin/submodule--helper.c:1989
+#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
 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:1477
+#: submodule.c:1481
 #, c-format
 msgid "Could not access submodule '%s'"
 msgstr "Không thể truy cập mô-đun-con “%s”"
 
-#: submodule.c:1639
+#: submodule.c:1651
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "không nhận ra “%s” là một kho git"
 
-#: submodule.c:1777
+#: submodule.c:1789
 #, 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:1790
+#: submodule.c:1802
 #, 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:1805
+#: submodule.c:1817
 #, 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:1895
+#: submodule.c:1907
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 
-#: submodule.c:1947
+#: submodule.c:1959
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Mô-đun-con “%s” không thể được cập nhật."
 
-#: submodule.c:1996
+#: submodule.c:2008
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -6374,12 +7046,12 @@ 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:2008 submodule.c:2064
+#: submodule.c:2020 submodule.c:2076
 #, 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:2015
+#: submodule.c:2027
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -6390,16 +7062,16 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:2099
+#: submodule.c:2111
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:2143
+#: submodule.c:2155
 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:2182
+#: submodule.c:2194
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
@@ -6409,23 +7081,23 @@ msgstr "ls-tree trả về mã không như mong đợi %d"
 msgid "ignoring suspicious submodule name: %s"
 msgstr "đang lờ đi tên mô-đun-con mập mờ: %s"
 
-#: submodule-config.c:296
+#: submodule-config.c:299
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "không cho phép giá trị âm ở submodule.fetchJobs"
 
-#: submodule-config.c:390
+#: submodule-config.c:397
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 "đang bỏ qua “%s” cái mà có thể được phiên dịch như là một tùy chọn dòng "
 "lệnh: %s"
 
-#: submodule-config.c:479
+#: submodule-config.c:486
 #, c-format
 msgid "invalid value for %s"
 msgstr "giá trị cho %s không hợp lệ"
 
-#: submodule-config.c:754
+#: submodule-config.c:755
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
@@ -6499,29 +7171,37 @@ 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:617
+#: transport.c:259
+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:260
+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:625
 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:690
+#: transport.c:698
 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:817
+#: transport.c:825
 #, 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:883
+#: transport.c:891
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "không cho phép phương thức vận chuyển “%s”"
 
-#: transport.c:937
+#: transport.c:945
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync không còn được hỗ trợ nữa"
 
-#: transport.c:1032
+#: transport.c:1040
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -6530,7 +7210,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:1036
+#: transport.c:1044
 #, c-format
 msgid ""
 "\n"
@@ -6557,19 +7237,19 @@ msgstr ""
 "để đẩy chúng lên máy phục vụ.\n"
 "\n"
 
-#: transport.c:1044
+#: transport.c:1052
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport.c:1184
+#: transport.c:1193
 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"
 
-#: transport.c:1317 transport-helper.c:643
+#: transport.c:1326 transport-helper.c:645
 msgid "operation not supported by protocol"
 msgstr "thao tác không được gia thức hỗ trợ"
 
-#: transport.c:1421
+#: transport.c:1430
 #, 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"
@@ -6578,16 +7258,16 @@ msgstr "dòng không hợp lệ trong khi phân tích các tham chiếu thay th
 msgid "full write to remote helper failed"
 msgstr "ghi đầy đủ lên bộ hỗ trợ máy chủ gặp lỗi"
 
-#: transport-helper.c:132
+#: transport-helper.c:134
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "không thể tìm thấy bộ hỗ trợ máy chủ cho “%s”"
 
-#: transport-helper.c:148 transport-helper.c:557
+#: transport-helper.c:150 transport-helper.c:559
 msgid "can't dup helper output fd"
 msgstr "không thể nhân đôi fd dầu ra bộ hỗ trợ"
 
-#: transport-helper.c:199
+#: transport-helper.c:201
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
@@ -6596,99 +7276,99 @@ msgstr ""
 "không hiểu capability bắt buộc %s; bộ hỗ trợ máy chủ này gần như chắc chắn "
 "là cần phiên bản Git mới hơn"
 
-#: transport-helper.c:205
+#: transport-helper.c:207
 msgid "this remote helper should implement refspec capability"
 msgstr "bộ hỗ trợ máy chủ này cần phải thực thi capability đặc tả tham chiếu"
 
-#: transport-helper.c:272 transport-helper.c:412
+#: transport-helper.c:274 transport-helper.c:414
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "%s said bất ngờ: “%s”"
 
-#: transport-helper.c:401
+#: transport-helper.c:403
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s cũng khóa %s"
 
-#: transport-helper.c:479
+#: transport-helper.c:481
 msgid "couldn't run fast-import"
 msgstr "không thể chạy fast-import"
 
-#: transport-helper.c:502
+#: transport-helper.c:504
 msgid "error while running fast-import"
 msgstr "gặp lỗi trong khi chạy fast-import"
 
-#: transport-helper.c:531 transport-helper.c:1097
+#: transport-helper.c:533 transport-helper.c:1099
 #, c-format
 msgid "could not read ref %s"
 msgstr "không thể đọc tham chiếu %s"
 
-#: transport-helper.c:576
+#: transport-helper.c:578
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "không hiểu đáp ứng để kết nối: %s"
 
-#: transport-helper.c:598
+#: transport-helper.c:600
 msgid "setting remote service path not supported by protocol"
 msgstr "giao thức này không hỗ trợ cài đặt đường dẫn dịch vụ máy chủ"
 
-#: transport-helper.c:600
+#: transport-helper.c:602
 msgid "invalid remote service path"
 msgstr "đường dẫn dịch vụ máy chủ không hợp lệ"
 
-#: transport-helper.c:646
+#: transport-helper.c:648
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "không thể kết nối đến dịch vụ phụ %s"
 
-#: transport-helper.c:718
+#: transport-helper.c:720
 #, 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:771
+#: transport-helper.c:773
 #, 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:832
+#: transport-helper.c:834
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "helper %s không hỗ trợ dry-run"
 
-#: transport-helper.c:835
+#: transport-helper.c:837
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "helper %s không hỗ trợ --signed"
 
-#: transport-helper.c:838
+#: transport-helper.c:840
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "helper %s không hỗ trợ --signed=if-asked"
 
-#: transport-helper.c:845
+#: transport-helper.c:847
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "helper %s không hỗ trợ “push-option”"
 
-#: transport-helper.c:937
+#: transport-helper.c:939
 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:942
+#: transport-helper.c:944
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "helper %s không hỗ trợ “force”"
 
-#: transport-helper.c:989
+#: transport-helper.c:991
 msgid "couldn't run fast-export"
 msgstr "không thể chạy fast-export"
 
-#: transport-helper.c:994
+#: transport-helper.c:996
 msgid "error while running fast-export"
 msgstr "gặp lỗi trong khi chạy fast-export"
 
-#: transport-helper.c:1019
+#: transport-helper.c:1021
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -6698,47 +7378,47 @@ msgstr ""
 "cả.\n"
 "Tuy nhiên bạn nên chỉ định một nhánh như “master” chẳng hạn.\n"
 
-#: transport-helper.c:1083
+#: transport-helper.c:1085
 #, 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:1236
+#: transport-helper.c:1238
 #, c-format
 msgid "read(%s) failed"
 msgstr "read(%s) gặp lỗi"
 
-#: transport-helper.c:1263
+#: transport-helper.c:1265
 #, c-format
 msgid "write(%s) failed"
 msgstr "write(%s) gặp lỗi"
 
-#: transport-helper.c:1312
+#: transport-helper.c:1314
 #, c-format
 msgid "%s thread failed"
 msgstr "tuyến trình %s gặp lỗi"
 
-#: transport-helper.c:1316
+#: transport-helper.c:1318
 #, 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:1335 transport-helper.c:1339
+#: transport-helper.c:1337 transport-helper.c:1341
 #, 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:1376
+#: transport-helper.c:1378
 #, c-format
 msgid "%s process failed to wait"
 msgstr "xử lý %s gặp lỗi khi đợi"
 
-#: transport-helper.c:1380
+#: transport-helper.c:1382
 #, c-format
 msgid "%s process failed"
 msgstr "xử lý %s gặp lỗi"
 
-#: transport-helper.c:1398 transport-helper.c:1407
+#: transport-helper.c:1400 transport-helper.c:1409
 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"
 
@@ -6995,16 +7675,16 @@ msgstr ""
 "Không thể cập nhật mô-đun-con:\n"
 "%s"
 
-#: unpack-trees.c:253
+#: unpack-trees.c:256
 #, c-format
 msgid "Aborting\n"
 msgstr "Bãi bỏ\n"
 
-#: unpack-trees.c:335
+#: unpack-trees.c:318
 msgid "Checking out files"
 msgstr "Đang lấy ra các tập tin"
 
-#: unpack-trees.c:367
+#: unpack-trees.c:350
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -7043,33 +7723,33 @@ msgstr "tên cổng không hợp lệ"
 msgid "invalid '..' path segment"
 msgstr "đoạn đường dẫn “..” không hợp lệ"
 
-#: worktree.c:249 builtin/am.c:2094
+#: worktree.c:255 builtin/am.c:2097
 #, c-format
 msgid "failed to read '%s'"
 msgstr "gặp lỗi khi đọc “%s”"
 
-#: worktree.c:295
+#: worktree.c:301
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "“%s” tại cây làm việc chình không phải là thư mục kho"
 
-#: worktree.c:306
+#: worktree.c:312
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "tập tin “%s” không chứa đường dẫn tuyệt đối đến vị trí cây làm việc hiện"
 
-#: worktree.c:318
+#: worktree.c:324
 #, c-format
 msgid "'%s' does not exist"
 msgstr "\"%s\" không tồn tại"
 
-#: worktree.c:324
+#: worktree.c:330
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "“%s” không phải là tập tin .git, mã lỗi %d"
 
-#: worktree.c:332
+#: worktree.c:338
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "“%s” không chỉ ngược đến “%s”"
@@ -7088,156 +7768,156 @@ msgstr "không thể truy cập “%s”"
 msgid "unable to get current working directory"
 msgstr "không thể lấy thư mục làm việc hiện hành"
 
-#: wt-status.c:155
+#: wt-status.c:156
 msgid "Unmerged paths:"
 msgstr "Những đường dẫn chưa được hòa trộn:"
 
-#: wt-status.c:182 wt-status.c:209
+#: wt-status.c:183 wt-status.c:210
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (dùng \"git reset %s <tập-tin>…\" để bỏ ra khỏi bệ phóng)"
 
-#: wt-status.c:184 wt-status.c:211
+#: wt-status.c:185 wt-status.c:212
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (dùng \"git rm --cached <tập-tin>…\" để bỏ ra khỏi bệ phóng)"
 
-#: wt-status.c:188
+#: wt-status.c:189
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (dùng \"git add <tập-tin>…\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:190 wt-status.c:194
+#: wt-status.c:191 wt-status.c:195
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 "  (dùng \"git add/rm <tập-tin>…\" như là một cách thích hợp để đánh dấu là "
 "cần được giải quyết)"
 
-#: wt-status.c:192
+#: wt-status.c:193
 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:203 wt-status.c:1046
+#: wt-status.c:204 wt-status.c:1064
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:221 wt-status.c:1055
+#: wt-status.c:222 wt-status.c:1073
 msgid "Changes not staged for commit:"
 msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:"
 
-#: wt-status.c:225
+#: wt-status.c:226
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (dùng \"git add <tập-tin>…\" để cập nhật những gì sẽ chuyển giao)"
 
-#: wt-status.c:227
+#: wt-status.c:228
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 "  (dùng \"git add/rm <tập-tin>…\" để cập nhật những gì sẽ được chuyển giao)"
 
-#: wt-status.c:228
+#: wt-status.c:229
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr ""
 "  (dùng \"git checkout -- <tập-tin>…\" để loại bỏ các thay đổi trong thư mục "
 "làm việc)"
 
-#: wt-status.c:230
+#: wt-status.c:231
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 "  (chuyển giao hoặc là loại bỏ các nội dung chưa được theo dõi hay đã sửa "
 "chữa trong mô-đun-con)"
 
-#: wt-status.c:242
+#: wt-status.c:243
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (dùng \"git %s <tập-tin>…\" để thêm vào những gì cần được chuyển giao)"
 
-#: wt-status.c:257
+#: wt-status.c:258
 msgid "both deleted:"
 msgstr "bị xóa bởi cả hai:"
 
-#: wt-status.c:259
+#: wt-status.c:260
 msgid "added by us:"
 msgstr "được thêm vào bởi chúng ta:"
 
-#: wt-status.c:261
+#: wt-status.c:262
 msgid "deleted by them:"
 msgstr "bị xóa đi bởi họ:"
 
-#: wt-status.c:263
+#: wt-status.c:264
 msgid "added by them:"
 msgstr "được thêm vào bởi họ:"
 
-#: wt-status.c:265
+#: wt-status.c:266
 msgid "deleted by us:"
 msgstr "bị xóa bởi chúng ta:"
 
-#: wt-status.c:267
+#: wt-status.c:268
 msgid "both added:"
 msgstr "được thêm vào bởi cả hai:"
 
-#: wt-status.c:269
+#: wt-status.c:270
 msgid "both modified:"
 msgstr "bị sửa bởi cả hai:"
 
-#: wt-status.c:279
+#: wt-status.c:280
 msgid "new file:"
 msgstr "tập tin mới:"
 
-#: wt-status.c:281
+#: wt-status.c:282
 msgid "copied:"
 msgstr "đã chép:"
 
-#: wt-status.c:283
+#: wt-status.c:284
 msgid "deleted:"
 msgstr "đã xóa:"
 
-#: wt-status.c:285
+#: wt-status.c:286
 msgid "modified:"
 msgstr "đã sửa:"
 
-#: wt-status.c:287
+#: wt-status.c:288
 msgid "renamed:"
 msgstr "đã đổi tên:"
 
-#: wt-status.c:289
+#: wt-status.c:290
 msgid "typechange:"
 msgstr "đổi-kiểu:"
 
-#: wt-status.c:291
+#: wt-status.c:292
 msgid "unknown:"
 msgstr "không hiểu:"
 
-#: wt-status.c:293
+#: wt-status.c:294
 msgid "unmerged:"
 msgstr "chưa hòa trộn:"
 
-#: wt-status.c:373
+#: wt-status.c:374
 msgid "new commits, "
 msgstr "lần chuyển giao mới, "
 
-#: wt-status.c:375
+#: wt-status.c:376
 msgid "modified content, "
 msgstr "nội dung bị sửa đổi, "
 
-#: wt-status.c:377
+#: wt-status.c:378
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:884
+#: wt-status.c:896
 #, 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:916
+#: wt-status.c:928
 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:918
+#: wt-status.c:930
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:1000
+#: wt-status.c:1012
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -7245,109 +7925,109 @@ 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:1101
+#: wt-status.c:1119
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:1104
+#: wt-status.c:1122
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:1106
+#: wt-status.c:1124
 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:1110
+#: wt-status.c:1128
 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:1113
+#: wt-status.c:1131
 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:1122
+#: wt-status.c:1140
 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:1125
+#: wt-status.c:1143
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:1129
+#: wt-status.c:1147
 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:1131
+#: wt-status.c:1149
 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:1133
+#: wt-status.c:1151
 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:1264
+#: wt-status.c:1284
 msgid "git-rebase-todo is missing."
 msgstr "thiếu git-rebase-todo."
 
-#: wt-status.c:1266
+#: wt-status.c:1286
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1269
+#: wt-status.c:1289
 #, 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:1280
+#: wt-status.c:1300
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1285
+#: wt-status.c:1305
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1288
+#: wt-status.c:1308
 #, 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:1296
+#: wt-status.c:1316
 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:1308
+#: wt-status.c:1328
 #, 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:1313
+#: wt-status.c:1333
 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:1326
+#: wt-status.c:1346
 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:1328
+#: wt-status.c:1348
 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:1330
+#: wt-status.c:1350
 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:1337
+#: wt-status.c:1357
 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:1341
+#: wt-status.c:1361
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -7355,134 +8035,150 @@ 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:1346
+#: wt-status.c:1366
 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:1349
+#: wt-status.c:1369
 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:1353
+#: wt-status.c:1373
 #, 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:1358
+#: wt-status.c:1378
 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:1361
+#: wt-status.c:1381
 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:1363
+#: wt-status.c:1383
 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:1372
+#: wt-status.c:1394
+msgid "Cherry-pick currently in progress."
+msgstr "Cherry-pick hiện tại đang được thực hiện."
+
+#: wt-status.c:1397
 #, 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:1377
+#: wt-status.c:1404
 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:1380
+#: wt-status.c:1407
+msgid "  (run \"git cherry-pick --continue\" to continue)"
+msgstr "  (chạy lệnh \"git cherry-pick --continue\" để tiếp tục)"
+
+#: wt-status.c:1410
 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:1382
+#: wt-status.c:1412
 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:1390
+#: wt-status.c:1422
+msgid "Revert currently in progress."
+msgstr "Hoàn nguyên hiện tại đang thực hiện."
+
+#: wt-status.c:1425
 #, 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:1395
+#: wt-status.c:1431
 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:1398
+#: wt-status.c:1434
+msgid "  (run \"git revert --continue\" to continue)"
+msgstr "  (chạy lệnh \"git revert --continue\" để tiếp tục)"
+
+#: wt-status.c:1437
 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:1400
+#: wt-status.c:1439
 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:1410
+#: wt-status.c:1449
 #, 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:1414
+#: wt-status.c:1453
 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:1417
+#: wt-status.c:1456
 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:1617
+#: wt-status.c:1665
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1624
+#: wt-status.c:1672
 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:1626
+#: wt-status.c:1674
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1631
+#: wt-status.c:1679
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1633
+#: wt-status.c:1681
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1636
+#: wt-status.c:1684
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1653
+#: wt-status.c:1701
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1654
+#: wt-status.c:1702
 msgid "No commits yet"
 msgstr "Vẫn chưa chuyển giao"
 
-#: wt-status.c:1668
+#: wt-status.c:1716
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1670
+#: wt-status.c:1718
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1674
+#: wt-status.c:1722
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -7494,32 +8190,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:1680
+#: wt-status.c:1728
 #, 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:1682
+#: wt-status.c:1730
 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:1688
+#: wt-status.c:1736
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1693
+#: wt-status.c:1741
 #, 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:1696
+#: wt-status.c:1744
 #, 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:1699
+#: wt-status.c:1747
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -7528,68 +8224,68 @@ 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:1702
+#: wt-status.c:1750
 #, 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:1705
+#: wt-status.c:1753
 #, 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:1708 wt-status.c:1713
+#: wt-status.c:1756 wt-status.c:1761
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1711
+#: wt-status.c:1759
 #, 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:1715
+#: wt-status.c:1763
 #, 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:1828
+#: wt-status.c:1876
 msgid "No commits yet on "
 msgstr "Vẫn không thực hiện lệnh chuyển giao nào "
 
-#: wt-status.c:1832
+#: wt-status.c:1880
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1863
+#: wt-status.c:1911
 msgid "different"
 msgstr "khác"
 
-#: wt-status.c:1865 wt-status.c:1873
+#: wt-status.c:1913 wt-status.c:1921
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1868 wt-status.c:1871
+#: wt-status.c:1916 wt-status.c:1919
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2386
+#: wt-status.c:2443
 #, 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:2392
+#: wt-status.c:2449
 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:2394
+#: wt-status.c:2451
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -7656,7 +8352,7 @@ msgstr ""
 "của bạn:\n"
 
 #: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:214 builtin/push.c:560
+#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "chạy thử"
@@ -7665,7 +8361,7 @@ msgstr "chạy thử"
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:294 builtin/checkout.c:1304 builtin/reset.c:306
+#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -7713,7 +8409,7 @@ 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:309 builtin/update-index.c:991
+#: builtin/add.c:309 builtin/update-index.c:1001
 msgid "override the executable bit of the listed files"
 msgstr "ghi đè lên bít thi hành của các tập tin được liệt kê"
 
@@ -7762,29 +8458,29 @@ msgstr "thêm cần một kho git nhúng: %s"
 msgid "Use -f if you really want to add them.\n"
 msgstr "Sử dụng tùy chọn -f nếu bạn thực sự muốn thêm chúng vào.\n"
 
-#: builtin/add.c:380
+#: builtin/add.c:379
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:418
+#: builtin/add.c:419
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:425
+#: builtin/add.c:426
 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:429
+#: builtin/add.c:430
 #, 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:444
+#: builtin/add.c:445
 #, 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:445
+#: builtin/add.c:446
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ ý bạn là “git add .” phải không?\n"
@@ -7798,104 +8494,104 @@ msgstr "không thể phân tích cú pháp văn lệnh tác giả"
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "“%s” bị xóa bởi móc applypatch-msg"
 
-#: builtin/am.c:473
+#: builtin/am.c:474
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/am.c:510
+#: builtin/am.c:512
 #, 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:536
+#: builtin/am.c:538
 msgid "fseek failed"
 msgstr "fseek gặp lỗi"
 
-#: builtin/am.c:724
+#: builtin/am.c:726
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/am.c:789
+#: builtin/am.c:791
 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:837
+#: builtin/am.c:839
 msgid "invalid timestamp"
 msgstr "dấu thời gian không hợp lệ"
 
-#: builtin/am.c:842 builtin/am.c:854
+#: builtin/am.c:844 builtin/am.c:856
 msgid "invalid Date line"
 msgstr "dòng Ngày tháng không hợp lệ"
 
-#: builtin/am.c:849
+#: builtin/am.c:851
 msgid "invalid timezone offset"
 msgstr "độ lệch múi giờ không hợp lệ"
 
-#: builtin/am.c:942
+#: builtin/am.c:944
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:947 builtin/clone.c:409
+#: builtin/am.c:949 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/am.c:952
+#: builtin/am.c:954
 msgid "Failed to split patches."
 msgstr "Gặp lỗi khi chia nhỏ các miếng vá."
 
-#: builtin/am.c:1082 builtin/commit.c:371
+#: builtin/am.c:1084 builtin/commit.c:371
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
-#: builtin/am.c:1096
+#: builtin/am.c:1098
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Khi bạn đã phân giải xong trục trặc này, hãy chạy \"%s --continue\"."
 
-#: builtin/am.c:1097
+#: builtin/am.c:1099
 #, 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:1098
+#: builtin/am.c:1100
 #, 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:1181
+#: builtin/am.c:1183
 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:1209
+#: builtin/am.c:1211
 msgid "Patch is empty."
 msgstr "Miếng vá trống rỗng."
 
-#: builtin/am.c:1275
+#: builtin/am.c:1277
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "dòng thụt lề không hợp lệ: %.*s"
 
-#: builtin/am.c:1297
+#: builtin/am.c:1299
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: builtin/am.c:1493
+#: builtin/am.c:1495
 msgid "Repository lacks necessary blobs 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”."
 
-#: builtin/am.c:1495
+#: builtin/am.c:1497
 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:1514
+#: builtin/am.c:1516
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -7903,29 +8599,29 @@ 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:1520
+#: builtin/am.c:1522
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Đang trở lại để vá cơ sở và “hòa trộn 3-đường”…"
 
-#: builtin/am.c:1546
+#: builtin/am.c:1548
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1578
+#: builtin/am.c:1580
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1624 builtin/am.c:1628
+#: builtin/am.c:1627 builtin/am.c:1631
 #, 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:1644
+#: builtin/am.c:1647
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "không thể được tương tác mà không có stdin kết nối với một thiết bị cuối."
 
-#: builtin/am.c:1649
+#: builtin/am.c:1652
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
@@ -7933,36 +8629,36 @@ 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:1659
+#: builtin/am.c:1662
 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:1709
+#: builtin/am.c:1712
 #, 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:1749 builtin/am.c:1817
+#: builtin/am.c:1752 builtin/am.c:1820
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Áp dụng: %.*s"
 
-#: builtin/am.c:1766
+#: builtin/am.c:1769
 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:1772
+#: builtin/am.c:1775
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Gặp lỗi khi vá tại %s %.*s"
 
-#: builtin/am.c:1776
+#: builtin/am.c:1779
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr "Dùng “git am --show-current-patch” để xem miếng vá bị lỗi"
 
-#: builtin/am.c:1820
+#: builtin/am.c:1823
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -7973,7 +8669,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:1827
+#: builtin/am.c:1830
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -7986,17 +8682,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:1934 builtin/am.c:1938 builtin/am.c:1950 builtin/reset.c:329
+#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Không thể phân tích đối tượng “%s”."
 
-#: builtin/am.c:1986
+#: builtin/am.c:1989
 msgid "failed to clean index"
 msgstr "gặp lỗi khi dọn bảng mục lục"
 
-#: builtin/am.c:2030
+#: builtin/am.c:2033
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -8004,144 +8700,144 @@ 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:2123
+#: builtin/am.c:2130
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Giá trị không hợp lệ cho --patch-format: %s"
 
-#: builtin/am.c:2159
+#: builtin/am.c:2166
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<các-tùy-chọn>] [(<mbox>|<Maildir>)…]"
 
-#: builtin/am.c:2160
+#: builtin/am.c:2167
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<các-tùy-chọn>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2166
+#: builtin/am.c:2173
 msgid "run interactively"
 msgstr "chạy kiểu tương tác"
 
-#: builtin/am.c:2168
+#: builtin/am.c:2175
 msgid "historical option -- no-op"
 msgstr "tùy chọn lịch sử -- không-toán-tử"
 
-#: builtin/am.c:2170
+#: builtin/am.c:2177
 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:2171 builtin/init-db.c:486 builtin/prune-packed.c:58
-#: builtin/repack.c:306
+#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:306 builtin/stash.c:805
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2180
 msgid "add a Signed-off-by line to the commit message"
 msgstr "thêm dòng Signed-off-by cho ghi chú của lần chuyển giao"
 
-#: builtin/am.c:2176
+#: builtin/am.c:2183
 msgid "recode into utf8 (default)"
 msgstr "chuyển mã thành utf8 (mặc định)"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2185
 msgid "pass -k flag to git-mailinfo"
 msgstr "chuyển cờ -k cho git-mailinfo"
 
-#: builtin/am.c:2180
+#: builtin/am.c:2187
 msgid "pass -b flag to git-mailinfo"
 msgstr "chuyển cờ -b cho git-mailinfo"
 
-#: builtin/am.c:2182
+#: builtin/am.c:2189
 msgid "pass -m flag to git-mailinfo"
 msgstr "chuyển cờ -m cho git-mailinfo"
 
-#: builtin/am.c:2184
+#: builtin/am.c:2191
 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:2187
+#: builtin/am.c:2194
 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:2190
+#: builtin/am.c:2197
 msgid "strip everything before a scissors line"
 msgstr "cắt mọi thứ trước dòng scissors"
 
-#: builtin/am.c:2192 builtin/am.c:2195 builtin/am.c:2198 builtin/am.c:2201
-#: builtin/am.c:2204 builtin/am.c:2207 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/am.c:2219
+#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
+#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
+#: builtin/am.c:2226
 msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
-#: builtin/am.c:2209 builtin/commit.c:1343 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:240
-#: builtin/pull.c:152 builtin/pull.c:210 builtin/rebase.c:1062
+#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
+#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
 #: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386
-#: parse-options.h:144 parse-options.h:146 parse-options.h:266
+#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
+#: parse-options.h:141 parse-options.h:162 parse-options.h:311
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2215 builtin/branch.c:637 builtin/for-each-ref.c:38
-#: builtin/replace.c:544 builtin/tag.c:422 builtin/verify-tag.c:39
+#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
+#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/am.c:2216
+#: builtin/am.c:2223
 msgid "format the patch(es) are in"
 msgstr "định dạng (các) miếng vá theo"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2229
 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:2224
+#: builtin/am.c:2231
 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:2227
+#: builtin/am.c:2234
 msgid "synonyms for --continue"
 msgstr "đồng nghĩa với --continue"
 
-#: builtin/am.c:2230
+#: builtin/am.c:2237
 msgid "skip the current patch"
 msgstr "bỏ qua miếng vá hiện hành"
 
-#: builtin/am.c:2233
+#: builtin/am.c:2240
 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:2236
+#: builtin/am.c:2243
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "bỏ qua thao tác vá nhưng vẫn giữ HEAD chỉ đến nó."
 
-#: builtin/am.c:2239
+#: builtin/am.c:2246
 msgid "show the patch being applied."
 msgstr "hiển thị miếng vá đã được áp dụng rồi."
 
-#: builtin/am.c:2243
+#: builtin/am.c:2250
 msgid "lie about committer date"
 msgstr "nói dối về ngày chuyển giao"
 
-#: builtin/am.c:2245
+#: builtin/am.c:2252
 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:2247 builtin/commit.c:1486 builtin/merge.c:274
-#: builtin/pull.c:185 builtin/rebase.c:1106 builtin/rebase--interactive.c:185
-#: builtin/revert.c:114 builtin/tag.c:402
+#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
+#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
+#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/am.c:2248 builtin/rebase.c:1107 builtin/rebase--interactive.c:186
+#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
 msgid "GPG-sign commits"
 msgstr "Các lần chuyển giao ký-GPG"
 
-#: builtin/am.c:2251
+#: builtin/am.c:2258
 msgid "(internal use for git-rebase)"
 msgstr "(dùng nội bộ cho git-rebase)"
 
-#: builtin/am.c:2269
+#: builtin/am.c:2276
 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."
@@ -8149,16 +8845,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:2276
+#: builtin/am.c:2283
 msgid "failed to read the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/am.c:2291
+#: builtin/am.c:2298
 #, 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:2315
+#: builtin/am.c:2322
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -8167,7 +8863,7 @@ 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:2321
+#: builtin/am.c:2328
 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."
 
@@ -8478,143 +9174,143 @@ msgstr "--bisect-next-check cần 2 hoặc 3 tham số"
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms cần 0 hoặc 1 tham số"
 
-#: builtin/blame.c:31
+#: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<các-tùy-chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
 
-#: builtin/blame.c:36
+#: builtin/blame.c:37
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> được mô tả trong tài liệu git-rev-list(1)"
 
-#: builtin/blame.c:406
+#: builtin/blame.c:407
 #, c-format
 msgid "expecting a color: %s"
 msgstr "cần một màu: %s"
 
-#: builtin/blame.c:413
+#: builtin/blame.c:414
 msgid "must end with a color"
 msgstr "phải kết thúc bằng một màu"
 
-#: builtin/blame.c:700
+#: builtin/blame.c:701
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "màu không hợp lệ “%s” trong color.blame.repeatedLines"
 
-#: builtin/blame.c:718
+#: builtin/blame.c:719
 msgid "invalid value for blame.coloring"
 msgstr "màu không hợp lệ cho blame.coloring"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:794
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Hiển thị các mục “blame” như là chúng ta thấy chúng, tăng dần"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:795
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giới (Mặc định: off)"
 
-#: builtin/blame.c:795
+#: builtin/blame.c:796
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Không coi các lần chuyển giao gốc là giới hạn (Mặc định: off)"
 
-#: builtin/blame.c:796
+#: builtin/blame.c:797
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:797
+#: builtin/blame.c:798
 msgid "Force progress reporting"
 msgstr "Ép buộc báo cáo tiến triển công việc"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:799
 msgid "Show output score for blame entries"
 msgstr "Hiển thị kết xuất điểm số có các mục tin “blame”"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:800
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:801
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:802
 msgid "Show in a format designed for machine consumption"
 msgstr "Hiển thị ở định dạng đã thiết kế cho sự tiêu dùng bằng máy"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:803
 msgid "Show porcelain format with per-line commit information"
 msgstr "Hiển thị định dạng “porcelain” với thông tin chuyển giao mỗi dòng"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:804
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra với git-annotate (Mặc định: off)"
 
-#: builtin/blame.c:804
+#: builtin/blame.c:805
 msgid "Show raw timestamp (Default: off)"
 msgstr "Hiển thị dấu vết thời gian dạng thô (Mặc định: off)"
 
-#: builtin/blame.c:805
+#: builtin/blame.c:806
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Hiển thị SHA1 của lần chuyển giao dạng dài (Mặc định: off)"
 
-#: builtin/blame.c:806
+#: builtin/blame.c:807
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Không hiển thị tên tác giả và dấu vết thời gian (Mặc định: off)"
 
-#: builtin/blame.c:807
+#: builtin/blame.c:808
 msgid "Show author email instead of name (Default: off)"
 msgstr "Hiển thị thư điện tử của tác giả thay vì tên (Mặc định: off)"
 
-#: builtin/blame.c:808
+#: builtin/blame.c:809
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:809
+#: builtin/blame.c:810
 msgid "color redundant metadata from previous line differently"
 msgstr "siêu dữ liệu dư thừa màu từ dòng trước khác hẳn"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:811
 msgid "color lines by age"
 msgstr "các dòng màu theo tuổi"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:818
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Dùng một phỏng đoán thử nghiệm để tăng cường các diff"
 
-#: builtin/blame.c:819
+#: builtin/blame.c:820
 msgid "Spend extra cycles to find better match"
 msgstr "Tiêu thụ thêm năng tài nguyên máy móc để tìm kiếm tốt hơn nữa"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:821
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Sử dụng điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:821
+#: builtin/blame.c:822
 msgid "Use <file>'s contents as the final image"
 msgstr "Sử dụng nội dung của <tập tin> như là ảnh cuối cùng"
 
-#: builtin/blame.c:822 builtin/blame.c:823
+#: builtin/blame.c:823 builtin/blame.c:824
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:822
+#: builtin/blame.c:823
 msgid "Find line copies within and across files"
 msgstr "Tìm các bản sao chép dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:824
 msgid "Find line movements within and across files"
 msgstr "Tìm các di chuyển dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:825
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:825
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:876
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress không được dùng cùng với --incremental hay các định dạng porcelain"
@@ -8627,17 +9323,17 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:926
+#: builtin/blame.c:927
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:1018
+#: builtin/blame.c:1031
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] "tập tin %s chỉ có %lu dòng"
 
-#: builtin/blame.c:1064
+#: builtin/blame.c:1077
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
@@ -8748,65 +9444,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:421 builtin/tag.c:59
+#: builtin/branch.c:421 builtin/tag.c:60
 msgid "unable to parse format string"
 msgstr "không thể phân tích chuỗi định dạng"
 
+#: builtin/branch.c:452
+msgid "could not resolve HEAD"
+msgstr "không thể phân giải HEAD"
+
 #: builtin/branch.c:458
 #, 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:473
+#, 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:462
+#: builtin/branch.c:477
 #, 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:479
+#: builtin/branch.c:494
 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:481
+#: builtin/branch.c:496
 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:492
+#: builtin/branch.c:507
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:519
+#: builtin/branch.c:534
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:521
+#: builtin/branch.c:536
 msgid "Branch copy failed"
 msgstr "Gặp lỗi khi sao chép nhánh"
 
-#: builtin/branch.c:525
+#: builtin/branch.c:540
 #, 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:528
+#: builtin/branch.c:543
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:534
+#: builtin/branch.c:549
 #, 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:543
+#: builtin/branch.c:558
 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:545
+#: builtin/branch.c:560
 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:561
+#: builtin/branch.c:576
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -8817,186 +9522,180 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:610
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:596
+#: builtin/branch.c:612
 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:597
+#: builtin/branch.c:613
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:598
+#: builtin/branch.c:614
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:616
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:602 builtin/rebase--interactive.c:182
+#: builtin/branch.c:618 builtin/rebase.c:485
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:618
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:603
+#: builtin/branch.c:619
 msgid "Unset the upstream info"
 msgstr "Bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:620
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:605
+#: builtin/branch.c:621
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:607 builtin/branch.c:609
+#: builtin/branch.c:623 builtin/branch.c:625
 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:608 builtin/branch.c:610
+#: builtin/branch.c:624 builtin/branch.c:626
 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:613
+#: builtin/branch.c:629
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:630
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:632
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:617
+#: builtin/branch.c:633
 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:618
+#: builtin/branch.c:634
 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:619
+#: builtin/branch.c:635
 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:620
+#: builtin/branch.c:636
 msgid "copy a branch and its reflog"
 msgstr "sao chép một nhánh và reflog của nó"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:637
 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:622
+#: builtin/branch.c:638
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:623
+#: builtin/branch.c:639
+msgid "show current branch name"
+msgstr "hiển thị nhánh hiện hành"
+
+#: builtin/branch.c:640
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:642
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:643
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:644
 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:628
+#: builtin/branch.c:645
 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:629
+#: builtin/branch.c:646
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:630 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:415
-msgid "key"
-msgstr "khóa"
-
-#: builtin/branch.c:631 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:416
-msgid "field name to sort on"
-msgstr "tên trường cần sắp xếp"
-
-#: builtin/branch.c:633 builtin/for-each-ref.c:43 builtin/notes.c:415
+#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:418
+#: builtin/tag.c:427
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:650
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425
+#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
 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:637 builtin/for-each-ref.c:38 builtin/tag.c:423
+#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/branch.c:660 builtin/clone.c:746
+#: builtin/branch.c:676 builtin/clone.c:748
 msgid "HEAD not found below refs/heads!"
 msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:683
+#: builtin/branch.c:700
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758
+#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:725
+#: builtin/branch.c:745
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:730
+#: builtin/branch.c:750
 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:737
+#: builtin/branch.c:757
 #, 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:740
+#: builtin/branch.c:760
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:755
+#: builtin/branch.c:775
 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:764
+#: builtin/branch.c:784
 msgid "too many arguments for a rename operation"
 msgstr "quá nhiều tham số cho thao tác đổi tên"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:789
 msgid "too many arguments to set new upstream"
 msgstr "quá nhiều tham số để đặt thượng nguồn mới"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:793
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -9004,36 +9703,36 @@ 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:776 builtin/branch.c:799
+#: builtin/branch.c:796 builtin/branch.c:819
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:780
+#: builtin/branch.c:800
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:813
 msgid "too many arguments to unset upstream"
 msgstr "quá nhiều tham số để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:817
 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:803
+#: builtin/branch.c:823
 #, 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:813
+#: builtin/branch.c:833
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không hợp lý đối với tên "
 "nhánh"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:836
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -9102,7 +9801,7 @@ msgstr "với đối tượng blob, chạy lệnh textconv trên nội dung củ
 msgid "for blob objects, run filters on object's content"
 msgstr "với đối tượng blob, chạy lệnh filters trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:643 git-submodule.sh:860
+#: builtin/cat-file.c:643 git-submodule.sh:936
 msgid "blob"
 msgstr "blob"
 
@@ -9163,8 +9862,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:1280 builtin/gc.c:517
-#: builtin/worktree.c:496
+#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538
+#: builtin/worktree.c:499
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -9256,8 +9955,8 @@ msgstr "ghi nội dung vào tập tin tạm"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
 #: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1857
-#: builtin/worktree.c:669
+#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
+#: builtin/worktree.c:672
 msgid "string"
 msgstr "chuỗi"
 
@@ -9277,124 +9976,140 @@ msgstr "git checkout [<các-tùy-chọn>] <nhánh>"
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<các-tùy-chọn>] [<nhánh>] -- <tập-tin>…"
 
-#: builtin/checkout.c:147 builtin/checkout.c:181
+#: builtin/checkout.c:151 builtin/checkout.c:190
 #, 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:149 builtin/checkout.c:183
+#: builtin/checkout.c:153 builtin/checkout.c:192
 #, 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:165
+#: builtin/checkout.c:169
 #, 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:210
+#: builtin/checkout.c:219
 #, 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:228
+#: builtin/checkout.c:237
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:244
+#: builtin/checkout.c:253
 #, 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:267 builtin/checkout.c:270 builtin/checkout.c:273
-#: builtin/checkout.c:276
+#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337
+#: builtin/checkout.c:340
 #, 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:279 builtin/checkout.c:282
+#: builtin/checkout.c:343 builtin/checkout.c:346
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "không được dùng “%s” với %s"
 
-#: builtin/checkout.c:285
+#: builtin/checkout.c:349
 #, 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:354 builtin/checkout.c:361
+#: builtin/checkout.c:396 builtin/checkout.c:403
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:397
+#: builtin/checkout.c:442
 #, 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:402
+#: builtin/checkout.c:447
 #, 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:409
+#: builtin/checkout.c:454
 #, 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:645
+#: builtin/checkout.c:695
 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:782
+#: builtin/checkout.c:744
+#, c-format
+msgid ""
+"cannot continue with staged changes in the following files:\n"
+"%s"
+msgstr ""
+"không thể tiếp tục với các thay đổi đã được đưa lên bệ phóng trong các dòng "
+"sau:\n"
+"%s"
+
+#: builtin/checkout.c:751
+#, c-format
+msgid "staged changes in the following files may be lost: %s"
+msgstr ""
+"các thay đổi đã đưa lên bệ phóng trong các tập tin sau đây có thể bị mất: %s"
+
+#: builtin/checkout.c:848
 #, 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:824
+#: builtin/checkout.c:890
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:828 builtin/clone.c:699
+#: builtin/checkout.c:894 builtin/clone.c:701
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:832
+#: builtin/checkout.c:898
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:835
+#: builtin/checkout.c:901
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:839
+#: builtin/checkout.c:905
 #, 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:841 builtin/checkout.c:1212
+#: builtin/checkout.c:907 builtin/checkout.c:1283
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:843
+#: builtin/checkout.c:909
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:960
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:900
+#: builtin/checkout.c:966
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -9413,7 +10128,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:919
+#: builtin/checkout.c:985
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -9434,24 +10149,24 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:1017
 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:955
+#: builtin/checkout.c:1021
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:983 builtin/checkout.c:1207
+#: builtin/checkout.c:1052 builtin/checkout.c:1278
 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:1104
+#: builtin/checkout.c:1173
 #, 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:1140
+#: builtin/checkout.c:1209
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -9460,147 +10175,155 @@ 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:1153 builtin/worktree.c:290 builtin/worktree.c:445
+#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1182
+#: builtin/checkout.c:1251
 #, 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:1221
+#: builtin/checkout.c:1292
 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:1224 builtin/checkout.c:1228
+#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
 #, 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:1232 builtin/checkout.c:1235 builtin/checkout.c:1240
-#: builtin/checkout.c:1243
+#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
+#: builtin/checkout.c:1318
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1248
+#: builtin/checkout.c:1323
 #, 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:1281 builtin/checkout.c:1283 builtin/clone.c:120
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:489
-#: builtin/worktree.c:491
+#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118
+#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
+#: builtin/worktree.c:494
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1282
+#: builtin/checkout.c:1357
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1284
+#: builtin/checkout.c:1359
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1285
+#: builtin/checkout.c:1360
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1286 builtin/worktree.c:493
+#: builtin/checkout.c:1361 builtin/worktree.c:496
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1287
+#: builtin/checkout.c:1362
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1364
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1364
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1291
+#: builtin/checkout.c:1366
 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:1294
+#: builtin/checkout.c:1369
 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:1296
+#: builtin/checkout.c:1371
 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:1298
+#: builtin/checkout.c:1373
 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:1300 builtin/merge.c:276
+#: builtin/checkout.c:1375 builtin/merge.c:284
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1302 builtin/log.c:1586 parse-options.h:272
+#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1378
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1306
+#: builtin/checkout.c:1381
 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 thưa thớt"
 
-#: builtin/checkout.c:1308
+#: builtin/checkout.c:1383
 msgid "do not second guess 'git checkout <no-such-branch>'"
 msgstr "đừng gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1310
+#: builtin/checkout.c:1385
 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:1314 builtin/clone.c:87 builtin/fetch.c:141
-#: builtin/merge.c:273 builtin/pull.c:130 builtin/push.c:575
+#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141
+#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1390
+msgid "use overlay mode (default)"
+msgstr "dùng chế độ che phủ (mặc định)"
+
+#: builtin/checkout.c:1422
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Các tùy chọn -b, -B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1362
+#: builtin/checkout.c:1425
+msgid "-p and --overlay are mutually exclusive"
+msgstr "-p và --overlay loại từ lẫn nhau"
+
+#: builtin/checkout.c:1442
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1367
+#: builtin/checkout.c:1447
 msgid "missing branch name; try -b"
 msgstr "thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1484
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1491
 #, 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:1415
+#: builtin/checkout.c:1495
 #, 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:1419
+#: builtin/checkout.c:1499
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -9608,7 +10331,7 @@ 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:1439
+#: builtin/checkout.c:1519
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -9786,9 +10509,9 @@ msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
 #: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:167 builtin/log.c:169
-#: builtin/ls-files.c:557 builtin/name-rev.c:415 builtin/name-rev.c:417
-#: builtin/show-ref.c:178
+#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
+#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "mẫu"
 
@@ -9828,139 +10551,149 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các-tùy-chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:90
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:90 builtin/clone.c:92 builtin/init-db.c:481
+#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:97
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:99
 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:100
+#: builtin/clone.c:101
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:104
 msgid "pathspec"
 msgstr "đặc-tả-đường-dẫn"
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:104
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:109
+#: builtin/clone.c:107
 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:110 builtin/init-db.c:478
+#: builtin/clone.c:108 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:111 builtin/init-db.c:479
+#: builtin/clone.c:109 builtin/init-db.c:487
 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:113 builtin/clone.c:115 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1860
+#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
+#: builtin/submodule--helper.c:1859
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:117 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1862
+#: builtin/clone.c:115 builtin/submodule--helper.c:1381
+#: builtin/submodule--helper.c:1861
 msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
-#: builtin/clone.c:118 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3303 builtin/repack.c:329
+#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3306 builtin/repack.c:329
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:117
 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:121
+#: builtin/clone.c:119
 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:123
+#: builtin/clone.c:121
 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:124 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:218
+#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836
+#: builtin/pull.c:225
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:123
 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:126 builtin/fetch.c:144 builtin/pack-objects.c:3292
+#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:125
 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:128 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1039
+#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169
+#: builtin/rebase.c:1389
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:129 builtin/fetch.c:147
+#: builtin/clone.c:127 builtin/fetch.c:147
 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:131
+#: builtin/clone.c:129
 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:133
+#: builtin/clone.c:131
 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:135
+#: builtin/clone.c:133
 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:136 builtin/init-db.c:487
+#: builtin/clone.c:134 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:137 builtin/init-db.c:488
+#: builtin/clone.c:135 builtin/init-db.c:496
 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:138
+#: builtin/clone.c:136
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:139
+#: builtin/clone.c:137
 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:140 builtin/fetch.c:165 builtin/pull.c:231
+#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:172
+msgid "server-specific"
+msgstr "đặc-tả-máy-phục-vụ"
+
+#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:173
+msgid "option to transmit"
+msgstr "tùy chọn để chuyển giao"
+
+#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:234
+#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
@@ -10028,90 +10761,90 @@ msgstr ""
 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:687
+#: builtin/clone.c:689
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:737
+#: builtin/clone.c:739
 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:768
+#: builtin/clone.c:770
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:813
+#: builtin/clone.c:815
 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:876
+#: builtin/clone.c:878
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:878
+#: builtin/clone.c:880
 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:918 builtin/receive-pack.c:1941
+#: builtin/clone.c:920 builtin/receive-pack.c:1952
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:922
+#: builtin/clone.c:924
 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:935
+#: builtin/clone.c:937
 #, 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:938
+#: builtin/clone.c:940
 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:951
+#: builtin/clone.c:953
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:957 builtin/fetch.c:1608
+#: builtin/clone.c:959 builtin/fetch.c:1610
 #, 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:967
+#: builtin/clone.c:969
 #, 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:977
+#: builtin/clone.c:979
 #, 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:992 builtin/clone.c:1013 builtin/difftool.c:272
-#: builtin/worktree.c:296 builtin/worktree.c:326
+#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264
+#: builtin/worktree.c:296 builtin/worktree.c:328
 #, 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:997
+#: builtin/clone.c:999
 #, 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:1017
+#: builtin/clone.c:1019
 #, 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:1019
+#: builtin/clone.c:1021
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1043
+#: builtin/clone.c:1045
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -10119,41 +10852,41 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1104
+#: builtin/clone.c:1106
 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:1106
+#: builtin/clone.c:1108
 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:1108
+#: builtin/clone.c:1110
 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:1110
+#: builtin/clone.c:1112
 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:1113
+#: builtin/clone.c:1115
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1118
+#: builtin/clone.c:1120
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1192 builtin/clone.c:1200
+#: builtin/clone.c:1197 builtin/clone.c:1205
 #, 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:1203
+#: builtin/clone.c:1208
 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."
 
@@ -10189,6 +10922,74 @@ msgstr "Chèn thêm khoảng trắng giữa các cột"
 msgid "--command must be the first argument"
 msgstr "--command phải là đối số đầu tiên"
 
+#: builtin/commit-tree.c:18
+msgid ""
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
+"<file>)...] <tree>"
+msgstr ""
+"git commit-tree [(-p <cha>)…] [-S[<keyid>]] [(-m <ghi chú>)…] [(-F <tập tin>)"
+"…] <cây>"
+
+#: builtin/commit-tree.c:31
+#, c-format
+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:520
+#, c-format
+msgid "not a valid object name %s"
+msgstr "không phải là tên đối tượng hợp lệ “%s”"
+
+#: builtin/commit-tree.c:93
+#, c-format
+msgid "git commit-tree: failed to open '%s'"
+msgstr "git commit-tree: gặp lỗi khi mở “%s”"
+
+#: builtin/commit-tree.c:96
+#, c-format
+msgid "git commit-tree: failed to read '%s'"
+msgstr "git commit-tree: gặp lỗi khi đọc “%s”"
+
+#: builtin/commit-tree.c:98
+#, c-format
+msgid "git commit-tree: failed to close '%s'"
+msgstr "git commit-tree: gặp lỗi khi đóng “%s”"
+
+#: builtin/commit-tree.c:111
+msgid "parent"
+msgstr "cha-mẹ"
+
+#: builtin/commit-tree.c:112
+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:1480 builtin/merge.c:268
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
+#: builtin/tag.c:406
+msgid "message"
+msgstr "chú thích"
+
+#: builtin/commit-tree.c:115 builtin/commit.c:1480
+msgid "commit message"
+msgstr "chú thích của lần chuyển giao"
+
+#: builtin/commit-tree.c:118
+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:1492 builtin/merge.c:283
+#: builtin/pull.c:193 builtin/revert.c:117
+msgid "GPG sign commit"
+msgstr "Ký lần chuyển giao dùng GPG"
+
+#: builtin/commit-tree.c:133
+msgid "must give exactly one tree"
+msgstr "phải đưa ra chính xác một cây"
+
+#: builtin/commit-tree.c:140
+msgid "git commit-tree: failed to read"
+msgstr "git commit-tree: gặp lỗi khi đọc"
+
 #: builtin/commit.c:41
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<các-tùy-chọn>] [--] <pathspec>…"
@@ -10301,7 +11102,7 @@ msgstr "lần chuyển giao “%s” có phần tác giả ở đầu dị dạn
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:652
+#: builtin/commit.c:653
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -10309,38 +11110,38 @@ 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:689 builtin/commit.c:722 builtin/commit.c:1052
+#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069
 #, 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:701 builtin/shortlog.c:319
+#: builtin/commit.c:703 builtin/shortlog.c:319
 #, 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:703
+#: builtin/commit.c:705
 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:707
+#: builtin/commit.c:709
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:736 builtin/commit.c:744
+#: builtin/commit.c:740 builtin/commit.c:756
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:741
+#: builtin/commit.c:747
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:795
+#: builtin/commit.c:807
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:813
+#: builtin/commit.c:826
 #, c-format
 msgid ""
 "\n"
@@ -10355,7 +11156,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:818
+#: builtin/commit.c:831
 #, c-format
 msgid ""
 "\n"
@@ -10370,7 +11171,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:844
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -10381,7 +11182,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:839
+#: builtin/commit.c:852
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -10393,156 +11194,152 @@ 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:856
+#: builtin/commit.c:869
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:864
+#: builtin/commit.c:877
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:871
+#: builtin/commit.c:884
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:889
+#: builtin/commit.c:902
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:956
+#: builtin/commit.c:969
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:970 builtin/tag.c:258
+#: builtin/commit.c:983 builtin/tag.c:269
 #, 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:1014
+#: builtin/commit.c:1027
 #, 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:1028
+#: builtin/commit.c:1041
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Chế độ bỏ qua không hợp lệ “%s”"
 
-#: builtin/commit.c:1042 builtin/commit.c:1279
+#: builtin/commit.c:1059 builtin/commit.c:1284
 #, 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:1080
+#: builtin/commit.c:1097
 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:1113
+#: builtin/commit.c:1130
 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:1122
+#: builtin/commit.c:1139
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1125
+#: builtin/commit.c:1142
 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:1127
+#: builtin/commit.c:1144
 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:1130
+#: builtin/commit.c:1147
 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:1140
+#: builtin/commit.c:1157
 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:1142
+#: builtin/commit.c:1159
 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:1150
+#: builtin/commit.c:1167
 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:1167
+#: builtin/commit.c:1184
 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:1169
+#: builtin/commit.c:1186
 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:1183 builtin/tag.c:546
+#: builtin/commit.c:1192
 #, c-format
-msgid "Invalid cleanup mode %s"
-msgstr "Chế độ dọn dẹp không hợp lệ %s"
-
-#: builtin/commit.c:1188
-msgid "Paths with -a does not make sense."
-msgstr "Các đường dẫn với tùy chọn -a không hợp lý."
+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:1314 builtin/commit.c:1498
+#: builtin/commit.c:1319 builtin/commit.c:1503
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1316 builtin/commit.c:1500
+#: builtin/commit.c:1321 builtin/commit.c:1505
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1318
+#: builtin/commit.c:1323
 msgid "show stash information"
 msgstr "hiển thị thông tin về tạm cất"
 
-#: builtin/commit.c:1320 builtin/commit.c:1502
+#: builtin/commit.c:1325 builtin/commit.c:1507
 msgid "compute full ahead/behind values"
 msgstr "tính đầy đủ giá trị trước/sau"
 
-#: builtin/commit.c:1322
+#: builtin/commit.c:1327
 msgid "version"
 msgstr "phiên bản"
 
-#: builtin/commit.c:1322 builtin/commit.c:1504 builtin/push.c:561
-#: builtin/worktree.c:640
+#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
+#: builtin/worktree.c:643
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1325 builtin/commit.c:1506
+#: builtin/commit.c:1330 builtin/commit.c:1511
 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:1328 builtin/commit.c:1509
+#: builtin/commit.c:1333 builtin/commit.c:1514
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1330 builtin/commit.c:1334 builtin/commit.c:1512
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1118
-#: builtin/tag.c:400
+#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
+#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
+#: parse-options.h:331
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1331 builtin/commit.c:1512
+#: builtin/commit.c:1336 builtin/commit.c:1517
 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:1335
+#: builtin/commit.c:1340
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -10550,11 +11347,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:1337 parse-options.h:164
+#: builtin/commit.c:1342 parse-options.h:179
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1338
+#: builtin/commit.c:1343
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -10562,191 +11359,169 @@ 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:1340
+#: builtin/commit.c:1345
 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:1341
+#: builtin/commit.c:1346
 msgid "do not detect renames"
 msgstr "không dò tìm các tên thay đổi"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1348
 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:1363
+#: builtin/commit.c:1368
 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:1468
+#: builtin/commit.c:1473
 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:1469
+#: builtin/commit.c:1474
 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:1471
+#: builtin/commit.c:1476
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1472 builtin/merge.c:264 builtin/tag.c:397
+#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1478
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1478
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1474 builtin/gc.c:518
+#: builtin/commit.c:1479 builtin/gc.c:539
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1479
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1475 builtin/merge.c:260 builtin/notes.c:409
-#: builtin/notes.c:575 builtin/tag.c:395
-msgid "message"
-msgstr "chú thích"
-
-#: builtin/commit.c:1475
-msgid "commit message"
-msgstr "chú thích của lần chuyển giao"
-
-#: builtin/commit.c:1476 builtin/commit.c:1477 builtin/commit.c:1478
-#: builtin/commit.c:1479 parse-options.h:278 ref-filter.h:92
+#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
+#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1481
 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:1477
+#: builtin/commit.c:1482
 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:1478
+#: builtin/commit.c:1483
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "dùng ghi chú có định dạng autosquash để sửa chữa lần chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1484
 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:1480
+#: builtin/commit.c:1485
 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:1481 builtin/log.c:1533 builtin/merge.c:277
-#: builtin/pull.c:156 builtin/revert.c:107
+#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285
+#: builtin/pull.c:162 builtin/revert.c:109
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1487
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1488
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1484
-msgid "default"
-msgstr "mặc định"
-
-#: builtin/commit.c:1484 builtin/tag.c:401
-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"
-
-#: builtin/commit.c:1485
+#: builtin/commit.c:1490
 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:1487 builtin/merge.c:275 builtin/pull.c:186
-#: builtin/revert.c:115
-msgid "GPG sign commit"
-msgstr "Ký lần chuyển giao dùng GPG"
-
-#: builtin/commit.c:1490
+#: builtin/commit.c:1495
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1496
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1497
 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:1493
+#: builtin/commit.c:1498
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1499
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1500
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1501
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-commit và commit-msg"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1502
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1515
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1516
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1521
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1523
 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:1591
+#: builtin/commit.c:1596
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1603
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1617
+#: builtin/commit.c:1622
 #, 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:1628
+#: builtin/commit.c:1629
 #, 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:1633
+#: builtin/commit.c:1634
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
@@ -10784,38 +11559,43 @@ msgstr ""
 "git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
-#: builtin/commit-graph.c:48 builtin/commit-graph.c:78
-#: builtin/commit-graph.c:132 builtin/commit-graph.c:190 builtin/fetch.c:153
-#: builtin/log.c:1553
+#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
+#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
+#: builtin/log.c:1561
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/commit-graph.c:49 builtin/commit-graph.c:79
-#: builtin/commit-graph.c:133 builtin/commit-graph.c:191
+#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
+#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
 msgid "The object directory to store the graph"
 msgstr "Thư mục đối tượng để lưu đồ thị"
 
-#: builtin/commit-graph.c:135
+#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
+#, c-format
+msgid "Could not open commit-graph '%s'"
+msgstr "Không thể mở đồ thị chuyển giao “%s”"
+
+#: builtin/commit-graph.c:150
 msgid "start walk at all refs"
 msgstr "bắt đầu di chuyển tại mọi tham chiếu"
 
-#: builtin/commit-graph.c:137
+#: builtin/commit-graph.c:152
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr ""
 "quét dó các mục lục gói được liệt kê bởi đầu vào tiêu chuẩn cho các lần "
 "chuyển giao"
 
-#: builtin/commit-graph.c:139
+#: builtin/commit-graph.c:154
 msgid "start walk at commits listed by stdin"
 msgstr ""
 "bắt đầu di chuyển tại các lần chuyển giao được liệt kê bởi đầu vào tiêu chuẩn"
 
-#: builtin/commit-graph.c:141
+#: builtin/commit-graph.c:156
 msgid "include all commits already in the commit-graph file"
 msgstr ""
 "bao gồm mọi lần chuyển giao đã sẵn có trongười tập tin đồ thị lần chuyển giao"
 
-#: builtin/commit-graph.c:150
+#: builtin/commit-graph.c:165
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr ""
 "không thể sử dụng hơn một --reachable, --stdin-commits, hay --stdin-packs"
@@ -11220,7 +12000,7 @@ msgstr ""
 msgid "describe %s\n"
 msgstr "mô tả %s\n"
 
-#: builtin/describe.c:513 builtin/log.c:516
+#: builtin/describe.c:513
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "Không phải tên đối tượng %s hợp lệ"
@@ -11270,7 +12050,7 @@ msgstr "chỉ cân nhắc đến những thẻ khớp với <mẫu>"
 msgid "do not consider tags matching <pattern>"
 msgstr "không coi rằng các thẻ khớp với <mẫu>"
 
-#: builtin/describe.c:551 builtin/name-rev.c:424
+#: builtin/describe.c:551 builtin/name-rev.c:426
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
@@ -11312,52 +12092,52 @@ msgstr "“%s”: không phải tập tin bình thường hay liên kết mềm"
 msgid "invalid option: %s"
 msgstr "tùy chọn không hợp lệ: %s"
 
-#: builtin/diff.c:364
+#: builtin/diff.c:350
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:408
+#: builtin/diff.c:394
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
 
-#: builtin/diff.c:417
+#: builtin/diff.c:403
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "đã cho nhiều hơn hai đối tượng blob: “%s”"
 
-#: builtin/diff.c:422
+#: builtin/diff.c:408
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 
-#: builtin/difftool.c:31
+#: builtin/difftool.c:30
 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:261
+#: builtin/difftool.c:253
 #, c-format
 msgid "failed: %d"
 msgstr "gặp lỗi: %d"
 
-#: builtin/difftool.c:303
+#: builtin/difftool.c:295
 #, c-format
 msgid "could not read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:297
 #, 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:313
+#: builtin/difftool.c:305
 #, 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:414
+#: builtin/difftool.c:406
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -11365,53 +12145,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:634
+#: builtin/difftool.c:626
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "cả hai tập tin đã bị sửa: “%s” và “%s”."
 
-#: builtin/difftool.c:636
+#: builtin/difftool.c:628
 msgid "working tree file has been left."
 msgstr "cây làm việc ở bên trái."
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:639
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "các tập tin tạm đã sẵn có trong “%s”."
 
-#: builtin/difftool.c:648
+#: builtin/difftool.c:640
 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:697
+#: builtin/difftool.c:689
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "dùng “diff.guitool“ thay vì dùng “diff.tool“"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:691
 msgid "perform a full-directory diff"
 msgstr "thực hiện một diff toàn thư mục"
 
-#: builtin/difftool.c:701
+#: builtin/difftool.c:693
 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:706
+#: builtin/difftool.c:698
 msgid "use symlinks in dir-diff mode"
 msgstr "dùng liên kết mềm trong diff-thư-mục"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:699
 msgid "tool"
 msgstr "công cụ"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:700
 msgid "use the specified diff tool"
 msgstr "dùng công cụ diff đã cho"
 
-#: builtin/difftool.c:710
+#: builtin/difftool.c:702
 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:713
+#: builtin/difftool.c:705
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -11419,15 +12199,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:716
+#: builtin/difftool.c:708
 msgid "specify a custom command for viewing diffs"
 msgstr "chỉ định một lệnh tùy ý để xem diff"
 
-#: builtin/difftool.c:740
+#: builtin/difftool.c:709
+msgid "passed to `diff`"
+msgstr "chuyển cho “diff”"
+
+#: builtin/difftool.c:724
+msgid "difftool requires worktree or --no-index"
+msgstr "difftool cần cây làm việc hoặc --no-index"
+
+#: builtin/difftool.c:731
+msgid "--dir-diff is incompatible with --no-index"
+msgstr "--dir-diff xung khắc với --no-index"
+
+#: builtin/difftool.c:734
+msgid "--gui, --tool and --extcmd are mutually exclusive"
+msgstr "--gui, --tool và --extcmd loại từ lẫn nhau"
+
+#: builtin/difftool.c:742
 msgid "no <tool> given for --tool=<tool>"
 msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
 
-#: builtin/difftool.c:747
+#: builtin/difftool.c:749
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 
@@ -11471,7 +12267,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:1102 builtin/log.c:1601
+#: builtin/fast-export.c:1102 builtin/log.c:1609
 msgid "refspec"
 msgstr "refspec"
 
@@ -11509,15 +12305,15 @@ 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:115 builtin/pull.c:195
+#: builtin/fetch.c:115 builtin/pull.c:202
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:117 builtin/pull.c:198
+#: builtin/fetch.c:117 builtin/pull.c:205
 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:119 builtin/pull.c:201
+#: builtin/fetch.c:119 builtin/pull.c:208
 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"
 
@@ -11529,7 +12325,7 @@ msgstr "ép buộc ghi đè lên tham chiếu nội bộ"
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:124 builtin/pull.c:205
+#: builtin/fetch.c:124 builtin/pull.c:212
 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ó"
 
@@ -11541,7 +12337,7 @@ msgstr "không lấy tất cả các thẻ (--no-tags)"
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:130 builtin/pull.c:208
+#: builtin/fetch.c:130 builtin/pull.c:215
 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ủ "
@@ -11551,7 +12347,7 @@ msgstr ""
 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:133 builtin/fetch.c:156 builtin/pull.c:133
+#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139
 msgid "on-demand"
 msgstr "khi-cần"
 
@@ -11559,7 +12355,7 @@ msgstr "khi-cần"
 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:138 builtin/pull.c:216
+#: builtin/fetch.c:138 builtin/pull.c:223
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
@@ -11567,7 +12363,7 @@ msgstr "giữ lại gói đã tải về"
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:219
+#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
@@ -11575,7 +12371,7 @@ msgstr "làm sâu hơn lịch sử của bản sao"
 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:151 builtin/pull.c:222
+#: builtin/fetch.c:151 builtin/pull.c:229
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
@@ -11591,28 +12387,18 @@ 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:161 builtin/pull.c:225
+#: builtin/fetch.c:161 builtin/pull.c:232
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:162 builtin/pull.c:227
+#: builtin/fetch.c:162 builtin/pull.c:234
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:163 builtin/pull.c:228
+#: builtin/fetch.c:163 builtin/pull.c:235
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:172
-msgid "server-specific"
-msgstr "đặc-tả-máy-phục-vụ"
-
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:173
-msgid "option to transmit"
-msgstr "tùy chọn để chuyển giao"
-
 #: builtin/fetch.c:170
 msgid "report that we have only objects reachable from this object"
 msgstr ""
@@ -11766,40 +12552,40 @@ msgstr ""
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1592
+#: builtin/fetch.c:1594
 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:1594
+#: builtin/fetch.c:1596
 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:1599
+#: builtin/fetch.c:1601
 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:1601
+#: builtin/fetch.c:1603
 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:1617
+#: builtin/fetch.c:1619
 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:1619
+#: builtin/fetch.c:1621
 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:1628
+#: builtin/fetch.c:1630
 #, 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:1635
+#: builtin/fetch.c:1637
 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:1651
+#: builtin/fetch.c:1653
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -11872,27 +12658,27 @@ msgstr "trích dẫn để phù hợp cho Tcl"
 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:424
+#: builtin/for-each-ref.c:39 builtin/tag.c:433
 msgid "respect format colors"
 msgstr "các màu định dạng lưu tâm"
 
-#: builtin/for-each-ref.c:43
+#: builtin/for-each-ref.c:42
 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:45
+#: builtin/for-each-ref.c:44
 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:46
+#: builtin/for-each-ref.c:45
 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:47
+#: builtin/for-each-ref.c:46
 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:48
+#: builtin/for-each-ref.c:47
 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"
 
@@ -11930,211 +12716,211 @@ msgstr ""
 "liên kết gãy từ %7s %s \n"
 "              tới %7s %s"
 
-#: builtin/fsck.c:253
+#: builtin/fsck.c:295
 #, c-format
 msgid "missing %s %s"
 msgstr "thiếu %s %s"
 
-#: builtin/fsck.c:279
+#: builtin/fsck.c:321
 #, c-format
 msgid "unreachable %s %s"
 msgstr "không tiếp cận được %s %s"
 
-#: builtin/fsck.c:298
+#: builtin/fsck.c:340
 #, c-format
 msgid "dangling %s %s"
 msgstr "dangling %s %s"
 
-#: builtin/fsck.c:307
+#: builtin/fsck.c:349
 msgid "could not create lost-found"
 msgstr "không thể tạo lost-found"
 
-#: builtin/fsck.c:318
+#: builtin/fsck.c:360
 #, c-format
 msgid "could not finish '%s'"
 msgstr "không thể hoàn thành “%s”"
 
-#: builtin/fsck.c:335
+#: builtin/fsck.c:377
 #, c-format
 msgid "Checking %s"
 msgstr "Đang kiểm tra %s"
 
-#: builtin/fsck.c:353
+#: builtin/fsck.c:415
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Đang kiểm tra kết nối (%d đối tượng)"
 
-#: builtin/fsck.c:372
+#: builtin/fsck.c:434
 #, c-format
 msgid "Checking %s %s"
 msgstr "Đang kiểm tra %s %s"
 
-#: builtin/fsck.c:376
+#: builtin/fsck.c:438
 msgid "broken links"
 msgstr "các liên kết bị gẫy"
 
-#: builtin/fsck.c:385
+#: builtin/fsck.c:447
 #, c-format
 msgid "root %s"
 msgstr "gốc %s"
 
-#: builtin/fsck.c:393
+#: builtin/fsck.c:455
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "đã đánh thẻ %s %s (%s) trong %s"
 
-#: builtin/fsck.c:422
+#: builtin/fsck.c:484
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s: đối tượng thiếu hay hỏng"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:509
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s: mục reflog không hợp lệ %s"
 
-#: builtin/fsck.c:461
+#: builtin/fsck.c:523
 #, 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:495
+#: builtin/fsck.c:557
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s: con trỏ sha1 không hợp lệ %s"
 
-#: builtin/fsck.c:502
+#: builtin/fsck.c:564
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s: không phải là một lần chuyển giao"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:619
 msgid "notice: No default references"
 msgstr "cảnh báo: Không có các tham chiếu mặc định"
 
-#: builtin/fsck.c:572
+#: builtin/fsck.c:634
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s: thiếu đối tượng hoặc hỏng: %s"
 
-#: builtin/fsck.c:585
+#: builtin/fsck.c:647
 #, 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:605
+#: builtin/fsck.c:667
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "tập tin sha1 sai: %s"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:682
 msgid "Checking object directory"
 msgstr "Đang kiểm tra thư mục đối tượng"
 
-#: builtin/fsck.c:623
+#: builtin/fsck.c:685
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:638
+#: builtin/fsck.c:700
 #, c-format
 msgid "Checking %s link"
 msgstr "Đang lấy liên kết %s"
 
-#: builtin/fsck.c:643 builtin/index-pack.c:833
+#: builtin/fsck.c:705 builtin/index-pack.c:841
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/fsck.c:650
+#: builtin/fsck.c:712
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s chỉ đến thứ gì đó xa lạ (%s)"
 
-#: builtin/fsck.c:656
+#: builtin/fsck.c:718
 #, 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:660
+#: builtin/fsck.c:722
 #, 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:672
+#: builtin/fsck.c:734
 msgid "Checking cache tree"
 msgstr "Đang kiểm tra cây nhớ tạm"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:739
 #, 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:688
+#: builtin/fsck.c:750
 msgid "non-tree in cache-tree"
 msgstr "non-tree trong cache-tree"
 
-#: builtin/fsck.c:719
+#: builtin/fsck.c:781
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<các-tùy-chọn>] [<đối-tượng>…]"
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:787
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:726
+#: builtin/fsck.c:788
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:727
+#: builtin/fsck.c:789
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:728
+#: builtin/fsck.c:790
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:729
+#: builtin/fsck.c:791
 msgid "make index objects head nodes"
 msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:730
+#: builtin/fsck.c:792
 msgid "make reflogs head nodes (default)"
 msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:731
+#: builtin/fsck.c:793
 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:732
+#: builtin/fsck.c:794
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:733
+#: builtin/fsck.c:795
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:735
+#: builtin/fsck.c:797
 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:736 builtin/prune.c:110
+#: builtin/fsck.c:798 builtin/prune.c:132
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:737
+#: builtin/fsck.c:799
 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:797
+#: builtin/fsck.c:859 builtin/index-pack.c:224
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
-#: builtin/fsck.c:825
+#: builtin/fsck.c:887
 #, c-format
 msgid "%s: object missing"
 msgstr "%s: thiếu đối tượng"
 
-#: builtin/fsck.c:837
+#: builtin/fsck.c:899
 #, 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”"
@@ -12148,17 +12934,22 @@ msgstr "git gc [<các-tùy-chọn>]"
 msgid "Failed to fstat %s: %s"
 msgstr "Gặp lỗi khi lấy thông tin thống kê về tập tin %s: %s"
 
-#: builtin/gc.c:461 builtin/init-db.c:55
+#: builtin/gc.c:126
+#, c-format
+msgid "failed to parse '%s' value '%s'"
+msgstr "gặp lỗi khi phân tích “%s” giá trị “%s”"
+
+#: builtin/gc.c:476 builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/gc.c:477
+#: builtin/gc.c:492
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -12173,54 +12964,54 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:519
+#: builtin/gc.c:540
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:521
+#: builtin/gc.c:542
 msgid "be more thorough (increased runtime)"
 msgstr "cẩn thận hơn nữa (tăng thời gian chạy)"
 
-#: builtin/gc.c:522
+#: builtin/gc.c:543
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:525
+#: builtin/gc.c:546
 msgid "force running gc even if there may be another gc running"
 msgstr "buộc gc chạy ngay cả khi có tiến trình gc khác đang chạy"
 
-#: builtin/gc.c:528
+#: builtin/gc.c:549
 msgid "repack all other packs except the largest pack"
 msgstr "đóng gói lại tất cả các gói khác ngoại trừ gói lớn nhất"
 
-#: builtin/gc.c:545
+#: builtin/gc.c:566
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "gặp lỗi khi phân tích giá trị gc.logexpiry %s"
 
-#: builtin/gc.c:556
+#: builtin/gc.c:577
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "gặp lỗi khi phân tích giá trị prune %s"
 
-#: builtin/gc.c:576
+#: builtin/gc.c:597
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Tự động đóng gói kho chứa trên nền hệ thống để tối ưu hóa hiệu suất làm "
 "việc.\n"
 
-#: builtin/gc.c:578
+#: builtin/gc.c:599
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
 
-#: builtin/gc.c:579
+#: builtin/gc.c:600
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Xem \"git help gc\" để có hướng dẫn cụ thể về cách dọn dẹp kho git.\n"
 
-#: builtin/gc.c:619
+#: builtin/gc.c:640
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -12228,7 +13019,7 @@ msgstr ""
 "gc đang được thực hiện trên máy “%s” pid %<PRIuMAX> (dùng --force nếu không "
 "phải thế)"
 
-#: builtin/gc.c:672
+#: builtin/gc.c:693
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -12253,8 +13044,8 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1506 builtin/index-pack.c:1697
-#: builtin/pack-objects.c:2717
+#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
+#: builtin/pack-objects.c:2720
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
@@ -12480,11 +13271,11 @@ msgstr "không thể phân giải điểm xét duyệt: %s"
 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:1066 builtin/pack-objects.c:3400
+#: builtin/grep.c:1066 builtin/pack-objects.c:3403
 msgid "no threads support, ignoring --threads"
 msgstr "không hỗ trợ đa tuyến, bỏ qua --threads"
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1503 builtin/pack-objects.c:2714
+#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
@@ -12586,30 +13377,30 @@ msgstr "hiển thị mô tả lệnh"
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<lệnh>]"
 
-#: builtin/help.c:73
+#: builtin/help.c:77
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "không nhận ra định dạng trợ giúp “%s”"
 
-#: builtin/help.c:100
+#: builtin/help.c:104
 msgid "Failed to start emacsclient."
 msgstr "Gặp lỗi khi khởi chạy emacsclient."
 
-#: builtin/help.c:113
+#: builtin/help.c:117
 msgid "Failed to parse emacsclient version."
 msgstr "Gặp lỗi khi phân tích phiên bản emacsclient."
 
-#: builtin/help.c:121
+#: builtin/help.c:125
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 
-#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179
+#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "gặp lỗi khi thực thi “%s”"
 
-#: builtin/help.c:217
+#: builtin/help.c:221
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -12618,7 +13409,7 @@ msgstr ""
 "“%s”: đường dẫn không hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.cmd” để thay thế."
 
-#: builtin/help.c:229
+#: builtin/help.c:233
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -12627,35 +13418,35 @@ msgstr ""
 "“%s”: cmd (lệnh) hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.path” để thay thế."
 
-#: builtin/help.c:346
+#: builtin/help.c:350
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:363
+#: builtin/help.c:367
 msgid "no man viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu cầu"
 
-#: builtin/help.c:371
+#: builtin/help.c:375
 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:430 builtin/help.c:441 git.c:323
+#: builtin/help.c:434 builtin/help.c:445 git.c:335
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "“%s” được đặt bí danh thành “%s”"
 
-#: builtin/help.c:444 git.c:347
+#: builtin/help.c:448 git.c:364
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "chuỗi alias.%s sai: %s"
 
-#: builtin/help.c:473 builtin/help.c:503
+#: builtin/help.c:477 builtin/help.c:507
 #, c-format
 msgid "usage: %s%s"
 msgstr "cách dùng: %s%s"
 
-#: builtin/help.c:487
+#: builtin/help.c:491
 msgid "'git help config' for more information"
 msgstr "Chạy lệnh “git help config” để có thêm thông tin"
 
@@ -12674,269 +13465,269 @@ msgstr "không thể lấy về đối tượng cần %s"
 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:249
+#: builtin/index-pack.c:257
 #, 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:259
+#: builtin/index-pack.c:267
 msgid "early EOF"
 msgstr "gặp kết thúc tập tin EOF quá sớm"
 
-#: builtin/index-pack.c:260
+#: builtin/index-pack.c:268
 msgid "read error on input"
 msgstr "lỗi đọc ở đầu vào"
 
-#: builtin/index-pack.c:272
+#: builtin/index-pack.c:280
 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:279 builtin/pack-objects.c:599
+#: builtin/index-pack.c:287 builtin/pack-objects.c:600
 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:282 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:290 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "gói đã vượt quá cỡ tối đa được phép"
 
-#: builtin/index-pack.c:297 builtin/repack.c:250
+#: builtin/index-pack.c:305 builtin/repack.c:250
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: builtin/index-pack.c:303
+#: builtin/index-pack.c:311
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:325
 msgid "pack signature mismatch"
 msgstr "chữ ký cho gói không khớp"
 
-#: builtin/index-pack.c:319
+#: builtin/index-pack.c:327
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "không hỗ trợ phiên bản gói %<PRIu32>"
 
-#: builtin/index-pack.c:337
+#: builtin/index-pack.c:345
 #, 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:457
+#: builtin/index-pack.c:465
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:506
+#: builtin/index-pack.c:514
 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:514
+#: builtin/index-pack.c:522
 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:522
+#: builtin/index-pack.c:530
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:561
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin gói"
 
-#: builtin/index-pack.c:555
+#: builtin/index-pack.c:563
 #, 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:581
+#: builtin/index-pack.c:589
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:726 builtin/index-pack.c:732 builtin/index-pack.c:755
-#: builtin/index-pack.c:794 builtin/index-pack.c:803
+#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
+#: builtin/index-pack.c:802 builtin/index-pack.c:811
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:729 builtin/pack-objects.c:152
-#: builtin/pack-objects.c:212 builtin/pack-objects.c:306
+#: builtin/index-pack.c:737 builtin/pack-objects.c:153
+#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:792
+#: builtin/index-pack.c:800
 #, 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:800
+#: builtin/index-pack.c:808
 #, 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:814
+#: builtin/index-pack.c:822
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:817 builtin/index-pack.c:836
+#: builtin/index-pack.c:825 builtin/index-pack.c:844
 msgid "fsck error in packed object"
 msgstr "lỗi fsck trong đối tượng đóng gói"
 
-#: builtin/index-pack.c:838
+#: builtin/index-pack.c:846
 #, 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:910 builtin/index-pack.c:941
+#: builtin/index-pack.c:918 builtin/index-pack.c:949
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1117
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1117
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1143
+#: builtin/index-pack.c:1151
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1148
+#: builtin/index-pack.c:1156
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1159
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1171
 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:1186
+#: builtin/index-pack.c:1194
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1196 builtin/pack-objects.c:2486
+#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1237
+#: builtin/index-pack.c:1245
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1243
+#: builtin/index-pack.c:1251
 #, 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:1255
+#: builtin/index-pack.c:1263
 #, 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:1259
+#: builtin/index-pack.c:1267
 #, 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:1283
+#: builtin/index-pack.c:1291
 #, 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:1360
+#: builtin/index-pack.c:1368
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1382
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1399
+#: builtin/index-pack.c:1407
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "không thể ghi %s tập tin “%s”"
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1415
 #, 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:1431
+#: builtin/index-pack.c:1439
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1453
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1461
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1497 builtin/pack-objects.c:2725
+#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1565
+#: builtin/index-pack.c:1573
 #, 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:1567
+#: builtin/index-pack.c:1575
 #, 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:1615
+#: builtin/index-pack.c:1623
 #, 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:1622
+#: builtin/index-pack.c:1630
 #, 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"<