]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: vi(4800t): Updated Vietnamese translation v2.25.0
authorTran Ngoc Quan <vnwildman@gmail.com>
Fri, 3 Jan 2020 07:12:58 +0000 (14:12 +0700)
committerTran Ngoc Quan <vnwildman@gmail.com>
Fri, 3 Jan 2020 07:12:58 +0000 (14:12 +0700)
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
po/vi.po

index a00211f68968a385449e938c181f26ccc8ecbf47..b891f3b20b0c28b4cc32aa5b97732e0a54e70249 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -2,14 +2,14 @@
 # Bản dịch tiếng Việt dành cho GIT-CORE.
 # This file is distributed under the same license as the git-core package.
 # Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.24.0\n"
+"Project-Id-Version: git v2.25.0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-10-28 13:19+0800\n"
-"PO-Revision-Date: 2019-10-29 14:35+0700\n"
+"POT-Creation-Date: 2019-12-30 08:48+0800\n"
+"PO-Revision-Date: 2020-01-03 14:08+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,474 @@ msgstr ""
 "X-Poedit-Basepath: ..\n"
 "X-Generator: Gtranslator 2.91.7\n"
 
-#: advice.c:109
+#: add-interactive.c:347
+#, c-format
+msgid "Huh (%s)?"
+msgstr "Hả (%s)?"
+
+#: add-interactive.c:500 add-interactive.c:801 sequencer.c:3216
+#: sequencer.c:3656 builtin/rebase.c:871 builtin/rebase.c:1643
+#: builtin/rebase.c:2019 builtin/rebase.c:2063
+msgid "could not read index"
+msgstr "không thể đọc bảng mục lục"
+
+#: add-interactive.c:555 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr "nhị phân"
+
+#: add-interactive.c:613 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr "không có gì"
+
+#: add-interactive.c:614 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr "không thay đổi"
+
+#: add-interactive.c:651 git-add--interactive.perl:643
+msgid "Update"
+msgstr "Cập nhật"
+
+#: add-interactive.c:668 add-interactive.c:856
+#, c-format
+msgid "could not stage '%s'"
+msgstr "không thể đưa “%s” lên bệ phóng"
+
+#: add-interactive.c:674 add-interactive.c:863 sequencer.c:3409
+#: builtin/rebase.c:895
+msgid "could not write index"
+msgstr "không thể ghi bảng mục lục"
+
+#: add-interactive.c:677 git-add--interactive.perl:628
+#, c-format, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "đã cập nhật %d đường dẫn\n"
+
+#: add-interactive.c:695 git-add--interactive.perl:678
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
+
+#: add-interactive.c:700 apply.c:4108 builtin/checkout.c:281
+#: builtin/reset.c:144
+#, 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”"
+
+#: add-interactive.c:730 git-add--interactive.perl:655
+msgid "Revert"
+msgstr "Hoàn nguyên"
+
+#: add-interactive.c:746
+msgid "Could not parse HEAD^{tree}"
+msgstr "Không thể phân tích cú pháp HEAD^{tree}"
+
+#: add-interactive.c:784 git-add--interactive.perl:631
+#, c-format, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "đã hoàn nguyên %d đường dẫn\n"
+
+#: add-interactive.c:835 git-add--interactive.perl:695
+#, c-format
+msgid "No untracked files.\n"
+msgstr "Không có tập tin nào chưa được theo dõi.\n"
+
+#: add-interactive.c:839 git-add--interactive.perl:689
+msgid "Add untracked"
+msgstr "Thêm các cái chưa được theo dõi"
+
+#: add-interactive.c:866 git-add--interactive.perl:625
+#, c-format, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "đã thêm %d đường dẫn\n"
+
+#: add-interactive.c:896
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr "bỏ qua những thứ chưa hòa trộn: %s"
+
+#: add-interactive.c:908 add-patch.c:1331 git-add--interactive.perl:1366
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr "Chỉ có các tập tin nhị phân là thay đổi.\n"
+
+#: add-interactive.c:910 add-patch.c:1329 git-add--interactive.perl:1368
+#, c-format
+msgid "No changes.\n"
+msgstr "Không có thay đổi nào.\n"
+
+#: add-interactive.c:914 git-add--interactive.perl:1376
+msgid "Patch update"
+msgstr "Cập nhật miếng vá"
+
+#: add-interactive.c:953 git-add--interactive.perl:1754
+msgid "Review diff"
+msgstr "Xem xét lại diff"
+
+#: add-interactive.c:981
+msgid "show paths with changes"
+msgstr "hiển thị đường dẫn với các thay đổi"
+
+#: add-interactive.c:983
+msgid "add working tree state to the staged set of changes"
+msgstr ""
+"thêm trạng thái cây làm việc vào tập hợp các thay đổi đã được đưa lên bệ "
+"phóng"
+
+#: add-interactive.c:985
+msgid "revert staged set of changes back to the HEAD version"
+msgstr ""
+"hoàn nguyên lại tập hợp các thay đổi đã được đưa lên bệ phóng trở lại phiên "
+"bản HEAD"
+
+#: add-interactive.c:987
+msgid "pick hunks and update selectively"
+msgstr "chọn các “khúc” và cập nhật có tuyển chọn"
+
+#: add-interactive.c:989
+msgid "view diff between HEAD and index"
+msgstr "xem khác biệt giữa HEAD và mục lục"
+
+#: add-interactive.c:991
+msgid "add contents of untracked files to the staged set of changes"
+msgstr ""
+"thêm nội dung của các tập tin chưa được theo dõi vào tập hợp các thay đổi đã "
+"được đưa lên bệ phóng"
+
+#: add-interactive.c:999 add-interactive.c:1048
+msgid "Prompt help:"
+msgstr "Trợ giúp về nhắc:"
+
+#: add-interactive.c:1001
+msgid "select a single item"
+msgstr "chọn một mục đơn"
+
+#: add-interactive.c:1003
+msgid "select a range of items"
+msgstr "chọn một vùng các mục"
+
+#: add-interactive.c:1005
+msgid "select multiple ranges"
+msgstr "chọn nhiều vùng"
+
+#: add-interactive.c:1007 add-interactive.c:1052
+msgid "select item based on unique prefix"
+msgstr "chọn mục dựa trên tiền tố duy nhất"
+
+#: add-interactive.c:1009
+msgid "unselect specified items"
+msgstr "bỏ chọn các mục đã cho"
+
+#: add-interactive.c:1011
+msgid "choose all items"
+msgstr "chọn tất cả các mục"
+
+#: add-interactive.c:1013
+msgid "(empty) finish selecting"
+msgstr "(để trống) hoàn tất chọn lựa"
+
+#: add-interactive.c:1050
+msgid "select a numbered item"
+msgstr "tùy chọn mục bằng số"
+
+#: add-interactive.c:1054
+msgid "(empty) select nothing"
+msgstr "(để trống) không chọn gì"
+
+#: add-interactive.c:1062 builtin/clean.c:822 git-add--interactive.perl:1851
+msgid "*** Commands ***"
+msgstr "*** Lệnh ***"
+
+#: add-interactive.c:1063 builtin/clean.c:823 git-add--interactive.perl:1848
+msgid "What now"
+msgstr "Giờ thì sao"
+
+#: add-interactive.c:1115 git-add--interactive.perl:213
+msgid "staged"
+msgstr "đã đưa lên bệ phóng"
+
+#: add-interactive.c:1115 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr "chưa đưa lên bệ phóng"
+
+#: add-interactive.c:1115 apply.c:4965 apply.c:4968 builtin/am.c:2197
+#: builtin/am.c:2200 builtin/clone.c:123 builtin/fetch.c:144
+#: builtin/merge.c:273 builtin/pull.c:209 builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1382
+#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:1878
+#: builtin/submodule--helper.c:2119 git-add--interactive.perl:213
+msgid "path"
+msgstr "đường-dẫn"
+
+#: add-interactive.c:1122
+msgid "could not refresh index"
+msgstr "không thể đọc lại bảng mục lục"
+
+#: add-interactive.c:1136 builtin/clean.c:787 git-add--interactive.perl:1765
+#, c-format
+msgid "Bye.\n"
+msgstr "Tạm biệt.\n"
+
+#: add-patch.c:15
+#, c-format
+msgid "Stage mode change [y,n,a,q,d%s,?]? "
+msgstr "Thay đổi chế độ bệ phóng [y,n,a,q,d%s,?]? "
+
+#: add-patch.c:16
+#, c-format
+msgid "Stage deletion [y,n,a,q,d%s,?]? "
+msgstr "Xóa khỏi bệ phóng [y,n,a,q,d%s,?]? "
+
+#: add-patch.c:17
+#, c-format
+msgid "Stage this hunk [y,n,a,q,d%s,?]? "
+msgstr "Đưa lên bệ phóng khúc này [y,n,a,q,d%s,?]? "
+
+#: add-patch.c:111
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr "không thể phân tích cú pháp phần đầu của khúc “%.*s”"
+
+#: add-patch.c:130 add-patch.c:134
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr "không thể phân tích cú pháp phần đầu khúc đã tô màu “%.*s”"
+
+#: add-patch.c:176
+msgid "could not parse diff"
+msgstr "không thể phân tích cú pháp khác biệt"
+
+#: add-patch.c:194
+msgid "could not parse colored diff"
+msgstr "không thể phân tích khác biệt được tô màu"
+
+#: add-patch.c:508
+#, c-format
+#| msgid "bad config line %d in %s"
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr ""
+"cần dòng nội dung #%d trong\n"
+"%.*s"
+
+#: add-patch.c:523
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr ""
+"các khối không chồng đè lên nhau:\n"
+"%.*s\n"
+"\tkhông được kết thúc bằng:\n"
+"%.*s"
+
+#: add-patch.c:799 git-add--interactive.perl:1112
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "Chế độ sửa khúc bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
+
+#: add-patch.c:803
+#, c-format
+msgid ""
+"---\n"
+"To remove '%c' lines, make them ' ' lines (context).\n"
+"To remove '%c' lines, delete them.\n"
+"Lines starting with %c will be removed.\n"
+msgstr ""
+"---\n"
+"Để gỡ bỏ “%c” dòng, làm chúng thành những dòng ' ' (nội dung).\n"
+"Để gõ bỏ “%c” dòng, xóa chúng đi.\n"
+"Những dòng bắt đầu bằng %c sẽ bị loại bỏ.\n"
+
+#: add-patch.c:810
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging.\n"
+msgstr ""
+"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
+"được đánh dấu để chuyển lên bệ phóng.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: add-patch.c:818 git-add--interactive.perl:1126
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"Nếu miếng vá không được áp dụng sạch sẽ, bạn sẽ có một cơ hội\n"
+"để sửa lần nữa. Nếu mọi dòng của khúc bị xóa bỏ, thế thì những\n"
+"sửa dổi sẽ bị loại bỏ, và khúc vẫn giữ nguyên.\n"
+
+#: add-patch.c:851
+msgid "could not parse hunk header"
+msgstr "không thể phân tích cú pháp phần đầu khúc"
+
+#: add-patch.c:895 add-patch.c:1294
+msgid "'git apply --cached' failed"
+msgstr "'git apply --cached' gặp lỗi"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#.
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: add-patch.c:952 git-add--interactive.perl:1239
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr ""
+"Hunk đã sửa của bạn không được áp dụng. Sửa lại lần nữa (nói \"n\" để loại "
+"bỏ!) [y/n]? "
+
+#: add-patch.c:1009
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this and all the remaining hunks\n"
+"d - do not stage this hunk nor any of the remaining hunks\n"
+msgstr ""
+"y - đưa lên bệ phóng khúc này\n"
+"n - đừng đưa lên bệ phóng khúc này\n"
+"q - thoát; đừng đưa lên bệ phóng khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - đưa lên bệ phóng khúc này và tất cả các khúc còn lại sau này\n"
+"d - đừng đưa lên bệ phóng khúc này cũng như bất kỳ cái nào còn lại\n"
+
+#: add-patch.c:1016
+msgid ""
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"j - để lại khúc này là chưa quyết định, xem khúc chưa quyết định kế tiếp\n"
+"J - để lại khúc này là chưa quyết định, xem khúc kế tiếp\n"
+"k - để lại khúc này là chưa quyết định, xem khúc chưa quyết định kế trước\n"
+"K - để lại khúc này là chưa quyết định, xem khúc kế trước\n"
+"g - chọn một khúc muốn tới\n"
+"/ - tìm một khúc khớp với biểu thức chính quy đưa ra\n"
+"s - chia khúc hiện tại thành các khúc nhỏ hơn\n"
+"e - sửa bằng tay khúc hiện hành\n"
+"? - hiển thị trợ giúp\n"
+
+#: add-patch.c:1137 add-patch.c:1147
+msgid "No previous hunk"
+msgstr "Không có khúc kế trước"
+
+#: add-patch.c:1142 add-patch.c:1152
+msgid "No next hunk"
+msgstr "Không có khúc kế tiếp"
+
+#: add-patch.c:1158
+msgid "No other hunks to goto"
+msgstr "Không còn khúc nào để mà nhảy đến"
+
+#: add-patch.c:1169 git-add--interactive.perl:1577
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "nhảy đến khúc nào (<ret> để xem thêm)? "
+
+#: add-patch.c:1170 git-add--interactive.perl:1579
+msgid "go to which hunk? "
+msgstr "nhảy đến khúc nào? "
+
+#: add-patch.c:1181
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr "Số không hợp lệ: “%s”"
+
+#: add-patch.c:1186
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] "Rất tiếc, chỉ có sẵn %d khúc."
+
+#: add-patch.c:1195
+msgid "No other hunks to search"
+msgstr "Không còn khúc nào để mà tìm kiếm"
+
+#: add-patch.c:1201 git-add--interactive.perl:1623
+msgid "search for regex? "
+msgstr "tìm kiếm cho biểu thức chính quy? "
+
+#: add-patch.c:1216
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr "Định dạng tìm kiếm của biểu thức chính quy không đúng %s: %s"
+
+#: add-patch.c:1233
+msgid "No hunk matches the given pattern"
+msgstr "Không thấy khúc nào khớp mẫu đã cho"
+
+#: add-patch.c:1240
+msgid "Sorry, cannot split this hunk"
+msgstr "Rất tiếc, không thể chia nhỏ khúc này"
+
+#: add-patch.c:1244
+#, c-format
+msgid "Split into %d hunks."
+msgstr "Chi nhỏ thành %d khúc."
+
+#: add-patch.c:1248
+msgid "Sorry, cannot edit this hunk"
+msgstr "Rất tiếc, không thể sửa khúc này"
+
+#: advice.c:111
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sgợi ý: %.*s%s\n"
 
-#: advice.c:162
+#: advice.c:164
 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:164
+#: advice.c:166
 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:166
+#: advice.c:168
 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:168
+#: advice.c:170
 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:170
+#: advice.c:172
 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:172
+#: advice.c:174
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 "Việc này không thể thực hiện với %s bởi vì bạn có những tập tin chưa được "
 "hòa trộn."
 
-#: advice.c:180
+#: advice.c:182
 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 +497,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:188
+#: advice.c:190
 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:193 builtin/merge.c:1332
+#: advice.c:195 builtin/merge.c:1332
 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:195
+#: advice.c:197
 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:196
+#: advice.c:198
 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:202
+#: advice.c:204
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -292,23 +721,23 @@ msgstr "không thể đọc liên kết mềm %s"
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2926
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3047
+#: apply.c:3057
 #, 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:3059
+#: apply.c:3069
 #, 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:3065
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -317,453 +746,439 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3087
+#: apply.c:3097
 #, 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:3095
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "không thể reverse-apply một miếng vá nhị phân mà không đảo ngược khúc thành "
 "“%s”"
 
-#: apply.c:3142
+#: apply.c:3152
 #, 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:3152
+#: apply.c:3162
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "miếng vá áp dụng cho “%s” (%s), cái mà không khớp với các nội dung hiện tại."
 
-#: apply.c:3160
+#: apply.c:3170
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "miếng vá áp dụng cho một “%s” trống rỗng nhưng nó lại không trống"
 
-#: apply.c:3178
+#: apply.c:3188
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "không thể đọc postimage %s cần thiết cho “%s”"
 
-#: apply.c:3191
+#: apply.c:3201
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%s”"
 
-#: apply.c:3197
+#: apply.c:3207
 #, 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:3218
+#: apply.c:3228
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3341
+#: apply.c:3351
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3393 apply.c:3404 apply.c:3450 midx.c:61 setup.c:280
+#: apply.c:3403 apply.c:3414 apply.c:3460 midx.c:61 setup.c:280
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3401
+#: apply.c:3411
 #, 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:3430 apply.c:3673
+#: apply.c:3440 apply.c:3683
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3516 apply.c:3688
+#: apply.c:3526 apply.c:3698
 #, 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:3525 apply.c:3696
+#: apply.c:3535 apply.c:3706
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3560
+#: apply.c:3570
 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:3563
+#: apply.c:3573
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Đang trở lại hòa trộn “3-đường”…\n"
 
-#: apply.c:3579 apply.c:3583
+#: apply.c:3589 apply.c:3593
 #, 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:3595
+#: apply.c:3605
 #, 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:3609
+#: apply.c:3619
 #, 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:3614
+#: apply.c:3624
 #, 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:3640
+#: apply.c:3650
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3713
+#: apply.c:3723
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3715
+#: apply.c:3725
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3866 apply.c:3868 read-cache.c:830 read-cache.c:856
-#: read-cache.c:1309
+#: apply.c:3876 apply.c:3878 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1320
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3924
+#: apply.c:3934
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3927
+#: apply.c:3937
 #, 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:3947
+#: apply.c:3957
 #, 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:3952
+#: apply.c:3962
 #, 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:3972
+#: apply.c:3982
 #, 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:3976
+#: apply.c:3986
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:3991
+#: apply.c:4001
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4083
+#: apply.c:4093
 #, 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:4090
+#: apply.c:4100
 #, 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:4093
+#: apply.c:4103
 #, 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:4098 builtin/checkout.c:279 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:4102
+#: apply.c:4112
 #, 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:4112
+#: apply.c:4122
 #, 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:4250
+#: apply.c:4260
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4284
+#: apply.c:4294
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4290
+#: apply.c:4300
 #, 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:4298
+#: apply.c:4308
 #, 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:4304 apply.c:4449
+#: apply.c:4314 apply.c:4459
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4347
+#: apply.c:4357
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4351
+#: apply.c:4361
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4421
+#: apply.c:4431
 #, 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:4519
+#: apply.c:4529
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4527
+#: apply.c:4537
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4530
+#: apply.c:4540
 #, 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:4541
+#: apply.c:4551
 #, 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:4549 builtin/fetch.c:898 builtin/fetch.c:1194
+#: apply.c:4559 builtin/fetch.c:901 builtin/fetch.c:1192
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4563
+#: apply.c:4573
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4567
+#: apply.c:4577
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4686
+#: apply.c:4696
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Bỏ qua đường dẫn “%s”."
 
-#: apply.c:4694
+#: apply.c:4704
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: apply.c:4714
+#: 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:4871
+#: apply.c:4881
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4898
+#: apply.c:4908
 #, 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:4904 apply.c:4919
+#: apply.c:4914 apply.c:4929
 #, 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:4912
+#: apply.c:4922
 #, 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:4928 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4938 builtin/add.c:579 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:4955 apply.c:4958 builtin/am.c:2197 builtin/am.c:2200
-#: builtin/clone.c:122 builtin/fetch.c:143 builtin/merge.c:273
-#: builtin/pull.c:209 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211
-msgid "path"
-msgstr "đường-dẫn"
-
-#: apply.c:4956
+#: apply.c:4966
 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:4959
+#: apply.c:4969
 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:4961 builtin/am.c:2206
+#: apply.c:4971 builtin/am.c:2206
 msgid "num"
 msgstr "số"
 
-#: apply.c:4962
+#: apply.c:4972
 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:4965
+#: apply.c:4975
 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:4967
+#: apply.c:4977
 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:4971
+#: apply.c:4981
 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:4973
+#: apply.c:4983
 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:4975
+#: apply.c:4985
 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:4977
+#: apply.c:4987
 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:4979
+#: apply.c:4989
 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:4981
+#: apply.c:4991
 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:4983
+#: apply.c:4993
 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:4986
+#: apply.c:4996
 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:4988
+#: apply.c:4998
 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:4990
+#: apply.c:5000
 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:4993 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5003 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:4995
+#: apply.c:5005
 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:4996 builtin/am.c:2185 builtin/interpret-trailers.c:98
+#: apply.c:5006 builtin/am.c:2185 builtin/interpret-trailers.c:98
 #: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3310 builtin/rebase.c:1445
+#: builtin/pack-objects.c:3310 builtin/rebase.c:1474
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:4997
+#: apply.c:5007
 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:5000 apply.c:5003
+#: apply.c:5010 apply.c:5013
 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:5006
+#: apply.c:5016
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:5008
+#: apply.c:5018
 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:5010
+#: apply.c:5020
 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:5012
+#: apply.c:5022
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:5013 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2085 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5023 builtin/add.c:309 builtin/check-ignore.c:22
+#: builtin/commit.c:1355 builtin/count-objects.c:98 builtin/fsck.c:774
+#: builtin/log.c:2166 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:5015
+#: apply.c:5025
 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:5018
+#: apply.c:5028
 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:5020 builtin/am.c:2194
+#: apply.c:5030 builtin/am.c:2194
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:5021
+#: apply.c:5031
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
@@ -786,7 +1201,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:516 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:180 builtin/add.c:555 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"
@@ -818,7 +1233,7 @@ msgstr "định_dạng"
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:458 builtin/log.c:1581
+#: archive.c:458 builtin/log.c:1653
 msgid "prefix"
 msgstr "tiền_tố"
 
@@ -826,12 +1241,12 @@ 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:460 builtin/blame.c:861 builtin/blame.c:873 builtin/blame.c:874
+#: archive.c:460 builtin/blame.c:861 builtin/blame.c:865 builtin/blame.c:866
 #: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1162
 #: builtin/fast-export.c:1164 builtin/fast-export.c:1168 builtin/grep.c:899
 #: 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:186
+#: parse-options.h:190
 msgid "file"
 msgstr "tập_tin"
 
@@ -863,8 +1278,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:479 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115
-#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859
+#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1391 builtin/submodule--helper.c:1884
 msgid "repo"
 msgstr "kho"
 
@@ -903,17 +1318,17 @@ msgstr "Không hiểu định dạng “%s”"
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
 
-#: archive-tar.c:125 archive-zip.c:345
+#: archive-tar.c:125 archive-zip.c:350
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "không thể stream blob “%s”"
 
-#: archive-tar.c:266 archive-zip.c:363
+#: archive-tar.c:266 archive-zip.c:368
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "chế độ tập tin lục không được hỗ trợ: 0%o (SHA1: %s)"
 
-#: archive-tar.c:293 archive-zip.c:353
+#: archive-tar.c:293 archive-zip.c:358
 #, c-format
 msgid "cannot read %s"
 msgstr "không thể đọc %s"
@@ -932,37 +1347,37 @@ msgstr "không thể chuyển hướng mô tả"
 msgid "'%s' filter reported error"
 msgstr "bộ lọc “%s” đã báo cáo lỗi"
 
-#: archive-zip.c:314
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "đường dẫn không hợp lệ UTF-8: %s"
 
-#: archive-zip.c:318
+#: archive-zip.c:323
 #, c-format
 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:230 builtin/pack-objects.c:233
+#: archive-zip.c:479 builtin/pack-objects.c:230 builtin/pack-objects.c:233
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: archive-zip.c:609
+#: archive-zip.c:614
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "dấu vết thời gian là quá lớn cho hệ thống này: %<PRIuMAX>"
 
-#: attr.c:213
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s không phải tên thuộc tính hợp lệ"
 
-#: attr.c:370
+#: attr.c:369
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s không được phép: %s:%d"
 
-#: attr.c:410
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1101,9 +1516,9 @@ msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "cùng sử dụng --reverse và --first-parent cần chỉ định lần chuyển giao cuối"
 
-#: blame.c:2744 bundle.c:167 ref-filter.c:2203 remote.c:1941 sequencer.c:1971
-#: sequencer.c:4305 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:964
-#: builtin/log.c:1452 builtin/log.c:1844 builtin/log.c:2134 builtin/merge.c:411
+#: blame.c:2744 bundle.c:167 ref-filter.c:2203 remote.c:1941 sequencer.c:2093
+#: sequencer.c:4460 builtin/commit.c:1040 builtin/log.c:388 builtin/log.c:991
+#: builtin/log.c:1520 builtin/log.c:1925 builtin/log.c:2215 builtin/merge.c:411
 #: builtin/pack-objects.c:3128 builtin/pack-objects.c:3143
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
@@ -1277,8 +1692,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:2221 sequencer.c:2962
-#: builtin/commit.c:791
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2344 sequencer.c:3108
+#: builtin/commit.c:811
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -1307,42 +1722,42 @@ msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Lệnh bundle yêu cầu %d tham chiếu này:"
 
-#: bundle.c:272
+#: bundle.c:273
 msgid "unable to dup bundle descriptor"
 msgstr "không thể nhân đôi bộ mô tả bundle"
 
-#: bundle.c:279
+#: bundle.c:280
 msgid "Could not spawn pack-objects"
 msgstr "Không thể sản sinh đối tượng gói"
 
-#: bundle.c:290
+#: bundle.c:291
 msgid "pack-objects died"
 msgstr "đối tượng gói đã chết"
 
-#: bundle.c:332
+#: bundle.c:333
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:381
+#: bundle.c:382
 #, c-format
 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:460 builtin/log.c:202 builtin/log.c:1733 builtin/shortlog.c:306
+#: bundle.c:461 builtin/log.c:203 builtin/log.c:1814 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
 
-#: bundle.c:468
+#: bundle.c:469
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bó dữ liệu trống rỗng."
 
-#: bundle.c:478
+#: bundle.c:479
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:503
+#: bundle.c:504
 msgid "index-pack died"
 msgstr "mục lục gói đã chết"
 
@@ -1351,18 +1766,18 @@ 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:2665 builtin/am.c:354 builtin/am.c:398
+#: commit.c:51 sequencer.c:2811 builtin/am.c:354 builtin/am.c:398
 #: builtin/am.c:1366 builtin/am.c:2009 builtin/replace.c:456
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
 
-#: commit.c:52
+#: commit.c:53
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần chuyển giao!"
 
-#: commit.c:192
+#: commit.c:193
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1382,28 +1797,28 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1128
+#: commit.c:1152
 #, 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:1131
+#: commit.c:1155
 #, 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:1134
+#: commit.c:1158
 #, 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:1137
+#: commit.c:1161
 #, 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:1391
+#: commit.c:1415
 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"
@@ -1413,81 +1828,76 @@ 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:127
+#: commit-graph.c:130
 msgid "commit-graph file is too small"
 msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ"
 
-#: commit-graph.c:192
+#: commit-graph.c:195
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "chữ ký đồ-thị-các-lần-chuyển-giao %X không khớp chữ ký %X"
 
-#: commit-graph.c:199
+#: commit-graph.c:202
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:206
+#: commit-graph.c:209
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:229
+#: commit-graph.c:232
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
 "bảng tìm kiếm mảnh đồ-thị-các-lần-chuyển-giao còn thiếu; tập tin có thể sẽ "
 "không hoàn thiện"
 
-#: commit-graph.c:240
+#: commit-graph.c:243
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "bù mảnh đồ-thị-các-lần-chuyển-giao không đúng chỗ %08x%08x"
 
-#: commit-graph.c:283
+#: commit-graph.c:286
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "mã mảnh đồ-thị-các-lần-chuyển-giao %08x xuất hiện nhiều lần"
 
-#: commit-graph.c:347
+#: commit-graph.c:350
 msgid "commit-graph has no base graphs chunk"
 msgstr "đồ-thị-các-lần-chuyển-giao có không có mảnh các đồ họa cơ sở"
 
-#: commit-graph.c:357
+#: commit-graph.c:360
 msgid "commit-graph chain does not match"
 msgstr "móc xích đồ-thị-các-lần-chuyển-giao không khớp"
 
-#: commit-graph.c:404
+#: commit-graph.c:407
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr ""
 "móc xích đồ-thị-các-lần-chuyển-giao không hợp lệ: dòng '%s' không phải là "
 "một mã băm"
 
-#: commit-graph.c:430
+#: commit-graph.c:433
 msgid "unable to find all commit-graph files"
 msgstr "không thể tìm thấy tất cả các tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:561 commit-graph.c:621
+#: commit-graph.c:564 commit-graph.c:624
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr ""
 "vị trí lần chuyển giao không hợp lệ. đồ-thị-các-lần-chuyển-giao có vẻ như đã "
 "bị hỏng"
 
-#: commit-graph.c:582
+#: commit-graph.c:585
 #, 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:855 builtin/am.c:1287
+#: commit-graph.c:858 builtin/am.c:1287
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: commit-graph.c:859
-#, c-format
-msgid "unable to get tree for %s"
-msgstr "không thể lấy cây cho %s"
-
 #: commit-graph.c:1017 builtin/pack-objects.c:2641
 #, c-format
 msgid "unable to get type of object %s"
@@ -1558,12 +1968,12 @@ msgstr "Đang tìm các cạnh mở tộng trong đồ thị lần chuyển giao
 msgid "failed to write correct number of base graph ids"
 msgstr "gặp lỗi khi ghi số đúng của mã đồ họa cơ sở"
 
-#: commit-graph.c:1379 midx.c:810
+#: commit-graph.c:1379 midx.c:814
 #, 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:1391 builtin/index-pack.c:306 builtin/repack.c:241
+#: commit-graph.c:1391 builtin/index-pack.c:306 builtin/repack.c:248
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
@@ -1737,7 +2147,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:406 sequencer.c:2401
+#: config.c:406 sequencer.c:2530
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
@@ -1861,144 +2271,144 @@ msgstr "core.commentChar chỉ được có một ký tự"
 msgid "invalid mode for object creation: %s"
 msgstr "chế độ không hợp lệ đối với việc tạo đối tượng: %s"
 
-#: config.c:1425
+#: config.c:1430
 #, c-format
 msgid "malformed value for %s"
 msgstr "giá trị cho %s sai dạng"
 
-#: config.c:1451
+#: config.c:1456
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "giá trị cho %s sai dạng: %s"
 
-#: config.c:1452
+#: config.c:1457
 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:1513 builtin/pack-objects.c:3394
+#: config.c:1518 builtin/pack-objects.c:3394
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1634
+#: config.c:1639
 #, 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:1637
+#: config.c:1642
 #, 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:1654
+#: config.c:1659
 #, 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:1684
+#: config.c:1689
 #, c-format
 msgid "failed to parse %s"
 msgstr "gặp lỗi khi phân tích cú pháp %s"
 
-#: config.c:1740
+#: config.c:1745
 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:2091
+#: config.c:2096
 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:2261
+#: config.c:2266
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2306
+#: config.c:2311
 #, 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:2352
+#: config.c:2357
 #, 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:2354
+#: config.c:2359
 #, 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:2435
+#: config.c:2440
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "tên của phần không hợp lệ “%s”"
 
-#: config.c:2467
+#: config.c:2472
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2496
+#: config.c:2501
 #, 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:2748 config.c:3072
+#: config.c:2753 config.c:3077
 #, 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:2759
+#: config.c:2764
 #, c-format
 msgid "opening %s"
 msgstr "đang mở “%s”"
 
-#: config.c:2794 builtin/config.c:328
+#: config.c:2799 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "mẫu không hợp lệ: %s"
 
-#: config.c:2819
+#: config.c:2824
 #, c-format
 msgid "invalid config file %s"
 msgstr "tập tin cấu hình “%s” không hợp lệ"
 
-#: config.c:2832 config.c:3085
+#: config.c:2837 config.c:3090
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:2843
+#: config.c:2848
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "không thể mmap “%s”"
 
-#: config.c:2852 config.c:3090
+#: config.c:2857 config.c:3095
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod trên %s gặp lỗi"
 
-#: config.c:2937 config.c:3187
+#: config.c:2942 config.c:3192
 #, c-format
 msgid "could not write config file %s"
 msgstr "không thể ghi tập tin cấu hình “%s”"
 
-#: config.c:2971
+#: config.c:2976
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:2973 builtin/remote.c:782
+#: config.c:2978 builtin/remote.c:781
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
-#: config.c:3063
+#: config.c:3068
 #, c-format
 msgid "invalid section name: %s"
 msgstr "tên của phần không hợp lệ: %s"
 
-#: config.c:3230
+#: config.c:3235
 #, c-format
 msgid "missing value for '%s'"
 msgstr "thiếu giá trị cho cho “%s”"
@@ -2162,19 +2572,19 @@ msgstr "đã khóa tên đường dẫn lạ “%s”"
 msgid "unable to fork"
 msgstr "không thể rẽ nhánh tiến trình con"
 
-#: connected.c:88 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:89 builtin/fsck.c:208 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
-#: connected.c:100
+#: connected.c:101
 msgid "Could not run 'git rev-list'"
 msgstr "Không thể chạy “git rev-list”"
 
-#: connected.c:120
+#: connected.c:121
 msgid "failed write to rev-list"
 msgstr "gặp lỗi khi ghi vào rev-list"
 
-#: connected.c:127
+#: connected.c:128
 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"
 
@@ -2211,26 +2621,26 @@ msgstr ""
 "LF sẽ bị thay thế bằng CRLF trong %s.\n"
 "Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn"
 
-#: convert.c:280
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "BOM bị cấm trong “%s” nếu được mã hóa là %s"
 
-#: convert.c:287
+#: convert.c:291
 #, c-format
 msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
-"tree-encoding."
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
+"working-tree-encoding."
 msgstr ""
-"Tập tin “%s” có chứa ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%s như là "
-"bảng mã cây làm việc."
+"Tập tin “%s” có chứa ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%.*s như "
+"là bảng mã cây làm việc."
 
-#: convert.c:305
+#: convert.c:304
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "BOM là bắt buộc trong “%s” nếu được mã hóa là %s"
 
-#: convert.c:307
+#: convert.c:306
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -2239,50 +2649,50 @@ msgstr ""
 "Tập tin “%s” còn thiếu ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%sBE hay "
 "UTF-%sLE (còn phục thuộc vào thứ tự byte) như là bảng mã cây làm việc."
 
-#: convert.c:425 convert.c:496
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "gặp lỗi khi mã hóa “%s”  từ “%s” sang “%s”"
 
-#: convert.c:468
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "mã hóa “%s” từ %s thành %s và ngược trở lại không phải là cùng"
 
-#: convert.c:674
+#: convert.c:668
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "không thể rẽ nhánh tiến trình để chạy bộ lọc bên ngoài “%s”"
 
-#: convert.c:694
+#: convert.c:688
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "không thể cấp đầu vào cho bộ lọc bên ngoài “%s”"
 
-#: convert.c:701
+#: convert.c:695
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "chạy bộ lọc bên ngoài “%s” gặp lỗi %d"
 
-#: convert.c:736 convert.c:739
+#: convert.c:730 convert.c:733
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "đọc từ bộ lọc bên ngoài “%s” gặp lỗi"
 
-#: convert.c:742 convert.c:797
+#: convert.c:736 convert.c:791
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "gặp lỗi khi chạy bộ lọc bên ngoài “%s”"
 
-#: convert.c:845
+#: convert.c:839
 msgid "unexpected filter type"
 msgstr "gặp kiểu bộ lọc thừa"
 
-#: convert.c:856
+#: convert.c:850
 msgid "path name too long for external filter"
 msgstr "tên đường dẫn quá dài cho bộ lọc bên ngoài"
 
-#: convert.c:930
+#: convert.c:924
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
@@ -2291,16 +2701,16 @@ msgstr ""
 "bộ lọc bên ngoài “%s” không sẵn sàng nữa mặc dù không phải tất cả các đường "
 "dẫn đã được lọc"
 
-#: convert.c:1229
+#: convert.c:1223
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false là không phải bảng-mã-cây-làm-việc hợp lệ"
 
-#: convert.c:1417 convert.c:1451
+#: convert.c:1411 convert.c:1445
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s: gặp lỗi khi xóa bộ lọc “%s”"
 
-#: convert.c:1495
+#: convert.c:1489
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s: smudge bộ lọc %s gặp lỗi"
@@ -2460,35 +2870,35 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:4218
+#: diff.c:4202
 #, 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:4563
+#: diff.c:4547
 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:4566
+#: diff.c:4550
 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:4644
+#: diff.c:4628
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4692
+#: diff.c:4676
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "giá trị --stat không hợp lệ: “%s”"
 
-#: diff.c:4697 diff.c:4702 diff.c:4707 diff.c:4712 diff.c:5225
+#: diff.c:4681 diff.c:4686 diff.c:4691 diff.c:4696 diff.c:5209
 #: 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:4729
+#: diff.c:4713
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2497,42 +2907,42 @@ 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:4798
 #, 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:4838
+#: diff.c:4822
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "không hiểu giá trị sau ws-error-highlight=%.*s"
 
-#: diff.c:4852
+#: diff.c:4836
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: diff.c:4902 diff.c:4908
+#: diff.c:4886 diff.c:4892
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s cần dạng <n>/<m>"
 
-#: diff.c:4920
+#: diff.c:4904
 #, 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:4941
+#: diff.c:4925
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "đối số --color-moved sai: %s"
 
-#: diff.c:4960
+#: diff.c:4944
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "chế độ “%s” không hợp lệ trong --color-moved-ws"
 
-#: diff.c:5000
+#: diff.c:4984
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -2540,150 +2950,150 @@ msgstr ""
 "tùy chọn  diff-algorithm chấp nhận \"myers\", \"minimal\", \"patience\" và "
 "\"histogram\""
 
-#: diff.c:5036 diff.c:5056
+#: diff.c:5020 diff.c:5040
 #, c-format
 msgid "invalid argument to %s"
 msgstr "tham số cho %s không hợp lệ"
 
-#: diff.c:5194
+#: diff.c:5178
 #, 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:5250
+#: diff.c:5234
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "đối số --word-diff sai: %s"
 
-#: diff.c:5273
+#: diff.c:5257
 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:5275 diff.c:5281
+#: diff.c:5259 diff.c:5265
 msgid "generate patch"
 msgstr "tạo miếng vá"
 
-#: diff.c:5278 builtin/log.c:172
+#: diff.c:5262 builtin/log.c:173
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: diff.c:5283 diff.c:5397 diff.c:5404
+#: diff.c:5267 diff.c:5381 diff.c:5388
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5284 diff.c:5287
+#: diff.c:5268 diff.c:5271
 msgid "generate diffs with <n> lines context"
 msgstr "tạo khác biệt với <n> dòng ngữ cảnh"
 
-#: diff.c:5289
+#: diff.c:5273
 msgid "generate the diff in raw format"
 msgstr "tạo khác biệt ở định dạng thô"
 
-#: diff.c:5292
+#: diff.c:5276
 msgid "synonym for '-p --raw'"
 msgstr "đồng nghĩa với “-p --raw”"
 
-#: diff.c:5296
+#: diff.c:5280
 msgid "synonym for '-p --stat'"
 msgstr "đồng nghĩa với “-p --stat”"
 
-#: diff.c:5300
+#: diff.c:5284
 msgid "machine friendly --stat"
 msgstr "--stat thuận tiện cho máy đọc"
 
-#: diff.c:5303
+#: diff.c:5287
 msgid "output only the last line of --stat"
 msgstr "chỉ xuất những dòng cuối của --stat"
 
-#: diff.c:5305 diff.c:5313
+#: diff.c:5289 diff.c:5297
 msgid "<param1,param2>..."
 msgstr "<tham_số_1,tham_số_2>…"
 
-#: diff.c:5306
+#: diff.c:5290
 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:5310
+#: diff.c:5294
 msgid "synonym for --dirstat=cumulative"
 msgstr "đồng nghĩa với --dirstat=cumulative"
 
-#: diff.c:5314
+#: diff.c:5298
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "đồng nghĩa với --dirstat=files,param1,param2…"
 
-#: diff.c:5318
+#: diff.c:5302
 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:5321
+#: diff.c:5305
 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:5324
+#: diff.c:5308
 msgid "show only names of changed files"
 msgstr "chỉ hiển thị tên của các tập tin đổi"
 
-#: diff.c:5327
+#: diff.c:5311
 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:5329
+#: diff.c:5313
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<rộng>[,<name-width>[,<số-lượng>]]"
 
-#: diff.c:5330
+#: diff.c:5314
 msgid "generate diffstat"
 msgstr "tạo diffstat"
 
-#: diff.c:5332 diff.c:5335 diff.c:5338
+#: diff.c:5316 diff.c:5319 diff.c:5322
 msgid "<width>"
 msgstr "<rộng>"
 
-#: diff.c:5333
+#: diff.c:5317
 msgid "generate diffstat with a given width"
 msgstr "tạo diffstat với độ rộng đã cho"
 
-#: diff.c:5336
+#: diff.c:5320
 msgid "generate diffstat with a given name width"
 msgstr "tạo diffstat với tên độ rộng đã cho"
 
-#: diff.c:5339
+#: diff.c:5323
 msgid "generate diffstat with a given graph width"
 msgstr "tạo diffstat với độ rộng đồ thị đã cho"
 
-#: diff.c:5341
+#: diff.c:5325
 msgid "<count>"
 msgstr "<số_lượng>"
 
-#: diff.c:5342
+#: diff.c:5326
 msgid "generate diffstat with limited lines"
 msgstr "tạo diffstat với các dòng bị giới hạn"
 
-#: diff.c:5345
+#: diff.c:5329
 msgid "generate compact summary in diffstat"
 msgstr "tạo tổng hợp xúc tích trong diffstat"
 
-#: diff.c:5348
+#: diff.c:5332
 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:5351
+#: diff.c:5335
 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:5353
+#: diff.c:5337
 msgid "show colored diff"
 msgstr "hiển thị thay đổi được tô màu"
 
-#: diff.c:5354
+#: diff.c:5338
 msgid "<kind>"
 msgstr "<kiểu>"
 
-#: diff.c:5355
+#: diff.c:5339
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -2691,7 +3101,7 @@ 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:5358
+#: diff.c:5342
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2699,89 +3109,89 @@ msgstr ""
 "không munge tên đường dẫn và sử dụng NUL làm bộ phân tách trường đầu ra "
 "trong --raw hay --numstat"
 
-#: diff.c:5361 diff.c:5364 diff.c:5367 diff.c:5473
+#: diff.c:5345 diff.c:5348 diff.c:5351 diff.c:5457
 msgid "<prefix>"
 msgstr "<tiền_tố>"
 
-#: diff.c:5362
+#: diff.c:5346
 msgid "show the given source prefix instead of \"a/\""
 msgstr "hiển thị tiền tố nguồn đã cho thay cho \"a/\""
 
-#: diff.c:5365
+#: diff.c:5349
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "hiển thị tiền tố đích đã cho thay cho \"b/\""
 
-#: diff.c:5368
+#: diff.c:5352
 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:5371
+#: diff.c:5355
 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:5374
+#: diff.c:5358
 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:5378 diff.c:5383 diff.c:5388
+#: diff.c:5362 diff.c:5367 diff.c:5372
 msgid "<char>"
 msgstr "<ký_tự>"
 
-#: diff.c:5379
+#: diff.c:5363
 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:5384
+#: diff.c:5368
 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:5389
+#: diff.c:5373
 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:5392
+#: diff.c:5376
 msgid "Diff rename options"
 msgstr "Tùy chọn khác biệt đổi tên"
 
-#: diff.c:5393
+#: diff.c:5377
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5394
+#: diff.c:5378
 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:5398
+#: diff.c:5382
 msgid "detect renames"
 msgstr "dò tìm các tên thay đổi"
 
-#: diff.c:5402
+#: diff.c:5386
 msgid "omit the preimage for deletes"
 msgstr "bỏ qua preimage (tiền ảnh??) cho các việc xóa"
 
-#: diff.c:5405
+#: diff.c:5389
 msgid "detect copies"
 msgstr "dò bản sao"
 
-#: diff.c:5409
+#: diff.c:5393
 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:5411
+#: diff.c:5395
 msgid "disable rename detection"
 msgstr "tắt dò tìm đổi tên"
 
-#: diff.c:5414
+#: diff.c:5398
 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:5416
+#: diff.c:5400
 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:5419
+#: diff.c:5403
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -2789,156 +3199,156 @@ 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:5421
+#: diff.c:5405
 msgid "Diff algorithm options"
 msgstr "Tùy chọn thuật toán khác biệt"
 
-#: diff.c:5423
+#: diff.c:5407
 msgid "produce the smallest possible diff"
 msgstr "sản sinh khác biệt ít nhất có thể"
 
-#: diff.c:5426
+#: diff.c:5410
 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:5429
+#: diff.c:5413
 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:5432
+#: diff.c:5416
 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:5435
+#: diff.c:5419
 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:5438
+#: diff.c:5422
 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:5441
+#: diff.c:5425
 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:5444
+#: diff.c:5428
 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:5448
+#: diff.c:5432
 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:5450
+#: diff.c:5434
 msgid "<algorithm>"
 msgstr "<thuật toán>"
 
-#: diff.c:5451
+#: diff.c:5435
 msgid "choose a diff algorithm"
 msgstr "chọn một thuật toán khác biệt"
 
-#: diff.c:5453
+#: diff.c:5437
 msgid "<text>"
 msgstr "<văn bản>"
 
-#: diff.c:5454
+#: diff.c:5438
 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:5456 diff.c:5465 diff.c:5468
+#: diff.c:5440 diff.c:5449 diff.c:5452
 msgid "<mode>"
 msgstr "<chế độ>"
 
-#: diff.c:5457
+#: diff.c:5441
 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:5459 diff.c:5462 diff.c:5507
+#: diff.c:5443 diff.c:5446 diff.c:5491
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5460
+#: diff.c:5444
 msgid "use <regex> to decide what a word is"
 msgstr "dùng <regex> để quyết định từ là cái gì"
 
-#: diff.c:5463
+#: diff.c:5447
 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:5466
+#: diff.c:5450
 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:5469
+#: diff.c:5453
 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:5472
+#: diff.c:5456
 msgid "Other diff options"
 msgstr "Các tùy chọn khác biệt khác"
 
-#: diff.c:5474
+#: diff.c:5458
 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:5478
+#: diff.c:5462
 msgid "treat all files as text"
 msgstr "coi mọi tập tin là dạng văn bản thường"
 
-#: diff.c:5480
+#: diff.c:5464
 msgid "swap two inputs, reverse the diff"
 msgstr "tráo đổi hai đầu vào, đảo ngược khác biệt"
 
-#: diff.c:5482
+#: diff.c:5466
 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:5484
+#: diff.c:5468
 msgid "disable all output of the program"
 msgstr "tắt mọi kết xuất của chương trình"
 
-#: diff.c:5486
+#: diff.c:5470
 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:5488
+#: diff.c:5472
 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:5490
+#: diff.c:5474
 msgid "<when>"
 msgstr "<khi>"
 
-#: diff.c:5491
+#: diff.c:5475
 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:5494
+#: diff.c:5478
 msgid "<format>"
 msgstr "<định dạng>"
 
-#: diff.c:5495
+#: diff.c:5479
 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:5499
+#: diff.c:5483
 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:5502
+#: diff.c:5486
 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:5504
+#: diff.c:5488
 msgid "<string>"
 msgstr "<chuỗi>"
 
-#: diff.c:5505
+#: diff.c:5489
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -2946,7 +3356,7 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của "
 "chuỗi được chỉ ra"
 
-#: diff.c:5508
+#: diff.c:5492
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -2954,23 +3364,23 @@ 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:5511
+#: diff.c:5495
 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:5514
+#: diff.c:5498
 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:5517
+#: diff.c:5501
 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:5518
+#: diff.c:5502
 msgid "<object-id>"
 msgstr "<mã-số-đối-tượng>"
 
-#: diff.c:5519
+#: diff.c:5503
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -2978,33 +3388,33 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của đối "
 "tượng được chỉ ra"
 
-#: diff.c:5521
+#: diff.c:5505
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]"
 
-#: diff.c:5522
+#: diff.c:5506
 msgid "select files by diff type"
 msgstr "chọn các tập tin theo kiểu khác biệt"
 
-#: diff.c:5524
+#: diff.c:5508
 msgid "<file>"
 msgstr "<tập_tin>"
 
-#: diff.c:5525
+#: diff.c:5509
 msgid "Output to a specific file"
 msgstr "Xuất ra một tập tin cụ thể"
 
-#: diff.c:6180
+#: diff.c:6164
 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:6183
+#: diff.c:6167
 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:6186
+#: diff.c:6170
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3012,40 +3422,59 @@ 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:549
+#: dir.c:554
 #, 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:938
+#: dir.c:664
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr "mẫu không được thừa nhận: “%s”"
+
+#: dir.c:682 dir.c:696
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr "mẫu âm không được thừa nhận: “%s”"
+
+#: dir.c:714
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr "tập tin sparse-checkout của bạn có lẽ gặp lỗi: mẫu '%s' đã bị lặp lại"
+
+#: dir.c:724
+msgid "disabling cone pattern matching"
+msgstr "vô hiệu khớp mẫu nón"
+
+#: dir.c:1101
 #, 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:1877
+#: dir.c:2078
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "không thể mở thư mục “%s”"
 
-#: dir.c:2128
+#: dir.c:2415
 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:2252
+#: dir.c:2539
 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:3056
+#: dir.c:3343
 #, 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:3101 dir.c:3106
+#: dir.c:3388 dir.c:3393
 #, c-format
 msgid "could not create directories for %s"
 msgstr "không thể tạo thư mục cho %s"
 
-#: dir.c:3135
+#: dir.c:3422
 #, 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”"
@@ -3064,12 +3493,12 @@ msgstr "Nội dung lọc"
 msgid "could not stat file '%s'"
 msgstr "không thể lấy thống kê tập tin “%s”"
 
-#: environment.c:148
+#: environment.c:149
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "đường dẫn không gian tên git \"%s\" sai"
 
-#: environment.c:330
+#: environment.c:331
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr "không thể đặt GIT_DIR thành “%s”"
@@ -3104,32 +3533,32 @@ msgstr "không thể ghi lên máy phục vụ"
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:356 fetch-pack.c:1280
+#: fetch-pack.c:356 fetch-pack.c:1340
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:362 fetch-pack.c:1286
+#: fetch-pack.c:362 fetch-pack.c:1346
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:364 fetch-pack.c:1288
+#: fetch-pack.c:364 fetch-pack.c:1348
 #, c-format
 msgid "object not found: %s"
 msgstr "không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:367 fetch-pack.c:1291
+#: fetch-pack.c:367 fetch-pack.c:1351
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:369 fetch-pack.c:1293
+#: fetch-pack.c:369 fetch-pack.c:1353
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:372 fetch-pack.c:1297
+#: fetch-pack.c:372 fetch-pack.c:1357
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
@@ -3148,7 +3577,7 @@ msgstr "lần chuyển giao %s không hợp lệ"
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:475 progress.c:312
+#: fetch-pack.c:475 progress.c:323
 msgid "done"
 msgstr "xong"
 
@@ -3162,163 +3591,163 @@ msgstr "nhận %s (%d) %s"
 msgid "Marking %s as complete"
 msgstr "Đánh dấu %s là đã hoàn thành"
 
-#: fetch-pack.c:742
+#: fetch-pack.c:754
 #, c-format
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:781
+#: fetch-pack.c:818
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:789
+#: fetch-pack.c:826
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:857
+#: fetch-pack.c:900
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:873
+#: fetch-pack.c:916
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:875
+#: fetch-pack.c:918
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:907
+#: fetch-pack.c:965
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:912 fetch-pack.c:918 fetch-pack.c:921 fetch-pack.c:927
-#: fetch-pack.c:931 fetch-pack.c:935 fetch-pack.c:939 fetch-pack.c:943
-#: fetch-pack.c:947 fetch-pack.c:951 fetch-pack.c:955 fetch-pack.c:959
-#: fetch-pack.c:965 fetch-pack.c:971 fetch-pack.c:976 fetch-pack.c:981
+#: fetch-pack.c:970 fetch-pack.c:976 fetch-pack.c:979 fetch-pack.c:985
+#: fetch-pack.c:989 fetch-pack.c:993 fetch-pack.c:997 fetch-pack.c:1001
+#: fetch-pack.c:1005 fetch-pack.c:1009 fetch-pack.c:1013 fetch-pack.c:1017
+#: fetch-pack.c:1023 fetch-pack.c:1029 fetch-pack.c:1034 fetch-pack.c:1039
 #, c-format
 msgid "Server supports %s"
 msgstr "Máy chủ hỗ trợ %s"
 
-#: fetch-pack.c:914
+#: fetch-pack.c:972
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:974
+#: fetch-pack.c:1032
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:979
+#: fetch-pack.c:1037
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:983
+#: fetch-pack.c:1041
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:1000
+#: fetch-pack.c:1058
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:1012 fetch-pack.c:1468
+#: fetch-pack.c:1070 fetch-pack.c:1536
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1150
+#: fetch-pack.c:1209
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1157
+#: fetch-pack.c:1216
 msgid "Server supports filter"
 msgstr "Máy chủ hỗ trợ bộ lọc"
 
-#: fetch-pack.c:1180
+#: fetch-pack.c:1239
 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:1198
+#: fetch-pack.c:1257
 #, 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:1204
+#: fetch-pack.c:1263
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "cần “%s”, nhưng lại nhận “%s”"
 
-#: fetch-pack.c:1243
+#: fetch-pack.c:1303
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "gặp dòng không được thừa nhận: “%s”"
 
-#: fetch-pack.c:1248
+#: fetch-pack.c:1308
 #, 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:1258
+#: fetch-pack.c:1318
 msgid "expected packfile to be sent after 'ready'"
 msgstr "cần tập tin gói để gửi sau “ready”"
 
-#: fetch-pack.c:1260
+#: fetch-pack.c:1320
 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:1302
+#: fetch-pack.c:1362
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "lỗi xử lý thông tin shallow: %d"
 
-#: fetch-pack.c:1349
+#: fetch-pack.c:1409
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:1354
+#: fetch-pack.c:1414
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "không cần wanted-ref: “%s”"
 
-#: fetch-pack.c:1359
+#: fetch-pack.c:1419
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "lỗi khi xử lý wanted refs: %d"
 
-#: fetch-pack.c:1693
+#: fetch-pack.c:1762
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1716 builtin/clone.c:685
+#: fetch-pack.c:1785 builtin/clone.c:688
 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:1743
+#: fetch-pack.c:1812
 #, 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:1746
+#: fetch-pack.c:1815
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr ""
 "Máy phục vụ không cho phép yêu cầu cho đối tượng không được báo trước %s"
 
-#: gpg-interface.c:321
-msgid "gpg failed to sign the data"
-msgstr "gpg gặp lỗi khi ký dữ liệu"
-
-#: gpg-interface.c:347
+#: gpg-interface.c:223
 msgid "could not create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: gpg-interface.c:350
+#: gpg-interface.c:226
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
 
-#: graph.c:97
+#: gpg-interface.c:390
+msgid "gpg failed to sign the data"
+msgstr "gpg gặp lỗi khi ký dữ liệu"
+
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
@@ -3336,7 +3765,7 @@ msgstr ""
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:2141 setup.c:165 builtin/clone.c:408 builtin/diff.c:82
+#: grep.c:2141 setup.c:165 builtin/clone.c:411 builtin/diff.c:82
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
@@ -3392,7 +3821,7 @@ msgid "Low-level Commands / Interrogators"
 msgstr "Lệnh/bộ hỏi ở mức thấp"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "Lệnh/Đồng bộ kho ở mức thấp"
 
 #: help.c:38
@@ -3551,7 +3980,7 @@ msgstr "không cho phép tên định danh là rỗng (cho <%s>)"
 msgid "name consists only of disallowed characters: %s"
 msgstr "tên chỉ được phép bao gồm các ký tự sau: %s"
 
-#: ident.c:436 builtin/commit.c:611
+#: ident.c:436 builtin/commit.c:631
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
@@ -3636,7 +4065,7 @@ 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:1874 builtin/am.c:1908
-#: builtin/checkout.c:537 builtin/checkout.c:796 builtin/clone.c:785
+#: builtin/checkout.c:539 builtin/checkout.c:798 builtin/clone.c:809
 #: 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"
@@ -3831,7 +4260,7 @@ msgstr "đổi tên"
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1614 merge-recursive.c:2472 merge-recursive.c:3117
+#: merge-recursive.c:1614 merge-recursive.c:2530 merge-recursive.c:3175
 #, 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”"
@@ -3880,7 +4309,7 @@ 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:2056
+#: merge-recursive.c:2114
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3891,7 +4320,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:2088
+#: merge-recursive.c:2146
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3900,7 +4329,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:2098
+#: merge-recursive.c:2156
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3909,7 +4338,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:2190
+#: merge-recursive.c:2248
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3918,7 +4347,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:2435
+#: merge-recursive.c:2493
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3927,52 +4356,52 @@ 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:2961
+#: merge-recursive.c:3019
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:2964
+#: merge-recursive.c:3022
 #, 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:3028
+#: merge-recursive.c:3086
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:3028
+#: merge-recursive.c:3086
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:3040
+#: merge-recursive.c:3098
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:3044
+#: merge-recursive.c:3102
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:3067
+#: merge-recursive.c:3125
 #, 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:3089 git-submodule.sh:937
+#: merge-recursive.c:3147 git-submodule.sh:993
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:3090
+#: merge-recursive.c:3148
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:3120
+#: merge-recursive.c:3178
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:3203
+#: merge-recursive.c:3261
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -3981,7 +4410,7 @@ msgstr ""
 "Đường dẫn đã được cập nhật: %s được thêm vào trong %s bên trong một thư mục "
 "đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-recursive.c:3206
+#: merge-recursive.c:3264
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -3990,7 +4419,7 @@ msgstr ""
 "XUNG ĐỘT (vị trí tệp): %s được thêm vào trong %s trong một thư mục đã được "
 "đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
 
-#: merge-recursive.c:3210
+#: merge-recursive.c:3268
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -3999,7 +4428,7 @@ msgstr ""
 "Đường dẫn đã được cập nhật: %s được đổi tên thành %s trong %s, bên trong một "
 "thư mục đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-recursive.c:3213
+#: merge-recursive.c:3271
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4008,60 +4437,60 @@ 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:3327
+#: merge-recursive.c:3385
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:3350
+#: merge-recursive.c:3408
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:3355
+#: merge-recursive.c:3413
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:3362
+#: merge-recursive.c:3420
 #, 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:3371
+#: merge-recursive.c:3429
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:3380
+#: merge-recursive.c:3438
 #, 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:3424
+#: merge-recursive.c:3482
 msgid "Already up to date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:3433
+#: merge-recursive.c:3491
 #, 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:3537
+#: merge-recursive.c:3595
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3550
+#: merge-recursive.c:3608
 #, 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:3600
+#: merge-recursive.c:3658
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3659
+#: merge-recursive.c:3717
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4071,12 +4500,12 @@ msgstr ""
 "hòa trộn:\n"
 "  %s"
 
-#: merge-recursive.c:3756
+#: merge-recursive.c:3814
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3774 builtin/merge.c:694 builtin/merge.c:874
+#: merge-recursive.c:3832 builtin/merge.c:694 builtin/merge.c:874
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục."
 
@@ -4142,79 +4571,95 @@ msgstr "multi-pack-index lưu trữ một khoảng bù 64-bít, nhưng off_t là
 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:469
+#: midx.c:472
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "gặp lỗi khi thêm tập tin gói “%s”"
 
-#: midx.c:475
+#: midx.c:478
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "gặp lỗi khi mở pack-index “%s”"
 
-#: midx.c:535
+#: midx.c:538
 #, 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:864
+#: midx.c:842
+msgid "Adding packfiles to multi-pack-index"
+msgstr "Đang thêm tập tin gói từ multi-pack-index"
+
+#: midx.c:875
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "đã không thấy tập tin gói %s để mà xóa"
 
-#: midx.c:1035
+#: midx.c:973
+msgid "Writing chunks to multi-pack-index"
+msgstr "Đang ghi các khúc vào multi-pack-index"
+
+#: midx.c:1052
 #, 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:1090
+#: midx.c:1108
 msgid "Looking for referenced packfiles"
 msgstr "Đang khóa cho các gói bị tham chiếu"
 
-#: midx.c:1105
+#: midx.c:1123
 #, 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:1109
-msgid "Verifying OID order in MIDX"
-msgstr "Thẩm tra thứ tự OID trong MIDX"
+#: midx.c:1128
+msgid "Verifying OID order in multi-pack-index"
+msgstr "Thẩm tra thứ tự OID trong multi-pack-index"
 
-#: midx.c:1118
+#: midx.c:1137
 #, 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:1137
+#: midx.c:1157
 msgid "Sorting objects by packfile"
 msgstr "Đang sắp xếp các đối tượng theo tập tin gói"
 
-#: midx.c:1143
+#: midx.c:1164
 msgid "Verifying object offsets"
 msgstr "Đang thẩm tra các khoảng bù đối tượng"
 
-#: midx.c:1159
+#: midx.c:1180
 #, 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:1165
+#: midx.c:1186
 #, 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:1174
+#: midx.c:1195
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 "khoảng bù đối tượng không đúng cho oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1349
+#: midx.c:1220
+msgid "Counting referenced objects"
+msgstr "Đang đếm các đối tượng được tham chiếu"
+
+#: midx.c:1230
+msgid "Finding and deleting unreferenced packfiles"
+msgstr "Đang tìm và xóa các gói không được tham chiếu"
+
+#: midx.c:1388
 msgid "could not start pack-objects"
 msgstr "không thể lấy thông tin thống kê về các đối tượng gói"
 
-#: midx.c:1368
+#: midx.c:1407
 msgid "could not finish pack-objects"
 msgstr "không thể hoàn thiện các đối tượng gói"
 
@@ -4304,12 +4749,12 @@ msgstr "mã băm không khớp %s"
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "vị trí tương đối trước điểm kết thúc của tập tin gói (.idx hỏng à?)"
 
-#: packfile.c:1887
+#: packfile.c:1888
 #, 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:1891
+#: packfile.c:1892
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -4421,35 +4866,35 @@ msgstr "tùy chọn “%s” cần \"always\", \"auto\", hoặc \"never\""
 msgid "malformed object name '%s'"
 msgstr "tên đối tượng dị hình “%s”"
 
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Không thể làm %s được ghi bởi nhóm"
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 "Ký tự thoát chuỗi “\\” không được phép là ký tự cuối trong giá trị thuộc tính"
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Chỉ có một đặc tả “attr:” là được phép."
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr "đặc tả attr phải không được để trống"
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "tên thuộc tính không hợp lệ %s"
 
-#: pathspec.c:257
+#: pathspec.c:259
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "các cài đặt đặc tả đường dẫn “glob” và “noglob” toàn cục là xung khắc nhau"
 
-#: pathspec.c:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -4457,50 +4902,55 @@ msgstr ""
 "cài đặt đặc tả đường dẫn “literal” toàn cục là xung khắc với các cài đặt đặc "
 "tả đường dẫn toàn cục khác"
 
-#: pathspec.c:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "tham số không hợp lệ cho “tiền tố” màu nhiệm đặc tả đường đẫn"
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "Số màu nhiệm đặc tả đường dẫn không hợp lệ “%.*s” trong “%s”"
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Thiếu “)” tại cuối của số màu nhiệm đặc tả đường dẫn trong “%s”"
 
-#: pathspec.c:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Chưa viết mã cho số màu nhiệm đặc tả đường dẫn “%c” trong “%s”"
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s: “literal” và “glob” xung khắc nhau"
 
-#: pathspec.c:440
+#: pathspec.c:442
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s: “%s” ngoài một kho chứa"
 
-#: pathspec.c:514
+#: pathspec.c:516
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "“%s” (mnemonic: “%c”)"
 
-#: pathspec.c:524
+#: pathspec.c:526
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ trợ bởi lệnh này: %s"
 
-#: pathspec.c:591
+#: pathspec.c:593
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
 
+#: pathspec.c:638
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr "dòng được trích dẫn sai: %s"
+
 #: 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"
@@ -4561,42 +5011,42 @@ 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:966
+#: pretty.c:981
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
 
-#: promisor-remote.c:25
+#: promisor-remote.c:23
 msgid "Remote with no URL"
 msgstr "Máy chủ không có địa chỉ URL"
 
-#: promisor-remote.c:61
+#: promisor-remote.c:58
 #, c-format
 msgid "promisor remote name cannot begin with '/': %s"
 msgstr "tên máy chủ hứa hẹn không thể bắt đầu bằng '/': %s"
 
-#: range-diff.c:71
+#: range-diff.c:75
 msgid "could not start `log`"
 msgstr "không thể lấy thông tin thống kê về “log“"
 
-#: range-diff.c:73
+#: range-diff.c:77
 msgid "could not read `log` output"
 msgstr "không thể đọc kết xuất “log”"
 
-#: range-diff.c:92 sequencer.c:4985
+#: range-diff.c:96 sequencer.c:5163
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: range-diff.c:118
+#: range-diff.c:122
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "không thể phân tích cú pháp phần đầu git “%.*s”"
 
-#: range-diff.c:275
+#: range-diff.c:285
 msgid "failed to generate diff"
 msgstr "gặp lỗi khi tạo khác biệt"
 
-#: range-diff.c:507 range-diff.c:509
+#: range-diff.c:518 range-diff.c:520
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "không thể phân tích nhật ký cho “%s”"
@@ -4637,16 +5087,16 @@ msgstr "không thể thêm %s vào bảng mục lục"
 msgid "unable to stat '%s'"
 msgstr "không thể lấy thống kê “%s”"
 
-#: read-cache.c:1314
+#: read-cache.c:1325
 #, 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:1520
+#: read-cache.c:1531
 msgid "Refresh index"
 msgstr "Làm tươi mới bảng mục lục"
 
-#: read-cache.c:1635
+#: read-cache.c:1646
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -4655,7 +5105,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:1645
+#: read-cache.c:1656
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -4664,138 +5114,138 @@ 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:1701
+#: read-cache.c:1712
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "chữ ký sai 0x%08x"
 
-#: read-cache.c:1704
+#: read-cache.c:1715
 #, c-format
 msgid "bad index version %d"
 msgstr "phiên bản mục lục sai %d"
 
-#: read-cache.c:1713
+#: read-cache.c:1724
 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:1743
+#: read-cache.c:1754
 #, 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:1745
+#: read-cache.c:1756
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "đang lờ đi phần mở rộng %.4s"
 
-#: read-cache.c:1782
+#: read-cache.c:1793
 #, 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:1798
+#: read-cache.c:1809
 #, 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:1855
+#: read-cache.c:1866
 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:1858
+#: read-cache.c:1869
 #, 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:1861
+#: read-cache.c:1872
 #, 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:1967 read-cache.c:2255 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:468
-#: builtin/checkout.c:652 builtin/clean.c:967 builtin/commit.c:347
+#: read-cache.c:1978 read-cache.c:2266 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:499 builtin/check-ignore.c:178 builtin/checkout.c:470
+#: builtin/checkout.c:654 builtin/clean.c:967 builtin/commit.c:367
 #: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
-#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330
+#: builtin/reset.c:246 builtin/rm.c:271 builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: read-cache.c:2108
+#: read-cache.c:2119
 #, 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:2121
+#: read-cache.c:2132
 #, 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:2154
+#: read-cache.c:2165
 #, 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:2158
+#: read-cache.c:2169
 #, 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:2162
+#: read-cache.c:2173
 #, 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:2166
+#: read-cache.c:2177
 #, 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:2208
+#: read-cache.c:2219
 #, 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:2235
+#: read-cache.c:2246
 #, 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:2267
+#: read-cache.c:2278
 #, 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:2314
+#: read-cache.c:2325
 #, 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:3010 wrapper.c:622 builtin/merge.c:1119
+#: read-cache.c:3021 strbuf.c:1145 wrapper.c:622 builtin/merge.c:1119
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: read-cache.c:3113 sequencer.c:2296 sequencer.c:3917
+#: read-cache.c:3124 sequencer.c:2429 sequencer.c:4069
 #, c-format
 msgid "could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: read-cache.c:3126
+#: read-cache.c:3137
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "không thể mở thư mục git: %s"
 
-#: read-cache.c:3138
+#: read-cache.c:3149
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "không thể bỏ liên kết (unlink): “%s”"
 
-#: read-cache.c:3163
+#: read-cache.c:3174
 #, 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:3312
+#: read-cache.c:3323
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s: không thể xóa bỏ stage #0"
@@ -4904,8 +5354,8 @@ msgstr ""
 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:105 rerere.c:485 rerere.c:692 sequencer.c:3388
-#: sequencer.c:3414 sequencer.c:5084 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3536
+#: sequencer.c:3562 sequencer.c:5263 builtin/fsck.c:346 builtin/rebase.c:254
 #, c-format
 msgid "could not write '%s'"
 msgstr "không thể ghi “%s”"
@@ -4977,14 +5427,15 @@ msgstr "tham chiếu “%s” đã có từ trước rồi"
 msgid "unexpected object ID when writing '%s'"
 msgstr "không cần ID đối tượng khi ghi “%s”"
 
-#: refs.c:833 sequencer.c:403 sequencer.c:2647 sequencer.c:2851
-#: sequencer.c:2865 sequencer.c:3122 sequencer.c:5001 wrapper.c:620
+#: refs.c:833 sequencer.c:405 sequencer.c:2793 sequencer.c:2997
+#: sequencer.c:3011 sequencer.c:3269 sequencer.c:5179 strbuf.c:1142
+#: wrapper.c:620
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
 
-#: refs.c:860 wrapper.c:188 wrapper.c:358 builtin/am.c:714
-#: builtin/rebase.c:1004
+#: refs.c:860 strbuf.c:1140 wrapper.c:188 wrapper.c:358 builtin/am.c:714
+#: builtin/rebase.c:1031
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
@@ -5649,8 +6100,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:2023 builtin/log.c:1790
-#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428
+#: rerere.c:881 submodule.c:2067 builtin/log.c:1871
+#: builtin/submodule--helper.c:1436 builtin/submodule--helper.c:1448
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
@@ -5684,33 +6135,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:2509
+#: revision.c:2497
 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:2512
+#: revision.c:2500
 #, 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:2720
+#: revision.c:2708
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent xung khắc với --bisect"
 
-#: revision.c:2724
+#: revision.c:2712
 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
+#: run-command.c:762
 msgid "open /dev/null failed"
 msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: run-command.c:1269
+#: run-command.c:1268
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "không thể tạo tuyến async: %s"
 
-#: run-command.c:1333
+#: run-command.c:1332
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -5719,30 +6170,30 @@ msgstr ""
 "Móc “%s” bị bỏ qua bởi vì nó không thể đặt là thực thi được.\n"
 "Bạn có thể tắt cảnh báo này bằng “git config advice.ignoredHook false“."
 
-#: send-pack.c:142
+#: send-pack.c:144
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 "gặp gói flush không cần trong khi đọc tình trạng giải nén gói trên máy chủ"
 
-#: send-pack.c:144
+#: send-pack.c:146
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "không thể phân tích tình trạng unpack máy chủ: %s"
 
-#: send-pack.c:146
+#: send-pack.c:148
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "máy chủ gặp lỗi unpack: %s"
 
-#: send-pack.c:307
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgstr "gặp lỗi khi ký chứng thực đẩy"
 
-#: send-pack.c:421
+#: send-pack.c:423
 msgid "the receiving end does not support --signed push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
 
-#: send-pack.c:423
+#: send-pack.c:425
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -5750,47 +6201,47 @@ msgstr ""
 "đừng gửi giấy chứng nhận đẩy trước khi kết thúc nhận không hỗ trợ đẩy --"
 "signed"
 
-#: send-pack.c:435
+#: send-pack.c:437
 msgid "the receiving end does not support --atomic push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 
-#: send-pack.c:440
+#: send-pack.c:442
 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:187
+#: sequencer.c:189
 #, 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:292
+#: sequencer.c:294
 #, c-format
 msgid "could not delete '%s'"
 msgstr "không thể xóa bỏ “%s”"
 
-#: sequencer.c:311 builtin/rebase.c:760 builtin/rebase.c:1676 builtin/rm.c:369
+#: sequencer.c:313 builtin/rebase.c:781 builtin/rebase.c:1706 builtin/rm.c:369
 #, c-format
 msgid "could not remove '%s'"
 msgstr "không thể gỡ bỏ “%s”"
 
-#: sequencer.c:321
+#: sequencer.c:323
 msgid "revert"
 msgstr "hoàn nguyên"
 
-#: sequencer.c:323
+#: sequencer.c:325
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:325
+#: sequencer.c:327
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:327
+#: sequencer.c:329
 #, c-format
 msgid "unknown action: %d"
 msgstr "không nhận ra thao tác: %d"
 
-#: sequencer.c:385
+#: sequencer.c:387
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -5798,7 +6249,7 @@ msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
 "với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”"
 
-#: sequencer.c:388
+#: sequencer.c:390
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -5808,44 +6259,44 @@ msgstr ""
 "với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:401 sequencer.c:2847
+#: sequencer.c:403 sequencer.c:2993
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:408
+#: sequencer.c:410
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:413 sequencer.c:2652 sequencer.c:2853 sequencer.c:2867
-#: sequencer.c:3130
+#: sequencer.c:415 sequencer.c:2798 sequencer.c:2999 sequencer.c:3013
+#: sequencer.c:3277
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:436 sequencer.c:1585 sequencer.c:2672 sequencer.c:3112
-#: sequencer.c:3221 builtin/am.c:244 builtin/commit.c:763 builtin/merge.c:1117
-#: builtin/rebase.c:568
+#: sequencer.c:438 sequencer.c:1707 sequencer.c:2818 sequencer.c:3259
+#: sequencer.c:3368 builtin/am.c:244 builtin/commit.c:783 builtin/merge.c:1117
+#: builtin/rebase.c:589
 #, c-format
 msgid "could not read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: sequencer.c:462
+#: sequencer.c:464
 #, 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:466
+#: sequencer.c:468
 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:498
+#: sequencer.c:500
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
 
-#: sequencer.c:537 builtin/tag.c:565
+#: sequencer.c:539 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
@@ -5853,65 +6304,69 @@ msgstr "Chế độ dọn dẹp không hợp lệ %s"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:631
+#: sequencer.c:633
 #, 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:648
+#: sequencer.c:650
 msgid "unable to update cache tree"
 msgstr "không thể cập nhật cây bộ nhớ đệm"
 
-#: sequencer.c:662
+#: sequencer.c:664
 msgid "could not resolve HEAD commit"
 msgstr "không thể phân giải lần chuyển giao HEAD"
 
-#: sequencer.c:742
+#: sequencer.c:744
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "không có khóa hiện diện trong “%.*s”"
 
-#: sequencer.c:753
+#: sequencer.c:755
 #, 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:790 wrapper.c:190 wrapper.c:360 builtin/am.c:705
-#: builtin/am.c:797 builtin/merge.c:1114 builtin/rebase.c:1046
+#: sequencer.c:792 wrapper.c:190 wrapper.c:360 builtin/am.c:705
+#: builtin/am.c:797 builtin/merge.c:1114 builtin/rebase.c:1074
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: sequencer.c:800
+#: sequencer.c:802
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "“GIT_AUTHOR_NAME” đã sẵn đưa ra rồi"
 
-#: sequencer.c:805
+#: sequencer.c:807
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "“GIT_AUTHOR_EMAIL” đã sẵn đưa ra rồi"
 
-#: sequencer.c:810
+#: sequencer.c:812
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "“GIT_AUTHOR_DATE” đã sẵn đưa ra rồi"
 
-#: sequencer.c:814
+#: sequencer.c:816
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "không hiểu biến “%s”"
 
-#: sequencer.c:819
+#: sequencer.c:821
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "thiếu “GIT_AUTHOR_NAME”"
 
-#: sequencer.c:821
+#: sequencer.c:823
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "thiếu “GIT_AUTHOR_EMAIL”"
 
-#: sequencer.c:823
+#: sequencer.c:825
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "thiếu “GIT_AUTHOR_DATE”"
 
-#: sequencer.c:872
+#: sequencer.c:902 sequencer.c:1427
+msgid "malformed ident line"
+msgstr "thụt đầu dòng dị hình"
+
+#: sequencer.c:925
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5940,11 +6395,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:1146
+#: sequencer.c:1218
 msgid "'prepare-commit-msg' hook failed"
 msgstr "móc “prepare-commit-msg” bị lỗi"
 
-#: sequencer.c:1153
+#: sequencer.c:1224
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5975,7 +6430,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1166
+#: sequencer.c:1237
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6003,328 +6458,332 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1208
+#: sequencer.c:1279
 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:1210
+#: sequencer.c:1281
 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:1256
+#: sequencer.c:1327
 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:1258
+#: sequencer.c:1329
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:1262
+#: sequencer.c:1333
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: sequencer.c:1283
+#: sequencer.c:1354
 msgid "could not parse HEAD"
 msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:1285
+#: sequencer.c:1356
 #, 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:1289 builtin/commit.c:1571
+#: sequencer.c:1360 sequencer.c:1458 builtin/commit.c:1569
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:1341 sequencer.c:1933
+#: sequencer.c:1411 sequencer.c:2055
 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:1352 builtin/am.c:1561 builtin/merge.c:684
+#: sequencer.c:1431
+msgid "corrupted author without date information"
+msgstr "tác giả sai hỏng không có thông tin này tháng"
+
+#: sequencer.c:1447 builtin/am.c:1561 builtin/merge.c:684
 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:1369 sequencer.c:1429
+#: sequencer.c:1480 sequencer.c:1550
 #, 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:1396 builtin/am.c:1583 builtin/commit.c:1670 builtin/merge.c:883
+#: sequencer.c:1516 builtin/am.c:1583 builtin/commit.c:1668 builtin/merge.c:883
 #: builtin/merge.c:908
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:1456
+#: sequencer.c:1577
 #, c-format
 msgid "could not parse commit %s"
 msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:1461
+#: sequencer.c:1582
 #, 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:1535 sequencer.c:1645
+#: sequencer.c:1656 sequencer.c:1767
 #, c-format
 msgid "unknown command: %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:1592 sequencer.c:1617
+#: sequencer.c:1714 sequencer.c:1739
 #, 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:1602
+#: sequencer.c:1724
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:1604 sequencer.c:3157
+#: sequencer.c:1726 sequencer.c:3304
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1606
+#: sequencer.c:1728
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:1612
+#: sequencer.c:1734
 #, c-format
 msgid "cannot write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:1619 git-rebase--preserve-merges.sh:496
+#: sequencer.c:1741 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:1627
+#: sequencer.c:1749
 #, 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:1634
+#: sequencer.c:1756
 #, 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:1640
+#: sequencer.c:1762
 #, 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:1728
+#: sequencer.c:1850
 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:1735
+#: sequencer.c:1857
 msgid "cannot fixup root commit"
 msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:1754
+#: sequencer.c:1876
 #, 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:1762 sequencer.c:1770
+#: sequencer.c:1884 sequencer.c:1892
 #, 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:1776
+#: sequencer.c:1898
 #, 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:1795
+#: sequencer.c:1917
 #, 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:1860
+#: sequencer.c:1982
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:1915
+#: sequencer.c:2037
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:1916
+#: sequencer.c:2038
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:1983
+#: sequencer.c:2105
 #, 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:1990
+#: sequencer.c:2112
 #, 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:2066
+#: sequencer.c:2189
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:2075
+#: sequencer.c:2198
 #, c-format
 msgid "missing arguments for %s"
 msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:2112
+#: sequencer.c:2235
 #, c-format
 msgid "could not parse '%.*s'"
 msgstr "không thể phân tích cú pháp “%.*s”"
 
-#: sequencer.c:2166
+#: sequencer.c:2289
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:2177
+#: sequencer.c:2300
 #, 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:2225 builtin/rebase.c:153 builtin/rebase.c:178
-#: builtin/rebase.c:204 builtin/rebase.c:229
+#: sequencer.c:2348 builtin/rebase.c:172 builtin/rebase.c:197
+#: builtin/rebase.c:223 builtin/rebase.c:248
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: sequencer.c:2261
+#: sequencer.c:2384
 msgid "cancelling a cherry picking in progress"
 msgstr "đang hủy bỏ thao tác cherry pick đang thực hiện"
 
-#: sequencer.c:2268
+#: sequencer.c:2391
 msgid "cancelling a revert in progress"
 msgstr "đang hủy bỏ các thao tác hoàn nguyên đang thực hiện"
 
-#: sequencer.c:2302
+#: sequencer.c:2435
 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:2304
+#: sequencer.c:2437
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:2309
+#: sequencer.c:2442
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:2320
+#: sequencer.c:2453
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:2322
+#: sequencer.c:2455
 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:2404
+#: sequencer.c:2533
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:2491
+#: sequencer.c:2630
 msgid "unusable squash-onto"
 msgstr "squash-onto không dùng được"
 
-#: sequencer.c:2507
+#: sequencer.c:2646
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:2590 sequencer.c:4308
+#: sequencer.c:2736 sequencer.c:4463
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:2606
+#: sequencer.c:2752
 msgid "revert is already in progress"
 msgstr "có thao tác hoàn nguyên đang được thực hiện"
 
-#: sequencer.c:2608
+#: sequencer.c:2754
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "hãy thử \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2611
+#: sequencer.c:2757
 msgid "cherry-pick is already in progress"
 msgstr "có thao tác “cherry-pick” đang được thực hiện"
 
-#: sequencer.c:2613
+#: sequencer.c:2759
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "hãy thử \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2627
+#: sequencer.c:2773
 #, 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:2642
+#: sequencer.c:2788
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:2702 sequencer.c:4057
+#: sequencer.c:2848 sequencer.c:4209
 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:2704 sequencer.c:2715
+#: sequencer.c:2850 sequencer.c:2861
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:2706 sequencer.c:2750
+#: sequencer.c:2852 sequencer.c:2896
 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:2736 builtin/grep.c:736
+#: sequencer.c:2882 builtin/grep.c:736
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:2738
+#: sequencer.c:2884
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:2739
+#: sequencer.c:2885
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:2745
+#: sequencer.c:2891
 #, 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:2756
+#: sequencer.c:2902
 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:2797
+#: sequencer.c:2943
 msgid "no revert in progress"
 msgstr "không có tiến trình hoàn nguyên nào"
 
-#: sequencer.c:2805
+#: sequencer.c:2951
 msgid "no cherry-pick in progress"
 msgstr "không có cherry-pick đang được thực hiện"
 
-#: sequencer.c:2815
+#: sequencer.c:2961
 msgid "failed to skip the commit"
 msgstr "gặp lỗi khi bỏ qua đối tượng chuyển giao"
 
-#: sequencer.c:2822
+#: sequencer.c:2968
 msgid "there is nothing to skip"
 msgstr "ở đây không có gì để mà bỏ qua cả"
 
-#: sequencer.c:2825
+#: sequencer.c:2971
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -6333,21 +6792,21 @@ msgstr ""
 "bạn đã sẵn sàng chuyển giao chưa?\n"
 "thử \"git %s --continue\""
 
-#: sequencer.c:2949 sequencer.c:3969
+#: sequencer.c:3095 sequencer.c:4121
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:2987 sequencer.c:3949
+#: sequencer.c:3134 sequencer.c:4101
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:3004
+#: sequencer.c:3151
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3012
+#: sequencer.c:3159
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6366,27 +6825,22 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3022
+#: sequencer.c:3169
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Không thể áp dụng %s… %.*s"
 
-#: sequencer.c:3029
+#: sequencer.c:3176
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Không hòa trộn %.*s"
 
-#: sequencer.c:3043 sequencer.c:3047 builtin/difftool.c:641
+#: sequencer.c:3190 sequencer.c:3194 builtin/difftool.c:641
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3069 sequencer.c:3506 builtin/rebase.c:850 builtin/rebase.c:1613
-#: builtin/rebase.c:1987 builtin/rebase.c:2031
-msgid "could not read index"
-msgstr "không thể đọc bảng mục lục"
-
-#: sequencer.c:3074
+#: sequencer.c:3221
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6401,11 +6855,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3080
+#: sequencer.c:3227
 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:3086
+#: sequencer.c:3233
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6422,76 +6876,72 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3147
+#: sequencer.c:3294
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "tên nhãn dị hình: “%.*s”"
 
-#: sequencer.c:3201
+#: sequencer.c:3348
 msgid "writing fake root commit"
 msgstr "ghi lần chuyển giao gốc giả"
 
-#: sequencer.c:3206
+#: sequencer.c:3353
 msgid "writing squash-onto"
 msgstr "đang ghi squash-onto"
 
-#: sequencer.c:3244 builtin/rebase.c:855 builtin/rebase.c:861
+#: sequencer.c:3391 builtin/rebase.c:876 builtin/rebase.c:882
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "gặp lỗi khi tìm cây của %s"
 
-#: sequencer.c:3262 builtin/rebase.c:874
-msgid "could not write index"
-msgstr "không thể ghi bảng mục lục"
-
-#: sequencer.c:3289
+#: sequencer.c:3436
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: sequencer.c:3320
+#: sequencer.c:3467
 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:3342
+#: sequencer.c:3489
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "không thể phân tích “%.*s”"
 
-#: sequencer.c:3351
+#: sequencer.c:3498
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "chẳng có gì để hòa trộn: “%.*s”"
 
-#: sequencer.c:3363
+#: sequencer.c:3510
 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:3378
+#: sequencer.c:3526
 #, 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:3538
+#: sequencer.c:3688
 #, 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:3554
+#: sequencer.c:3704
 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:3623 builtin/rebase.c:712
+#: sequencer.c:3773 builtin/rebase.c:733
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Đã áp dụng autostash.\n"
 
-#: sequencer.c:3635
+#: sequencer.c:3785
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:3638 builtin/rebase.c:728 git-rebase--preserve-merges.sh:113
+#: sequencer.c:3788 builtin/rebase.c:749 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -6503,31 +6953,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:3699
+#: sequencer.c:3849
 #, c-format
 msgid "could not checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: sequencer.c:3713
+#: sequencer.c:3863
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s không phải là một OID hợp lệ"
 
-#: sequencer.c:3718 git-rebase--preserve-merges.sh:779
+#: sequencer.c:3868 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr "không thể tách rời HEAD"
 
-#: sequencer.c:3733
+#: sequencer.c:3883
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Dừng lại ở HEAD\n"
 
-#: sequencer.c:3735
+#: sequencer.c:3885
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Dừng lại ở %s\n"
 
-#: sequencer.c:3743
+#: sequencer.c:3893
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6548,48 +6998,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3827
+#: sequencer.c:3979
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:3898
+#: sequencer.c:4050
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:3957
+#: sequencer.c:4109
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:3962
+#: sequencer.c:4114
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:3976
+#: sequencer.c:4128
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:4069
+#: sequencer.c:4221
 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:4078
+#: sequencer.c:4230
 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:4080
+#: sequencer.c:4232
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:4082
+#: sequencer.c:4234
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:4085
+#: sequencer.c:4237
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6599,42 +7049,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:4121 sequencer.c:4159
+#: sequencer.c:4273 sequencer.c:4312
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "không thể ghi tập tin: “%s”"
 
-#: sequencer.c:4174
+#: sequencer.c:4327
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:4181
+#: sequencer.c:4334
 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:4285
+#: sequencer.c:4440
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:4289
+#: sequencer.c:4444
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:4324
+#: sequencer.c:4479
 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:4774
+#: sequencer.c:4952
 msgid "make_script: unhandled options"
 msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sequencer.c:4777
+#: sequencer.c:4955
 msgid "make_script: error preparing revisions"
 msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sequencer.c:4935
+#: sequencer.c:5113
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -6644,15 +7094,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:5047 sequencer.c:5064
+#: sequencer.c:5226 sequencer.c:5243
 msgid "nothing to do"
 msgstr "không có gì để làm"
 
-#: sequencer.c:5078
+#: sequencer.c:5257
 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:5166
+#: sequencer.c:5351
 msgid "the script was already rearranged."
 msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
@@ -7154,6 +7604,11 @@ msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u byte/giây"
 
+#: strbuf.c:1149
+#, c-format
+msgid "could not edit '%s'"
+msgstr "không thể sửa “%s”"
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -7190,7 +7645,7 @@ 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:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:2016
 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ệ."
 
@@ -7229,7 +7684,12 @@ msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 msgid "Submodule '%s' could not be updated."
 msgstr "Mô-đun-con “%s” không thể được cập nhật."
 
-#: submodule.c:2007
+#: submodule.c:2027
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr "thư mục git mô đun con '%s' là bên trong git DIR '%.*s'"
+
+#: submodule.c:2048
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -7237,12 +7697,17 @@ msgstr ""
 "relocate_gitdir cho mô-đun-con “%s” với nhiều hơn một cây làm việc là chưa "
 "được hỗ trợ"
 
-#: submodule.c:2019 submodule.c:2074
+#: submodule.c:2060 submodule.c:2119
 #, 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:2026
+#: submodule.c:2064
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr "từ chối di chuyển ' %s ' vào trong một thư mục git sẵn có"
+
+#: submodule.c:2071
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7253,16 +7718,16 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:2109
+#: submodule.c:2154
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:2153
+#: submodule.c:2198
 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:2192
+#: submodule.c:2237
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
@@ -7283,12 +7748,12 @@ 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:490
+#: submodule-config.c:498
 #, c-format
 msgid "invalid value for %s"
 msgstr "giá trị cho %s không hợp lệ"
 
-#: submodule-config.c:761
+#: submodule-config.c:769
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
@@ -7436,7 +7901,7 @@ msgstr "Bãi bỏ."
 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:1345 transport-helper.c:655
+#: transport.c:1345 transport-helper.c:656
 msgid "operation not supported by protocol"
 msgstr "thao tác không được gia thức hỗ trợ"
 
@@ -7449,7 +7914,7 @@ msgstr "ghi đầy đủ lên bộ hỗ trợ máy chủ gặp lỗi"
 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:160 transport-helper.c:569
+#: transport-helper.c:160 transport-helper.c:570
 msgid "can't dup helper output fd"
 msgstr "không thể nhân đôi fd dầu ra bộ hỗ trợ"
 
@@ -7476,90 +7941,90 @@ msgstr "%s said bất ngờ: “%s”"
 msgid "%s also locked %s"
 msgstr "%s cũng khóa %s"
 
-#: transport-helper.c:491
+#: transport-helper.c:492
 msgid "couldn't run fast-import"
 msgstr "không thể chạy fast-import"
 
-#: transport-helper.c:514
+#: transport-helper.c:515
 msgid "error while running fast-import"
 msgstr "gặp lỗi trong khi chạy fast-import"
 
-#: transport-helper.c:543 transport-helper.c:1132
+#: transport-helper.c:544 transport-helper.c:1133
 #, c-format
 msgid "could not read ref %s"
 msgstr "không thể đọc tham chiếu %s"
 
-#: transport-helper.c:588
+#: transport-helper.c:589
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "không hiểu đáp ứng để kết nối: %s"
 
-#: transport-helper.c:610
+#: transport-helper.c:611
 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:612
+#: transport-helper.c:613
 msgid "invalid remote service path"
 msgstr "đường dẫn dịch vụ máy chủ không hợp lệ"
 
-#: transport-helper.c:658
+#: transport-helper.c:659
 #, 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:734
+#: transport-helper.c:735
 #, 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:787
+#: transport-helper.c:788
 #, 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:848
+#: transport-helper.c:849
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "helper %s không hỗ trợ dry-run"
 
-#: transport-helper.c:851
+#: transport-helper.c:852
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "helper %s không hỗ trợ --signed"
 
-#: transport-helper.c:854
+#: transport-helper.c:855
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "helper %s không hỗ trợ --signed=if-asked"
 
-#: transport-helper.c:859
+#: transport-helper.c:860
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "helper %s không hỗ trợ --atomic"
 
-#: transport-helper.c:865
+#: transport-helper.c:866
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "helper %s không hỗ trợ “push-option”"
 
-#: transport-helper.c:963
+#: transport-helper.c:964
 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:968
+#: transport-helper.c:969
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "helper %s không hỗ trợ “force”"
 
-#: transport-helper.c:1015
+#: transport-helper.c:1016
 msgid "couldn't run fast-export"
 msgstr "không thể chạy fast-export"
 
-#: transport-helper.c:1020
+#: transport-helper.c:1021
 msgid "error while running fast-export"
 msgstr "gặp lỗi trong khi chạy fast-export"
 
-#: transport-helper.c:1045
+#: transport-helper.c:1046
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -7569,47 +8034,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:1118
+#: transport-helper.c:1119
 #, 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:1270
+#: transport-helper.c:1271
 #, c-format
 msgid "read(%s) failed"
 msgstr "read(%s) gặp lỗi"
 
-#: transport-helper.c:1297
+#: transport-helper.c:1298
 #, c-format
 msgid "write(%s) failed"
 msgstr "write(%s) gặp lỗi"
 
-#: transport-helper.c:1346
+#: transport-helper.c:1347
 #, c-format
 msgid "%s thread failed"
 msgstr "tuyến trình %s gặp lỗi"
 
-#: transport-helper.c:1350
+#: transport-helper.c:1351
 #, 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:1369 transport-helper.c:1373
+#: transport-helper.c:1370 transport-helper.c:1374
 #, 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:1410
+#: transport-helper.c:1411
 #, c-format
 msgid "%s process failed to wait"
 msgstr "xử lý %s gặp lỗi khi đợi"
 
-#: transport-helper.c:1414
+#: transport-helper.c:1415
 #, c-format
 msgid "%s process failed"
 msgstr "xử lý %s gặp lỗi"
 
-#: transport-helper.c:1432 transport-helper.c:1441
+#: transport-helper.c:1433 transport-helper.c:1442
 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"
 
@@ -7625,7 +8090,12 @@ msgstr "chế độ dị hình trong đề mục cây"
 msgid "empty filename in tree entry"
 msgstr "tên tập tin trống rỗng trong mục tin cây"
 
-#: tree-walk.c:118
+#: tree-walk.c:48
+#, c-format
+msgid "filename in tree entry contains backslash: '%s'"
+msgstr "tên tập tin trong mục tin cây có chứa ký tự gạch ngược: '%s'"
+
+#: tree-walk.c:124
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
@@ -7885,6 +8355,10 @@ msgstr ""
 "HOA/thường trên một hệ thống tập tin không phân biệt HOA/thường)\n"
 "và chỉ một từ cùng một nhóm xung đột là trong cây làm việc hiện tại:\n"
 
+#: unpack-trees.c:1441
+msgid "Updating index flags"
+msgstr "Đang cập nhật các cờ mục lục"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "tên lược đồ URL không hợp lệ, hoặc thiếu hậu tố “://”"
@@ -8499,138 +8973,138 @@ msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 "không thể %s: Mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:452
+#: compat/precompose_utf8.c:58 builtin/clone.c:455
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 
-#: builtin/add.c:25
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<các tùy chọn>] [--]  <pathspec>…"
 
-#: builtin/add.c:84
+#: builtin/add.c:87
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:89 builtin/commit.c:288
+#: builtin/add.c:92 builtin/commit.c:288
 msgid "updating files failed"
 msgstr "cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:99
+#: builtin/add.c:102
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:174
+#: builtin/add.c:177
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Đưa ra khỏi bệ phóng các thay đổi sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:234 builtin/rev-parse.c:897
+#: builtin/add.c:252 builtin/rev-parse.c:899
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:245
+#: builtin/add.c:263
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:249
+#: builtin/add.c:267
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:252
+#: builtin/add.c:270
 msgid "editing patch failed"
 msgstr "gặp lỗi khi sửa miếng vá"
 
-#: builtin/add.c:255
+#: builtin/add.c:273
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/add.c:257
+#: builtin/add.c:275
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Nên bỏ qua."
 
-#: builtin/add.c:262
+#: builtin/add.c:280
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể áp dụng miếng vá “%s”"
 
-#: builtin/add.c:270
+#: builtin/add.c:288
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:290 builtin/clean.c:910 builtin/fetch.c:162 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:223 builtin/push.c:547
-#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
+#: builtin/add.c:308 builtin/clean.c:910 builtin/fetch.c:163 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:223 builtin/push.c:548
+#: builtin/remote.c:1344 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:293
+#: builtin/add.c:311
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306
+#: builtin/add.c:312 builtin/checkout.c:1482 builtin/reset.c:307
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
-#: builtin/add.c:295
+#: builtin/add.c:313
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:296
+#: builtin/add.c:314
 msgid "allow adding otherwise ignored files"
 msgstr "cho phép thêm các tập tin bị bỏ qua khác"
 
-#: builtin/add.c:297
+#: builtin/add.c:315
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo dõi"
 
-#: builtin/add.c:298
+#: builtin/add.c:316
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "thường hóa lại EOL của các tập tin được theo dõi (ý là -u)"
 
-#: builtin/add.c:299
+#: builtin/add.c:317
 msgid "record only the fact that the path will be added later"
 msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
 
-#: builtin/add.c:300
+#: builtin/add.c:318
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "thêm các thay đổi từ tất cả các tập tin có cũng như không được theo dõi dấu "
 "vết"
 
-#: builtin/add.c:303
+#: builtin/add.c:321
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "lờ đi các đường dẫn bị gỡ bỏ trong cây thư mục làm việc (giống với --no-all)"
 
-#: builtin/add.c:305
+#: builtin/add.c:323
 msgid "don't add, only refresh the index"
 msgstr "không thêm, chỉ làm tươi mới bảng mục lục"
 
-#: builtin/add.c:306
+#: builtin/add.c:324
 msgid "just skip files which cannot be added because of errors"
 msgstr "chie bỏ qua những tập tin mà nó không thể được thêm vào bởi vì gặp lỗi"
 
-#: builtin/add.c:307
+#: builtin/add.c:325
 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:1002
+#: builtin/add.c:327 builtin/update-index.c:1004
 msgid "override the executable bit of the listed files"
 msgstr "ghi đè lên bít thi hành của các tập tin được liệt kê"
 
-#: builtin/add.c:311
+#: builtin/add.c:329
 msgid "warn when adding an embedded repository"
 msgstr "cảnh báo khi thêm một kho nhúng"
 
-#: builtin/add.c:326
+#: builtin/add.c:347
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -8661,39 +9135,60 @@ msgstr ""
 "\n"
 "Xem \"git help submodule\" để biết thêm chi tiết."
 
-#: builtin/add.c:354
+#: builtin/add.c:375
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "thêm cần một kho git nhúng: %s"
 
-#: builtin/add.c:372
+#: builtin/add.c:393
 #, c-format
 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:379
+#: builtin/add.c:400
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:419
+#: builtin/add.c:428 builtin/commit.c:348
+#| msgid "--first-parent is incompatible with --bisect"
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr "--pathspec-from-file xung khắc với --interactive/--patch"
+
+#: builtin/add.c:434
+#| msgid "--first-parent is incompatible with --bisect"
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr "--pathspec-from-file xung khắc với --edit"
+
+#: builtin/add.c:446
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:426
+#: builtin/add.c:449
 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:430
+#: builtin/add.c:453
 #, 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:445
+#: builtin/add.c:471 builtin/checkout.c:1648 builtin/commit.c:354
+#: builtin/reset.c:327
+#| msgid "--patch is incompatible with --{hard,mixed,soft}"
+msgid "--pathspec-from-file is incompatible with pathspec arguments"
+msgstr "--pathspec-from-file xung khắc với các tham số đặc tả đường dẫn"
+
+#: builtin/add.c:478 builtin/checkout.c:1660 builtin/commit.c:360
+#: builtin/reset.c:333
+msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgstr "--pathspec-file-nul cần --pathspec-from-file"
+
+#: builtin/add.c:482
 #, 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:446
+#: builtin/add.c:483
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ ý bạn là “git add .” phải không?\n"
@@ -8746,7 +9241,7 @@ msgstr "độ lệch múi giờ không hợp lệ"
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:948 builtin/clone.c:406
+#: builtin/am.c:948 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
@@ -8840,7 +9335,7 @@ 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:1695 builtin/commit.c:374
+#: builtin/am.c:1695 builtin/commit.c:394
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
@@ -8891,8 +9386,8 @@ 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:1924 builtin/am.c:1928 builtin/am.c:1940 builtin/reset.c:329
-#: builtin/reset.c:337
+#: builtin/am.c:1924 builtin/am.c:1928 builtin/am.c:1940 builtin/reset.c:346
+#: builtin/reset.c:354
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Không thể phân tích đối tượng “%s”."
@@ -8935,7 +9430,7 @@ 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:2165 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:297 builtin/stash.c:812
+#: builtin/repack.c:304 builtin/stash.c:811
 msgid "be quiet"
 msgstr "im lặng"
 
@@ -8978,12 +9473,12 @@ msgstr "cắt mọi thứ trước dòng scissors"
 msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
-#: builtin/am.c:2203 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:883 builtin/merge.c:249
-#: builtin/pull.c:160 builtin/pull.c:219 builtin/rebase.c:1442
-#: builtin/repack.c:308 builtin/repack.c:312 builtin/repack.c:314
+#: builtin/am.c:2203 builtin/commit.c:1386 builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:676 builtin/grep.c:883 builtin/merge.c:249
+#: builtin/pull.c:160 builtin/pull.c:219 builtin/rebase.c:1469
+#: builtin/repack.c:315 builtin/repack.c:319 builtin/repack.c:321
 #: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
-#: parse-options.h:150 parse-options.h:171 parse-options.h:312
+#: parse-options.h:154 parse-options.h:175 parse-options.h:316
 msgid "n"
 msgstr "n"
 
@@ -9032,13 +9527,13 @@ msgstr "nói dối về ngày chuyển giao"
 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:2241 builtin/commit-tree.c:120 builtin/commit.c:1511
-#: builtin/merge.c:286 builtin/pull.c:194 builtin/rebase.c:490
-#: builtin/rebase.c:1483 builtin/revert.c:117 builtin/tag.c:418
+#: builtin/am.c:2241 builtin/commit-tree.c:120 builtin/commit.c:1507
+#: builtin/merge.c:286 builtin/pull.c:194 builtin/rebase.c:509
+#: builtin/rebase.c:1513 builtin/revert.c:117 builtin/tag.c:418
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/am.c:2242 builtin/rebase.c:491 builtin/rebase.c:1484
+#: builtin/am.c:2242 builtin/rebase.c:510 builtin/rebase.c:1514
 msgid "GPG-sign commits"
 msgstr "Các lần chuyển giao ký-GPG"
 
@@ -9199,7 +9694,7 @@ msgstr "Chúng tôi đang không bisect.\n"
 msgid "'%s' is not a valid commit"
 msgstr "“%s” không phải một lần chuyển giao hợp lệ"
 
-#: builtin/bisect--helper.c:174
+#: builtin/bisect--helper.c:172
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
@@ -9207,27 +9702,27 @@ msgstr ""
 "không thể lấy ra HEAD nguyên thủy của “%s”. Hãy thử “git bisect reset <lần-"
 "chuyển-giao>”."
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:216
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "Đối số bisect_write sai: %s"
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:221
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "không thể lấy oid của điểm xét duyệt “%s”"
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:233
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "không thể mở tập tin “%s”"
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:259
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "Lệnh không hợp lệ: bạn hiện đang ở một bisect %s/%s"
 
-#: builtin/bisect--helper.c:285
+#: builtin/bisect--helper.c:286
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
@@ -9236,7 +9731,7 @@ msgstr ""
 "Bạn phải chỉ cho tôi ít nhất một điểm %s và một %s.\n"
 "Bạn có thể sử dụng \"git bisect %s\" và \"git bisect %s\" cho cái đó."
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:290
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -9247,7 +9742,7 @@ msgstr ""
 "Bạn sau đó cần phải chỉ cho tôi ít nhất một điểm xét duyệt %s và một %s.\n"
 "Bạn có thể sử dụng \"git bisect %s\" và \"git bisect %s\" cho chúng."
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:322
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "chỉ thực hiện việc bisect với một lần chuyển giao %s"
@@ -9256,15 +9751,15 @@ msgstr "chỉ thực hiện việc bisect với một lần chuyển giao %s"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:330
 msgid "Are you sure [Y/n]? "
 msgstr "Bạn có chắc chắn chưa [Y/n]? "
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:377
 msgid "no terms defined"
 msgstr "chưa định nghĩa thời kỳ nào"
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:380
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
@@ -9273,7 +9768,7 @@ msgstr ""
 "Bạn hiện tại đang ở thời kỳ %s cho tình trạng cũ\n"
 "và %s cho tình trạng mới.\n"
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:390
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -9282,113 +9777,113 @@ msgstr ""
 "tham số không hợp lệ %s cho “git bisect terms”.\n"
 "Các tùy chọn hỗ trợ là: --term-good|--term-old và --term-bad|--term-new."
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:476
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr "tùy chọn không được thừa nhận: “%s”"
 
-#: builtin/bisect--helper.c:479
+#: builtin/bisect--helper.c:480
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr "“%s” không có vẻ như là một điểm xét duyệt hợp lệ"
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:512
 msgid "bad HEAD - I need a HEAD"
 msgstr "sai HEAD - Tôi cần một HEAD"
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:527
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr "lấy ra “%s” ra gặp lỗi. Hãy thử \"git bisect reset <nhánh_hợp_lệ>\"."
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:548
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "sẽ không di chuyển nửa bước trên cây được cg-seek"
 
-#: builtin/bisect--helper.c:550
+#: builtin/bisect--helper.c:551
 msgid "bad HEAD - strange symbolic ref"
 msgstr "sai HEAD - tham chiếu mềm kỳ lạ"
 
-#: builtin/bisect--helper.c:574
+#: builtin/bisect--helper.c:575
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "refspec không hợp lệ: “%s”"
 
-#: builtin/bisect--helper.c:630
+#: builtin/bisect--helper.c:631
 msgid "perform 'git bisect next'"
 msgstr "thực hiện “git bisect next”"
 
-#: builtin/bisect--helper.c:632
+#: builtin/bisect--helper.c:633
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "ghi thời kỳ vào .git/BISECT_TERMS"
 
-#: builtin/bisect--helper.c:634
+#: builtin/bisect--helper.c:635
 msgid "cleanup the bisection state"
 msgstr "dọn dẹp tình trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:636
+#: builtin/bisect--helper.c:637
 msgid "check for expected revs"
 msgstr "kiểm tra cho điểm xem xét cần dùng"
 
-#: builtin/bisect--helper.c:638
+#: builtin/bisect--helper.c:639
 msgid "reset the bisection state"
 msgstr "đặt lại trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:640
+#: builtin/bisect--helper.c:641
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "ghi ra tình trạng di chuyển nửa bước trong BISECT_LOG"
 
-#: builtin/bisect--helper.c:642
+#: builtin/bisect--helper.c:643
 msgid "check and set terms in a bisection state"
 msgstr "kiểm tra và đặt thời điểm trong di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:644
+#: builtin/bisect--helper.c:645
 msgid "check whether bad or good terms exist"
 msgstr "kiểm tra xem các thời điểm xấu/tốt có tồn tại không"
 
-#: builtin/bisect--helper.c:646
+#: builtin/bisect--helper.c:647
 msgid "print out the bisect terms"
 msgstr "in ra các thời điểm di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:648
+#: builtin/bisect--helper.c:649
 msgid "start the bisect session"
 msgstr "bắt đầu phiên di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:650
+#: builtin/bisect--helper.c:651
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr ""
 "cập nhật BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao hiện hành"
 
-#: builtin/bisect--helper.c:652
+#: builtin/bisect--helper.c:653
 msgid "no log for BISECT_WRITE"
 msgstr "không có nhật ký cho BISECT_WRITE"
 
-#: builtin/bisect--helper.c:669
+#: builtin/bisect--helper.c:670
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms cần hai tham số"
 
-#: builtin/bisect--helper.c:673
+#: builtin/bisect--helper.c:674
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state không nhận đối số"
 
-#: builtin/bisect--helper.c:680
+#: builtin/bisect--helper.c:681
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 "--bisect-reset requires không nhận đối số cũng không nhận lần chuyển giao"
 
-#: builtin/bisect--helper.c:684
+#: builtin/bisect--helper.c:685
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write cần 4 hoặc 5 tham số"
 
-#: builtin/bisect--helper.c:690
+#: builtin/bisect--helper.c:691
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms cần 3 tham số"
 
-#: builtin/bisect--helper.c:696
+#: builtin/bisect--helper.c:697
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check cần 2 hoặc 3 tham số"
 
-#: builtin/bisect--helper.c:702
+#: builtin/bisect--helper.c:703
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms cần 0 hoặc 1 tham số"
 
@@ -9488,7 +9983,7 @@ msgstr "Hiển thị thư điện tử của tác giả thay vì tên (Mặc đ
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:860 builtin/log.c:1630
+#: builtin/blame.c:860 builtin/log.c:1702
 msgid "rev"
 msgstr "rev"
 
@@ -9508,44 +10003,40 @@ msgstr "siêu dữ liệu dư thừa màu từ dòng trước khác hẳn"
 msgid "color lines by age"
 msgstr "các dòng màu theo tuổi"
 
-#: builtin/blame.c:870
-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:872
+#: builtin/blame.c:864
 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:873
+#: builtin/blame.c:865
 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:874
+#: builtin/blame.c:866
 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:875 builtin/blame.c:876
+#: builtin/blame.c:867 builtin/blame.c:868
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:867
 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:876
+#: builtin/blame.c:868
 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:877
+#: builtin/blame.c:869
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:869
 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:929
+#: builtin/blame.c:921
 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"
@@ -9558,17 +10049,17 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:980
+#: builtin/blame.c:972
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:1087
+#: builtin/blame.c:1079
 #, 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:1133
+#: builtin/blame.c:1125
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
@@ -9777,7 +10268,7 @@ msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:626 builtin/rebase.c:486
+#: builtin/branch.c:626 builtin/rebase.c:505
 msgid "upstream"
 msgstr "thượng nguồn"
 
@@ -9786,8 +10277,8 @@ msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
 #: builtin/branch.c:627
-msgid "Unset the upstream info"
-msgstr "Bỏ đặt thông tin thượng nguồn"
+msgid "unset the upstream info"
+msgstr "bỏ đặt thông tin thượng nguồn"
 
 #: builtin/branch.c:628
 msgid "use colored output"
@@ -9888,7 +10379,7 @@ msgstr "sắp xếp và lọc là phân biệt HOA thường"
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/branch.c:684 builtin/clone.c:760
+#: builtin/branch.c:684 builtin/clone.c:784
 msgid "HEAD not found below refs/heads!"
 msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
 
@@ -9978,19 +10469,65 @@ msgstr ""
 "tùy chọn --set-upstream đã không còn được hỗ trợ nữa. Vui lòng dùng “--"
 "track” hoặc “--set-upstream-to” để thay thế."
 
-#: builtin/bundle.c:45
+#: builtin/bundle.c:15 builtin/bundle.c:23
+#| msgid "git remote add [<options>] <name> <url>"
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr "git bundle create [<các tùy chọn>] <tập_tin> <git-rev-list args>"
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr "git bundle verify [<các tùy chọn>] <tập-tin>"
+
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr "git bundle list-heads <tập tin> [<tên tham chiếu>...]"
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr "git bundle unbundle <tập tin> [<tên tham chiếu>...]"
+
+#: builtin/bundle.c:66 builtin/pack-objects.c:3228
+msgid "do not show progress meter"
+msgstr "không hiển thị bộ đo tiến trình"
+
+#: builtin/bundle.c:68 builtin/pack-objects.c:3230
+msgid "show progress meter"
+msgstr "hiển thị bộ đo tiến trình"
+
+#: builtin/bundle.c:70 builtin/pack-objects.c:3232
+msgid "show progress meter during object writing phase"
+msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
+
+#: builtin/bundle.c:73 builtin/pack-objects.c:3235
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
+
+#: builtin/bundle.c:93
+msgid "Need a repository to create a bundle."
+msgstr "Cần một kho chứa để có thể tạo một bundle."
+
+#: builtin/bundle.c:104
+msgid "do not show bundle details"
+msgstr "không hiển thị chi tiết bundle (bó)"
+
+#: builtin/bundle.c:119
 #, c-format
 msgid "%s is okay\n"
 msgstr "“%s” tốt\n"
 
-#: builtin/bundle.c:58
-msgid "Need a repository to create a bundle."
-msgstr "Cần một kho chứa để có thể tạo một bundle."
-
-#: builtin/bundle.c:62
+#: builtin/bundle.c:160
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để có thể giải nén một bundle."
 
+#: builtin/bundle.c:168 builtin/remote.c:1609
+msgid "be verbose; must be placed before a subcommand"
+msgstr "chi tiết; phải được đặt trước một lệnh-con"
+
+#: builtin/bundle.c:190 builtin/remote.c:1640
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "Không hiểu câu lệnh con: %s"
+
 #: builtin/cat-file.c:595
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
@@ -10039,7 +10576,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:645 git-submodule.sh:936
+#: builtin/cat-file.c:645 git-submodule.sh:992
 msgid "blob"
 msgstr "blob"
 
@@ -10100,7 +10637,7 @@ 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:1433 builtin/gc.c:537
+#: builtin/check-ignore.c:21 builtin/checkout.c:1435 builtin/gc.c:537
 #: builtin/worktree.c:506
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
@@ -10192,8 +10729,8 @@ msgid "write the content to temporary files"
 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:1373 builtin/submodule--helper.c:1376
-#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857
+#: builtin/submodule--helper.c:1385 builtin/submodule--helper.c:1388
+#: builtin/submodule--helper.c:1396 builtin/submodule--helper.c:1882
 #: builtin/worktree.c:679
 msgid "string"
 msgstr "chuỗi"
@@ -10222,96 +10759,96 @@ msgstr "git switch [<các tùy chọn>] [<nhánh>]"
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<các tùy chọn>] [--source=<nhánh>] <tập tin>..."
 
-#: builtin/checkout.c:173 builtin/checkout.c:212
+#: builtin/checkout.c:175 builtin/checkout.c:214
 #, 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:175 builtin/checkout.c:214
+#: builtin/checkout.c:177 builtin/checkout.c:216
 #, 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:191
+#: builtin/checkout.c:193
 #, 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:241
+#: builtin/checkout.c:243
 #, 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:259
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:275
+#: builtin/checkout.c:277
 #, 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:375
+#: builtin/checkout.c:377
 #, 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:380
+#: builtin/checkout.c:382
 #, 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:387
+#: builtin/checkout.c:389
 #, 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:410 builtin/checkout.c:413 builtin/checkout.c:416
-#: builtin/checkout.c:420
+#: builtin/checkout.c:412 builtin/checkout.c:415 builtin/checkout.c:418
+#: builtin/checkout.c:422
 #, 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:423 builtin/checkout.c:426
+#: builtin/checkout.c:425 builtin/checkout.c:428
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "không được dùng “%s” với %s"
 
-#: builtin/checkout.c:430
+#: builtin/checkout.c:432
 #, 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:434
+#: builtin/checkout.c:436
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "không chỉ định '%s' không '%s'"
 
-#: builtin/checkout.c:438
+#: builtin/checkout.c:440
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "phải có “%s” khi không chỉ định “%s”"
 
-#: builtin/checkout.c:443 builtin/checkout.c:448
+#: builtin/checkout.c:445 builtin/checkout.c:450
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "'%s' hay '%s' không thể được sử dụng với %s"
 
-#: builtin/checkout.c:507 builtin/checkout.c:514
+#: builtin/checkout.c:509 builtin/checkout.c:516
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:680
+#: builtin/checkout.c:682 builtin/sparse-checkout.c:82
 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:730
+#: builtin/checkout.c:732
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10321,50 +10858,50 @@ msgstr ""
 "sau:\n"
 "%s"
 
-#: builtin/checkout.c:833
+#: builtin/checkout.c:835
 #, 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:875
+#: builtin/checkout.c:877
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:879 builtin/clone.c:713
+#: builtin/checkout.c:881 builtin/clone.c:716
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:883
+#: builtin/checkout.c:885
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:886
+#: builtin/checkout.c:888
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:892
 #, 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:892 builtin/checkout.c:1289
+#: builtin/checkout.c:894 builtin/checkout.c:1291
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:896
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:945
+#: builtin/checkout.c:947
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:953
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10383,7 +10920,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:972
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -10404,28 +10941,28 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:1005
+#: builtin/checkout.c:1007
 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:1009
+#: builtin/checkout.c:1011
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:1049 builtin/checkout.c:1284
+#: builtin/checkout.c:1051 builtin/checkout.c:1286
 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:1176
+#: builtin/checkout.c:1178
 msgid "only one reference expected"
 msgstr "chỉ cần một tham chiếu"
 
-#: builtin/checkout.c:1193
+#: builtin/checkout.c:1195
 #, 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:1230
+#: builtin/checkout.c:1232
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10434,37 +10971,37 @@ 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:1243 builtin/worktree.c:290 builtin/worktree.c:455
+#: builtin/checkout.c:1245 builtin/worktree.c:290 builtin/worktree.c:455
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1256 builtin/checkout.c:1618
+#: builtin/checkout.c:1258 builtin/checkout.c:1622
 #, 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:1303
+#: builtin/checkout.c:1305
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được thẻ “%s”"
 
-#: builtin/checkout.c:1305
+#: builtin/checkout.c:1307
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được nhánh máy phục vụ “%s”"
 
-#: builtin/checkout.c:1306 builtin/checkout.c:1314
+#: builtin/checkout.c:1308 builtin/checkout.c:1316
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1309
+#: builtin/checkout.c:1311
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1325
+#: builtin/checkout.c:1327
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -10472,7 +11009,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi đang hòa trộn\n"
 "Cân nhắc dung \"git merge --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1329
+#: builtin/checkout.c:1331
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -10480,7 +11017,7 @@ msgstr ""
 "không thể chuyển nhanh ở giữa một phiên am\n"
 "Cân nhắc dùng \"git am --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1333
+#: builtin/checkout.c:1335
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -10488,7 +11025,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi cải tổ\n"
 "Cân nhắc dùng \"git rebase --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1337
+#: builtin/checkout.c:1339
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -10496,7 +11033,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi  cherry-picking\n"
 "Cân nhắc dùng \"git cherry-pick --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1341
+#: builtin/checkout.c:1343
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -10504,126 +11041,123 @@ msgstr ""
 "không thể chuyển nhánh trong khi hoàn nguyên\n"
 "Cân nhắc dùng \"git revert --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1347
 msgid "you are switching branch while bisecting"
 msgstr ""
 "bạn hiện tại đang thực hiện việc chuyển nhánh trong khi đang di chuyển nửa "
 "bước"
 
-#: builtin/checkout.c:1352
+#: builtin/checkout.c:1354
 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:1355 builtin/checkout.c:1359 builtin/checkout.c:1363
+#: builtin/checkout.c:1357 builtin/checkout.c:1361 builtin/checkout.c:1365
 #, 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:1367 builtin/checkout.c:1370 builtin/checkout.c:1373
-#: builtin/checkout.c:1378 builtin/checkout.c:1383
+#: builtin/checkout.c:1369 builtin/checkout.c:1372 builtin/checkout.c:1375
+#: builtin/checkout.c:1380 builtin/checkout.c:1385
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1380
+#: builtin/checkout.c:1382
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "“%s” không thể nhận <điểm-đầu>"
 
-#: builtin/checkout.c:1388
+#: builtin/checkout.c:1390
 #, 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:1395
+#: builtin/checkout.c:1397
 msgid "missing branch or commit argument"
 msgstr "thiếu tham số là nhánh hoặc lần chuyển giao"
 
-#: builtin/checkout.c:1437 builtin/clone.c:90 builtin/commit-graph.c:59
-#: builtin/commit-graph.c:180 builtin/fetch.c:166 builtin/merge.c:285
-#: builtin/pull.c:138 builtin/push.c:562 builtin/send-pack.c:174
+#: builtin/checkout.c:1439 builtin/clone.c:91 builtin/commit-graph.c:52
+#: builtin/commit-graph.c:113 builtin/fetch.c:167 builtin/merge.c:285
+#: builtin/multi-pack-index.c:27 builtin/pull.c:138 builtin/push.c:563
+#: 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:1438
+#: builtin/checkout.c:1440
 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:1439 builtin/log.c:1618 parse-options.h:318
+#: builtin/checkout.c:1441 builtin/log.c:1690 parse-options.h:322
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1442
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1452 builtin/worktree.c:503
+#: builtin/checkout.c:1454 builtin/worktree.c:503
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1453
+#: builtin/checkout.c:1455
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1455
+#: builtin/checkout.c:1457
 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:1457
+#: builtin/checkout.c:1459
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1459
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1459 builtin/merge.c:288
+#: builtin/checkout.c:1461 builtin/merge.c:288
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1462
+#: builtin/checkout.c:1464
 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:1475
+#: builtin/checkout.c:1477
 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:1478
+#: builtin/checkout.c:1480
 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:1482
+#: builtin/checkout.c:1484
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục rải rác"
 
-#: builtin/checkout.c:1533
+#: builtin/checkout.c:1537
 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:1536
+#: builtin/checkout.c:1540
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p và --overlay loại từ lẫn nhau"
 
-#: builtin/checkout.c:1573
+#: builtin/checkout.c:1577
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1578
+#: builtin/checkout.c:1582
 msgid "missing branch name; try -b"
 msgstr "thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1611
+#: builtin/checkout.c:1615
 #, c-format
 msgid "could not resolve %s"
 msgstr "không thể phân giải “%s”"
 
-#: builtin/checkout.c:1623
-msgid "you must specify path(s) to restore"
-msgstr "bạn phải chỉ định các thư mục muốn hồi phục"
-
 #: builtin/checkout.c:1631
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
@@ -10640,7 +11174,17 @@ msgstr ""
 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:1646
+#: builtin/checkout.c:1651
+#| msgid "--first-parent is incompatible with --bisect"
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr "--pathspec-from-file xung khắc với --detach"
+
+#: builtin/checkout.c:1654 builtin/reset.c:324
+#| msgid "--first-parent is incompatible with --bisect"
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr "--pathspec-from-file xung khắc với --patch"
+
+#: builtin/checkout.c:1665
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -10648,7 +11192,11 @@ 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:1666
+#: builtin/checkout.c:1670
+msgid "you must specify path(s) to restore"
+msgstr "bạn phải chỉ định các thư mục muốn hồi phục"
+
+#: builtin/checkout.c:1689
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -10678,65 +11226,65 @@ msgstr ""
 "chưa rõ ràng, ví dụ máy chủ “origin”, cân nhắc cài đặt\n"
 "checkout.defaultRemote=origin trong cấu hình của bạn."
 
-#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1742
-#: builtin/checkout.c:1744 builtin/clone.c:120 builtin/remote.c:169
+#: builtin/checkout.c:1714 builtin/checkout.c:1716 builtin/checkout.c:1765
+#: builtin/checkout.c:1767 builtin/clone.c:121 builtin/remote.c:169
 #: builtin/remote.c:171 builtin/worktree.c:499 builtin/worktree.c:501
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1692
+#: builtin/checkout.c:1715
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1694
+#: builtin/checkout.c:1717
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1695
+#: builtin/checkout.c:1718
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1720
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "đoán thứ hai 'git checkout <không-nhánh-nào-như-vậy>' (mặc định)"
 
-#: builtin/checkout.c:1698
+#: builtin/checkout.c:1721
 msgid "use overlay mode (default)"
 msgstr "dùng chế độ che phủ (mặc định)"
 
-#: builtin/checkout.c:1743
+#: builtin/checkout.c:1766
 msgid "create and switch to a new branch"
 msgstr "tạo và chuyển đến một nhánh mới"
 
-#: builtin/checkout.c:1745
+#: builtin/checkout.c:1768
 msgid "create/reset and switch to a branch"
 msgstr "tạo/đặt_lại và chuyển đến một nhánh"
 
-#: builtin/checkout.c:1747
+#: builtin/checkout.c:1770
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1749
+#: builtin/checkout.c:1772
 msgid "throw away local modifications"
 msgstr "vứt bỏ các sửa đổi địa phương"
 
-#: builtin/checkout.c:1781
+#: builtin/checkout.c:1804
 msgid "which tree-ish to checkout from"
 msgstr "lấy ra từ tree-ish nào"
 
-#: builtin/checkout.c:1783
+#: builtin/checkout.c:1806
 msgid "restore the index"
 msgstr "phục hồi bảng mục lục"
 
-#: builtin/checkout.c:1785
+#: builtin/checkout.c:1808
 msgid "restore the working tree (default)"
 msgstr "phục hồi cây làm việc (mặc định)"
 
-#: builtin/checkout.c:1787
+#: builtin/checkout.c:1810
 msgid "ignore unmerged entries"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s"
 
-#: builtin/checkout.c:1788
+#: builtin/checkout.c:1811
 msgid "use overlay mode"
 msgstr "dùng chế độ che phủ"
 
@@ -10777,7 +11325,7 @@ msgstr "gặp lỗi khi gỡ bỏ %s"
 msgid "could not lstat %s\n"
 msgstr "không thể lấy thông tin thống kê đầy đủ của %s\n"
 
-#: builtin/clean.c:301 git-add--interactive.perl:593
+#: builtin/clean.c:301 git-add--interactive.perl:595
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10790,7 +11338,7 @@ msgstr ""
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
 "           - (để trống) không chọn gì cả\n"
 
-#: builtin/clean.c:305 git-add--interactive.perl:602
+#: builtin/clean.c:305 git-add--interactive.perl:604
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10811,8 +11359,8 @@ msgstr ""
 "*          - chọn tất\n"
 "           - (để trống) kết thúc việc chọn\n"
 
-#: builtin/clean.c:521 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
+#: builtin/clean.c:521 git-add--interactive.perl:570
+#: git-add--interactive.perl:575
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hả (%s)?\n"
@@ -10837,11 +11385,6 @@ msgstr "Chọn mục muốn xóa"
 msgid "Remove %s [y/N]? "
 msgstr "Xóa bỏ “%s” [y/N]? "
 
-#: builtin/clean.c:787 git-add--interactive.perl:1763
-#, c-format
-msgid "Bye.\n"
-msgstr "Tạm biệt.\n"
-
 #: builtin/clean.c:795
 msgid ""
 "clean               - start cleaning\n"
@@ -10860,14 +11403,6 @@ msgstr ""
 "help                - hiển thị chính trợ giúp này\n"
 "?                   - trợ giúp dành cho chọn bằng cách nhắc"
 
-#: builtin/clean.c:822 git-add--interactive.perl:1849
-msgid "*** Commands ***"
-msgstr "*** Lệnh ***"
-
-#: builtin/clean.c:823 git-add--interactive.perl:1846
-msgid "What now"
-msgstr "Giờ thì sao"
-
 #: builtin/clean.c:831
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
@@ -10894,8 +11429,8 @@ msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
 #: builtin/clean.c:915 builtin/describe.c:548 builtin/describe.c:550
-#: builtin/grep.c:901 builtin/log.c:176 builtin/log.c:178
-#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/grep.c:901 builtin/log.c:177 builtin/log.c:179
+#: builtin/ls-files.c:557 builtin/name-rev.c:464 builtin/name-rev.c:466
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "mẫu"
@@ -10936,158 +11471,162 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các tùy chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:93
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:93 builtin/clone.c:95 builtin/init-db.c:489
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:98
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:100
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:102
 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:103
+#: builtin/clone.c:104
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:106
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr "đặc-tả-đường-dẫn"
 
-#: builtin/clone.c:106
+#: builtin/clone.c:107
 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:110
 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:486
+#: builtin/clone.c:111 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:111 builtin/init-db.c:487
+#: builtin/clone.c:112 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:1380
-#: builtin/submodule--helper.c:1860
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1885
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:117 builtin/submodule--helper.c:1382
-#: builtin/submodule--helper.c:1862
+#: builtin/clone.c:118 builtin/submodule--helper.c:1394
+#: builtin/submodule--helper.c:1887
 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:3294 builtin/repack.c:320
+#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3294 builtin/repack.c:327
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:120
 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:122
 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:124
 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:167 builtin/grep.c:840
+#: builtin/clone.c:125 builtin/fetch.c:168 builtin/grep.c:840
 #: builtin/pull.c:227
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:126
 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:169 builtin/pack-objects.c:3283
+#: builtin/clone.c:127 builtin/fetch.c:170 builtin/pack-objects.c:3283
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:128
 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:171 builtin/fetch.c:194
-#: builtin/rebase.c:1417
+#: builtin/clone.c:129 builtin/fetch.c:172 builtin/fetch.c:195
+#: builtin/rebase.c:1445
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:129 builtin/fetch.c:172
+#: builtin/clone.c:130 builtin/fetch.c:173
 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:132
 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:134
 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:136
 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:495
+#: builtin/clone.c:137 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:137 builtin/init-db.c:496
+#: builtin/clone.c:138 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:139
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:139
+#: builtin/clone.c:140
 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:141 builtin/fetch.c:189 builtin/ls-remote.c:76
-#: builtin/push.c:572 builtin/send-pack.c:172
+#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76
+#: builtin/push.c:573 builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/clone.c:141 builtin/fetch.c:189 builtin/ls-remote.c:76
-#: builtin/push.c:572 builtin/send-pack.c:173
+#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76
+#: builtin/push.c:573 builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/clone.c:142 builtin/fetch.c:190 builtin/pull.c:240
-#: builtin/push.c:573
+#: builtin/clone.c:143 builtin/fetch.c:191 builtin/pull.c:240
+#: builtin/push.c:574
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:144 builtin/fetch.c:192 builtin/pull.c:243
-#: builtin/push.c:575
+#: builtin/clone.c:145 builtin/fetch.c:193 builtin/pull.c:243
+#: builtin/push.c:576
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
-#: builtin/clone.c:148
+#: builtin/clone.c:149
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "mọi mô-đun-con nhân bản sẽ dung nhánh theo dõi máy chủ của chúng"
 
-#: builtin/clone.c:284
+#: builtin/clone.c:151
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr "khởi tạo tập tin sparse-checkout để bao gồm chỉ các tập tin ở gốc"
+
+#: builtin/clone.c:287
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -11095,42 +11634,42 @@ msgstr ""
 "Không đoán được thư mục tên là gì.\n"
 "Vui lòng chỉ định tên một thư mục trên dòng lệnh"
 
-#: builtin/clone.c:337
+#: builtin/clone.c:340
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "thông tin: không thể thêm thay thế cho “%s”: %s\n"
 
-#: builtin/clone.c:410
+#: builtin/clone.c:413
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s có tồn tại nhưng lại không phải là một thư mục"
 
-#: builtin/clone.c:427
+#: builtin/clone.c:430
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "gặp lỗi khi bắt đầu lặp qua “%s”"
 
-#: builtin/clone.c:457
+#: builtin/clone.c:460
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "gặp lỗi khi tạo được liên kết mềm %s"
 
-#: builtin/clone.c:461
+#: builtin/clone.c:464
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi sao chép tập tin và “%s”"
 
-#: builtin/clone.c:466
+#: builtin/clone.c:469
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "gặp lỗi khi lặp qua “%s”"
 
-#: builtin/clone.c:491
+#: builtin/clone.c:494
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:505
+#: builtin/clone.c:508
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -11140,95 +11679,99 @@ msgstr ""
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
 "và thử lấy ra với lệnh 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:582
+#: builtin/clone.c:585
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Không tìm thấy nhánh máy chủ %s để nhân bản (clone)."
 
-#: builtin/clone.c:701
+#: builtin/clone.c:704
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:751
+#: builtin/clone.c:752
+msgid "failed to initialize sparse-checkout"
+msgstr "gặp lỗi khi khởi tạo sparse-checkout"
+
+#: builtin/clone.c:775
 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:782
+#: builtin/clone.c:806
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:832
+#: builtin/clone.c:856
 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:895
+#: builtin/clone.c:919
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:897
+#: builtin/clone.c:921
 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:937 builtin/receive-pack.c:1948
+#: builtin/clone.c:959 builtin/receive-pack.c:1948
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:941
+#: builtin/clone.c:963
 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:954
+#: builtin/clone.c:976
 #, 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:957
+#: builtin/clone.c:979
 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:970
+#: builtin/clone.c:992
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:976 builtin/fetch.c:1790
+#: builtin/clone.c:998 builtin/fetch.c:1787
 #, 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:986
+#: builtin/clone.c:1008
 #, 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:996
+#: builtin/clone.c:1018
 #, 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:1011 builtin/clone.c:1032 builtin/difftool.c:271
-#: builtin/log.c:1785 builtin/worktree.c:302 builtin/worktree.c:334
+#: builtin/clone.c:1033 builtin/clone.c:1054 builtin/difftool.c:271
+#: builtin/log.c:1866 builtin/worktree.c:302 builtin/worktree.c:334
 #, 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:1016
+#: builtin/clone.c:1038
 #, 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:1036
+#: builtin/clone.c:1058
 #, 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:1038
+#: builtin/clone.c:1060
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1062
+#: builtin/clone.c:1084
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -11236,41 +11779,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:1123
+#: builtin/clone.c:1148
 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:1125
+#: builtin/clone.c:1150
 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:1127
+#: builtin/clone.c:1152
 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:1129
+#: builtin/clone.c:1154
 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:1132
+#: builtin/clone.c:1157
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1137
+#: builtin/clone.c:1162
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1212 builtin/clone.c:1220
+#: builtin/clone.c:1237 builtin/clone.c:1245
 #, 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:1223
+#: builtin/clone.c:1248
 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."
 
@@ -11319,7 +11862,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "cha mẹ bị trùng lặp %s đã bị bỏ qua"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:526
 #, c-format
 msgid "not a valid object name %s"
 msgstr "không phải là tên đối tượng hợp lệ “%s”"
@@ -11347,13 +11890,13 @@ msgstr "cha-mẹ"
 msgid "id of a parent commit object"
 msgstr "mã số của đối tượng chuyển giao cha mẹ"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270
+#: builtin/commit-tree.c:114 builtin/commit.c:1496 builtin/merge.c:270
 #: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1469
 #: builtin/tag.c:412
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1500
+#: builtin/commit-tree.c:115 builtin/commit.c:1496
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
@@ -11361,7 +11904,7 @@ msgstr "chú thích của lần chuyển giao"
 msgid "read commit log message from file"
 msgstr "đọc chú thích nhật ký lần chuyển giao từ tập tin"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287
+#: builtin/commit-tree.c:121 builtin/commit.c:1508 builtin/merge.c:287
 #: builtin/pull.c:195 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "Ký lần chuyển giao dùng GPG"
@@ -11440,59 +11983,68 @@ msgstr ""
 msgid "failed to unpack HEAD tree object"
 msgstr "gặp lỗi khi tháo dỡ HEAD đối tượng cây"
 
-#: builtin/commit.c:356
+#: builtin/commit.c:351
+#| msgid "paths '%s ...' with -a does not make sense"
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr "--pathspec-from-file với -a là không có ý nghĩa gì"
+
+#: builtin/commit.c:364
+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:376
 msgid "unable to create temporary index"
 msgstr "không thể tạo bảng mục lục tạm thời"
 
-#: builtin/commit.c:362
+#: builtin/commit.c:382
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:376
+#: builtin/commit.c:396
 msgid "unable to update temporary index"
 msgstr "không thể cập nhật bảng mục lục tạm thời"
 
-#: builtin/commit.c:378
+#: builtin/commit.c:398
 msgid "Failed to update main cache tree"
 msgstr "Gặp lỗi khi cập nhật cây bộ nhớ đệm"
 
-#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472
+#: builtin/commit.c:423 builtin/commit.c:446 builtin/commit.c:492
 msgid "unable to write new_index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới (new_index)"
 
-#: builtin/commit.c:455
+#: builtin/commit.c:475
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 "không thể thực hiện việc chuyển giao cục bộ trong khi đang được hòa trộn."
 
-#: builtin/commit.c:457
+#: builtin/commit.c:477
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "không thể thực hiện việc chuyển giao bộ phận trong khi đang cherry-pick."
 
-#: builtin/commit.c:465
+#: builtin/commit.c:485
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:484
+#: builtin/commit.c:504
 msgid "unable to write temporary index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục tạm thời"
 
-#: builtin/commit.c:582
+#: builtin/commit.c:602
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "lần chuyển giao “%s” thiếu phần tác giả ở đầu"
 
-#: builtin/commit.c:584
+#: builtin/commit.c:604
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "lần chuyển giao “%s” có phần tác giả ở đầu dị dạng"
 
-#: builtin/commit.c:603
+#: builtin/commit.c:623
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:656
+#: builtin/commit.c:676
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -11500,38 +12052,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:694 builtin/commit.c:727 builtin/commit.c:1072
+#: builtin/commit.c:714 builtin/commit.c:747 builtin/commit.c:1092
 #, 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:706 builtin/shortlog.c:319
+#: builtin/commit.c:726 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:708
+#: builtin/commit.c:728
 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:712
+#: builtin/commit.c:732
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:743 builtin/commit.c:759
+#: builtin/commit.c:763 builtin/commit.c:779
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:750
+#: builtin/commit.c:770
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:830
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:829
+#: builtin/commit.c:849
 #, c-format
 msgid ""
 "\n"
@@ -11546,7 +12098,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:834
+#: builtin/commit.c:854
 #, c-format
 msgid ""
 "\n"
@@ -11561,7 +12113,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:847
+#: builtin/commit.c:867
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11572,7 +12124,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:855
+#: builtin/commit.c:875
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11584,152 +12136,148 @@ 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:872
+#: builtin/commit.c:892
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:900
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:887
+#: builtin/commit.c:907
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:905
+#: builtin/commit.c:925
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:972
+#: builtin/commit.c:992
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:986 builtin/tag.c:275
+#: builtin/commit.c:1006 builtin/tag.c:275
 #, 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:1030
+#: builtin/commit.c:1050
 #, 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:1044
+#: builtin/commit.c:1064
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Chế độ bỏ qua không hợp lệ “%s”"
 
-#: builtin/commit.c:1062 builtin/commit.c:1304
+#: builtin/commit.c:1082 builtin/commit.c:1322
 #, 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:1102
+#: builtin/commit.c:1122
 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:1146
+#: builtin/commit.c:1166
 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:1155
+#: builtin/commit.c:1175
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1178
 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:1160
+#: builtin/commit.c:1180
 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:1163
+#: builtin/commit.c:1183
 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:1173
+#: builtin/commit.c:1193
 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:1175
+#: builtin/commit.c:1195
 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:1183
+#: builtin/commit.c:1203
 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:1200
+#: builtin/commit.c:1220
 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:1202
-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:1208
+#: builtin/commit.c:1226
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "các đường dẫn “%s …” với tùy chọn -a không hợp lý"
 
-#: builtin/commit.c:1339 builtin/commit.c:1523
+#: builtin/commit.c:1357 builtin/commit.c:1519
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1341 builtin/commit.c:1525
+#: builtin/commit.c:1359 builtin/commit.c:1521
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1361
 msgid "show stash information"
 msgstr "hiển thị thông tin về tạm cất"
 
-#: builtin/commit.c:1345 builtin/commit.c:1527
+#: builtin/commit.c:1363 builtin/commit.c:1523
 msgid "compute full ahead/behind values"
 msgstr "tính đầy đủ giá trị trước/sau"
 
-#: builtin/commit.c:1347
+#: builtin/commit.c:1365
 msgid "version"
 msgstr "phiên bản"
 
-#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:548
+#: builtin/commit.c:1365 builtin/commit.c:1525 builtin/push.c:549
 #: builtin/worktree.c:650
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1350 builtin/commit.c:1531
+#: builtin/commit.c:1368 builtin/commit.c:1527
 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:1353 builtin/commit.c:1534
+#: builtin/commit.c:1371 builtin/commit.c:1530
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
+#: builtin/commit.c:1373 builtin/commit.c:1377 builtin/commit.c:1533
 #: builtin/fast-export.c:1153 builtin/fast-export.c:1156
-#: builtin/fast-export.c:1159 builtin/rebase.c:1495 parse-options.h:332
+#: builtin/fast-export.c:1159 builtin/rebase.c:1525 parse-options.h:336
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1356 builtin/commit.c:1537
+#: builtin/commit.c:1374 builtin/commit.c:1533
 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:1360
+#: builtin/commit.c:1378
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -11737,11 +12285,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:1362 parse-options.h:188
+#: builtin/commit.c:1380 parse-options.h:192
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1381
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -11749,176 +12297,176 @@ 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:1365
+#: builtin/commit.c:1383
 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:1366
+#: builtin/commit.c:1384
 msgid "do not detect renames"
 msgstr "không dò tìm các tên thay đổi"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1386
 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:1388
+#: builtin/commit.c:1406
 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:1493
+#: builtin/commit.c:1489
 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:1494
+#: builtin/commit.c:1490
 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:1496
+#: builtin/commit.c:1492
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414
+#: builtin/commit.c:1493 builtin/merge.c:274 builtin/tag.c:414
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1494
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1494
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1499 builtin/gc.c:538
+#: builtin/commit.c:1495 builtin/gc.c:538
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1495
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503
-#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92
+#: builtin/commit.c:1497 builtin/commit.c:1498 builtin/commit.c:1499
+#: builtin/commit.c:1500 parse-options.h:328 ref-filter.h:92
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1497
 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:1502
+#: builtin/commit.c:1498
 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:1503
+#: builtin/commit.c:1499
 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:1504
+#: builtin/commit.c:1500
 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:1505
+#: builtin/commit.c:1501
 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:1506 builtin/log.c:1565 builtin/merge.c:289
+#: builtin/commit.c:1502 builtin/log.c:1634 builtin/merge.c:289
 #: builtin/pull.c:164 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1503
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1504
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1506
 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:1515
+#: builtin/commit.c:1511
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1512
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1517
+#: builtin/commit.c:1513
 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:1518
+#: builtin/commit.c:1514
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1515
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1516
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1517
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-commit và commit-msg"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1518
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1535
+#: builtin/commit.c:1531
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1536
+#: builtin/commit.c:1532
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1541
+#: builtin/commit.c:1539
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1543
+#: builtin/commit.c:1541
 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:1616
+#: builtin/commit.c:1614
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1621
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1640
 #, 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:1649
+#: builtin/commit.c:1647
 #, 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:1654
+#: builtin/commit.c:1652
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao; bạn đã không biên soạn phần chú thích "
 "(message).\n"
 
-#: builtin/commit.c:1688
+#: builtin/commit.c:1686
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -11929,22 +12477,14 @@ msgstr ""
 "có bị đầy quá hay quota (hạn nghạch đĩa cứng) bị vượt quá,\n"
 "và sau đó \"git restore --staged :/\" để khắc phục."
 
-#: builtin/commit-graph.c:11
-msgid "git commit-graph [--object-dir <objdir>]"
-msgstr "git commit-graph [--object-dir <objdir>]"
-
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
-msgid "git commit-graph read [--object-dir <objdir>]"
-msgstr "git commit-graph read [--object-dir <objdir>]"
-
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:17
 msgid ""
 "git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
 msgstr ""
 "git commit-graph verify [--object-dir </thư/mục/đối/tượng>] [--shallow] [--"
 "[no-]progress]"
 
-#: builtin/commit-graph.c:14 builtin/commit-graph.c:29
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:22
 msgid ""
 "git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
 "reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <split options>"
@@ -11953,63 +12493,62 @@ msgstr ""
 "split] [--reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <các "
 "tùy chọn chia tách>"
 
-#: builtin/commit-graph.c:55 builtin/commit-graph.c:107
-#: builtin/commit-graph.c:170 builtin/commit-graph.c:254 builtin/fetch.c:178
-#: builtin/log.c:1585
+#: builtin/commit-graph.c:48 builtin/commit-graph.c:103
+#: builtin/commit-graph.c:187 builtin/fetch.c:179 builtin/log.c:1657
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/commit-graph.c:56 builtin/commit-graph.c:108
-#: builtin/commit-graph.c:171 builtin/commit-graph.c:255
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:104
+#: builtin/commit-graph.c:188
 msgid "The object directory to store the graph"
 msgstr "Thư mục đối tượng để lưu đồ thị"
 
-#: builtin/commit-graph.c:58
+#: builtin/commit-graph.c:51
 msgid "if the commit-graph is split, only verify the tip file"
 msgstr ""
 "nếu đồ-thị-các-lần-chuyển-giao bị chia cắt, thì chỉ thẩm tra tập tin đỉnh"
 
-#: builtin/commit-graph.c:80 builtin/commit-graph.c:125
+#: builtin/commit-graph.c:73 t/helper/test-read-graph.c:23
 #, c-format
 msgid "Could not open commit-graph '%s'"
 msgstr "Không thể mở đồ thị chuyển giao “%s”"
 
-#: builtin/commit-graph.c:173
+#: builtin/commit-graph.c:106
 msgid "start walk at all refs"
 msgstr "bắt đầu di chuyển tại mọi tham chiếu"
 
-#: builtin/commit-graph.c:175
+#: builtin/commit-graph.c:108
 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:177
+#: builtin/commit-graph.c:110
 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:179
+#: builtin/commit-graph.c:112
 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ị-các-lần-chuyển-"
 "giao"
 
-#: builtin/commit-graph.c:182
+#: builtin/commit-graph.c:115
 msgid "allow writing an incremental commit-graph file"
 msgstr "cho phép ghi một tập tin đồ họa các lần chuyển giao lớn lên"
 
-#: builtin/commit-graph.c:184 builtin/commit-graph.c:188
+#: builtin/commit-graph.c:117 builtin/commit-graph.c:121
 msgid "maximum number of commits in a non-base split commit-graph"
 msgstr ""
 "số lượng tối đa của các lần chuyển giao trong một đồ-thị-các-lần-chuyển-giao "
 "chia cắt không-cơ-sở"
 
-#: builtin/commit-graph.c:186
+#: builtin/commit-graph.c:119
 msgid "maximum ratio between two levels of a split commit-graph"
 msgstr "tỷ lệ tối đa giữa hai mức của một đồ-thị-các-lần-chuyển-giao chia cắt"
 
-#: builtin/commit-graph.c:204
+#: builtin/commit-graph.c:137
 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"
@@ -12464,7 +13003,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:553 builtin/name-rev.c:426
+#: builtin/describe.c:553 builtin/name-rev.c:473
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
@@ -12725,7 +13264,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:1177 builtin/log.c:1633
+#: builtin/fast-export.c:1177 builtin/log.c:1705
 msgid "refspec"
 msgstr "refspec"
 
@@ -12771,89 +13310,89 @@ 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/fetch.c:116
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel không thể âm"
 
-#: builtin/fetch.c:138 builtin/pull.c:204
+#: builtin/fetch.c:139 builtin/pull.c:204
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:140 builtin/pull.c:248
+#: builtin/fetch.c:141 builtin/pull.c:248
 msgid "set upstream for git pull/fetch"
 msgstr "đặt thượng nguồn cho git pull/fetch"
 
-#: builtin/fetch.c:142 builtin/pull.c:207
+#: builtin/fetch.c:143 builtin/pull.c:207
 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:144 builtin/pull.c:210
+#: builtin/fetch.c:145 builtin/pull.c:210
 msgid "path to upload pack on remote end"
 msgstr "đường dẫn đến gói tải lên trên máy chủ cuối"
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:146
 msgid "force overwrite of local reference"
 msgstr "ép buộc ghi đè lên tham chiếu nội bộ"
 
-#: builtin/fetch.c:147
+#: builtin/fetch.c:148
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:149 builtin/pull.c:214
+#: builtin/fetch.c:150 builtin/pull.c:214
 msgid "fetch all tags and associated objects"
 msgstr "lấy tất cả các thẻ cùng với các đối tượng liên quan đến nó"
 
-#: builtin/fetch.c:151
+#: builtin/fetch.c:152
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:153
+#: builtin/fetch.c:154
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:155 builtin/pull.c:217
+#: builtin/fetch.c:156 builtin/pull.c:217
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "cắt cụt (prune) các nhánh “remote-tracking” không còn tồn tại trên máy chủ "
 "nữa"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:158
 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:158 builtin/fetch.c:181 builtin/pull.c:141
+#: builtin/fetch.c:159 builtin/fetch.c:182 builtin/pull.c:141
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:159
+#: builtin/fetch.c:160
 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:163 builtin/pull.c:225
+#: builtin/fetch.c:164 builtin/pull.c:225
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:165
+#: builtin/fetch.c:166
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:168 builtin/fetch.c:174 builtin/pull.c:228
+#: builtin/fetch.c:169 builtin/fetch.c:175 builtin/pull.c:228
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:170
+#: builtin/fetch.c:171
 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:176 builtin/pull.c:231
+#: builtin/fetch.c:177 builtin/pull.c:231
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:179
+#: builtin/fetch.c:180
 msgid "prepend this to submodule path output"
 msgstr "soạn sẵn cái này cho kết xuất đường dẫn mô-đun-con"
 
-#: builtin/fetch.c:182
+#: builtin/fetch.c:183
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -12861,91 +13400,95 @@ 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:186 builtin/pull.c:234
+#: builtin/fetch.c:187 builtin/pull.c:234
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:187 builtin/pull.c:236
+#: builtin/fetch.c:188 builtin/pull.c:236
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:188 builtin/pull.c:237
+#: builtin/fetch.c:189 builtin/pull.c:237
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:195
+#: builtin/fetch.c:196
 msgid "report that we have only objects reachable from this object"
 msgstr ""
 "báo cáo rằng chúng ta chỉ có các đối tượng tiếp cận được từ đối tượng này"
 
-#: builtin/fetch.c:198
+#: builtin/fetch.c:199
 msgid "run 'gc --auto' after fetching"
 msgstr "chạy 'gc --auto' sau khi lấy về"
 
-#: builtin/fetch.c:200 builtin/pull.c:246
+#: builtin/fetch.c:201 builtin/pull.c:246
 msgid "check for forced-updates on all updated branches"
 msgstr "kiểm cho các-cập-nhật-bắt-buộc trên mọi nhánh đã cập nhật"
 
-#: builtin/fetch.c:510
+#: builtin/fetch.c:203
+msgid "write the commit-graph after fetching"
+msgstr "ghi ra đồ thị các lần chuyển giao sau khi lấy về"
+
+#: builtin/fetch.c:513
 msgid "Couldn't find remote ref HEAD"
 msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD"
 
-#: builtin/fetch.c:650
+#: builtin/fetch.c:653
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "phần cấu hình fetch.output có chứa giá-trị không hợp lệ %s"
 
-#: builtin/fetch.c:748
+#: builtin/fetch.c:751
 #, c-format
 msgid "object %s not found"
 msgstr "không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:752
+#: builtin/fetch.c:755
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:765 builtin/fetch.c:781 builtin/fetch.c:853
+#: builtin/fetch.c:768 builtin/fetch.c:784 builtin/fetch.c:856
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:769
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:776
+#: builtin/fetch.c:779
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:777 builtin/fetch.c:814 builtin/fetch.c:836
-#: builtin/fetch.c:848
+#: builtin/fetch.c:780 builtin/fetch.c:817 builtin/fetch.c:839
+#: builtin/fetch.c:851
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:781
+#: builtin/fetch.c:784
 msgid "would clobber existing tag"
 msgstr "nên xóa chồng các thẻ có sẵn"
 
-#: builtin/fetch.c:803
+#: builtin/fetch.c:806
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:806
+#: builtin/fetch.c:809
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:809
+#: builtin/fetch.c:812
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:848
+#: builtin/fetch.c:851
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:853
+#: builtin/fetch.c:856
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:874
+#: builtin/fetch.c:877
 msgid ""
 "Fetch normally indicates which branches had a forced update,\n"
 "but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
@@ -12955,7 +13498,7 @@ msgstr ""
 "nhưng lựa chọn bị tắt. Để kích hoạt lại, sử dụng cờ\n"
 "'--show-forced-updates' hoặc chạy 'git config fetch.showForcedUpdates true'."
 
-#: builtin/fetch.c:878
+#: builtin/fetch.c:881
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -12968,22 +13511,22 @@ msgstr ""
 "false'\n"
 "để tránh kiểm tra này.\n"
 
-#: builtin/fetch.c:908
+#: builtin/fetch.c:911
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s đã không gửi tất cả các đối tượng cần thiết\n"
 
-#: builtin/fetch.c:929
+#: builtin/fetch.c:932
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:1020 builtin/fetch.c:1157
+#: builtin/fetch.c:1017 builtin/fetch.c:1155
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:1031
+#: builtin/fetch.c:1028
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -12992,58 +13535,58 @@ msgstr ""
 "một số tham chiếu nội bộ không thể được cập nhật; hãy thử chạy\n"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:1127
+#: builtin/fetch.c:1125
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sẽ trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1128
+#: builtin/fetch.c:1126
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1160
+#: builtin/fetch.c:1158
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:1161 builtin/remote.c:1036
+#: builtin/fetch.c:1159 builtin/remote.c:1035
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:1184
+#: builtin/fetch.c:1182
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:1203
+#: builtin/fetch.c:1201
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Tùy chọn \"%s\" có giá trị \"%s\" là không hợp lệ cho %s"
 
-#: builtin/fetch.c:1206
+#: builtin/fetch.c:1204
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Tùy chọn \"%s\" bị bỏ qua với %s\n"
 
-#: builtin/fetch.c:1414
-msgid "multiple branch detected, incompatible with --set-upstream"
+#: builtin/fetch.c:1412
+msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "phát hiện nhiều nhánh, không tương thích với --set-upstream"
 
-#: builtin/fetch.c:1429
+#: builtin/fetch.c:1427
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "không cài đặt thượng nguồn cho một nhánh được theo dõi trên máy chủ"
 
-#: builtin/fetch.c:1431
+#: builtin/fetch.c:1429
 msgid "not setting upstream for a remote tag"
 msgstr "không cài đặt thượng nguồn cho một thẻ nhánh trên máy chủ"
 
-#: builtin/fetch.c:1433
+#: builtin/fetch.c:1431
 msgid "unknown branch type"
 msgstr "không hiểu kiểu nhánh"
 
-#: builtin/fetch.c:1435
+#: builtin/fetch.c:1433
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -13051,22 +13594,22 @@ msgstr ""
 "không tìm thấy nhánh nguồn.\n"
 "bạn cần phải chỉ định chính xác một nhánh với tùy chọn --set-upstream."
 
-#: builtin/fetch.c:1561 builtin/fetch.c:1623
+#: builtin/fetch.c:1559 builtin/fetch.c:1622
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1571 builtin/fetch.c:1625 builtin/remote.c:100
+#: builtin/fetch.c:1569 builtin/fetch.c:1624 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Không thể lấy“%s” về"
 
-#: builtin/fetch.c:1583
+#: builtin/fetch.c:1581
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "không thể lấy “%s” (mã thoát: %d)\n"
 
-#: builtin/fetch.c:1685
+#: builtin/fetch.c:1684
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -13074,44 +13617,44 @@ msgstr ""
 "Chưa chỉ ra kho chứa máy chủ.  Xin hãy chỉ định hoặc là URL hoặc\n"
 "tên máy chủ từ cái mà những điểm xét duyệt mới có thể được fetch (lấy về)."
 
-#: builtin/fetch.c:1722
+#: builtin/fetch.c:1721
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1774
+#: builtin/fetch.c:1771
 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:1776
+#: builtin/fetch.c:1773
 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:1781
+#: builtin/fetch.c:1778
 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:1783
+#: builtin/fetch.c:1780
 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:1799
+#: builtin/fetch.c:1796
 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:1801
+#: builtin/fetch.c:1798
 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:1810
+#: builtin/fetch.c:1807
 #, 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:1817
+#: builtin/fetch.c:1814
 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:1835
+#: builtin/fetch.c:1832
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -13126,23 +13669,23 @@ msgstr ""
 "git fmt-merge-msg [-m <chú_thích>] [--log[=<n>] | --no-log] [--file <tập-"
 "tin>]"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:674
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "gắn nhật ký với ít nhất <n> mục từ lệnh “shortlog”"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:677
 msgid "alias for --log (deprecated)"
 msgstr "bí danh cho --log (không được dùng)"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:680
 msgid "text"
 msgstr "văn bản"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:681
 msgid "use <text> as start of message"
 msgstr "dùng <văn bản thường> để bắt đầu ghi chú"
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:682
 msgid "file to read from"
 msgstr "tập tin để đọc dữ liệu từ đó"
 
@@ -13208,32 +13751,32 @@ msgstr "chỉ hiển thị những tham chiếu mà nó chứa lần chuyển gi
 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"
 
-#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161
+#: builtin/fsck.c:68 builtin/fsck.c:147 builtin/fsck.c:148
 msgid "unknown"
 msgstr "không hiểu"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:120 builtin/fsck.c:136
+#: builtin/fsck.c:100 builtin/fsck.c:120
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "lỗi trong %s %s: %s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:131
+#: builtin/fsck.c:114
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "có cảnh báo trong %s %s: %s"
 
-#: builtin/fsck.c:157 builtin/fsck.c:159
+#: builtin/fsck.c:143 builtin/fsck.c:146
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "liên kết gãy từ %7s %s"
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:155
 msgid "wrong object type in link"
 msgstr "kiểu đối tượng sai trong liên kết"
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:171
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -13242,211 +13785,211 @@ msgstr ""
 "liên kết gãy từ %7s %s \n"
 "              tới %7s %s"
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:282
 #, c-format
 msgid "missing %s %s"
 msgstr "thiếu %s %s"
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:309
 #, c-format
 msgid "unreachable %s %s"
 msgstr "không tiếp cận được %s %s"
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:329
 #, c-format
 msgid "dangling %s %s"
 msgstr "dangling %s %s"
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:339
 msgid "could not create lost-found"
 msgstr "không thể tạo lost-found"
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:350
 #, c-format
 msgid "could not finish '%s'"
 msgstr "không thể hoàn thành “%s”"
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:367
 #, c-format
 msgid "Checking %s"
 msgstr "Đang kiểm tra %s"
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Đang kiểm tra kết nối (%d đối tượng)"
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:424
 #, c-format
 msgid "Checking %s %s"
 msgstr "Đang kiểm tra %s %s"
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:429
 msgid "broken links"
 msgstr "các liên kết bị gẫy"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:438
 #, c-format
 msgid "root %s"
 msgstr "gốc %s"
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:446
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "đã đánh thẻ %s %s (%s) trong %s"
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:475
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s: đối tượng thiếu hay hỏng"
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:500
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s: mục reflog không hợp lệ %s"
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:514
 #, 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:557
+#: builtin/fsck.c:548
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s: con trỏ sha1 không hợp lệ %s"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:555
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s: không phải là một lần chuyển giao"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:609
 msgid "notice: No default references"
 msgstr "cảnh báo: Không có các tham chiếu mặc định"
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:624
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s: thiếu đối tượng hoặc hỏng: %s"
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:637
 #, 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:667
+#: builtin/fsck.c:657
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "tập tin sha1 sai: %s"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:672
 msgid "Checking object directory"
 msgstr "Đang kiểm tra thư mục đối tượng"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:675
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:690
 #, c-format
 msgid "Checking %s link"
 msgstr "Đang lấy liên kết %s"
 
-#: builtin/fsck.c:705 builtin/index-pack.c:842
+#: builtin/fsck.c:695 builtin/index-pack.c:842
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:702
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s chỉ đến thứ gì đó xa lạ (%s)"
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:708
 #, 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:722
+#: builtin/fsck.c:712
 #, 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:734
+#: builtin/fsck.c:724
 msgid "Checking cache tree"
 msgstr "Đang kiểm tra cây nhớ tạm"
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:729
 #, 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:750
+#: builtin/fsck.c:738
 msgid "non-tree in cache-tree"
 msgstr "non-tree trong cache-tree"
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:769
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<các tùy chọn>] [<đối-tượng>…]"
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:775
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:776
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:777
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:778
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:779
 msgid "make index objects head nodes"
 msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:792
+#: builtin/fsck.c:780
 msgid "make reflogs head nodes (default)"
 msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:781
 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:794
+#: builtin/fsck.c:782
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:783
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:785
 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:798 builtin/prune.c:132
+#: builtin/fsck.c:786 builtin/prune.c:132
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:787
 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:859 builtin/index-pack.c:225
+#: builtin/fsck.c:846 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:874
 #, c-format
 msgid "%s: object missing"
 msgstr "%s: thiếu đối tượng"
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:885
 #, 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”"
@@ -14009,7 +14552,7 @@ msgstr "sử dụng nhiều hơn số lượng byte mà nó sẵn có"
 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:291 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:291 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "gói đã vượt quá cỡ tối đa được phép"
 
@@ -14244,7 +14787,7 @@ msgstr "--stdin cần một kho git"
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
-#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1833 builtin/unpack-objects.c:581
 msgid "fsck error in pack objects"
 msgstr "lỗi fsck trong các đối tượng gói"
 
@@ -14427,121 +14970,126 @@ msgstr "--trailer cùng với --only-input không hợp lý"
 msgid "no input file given for in-place editing"
 msgstr "không đưa ra tập tin đầu vào để sửa tại-chỗ"
 
-#: builtin/log.c:55
+#: builtin/log.c:56
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<các tùy chọn>] [<vùng-xem-xét>] [[--] </đường/dẫn>…]"
 
-#: builtin/log.c:56
+#: builtin/log.c:57
 msgid "git show [<options>] <object>..."
 msgstr "git show [<các tùy chọn>] <đối-tượng>…"
 
-#: builtin/log.c:109
+#: builtin/log.c:110
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "tùy chọn--decorate không hợp lệ: %s"
 
-#: builtin/log.c:173
+#: builtin/log.c:174
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:174
+#: builtin/log.c:175
 msgid "Use mail map file"
 msgstr "Sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:176
+#: builtin/log.c:177
 msgid "only decorate refs that match <pattern>"
 msgstr "chỉ tô sáng các tham chiếu khớp với <mẫu>"
 
-#: builtin/log.c:178
+#: builtin/log.c:179
 msgid "do not decorate refs that match <pattern>"
 msgstr "không tô sáng các tham chiếu khớp với <mẫu>"
 
-#: builtin/log.c:179
+#: builtin/log.c:180
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:182
+#: builtin/log.c:183
 msgid "Process line range n,m in file, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m trong tập tin, tính từ 1"
 
-#: builtin/log.c:280
+#: builtin/log.c:281
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:534
+#: builtin/log.c:535
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:549 builtin/log.c:644
+#: builtin/log.c:550 builtin/log.c:645
 #, c-format
 msgid "could not read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/log.c:669
+#: builtin/log.c:670
 #, c-format
 msgid "unknown type: %d"
 msgstr "không nhận ra kiểu: %d"
 
-#: builtin/log.c:792
+#: builtin/log.c:814
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr "%s: bao bọc không hợp lệ từ chế độ mô tả"
+
+#: builtin/log.c:821
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:909
+#: builtin/log.c:936
 msgid "name of output directory is too long"
 msgstr "tên của thư mục kết xuất quá dài"
 
-#: builtin/log.c:925
+#: builtin/log.c:952
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:942
+#: builtin/log.c:969
 msgid "need exactly one range"
 msgstr "cần chính xác một vùng"
 
-#: builtin/log.c:952
+#: builtin/log.c:979
 msgid "not a range"
 msgstr "không phải là một vùng"
 
-#: builtin/log.c:1075
+#: builtin/log.c:1143
 msgid "cover letter needs email format"
 msgstr "“cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1081
+#: builtin/log.c:1149
 msgid "failed to create cover-letter file"
 msgstr "gặp lỗi khi tạo các tập tin cover-letter"
 
-#: builtin/log.c:1160
+#: builtin/log.c:1228
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1187
+#: builtin/log.c:1255
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<các tùy chọn>] [<kể-từ> | <vùng-xem-xét>]"
 
-#: builtin/log.c:1245
+#: builtin/log.c:1313
 msgid "two output directories?"
 msgstr "hai thư mục kết xuất?"
 
-#: builtin/log.c:1356 builtin/log.c:2116 builtin/log.c:2118 builtin/log.c:2130
+#: builtin/log.c:1424 builtin/log.c:2197 builtin/log.c:2199 builtin/log.c:2211
 #, c-format
 msgid "unknown commit %s"
 msgstr "không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1366 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1434 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ"
 
-#: builtin/log.c:1371
+#: builtin/log.c:1439
 msgid "could not find exact merge base"
 msgstr "không tìm thấy nền hòa trộn chính xác"
 
-#: builtin/log.c:1375
+#: builtin/log.c:1443
 msgid ""
 "failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -14552,271 +15100,279 @@ msgstr ""
 "nhánh máy chủ. Hoặc là bạn có thể chỉ định lần chuyển giao nền bằng\n"
 "\"--base=<base-commit-id>\" một cách thủ công"
 
-#: builtin/log.c:1395
+#: builtin/log.c:1463
 msgid "failed to find exact merge base"
 msgstr "gặp lỗi khi tìm nền hòa trộn chính xác"
 
-#: builtin/log.c:1406
+#: builtin/log.c:1474
 msgid "base commit should be the ancestor of revision list"
 msgstr "lần chuyển giao nền không là tổ tiên của danh sách điểm xét duyệt"
 
-#: builtin/log.c:1410
+#: builtin/log.c:1478
 msgid "base commit shouldn't be in revision list"
 msgstr "lần chuyển giao nền không được trong danh sách điểm xét duyệt"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1531
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1515
+#: builtin/log.c:1583
 msgid "failed to infer range-diff ranges"
 msgstr "gặp lỗi khi suy luận range-diff (vùng khác biệt)"
 
-#: builtin/log.c:1560
+#: builtin/log.c:1629
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "dùng [PATCH n/m] ngay cả với miếng vá đơn"
 
-#: builtin/log.c:1563
+#: builtin/log.c:1632
 msgid "use [PATCH] even with multiple patches"
 msgstr "dùng [VÁ] ngay cả với các miếng vá phức tạp"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1636
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1569
+#: builtin/log.c:1638
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1571
+#: builtin/log.c:1640
 msgid "use simple number sequence for output file names"
 msgstr "sử dụng chỗi dãy số dạng đơn giản cho tên tập-tin xuất ra"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1641
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1573
+#: builtin/log.c:1642
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1575
+#: builtin/log.c:1644
 msgid "start numbering patches at <n> instead of 1"
 msgstr "bắt đầu đánh số miếng vá từ <n> thay vì 1"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1646
 msgid "mark the series as Nth re-roll"
 msgstr "đánh dấu chuỗi nối tiếp dạng thứ-N re-roll"
 
-#: builtin/log.c:1579
+#: builtin/log.c:1648
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "Dùng [RFC VÁ] thay cho [VÁ]"
 
-#: builtin/log.c:1582
+#: builtin/log.c:1651
+msgid "cover-from-description-mode"
+msgstr "cover-from-description-mode"
+
+#: builtin/log.c:1652
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr "tạo ra các phần của một lá thư bao gồm dựa trên mô tả của nhánh"
+
+#: builtin/log.c:1654
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1585
+#: builtin/log.c:1657
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1588
+#: builtin/log.c:1660
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1591
+#: builtin/log.c:1663
 msgid "don't output binary diffs"
 msgstr "không kết xuất diff (những khác biệt) nhị phân"
 
-#: builtin/log.c:1593
+#: builtin/log.c:1665
 msgid "output all-zero hash in From header"
 msgstr "xuất mọi mã băm all-zero trong phần đầu From"
 
-#: builtin/log.c:1595
+#: builtin/log.c:1667
 msgid "don't include a patch matching a commit upstream"
 msgstr "không bao gồm miếng vá khớp với một lần chuyển giao thượng nguồn"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1669
 msgid "show patch format instead of default (patch + stat)"
 msgstr "hiển thị định dạng miếng vá thay vì mặc định (miếng vá + thống kê)"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1671
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1672
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1601
+#: builtin/log.c:1673
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1602 builtin/log.c:1604
+#: builtin/log.c:1674 builtin/log.c:1676
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1602
+#: builtin/log.c:1674
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1604
+#: builtin/log.c:1676
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1606
+#: builtin/log.c:1678
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1607
+#: builtin/log.c:1679
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "đặt “Địa chỉ gửi” thành <thụ lề> (hoặc thụt lề người commit nếu bỏ quên)"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1681
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1610
+#: builtin/log.c:1682
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1611 builtin/log.c:1614
+#: builtin/log.c:1683 builtin/log.c:1686
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1612
+#: builtin/log.c:1684
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1615
+#: builtin/log.c:1687
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1619
+#: builtin/log.c:1691
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1693
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1622
+#: builtin/log.c:1694
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1695
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1624
+#: builtin/log.c:1696
 msgid "add prerequisite tree info to the patch series"
 msgstr "add trước hết đòi hỏi thông tin cây tới sê-ri miếng vá"
 
-#: builtin/log.c:1626
+#: builtin/log.c:1698
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1627
+#: builtin/log.c:1699
 msgid "don't print the patch filenames"
 msgstr "không hiển thị các tên tập tin của miếng vá"
 
-#: builtin/log.c:1629
+#: builtin/log.c:1701
 msgid "show progress while generating patches"
 msgstr "hiển thị bộ đo tiến triển trong khi tạo các miếng vá"
 
-#: builtin/log.c:1631
+#: builtin/log.c:1703
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <rev> trong các chữ bao bọc hoặc miếng vá đơn"
 
-#: builtin/log.c:1634
+#: builtin/log.c:1706
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <refspec> trong các chữ bao bọc hoặc miếng vá "
 "đơn"
 
-#: builtin/log.c:1636
+#: builtin/log.c:1708
 msgid "percentage by which creation is weighted"
 msgstr "tỷ lệ phần trăm theo cái tạo là weighted"
 
-#: builtin/log.c:1711
+#: builtin/log.c:1792
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
 
-#: builtin/log.c:1726
+#: builtin/log.c:1807
 msgid "-n and -k are mutually exclusive"
 msgstr "-n và  -k loại từ lẫn nhau"
 
-#: builtin/log.c:1728
+#: builtin/log.c:1809
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc và -k xung khắc nhau"
 
-#: builtin/log.c:1736
+#: builtin/log.c:1817
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1738
+#: builtin/log.c:1819
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1740
+#: builtin/log.c:1821
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1773
+#: builtin/log.c:1854
 msgid "standard output, or directory, which one?"
 msgstr "đầu ra chuẩn, hay thư mục, chọn cái nào?"
 
-#: builtin/log.c:1877
+#: builtin/log.c:1958
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff cần --cover-letter hoặc vá đơn"
 
-#: builtin/log.c:1881
+#: builtin/log.c:1962
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:1882
+#: builtin/log.c:1963
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff dựa trên v%d:"
 
-#: builtin/log.c:1888
+#: builtin/log.c:1969
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor yêu cầu --range-diff"
 
-#: builtin/log.c:1892
+#: builtin/log.c:1973
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff yêu cầu --cover-letter hoặc miếng vá đơn"
 
-#: builtin/log.c:1900
+#: builtin/log.c:1981
 msgid "Range-diff:"
 msgstr "Range-diff:"
 
-#: builtin/log.c:1901
+#: builtin/log.c:1982
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-diff dựa trên v%d:"
 
-#: builtin/log.c:1912
+#: builtin/log.c:1993
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:1948
+#: builtin/log.c:2029
 msgid "Generating patches"
 msgstr "Đang tạo các miếng vá"
 
-#: builtin/log.c:1992
+#: builtin/log.c:2073
 msgid "failed to create output files"
 msgstr "gặp lỗi khi tạo các tập tin kết xuất"
 
-#: builtin/log.c:2051
+#: builtin/log.c:2132
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:2105
+#: builtin/log.c:2186
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -14945,7 +15501,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "không hiển thị URL máy chủ"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1488
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1518
 msgid "exec"
 msgstr "thực thi"
 
@@ -15095,7 +15651,7 @@ msgid "verify that the named commit has a valid GPG signature"
 msgstr "thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không"
 
 #: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:187
-#: builtin/rebase.c:493 builtin/rebase.c:1501 builtin/revert.c:114
+#: builtin/rebase.c:512 builtin/rebase.c:1531 builtin/revert.c:114
 msgid "strategy"
 msgstr "chiến lược"
 
@@ -15539,17 +16095,17 @@ msgstr "cho phép tạo nhiều hơn một cây"
 
 #: builtin/multi-pack-index.c:9
 msgid ""
-"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
-"batch-size=<size>)"
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<size>)"
 msgstr ""
-"git multi-pack-index [--object-dir=<thư/mục>] (write|verify|expire|repack --"
-"batch-size=<cỡ>)"
+"git multi-pack-index [<các-tùy-chọn>] (write|verify|expire|repack --batch-"
+"size=<cỡ>)"
 
-#: builtin/multi-pack-index.c:23
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "thư mục đối tượng có chứa một bộ các tập tin gói và cặp pack-index"
 
-#: builtin/multi-pack-index.c:25
+#: builtin/multi-pack-index.c:29
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
@@ -15557,15 +16113,15 @@ msgstr ""
 "trong suốt quá trình đóng gói lại, gom các tập tin gói có kích cỡ nhỏ hơn "
 "vào một bó cái mà lớn hơn kích thước này"
 
-#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67
+#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr "có quá nhiều đối số"
 
-#: builtin/multi-pack-index.c:52
+#: builtin/multi-pack-index.c:60
 msgid "--batch-size option is only for 'repack' subcommand"
 msgstr "tùy chọn --batch-size chỉ cho lệnh con 'repack'"
 
-#: builtin/multi-pack-index.c:61
+#: builtin/multi-pack-index.c:69
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -15658,53 +16214,53 @@ msgstr "%s, nguồn=%s, đích=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:511
+#: builtin/mv.c:277 builtin/remote.c:716 builtin/repack.c:518
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
 
-#: builtin/name-rev.c:356
+#: builtin/name-rev.c:403
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<các tùy chọn>] <commit>…"
 
-#: builtin/name-rev.c:357
+#: builtin/name-rev.c:404
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<các tùy chọn>] --all"
 
-#: builtin/name-rev.c:358
+#: builtin/name-rev.c:405
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<các tùy chọn>] --stdin"
 
-#: builtin/name-rev.c:415
+#: builtin/name-rev.c:462
 msgid "print only names (no SHA-1)"
 msgstr "chỉ hiển thị tên (không SHA-1)"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:463
 msgid "only use tags to name the commits"
 msgstr "chỉ dùng các thẻ để đặt tên cho các lần chuyển giao"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:465
 msgid "only use refs matching <pattern>"
 msgstr "chỉ sử dụng các tham chiếu khớp với <mẫu>"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:467
 msgid "ignore refs matching <pattern>"
 msgstr "bỏ qua các tham chiếu khớp với <mẫu>"
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:469
 msgid "list all commits reachable from all refs"
 msgstr ""
 "liệt kê tất cả các lần chuyển giao có thể đọc được từ tất cả các tham chiếu"
 
-#: builtin/name-rev.c:423
+#: builtin/name-rev.c:470
 msgid "read from stdin"
 msgstr "đọc từ đầu vào tiêu chuẩn"
 
-#: builtin/name-rev.c:424
+#: builtin/name-rev.c:471
 msgid "allow to print `undefined` names (default)"
 msgstr "cho phép in các tên “chưa định nghĩa” (mặc định)"
 
-#: builtin/name-rev.c:430
+#: builtin/name-rev.c:477
 msgid "dereference tags in the input (internal use)"
 msgstr "bãi bỏ tham chiếu các thẻ trong đầu vào (dùng nội bộ)"
 
@@ -16183,7 +16739,7 @@ msgstr "tắt ghi bitmap, các gói bị chia nhỏ bởi vì pack.packSizeLimit
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:917 builtin/update-index.c:89
+#: builtin/pack-objects.c:917 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s"
@@ -16315,22 +16871,6 @@ msgstr "phiên bản mục lục không được hỗ trợ %s"
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:3228
-msgid "do not show progress meter"
-msgstr "không hiển thị bộ đo tiến trình"
-
-#: builtin/pack-objects.c:3230
-msgid "show progress meter"
-msgstr "hiển thị bộ đo tiến trình"
-
-#: builtin/pack-objects.c:3232
-msgid "show progress meter during object writing phase"
-msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
-
-#: builtin/pack-objects.c:3235
-msgid "similar to --all-progress when progress meter is shown"
-msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
-
 #: builtin/pack-objects.c:3236
 msgid "<version>[,<offset>]"
 msgstr "<phiên bản>[,offset]"
@@ -16577,7 +17117,7 @@ msgstr "Các tùy chọn liên quan đến hòa trộn"
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trộn"
 
-#: builtin/pull.c:177 builtin/rebase.c:448 builtin/revert.c:126
+#: builtin/pull.c:177 builtin/rebase.c:467 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
@@ -16638,7 +17178,7 @@ msgstr ""
 "theo mặc định cho nhánh hiện tại của bạn, bạn phải chỉ định\n"
 "một nhánh trên dòng lệnh."
 
-#: builtin/pull.c:448 builtin/rebase.c:1347 git-parse-remote.sh:73
+#: builtin/pull.c:448 builtin/rebase.c:1375 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Hiện tại bạn chẳng ở nhánh nào cả."
 
@@ -16655,7 +17195,7 @@ msgid "See git-pull(1) for details."
 msgstr "Xem git-pull(1) để biết thêm chi tiết."
 
 #: builtin/pull.c:455 builtin/pull.c:461 builtin/pull.c:470
-#: builtin/rebase.c:1353 git-parse-remote.sh:64
+#: builtin/rebase.c:1381 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<máy chủ>"
 
@@ -16664,7 +17204,7 @@ msgstr "<máy chủ>"
 msgid "<branch>"
 msgstr "<nhánh>"
 
-#: builtin/pull.c:463 builtin/rebase.c:1345 git-parse-remote.sh:75
+#: builtin/pull.c:463 builtin/rebase.c:1373 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hành."
 
@@ -16756,15 +17296,15 @@ msgstr ""
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<các tùy chọn>] [<kho-chứa> [<refspec>…]]"
 
-#: builtin/push.c:111
+#: builtin/push.c:112
 msgid "tag shorthand without <tag>"
 msgstr "dùng tốc ký thẻ không có <thẻ>"
 
-#: builtin/push.c:121
+#: builtin/push.c:122
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete chỉ chấp nhận các tên tham chiếu dạng thường"
 
-#: builtin/push.c:167
+#: builtin/push.c:168
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -16773,7 +17313,7 @@ msgstr ""
 "Để chọn mỗi tùy chọn một cách cố định, xem push.default trong “git help "
 "config”."
 
-#: builtin/push.c:170
+#: builtin/push.c:171
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -16798,7 +17338,7 @@ msgstr ""
 "    git push %s HEAD\n"
 "%s"
 
-#: builtin/push.c:185
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -16813,7 +17353,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<tên-của-nhánh-máy-chủ>\n"
 
-#: builtin/push.c:199
+#: builtin/push.c:200
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -16827,12 +17367,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:207
+#: builtin/push.c:208
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "Nhánh hiện tại %s có nhiều nhánh thượng nguồn, từ chối push."
 
-#: builtin/push.c:210
+#: builtin/push.c:211
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -16844,14 +17384,14 @@ msgstr ""
 "nhánh hiện tại “%s” của bạn, mà không báo cho tôi biết là cái gì được push\n"
 "để cập nhật nhánh máy chủ nào."
 
-#: builtin/push.c:269
+#: builtin/push.c:270
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Bạn đã không chỉ ra một refspecs nào để đẩy lên, và push.default là \"không "
 "là gì cả\"."
 
-#: builtin/push.c:276
+#: builtin/push.c:277
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -16864,7 +17404,7 @@ msgstr ""
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:282
+#: builtin/push.c:283
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -16878,7 +17418,7 @@ msgstr ""
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:288
+#: builtin/push.c:289
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -16893,11 +17433,11 @@ msgstr ""
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:295
+#: builtin/push.c:296
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "Việc cập nhật bị từ chối bởi vì thẻ đã sẵn có từ trước trên máy chủ."
 
-#: builtin/push.c:298
+#: builtin/push.c:299
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -16909,99 +17449,99 @@ msgstr ""
 "đối tượng\n"
 "không phải chuyển giao, mà không sử dụng tùy chọn “--force”.\n"
 
-#: builtin/push.c:359
+#: builtin/push.c:360
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Đang đẩy lên %s\n"
 
-#: builtin/push.c:366
+#: builtin/push.c:367
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "gặp lỗi khi đẩy tới một số tham chiếu đến “%s”"
 
-#: builtin/push.c:541
+#: builtin/push.c:542
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:542 builtin/send-pack.c:164
+#: builtin/push.c:543 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr "đẩy tất cả các tham chiếu"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:544 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr "mirror tất cả các tham chiếu"
 
-#: builtin/push.c:545
+#: builtin/push.c:546
 msgid "delete refs"
 msgstr "xóa các tham chiếu"
 
-#: builtin/push.c:546
+#: builtin/push.c:547
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "đẩy các thẻ (không dùng cùng với --all hay --mirror)"
 
-#: builtin/push.c:549 builtin/send-pack.c:167
+#: builtin/push.c:550 builtin/send-pack.c:167
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:551 builtin/send-pack.c:181
+#: builtin/push.c:552 builtin/send-pack.c:181
 msgid "<refname>:<expect>"
 msgstr "<tên-tham-chiếu>:<cần>"
 
-#: builtin/push.c:552 builtin/send-pack.c:182
+#: builtin/push.c:553 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 msgstr "yêu cầu giá-trị cũ của tham chiếu thì là giá-trị này"
 
-#: builtin/push.c:555
+#: builtin/push.c:556
 msgid "control recursive pushing of submodules"
 msgstr "điều khiển việc đẩy lên (push) đệ qui của mô-đun-con"
 
-#: builtin/push.c:557 builtin/send-pack.c:175
+#: builtin/push.c:558 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:558 builtin/push.c:559 builtin/send-pack.c:161
+#: builtin/push.c:559 builtin/push.c:560 builtin/send-pack.c:161
 #: builtin/send-pack.c:162
 msgid "receive pack program"
 msgstr "chương trình nhận gói"
 
-#: builtin/push.c:560
+#: builtin/push.c:561
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn cho git pull/status"
 
-#: builtin/push.c:563
+#: builtin/push.c:564
 msgid "prune locally removed refs"
 msgstr "xén tỉa những tham chiếu bị gỡ bỏ"
 
-#: builtin/push.c:565
+#: builtin/push.c:566
 msgid "bypass pre-push hook"
 msgstr "vòng qua móc tiền-đẩy (pre-push)"
 
-#: builtin/push.c:566
+#: builtin/push.c:567
 msgid "push missing but relevant tags"
 msgstr "push phần bị thiếu nhưng các thẻ lại thích hợp"
 
-#: builtin/push.c:569 builtin/send-pack.c:169
+#: builtin/push.c:570 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr "ký lần đẩy dùng GPG"
 
-#: builtin/push.c:571 builtin/send-pack.c:176
+#: builtin/push.c:572 builtin/send-pack.c:176
 msgid "request atomic transaction on remote side"
 msgstr "yêu cầu giao dịch hạt nhân bên phía máy chủ"
 
-#: builtin/push.c:589
+#: builtin/push.c:590
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete là xung khắc với các tùy chọn --all, --mirror và --tags"
 
-#: builtin/push.c:591
+#: builtin/push.c:592
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu nào"
 
-#: builtin/push.c:611
+#: builtin/push.c:612
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:612
+#: builtin/push.c:613
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -17022,27 +17562,27 @@ msgstr ""
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:627
+#: builtin/push.c:628
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:629
+#: builtin/push.c:630
 msgid "--all can't be combined with refspecs"
 msgstr "--all không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:633
+#: builtin/push.c:634
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:635
+#: builtin/push.c:636
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:638
+#: builtin/push.c:639
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:642
+#: builtin/push.c:643
 msgid "push options must not have new line characters"
 msgstr "các tùy chọn push phải không có ký tự dòng mới"
 
@@ -17059,24 +17599,32 @@ msgstr "git range-diff [<các tùy chọn>] <old-tip>…<new-tip>"
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<các tùy chọn>] <base> <old-tip> <new-tip>"
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr "Tỷ lệ phần trăm cái tạo là weighted"
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr "dùng màu diff đơn giản"
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr "ghi chú"
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr "chuyển cho “git log”"
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "không có .. trong vùng: “%s”"
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr "định dạng đối số đơn phải là một vùng đối xứng"
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr "cần hai vùng lần chuyển giao"
 
@@ -17160,6 +17708,10 @@ msgstr "gỡ lỗi “unpack-trees”"
 msgid "suppress feedback messages"
 msgstr "không xuất các thông tin phản hồi"
 
+#: builtin/read-tree.c:188
+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/rebase.c:32
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
@@ -17179,216 +17731,216 @@ msgstr ""
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#: builtin/rebase.c:177 builtin/rebase.c:201 builtin/rebase.c:228
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "danh sách cần làm không dùng được: “%s”"
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
+#: builtin/rebase.c:186 builtin/rebase.c:212 builtin/rebase.c:236
 #, c-format
 msgid "could not write '%s'."
 msgstr "không thể ghi “%s”."
 
-#: builtin/rebase.c:252
+#: builtin/rebase.c:271
 msgid "no HEAD?"
 msgstr "không HEAD?"
 
-#: builtin/rebase.c:279
+#: builtin/rebase.c:298
 #, c-format
 msgid "could not create temporary %s"
 msgstr "không thể tạo %s tạm thời"
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:304
 msgid "could not mark as interactive"
 msgstr "không thể đánh dấu là tương tác"
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:362
 msgid "could not generate todo list"
 msgstr "không thể tạo danh sách cần làm"
 
-#: builtin/rebase.c:383
+#: builtin/rebase.c:402
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "lần chuyển giao cơ sỏ phải được chỉ định với --upstream hoặc --onto"
 
-#: builtin/rebase.c:438
+#: builtin/rebase.c:457
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<các tùy chọn>]"
 
-#: builtin/rebase.c:450
+#: builtin/rebase.c:469
 msgid "keep empty commits"
 msgstr "giữ lại các lần chuyển giao rỗng"
 
-#: builtin/rebase.c:452 builtin/revert.c:128
+#: builtin/rebase.c:471 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:453
+#: builtin/rebase.c:472
 msgid "rebase merge commits"
 msgstr "cải tổ các lần chuyển giao hòa trộn"
 
-#: builtin/rebase.c:455
+#: builtin/rebase.c:474
 msgid "keep original branch points of cousins"
 msgstr "giữ các điểm nhánh nguyên bản của các anh em họ"
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:476
 msgid "move commits that begin with squash!/fixup!"
 msgstr "di chuyển các lần chuyển giao bắt đầu bằng squash!/fixup!"
 
-#: builtin/rebase.c:458
+#: builtin/rebase.c:477
 msgid "sign commits"
 msgstr "ký các lần chuyển giao"
 
-#: builtin/rebase.c:460 builtin/rebase.c:1427
+#: builtin/rebase.c:479 builtin/rebase.c:1455
 msgid "display a diffstat of what changed upstream"
 msgstr "hiển thị một diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:462
+#: builtin/rebase.c:481
 msgid "continue rebase"
 msgstr "tiếp tục cải tổ"
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:483
 msgid "skip commit"
 msgstr "bỏ qua lần chuyển giao"
 
-#: builtin/rebase.c:465
+#: builtin/rebase.c:484
 msgid "edit the todo list"
 msgstr "sửa danh sách cần làm"
 
-#: builtin/rebase.c:467
+#: builtin/rebase.c:486
 msgid "show the current patch"
 msgstr "hiển thị miếng vá hiện hành"
 
-#: builtin/rebase.c:470
+#: builtin/rebase.c:489
 msgid "shorten commit ids in the todo list"
 msgstr "rút ngắn mã chuyển giao trong danh sách cần làm"
 
-#: builtin/rebase.c:472
+#: builtin/rebase.c:491
 msgid "expand commit ids in the todo list"
 msgstr "khai triển mã chuyển giao trong danh sách cần làm"
 
-#: builtin/rebase.c:474
+#: builtin/rebase.c:493
 msgid "check the todo list"
 msgstr "kiểm tra danh sách cần làm"
 
-#: builtin/rebase.c:476
+#: builtin/rebase.c:495
 msgid "rearrange fixup/squash lines"
 msgstr "sắp xếp lại các dòng fixup/squash"
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:497
 msgid "insert exec commands in todo list"
 msgstr "chèn các lệnh thực thi trong danh sách cần làm"
 
-#: builtin/rebase.c:479
+#: builtin/rebase.c:498
 msgid "onto"
 msgstr "lên trên"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:501
 msgid "restrict-revision"
 msgstr "điểm-xét-duyệt-hạn-chế"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:501
 msgid "restrict revision"
 msgstr "điểm xét duyệt hạn chế"
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:503
 msgid "squash-onto"
 msgstr "squash-lên-trên"
 
-#: builtin/rebase.c:485
+#: builtin/rebase.c:504
 msgid "squash onto"
 msgstr "squash lên trên"
 
-#: builtin/rebase.c:487
+#: builtin/rebase.c:506
 msgid "the upstream commit"
 msgstr "lần chuyển giao thượng nguồn"
 
-#: builtin/rebase.c:489
+#: builtin/rebase.c:508
 msgid "head-name"
 msgstr "tên-đầu"
 
-#: builtin/rebase.c:489
+#: builtin/rebase.c:508
 msgid "head name"
 msgstr "tên đầu"
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:513
 msgid "rebase strategy"
 msgstr "chiến lược cải tổ"
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:514
 msgid "strategy-opts"
 msgstr "tùy-chọn-chiến-lược"
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:515
 msgid "strategy options"
 msgstr "các tùy chọn chiến lược"
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:516
 msgid "switch-to"
 msgstr "chuyển-đến"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:517
 msgid "the branch or commit to checkout"
 msgstr "nhánh hay lần chuyển giao lần lấy ra"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:518
 msgid "onto-name"
 msgstr "onto-name"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:518
 msgid "onto name"
 msgstr "tên lên trên"
 
-#: builtin/rebase.c:500
+#: builtin/rebase.c:519
 msgid "cmd"
 msgstr "lệnh"
 
-#: builtin/rebase.c:500
+#: builtin/rebase.c:519
 msgid "the command to run"
 msgstr "lệnh muốn chạy"
 
-#: builtin/rebase.c:503 builtin/rebase.c:1510
+#: builtin/rebase.c:522 builtin/rebase.c:1540
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "lập lịch lại một cách tự động bất kỳ “exec“ bị lỗi"
 
-#: builtin/rebase.c:519
+#: builtin/rebase.c:540
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins không có tác dụng khi không có --rebase-merges"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:556
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s cần một cải tổ kiểu tương tác"
 
-#: builtin/rebase.c:587
+#: builtin/rebase.c:608
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "không thể đặt lấy “onto”: “%s”"
 
-#: builtin/rebase.c:602
+#: builtin/rebase.c:623
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head không hợp lệ: “%s”"
 
-#: builtin/rebase.c:627
+#: builtin/rebase.c:648
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "đang bỏ qua allow_rerere_autoupdate không hợp lệ: “%s”"
 
-#: builtin/rebase.c:703
+#: builtin/rebase.c:724
 #, c-format
 msgid "Could not read '%s'"
 msgstr "Không thể đọc “%s”"
 
-#: builtin/rebase.c:721
+#: builtin/rebase.c:742
 #, c-format
 msgid "Cannot store %s"
 msgstr "Không thể lưu “%s”"
 
-#: builtin/rebase.c:828
+#: builtin/rebase.c:849
 msgid "could not determine HEAD revision"
 msgstr "không thể dò tìm điểm xét duyệt HEAD"
 
-#: builtin/rebase.c:951 git-rebase--preserve-merges.sh:81
+#: builtin/rebase.c:972 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -17403,7 +17955,7 @@ msgstr ""
 "Để bãi bỏ và quay trở lại trạng thái trước \"git rebase\", chạy \"git rebase "
 "--abort\"."
 
-#: builtin/rebase.c:1032
+#: builtin/rebase.c:1060
 #, c-format
 msgid ""
 "\n"
@@ -17422,7 +17974,7 @@ msgstr ""
 "\n"
 "Kết quả là git không thể cải tổ lại chúng."
 
-#: builtin/rebase.c:1339
+#: builtin/rebase.c:1367
 #, c-format
 msgid ""
 "%s\n"
@@ -17439,7 +17991,7 @@ msgstr ""
 "    git rebase “<nhánh>”\n"
 "\n"
 
-#: builtin/rebase.c:1355
+#: builtin/rebase.c:1383
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -17453,133 +18005,145 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<nhánh> %s\n"
 "\n"
 
-#: builtin/rebase.c:1385
+#: builtin/rebase.c:1413
 msgid "exec commands cannot contain newlines"
 msgstr "các lệnh thực thi không thể chứa các ký tự dòng mới"
 
-#: builtin/rebase.c:1389
+#: builtin/rebase.c:1417
 msgid "empty exec command"
 msgstr "lệnh thực thi trống rỗng"
 
-#: builtin/rebase.c:1418
+#: builtin/rebase.c:1446
 msgid "rebase onto given branch instead of upstream"
 msgstr "cải tổ vào nhánh đã cho thay cho thượng nguồn"
 
-#: builtin/rebase.c:1420
+#: builtin/rebase.c:1448
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr ""
 "sử dụng các cơ sở hòa trộn của thượng nguồn và nhánh như là cơ sở hiện tại"
 
-#: builtin/rebase.c:1422
+#: builtin/rebase.c:1450
 msgid "allow pre-rebase hook to run"
 msgstr "cho phép móc (hook) pre-rebase được chạy"
 
-#: builtin/rebase.c:1424
+#: builtin/rebase.c:1452
 msgid "be quiet. implies --no-stat"
 msgstr "hãy im lặng. ý là --no-stat"
 
-#: builtin/rebase.c:1430
+#: builtin/rebase.c:1458
 msgid "do not show diffstat of what changed upstream"
 msgstr "đừng hiển thị diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:1433
+#: builtin/rebase.c:1461
 msgid "add a Signed-off-by: line to each commit"
 msgstr "thêm dòng Signed-off-by: cho từng lần chuyển giao"
 
-#: builtin/rebase.c:1435 builtin/rebase.c:1439 builtin/rebase.c:1441
-msgid "passed to 'git am'"
-msgstr "chuyển cho “git am”"
+#: builtin/rebase.c:1464
+msgid "make committer date match author date"
+msgstr "làm ngày tháng chuyển giao khớp với ngày của tác giả"
+
+#: builtin/rebase.c:1466
+msgid "ignore author date and use current date"
+msgstr "bỏ qua ngày tác giả và sử dụng ngày tháng hiện tại"
+
+#: builtin/rebase.c:1468
+msgid "synonym of --reset-author-date"
+msgstr "đồng nghĩa với --reset-author-date"
 
-#: builtin/rebase.c:1443 builtin/rebase.c:1445
+#: builtin/rebase.c:1470 builtin/rebase.c:1474
 msgid "passed to 'git apply'"
 msgstr "chuyển cho “git apply”"
 
-#: builtin/rebase.c:1447 builtin/rebase.c:1450
+#: builtin/rebase.c:1472
+msgid "ignore changes in whitespace"
+msgstr "lờ đi sự thay đổi do khoảng trắng gây ra"
+
+#: builtin/rebase.c:1476 builtin/rebase.c:1479
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 "cherry-pick tất cả các lần chuyển giao, ngay cả khi không có thay đổi gì"
 
-#: builtin/rebase.c:1452
+#: builtin/rebase.c:1481
 msgid "continue"
 msgstr "tiếp tục"
 
-#: builtin/rebase.c:1455
+#: builtin/rebase.c:1484
 msgid "skip current patch and continue"
 msgstr "bỏ qua miếng vá hiện hành và tiếp tục"
 
-#: builtin/rebase.c:1457
+#: builtin/rebase.c:1486
 msgid "abort and check out the original branch"
 msgstr "bãi bỏ và lấy ra nhánh nguyên thủy"
 
-#: builtin/rebase.c:1460
+#: builtin/rebase.c:1489
 msgid "abort but keep HEAD where it is"
 msgstr "bãi bỏ nhưng vẫn vẫn giữ HEAD chỉ đến nó"
 
-#: builtin/rebase.c:1461
+#: builtin/rebase.c:1490
 msgid "edit the todo list during an interactive rebase"
 msgstr "sửa danh sách cần làm trong quá trình “rebase” (cải tổ) tương tác"
 
-#: builtin/rebase.c:1464
+#: builtin/rebase.c:1493
 msgid "show the patch file being applied or merged"
 msgstr "hiển thị miếng vá đã được áp dụng hay hòa trộn"
 
-#: builtin/rebase.c:1467
+#: builtin/rebase.c:1496
 msgid "use merging strategies to rebase"
 msgstr "dùng chiến lược hòa trộn để cải tổ"
 
-#: builtin/rebase.c:1471
+#: builtin/rebase.c:1500
 msgid "let the user edit the list of commits to rebase"
 msgstr "để người dùng sửa danh sách các lần chuyển giao muốn cải tổ"
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1504
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(ĐàLẠC HẬU) hay thử tạo lại các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1479
+#: builtin/rebase.c:1509
 msgid "preserve empty commits during rebase"
 msgstr "ngăn cấm các lần chuyển giao trống rỗng trong suốt quá trình cải tổ"
 
-#: builtin/rebase.c:1481
+#: builtin/rebase.c:1511
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "di chuyển các lần chuyển giao mà bắt đầu bằng squash!/fixup! dưới -i"
 
-#: builtin/rebase.c:1487
+#: builtin/rebase.c:1517
 msgid "automatically stash/stash pop before and after"
 msgstr "tự động stash/stash pop trước và sau"
 
-#: builtin/rebase.c:1489
+#: builtin/rebase.c:1519
 msgid "add exec lines after each commit of the editable list"
 msgstr "thêm các dòng thực thi sau từng lần chuyển giao của danh sách sửa được"
 
-#: builtin/rebase.c:1493
+#: builtin/rebase.c:1523
 msgid "allow rebasing commits with empty messages"
 msgstr "chấp nhận cải tổ các chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:1496
+#: builtin/rebase.c:1526
 msgid "try to rebase merges instead of skipping them"
 msgstr "cố thử cải tổ các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1499
+#: builtin/rebase.c:1529
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "dùng “merge-base --fork-point” để định nghĩa lại thượng nguồn"
 
-#: builtin/rebase.c:1501
+#: builtin/rebase.c:1531
 msgid "use the given merge strategy"
 msgstr "dùng chiến lược hòa trộn đã cho"
 
-#: builtin/rebase.c:1503 builtin/revert.c:115
+#: builtin/rebase.c:1533 builtin/revert.c:115
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1534
 msgid "pass the argument through to the merge strategy"
 msgstr "chuyển thao số đến chiến lược hòa trộn"
 
-#: builtin/rebase.c:1507
+#: builtin/rebase.c:1537
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "cải tổ tất các các lần chuyển giao cho đến root"
 
-#: builtin/rebase.c:1524
+#: builtin/rebase.c:1554
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -17587,41 +18151,41 @@ msgstr ""
 "việc hỗ trợ rebase.useBuiltin đã bị xóa!\n"
 "Xem mục tin của nó trong “ git help config” để biết chi tiết."
 
-#: builtin/rebase.c:1530
+#: builtin/rebase.c:1560
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 "Hình như đang trong quá trình thực hiện lệnh “git-am”. Không thể rebase."
 
-#: builtin/rebase.c:1571
+#: builtin/rebase.c:1601
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges đã lạc hậu. Hãy dùng --rebase-merges để thay "
 "thế."
 
-#: builtin/rebase.c:1576
+#: builtin/rebase.c:1606
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "không thể kết hợp “--keep-base” với “--onto”"
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1608
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "không thể kết hợp “--keep-base” với “--root”"
 
-#: builtin/rebase.c:1582
+#: builtin/rebase.c:1612
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: builtin/rebase.c:1586
+#: builtin/rebase.c:1616
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: builtin/rebase.c:1609
+#: builtin/rebase.c:1639
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: builtin/rebase.c:1621
+#: builtin/rebase.c:1651
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -17629,16 +18193,16 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: builtin/rebase.c:1640
+#: builtin/rebase.c:1670
 msgid "could not discard worktree changes"
 msgstr "không thể loại bỏ các thay đổi cây-làm-việc"
 
-#: builtin/rebase.c:1659
+#: builtin/rebase.c:1689
 #, c-format
 msgid "could not move back to %s"
 msgstr "không thể quay trở lại %s"
 
-#: builtin/rebase.c:1704
+#: builtin/rebase.c:1734
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -17659,156 +18223,156 @@ msgstr ""
 "và chạy TÔI lần nữa. TÔI dừng lại trong trường hợp bạn vẫn\n"
 "có một số thứ quý giá ở đây.\n"
 
-#: builtin/rebase.c:1725
+#: builtin/rebase.c:1757
 msgid "switch `C' expects a numerical value"
 msgstr "tùy chọn “%c” cần một giá trị bằng số"
 
-#: builtin/rebase.c:1766
+#: builtin/rebase.c:1798
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Không hiểu chế độ: %s"
 
-#: builtin/rebase.c:1788
+#: builtin/rebase.c:1820
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy cần --merge hay --interactive"
 
-#: builtin/rebase.c:1828
+#: builtin/rebase.c:1860
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec cần --exec hay --interactive"
 
-#: builtin/rebase.c:1840
+#: builtin/rebase.c:1872
 msgid "cannot combine am options with either interactive or merge options"
 msgstr ""
 "không thể tổ hợp các tùy chọn am với các tùy chọn tương tác hay hòa trộn"
 
-#: builtin/rebase.c:1859
+#: builtin/rebase.c:1891
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "không thể kết hợp “--preserve-merges” với “--rebase-merges”"
 
-#: builtin/rebase.c:1863
+#: builtin/rebase.c:1895
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr "không thể kết hợp “--preserve-merges” với “--reschedule-failed-exec”"
 
-#: builtin/rebase.c:1887
+#: builtin/rebase.c:1919
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "thượng nguồn không hợp lệ “%s”"
 
-#: builtin/rebase.c:1893
+#: builtin/rebase.c:1925
 msgid "Could not create new root commit"
 msgstr "Không thể tạo lần chuyển giao gốc mới"
 
-#: builtin/rebase.c:1919
+#: builtin/rebase.c:1951
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn với nhánh"
 
-#: builtin/rebase.c:1922
+#: builtin/rebase.c:1954
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn"
 
-#: builtin/rebase.c:1930
+#: builtin/rebase.c:1962
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ “%s”"
 
-#: builtin/rebase.c:1955
+#: builtin/rebase.c:1987
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "nghiêm trọng: không có nhánh/lần chuyển giao “%s” như thế"
 
-#: builtin/rebase.c:1963 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1934
+#: builtin/rebase.c:1995 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:1961
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/rebase.c:1974
+#: builtin/rebase.c:2006
 msgid "Could not resolve HEAD to a revision"
 msgstr "Không thể phân giải lần chuyển giao HEAD đến một điểm xét duyệt"
 
-#: builtin/rebase.c:2012
+#: builtin/rebase.c:2044
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: builtin/rebase.c:2015
+#: builtin/rebase.c:2047
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Gặp đáp ứng stash không cần: “%s”"
 
-#: builtin/rebase.c:2021
+#: builtin/rebase.c:2053
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Không thể tạo thư mục cho “%s”"
 
-#: builtin/rebase.c:2024
+#: builtin/rebase.c:2056
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Đã tạo autostash: %s\n"
 
-#: builtin/rebase.c:2027
+#: builtin/rebase.c:2059
 msgid "could not reset --hard"
 msgstr "không thể reset --hard"
 
-#: builtin/rebase.c:2036
+#: builtin/rebase.c:2068
 msgid "Please commit or stash them."
 msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: builtin/rebase.c:2063
+#: builtin/rebase.c:2095
 #, c-format
 msgid "could not parse '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/rebase.c:2076
+#: builtin/rebase.c:2108
 #, c-format
 msgid "could not switch to %s"
 msgstr "không thể chuyển đến %s"
 
-#: builtin/rebase.c:2087
+#: builtin/rebase.c:2119
 msgid "HEAD is up to date."
 msgstr "HEAD đã cập nhật."
 
-#: builtin/rebase.c:2089
+#: builtin/rebase.c:2121
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi.\n"
 
-#: builtin/rebase.c:2097
+#: builtin/rebase.c:2129
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD hiện đã được cập nhật rồi, bị ép buộc rebase."
 
-#: builtin/rebase.c:2099
+#: builtin/rebase.c:2131
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi, lệnh rebase ép buộc.\n"
 
-#: builtin/rebase.c:2107
+#: builtin/rebase.c:2139
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: builtin/rebase.c:2114
+#: builtin/rebase.c:2146
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Thay đổi thành %s:\n"
 
-#: builtin/rebase.c:2117
+#: builtin/rebase.c:2149
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Thay đổi từ %s thành %s:\n"
 
-#: builtin/rebase.c:2142
+#: builtin/rebase.c:2174
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…\n"
 
-#: builtin/rebase.c:2151
+#: builtin/rebase.c:2183
 msgid "Could not detach HEAD"
 msgstr "Không thể tách rời HEAD"
 
-#: builtin/rebase.c:2160
+#: builtin/rebase.c:2192
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Chuyển-tiếp-nhanh %s đến %s.\n"
@@ -18096,7 +18660,7 @@ msgstr "(khớp)"
 msgid "(delete)"
 msgstr "(xóa)"
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:629 builtin/remote.c:764 builtin/remote.c:863
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Không có máy chủ nào như vậy: “%s”"
@@ -18117,17 +18681,17 @@ msgstr ""
 "\t%s\n"
 "\tXin hãy cập nhật phần cấu hình một cách thủ công nếu thấy cần thiết."
 
-#: builtin/remote.c:702
+#: builtin/remote.c:701
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "gặp lỗi khi xóa “%s”"
 
-#: builtin/remote.c:736
+#: builtin/remote.c:735
 #, c-format
 msgid "creating '%s' failed"
 msgstr "gặp lỗi khi tạo “%s”"
 
-#: builtin/remote.c:802
+#: builtin/remote.c:801
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -18139,119 +18703,119 @@ msgstr[0] ""
 "đi;\n"
 "để xóa đi, sử dụng:"
 
-#: builtin/remote.c:816
+#: builtin/remote.c:815
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Không thể gỡ bỏ phần cấu hình “%s”"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:916
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " mới (lần lấy về tiếp theo sẽ lưu trong remotes/%s)"
 
-#: builtin/remote.c:920
+#: builtin/remote.c:919
 msgid " tracked"
 msgstr " được theo dõi"
 
-#: builtin/remote.c:922
+#: builtin/remote.c:921
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
-#: builtin/remote.c:924
+#: builtin/remote.c:923
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:965
+#: builtin/remote.c:964
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge không hợp lệ; không thể cải tổ về phía > 1 nhánh"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:973
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "thực hiện rebase một cách tương tác trên máy chủ %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:975
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr ""
 "thực hiện cải tổ (với các hòa trộn) một cách tương tác lên trên máy chủ %s"
 
-#: builtin/remote.c:979
+#: builtin/remote.c:978
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "thực hiện rebase trên máy chủ %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:982
 #, c-format
 msgid " merges with remote %s"
 msgstr " hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:985
 #, c-format
 msgid "merges with remote %s"
 msgstr "hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:988
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    và với máy chủ %s\n"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1031
 msgid "create"
 msgstr "tạo"
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1034
 msgid "delete"
 msgstr "xóa"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1038
 msgid "up to date"
 msgstr "đã cập nhật"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1041
 msgid "fast-forwardable"
 msgstr "có-thể-chuyển-tiếp-nhanh"
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1044
 msgid "local out of date"
 msgstr "dữ liệu nội bộ đã cũ"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s ép buộc thành %-*s (%s)"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1054
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s đẩy lên thành %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1058
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s ép buộc thành %s"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1061
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s đẩy lên thành %s"
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1129
 msgid "do not query remotes"
 msgstr "không truy vấn các máy chủ"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1156
 #, c-format
 msgid "* remote %s"
 msgstr "* máy chủ %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1157
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về: %s"
 
-#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
+#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
 msgid "(no URL)"
 msgstr "(không có URL)"
 
@@ -18259,185 +18823,176 @@ msgstr "(không có URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1173 builtin/remote.c:1175
+#: builtin/remote.c:1172 builtin/remote.c:1174
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL để đẩy lên: %s"
 
-#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
+#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
-#: builtin/remote.c:1177
+#: builtin/remote.c:1176
 msgid "(not queried)"
 msgstr "(không yêu cầu)"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1178
 msgid "(unknown)"
 msgstr "(không hiểu)"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1182
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  nhánh HEAD (HEAD máy chủ chưa rõ ràng, có lẽ là một trong số sau):\n"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1194
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Những nhánh trên máy chủ:%s"
 
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1197 builtin/remote.c:1223
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
-#: builtin/remote.c:1207
+#: builtin/remote.c:1206
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Những nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 
-#: builtin/remote.c:1215
+#: builtin/remote.c:1214
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh “git push”"
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1220
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Những tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1241
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1243
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "xóa refs/remotes/<tên>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1258
 msgid "Cannot determine remote HEAD"
 msgstr "Không thể xác định được HEAD máy chủ"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1260
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "Nhiều nhánh HEAD máy chủ. Hãy chọn rõ ràng một:"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1270
 #, c-format
 msgid "Could not delete %s"
 msgstr "Không thể xóa bỏ %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1278
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Không phải là tham chiếu hợp lệ: %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1280
 #, c-format
 msgid "Could not setup %s"
 msgstr "Không thể cài đặt %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1298
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s sẽ trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1309
 #, c-format
 msgid "Pruning %s"
 msgstr "Đang xén bớt %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1310
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1326
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [nên xén bớt] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1329
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [đã bị xén] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1374
 msgid "prune remotes after fetching"
 msgstr "cắt máy chủ sau khi lấy về"
 
-#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
+#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Không có máy chủ nào có tên “%s”"
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1453
 msgid "add branch"
 msgstr "thêm nhánh"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1460
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1477
 msgid "query push URLs rather than fetch URLs"
 msgstr "truy vấn đẩy URL thay vì lấy"
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1479
 msgid "return all URLs"
 msgstr "trả về mọi URL"
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1507
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "không có URL nào được cấu hình cho nhánh “%s”"
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1533
 msgid "manipulate push URLs"
 msgstr "đẩy các “URL” bằng tay"
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1535
 msgid "add URL"
 msgstr "thêm URL"
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1537
 msgid "delete URLs"
 msgstr "xóa URLs"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1544
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1583
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Kiểu mẫu URL cũ không hợp lệ: %s"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1591
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Không tìm thấy URL như vậy: %s"
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1593
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr "chi tiết; phải được đặt trước một lệnh-con"
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr "Không hiểu câu lệnh con: %s"
-
 #: builtin/repack.c:23
 msgid "git repack [<options>]"
 msgstr "git repack [<các tùy chọn>]"
@@ -18456,109 +19011,109 @@ msgstr ""
 "không thể lấy thông tin thống kê pack-objects để mà đóng gói lại các đối "
 "tượng hứa hẹn"
 
-#: builtin/repack.c:230 builtin/repack.c:409
+#: builtin/repack.c:230 builtin/repack.c:416
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack: Đang chỉ cần các dòng ID đối tượng dạng thập lục phân đầy dủ từ pack-"
 "objects."
 
-#: builtin/repack.c:247
+#: builtin/repack.c:254
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr "không thể hoàn tất pack-objects để đóng gói các đối tượng hứa hẹn"
 
-#: builtin/repack.c:285
+#: builtin/repack.c:292
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:287
+#: builtin/repack.c:294
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "giống với -a, và chỉnh sửa các đối tượng không đọc được thiếu sót"
 
-#: builtin/repack.c:290
+#: builtin/repack.c:297
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "xóa bỏ các gói dư thừa, và chạy git-prune-packed"
 
-#: builtin/repack.c:292
+#: builtin/repack.c:299
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:294
+#: builtin/repack.c:301
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:296
+#: builtin/repack.c:303
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:299
+#: builtin/repack.c:306
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:301
+#: builtin/repack.c:308
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:310
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "chuyển --delta-islands cho git-pack-objects"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:311
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:305
+#: builtin/repack.c:312
 msgid "with -A, do not loosen objects older than this"
 msgstr "với -A, các đối tượng cũ hơn khoảng thời gian này thì không bị mất"
 
-#: builtin/repack.c:307
+#: builtin/repack.c:314
 msgid "with -a, repack unreachable objects"
 msgstr "với -a, đóng gói lại các đối tượng không thể đọc được"
 
-#: builtin/repack.c:309
+#: builtin/repack.c:316
 msgid "size of the window used for delta compression"
 msgstr "kích thước cửa sổ được dùng cho nén “delta”"
 
-#: builtin/repack.c:310 builtin/repack.c:316
+#: builtin/repack.c:317 builtin/repack.c:323
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:311
+#: builtin/repack.c:318
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "giống như trên, nhưng giới hạn kích thước bộ nhớ hay vì số lượng"
 
-#: builtin/repack.c:313
+#: builtin/repack.c:320
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:315
+#: builtin/repack.c:322
 msgid "limits the maximum number of threads"
 msgstr "giới hạn số lượng tối đa tuyến trình"
 
-#: builtin/repack.c:317
+#: builtin/repack.c:324
 msgid "maximum size of each packfile"
 msgstr "kích thước tối đa cho từng tập tin gói"
 
-#: builtin/repack.c:319
+#: builtin/repack.c:326
 msgid "repack objects in packs marked with .keep"
 msgstr "đóng gói lại các đối tượng trong các gói đã đánh dấu bằng .keep"
 
-#: builtin/repack.c:321
+#: builtin/repack.c:328
 msgid "do not repack this pack"
 msgstr "đừng đóng gói lại gói này"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:338
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "không thể xóa các gói trong một kho đối_tượng_vĩ_đại"
 
-#: builtin/repack.c:335
+#: builtin/repack.c:342
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable và -A xung khắc nhau"
 
-#: builtin/repack.c:418
+#: builtin/repack.c:425
 msgid "Nothing new to pack."
 msgstr "Không có gì mới để mà đóng gói."
 
-#: builtin/repack.c:479
+#: builtin/repack.c:486
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -18577,7 +19132,7 @@ msgstr ""
 "CẢNH BÁO: nguyên gốc của nó cũng gặp lỗi.\n"
 "CẢNH BÁO: Vui lòng đổi tên chúng trong %s bằng tay:\n"
 
-#: builtin/repack.c:527
+#: builtin/repack.c:534
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "gặp lỗi khi gỡ bỏ “%s”"
@@ -18855,120 +19410,128 @@ msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 
 #: builtin/reset.c:33
-msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
-msgstr "git reset [-q] [<tree-ish>] [--] </các/đường/dẫn>…"
+#| msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
+msgstr "git reset [-q] [<tree-ish>] [--] <đặc/tả/đường/dẫn>..."
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<tree-ish>] [--] [</các/đường/dẫn>…]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+
+#: builtin/reset.c:35
+#| msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
+msgstr "git reset --patch [<tree-ish>] [--] [<đặc/tả/đường/dẫn>...]"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "mixed"
 msgstr "pha trộn"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "soft"
 msgstr "mềm"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "hard"
 msgstr "cứng"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "merge"
 msgstr "hòa trộn"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "keep"
 msgstr "giữ lại"
 
-#: builtin/reset.c:81
+#: builtin/reset.c:82
 msgid "You do not have a valid HEAD."
 msgstr "Bạn không có HEAD nào hợp lệ."
 
-#: builtin/reset.c:83
+#: builtin/reset.c:84
 msgid "Failed to find tree of HEAD."
 msgstr "Gặp lỗi khi tìm cây của HEAD."
 
-#: builtin/reset.c:89
+#: builtin/reset.c:90
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Gặp lỗi khi tìm cây của %s."
 
-#: builtin/reset.c:114
+#: builtin/reset.c:115
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD hiện giờ tại %s"
 
-#: builtin/reset.c:193
+#: builtin/reset.c:194
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Không thể thực hiện một %s reset ở giữa của quá trình hòa trộn."
 
-#: builtin/reset.c:293 builtin/stash.c:520 builtin/stash.c:595
-#: builtin/stash.c:619
+#: builtin/reset.c:294 builtin/stash.c:519 builtin/stash.c:594
+#: builtin/stash.c:618
 msgid "be quiet, only report errors"
 msgstr "làm việc ở chế độ im lặng, chỉ hiển thị khi có lỗi"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:296
 msgid "reset HEAD and index"
 msgstr "đặt lại (reset) HEAD và bảng mục lục"
 
-#: builtin/reset.c:296
+#: builtin/reset.c:297
 msgid "reset only HEAD"
 msgstr "chỉ đặt lại (reset) HEAD"
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:299 builtin/reset.c:301
 msgid "reset HEAD, index and working tree"
 msgstr "đặt lại HEAD, bảng mục lục và cây làm việc"
 
-#: builtin/reset.c:302
+#: builtin/reset.c:303
 msgid "reset HEAD but keep local changes"
 msgstr "đặt lại HEAD nhưng giữ lại các thay đổi nội bộ"
 
-#: builtin/reset.c:308
+#: builtin/reset.c:309
 msgid "record only the fact that removed paths will be added later"
 msgstr "chỉ ghi lại những đường dẫn thực sự sẽ được thêm vào sau này"
 
-#: builtin/reset.c:326
+#: builtin/reset.c:343
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Gặp lỗi khi phân giải “%s” như là điểm xét duyệt hợp lệ."
 
-#: builtin/reset.c:334
+#: builtin/reset.c:351
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Gặp lỗi khi phân giải “%s” như là một cây (tree) hợp lệ."
 
-#: builtin/reset.c:343
+#: builtin/reset.c:360
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch xung khắc với --{hard,mixed,soft}"
 
-#: builtin/reset.c:353
+#: builtin/reset.c:370
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed với các đường dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git "
 "reset -- </các/đường/dẫn>”."
 
-#: builtin/reset.c:355
+#: builtin/reset.c:372
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Không thể thực hiện lệnh %s reset với các đường dẫn."
 
-#: builtin/reset.c:370
+#: builtin/reset.c:387
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "%s reset không được phép trên kho thuần"
 
-#: builtin/reset.c:374
+#: builtin/reset.c:391
 msgid "-N can only be used with --mixed"
 msgstr "-N chỉ được dùng khi có --mixed"
 
-#: builtin/reset.c:395
+#: builtin/reset.c:412
 msgid "Unstaged changes after reset:"
 msgstr "Những thay đổi được đưa ra khỏi bệ phóng sau khi reset:"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:415
 #, c-format
 msgid ""
 "\n"
@@ -18982,12 +19545,12 @@ msgstr ""
 "Bạn có thể sử dụng để tránh việc này. Đặt reset.quiet thành true trong\n"
 "cài đặt config nếu bạn muốn thực hiện nó như là mặc định.\n"
 
-#: builtin/reset.c:408
+#: builtin/reset.c:425
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét duyệt “%s”."
 
-#: builtin/reset.c:412
+#: builtin/reset.c:429
 msgid "Could not write new index file."
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 
@@ -19444,6 +20007,59 @@ msgstr ""
 "hiển thị các tham chiếu từ đầu vào tiêu chuẩn (stdin) cái mà không ở kho nội "
 "bộ"
 
+#: builtin/sparse-checkout.c:20
+msgid "git sparse-checkout (init|list|set|disable) <options>"
+msgstr "git sparse-checkout (init|list|set|disable) <các-tùy-chọn>"
+
+#: builtin/sparse-checkout.c:61
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr ""
+"không thể phân tích cú pháp cây làm việc này (tập tin sparse-checkout có lẽ "
+"không tồn tại)"
+
+#: builtin/sparse-checkout.c:220
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "gặp lỗi khi đặt cài đặt extensions.worktreeConfig"
+
+#: builtin/sparse-checkout.c:237
+msgid "git sparse-checkout init [--cone]"
+msgstr "git sparse-checkout init [--cone]"
+
+#: builtin/sparse-checkout.c:256
+msgid "initialize the sparse-checkout in cone mode"
+msgstr "khởi tạo sparse-checkout trong chế độ nón"
+
+#: builtin/sparse-checkout.c:262
+#| msgid "skip applying sparse checkout filter"
+msgid "initialize sparse-checkout"
+msgstr "khởi tạo sparse-checkout"
+
+#: builtin/sparse-checkout.c:295
+#, c-format
+msgid "failed to open '%s'"
+msgstr "gặp lỗi khi mở “%s”"
+
+#: builtin/sparse-checkout.c:361
+#| msgid "git hash-object  --stdin-paths"
+msgid "git sparse-checkout set (--stdin | <patterns>)"
+msgstr "git sparse-checkout set (--stdin | <các mẫu>)"
+
+#: builtin/sparse-checkout.c:378
+msgid "read patterns from standard in"
+msgstr "đọc các mẫu từ đầu vào tiêu chuẩn"
+
+#: builtin/sparse-checkout.c:384
+msgid "set sparse-checkout patterns"
+msgstr "đặt các mẫu sparse-checkout"
+
+#: builtin/sparse-checkout.c:447
+msgid "disable sparse-checkout"
+msgstr "tắt sparse-checkout"
+
+#: builtin/sparse-checkout.c:459
+msgid "error while refreshing working directory"
+msgstr "gặp lỗi khi đọc lại thư mục làm việc"
+
 #: builtin/stash.c:22 builtin/stash.c:37
 msgid "git stash list [<options>]"
 msgstr "git stash list [<các tùy chọn>]"
@@ -19508,7 +20124,7 @@ msgstr "“%s” không phải là lần chuyển giao kiểu-stash (cất đi)"
 msgid "Too many revisions specified:%s"
 msgstr "Chỉ ra quá nhiều điểm xét duyệt: %s"
 
-#: builtin/stash.c:161 git-legacy-stash.sh:548
+#: builtin/stash.c:161 git-legacy-stash.sh:549
 msgid "No stash entries found."
 msgstr "Không tìm thấy các mục tạm cất (stash) nào."
 
@@ -19548,51 +20164,51 @@ msgstr "không thể phục hồi các tập tin chưa theo dõi từ mục cấ
 msgid "Merging %s with %s"
 msgstr "Đang hòa trộn %s với %s"
 
-#: builtin/stash.c:460 git-legacy-stash.sh:680
+#: builtin/stash.c:460 git-legacy-stash.sh:681
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: builtin/stash.c:522 builtin/stash.c:621
+#: builtin/stash.c:521 builtin/stash.c:620
 msgid "attempt to recreate the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/stash.c:555
+#: builtin/stash.c:554
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "Đã xóa %s (%s)"
 
-#: builtin/stash.c:558
+#: builtin/stash.c:557
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: Không thể xóa bỏ mục stash"
 
-#: builtin/stash.c:583
+#: builtin/stash.c:582
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "”%s” không phải tham chiếu đến stash"
 
-#: builtin/stash.c:633 git-legacy-stash.sh:694
+#: builtin/stash.c:632 git-legacy-stash.sh:695
 msgid "The stash entry is kept in case you need it again."
 msgstr "Các mục tạm cất (stash) được giữ trong trường hợp bạn lại cần nó."
 
-#: builtin/stash.c:656 git-legacy-stash.sh:712
+#: builtin/stash.c:655 git-legacy-stash.sh:713
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: builtin/stash.c:796 builtin/stash.c:833
+#: builtin/stash.c:795 builtin/stash.c:832
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Không thể cập nhật %s với %s"
 
-#: builtin/stash.c:814 builtin/stash.c:1470 builtin/stash.c:1506
+#: builtin/stash.c:813 builtin/stash.c:1470 builtin/stash.c:1506
 msgid "stash message"
 msgstr "phần chú thích cho stash"
 
-#: builtin/stash.c:824
+#: builtin/stash.c:823
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" cần một đối số <lần chuyển giao>"
 
-#: builtin/stash.c:1046 git-legacy-stash.sh:217
+#: builtin/stash.c:1045 git-legacy-stash.sh:218
 msgid "No changes selected"
 msgstr "Chưa có thay đổi nào được chọn"
 
@@ -19608,16 +20224,16 @@ msgstr "Không thể ghi lại trạng thái bảng mục lục hiện hành"
 msgid "Cannot save the untracked files"
 msgstr "Không thể ghi lại các tập tin chưa theo dõi"
 
-#: builtin/stash.c:1192 builtin/stash.c:1201 git-legacy-stash.sh:200
-#: git-legacy-stash.sh:213
+#: builtin/stash.c:1192 builtin/stash.c:1201 git-legacy-stash.sh:201
+#: git-legacy-stash.sh:214
 msgid "Cannot save the current worktree state"
 msgstr "Không thể ghi lại trạng thái cây-làm-việc hiện hành"
 
-#: builtin/stash.c:1229 git-legacy-stash.sh:233
+#: builtin/stash.c:1229 git-legacy-stash.sh:234
 msgid "Cannot record working tree state"
 msgstr "Không thể ghi lại trạng thái cây làm việc hiện hành"
 
-#: builtin/stash.c:1278 git-legacy-stash.sh:337
+#: builtin/stash.c:1278 git-legacy-stash.sh:338
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "Không thể dùng --patch và --include-untracked hay --all cùng một lúc"
 
@@ -19625,15 +20241,15 @@ msgstr "Không thể dùng --patch và --include-untracked hay --all cùng một
 msgid "Did you forget to 'git add'?"
 msgstr "Có lẽ bạn đã quên “git add ” phải không?"
 
-#: builtin/stash.c:1309 git-legacy-stash.sh:345
+#: builtin/stash.c:1309 git-legacy-stash.sh:346
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: builtin/stash.c:1316 git-legacy-stash.sh:350
+#: builtin/stash.c:1316 git-legacy-stash.sh:351
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: builtin/stash.c:1331 git-legacy-stash.sh:354
+#: builtin/stash.c:1331 git-legacy-stash.sh:355
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
@@ -19642,7 +20258,7 @@ msgstr "Không thể ghi lại trạng thái hiện hành"
 msgid "Saved working directory and index state %s"
 msgstr "Đã ghi lại thư mục làm việc và trạng thái mục lục %s"
 
-#: builtin/stash.c:1426 git-legacy-stash.sh:384
+#: builtin/stash.c:1426 git-legacy-stash.sh:385
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
@@ -19687,40 +20303,40 @@ msgstr "giữ và xóa bỏ mọi dòng bắt đầu bằng ký tự ghi chú"
 msgid "prepend comment character and space to each line"
 msgstr "treo trước ký tự ghi chú và ký tự khoảng trắng cho từng dòng"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:1970
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nhận được %s"
 
-#: builtin/submodule--helper.c:62
+#: builtin/submodule--helper.c:64
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper print-default-remote takes không nhận tham số"
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "không thể cắt bỏ một thành phần ra khỏi “%s” url"
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1380
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628
-#: builtin/submodule--helper.c:651
+#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Không tìm thấy url cho đường dẫn mô-đun-con “%s” trong .gitmodules"
 
-#: builtin/submodule--helper.c:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Đang vào “%s”\n"
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -19729,7 +20345,7 @@ msgstr ""
 "run_command trả về trạng thái khác không cho %s\n"
 "."
 
-#: builtin/submodule--helper.c:547
+#: builtin/submodule--helper.c:549
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -19740,19 +20356,19 @@ msgstr ""
 "con lồng nhau của %s\n"
 "."
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr "Chặn kết xuất của từng lệnh mô-đun-con"
 
-#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:1053
 msgid "Recurse into nested submodules"
 msgstr "Đệ quy vào trong các mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--]  <lệnh>"
 
-#: builtin/submodule--helper.c:597
+#: builtin/submodule--helper.c:599
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -19761,56 +20377,56 @@ msgstr ""
 "không thể tìm thấy cấu hình “%s”. Coi rằng đây là kho thượng nguồn có quyền "
 "sở hữu chính nó."
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:669
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:679
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "cảnh báo: chế độ lệnh cập nhật được gợi ý cho mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:686
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:708
+#: builtin/submodule--helper.c:710
 msgid "Suppress output for initializing a submodule"
 msgstr "Chặn kết xuất cho khởi tạo một mô-đun-con"
 
-#: builtin/submodule--helper.c:713
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<các tùy chọn>] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911
+#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:914
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“%s”"
 
-#: builtin/submodule--helper.c:824
+#: builtin/submodule--helper.c:827
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "không thể phân giải tham chiếu HEAD bên trong mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020
+#: builtin/submodule--helper.c:854 builtin/submodule--helper.c:1023
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "gặp lỗi khi đệ quy vào trong mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:878 builtin/submodule--helper.c:1189
 msgid "Suppress submodule status output"
 msgstr "Chặn két xuất tình trạng mô-đun-con"
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:879
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -19818,48 +20434,48 @@ msgstr ""
 "Dùng lần chuyển giao lưu trong mục lục thay cho cái được lưu trong HEAD mô-"
 "đun-con"
 
-#: builtin/submodule--helper.c:877
+#: builtin/submodule--helper.c:880
 msgid "recurse into nested submodules"
 msgstr "đệ quy vào trong mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:882
+#: builtin/submodule--helper.c:885
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 "git submodule status [--quiet] [--cached] [--recursive] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:906
+#: builtin/submodule--helper.c:909
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:970
+#: builtin/submodule--helper.c:973
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Url mô-đun-con đồng bộ hóa cho “%s”\n"
 
-#: builtin/submodule--helper.c:976
+#: builtin/submodule--helper.c:979
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:990
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "gặp lỗi khi lấy máy chủ mặc định cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1001
+#: builtin/submodule--helper.c:1004
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "gặp lỗi khi cập nhật cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1048
+#: builtin/submodule--helper.c:1051
 msgid "Suppress output of synchronizing submodule url"
 msgstr "Chặn kết xuất cho đồng bộ url mô-đun-con"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1058
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:1109
+#: builtin/submodule--helper.c:1112
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -19868,7 +20484,7 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” có chứa thư mục .git (dùng “rm -rf” nếu bạn "
 "thực sự muốn gỡ bỏ nó cùng với toàn bộ lịch sử của chúng)"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1124
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -19877,80 +20493,99 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” chứa các thay đổi nội bộ; hãy dùng “-f” để loại "
 "bỏ chúng đi"
 
-#: builtin/submodule--helper.c:1129
+#: builtin/submodule--helper.c:1132
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Đã xóa thư mục “%s”\n"
 
-#: builtin/submodule--helper.c:1131
+#: builtin/submodule--helper.c:1134
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Không thể gỡ bỏ cây làm việc mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:1142
+#: builtin/submodule--helper.c:1145
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "không thể tạo thư mục mô-đun-con rỗng “%s”"
 
-#: builtin/submodule--helper.c:1158
+#: builtin/submodule--helper.c:1161
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1190
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr "Gỡ bỏ cây làm việc của mô-đun-con ngay cả khi nó có thay đổi nội bộ"
 
-#: builtin/submodule--helper.c:1188
+#: builtin/submodule--helper.c:1191
 msgid "Unregister all submodules"
 msgstr "Bỏ đăng ký tất cả các trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1193
+#: builtin/submodule--helper.c:1196
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--]  [</đường/dẫn>…]]"
 
-#: builtin/submodule--helper.c:1207
+#: builtin/submodule--helper.c:1210
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Dùng “--all” nếu bạn thực sự muốn hủy khởi tạo mọi mô-đun-con"
 
-#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305
+#: builtin/submodule--helper.c:1275
+msgid ""
+"An alternate computed from a superproject's alternate is invalid.\n"
+"To allow Git to clone without an alternate in such a case, set\n"
+"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
+"'--reference-if-able' instead of '--reference'."
+msgstr ""
+"Một cái thay thế được tính toán từ một thay thế của siêu dự án là không hợp "
+"lệ.\n"
+"Để cho Git thực hiện nhân bản mà không có cái thay thế như trong trường hợp "
+"này, đặt\n"
+"submodule.alternateErrorStrategy thành 'info' hoặc, tương đương, nhân bản "
+"bằng\n"
+"'--reference-if-able' thay vì dùng '--reference'."
+
+#: builtin/submodule--helper.c:1314 builtin/submodule--helper.c:1317
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "mô-đun-con “%s” không thể thêm thay thế: %s"
 
-#: builtin/submodule--helper.c:1341
+#: builtin/submodule--helper.c:1353
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateErrorStrategy không được thừa nhận"
 
-#: builtin/submodule--helper.c:1348
+#: builtin/submodule--helper.c:1360
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateLocation không được thừa nhận"
 
-#: builtin/submodule--helper.c:1371
+#: builtin/submodule--helper.c:1383
 msgid "where the new submodule will be cloned to"
 msgstr "nhân bản mô-đun-con mới vào chỗ nào"
 
-#: builtin/submodule--helper.c:1374
+#: builtin/submodule--helper.c:1386
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1389
 msgid "url where to clone the submodule from"
 msgstr "url nơi mà nhân bản mô-đun-con từ đó"
 
-#: builtin/submodule--helper.c:1385
+#: builtin/submodule--helper.c:1397
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1400 builtin/submodule--helper.c:1897
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1393
+#: builtin/submodule--helper.c:1402 builtin/submodule--helper.c:1899
+msgid "disallow cloning into non-empty directory"
+msgstr "làm đầy đủ dữ liệu cho bản sao vào trong một thư mục trống rỗng"
+
+#: builtin/submodule--helper.c:1407
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -19958,95 +20593,105 @@ msgstr ""
 "git submodule--helper clone [--prefix=</đường/dẫn>] [--quiet] [--reference "
 "<kho>] [--name <tên>] [--depth <sâu>] [--url <url>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1424
+#: builtin/submodule--helper.c:1431
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's git dir"
+msgstr "từ chối tạo/dùng '%s' trong một thư mục git của mô đun con"
+
+#: builtin/submodule--helper.c:1442
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "việc sao “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1446
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr "thư mục không trống: '%s'"
+
+#: builtin/submodule--helper.c:1458
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "không thể lấy thư mục mô-đun-con cho “%s”"
 
-#: builtin/submodule--helper.c:1474
+#: builtin/submodule--helper.c:1494
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "Chế độ cập nhật “%s” không hợp lệ cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1478
+#: builtin/submodule--helper.c:1498
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Chế độ cập nhật “%s” không hợp lệ được cấu hình cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1571
+#: builtin/submodule--helper.c:1594
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Đường dẫn mô-đun-con “%s” chưa được khởi tạo"
 
-#: builtin/submodule--helper.c:1575
+#: builtin/submodule--helper.c:1598
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Có lẽ bạn là bạn muốn dùng \"update --init\" phải không?"
 
-#: builtin/submodule--helper.c:1605
+#: builtin/submodule--helper.c:1628
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Bỏ qua các mô-đun-con chưa được hòa trộn %s"
 
-#: builtin/submodule--helper.c:1634
+#: builtin/submodule--helper.c:1657
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1778
+#: builtin/submodule--helper.c:1803
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Gặp lỗi khi nhân bản “%s”. Thử lại lịch trình"
 
-#: builtin/submodule--helper.c:1789
+#: builtin/submodule--helper.c:1814
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Gặp lỗi khi nhân bản “%s” lần thứ hai nên bãi bỏ"
 
-#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:1876 builtin/submodule--helper.c:2120
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:1879
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "đường dẫn đến cây làm việc, chéo biên giới mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:1858
+#: builtin/submodule--helper.c:1883
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:1864
+#: builtin/submodule--helper.c:1889
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 "Tạo một bản sao nông được cắt ngắn thành số lượng điểm xét duyệt đã cho"
 
-#: builtin/submodule--helper.c:1867
+#: builtin/submodule--helper.c:1892
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1894
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "nhân bản lần đầu có nên theo khuyến nghị là nông hay không"
 
-#: builtin/submodule--helper.c:1870
+#: builtin/submodule--helper.c:1895
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1877
+#: builtin/submodule--helper.c:1904
 msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr ""
 "git submodule--helper update-clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1890
+#: builtin/submodule--helper.c:1917
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:1965
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -20055,50 +20700,50 @@ msgstr ""
 "Nhánh mô-đun-con (%s) được cấu hình kế thừa nhánh từ siêu dự án, nhưng siêu "
 "dự án lại không trên bất kỳ nhánh nào"
 
-#: builtin/submodule--helper.c:2061
+#: builtin/submodule--helper.c:2088
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "không thể lấy thẻ quản kho cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2094
+#: builtin/submodule--helper.c:2121
 msgid "recurse into submodules"
 msgstr "đệ quy vào trong mô-đun-con"
 
-#: builtin/submodule--helper.c:2100
+#: builtin/submodule--helper.c:2127
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<các tùy chọn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2183
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "chọn nếu nó là an toàn để ghi vào tập tin .gitmodules"
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2186
 msgid "unset the config in the .gitmodules file"
 msgstr "bỏ đặt cấu hình trong tập tin .gitmodules"
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2191
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <tên> [<giá trị>]"
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2192
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <tên>"
 
-#: builtin/submodule--helper.c:2166
+#: builtin/submodule--helper.c:2193
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2185 git-submodule.sh:171
+#: builtin/submodule--helper.c:2212 git-submodule.sh:173
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "hãy đảm bảo rằng tập tin .gitmodules có trong cây làm việc"
 
-#: builtin/submodule--helper.c:2235 git.c:433 git.c:683
+#: builtin/submodule--helper.c:2262 git.c:433 git.c:684
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
 
-#: builtin/submodule--helper.c:2241
+#: builtin/submodule--helper.c:2268
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "“%s” không phải là lệnh con submodule--helper hợp lệ"
@@ -20353,206 +20998,210 @@ msgstr "thẻ “%s” đã tồn tại rồi"
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:501
 msgid "Unpacking objects"
 msgstr "Đang giải nén các đối tượng"
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr "gặp lỗi khi tạo tập tin %s"
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr "gặp lỗi khi xóa tập tin %s"
 
-#: builtin/update-index.c:114 builtin/update-index.c:220
+#: builtin/update-index.c:115 builtin/update-index.c:221
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "gặp lỗi khi xóa thư mục %s"
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Đang kiểm thử mtime trong “%s” "
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi thêm tập tin mới"
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi thêm thư mục mới"
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr "thông tin thống kê thư mục thay đổi sau khi cập nhật tập tin"
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "thông tin thống kê thư mục thay đổi sau khi thêm tập tin mới vào trong thư "
 "mục con"
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa tập tin"
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa thư mục"
 
-#: builtin/update-index.c:221
+#: builtin/update-index.c:222
 msgid " OK"
 msgstr " Đồng ý"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:591
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr "tiếp tục làm mới ngay cả khi bảng mục lục cần được cập nhật"
 
-#: builtin/update-index.c:975
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:978
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "để các tập tin thay thế các thư mục và “vice-versa”"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "thông báo các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 "làm tươi mới thậm chí khi bảng mục lục chứa các mục tin chưa được hòa trộn"
 
-#: builtin/update-index.c:987
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "giống --refresh, nhưng bỏ qua các cài đặt “assume-unchanged”"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:1009
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít assumed-unchanged (giả định là không thay đổi)"
 
-#: builtin/update-index.c:1012
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:1015
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:1018
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr "đừng động vào các mục index-only"
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "chỉ thêm vào bảng mục lục; không thêm nội dung vào cơ sở dữ liệu đối tượng"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "gỡ bỏ các đường dẫn được đặt tên thậm chí cả khi nó hiện diện trong thư mục "
 "làm việc"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "với tùy chọn --stdin: các dòng đầu vào được chấm dứt bởi ký tự null"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "đọc danh sách đường dẫn cần cập nhật từ đầu vào tiêu chuẩn"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "không thể đọc các mục từ đầu vào tiêu chuẩn vào bảng mục lục"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "phục hồi các trạng thái #2 và #3 cho các đường dẫn được liệt kê"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "chỉ cập nhật các mục tin mà nó khác biệt so với HEAD"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "bỏ qua các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:1043
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn"
 
-#: builtin/update-index.c:1045
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(cho “porcelains”) quên các xung đột chưa được giải quyết đã ghi"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:1051
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
-#: builtin/update-index.c:1053
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "bật/tắt bộ đệm không theo vết"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr "kiểm tra xem hệ thống tập tin có hỗ trợ đệm không theo dõi hay không"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr "bật bộ đệm không theo vết mà không kiểm tra hệ thống tập tin"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "ghi ra mục lục ngay cả khi không được đánh cờ là có thay đổi"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr "bật/tắt theo dõi hệ thống tập tin"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "đánh dấu các tập tin là hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1066
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "xóa bít hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1169
+#: builtin/update-index.c:1173
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -20560,7 +21209,7 @@ msgstr ""
 "core.splitIndex được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật chia tách mục lục"
 
-#: builtin/update-index.c:1178
+#: builtin/update-index.c:1182
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -20568,7 +21217,7 @@ msgstr ""
 "core.splitIndex được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn tắt chia tách mục lục"
 
-#: builtin/update-index.c:1190
+#: builtin/update-index.c:1194
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -20576,11 +21225,11 @@ msgstr ""
 "core.untrackedCache được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực "
 "sự muốn tắt bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1194
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "Nhớ đệm không theo vết bị tắt"
 
-#: builtin/update-index.c:1202
+#: builtin/update-index.c:1206
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -20588,29 +21237,29 @@ msgstr ""
 "core.untrackedCache được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Nhớ đệm không theo vết được bật cho “%s”"
 
-#: builtin/update-index.c:1214
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor chưa được đặt; đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "fsmonitor được bật"
 
-#: builtin/update-index.c:1221
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor đã được đặt; bỏ đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "fsmonitor bị tắt"
 
@@ -21002,16 +21651,22 @@ msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
 msgid "only useful for debugging"
 msgstr "chỉ hữu ích khi cần gỡ lỗi"
 
-#: fast-import.c:3118
+#: fast-import.c:3125
 #, c-format
 msgid "Expected 'mark' command, got %s"
 msgstr "Cần lệnh 'mark', nhưng lại nhận được %s"
 
-#: fast-import.c:3123
+#: fast-import.c:3130
 #, c-format
 msgid "Expected 'to' command, got %s"
 msgstr "Cần lệnh 'to', nhưng lại nhận được %s"
 
+#: fast-import.c:3254
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr ""
+"tính năng ' %s ' bị cấm chỉ trong đầu vào mà không có --allow-unsafe-features"
+
 #: credential-cache--daemon.c:223
 #, c-format
 msgid ""
@@ -21147,18 +21802,18 @@ msgstr "lỗi nghiêm trọng chưa biết khi ghi ra đầu ra tiêu chuẩn"
 msgid "close failed on standard output"
 msgstr "gặp lỗi khi đóng đầu ra tiêu chuẩn"
 
-#: git.c:792
+#: git.c:793
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 "dò tìm thấy các bí danh quẩn tròn: biểu thức của “%s” không có điểm kết:%s"
 
-#: git.c:842
+#: git.c:843
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "không thể xử lý %s như là một phần bổ sung"
 
-#: git.c:855
+#: git.c:856
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -21167,12 +21822,12 @@ msgstr ""
 "cách dùng: %s\n"
 "\n"
 
-#: git.c:875
+#: git.c:876
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "gặp lỗi khi khai triển bí danh “%s”; “%s” không phải là lệnh git\n"
 
-#: git.c:887
+#: git.c:888
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "gặp lỗi khi chạy lệnh “%s”: %s\n"
@@ -21190,34 +21845,34 @@ msgstr "Điều khiển giao quyền không được hỗ trợ với cURL < 7.2
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Chốt khóa công không được hỗ trợ với cURL < 7.44.0"
 
-#: http.c:878
+#: http.c:876
 msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
 msgstr "CURLSSLOPT_NO_REVOKE không được hỗ trợ với cURL < 7.44.0"
 
-#: http.c:951
+#: http.c:949
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr "Các hạn chế giao thức không được hỗ trợ với cURL < 7.19.4"
 
-#: http.c:1088
+#: http.c:1086
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr ""
 "Không hỗ trợ ứng dụng SSL chạy phía sau “%s”. Hỗ trợ ứng dụng SSL chạy phía "
 "sau:"
 
-#: http.c:1095
+#: http.c:1093
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 "Không thể đặt ứng dụng chạy SSL phía sau “%s”: cURL được biên dịch không có "
 "sự hỗ trợ ứng dụng chạy phía sau SSL"
 
-#: http.c:1099
+#: http.c:1097
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "Không thể đặt ứng dụng chạy sau SSL cho “%s”: đã đặt rồi"
 
-#: http.c:1968
+#: http.c:1966
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -21347,30 +22002,41 @@ msgstr "các_tham_số"
 msgid "object filtering"
 msgstr "lọc đối tượng"
 
-#: parse-options.h:179
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "ngày hết hạn"
 
-#: parse-options.h:193
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:305
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:307
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:313
+#: parse-options.h:317
 msgid "use <n> digits to display SHA-1s"
 msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
 
-#: parse-options.h:332
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩu tin nhắn"
 
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr "đọc đặc tả đường dẫn từ tập tin"
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL character"
+msgstr ""
+"với --pathspec-from-file, các phần tử đặc tả đường dẫn bị ngăn cách bởi ký "
+"tự NULL"
+
 #: ref-filter.h:101
 msgid "key"
 msgstr "khóa"
@@ -21892,162 +22558,170 @@ msgid "Common Git shell script setup code"
 msgstr "Mã cài đặt văn lệnh hệ vỏ Git chung"
 
 #: command-list.h:171
+msgid "Initialize and modify the sparse-checkout"
+msgstr "Khởi tạo và sửa đổi sparse-checkout"
+
+#: command-list.h:172
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Tạm cất đi các thay đổi trong một thư mục làm việc bẩn"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Add file contents to the staging area"
 msgstr "Thêm nội dung tập tin vào vùng bệ phóng"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Show the working tree status"
 msgstr "Hiển thị trạng thái cây làm việc"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Remove unnecessary whitespace"
 msgstr "Xóa bỏ các khoảng trắng không cần thiết"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Initialize, update or inspect submodules"
 msgstr "Khởi tạo, cập nhật hay điều tra các mô-đun-con"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Thao tác hai hướng giữ hai kho Subversion và Git"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Switch branches"
 msgstr "Các nhánh chuyển"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Read, modify and delete symbolic refs"
 msgstr "Đọc, sửa và xóa tham chiếu mềm"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "Tạo, liệt kê, xóa hay xác thực một đối tượng thẻ được ký bằng GPG"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Creates a temporary file with a blob's contents"
 msgstr "Tạo một tập tin tạm với nội dung của blob"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Unpack objects from a packed archive"
 msgstr "Gỡ các đối tượng khỏi một kho lưu đã đóng gói"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Register file contents in the working tree to the index"
 msgstr "Đăng ký nội dung tập tin từ cây làm việc đến bảng mục lục"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Update the object name stored in a ref safely"
 msgstr "Cập nhật tên đối tượng được lưu trong một tham chiếu một cách an toàn"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "Cập nhật tập tin thông tin phụ trợ để giúp đỡ các dịch vụ dumb"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Send archive back to git-archive"
 msgstr "Gửi trở lại kho lưu đến git-archive"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Gửi trở lại các đối tượng đã đóng gói cho git-fetch-pack"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Show a Git logical variable"
 msgstr "Hiển thị một biến Git luận lý"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Check the GPG signature of commits"
 msgstr "Kiểm tra ký lần chuyển giao dùng GPG"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Validate packed Git archive files"
 msgstr "Kiểm tra lại các tập tin kho (lưu trữ, nén) Git đã được đóng gói"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Check the GPG signature of tags"
 msgstr "Kiểm tra chữ ký GPG của các thẻ"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Giao diện Git trên nền web (ứng dụng web chạy trên kho Git)"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Show logs with difference each commit introduces"
 msgstr "Hiển thị các nhật ký với từng lần chuyển giao khác nhau đưa ra"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Manage multiple working trees"
 msgstr "Quản lý nhiều cây làm việc"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Create a tree object from the current index"
 msgstr "Tạo một đối tượng cây từ đầu vào tiêu chuẩn stdin hiện tại"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Defining attributes per path"
 msgstr "Định nghĩa các thuộc tính cho mỗi đường dẫn"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Git command-line interface and conventions"
 msgstr "Giao diện dòng lệnh Git và quy ước"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "A Git core tutorial for developers"
 msgstr "Hướng dẫn Git cơ bản cho nhà phát triển"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "Git for CVS users"
 msgstr "Git dành cho những người dùng CVS"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Tweaking diff output"
 msgstr "Chỉnh kết xuất diff"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "Một tập hợp lệnh hữu dụng tối thiểu để dùng Git hàng ngày"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "A Git Glossary"
 msgstr "Thuật ngữ chuyên môn Git"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Hooks used by Git"
 msgstr "Các móc được sử dụng bởi Git"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Chỉ định các tập tin không cần theo dõi"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "Defining submodule properties"
 msgstr "Định nghĩa thuộc tính mô-đun-con"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "Git namespaces"
 msgstr "Không gian tên Git"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "Git Repository Layout"
 msgstr "Bố cục kho Git"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "Specifying revisions and ranges for Git"
 msgstr "Chỉ định điểm xét duyệt và vùng cho Git"
 
-#: command-list.h:208
+#: command-list.h:209
+msgid "Mounting one repository inside another"
+msgstr "Gắn một kho chứa vào trong một cái khác"
+
+#: command-list.h:210
 msgid "A tutorial introduction to Git: part two"
 msgstr "Hướng dẫn cách dùng Git: phần hai"
 
-#: command-list.h:209
+#: command-list.h:211
 msgid "A tutorial introduction to Git"
 msgstr "Hướng dẫn cách dùng Git"
 
-#: command-list.h:210
+#: command-list.h:212
 msgid "An overview of recommended workflows with Git"
 msgstr "Tổng quan về luồng công việc khuyến nghị nên dùng với Git"
 
@@ -22174,118 +22848,118 @@ msgstr "Đang thử hòa trộn đơn giản với $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "Hòa trộn đơn giản không làm việc, thử hòa trộn tự động."
 
-#: git-legacy-stash.sh:220
+#: git-legacy-stash.sh:221
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Không thể gỡ bỏ bảng mục lục tạm thời (không thể xảy ra)"
 
-#: git-legacy-stash.sh:271
+#: git-legacy-stash.sh:272
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Không thể cập nhật $ref_stash với $w_commit"
 
-#: git-legacy-stash.sh:323
+#: git-legacy-stash.sh:324
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "lỗi: không hiểu tùy chọn cho “stash push”: $option"
 
-#: git-legacy-stash.sh:355
+#: git-legacy-stash.sh:356
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "Đã ghi lại thư mục làm việc và trạng thái mục lục $stash_msg"
 
-#: git-legacy-stash.sh:535
+#: git-legacy-stash.sh:536
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "không hiểu tùy chọn: $opt"
 
-#: git-legacy-stash.sh:555
+#: git-legacy-stash.sh:556
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Chỉ ra quá nhiều điểm xét duyệt: $REV"
 
-#: git-legacy-stash.sh:570
+#: git-legacy-stash.sh:571
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference không phải là tham chiếu hợp lệ"
 
-#: git-legacy-stash.sh:598
+#: git-legacy-stash.sh:599
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "“$args” không phải là lần chuyển giao kiểu-stash (cất đi)"
 
-#: git-legacy-stash.sh:609
+#: git-legacy-stash.sh:610
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "”$args” không phải tham chiếu đến stash"
 
-#: git-legacy-stash.sh:617
+#: git-legacy-stash.sh:618
 msgid "unable to refresh index"
 msgstr "không thể làm tươi mới bảng mục lục"
 
-#: git-legacy-stash.sh:621
+#: git-legacy-stash.sh:622
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Không thể áp dụng một stash ở giữa của quá trình hòa trộn"
 
-#: git-legacy-stash.sh:629
+#: git-legacy-stash.sh:630
 msgid "Conflicts in index. Try without --index."
 msgstr "Xung đột trong bảng mục lục. Hãy thử mà không dùng tùy chọn --index."
 
-#: git-legacy-stash.sh:631
+#: git-legacy-stash.sh:632
 msgid "Could not save index tree"
 msgstr "Không thể ghi lại cây chỉ mục"
 
-#: git-legacy-stash.sh:640
+#: git-legacy-stash.sh:641
 msgid "Could not restore untracked files from stash entry"
 msgstr "Không thể phục hồi các tập tin chưa theo dõi từ mục cất đi (stash)"
 
-#: git-legacy-stash.sh:665
+#: git-legacy-stash.sh:666
 msgid "Cannot unstage modified files"
 msgstr "Không thể bỏ ra khỏi bệ phóng các tập tin đã được sửa chữa"
 
-#: git-legacy-stash.sh:703
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "Đã xóa ${REV} ($s)"
 
-#: git-legacy-stash.sh:704
+#: git-legacy-stash.sh:705
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Không thể xóa bỏ mục stash"
 
-#: git-legacy-stash.sh:791
+#: git-legacy-stash.sh:792
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
-#: git-submodule.sh:200
+#: git-submodule.sh:202
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Đường dẫn tương đối chỉ có thể dùng từ thư mục ở mức cao nhất của cây làm "
 "việc"
 
-#: git-submodule.sh:210
+#: git-submodule.sh:212
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 "repo URL: “$repo” phải là đường dẫn tuyệt đối hoặc là bắt đầu bằng ./|../"
 
-#: git-submodule.sh:229
+#: git-submodule.sh:231
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi"
 
-#: git-submodule.sh:232
+#: git-submodule.sh:234
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr ""
 "”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi và không phải là một mô-đun-"
 "con"
 
-#: git-submodule.sh:239
+#: git-submodule.sh:241
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr "“$sm_path” không có lần chuyển giao nào được lấy ra"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:247
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -22297,23 +22971,23 @@ msgstr ""
 "$sm_path\n"
 "Sử dụng -f nếu bạn thực sự muốn thêm nó vào."
 
-#: git-submodule.sh:268
+#: git-submodule.sh:270
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Đang thêm repo có sẵn tại “$sm_path” vào bảng mục lục"
 
-#: git-submodule.sh:270
+#: git-submodule.sh:272
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "”$sm_path” đã tồn tại từ trước và không phải là một kho git hợp lệ"
 
-#: git-submodule.sh:278
+#: git-submodule.sh:280
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Thư mục git cho “$sm_name” được tìm thấy một cách cục bộ với các máy chủ:"
 
-#: git-submodule.sh:280
+#: git-submodule.sh:282
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -22329,40 +23003,40 @@ msgstr ""
 "hoặc là bạn không chắc chắn điều đó nghĩa là gì thì chọn tên khác với tùy "
 "chọn “--name”."
 
-#: git-submodule.sh:286
+#: git-submodule.sh:288
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 "Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con “$sm_name”."
 
-#: git-submodule.sh:298
+#: git-submodule.sh:300
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Không thể lấy ra mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:305
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Gặp lỗi khi thêm mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:314
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:573
+#: git-submodule.sh:580
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:583
+#: git-submodule.sh:590
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:588
+#: git-submodule.sh:595
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -22371,7 +23045,7 @@ msgstr ""
 "Không thể tìm thấy điểm xét duyệt hiện hành ${remote_name}/${branch} trong "
 "đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:606
+#: git-submodule.sh:613
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
@@ -22380,7 +23054,7 @@ msgstr ""
 "Không thể lấy về trong đường dẫn mô-đun-con “$displaypath”; thử lấy về trực "
 "tiếp $sha1:"
 
-#: git-submodule.sh:612
+#: git-submodule.sh:619
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -22389,74 +23063,74 @@ msgstr ""
 "Đã lấy về từ đường dẫn mô-đun con “$displaypath”, nhưng nó không chứa $sha1. "
 "Lấy về theo định hướng của lần chuyển giao đó gặp lỗi."
 
-#: git-submodule.sh:619
+#: git-submodule.sh:626
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể lấy ra “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:620
+#: git-submodule.sh:627
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
 
-#: git-submodule.sh:624
+#: git-submodule.sh:631
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể cải tổ “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:625
+#: git-submodule.sh:632
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:637
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:631
+#: git-submodule.sh:638
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:643
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Thực hiện không thành công lệnh “$command $sha1” trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:637
+#: git-submodule.sh:644
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: “$command $sha1”"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:675
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:830
+#: git-submodule.sh:886
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
-#: git-submodule.sh:882
+#: git-submodule.sh:938
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:902
+#: git-submodule.sh:958
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_src"
 
-#: git-submodule.sh:905
+#: git-submodule.sh:961
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_dst"
 
-#: git-submodule.sh:908
+#: git-submodule.sh:964
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -22850,77 +23524,18 @@ msgid "Unable to determine absolute path of git directory"
 msgstr "Không thể dò tìm đường dẫn tuyệt đối của thư mục git"
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:210
+#: git-add--interactive.perl:212
 #, perl-format
 msgid "%12s %12s %s"
 msgstr "%12s %12s %s"
 
-#: git-add--interactive.perl:211
-msgid "staged"
-msgstr "đã đưa lên bệ phóng"
-
-#: git-add--interactive.perl:211
-msgid "unstaged"
-msgstr "chưa đưa lên bệ phóng"
-
-#: git-add--interactive.perl:267 git-add--interactive.perl:292
-msgid "binary"
-msgstr "nhị phân"
-
-#: git-add--interactive.perl:276 git-add--interactive.perl:330
-msgid "nothing"
-msgstr "không có gì"
-
-#: git-add--interactive.perl:312 git-add--interactive.perl:327
-msgid "unchanged"
-msgstr "không thay đổi"
-
-#: git-add--interactive.perl:623
-#, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] "đã thêm %d đường dẫn\n"
-
-#: git-add--interactive.perl:626
-#, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] "đã cập nhật %d đường dẫn\n"
-
-#: git-add--interactive.perl:629
-#, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] "đã hoàn nguyên %d đường dẫn\n"
-
-#: git-add--interactive.perl:632
+#: git-add--interactive.perl:634
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "%d đường dẫn đã touch (chạm)\n"
 
-#: git-add--interactive.perl:641
-msgid "Update"
-msgstr "Cập nhật"
-
-#: git-add--interactive.perl:653
-msgid "Revert"
-msgstr "Hoàn nguyên"
-
-#: git-add--interactive.perl:676
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
-
-#: git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr "Thêm các cái chưa được theo dõi"
-
-#: git-add--interactive.perl:693
-msgid "No untracked files.\n"
-msgstr "Không có tập tin nào chưa được theo dõi.\n"
-
-#: git-add--interactive.perl:1051
+#: git-add--interactive.perl:1053
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
@@ -22928,7 +23543,7 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để chuyển lên bệ phóng."
 
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1056
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
@@ -22936,7 +23551,7 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để tạm cất."
 
-#: git-add--interactive.perl:1057
+#: git-add--interactive.perl:1059
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
@@ -22944,8 +23559,8 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để bỏ chuyển lên bệ phóng."
 
-#: git-add--interactive.perl:1060 git-add--interactive.perl:1069
-#: git-add--interactive.perl:1075
+#: git-add--interactive.perl:1062 git-add--interactive.perl:1071
+#: git-add--interactive.perl:1077
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
@@ -22953,8 +23568,8 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để áp dụng."
 
-#: git-add--interactive.perl:1063 git-add--interactive.perl:1066
-#: git-add--interactive.perl:1072
+#: git-add--interactive.perl:1065 git-add--interactive.perl:1068
+#: git-add--interactive.perl:1074
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
@@ -22962,16 +23577,12 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để loại bỏ."
 
-#: git-add--interactive.perl:1109
+#: git-add--interactive.perl:1111
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "gặp lỗi khi tập tin sửa khúc để ghi: %s"
 
-#: git-add--interactive.perl:1110
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr "Chế độ sửa khúc bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
-
-#: git-add--interactive.perl:1116
+#: git-add--interactive.perl:1118
 #, perl-format
 msgid ""
 "---\n"
@@ -22984,36 +23595,12 @@ msgstr ""
 "Để xóa bỏ dòng “%s”, xóa chúng đi.\n"
 "Những dòng bắt đầu bằng %s sẽ bị loại bỏ.\n"
 
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1124
-msgid ""
-"If it does not apply cleanly, you will be given an opportunity to\n"
-"edit again.  If all lines of the hunk are removed, then the edit is\n"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-"Nếu miếng vá không được áp dụng sạch sẽ, bạn sẽ có một cơ hội\n"
-"để sửa lần nữa. Nếu mọi dòng của khúc bị xóa bỏ, thế thì những\n"
-"sửa dổi sẽ bị loại bỏ, và khúc vẫn giữ nguyên.\n"
-
-#: git-add--interactive.perl:1138
+#: git-add--interactive.perl:1140
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "gặp lỗi khi mở tập tin khúc để đọc: %s"
 
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: git-add--interactive.perl:1237
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-"Hunk đã sửa của bạn không được áp dụng. Sửa lại lần nữa (nói \"n\" để loại "
-"bỏ!) [y/n]? "
-
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1248
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -23028,7 +23615,7 @@ msgstr ""
 "d - đừng đưa lên bệ phóng khúc này cũng như bất kỳ cái nào còn lại trong tập "
 "tin"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1254
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -23042,7 +23629,7 @@ msgstr ""
 "a - tạm cất khúc này và tất cả các khúc sau này trong tập tin\n"
 "d - đừng tạm cất khúc này cũng như bất kỳ cái nào còn lại trong tập tin"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1260
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -23058,7 +23645,7 @@ msgstr ""
 "d - đừng đưa ra khỏi bệ phóng khúc này cũng như bất kỳ cái nào còn lại trong "
 "tập tin"
 
-#: git-add--interactive.perl:1264
+#: git-add--interactive.perl:1266
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -23072,7 +23659,7 @@ msgstr ""
 "a - áp dụng khúc này và tất cả các khúc sau này trong tập tin\n"
 "d - đừng áp dụng khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1270 git-add--interactive.perl:1288
+#: git-add--interactive.perl:1272 git-add--interactive.perl:1290
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -23086,7 +23673,7 @@ msgstr ""
 "a - loại bỏ khúc này và tất cả các khúc sau này trong tập tin\n"
 "d - đừng loại bỏ khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1278
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -23100,7 +23687,7 @@ msgstr ""
 "a - loại bỏ khúc này và tất cả các khúc sau này trong tập tin\n"
 "d - đừng loại bỏ khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1282
+#: git-add--interactive.perl:1284
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -23114,7 +23701,7 @@ msgstr ""
 "a - áp dụng khúc này và tất cả các khúc sau này trong tập tin\n"
 "d - đừng áp dụng khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1294
+#: git-add--interactive.perl:1296
 msgid ""
 "y - apply this hunk to worktree\n"
 "n - do not apply this hunk to worktree\n"
@@ -23128,7 +23715,7 @@ msgstr ""
 "a - áp dụng khúc này và tất cả các khúc sau này trong tập tin\n"
 "d - đừng áp dụng khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1309
+#: git-add--interactive.perl:1311
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -23150,224 +23737,196 @@ msgstr ""
 "e - sửa bằng tay khúc hiện hành\n"
 "? - in trợ giúp\n"
 
-#: git-add--interactive.perl:1340
+#: git-add--interactive.perl:1342
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "Các khúc đã chọn không được áp dụng vào bảng mục lục!\n"
 
-#: git-add--interactive.perl:1341
+#: git-add--interactive.perl:1343
 msgid "Apply them to the worktree anyway? "
 msgstr "Vẫn áp dụng chúng cho cây làm việc? "
 
-#: git-add--interactive.perl:1344
+#: git-add--interactive.perl:1346
 msgid "Nothing was applied.\n"
 msgstr "Đã không áp dụng gì cả.\n"
 
-#: git-add--interactive.perl:1355
+#: git-add--interactive.perl:1357
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s\n"
 
-#: git-add--interactive.perl:1364
-msgid "Only binary files changed.\n"
-msgstr "Chỉ có các tập tin nhị phân là thay đổi.\n"
-
-#: git-add--interactive.perl:1366
-msgid "No changes.\n"
-msgstr "Không có thay đổi nào.\n"
-
-#: git-add--interactive.perl:1374
-msgid "Patch update"
-msgstr "Cập nhật miếng vá"
-
-#: git-add--interactive.perl:1426
+#: git-add--interactive.perl:1428
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d%s,?]? "
 msgstr "Thay đổi chế độ bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1427
+#: git-add--interactive.perl:1429
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d%s,?]? "
 msgstr "Xóa khỏi bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1428
+#: git-add--interactive.perl:1430
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d%s,?]? "
 msgstr "Đưa lên bệ phóng khúc này [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1431
+#: git-add--interactive.perl:1433
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d%s,?]? "
 msgstr "Thay đổi chế độ tạm cất đi [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1432
+#: git-add--interactive.perl:1434
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d%s,?]? "
 msgstr "Xóa tạm cất [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1433
+#: git-add--interactive.perl:1435
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d%s,?]? "
 msgstr "Tạm cất khúc này [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1436
+#: git-add--interactive.perl:1438
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d%s,?]? "
 msgstr "Thay đổi chế độ bỏ ra khỏi bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1437
+#: git-add--interactive.perl:1439
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d%s,?]? "
 msgstr "Xóa bỏ việc bỏ ra khỏi bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1438
+#: git-add--interactive.perl:1440
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
 msgstr "Bỏ ra khỏi bệ phóng khúc này [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1441
+#: git-add--interactive.perl:1443
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng thay đổi chế độ cho mục lục [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1442
+#: git-add--interactive.perl:1444
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng việc xóa vào mục lục [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1443
+#: git-add--interactive.perl:1445
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
 msgstr "Áo dụng khúc này vào mục lục [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1446 git-add--interactive.perl:1461
+#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ các thay đổi chế độ từ cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1447 git-add--interactive.perl:1462
+#: git-add--interactive.perl:1449 git-add--interactive.perl:1464
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ việc xóa khỏi cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
+#: git-add--interactive.perl:1450 git-add--interactive.perl:1465
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ khúc này khỏi cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1451
+#: git-add--interactive.perl:1453
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ thay đổi chế độ từ mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1452
+#: git-add--interactive.perl:1454
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ việc xóa khỏi mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1453
+#: git-add--interactive.perl:1455
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ khúc này khỏi mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1456
+#: git-add--interactive.perl:1458
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng thay đổi chế độ cho mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1457
+#: git-add--interactive.perl:1459
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng việc xóa vào mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1458
+#: git-add--interactive.perl:1460
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng khúc này vào mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1466
+#: git-add--interactive.perl:1468
 #, perl-format
 msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng thay đổi chế độ cho cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1467
+#: git-add--interactive.perl:1469
 #, perl-format
 msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng việc xóa cho cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1468
+#: git-add--interactive.perl:1470
 #, perl-format
 msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng khúc này vào cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1568
+#: git-add--interactive.perl:1570
 msgid "No other hunks to goto\n"
 msgstr "Không còn khúc nào để mà nhảy đến\n"
 
-#: git-add--interactive.perl:1575
-msgid "go to which hunk (<ret> to see more)? "
-msgstr "nhảy đến khúc nào (<ret> để xem thêm)? "
-
-#: git-add--interactive.perl:1577
-msgid "go to which hunk? "
-msgstr "nhảy đến khúc nào? "
-
-#: git-add--interactive.perl:1586
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Số không hợp lệ: “%s”\n"
 
-#: git-add--interactive.perl:1591
+#: git-add--interactive.perl:1593
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "Rất tiếc, chỉ có sẵn %d khúc.\n"
 
-#: git-add--interactive.perl:1617
+#: git-add--interactive.perl:1619
 msgid "No other hunks to search\n"
 msgstr "Không còn khúc nào để mà tìm kiếm\n"
 
-#: git-add--interactive.perl:1621
-msgid "search for regex? "
-msgstr "tìm kiếm cho biểu thức chính quy? "
-
-#: git-add--interactive.perl:1634
+#: git-add--interactive.perl:1636
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Định dạng tìm kiếm của biểu thức chính quy không đúng %s: %s\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1646
 msgid "No hunk matches the given pattern\n"
 msgstr "Không thấy khúc nào khớp mẫu đã cho\n"
 
-#: git-add--interactive.perl:1656 git-add--interactive.perl:1678
+#: git-add--interactive.perl:1658 git-add--interactive.perl:1680
 msgid "No previous hunk\n"
 msgstr "Không có khúc kế trước\n"
 
-#: git-add--interactive.perl:1665 git-add--interactive.perl:1684
+#: git-add--interactive.perl:1667 git-add--interactive.perl:1686
 msgid "No next hunk\n"
 msgstr "Không có khúc kế tiếp\n"
 
-#: git-add--interactive.perl:1690
+#: git-add--interactive.perl:1692
 msgid "Sorry, cannot split this hunk\n"
 msgstr "Rất tiếc, không thể chia nhỏ khúc này\n"
 
-#: git-add--interactive.perl:1696
+#: git-add--interactive.perl:1698
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "Chi nhỏ thành %d khúc.\n"
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1708
 msgid "Sorry, cannot edit this hunk\n"
 msgstr "Rất tiếc, không thể sửa khúc này\n"
 
-#: git-add--interactive.perl:1752
-msgid "Review diff"
-msgstr "Xem xét lại diff"
-
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1771
+#: git-add--interactive.perl:1773
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -23387,19 +23946,19 @@ msgstr ""
 "add untracked - thêm nội dung các các tập tin chưa theo dõi và tập hợp các "
 "thay đổi đã đặt lên bệ phóng\n"
 
-#: git-add--interactive.perl:1788 git-add--interactive.perl:1793
-#: git-add--interactive.perl:1796 git-add--interactive.perl:1803
-#: git-add--interactive.perl:1806 git-add--interactive.perl:1813
-#: git-add--interactive.perl:1817 git-add--interactive.perl:1823
+#: git-add--interactive.perl:1790 git-add--interactive.perl:1795
+#: git-add--interactive.perl:1798 git-add--interactive.perl:1805
+#: git-add--interactive.perl:1808 git-add--interactive.perl:1815
+#: git-add--interactive.perl:1819 git-add--interactive.perl:1825
 msgid "missing --"
 msgstr "thiếu --"
 
-#: git-add--interactive.perl:1819
+#: git-add--interactive.perl:1821
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "không hiểu chế độ --patch: %s"
 
-#: git-add--interactive.perl:1825 git-add--interactive.perl:1831
+#: git-add--interactive.perl:1827 git-add--interactive.perl:1833
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "đối số không hợp lệ %s, cần --"
@@ -23766,6 +24325,19 @@ msgstr "Bỏ qua %s với hậu tố sao lưu dự phòng “%s”.\n"
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 
+#, c-format
+#~ msgid "unable to get tree for %s"
+#~ msgstr "không thể lấy cây cho %s"
+
+#~ 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"
+
+#~ msgid "git commit-graph [--object-dir <objdir>]"
+#~ msgstr "git commit-graph [--object-dir <objdir>]"
+
+#~ msgid "git commit-graph read [--object-dir <objdir>]"
+#~ msgstr "git commit-graph read [--object-dir <objdir>]"
+
 #, c-format
 #~ msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 #~ msgstr ""
@@ -23877,9 +24449,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ 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."
 
-#~ msgid "failed to open '%s'"
-#~ msgstr "gặp lỗi khi mở “%s”"
-
 #~ msgid "failed to stat %s\n"
 #~ msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
 
@@ -24406,9 +24975,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgstr ""
 #~ "Không thể thực hiện việc cherry-pick trong khi khi đang cherry-pick khác."
 
-#~ msgid "Could not parse line %d."
-#~ msgstr "Không phân tích được dòng %d."
-
 #~ msgid "Could not open %s"
 #~ msgstr "Không thể mở %s"