]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: ru.po: update Russian translation
authorDimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Fri, 29 Jan 2021 19:39:52 +0000 (21:39 +0200)
committerDimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Fri, 29 Jan 2021 19:45:17 +0000 (21:45 +0200)
Kudos to Philipp Bartsch for whitespace fixes and his helper script[1].

[1]: https://git.grmr.de/phil/pocheck

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
po/ru.po

index a77b462e62398b8794767b02d65a3af2902fa29b..d04ebf15d7f15f33ef03b94bddab72ab6bbf4f6f 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -3,16 +3,19 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2019
-# insolor, 2014
-# insolor, 2014
+# Alexander Golubev <fatzer2@gmail.com>, 2020
+# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2021
+# Mike Manturov, 2014
+# Mike Manturov, 2014
+# Sergey Alyoshin <alyoshin.s@gmail.com>, 2020
+# Sergey Kuznetsov <votkinsk@gmail.com>, 2021
 # Чук Таблицоменделеев <aurum444an@gmail.com>, 2019
 msgid ""
 msgstr ""
 "Project-Id-Version: Git Russian Localization Project\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-06-04 08:24+0800\n"
-"PO-Revision-Date: 2019-06-21 17:28+0000\n"
+"POT-Creation-Date: 2020-12-21 07:10+0800\n"
+"PO-Revision-Date: 2021-01-29 19:33+0000\n"
 "Last-Translator: Dimitriy Ryazantcev <DJm00n@mail.ru>\n"
 "Language-Team: Russian (http://www.transifex.com/djm00n/git-po-ru/language/ru/)\n"
 "MIME-Version: 1.0\n"
@@ -21,73 +24,736 @@ msgstr ""
 "Language: ru\n"
 "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
 
-#: advice.c:103
+#: add-interactive.c:376
+#, c-format
+msgid "Huh (%s)?"
+msgstr "Хм (%s)?"
+
+#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3284
+#: sequencer.c:3735 sequencer.c:3890 builtin/rebase.c:1532
+#: builtin/rebase.c:1955
+msgid "could not read index"
+msgstr "не удалось прочитать индекс"
+
+#: add-interactive.c:584 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr "двоичный"
+
+#: add-interactive.c:642 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr "ничего"
+
+#: add-interactive.c:643 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr "нет изменений"
+
+#: add-interactive.c:680 git-add--interactive.perl:641
+msgid "Update"
+msgstr "Обновить"
+
+#: add-interactive.c:697 add-interactive.c:885
+#, c-format
+msgid "could not stage '%s'"
+msgstr " не удалось проиндексировать «%s»"
+
+#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3478
+msgid "could not write index"
+msgstr "не удалось записать индекс"
+
+#: add-interactive.c:706 git-add--interactive.perl:626
+#, c-format, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "обновлён %d путь\n"
+msgstr[1] "обновлено %d пути\n"
+msgstr[2] "обновлено %d путей\n"
+msgstr[3] "обновлено %d пути\n"
+
+#: add-interactive.c:724 git-add--interactive.perl:676
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "примечание: %s теперь неотслеживаемый.\n"
+
+#: add-interactive.c:729 apply.c:4125 builtin/checkout.c:295
+#: builtin/reset.c:145
+#, c-format
+msgid "make_cache_entry failed for path '%s'"
+msgstr "сбой make_cache_entry для пути «%s»"
+
+#: add-interactive.c:759 git-add--interactive.perl:653
+msgid "Revert"
+msgstr "Обратить изменения"
+
+#: add-interactive.c:775
+msgid "Could not parse HEAD^{tree}"
+msgstr "Не удалось разобрать HEAD^{tree}"
+
+#: add-interactive.c:813 git-add--interactive.perl:629
+#, c-format, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "обращены изменения %d пути\n"
+msgstr[1] "обращены изменения %d путей\n"
+msgstr[2] "обращены изменения %d путей\n"
+msgstr[3] "обращены изменения %d путей\n"
+
+#: add-interactive.c:864 git-add--interactive.perl:693
+#, c-format
+msgid "No untracked files.\n"
+msgstr "Нет неотслеживаемых файлов.\n"
+
+#: add-interactive.c:868 git-add--interactive.perl:687
+msgid "Add untracked"
+msgstr "Добавить неотслеживаемый"
+
+#: add-interactive.c:895 git-add--interactive.perl:623
+#, c-format, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "добавлен %d путь\n"
+msgstr[1] "добавлено %d пути\n"
+msgstr[2] "добавлено %d путей\n"
+msgstr[3] "добавлено %d пути\n"
+
+#: add-interactive.c:925
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr "игнорирую не слитое: %s"
+
+#: add-interactive.c:937 add-patch.c:1751 git-add--interactive.perl:1369
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr "Только изменения двоичных файлов.\n"
+
+#: add-interactive.c:939 add-patch.c:1749 git-add--interactive.perl:1371
+#, c-format
+msgid "No changes.\n"
+msgstr "Нет изменений.\n"
+
+#: add-interactive.c:943 git-add--interactive.perl:1379
+msgid "Patch update"
+msgstr "Обновление патча"
+
+#: add-interactive.c:982 git-add--interactive.perl:1792
+msgid "Review diff"
+msgstr "Просмотреть список изменений"
+
+#: add-interactive.c:1010
+msgid "show paths with changes"
+msgstr "показать пути с изменениями"
+
+#: add-interactive.c:1012
+msgid "add working tree state to the staged set of changes"
+msgstr "добавить содержимое рабочего каталога к списку проиндексированных изменений"
+
+#: add-interactive.c:1014
+msgid "revert staged set of changes back to the HEAD version"
+msgstr "вернуть проиндексированные изменения назад к HEAD-версии"
+
+#: add-interactive.c:1016
+msgid "pick hunks and update selectively"
+msgstr "выбрать отдельные блоки изменений и обновить выборочно"
+
+#: add-interactive.c:1018
+msgid "view diff between HEAD and index"
+msgstr "просмотреть список изменений между HEAD и индексом"
+
+#: add-interactive.c:1020
+msgid "add contents of untracked files to the staged set of changes"
+msgstr "добавить содержимое неотслеживаемых файлов к списку проиндексированных изменений"
+
+#: add-interactive.c:1028 add-interactive.c:1077
+msgid "Prompt help:"
+msgstr "Справка:"
+
+#: add-interactive.c:1030
+msgid "select a single item"
+msgstr "выбрать один элемент"
+
+#: add-interactive.c:1032
+msgid "select a range of items"
+msgstr "выбрать диапазон элементов"
+
+#: add-interactive.c:1034
+msgid "select multiple ranges"
+msgstr "выбрать несколько диапазонов"
+
+#: add-interactive.c:1036 add-interactive.c:1081
+msgid "select item based on unique prefix"
+msgstr "выбрать элемент на основе уникального префикса"
+
+#: add-interactive.c:1038
+msgid "unselect specified items"
+msgstr "убрать выбор указанных элементов"
+
+#: add-interactive.c:1040
+msgid "choose all items"
+msgstr "выбрать все элементы"
+
+#: add-interactive.c:1042
+msgid "(empty) finish selecting"
+msgstr "(пусто) закончить выбор"
+
+#: add-interactive.c:1079
+msgid "select a numbered item"
+msgstr "выбрать элемент по номеру"
+
+#: add-interactive.c:1083
+msgid "(empty) select nothing"
+msgstr "(пусто) ничего не выбирать"
+
+#: add-interactive.c:1091 builtin/clean.c:816 git-add--interactive.perl:1896
+msgid "*** Commands ***"
+msgstr "*** Команды ***"
+
+#: add-interactive.c:1092 builtin/clean.c:817 git-add--interactive.perl:1893
+msgid "What now"
+msgstr "Что теперь"
+
+#: add-interactive.c:1144 git-add--interactive.perl:213
+msgid "staged"
+msgstr "в индексе"
+
+#: add-interactive.c:1144 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr "не в индексе"
+
+#: add-interactive.c:1144 apply.c:4987 apply.c:4990 builtin/am.c:2257
+#: builtin/am.c:2260 builtin/bugreport.c:134 builtin/clone.c:124
+#: builtin/fetch.c:147 builtin/merge.c:284 builtin/pull.c:190
+#: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1818
+#: builtin/submodule--helper.c:1821 builtin/submodule--helper.c:2326
+#: builtin/submodule--helper.c:2329 builtin/submodule--helper.c:2572
+#: git-add--interactive.perl:213
+msgid "path"
+msgstr "путь"
+
+#: add-interactive.c:1151
+msgid "could not refresh index"
+msgstr "не удалось обновить индекс"
+
+#: add-interactive.c:1165 builtin/clean.c:781 git-add--interactive.perl:1803
+#, c-format
+msgid "Bye.\n"
+msgstr "До свидания.\n"
+
+#: add-patch.c:34 git-add--interactive.perl:1431
+#, c-format, perl-format
+msgid "Stage mode change [y,n,q,a,d%s,?]? "
+msgstr "Проиндексировать изменение режима доступа [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:35 git-add--interactive.perl:1432
+#, c-format, perl-format
+msgid "Stage deletion [y,n,q,a,d%s,?]? "
+msgstr "Проиндексировать удаление [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:36 git-add--interactive.perl:1433
+#, c-format, perl-format
+msgid "Stage addition [y,n,q,a,d%s,?]? "
+msgstr "Добавить к индексу [y,n,q,a,d%s,?]?"
+
+#: add-patch.c:37 git-add--interactive.perl:1434
+#, c-format, perl-format
+msgid "Stage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Проиндексировать этот блок изменений [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:39
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for"
+" staging."
+msgstr "При чистом наложении патча изменённая часть сразу будет отмечена для индексирования."
+
+#: add-patch.c:42
+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 hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:56 git-add--interactive.perl:1437
+#, c-format, perl-format
+msgid "Stash mode change [y,n,q,a,d%s,?]? "
+msgstr "Спрятать изменение режима доступа [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:57 git-add--interactive.perl:1438
+#, c-format, perl-format
+msgid "Stash deletion [y,n,q,a,d%s,?]? "
+msgstr "Спрятать удаление файла [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:58 git-add--interactive.perl:1439
+#, c-format, perl-format
+msgid "Stash addition [y,n,q,a,d%s,?]? "
+msgstr "Добавить к спрятанному [y,n,q,a,d%s,?]?"
+
+#: add-patch.c:59 git-add--interactive.perl:1440
+#, c-format, perl-format
+msgid "Stash this hunk [y,n,q,a,d%s,?]? "
+msgstr "Спрятать этот блок изменений [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:61
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for"
+" stashing."
+msgstr "При чистом наложении патча изменённая часть сразу будет отмечена для скрытия."
+
+#: add-patch.c:64
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:80 git-add--interactive.perl:1443
+#, c-format, perl-format
+msgid "Unstage mode change [y,n,q,a,d%s,?]? "
+msgstr "Убрать изменения режима доступа из индекса [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:81 git-add--interactive.perl:1444
+#, c-format, perl-format
+msgid "Unstage deletion [y,n,q,a,d%s,?]? "
+msgstr "Убрать удаление из индекса [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:82 git-add--interactive.perl:1445
+#, c-format, perl-format
+msgid "Unstage addition [y,n,q,a,d%s,?]? "
+msgstr "Убрать из индекса [y,n,q,a,d%s,?]?"
+
+#: add-patch.c:83 git-add--interactive.perl:1446
+#, c-format, perl-format
+msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Убрать из индекса этот блок измений [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:85
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for"
+" unstaging."
+msgstr "При чистом наложении патча изменённая часть сразу будет отмечена для удаления из индекса."
+
+#: add-patch.c:88
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:103 git-add--interactive.perl:1449
+#, c-format, perl-format
+msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
+msgstr "Применить изменение режима доступа к индексу [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:104 git-add--interactive.perl:1450
+#, c-format, perl-format
+msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
+msgstr "Применить удаление к индексу [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:105 git-add--interactive.perl:1451
+#, c-format, perl-format
+msgid "Apply addition to index [y,n,q,a,d%s,?]? "
+msgstr "Применить добавление к индексу [y,n,q,a,d%s,?]?"
+
+#: add-patch.c:106 git-add--interactive.perl:1452
+#, c-format, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
+msgstr "Применить этот блок к индексу [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:108 add-patch.c:176 add-patch.c:221
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for"
+" applying."
+msgstr "При чистом наложении патча изменённая часть сразу будет отмечена для применения."
+
+#: add-patch.c:111
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:126 git-add--interactive.perl:1455
+#: git-add--interactive.perl:1473
+#, c-format, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить изменения режима доступа в рабочем каталоге [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:127 git-add--interactive.perl:1456
+#: git-add--interactive.perl:1474
+#, c-format, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить удаление в рабочем каталоге [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:128 git-add--interactive.perl:1457
+#: git-add--interactive.perl:1475
+#, c-format, perl-format
+msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить добавления из рабочего каталога [y,n,q,a,d%s,?]?"
+
+#: add-patch.c:129 git-add--interactive.perl:1458
+#: git-add--interactive.perl:1476
+#, c-format, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить изменения этого блока в рабочем каталоге [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:131 add-patch.c:154 add-patch.c:199
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be marked for"
+" discarding."
+msgstr "При чистом наложении патча изменённая часть сразу будет отмечена для отмены."
+
+#: add-patch.c:134 add-patch.c:202
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1461
+#, c-format, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить изменения режима доступа в индексе и рабочем каталоге [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:150 add-patch.c:195 git-add--interactive.perl:1462
+#, c-format, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить удаление в индексе и рабочем каталоге [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:151 add-patch.c:196 git-add--interactive.perl:1463
+#, c-format, perl-format
+msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+
+#: add-patch.c:152 add-patch.c:197 git-add--interactive.perl:1464
+#, c-format, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Отменить изменения этого блока в индексе и рабочем каталоге [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:157
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1467
+#, c-format, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Применить изменения режима доступа к индексу и рабочему каталогу [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:172 add-patch.c:217 git-add--interactive.perl:1468
+#, c-format, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Применить удаление к индексу и рабочему каталогу [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:173 add-patch.c:218 git-add--interactive.perl:1469
+#, c-format, perl-format
+msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
+msgstr ""
+
+#: add-patch.c:174 add-patch.c:219 git-add--interactive.perl:1470
+#, c-format, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
+msgstr "Применить изменения этого блока к индексу и рабочему каталогу [y,n,q,a,d%s,?]? "
+
+#: add-patch.c:179
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:224
+msgid ""
+"y - apply this hunk to worktree\n"
+"n - do not apply this hunk to worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file\n"
+msgstr ""
+
+#: add-patch.c:342
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr "не удалось разобрать заголовок блока изменений «%.*s»"
+
+#: add-patch.c:361 add-patch.c:365
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr "не удалось разобрать цветной заголовок блока изменений «%.*s»"
+
+#: add-patch.c:419
+msgid "could not parse diff"
+msgstr "не удалось разобрать список изменений (diff)"
+
+#: add-patch.c:438
+msgid "could not parse colored diff"
+msgstr "не удалось разобрать цветной список изменений (diff)"
+
+#: add-patch.c:452
+#, c-format
+msgid "failed to run '%s'"
+msgstr ""
+
+#: add-patch.c:611
+msgid "mismatched output from interactive.diffFilter"
+msgstr ""
+
+#: add-patch.c:612
+msgid ""
+"Your filter must maintain a one-to-one correspondence\n"
+"between its input and output lines."
+msgstr ""
+
+#: add-patch.c:790
+#, c-format
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr "на %d строке ожидалась информация о контексте\n%.*s"
+
+#: add-patch.c:805
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr "блоки изменений не пересекаются:\n%.*s\n\tне заканчивается на:\n%.*s"
+
+#: add-patch.c:1081 git-add--interactive.perl:1115
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "Ручной режим редактирования блока изменений — смотрите ниже для небольшого руководства.\n"
+
+#: add-patch.c:1085
+#, 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Чтобы убрать «%c»-строки, сделайте их ' '-строками (контекстными).\nЧтобы убрать «%c»-строки, удалите их.\nСтроки, начинающиеся с %cбудут удалены.\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: add-patch.c:1099 git-add--interactive.perl:1129
+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возможность изменить его снова. Если все строки блока\nизменений удалены, то редактирование будет отменено\nи блок останется без изменений.\n"
+
+#: add-patch.c:1132
+msgid "could not parse hunk header"
+msgstr ""
+
+#: add-patch.c:1177
+msgid "'git apply --cached' failed"
+msgstr ""
+
+#. 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:1246 git-add--interactive.perl:1242
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]?"
+" "
+msgstr "Изменённый вами блок не применяется. Редактировать снова (ответ «y» означает «нет»!) [y/n]? "
+
+#: add-patch.c:1289
+msgid "The selected hunks do not apply to the index!"
+msgstr ""
+
+#: add-patch.c:1290 git-add--interactive.perl:1346
+msgid "Apply them to the worktree anyway? "
+msgstr "Все равно применить их к рабочему каталогу? "
+
+#: add-patch.c:1297 git-add--interactive.perl:1349
+msgid "Nothing was applied.\n"
+msgstr "Ничего не применено.\n"
+
+#: add-patch.c:1354
+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 ""
+
+#: add-patch.c:1516 add-patch.c:1526
+msgid "No previous hunk"
+msgstr ""
+
+#: add-patch.c:1521 add-patch.c:1531
+msgid "No next hunk"
+msgstr ""
+
+#: add-patch.c:1537
+msgid "No other hunks to goto"
+msgstr ""
+
+#: add-patch.c:1548 git-add--interactive.perl:1606
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "на какой блок перейти (нажмите <ввод> чтобы увидеть еще)? "
+
+#: add-patch.c:1549 git-add--interactive.perl:1608
+msgid "go to which hunk? "
+msgstr "на какой блок перейти? "
+
+#: add-patch.c:1560
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr ""
+
+#: add-patch.c:1565
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: add-patch.c:1574
+msgid "No other hunks to search"
+msgstr ""
+
+#: add-patch.c:1580 git-add--interactive.perl:1661
+msgid "search for regex? "
+msgstr "искать с помощью регулярного выражения? "
+
+#: add-patch.c:1595
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr ""
+
+#: add-patch.c:1612
+msgid "No hunk matches the given pattern"
+msgstr ""
+
+#: add-patch.c:1619
+msgid "Sorry, cannot split this hunk"
+msgstr ""
+
+#: add-patch.c:1623
+#, c-format
+msgid "Split into %d hunks."
+msgstr ""
+
+#: add-patch.c:1627
+msgid "Sorry, cannot edit this hunk"
+msgstr ""
+
+#: add-patch.c:1679
+msgid "'git apply' failed"
+msgstr ""
+
+#: advice.c:143
+#, c-format
+msgid ""
+"\n"
+"Disable this message with \"git config advice.%s false\""
+msgstr ""
+
+#: advice.c:159
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sподсказка: %.*s%s\n"
 
-#: advice.c:156
+#: advice.c:250
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "Невозможно выполнить копирование коммита в текущую ветку, так как у вас имеются не слитые файлы."
 
-#: advice.c:158
+#: advice.c:252
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Невозможно закоммитить, так как у вас имеются не слитые файлы."
 
-#: advice.c:160
+#: advice.c:254
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Невозможно выполнить слияние, так как у вас имеются не слитые файлы."
 
-#: advice.c:162
+#: advice.c:256
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Невозможно выполнить получение, так как у вас имеются не слитые файлы."
 
-#: advice.c:164
+#: advice.c:258
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Невозможно обратить изменения, так как у вас имеются не слитые файлы."
 
-#: advice.c:166
+#: advice.c:260
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "Невозможно выполнить %s, так как у вас имеются не слитые файлы."
 
-#: advice.c:174
+#: advice.c:268
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
 msgstr "Исправьте их в рабочем каталоге, затем запустите «git add/rm <файл>»,\nчтобы пометить исправление и сделайте коммит."
 
-#: advice.c:182
+#: advice.c:276
 msgid "Exiting because of an unresolved conflict."
 msgstr "Выход из-за неразрешенного конфликта."
 
-#: advice.c:187 builtin/merge.c:1320
+#: advice.c:281 builtin/merge.c:1369
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Вы не завершили слияние (присутствует файл MERGE_HEAD)."
 
-#: advice.c:189
+#: advice.c:283
 msgid "Please, commit your changes before merging."
 msgstr "Перед слиянием, выполните коммит ваших изменений."
 
-#: advice.c:190
+#: advice.c:284
 msgid "Exiting because of unfinished merge."
 msgstr "Выход из-за незавершенного слияния."
 
-#: advice.c:196
+#: advice.c:290
 #, c-format
 msgid ""
-"Note: checking out '%s'.\n"
+"Note: switching to '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by performing another checkout.\n"
+"state without impacting any branches by switching back to a branch.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -b with the checkout command again. Example:\n"
+"do so (now or later) by using -c with the switch command. Example:\n"
+"\n"
+"  git switch -c <new-branch-name>\n"
+"\n"
+"Or undo this operation with:\n"
 "\n"
-"  git checkout -b <new-branch-name>\n"
+"  git switch -\n"
 "\n"
-msgstr "Примечание: переход на «%s».\n\nВы сейчас в состоянии «отделённого HEAD». Вы можете осмотреться, сделать\nэкспериментальные изменения и закоммитить их, также вы можете отменить\nизменения любых коммитов в этом состоянии не затрагивая любые ветки и\nне переходя на них.\n\nЕсли вы хотите создать новую ветку и сохранить свои коммиты, то вы\nможете сделать это (сейчас или позже) вызвав команду checkout снова,\nно с параметром -b. Например:\n\n  git checkout -b <имя-новой-ветки>\n\n"
+"Turn off this advice by setting config variable advice.detachedHead to false\n"
+"\n"
+msgstr ""
 
 #: alias.c:50
 msgid "cmdline ends with \\"
@@ -97,92 +763,82 @@ msgstr "командная строка заканчивается символ
 msgid "unclosed quote"
 msgstr "пропущена закрывающая кавычка"
 
-#: apply.c:63
+#: apply.c:69
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "неопознанная опция для пробелов «%s»"
 
-#: apply.c:79
+#: apply.c:85
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "неопознанная опция для игнорирования пробелов «%s»"
 
-#: apply.c:129
+#: apply.c:135
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject и --3way нельзя использовать одновременно."
 
-#: apply.c:131
+#: apply.c:137
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached и --3way нельзя использовать одновременно."
 
-#: apply.c:134
+#: apply.c:140
 msgid "--3way outside a repository"
 msgstr "--3way вне репозитория"
 
-#: apply.c:145
+#: apply.c:151
 msgid "--index outside a repository"
 msgstr "--index вне репозитория"
 
-#: apply.c:148
+#: apply.c:154
 msgid "--cached outside a repository"
 msgstr "--cached вне репозитория"
 
-#: apply.c:829
+#: apply.c:801
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "Не удалось подготовить регулярное выражение для метки времени %s"
 
-#: apply.c:838
+#: apply.c:810
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec возвратил %d для ввода: %s"
 
-#: apply.c:912
+#: apply.c:884
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "не удалось найти имя файла в строке патча %d"
 
-#: apply.c:950
+#: apply.c:922
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply: плохой git-diff — ожидалось /dev/null, получено %s на строке %d"
 
-#: apply.c:956
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply: плохой git-diff — не согласующееся новое имя файла на строке %d"
 
-#: apply.c:957
+#: apply.c:929
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply: плохой git-diff — не согласующееся старое имя файла на строке %d"
 
-#: apply.c:962
+#: apply.c:934
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: плохой git-diff  — ожидалось /dev/null на строке %d"
 
-#: apply.c:991
+#: apply.c:963
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "недопустимый режим %d: %s"
 
-#: apply.c:1310
+#: apply.c:1282
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "противоречивые строки заголовка %d и %d"
 
-#: apply.c:1482
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "recount: не ожидаемая строка: %.*s"
-
-#: apply.c:1551
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "фрагмент изменений без заголовка на строке %d: %.*s"
-
-#: apply.c:1571
+#: apply.c:1372
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname"
@@ -195,70 +851,80 @@ msgstr[1] "заголовок git diff не нашел информацию об
 msgstr[2] "заголовок git diff не нашел информацию об имени файла при удалении %d ведущих компонент пути к файлу (строка %d)"
 msgstr[3] "заголовок git diff не нашел информацию об имени файла при удалении %d ведущих компонент пути к файлу (строка %d)"
 
-#: apply.c:1584
+#: apply.c:1385
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "заголовок git diff не содержит информации об имени файла (строка %d)"
 
-#: apply.c:1772
+#: apply.c:1481
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "recount: не ожидаемая строка: %.*s"
+
+#: apply.c:1550
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "фрагмент изменений без заголовка на строке %d: %.*s"
+
+#: apply.c:1753
 msgid "new file depends on old contents"
 msgstr "новый файл зависит от старого содержимого"
 
-#: apply.c:1774
+#: apply.c:1755
 msgid "deleted file still has contents"
 msgstr "удаленный файл все еще имеет содержимое"
 
-#: apply.c:1808
+#: apply.c:1789
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "патч поврежден на строке %d"
 
-#: apply.c:1845
+#: apply.c:1826
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "новый файл %s зависит от старого содержимого"
 
-#: apply.c:1847
+#: apply.c:1828
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "удаленный файл %s все еще имеет содержимое"
 
-#: apply.c:1850
+#: apply.c:1831
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** предупреждение: файл %s становится пустым, но не удаляется"
 
-#: apply.c:1997
+#: apply.c:1978
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "поврежденный двоичный патч на строке %d: %.*s"
 
-#: apply.c:2034
+#: apply.c:2015
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "неопознанный двоичный патч на строке %d"
 
-#: apply.c:2196
+#: apply.c:2177
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "патч с мусором на строке %d"
 
-#: apply.c:2282
+#: apply.c:2263
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "не удалось прочитать символьную ссылку %s"
 
-#: apply.c:2286
+#: apply.c:2267
 #, c-format
 msgid "unable to open or read %s"
 msgstr "не удалось открыть или прочесть %s"
 
-#: apply.c:2945
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "неправильное начало строки: «%c»"
 
-#: apply.c:3066
+#: apply.c:3057
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
@@ -267,258 +933,253 @@ msgstr[1] "Часть #%d успешно применена на %d (со сдв
 msgstr[2] "Часть #%d успешно применена на %d (со сдвигом в %d строк)."
 msgstr[3] "Часть #%d успешно применена на %d (со сдвигом в %d строк)."
 
-#: apply.c:3078
+#: apply.c:3069
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Контекст сужен до (%ld/%ld), чтобы применить фрагмент на %d строке"
 
-#: apply.c:3084
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
 "%.*s"
 msgstr "при поиске:\n%.*s"
 
-#: apply.c:3106
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "пропущены данные двоичного патча для «%s»"
 
-#: apply.c:3114
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "невозможно выполнить reverse-apply для двоичного патча, без обращения изменений блока «%s»"
 
-#: apply.c:3161
+#: apply.c:3152
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "невозможно применить двоичный патч «%s» без строки с указанной полной версией индекса"
 
-#: apply.c:3171
+#: apply.c:3163
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "патч применятся к файлу «%s» (%s), но его текущее содержимое не соотвествует ожидаемому."
 
-#: apply.c:3179
+#: apply.c:3171
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "патч применяется к пустому файлу «%s», но файл не пустой"
 
-#: apply.c:3197
+#: apply.c:3189
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "не удалось прочитать необходимую посылку %s для «%s»"
 
-#: apply.c:3210
+#: apply.c:3202
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "не удалось применить двоичный патч к «%s»"
 
-#: apply.c:3216
+#: apply.c:3209
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "после применения двоичного патча для «%s» был получен неправильный результат (ожидалось %s, получено %s)"
 
-#: apply.c:3237
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "ошибка применения изменений: %s:%ld"
 
-#: apply.c:3360
+#: apply.c:3353
 #, c-format
 msgid "cannot checkout %s"
 msgstr "не удалось переключить состояние на %s"
 
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
+#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:73 setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "не удалось прочитать %s"
 
-#: apply.c:3420
+#: apply.c:3413
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "чтение из «%s» за символической ссылкой"
 
-#: apply.c:3449 apply.c:3692
+#: apply.c:3442 apply.c:3685
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "путь %s был переименован/удален"
 
-#: apply.c:3535 apply.c:3707
+#: apply.c:3528 apply.c:3700
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: нет в индексе"
 
-#: apply.c:3544 apply.c:3715
+#: apply.c:3537 apply.c:3708 apply.c:3952
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: не совпадает с индексом"
 
-#: apply.c:3579
+#: apply.c:3572
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "в репозитории отсутствует необходимый двоичный объект для отката к трёхходовому слиянию."
 
-#: apply.c:3582
+#: apply.c:3575
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Откат к трёхходовому слиянию…\n"
 
-#: apply.c:3598 apply.c:3602
+#: apply.c:3591 apply.c:3595
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "не удалось прочитать текущее содержимое «%s»"
 
-#: apply.c:3614
+#: apply.c:3607
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Не удалось откатиться к трёхходовому слиянию…\n"
 
-#: apply.c:3628
+#: apply.c:3621
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Патч применен к «%s» с конфликтами.\n"
 
-#: apply.c:3633
+#: apply.c:3626
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Патч применен к «%s» без ошибок.\n"
 
-#: apply.c:3659
+#: apply.c:3652
 msgid "removal patch leaves file contents"
 msgstr "патч удаления не удалил содержимое файла"
 
-#: apply.c:3732
+#: apply.c:3725
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: неправильный тип"
 
-#: apply.c:3734
+#: apply.c:3727
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s имеет тип %o, а ожидался %o"
 
-#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
-#: read-cache.c:1309
+#: apply.c:3892 apply.c:3894 read-cache.c:832 read-cache.c:858
+#: read-cache.c:1313
 #, c-format
 msgid "invalid path '%s'"
 msgstr "неправильный путь «%s»"
 
-#: apply.c:3943
+#: apply.c:3950
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: уже содержится в индексе"
 
-#: apply.c:3946
+#: apply.c:3954
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: уже содержится в рабочем каталоге"
 
-#: apply.c:3966
+#: apply.c:3974
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "новый режим доступа (%o) для %s не соответствует старому режиму доступа (%o)"
 
-#: apply.c:3971
+#: apply.c:3979
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "новый режим доступа (%o) для %s не соответствует старому режиму доступа (%o) для %s"
 
-#: apply.c:3991
+#: apply.c:3999
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "затронутый файл «%s» находится за символической ссылкой"
 
-#: apply.c:3995
+#: apply.c:4003
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: не удалось применить патч"
 
-#: apply.c:4010
+#: apply.c:4018
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Проверка патча %s…"
 
-#: apply.c:4102
+#: apply.c:4110
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "информация об sha1 отсутствует или бесполезна для подмодуля %s"
 
-#: apply.c:4109
+#: apply.c:4117
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "изменен режим для %s, который не находится в текущем HEAD"
 
-#: apply.c:4112
+#: apply.c:4120
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "информация об sha1 отсутствует или бесполезна (%s)."
 
-#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "сбой make_cache_entry для пути «%s»"
-
-#: apply.c:4121
+#: apply.c:4129
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "не удалось добавить %s во временный индекс"
 
-#: apply.c:4131
+#: apply.c:4139
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "не удалось записать временный индкекс в %s"
 
-#: apply.c:4269
+#: apply.c:4277
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "не удалось удалить %s из индекса"
 
-#: apply.c:4303
+#: apply.c:4311
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "поврежденный патч для подмодуля %s"
 
-#: apply.c:4309
+#: apply.c:4317
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "не удалось выполнить stat для созданного файла «%s»"
 
-#: apply.c:4317
+#: apply.c:4325
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "не удалось создать вспомогательный файл для созданного файла %s"
 
-#: apply.c:4323 apply.c:4468
+#: apply.c:4331 apply.c:4476
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "не удалось создать запись в кэше для %s"
 
-#: apply.c:4366
+#: apply.c:4374 builtin/bisect--helper.c:524
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "не удалось записать в «%s»"
 
-#: apply.c:4370
+#: apply.c:4378
 #, c-format
 msgid "closing file '%s'"
 msgstr "закрытие файла «%s»"
 
-#: apply.c:4440
+#: apply.c:4448
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "не удалось записать файл «%s» с режимом доступа %o"
 
-#: apply.c:4538
+#: apply.c:4546
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Патч %s применен без ошибок."
 
-#: apply.c:4546
+#: apply.c:4554
 msgid "internal error"
 msgstr "внутренняя ошибка"
 
-#: apply.c:4549
+#: apply.c:4557
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
@@ -527,45 +1188,45 @@ msgstr[1] "Применение патча %%s с %d отказами…"
 msgstr[2] "Применение патча %%s с %d отказами…"
 msgstr[3] "Применение патча %%s с %d отказами…"
 
-#: apply.c:4560
+#: apply.c:4568
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "усечение имени .rej файла до %.*s.rej"
 
-#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4576 builtin/fetch.c:927 builtin/fetch.c:1228
 #, c-format
 msgid "cannot open %s"
 msgstr "не удалось открыть %s"
 
-#: apply.c:4582
+#: apply.c:4590
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Блок №%d применен без ошибок."
 
-#: apply.c:4586
+#: apply.c:4594
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Блок №%d отклонен."
 
-#: apply.c:4696
+#: apply.c:4718
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Патч «%s» пропущен."
 
-#: apply.c:4704
+#: apply.c:4726
 msgid "unrecognized input"
 msgstr "не распознанный ввод"
 
-#: apply.c:4724
+#: apply.c:4746
 msgid "unable to read index file"
 msgstr "не удалось прочитать файл индекса"
 
-#: apply.c:4879
+#: apply.c:4903
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "не удалось открыть патч «%s»: %s"
 
-#: apply.c:4906
+#: apply.c:4930
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
@@ -574,7 +1235,7 @@ msgstr[1] "пропущено %d ошибки в пробельных симво
 msgstr[2] "пропущено %d ошибок в пробельных символах"
 msgstr[3] "пропущено %d ошибок в пробельных символах"
 
-#: apply.c:4912 apply.c:4927
+#: apply.c:4936 apply.c:4951
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -583,7 +1244,7 @@ msgstr[1] "%d строки добавили ошибки в пробельных
 msgstr[2] "%d строк добавили ошибки в пробельных символах."
 msgstr[3] "%d строк добавили ошибки в пробельных символах."
 
-#: apply.c:4920
+#: apply.c:4944
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
@@ -592,142 +1253,177 @@ msgstr[1] "%d строки добавлено после исправления
 msgstr[2] "%d строк добавлено после исправления ошибок в пробелах."
 msgstr[3] "%d строки добавлено после исправления ошибок в пробелах."
 
-#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4960 builtin/add.c:618 builtin/mv.c:304 builtin/rm.c:406
 msgid "Unable to write new index file"
 msgstr "Не удалось записать новый файл индекса"
 
-#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
-#: builtin/pull.c:207 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
-#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
-msgid "path"
-msgstr "путь"
-
-#: apply.c:4964
+#: apply.c:4988
 msgid "don't apply changes matching the given path"
 msgstr "не применять изменения по указанному пути"
 
-#: apply.c:4967
+#: apply.c:4991
 msgid "apply changes matching the given path"
 msgstr "применять изменения по указанному пути"
 
-#: apply.c:4969 builtin/am.c:2219
+#: apply.c:4993 builtin/am.c:2266
 msgid "num"
 msgstr "количество"
 
-#: apply.c:4970
+#: apply.c:4994
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "удалить <количество> ведущих косых черт из традиционных путей списка изменений"
 
-#: apply.c:4973
+#: apply.c:4997
 msgid "ignore additions made by the patch"
 msgstr "игнорировать добавления, сделанные этим патчем"
 
-#: apply.c:4975
+#: apply.c:4999
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "вместо применения патча вывести статистику добавлений и удалений для ввода"
 
-#: apply.c:4979
+#: apply.c:5003
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "показать количество добавленных и удаленных строк в десятичном представлении"
 
-#: apply.c:4981
+#: apply.c:5005
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "вместо применения патча вывести сводку изменений для ввода"
 
-#: apply.c:4983
+#: apply.c:5007
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "вместо применения патча проверить подходит ли он"
 
-#: apply.c:4985
+#: apply.c:5009
 msgid "make sure the patch is applicable to the current index"
 msgstr "проверить, что патч применяется к текущему индексу"
 
-#: apply.c:4987
+#: apply.c:5011
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "помечать новые файлы с «git add --intent-to-add»"
 
-#: apply.c:4989
+#: apply.c:5013
 msgid "apply a patch without touching the working tree"
 msgstr "применить патч, не изменяя рабочий каталог"
 
-#: apply.c:4991
+#: apply.c:5015
 msgid "accept a patch that touches outside the working area"
 msgstr "принять патч, который затрагивает файлы за рабочим каталогом"
 
-#: apply.c:4994
+#: apply.c:5018
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "а также применить патч (используйте с --stat/--summary/--check)"
 
-#: apply.c:4996
+#: apply.c:5020
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "попытаться сделать трехходовое слияние, если патч не применяется"
 
-#: apply.c:4998
+#: apply.c:5022
 msgid "build a temporary index based on embedded index information"
 msgstr "построить временный индекс, основанный на встроенной информации об индексе"
 
-#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5025 builtin/checkout-index.c:182 builtin/ls-files.c:525
 msgid "paths are separated with NUL character"
 msgstr "пути, отделённые НУЛЕВЫМ символом"
 
-#: apply.c:5003
+#: apply.c:5027
 msgid "ensure at least <n> lines of context match"
 msgstr "удостовериться, что по крайней мере <n> строк контекста совпадают"
 
-#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
-#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
+#: apply.c:5028 builtin/am.c:2245 builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
+#: builtin/pack-objects.c:3562 builtin/rebase.c:1346
 msgid "action"
 msgstr "действие"
 
-#: apply.c:5005
+#: apply.c:5029
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "определять новые или модифицированные строки, у которых есть ошибки в пробельных символах"
 
-#: apply.c:5008 apply.c:5011
+#: apply.c:5032 apply.c:5035
 msgid "ignore changes in whitespace when finding context"
 msgstr "игнорировать изменения в пробельных символах при поиске контекста"
 
-#: apply.c:5014
+#: apply.c:5038
 msgid "apply the patch in reverse"
 msgstr "применить патч с обращением изменений"
 
-#: apply.c:5016
+#: apply.c:5040
 msgid "don't expect at least one line of context"
 msgstr "не ожидать как минимум одной строки контекста"
 
-#: apply.c:5018
+#: apply.c:5042
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "оставить отклоненные блоки изменений в соответствующих *.rej файлах"
 
-#: apply.c:5020
+#: apply.c:5044
 msgid "allow overlapping hunks"
 msgstr "разрешить перекрывающиеся блоки изменений"
 
-#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5045 builtin/add.c:329 builtin/check-ignore.c:22
+#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:775
+#: builtin/log.c:2287 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "быть многословнее"
 
-#: apply.c:5023
+#: apply.c:5047
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "разрешить некорректно определенные пропущенные пустые строки в конце файла"
 
-#: apply.c:5026
+#: apply.c:5050
 msgid "do not trust the line counts in the hunk headers"
 msgstr "не доверять количеству строк из заголовка блока изменений"
 
-#: apply.c:5028 builtin/am.c:2207
+#: apply.c:5052 builtin/am.c:2254
 msgid "root"
 msgstr "корень"
 
-#: apply.c:5029
-msgid "prepend <root> to all filenames"
-msgstr "добавить <корень> спереди ко всем именам файлов"
+#: apply.c:5053
+msgid "prepend <root> to all filenames"
+msgstr "добавить <корень> спереди ко всем именам файлов"
+
+#: archive-tar.c:125 archive-zip.c:345
+#, c-format
+msgid "cannot stream blob %s"
+msgstr "не удалось создать поток двоичного объекта %s"
+
+#: archive-tar.c:265 archive-zip.c:358
+#, c-format
+msgid "unsupported file mode: 0%o (SHA1: %s)"
+msgstr "неподдерживаемый режим доступа к файлу: 0%o (SHA1: %s)"
+
+#: archive-tar.c:450
+#, c-format
+msgid "unable to start '%s' filter"
+msgstr "не удалось запустить фильтр «%s»"
+
+#: archive-tar.c:453
+msgid "unable to redirect descriptor"
+msgstr "не удалось перенаправить дескриптор"
+
+#: archive-tar.c:460
+#, c-format
+msgid "'%s' filter reported error"
+msgstr "фильтр «%s» сообщил об ошибке"
+
+#: archive-zip.c:318
+#, c-format
+msgid "path is not valid UTF-8: %s"
+msgstr "путь не является действительным UTF-8: %s"
+
+#: archive-zip.c:322
+#, c-format
+msgid "path too long (%d chars, SHA1: %s): %s"
+msgstr "путь слишком длинный (%d символов, SHA1: %s): %s"
+
+#: archive-zip.c:469 builtin/pack-objects.c:244 builtin/pack-objects.c:247
+#, c-format
+msgid "deflate error (%d)"
+msgstr "ошибка сжатия (%d)"
+
+#: archive-zip.c:603
+#, c-format
+msgid "timestamp too large for this system: %<PRIuMAX>"
+msgstr "отметка времени слишком большая для этой системы: %<PRIuMAX>"
 
 #: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
@@ -747,224 +1443,198 @@ msgstr "git archive --remote <репозиторий> [--exec <команда>]
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <репозиторий> [--exec <команда>] --list"
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
+#: archive.c:192
+#, c-format
+msgid "cannot read %s"
+msgstr "не удалось прочитать %s"
+
+#: archive.c:345 sequencer.c:459 sequencer.c:1736 sequencer.c:2886
+#: sequencer.c:3327 sequencer.c:3436 builtin/am.c:249 builtin/commit.c:786
+#: builtin/merge.c:1138
+#, c-format
+msgid "could not read '%s'"
+msgstr "не удалось прочитать «%s»"
+
+#: archive.c:430 builtin/add.c:181 builtin/add.c:594 builtin/rm.c:315
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "спецификатор пути «%s» не соответствует ни одному файлу"
 
-#: archive.c:396
+#: archive.c:454
 #, c-format
 msgid "no such ref: %.*s"
 msgstr "нет такой ссылки: %.*s"
 
-#: archive.c:401
+#: archive.c:460
 #, c-format
 msgid "not a valid object name: %s"
 msgstr "недопустимое имя объекта: %s"
 
-#: archive.c:414
+#: archive.c:473
 #, c-format
 msgid "not a tree object: %s"
 msgstr "недействительный объект дерева: %s"
 
-#: archive.c:424
+#: archive.c:485
 msgid "current working directory is untracked"
 msgstr "текущий рабочий каталог не отслеживается"
 
-#: archive.c:455
+#: archive.c:526
+#, c-format
+msgid "File not found: %s"
+msgstr ""
+
+#: archive.c:528
+#, c-format
+msgid "Not a regular file: %s"
+msgstr ""
+
+#: archive.c:555
 msgid "fmt"
 msgstr "формат"
 
-#: archive.c:455
+#: archive.c:555
 msgid "archive format"
 msgstr "формат архива"
 
-#: archive.c:456 builtin/log.c:1557
+#: archive.c:556 builtin/log.c:1765
 msgid "prefix"
 msgstr "префикс"
 
-#: archive.c:457
+#: archive.c:557
 msgid "prepend prefix to each pathname in the archive"
 msgstr "добавлять префикс перед каждым путем файла в архиве"
 
-#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822
-#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
-#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
-#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
-#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
+#: archive.c:558 archive.c:561 builtin/blame.c:886 builtin/blame.c:890
+#: builtin/blame.c:891 builtin/commit-tree.c:117 builtin/config.c:135
+#: builtin/fast-export.c:1207 builtin/fast-export.c:1209
+#: builtin/fast-export.c:1213 builtin/grep.c:919 builtin/hash-object.c:105
+#: builtin/ls-files.c:561 builtin/ls-files.c:564 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:190
 msgid "file"
 msgstr "файл"
 
-#: archive.c:459 builtin/archive.c:90
+#: archive.c:559
+msgid "add untracked file to archive"
+msgstr ""
+
+#: archive.c:562 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr "запись архива в этот файл"
 
-#: archive.c:461
+#: archive.c:564
 msgid "read .gitattributes in working directory"
 msgstr "читать .gitattributes в рабочем каталоге"
 
-#: archive.c:462
+#: archive.c:565
 msgid "report archived files on stderr"
 msgstr "отчет об архивированных файлах в stderr"
 
-#: archive.c:463
-msgid "store only"
-msgstr "только хранение"
-
-#: archive.c:464
-msgid "compress faster"
-msgstr "сжимать быстрее"
-
-#: archive.c:472
-msgid "compress better"
-msgstr "сжимать лучше"
+#: archive.c:567
+msgid "set compression level"
+msgstr ""
 
-#: archive.c:475
+#: archive.c:570
 msgid "list supported archive formats"
 msgstr "перечислить поддерживаемые форматы архивов"
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
+#: archive.c:572 builtin/archive.c:91 builtin/clone.c:114 builtin/clone.c:117
+#: builtin/submodule--helper.c:1830 builtin/submodule--helper.c:2335
 msgid "repo"
 msgstr "репозиторий"
 
-#: archive.c:478 builtin/archive.c:92
+#: archive.c:573 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "получить архив из внешнего <репозитория>"
 
-#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707
+#: archive.c:574 builtin/archive.c:93 builtin/difftool.c:714
 #: builtin/notes.c:498
 msgid "command"
 msgstr "команда"
 
-#: archive.c:480 builtin/archive.c:94
+#: archive.c:575 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr "путь к команде git-upload-archive на машине с внешним репозиторием"
 
-#: archive.c:487
+#: archive.c:582
 msgid "Unexpected option --remote"
 msgstr "Неожиданная опция --remote"
 
-#: archive.c:489
+#: archive.c:584
 msgid "Option --exec can only be used together with --remote"
 msgstr "Опция --exec может использоваться только вместе с --remote"
 
-#: archive.c:491
+#: archive.c:586
 msgid "Unexpected option --output"
 msgstr "Неожиданная опция --output"
 
-#: archive.c:513
+#: archive.c:588
+msgid "Options --add-file and --remote cannot be used together"
+msgstr ""
+
+#: archive.c:610
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Неизвестный формат архива «%s»"
 
-#: archive.c:520
+#: archive.c:619
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Аргумент не поддерживается для формата «%s»: -%d"
 
-#: archive-tar.c:125 archive-zip.c:345
-#, c-format
-msgid "cannot stream blob %s"
-msgstr "не удалось создать поток двоичного объекта %s"
-
-#: archive-tar.c:260 archive-zip.c:363
-#, c-format
-msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr "неподдерживаемый режим доступа к файлу: 0%o (SHA1: %s)"
-
-#: archive-tar.c:287 archive-zip.c:353
-#, c-format
-msgid "cannot read %s"
-msgstr "не удалось прочитать %s"
-
-#: archive-tar.c:459
-#, c-format
-msgid "unable to start '%s' filter"
-msgstr "не удалось запустить фильтр «%s»"
-
-#: archive-tar.c:462
-msgid "unable to redirect descriptor"
-msgstr "не удалось перенаправить дескриптор"
-
-#: archive-tar.c:469
-#, c-format
-msgid "'%s' filter reported error"
-msgstr "фильтр «%s» сообщил об ошибке"
-
-#: archive-zip.c:314
-#, c-format
-msgid "path is not valid UTF-8: %s"
-msgstr "путь не является действительным UTF-8: %s"
-
-#: archive-zip.c:318
-#, c-format
-msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr "путь слишком длинный (%d символов, SHA1: %s): %s"
-
-#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
-#, c-format
-msgid "deflate error (%d)"
-msgstr "ошибка сжатия (%d)"
-
-#: archive-zip.c:609
-#, c-format
-msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr "отметка времени слишком большая для этой системы: %<PRIuMAX>"
-
-#: attr.c:211
+#: attr.c:202
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s не является допустимым именем атрибута"
 
-#: attr.c:368
+#: attr.c:359
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s не разрешено: %s:%d"
 
-#: attr.c:408
+#: attr.c:399
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr "Отрицающие шаблоны в атрибутах git игнорируются.\nИспользуйте «\\!» для буквального использования символа в значении «восклицательный знак»."
 
-#: bisect.c:468
+#: bisect.c:489
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "Плохое содержимое файла «%s»: %s"
 
-#: bisect.c:678
+#: bisect.c:699
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Невозможно продолжить бинарный поиск!\n"
 
-#: bisect.c:733
+#: bisect.c:766
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "Недопустимое имя коммита %s"
 
-#: bisect.c:758
+#: bisect.c:791
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
 "This means the bug has been fixed between %s and [%s].\n"
 msgstr "База слияния %s является плохим коммитом.\nЭто значит, что ошибка была исправлена где-то между %s и [%s].\n"
 
-#: bisect.c:763
+#: bisect.c:796
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
 "The property has changed between %s and [%s].\n"
 msgstr "База слияния %s является новой.\nСвойство было изменено где-то между %s и [%s].\n"
 
-#: bisect.c:768
+#: bisect.c:801
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
 "This means the first '%s' commit is between %s and [%s].\n"
 msgstr "База слияния %s является %s.\nЭто значит, что «%s» коммит находится где-то между %s и [%s].\n"
 
-#: bisect.c:776
+#: bisect.c:809
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -972,7 +1642,7 @@ msgid ""
 "Maybe you mistook %s and %s revs?\n"
 msgstr "Несколько %s коммитов не являются предками %s коммита.\nВ этом случае git bisect не может работать правильно.\nВозможно, вы перепутали редакции %s и %s местами?\n"
 
-#: bisect.c:789
+#: bisect.c:822
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -980,43 +1650,43 @@ msgid ""
 "We continue anyway."
 msgstr "База слияния между %s и [%s] должно быть пропущена.\nПоэтому мы не можем быть уверены, что первый %s коммит находится между %s и %s.\nНо все же продолжаем поиск."
 
-#: bisect.c:822
+#: bisect.c:861
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Бинарный поиск: база слияния должна быть проверена\n"
 
-#: bisect.c:865
+#: bisect.c:911
 #, c-format
 msgid "a %s revision is needed"
 msgstr "нужно указать %s редакцию"
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
+#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:255
 #, c-format
 msgid "could not create file '%s'"
 msgstr "не удалось создать файл «%s»"
 
-#: bisect.c:928 builtin/merge.c:146
+#: bisect.c:987 builtin/merge.c:152
 #, c-format
 msgid "could not read file '%s'"
 msgstr "не удалось прочитать файл «%s»"
 
-#: bisect.c:958
+#: bisect.c:1027
 msgid "reading bisect refs failed"
 msgstr "сбой при чтении ссылок двоичного поиска"
 
-#: bisect.c:977
+#: bisect.c:1057
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s была одновременно и %s и %s\n"
 
-#: bisect.c:985
+#: bisect.c:1066
 #, c-format
 msgid ""
 "No testable commit found.\n"
 "Maybe you started with bad path parameters?\n"
 msgstr "Тестируемый коммит не найден.\nВозможно, вы начали поиск с указанием неправильного параметра пути?\n"
 
-#: bisect.c:1004
+#: bisect.c:1095
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1027,7 +1697,7 @@ msgstr[3] "(примерно %d шагов)"
 
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
-#: bisect.c:1010
+#: bisect.c:1101
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
@@ -1036,37 +1706,37 @@ msgstr[1] "Бинарный поиск: %d редакции осталось п
 msgstr[2] "Бинарный поиск: %d редакций осталось проверить после этой %s\n"
 msgstr[3] "Бинарный поиск: %d редакций осталось проверить после этой %s\n"
 
-#: blame.c:1794
+#: blame.c:2777
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents и --reverse не очень сочетаются."
 
-#: blame.c:1808
+#: blame.c:2791
 msgid "cannot use --contents with final commit object name"
 msgstr "нельзя использовать --contents с указанием финального имени объекта"
 
-#: blame.c:1829
+#: blame.c:2812
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "при --reverse и --first-parent вместе нужно указывать конкретный последний коммит"
 
-#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
-#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
-#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094
-#: builtin/merge.c:415 builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
-#: builtin/shortlog.c:192
+#: blame.c:2821 bundle.c:213 ref-filter.c:2272 remote.c:2031 sequencer.c:2138
+#: sequencer.c:4633 submodule.c:855 builtin/commit.c:1045 builtin/log.c:409
+#: builtin/log.c:1023 builtin/log.c:1625 builtin/log.c:2046 builtin/log.c:2336
+#: builtin/merge.c:423 builtin/pack-objects.c:3380 builtin/pack-objects.c:3395
+#: builtin/shortlog.c:267
 msgid "revision walk setup failed"
 msgstr "сбой инициализации прохода по редакциям"
 
-#: blame.c:1856
+#: blame.c:2839
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "при указании --reverse и --first-parent вместе, требуется также указать диапазон по цепочке первого родителя"
 
-#: blame.c:1867
+#: blame.c:2850
 #, c-format
 msgid "no such path %s in %s"
 msgstr "нет такого пути %s в %s"
 
-#: blame.c:1878
+#: blame.c:2861
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "невозможно прочитать объект %s для пути %s"
@@ -1186,37 +1856,51 @@ msgstr "Неоднозначное имя объекта: «%s»."
 msgid "Not a valid branch point: '%s'."
 msgstr "Недопустимая точка ветки: «%s»."
 
-#: branch.c:359
+#: branch.c:365
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "«%s» уже находится на «%s»"
 
-#: branch.c:382
+#: branch.c:388
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "HEAD рабочего каталога %s не обновлён"
 
-#: bundle.c:36
+#: bundle.c:41
 #, c-format
-msgid "'%s' does not look like a v2 bundle file"
-msgstr "«%s» не похож на файл пакета версии 2"
+msgid "unrecognized bundle hash algorithm: %s"
+msgstr ""
+
+#: bundle.c:45
+#, c-format
+msgid "unknown capability '%s'"
+msgstr ""
 
-#: bundle.c:64
+#: bundle.c:71
+#, c-format
+msgid "'%s' does not look like a v2 or v3 bundle file"
+msgstr ""
+
+#: bundle.c:110
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "неопознанный заголовок: %s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
-#: builtin/commit.c:788
+#: bundle.c:136 rerere.c:480 rerere.c:690 sequencer.c:2390 sequencer.c:3176
+#: builtin/commit.c:814
 #, c-format
 msgid "could not open '%s'"
 msgstr "не удалось открыть «%s»"
 
-#: bundle.c:143
+#: bundle.c:189
 msgid "Repository lacks these prerequisite commits:"
 msgstr "В репозитории отсутствуют необходимые коммиты:"
 
-#: bundle.c:194
+#: bundle.c:192
+msgid "need a repository to verify a bundle"
+msgstr ""
+
+#: bundle.c:243
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
@@ -1225,11 +1909,11 @@ msgstr[1] "Пакет содержит эти %d ссылки:"
 msgstr[2] "Пакет содержит эти %d ссылок:"
 msgstr[3] "Пакет содержит эти %d ссылок:"
 
-#: bundle.c:201
+#: bundle.c:250
 msgid "The bundle records a complete history."
 msgstr "Пакет содержит полную историю."
 
-#: bundle.c:203
+#: bundle.c:252
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
@@ -1238,160 +1922,159 @@ msgstr[1] "Пакет требует эти %d ссылки:"
 msgstr[2] "Пакет требует эти %d ссылок:"
 msgstr[3] "Пакет требует эти %d ссылок:"
 
-#: bundle.c:269
+#: bundle.c:319
 msgid "unable to dup bundle descriptor"
 msgstr "не удалось дублировать дескриптор пакета"
 
-#: bundle.c:276
+#: bundle.c:326
 msgid "Could not spawn pack-objects"
 msgstr "Не удалось создать объекты пакета"
 
-#: bundle.c:287
+#: bundle.c:337
 msgid "pack-objects died"
 msgstr "критическая ошибка pack-objects"
 
-#: bundle.c:329
+#: bundle.c:379
 msgid "rev-list died"
 msgstr "критическая ошибка rev-list"
 
-#: bundle.c:378
+#: bundle.c:428
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "ссылка «%s» исключена в соответствии с опциями rev-list"
 
-#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
+#: bundle.c:498
+#, c-format
+msgid "unsupported bundle version %d"
+msgstr ""
+
+#: bundle.c:500
+#, c-format
+msgid "cannot write bundle version %d with algorithm %s"
+msgstr ""
+
+#: bundle.c:522 builtin/log.c:209 builtin/log.c:1927 builtin/shortlog.c:408
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "неопознанный аргумент: %s"
 
-#: bundle.c:465
+#: bundle.c:530
 msgid "Refusing to create empty bundle."
 msgstr "Отклонение создания пустого пакета."
 
-#: bundle.c:475
+#: bundle.c:540
 #, c-format
 msgid "cannot create '%s'"
 msgstr "не удалось создать «%s»"
 
-#: bundle.c:500
+#: bundle.c:565
 msgid "index-pack died"
 msgstr "критическая ошибка index-pack"
 
-#: color.c:296
+#: color.c:329
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "недопустимое значение цвета: %.*s"
 
-#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
-#, c-format
-msgid "could not parse %s"
-msgstr "не удалось разобрать %s"
-
-#: commit.c:52
-#, c-format
-msgid "%s %s is not a commit!"
-msgstr "%s %s не является коммитом!"
-
-#: commit.c:193
-msgid ""
-"Support for <GIT_DIR>/info/grafts is deprecated\n"
-"and will be removed in a future Git version.\n"
-"\n"
-"Please use \"git replace --convert-graft-file\"\n"
-"to convert the grafts into replace refs.\n"
-"\n"
-"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
-msgstr "Поддержка <GIT_DIR>/info/grafts устарела и будет удалена в следующих версиях Git.\n\nИспользуйте «git replace --convert-graft-file» для  конвертации сращений (grafts) на ссылки замены.\n\nЧтобы скрыть это сообщение запустите «git config advice.graftFileDeprecated false»"
-
-#: commit.c:1128
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr "Коммит %s содержит не доверенную GPG подпись, предположительно от %s."
-
-#: commit.c:1131
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr "Коммит %s содержит плохую GPG подпись, предположительно от %s."
-
-#: commit.c:1134
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr "Коммит %s не содержит GPG подпись."
-
-#: commit.c:1137
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr "Коммит %s содержит действительную GPG подпись, от %s.\n"
-
-#: commit.c:1391
-msgid ""
-"Warning: commit message did not conform to UTF-8.\n"
-"You may want to amend it after fixing the message, or set the config\n"
-"variable i18n.commitencoding to the encoding your project uses.\n"
-msgstr "Предупреждение: сообщение коммита не соответствует UTF-8.\nВозможно, вы захотите исправить его после исправления сообщения\nили настроить опцию i18n.commitencoding и указать кодировку\nсообщений, которую использует ваш проект.\n"
+#: commit-graph.c:188 midx.c:47
+msgid "invalid hash version"
+msgstr ""
 
-#: commit-graph.c:105
+#: commit-graph.c:246
 msgid "commit-graph file is too small"
 msgstr "файл commit-graph слишком маленький"
 
-#: commit-graph.c:170
+#: commit-graph.c:311
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "подпись commit-graph файла %X не соотвествует подписи %X"
 
-#: commit-graph.c:177
+#: commit-graph.c:318
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "версия commit-graph файла %X не соотвествует версии %X"
 
-#: commit-graph.c:184
+#: commit-graph.c:325
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
-msgstr "версия хеш-суммы commit-graph файла %X не соответствует версии %X"
+msgstr "версия хэш-функции commit-graph файла %X не соответствует версии %X"
 
-#: commit-graph.c:207
-msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
-msgstr "не найдена таблица расположения частей в файле commit-graph; возможно файл повреждён"
+#: commit-graph.c:342
+#, c-format
+msgid "commit-graph file is too small to hold %u chunks"
+msgstr ""
 
-#: commit-graph.c:218
+#: commit-graph.c:361
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "некорректное смещение части в commit-graph файле %08x%08x"
 
-#: commit-graph.c:255
+#: commit-graph.c:433
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "часть файла commit-graph с идентификатором %08x появляется несколько раз"
 
-#: commit-graph.c:390
+#: commit-graph.c:499
+msgid "commit-graph has no base graphs chunk"
+msgstr ""
+
+#: commit-graph.c:509
+msgid "commit-graph chain does not match"
+msgstr ""
+
+#: commit-graph.c:557
+#, c-format
+msgid "invalid commit-graph chain: line '%s' not a hash"
+msgstr ""
+
+#: commit-graph.c:581
+msgid "unable to find all commit-graph files"
+msgstr ""
+
+#: commit-graph.c:721 commit-graph.c:785
+msgid "invalid commit position. commit-graph is likely corrupt"
+msgstr ""
+
+#: commit-graph.c:742
 #, c-format
 msgid "could not find commit %s"
 msgstr "не удалось найти коммит %s"
 
-#: commit-graph.c:732 builtin/pack-objects.c:2649
+#: commit-graph.c:1036 builtin/am.c:1292
+#, c-format
+msgid "unable to parse commit %s"
+msgstr "не удалось разобрать коммит %s"
+
+#: commit-graph.c:1252 builtin/pack-objects.c:2864
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "не удалось получить тип объекта %s"
 
-#: commit-graph.c:765
+#: commit-graph.c:1283
 msgid "Loading known commits in commit graph"
 msgstr "Загрузка известных коммитов на граф коммитов"
 
-#: commit-graph.c:781
+#: commit-graph.c:1300
 msgid "Expanding reachable commits in commit graph"
 msgstr "Расширение достижимых коммитов на граф коммитов"
 
-#: commit-graph.c:793
+#: commit-graph.c:1320
 msgid "Clearing commit marks in commit graph"
 msgstr "Очистка пометок коммитов на графе коммитов"
 
-#: commit-graph.c:813
+#: commit-graph.c:1339
 msgid "Computing commit graph generation numbers"
 msgstr "Вычисление номеров поколений на графе коммитов"
 
-#: commit-graph.c:930
+#: commit-graph.c:1406
+msgid "Computing commit changed paths Bloom filters"
+msgstr ""
+
+#: commit-graph.c:1483
+msgid "Collecting referenced commits"
+msgstr ""
+
+#: commit-graph.c:1508
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
@@ -1400,52 +2083,43 @@ msgstr[1] "Поиск коммитов для графа коммитов в %d
 msgstr[2] "Поиск коммитов для графа коммитов в %d пакетах"
 msgstr[3] "Поиск коммитов для графа коммитов в %d пакетах"
 
-#: commit-graph.c:943
+#: commit-graph.c:1521
 #, c-format
 msgid "error adding pack %s"
 msgstr "ошибка добавления пакета %s"
 
-#: commit-graph.c:945
+#: commit-graph.c:1525
 #, c-format
 msgid "error opening index for %s"
 msgstr "ошибка открытия индекса для %s"
 
-#: commit-graph.c:959
-#, c-format
-msgid "Finding commits for commit graph from %d ref"
-msgid_plural "Finding commits for commit graph from %d refs"
-msgstr[0] "Поиск коммитов для графа коммитов по %d ссылке"
-msgstr[1] "Поиск коммитов для графа коммитов по %d ссылкам"
-msgstr[2] "Поиск коммитов для графа коммитов по %d ссылкам"
-msgstr[3] "Поиск коммитов для графа коммитов по %d ссылкам"
-
-#: commit-graph.c:991
+#: commit-graph.c:1562
 msgid "Finding commits for commit graph among packed objects"
 msgstr "Поиск коммитов для графа коммитов среди упакованных объектов"
 
-#: commit-graph.c:1004
-msgid "Counting distinct commits in commit graph"
-msgstr "Вычисление количества отдельных коммитов на графе коммитов"
-
-#: commit-graph.c:1017
-#, c-format
-msgid "the commit graph format cannot write %d commits"
-msgstr "программе форматирования графа коммитов не удалось записать %d коммитов"
-
-#: commit-graph.c:1026
+#: commit-graph.c:1580
 msgid "Finding extra edges in commit graph"
 msgstr "Поиск дополнительных ребер на графе коммитов"
 
-#: commit-graph.c:1050
-msgid "too many commits to write graph"
-msgstr "слишком много коммитов для записи графа"
+#: commit-graph.c:1628
+msgid "failed to write correct number of base graph ids"
+msgstr ""
 
-#: commit-graph.c:1057 midx.c:819
+#: commit-graph.c:1670 midx.c:819
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "не удалось создать родительские каталоги для %s"
 
-#: commit-graph.c:1097
+#: commit-graph.c:1683
+msgid "unable to create temporary graph layer"
+msgstr ""
+
+#: commit-graph.c:1688
+#, c-format
+msgid "unable to adjust shared permissions for '%s'"
+msgstr ""
+
+#: commit-graph.c:1758
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
@@ -1454,83 +2128,161 @@ msgstr[1] "Запись графа коммитов в %d прохода"
 msgstr[2] "Запись графа коммитов в %d проходов"
 msgstr[3] "Запись графа коммитов в %d прохода"
 
-#: commit-graph.c:1162
+#: commit-graph.c:1803
+msgid "unable to open commit-graph chain file"
+msgstr ""
+
+#: commit-graph.c:1819
+msgid "failed to rename base commit-graph file"
+msgstr ""
+
+#: commit-graph.c:1839
+msgid "failed to rename temporary commit-graph file"
+msgstr ""
+
+#: commit-graph.c:1965
+msgid "Scanning merged commits"
+msgstr ""
+
+#: commit-graph.c:2009
+msgid "Merging commit-graph"
+msgstr ""
+
+#: commit-graph.c:2115
+msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
+msgstr ""
+
+#: commit-graph.c:2214
+msgid "too many commits to write graph"
+msgstr "слишком много коммитов для записи графа"
+
+#: commit-graph.c:2307
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr "файл commit-graph содержит неправильную контрольную сумму и скорее всего поврежден"
 
-#: commit-graph.c:1172
+#: commit-graph.c:2317
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "файл commit-graph содержит неправильный порядок OID: %s, а затем %s"
 
-#: commit-graph.c:1182 commit-graph.c:1197
+#: commit-graph.c:2327 commit-graph.c:2342
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr "файл commit-graph содержит неправильное значение fanout: fanout[%d] = %u != %u"
 
-#: commit-graph.c:1189
+#: commit-graph.c:2334
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "не удалось разобрать коммит %s из файла commit-graph"
 
-#: commit-graph.c:1206
+#: commit-graph.c:2352
 msgid "Verifying commits in commit graph"
 msgstr "Проверка коммитов на графе коммитов"
 
-#: commit-graph.c:1219
+#: commit-graph.c:2367
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr "не удалось разобрать коммит %s из базы объектов файла commit-graph"
 
-#: commit-graph.c:1226
+#: commit-graph.c:2374
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
-msgstr " в файле commit-graph OID корня дерева для коммита %s является %s != %s"
+msgstr "в файле commit-graph OID корня дерева для коммита %s является %s != %s"
 
-#: commit-graph.c:1236
+#: commit-graph.c:2384
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr "слишком большой список родителей файле commit-graph для коммита %s"
 
-#: commit-graph.c:1242
+#: commit-graph.c:2393
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "в файле commit-graph родитель для %s является %s != %s"
 
-#: commit-graph.c:1255
+#: commit-graph.c:2407
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr "в файле commit-graph список родителей для коммита %s закончился слишком рано"
 
-#: commit-graph.c:1260
+#: commit-graph.c:2412
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero "
 "elsewhere"
 msgstr "в файле commit-graph содержится нулевой номер поколения для коммита %s, но ненулевой в остальных случаях"
 
-#: commit-graph.c:1264
+#: commit-graph.c:2416
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero "
 "elsewhere"
 msgstr "в файле commit-graph содержится ненулевой номер поколения для коммита %s, но нулевой в остальных случаях"
 
-#: commit-graph.c:1279
+#: commit-graph.c:2432
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
 msgstr "в файле commit-graph номер поколения для коммита %s является %u != %u"
 
-#: commit-graph.c:1285
+#: commit-graph.c:2438
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr "в файле commit-graph дата коммита %s является %<PRIuMAX> != %<PRIuMAX>"
 
+#: commit.c:52 sequencer.c:2879 builtin/am.c:359 builtin/am.c:403
+#: builtin/am.c:1371 builtin/am.c:2018 builtin/replace.c:457
+#, c-format
+msgid "could not parse %s"
+msgstr "не удалось разобрать %s"
+
+#: commit.c:54
+#, c-format
+msgid "%s %s is not a commit!"
+msgstr "%s %s не является коммитом!"
+
+#: commit.c:194
+msgid ""
+"Support for <GIT_DIR>/info/grafts is deprecated\n"
+"and will be removed in a future Git version.\n"
+"\n"
+"Please use \"git replace --convert-graft-file\"\n"
+"to convert the grafts into replace refs.\n"
+"\n"
+"Turn this message off by running\n"
+"\"git config advice.graftFileDeprecated false\""
+msgstr "Поддержка <GIT_DIR>/info/grafts устарела и будет удалена в следующих версиях Git.\n\nИспользуйте «git replace --convert-graft-file» для  конвертации сращений (grafts) на ссылки замены.\n\nЧтобы скрыть это сообщение запустите «git config advice.graftFileDeprecated false»"
+
+#: commit.c:1172
+#, c-format
+msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
+msgstr "Коммит %s содержит не доверенную GPG подпись, предположительно от %s."
+
+#: commit.c:1176
+#, c-format
+msgid "Commit %s has a bad GPG signature allegedly by %s."
+msgstr "Коммит %s содержит плохую GPG подпись, предположительно от %s."
+
+#: commit.c:1179
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "Коммит %s не содержит GPG подпись."
+
+#: commit.c:1182
+#, c-format
+msgid "Commit %s has a good GPG signature by %s\n"
+msgstr "Коммит %s содержит действительную GPG подпись, от %s.\n"
+
+#: commit.c:1436
+msgid ""
+"Warning: commit message did not conform to UTF-8.\n"
+"You may want to amend it after fixing the message, or set the config\n"
+"variable i18n.commitencoding to the encoding your project uses.\n"
+msgstr "Предупреждение: сообщение коммита не соответствует UTF-8.\nВозможно, вы захотите исправить его после исправления сообщения\nили настроить опцию i18n.commitencoding и указать кодировку\nсообщений, которую использует ваш проект.\n"
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "память исчерпана"
 
-#: config.c:123
+#: config.c:125
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -1540,294 +2292,290 @@ msgid ""
 "This might be due to circular includes."
 msgstr ""
 
-#: config.c:139
+#: config.c:141
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "не удалось раскрыть путь включения «%s»"
 
-#: config.c:150
+#: config.c:152
 msgid "relative config includes must come from files"
 msgstr "относительные включения конфигурации должны исходить из файлов"
 
-#: config.c:190
+#: config.c:198
 msgid "relative config include conditionals must come from files"
 msgstr "относительные условные включения конфигурации должны исходить из файлов"
 
-#: config.c:348
+#: config.c:378
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr ""
 
-#: config.c:354
+#: config.c:384
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr ""
 
-#: config.c:378 sequencer.c:2459
+#: config.c:408 sequencer.c:2580
 #, c-format
 msgid "invalid key: %s"
 msgstr "недействительный ключ: %s"
 
-#: config.c:384
+#: config.c:414
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr ""
 
-#: config.c:420 config.c:432
+#: config.c:450 config.c:462
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr ""
 
-#: config.c:467
+#: config.c:497
 #, c-format
 msgid "bogus format in %s"
 msgstr ""
 
-#: config.c:793
+#: config.c:836
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "ошибка в %d строке двоичного объекта %s"
 
-#: config.c:797
+#: config.c:840
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "ошибка в %d строке файла %s"
 
-#: config.c:801
+#: config.c:844
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "ошибка в %d строке стандартного ввода"
 
-#: config.c:805
+#: config.c:848
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "ошибка в %d строке двоичного объекта подмодуля %s"
 
-#: config.c:809
+#: config.c:852
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "ошибка в %d строке коммандной строки %s"
 
-#: config.c:813
+#: config.c:856
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "ошибка в %d строке в %s"
 
-#: config.c:952
+#: config.c:993
 msgid "out of range"
 msgstr "вне диапазона"
 
-#: config.c:952
+#: config.c:993
 msgid "invalid unit"
 msgstr "неправильное число"
 
-#: config.c:958
+#: config.c:994
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "неправильное числовое значение «%s» для «%s»: %s"
 
-#: config.c:963
+#: config.c:1013
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "неправильное числовое значение «%s» для «%s» в двоичном объекте %s: %s"
 
-#: config.c:966
+#: config.c:1016
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "неправильное числовое значение «%s» для «%s» в файле %s: %s"
 
-#: config.c:969
+#: config.c:1019
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "неправильное числовое значение «%s» для «%s» на стандартном вводе: %s"
 
-#: config.c:972
+#: config.c:1022
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "неправильное числовое значение «%s» для «%s» в двоичном объекте подмодуля %s: %s"
 
-#: config.c:975
+#: config.c:1025
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "неправильное числовое значение «%s» для «%s» на коммандной строке %s: %s"
 
-#: config.c:978
+#: config.c:1028
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "неправильное числовое значение «%s» для «%s» в %s: %s"
 
-#: config.c:1073
+#: config.c:1123
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "сбой разворачивания пути каталога пользователя: «%s»"
 
-#: config.c:1082
+#: config.c:1132
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "«%s» для «%s» не является допустимой меткой даты/времени"
 
-#: config.c:1173
+#: config.c:1223
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr ""
 
-#: config.c:1187 config.c:1198
+#: config.c:1237 config.c:1248
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "неправильный уровень сжатия zlib %d"
 
-#: config.c:1290
+#: config.c:1340
 msgid "core.commentChar should only be one character"
 msgstr ""
 
-#: config.c:1323
+#: config.c:1373
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "недопустимый режим создания объекта: %s"
 
-#: config.c:1395
+#: config.c:1445
 #, c-format
 msgid "malformed value for %s"
 msgstr ""
 
-#: config.c:1421
+#: config.c:1471
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr ""
 
-#: config.c:1422
+#: config.c:1472
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr ""
 
-#: config.c:1483 builtin/pack-objects.c:3397
+#: config.c:1533 builtin/pack-objects.c:3649
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "неправильный уровень сжатия пакета %d"
 
-#: config.c:1604
+#: config.c:1655
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr ""
 
-#: config.c:1607
+#: config.c:1658
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr ""
 
-#: config.c:1624
+#: config.c:1675
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr ""
 
-#: config.c:1654
+#: config.c:1705
 #, c-format
 msgid "failed to parse %s"
 msgstr ""
 
-#: config.c:1710
+#: config.c:1759
 msgid "unable to parse command-line config"
 msgstr "не удалось разобрать конфигурацию из командной строки"
 
-#: config.c:2059
+#: config.c:2122
 msgid "unknown error occurred while reading the configuration files"
 msgstr "произошла неизвестная ошибка при чтении файлов конфигурации"
 
-#: config.c:2229
+#: config.c:2296
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "Недействительный %s: «%s»"
 
-#: config.c:2272
-#, c-format
-msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr "неизвестное значение «%s» для core.untrackedCache; использую стандартное значение «keep»"
-
-#: config.c:2298
+#: config.c:2341
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "значение «%d» для splitIndex.maxPercentChange должно быть от 0 до 100"
 
-#: config.c:2344
+#: config.c:2387
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "не удалось разобрать «%s» в конфигурации из командной строки"
 
-#: config.c:2346
+#: config.c:2389
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "неправильная переменная конфигурации «%s» в файле «%s» на строке %d"
 
-#: config.c:2427
+#: config.c:2473
 #, c-format
 msgid "invalid section name '%s'"
 msgstr ""
 
-#: config.c:2459
+#: config.c:2505
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s имеет несколько значений"
 
-#: config.c:2488
+#: config.c:2534
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr ""
 
-#: config.c:2740 config.c:3064
+#: config.c:2786 config.c:3112
 #, c-format
 msgid "could not lock config file %s"
 msgstr ""
 
-#: config.c:2751
+#: config.c:2797
 #, c-format
 msgid "opening %s"
 msgstr ""
 
-#: config.c:2786 builtin/config.c:328
+#: config.c:2834 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr ""
 
-#: config.c:2811
+#: config.c:2859
 #, c-format
 msgid "invalid config file %s"
 msgstr ""
 
-#: config.c:2824 config.c:3077
+#: config.c:2872 config.c:3125
 #, c-format
 msgid "fstat on %s failed"
 msgstr "сбой при выполнении fstat на файле %s"
 
-#: config.c:2835
+#: config.c:2883
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr ""
 
-#: config.c:2844 config.c:3082
+#: config.c:2892 config.c:3130
 #, c-format
 msgid "chmod on %s failed"
 msgstr ""
 
-#: config.c:2929 config.c:3179
+#: config.c:2977 config.c:3227
 #, c-format
 msgid "could not write config file %s"
 msgstr ""
 
-#: config.c:2963
+#: config.c:3011
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "не удалось установить «%s» в «%s»"
 
-#: config.c:2965 builtin/remote.c:782
+#: config.c:3013 builtin/remote.c:657 builtin/remote.c:855
+#: builtin/remote.c:863
 #, c-format
 msgid "could not unset '%s'"
 msgstr "не удалось сбросить значение для «%s»"
 
-#: config.c:3055
+#: config.c:3103
 #, c-format
 msgid "invalid section name: %s"
 msgstr ""
 
-#: config.c:3222
+#: config.c:3270
 #, c-format
 msgid "missing value for '%s'"
 msgstr ""
@@ -1849,79 +2597,88 @@ msgstr "Не удалось прочитать из внешнего репоз
 msgid "server doesn't support '%s'"
 msgstr ""
 
-#: connect.c:103
+#: connect.c:118
 #, c-format
 msgid "server doesn't support feature '%s'"
 msgstr ""
 
-#: connect.c:114
+#: connect.c:129
 msgid "expected flush after capabilities"
 msgstr ""
 
-#: connect.c:233
+#: connect.c:263
 #, c-format
 msgid "ignoring capabilities after first line '%s'"
 msgstr ""
 
-#: connect.c:252
+#: connect.c:284
 msgid "protocol error: unexpected capabilities^{}"
 msgstr ""
 
-#: connect.c:273
+#: connect.c:306
 #, c-format
 msgid "protocol error: expected shallow sha-1, got '%s'"
 msgstr ""
 
-#: connect.c:275
+#: connect.c:308
 msgid "repository on the other end cannot be shallow"
 msgstr ""
 
-#: connect.c:313
+#: connect.c:347
 msgid "invalid packet"
 msgstr ""
 
-#: connect.c:333
+#: connect.c:367
 #, c-format
 msgid "protocol error: unexpected '%s'"
 msgstr ""
 
-#: connect.c:441
+#: connect.c:473
+#, c-format
+msgid "unknown object format '%s' specified by server"
+msgstr ""
+
+#: connect.c:500
 #, c-format
 msgid "invalid ls-refs response: %s"
 msgstr ""
 
-#: connect.c:445
+#: connect.c:504
 msgid "expected flush after ref listing"
 msgstr ""
 
-#: connect.c:544
+#: connect.c:507
+msgid "expected response end packet after ref listing"
+msgstr ""
+
+#: connect.c:640
 #, c-format
 msgid "protocol '%s' is not supported"
 msgstr ""
 
-#: connect.c:595
+#: connect.c:691
 msgid "unable to set SO_KEEPALIVE on socket"
 msgstr ""
 
-#: connect.c:635 connect.c:698
+#: connect.c:731 connect.c:794
 #, c-format
 msgid "Looking up %s ... "
 msgstr ""
 
-#: connect.c:639
+#: connect.c:735
 #, c-format
 msgid "unable to look up %s (port %s) (%s)"
 msgstr ""
 
 #. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:643 connect.c:714
+#: connect.c:739 connect.c:810
 #, c-format
 msgid ""
 "done.\n"
 "Connecting to %s (port %s) ... "
 msgstr ""
 
-#: connect.c:665 connect.c:742
+#: connect.c:761 connect.c:838
 #, c-format
 msgid ""
 "unable to connect to %s:\n"
@@ -1929,116 +2686,116 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:671 connect.c:748
+#: connect.c:767 connect.c:844
 msgid "done."
 msgstr ""
 
-#: connect.c:702
+#: connect.c:798
 #, c-format
 msgid "unable to look up %s (%s)"
 msgstr ""
 
-#: connect.c:708
+#: connect.c:804
 #, c-format
 msgid "unknown port %s"
 msgstr ""
 
-#: connect.c:845 connect.c:1171
+#: connect.c:941 connect.c:1271
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr ""
 
-#: connect.c:847
+#: connect.c:943
 #, c-format
 msgid "strange port '%s' blocked"
 msgstr ""
 
-#: connect.c:857
+#: connect.c:953
 #, c-format
 msgid "cannot start proxy %s"
 msgstr ""
 
-#: connect.c:924
+#: connect.c:1024
 msgid "no path specified; see 'git help pull' for valid url syntax"
 msgstr ""
 
-#: connect.c:1119
+#: connect.c:1219
 msgid "ssh variant 'simple' does not support -4"
 msgstr ""
 
-#: connect.c:1131
+#: connect.c:1231
 msgid "ssh variant 'simple' does not support -6"
 msgstr ""
 
-#: connect.c:1148
+#: connect.c:1248
 msgid "ssh variant 'simple' does not support setting port"
 msgstr ""
 
-#: connect.c:1260
+#: connect.c:1360
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr ""
 
-#: connect.c:1307
+#: connect.c:1408
 msgid "unable to fork"
 msgstr ""
 
-#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:108 builtin/fsck.c:209 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "Проверка соединения"
 
-#: connected.c:97
+#: connected.c:120
 msgid "Could not run 'git rev-list'"
 msgstr "Не удалось запустить «git rev-list»"
 
-#: connected.c:117
+#: connected.c:144
 msgid "failed write to rev-list"
 msgstr "сбой записи в rev-list"
 
-#: connected.c:124
+#: connected.c:149
 msgid "failed to close rev-list's stdin"
 msgstr "сбой закрытия стандартного ввода у rev-list"
 
-#: convert.c:193
+#: convert.c:194
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr ""
 
-#: convert.c:206
+#: convert.c:207
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr ""
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
 "The file will have its original line endings in your working directory"
 msgstr ""
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "LF будет заменен на CRLF в %s"
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
 "The file will have its original line endings in your working directory"
 msgstr ""
 
-#: convert.c:279
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "BOM запрещен в «%s», если кодируется как %s"
 
-#: convert.c:286
+#: convert.c:291
 #, c-format
 msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as "
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
 "working-tree-encoding."
-msgstr "Файл «%s» содержит маркер последовательности байтов (BOM). Используйте UTF-%s как кодировку рабочего каталога."
+msgstr ""
 
 #: convert.c:304
 #, c-format
@@ -2052,75 +2809,103 @@ msgid ""
 "UTF-%sLE (depending on the byte order) as working-tree-encoding."
 msgstr "Файл «%s» не содержит маркер последовательности байтов (BOM).  Используйте UTF-%sBE или UTF-%sLE (в зависимости от порядка байтов) как кодировку рабочего каталога."
 
-#: convert.c:424 convert.c:495
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "не удалось перекодировать «%s» из %s в %s"
 
-#: convert.c:467
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "перекодирование «%s» из %s в %s и обратно не одно и то же"
 
-#: convert.c:673
+#: convert.c:665
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr ""
 
-#: convert.c:693
+#: convert.c:685
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr ""
 
-#: convert.c:700
+#: convert.c:692
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr ""
 
-#: convert.c:735 convert.c:738
+#: convert.c:727 convert.c:730
+#, c-format
+msgid "read from external filter '%s' failed"
+msgstr ""
+
+#: convert.c:733 convert.c:788
+#, c-format
+msgid "external filter '%s' failed"
+msgstr ""
+
+#: convert.c:837
+msgid "unexpected filter type"
+msgstr ""
+
+#: convert.c:848
+msgid "path name too long for external filter"
+msgstr ""
+
+#: convert.c:940
+#, c-format
+msgid ""
+"external filter '%s' is not available anymore although not all paths have "
+"been filtered"
+msgstr ""
+
+#: convert.c:1240
+msgid "true/false are no valid working-tree-encodings"
+msgstr "true/false не является допустимым значением для working-tree-encoding"
+
+#: convert.c:1428 convert.c:1462
+#, c-format
+msgid "%s: clean filter '%s' failed"
+msgstr ""
+
+#: convert.c:1508
 #, c-format
-msgid "read from external filter '%s' failed"
+msgid "%s: smudge filter %s failed"
 msgstr ""
 
-#: convert.c:741 convert.c:796
+#: credential.c:96
 #, c-format
-msgid "external filter '%s' failed"
+msgid "skipping credential lookup for key: credential.%s"
 msgstr ""
 
-#: convert.c:844
-msgid "unexpected filter type"
+#: credential.c:112
+msgid "refusing to work with credential missing host field"
 msgstr ""
 
-#: convert.c:855
-msgid "path name too long for external filter"
+#: credential.c:114
+msgid "refusing to work with credential missing protocol field"
 msgstr ""
 
-#: convert.c:929
+#: credential.c:394
 #, c-format
-msgid ""
-"external filter '%s' is not available anymore although not all paths have "
-"been filtered"
+msgid "url contains a newline in its %s component: %s"
 msgstr ""
 
-#: convert.c:1228
-msgid "true/false are no valid working-tree-encodings"
-msgstr "true/false не является допустимым значением для working-tree-encoding"
-
-#: convert.c:1398 convert.c:1432
+#: credential.c:438
 #, c-format
-msgid "%s: clean filter '%s' failed"
+msgid "url has no scheme: %s"
 msgstr ""
 
-#: convert.c:1476
+#: credential.c:511
 #, c-format
-msgid "%s: smudge filter %s failed"
+msgid "credential url cannot be parsed: %s"
 msgstr ""
 
-#: date.c:137
+#: date.c:138
 msgid "in the future"
 msgstr "в будущем"
 
-#: date.c:143
+#: date.c:144
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
@@ -2129,7 +2914,7 @@ msgstr[1] "%<PRIuMAX> секунды назад"
 msgstr[2] "%<PRIuMAX> секунд назад"
 msgstr[3] "%<PRIuMAX> секунды назад"
 
-#: date.c:150
+#: date.c:151
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
@@ -2138,7 +2923,7 @@ msgstr[1] "%<PRIuMAX> минуты назад"
 msgstr[2] "%<PRIuMAX> минут назад"
 msgstr[3] "%<PRIuMAX> минуты назад"
 
-#: date.c:157
+#: date.c:158
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
@@ -2147,7 +2932,7 @@ msgstr[1] "%<PRIuMAX> часа назад"
 msgstr[2] "%<PRIuMAX> часов назад"
 msgstr[3] "%<PRIuMAX> часа назад"
 
-#: date.c:164
+#: date.c:165
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
@@ -2156,7 +2941,7 @@ msgstr[1] "%<PRIuMAX> дня назад"
 msgstr[2] "%<PRIuMAX> дней назад"
 msgstr[3] "%<PRIuMAX> дня назад"
 
-#: date.c:170
+#: date.c:171
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
@@ -2165,7 +2950,7 @@ msgstr[1] "%<PRIuMAX> недели назад"
 msgstr[2] "%<PRIuMAX> недель назад"
 msgstr[3] "%<PRIuMAX> недели назад"
 
-#: date.c:177
+#: date.c:178
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
@@ -2174,7 +2959,7 @@ msgstr[1] "%<PRIuMAX> месяца назад"
 msgstr[2] "%<PRIuMAX> месяцев назад"
 msgstr[3] "%<PRIuMAX> месяца назад"
 
-#: date.c:188
+#: date.c:189
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
@@ -2184,7 +2969,7 @@ msgstr[2] "%<PRIuMAX> лет"
 msgstr[3] "%<PRIuMAX> года"
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:191
+#: date.c:192
 #, c-format
 msgid "%s, %<PRIuMAX> month ago"
 msgid_plural "%s, %<PRIuMAX> months ago"
@@ -2193,7 +2978,7 @@ msgstr[1] "%s, %<PRIuMAX> месяца назад"
 msgstr[2] "%s, %<PRIuMAX> месяцев назад"
 msgstr[3] "%s, %<PRIuMAX> месяца назад"
 
-#: date.c:196 date.c:201
+#: date.c:197 date.c:202
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -2221,19 +3006,30 @@ msgstr ""
 msgid "island regex from config has too many capture groups (max=%d)"
 msgstr ""
 
-#: delta-islands.c:466
+#: delta-islands.c:467
 #, c-format
 msgid "Marked %d islands, done.\n"
 msgstr ""
 
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr "сбой чтения orderfile «%s»"
+#: diff-lib.c:534
+msgid "--merge-base does not work with ranges"
+msgstr ""
 
-#: diffcore-rename.c:544
-msgid "Performing inexact rename detection"
-msgstr "Выполняется неточное определение переименования"
+#: diff-lib.c:536
+msgid "--merge-base only works with commits"
+msgstr ""
+
+#: diff-lib.c:553
+msgid "unable to get HEAD"
+msgstr ""
+
+#: diff-lib.c:560
+msgid "no merge base found"
+msgstr ""
+
+#: diff-lib.c:562
+msgid "multiple merge bases found"
+msgstr ""
 
 #: diff-no-index.c:238
 msgid "git diff --no-index [<options>] <path> <path>"
@@ -2245,615 +3041,652 @@ msgid ""
 "tree"
 msgstr ""
 
-#: diff.c:155
+#: diff.c:156
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  Сбой разбора величины среза (cut-off) у dirstat «%s»\n"
 
-#: diff.c:160
+#: diff.c:161
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
-msgstr "Неизвестный параметр dirstat: «%s»\n"
+msgstr " Неизвестный параметр dirstat: «%s»\n"
 
-#: diff.c:296
+#: diff.c:297
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
 msgstr ""
 
-#: diff.c:324
+#: diff.c:325
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change',"
 " 'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'"
 msgstr ""
 
-#: diff.c:332
+#: diff.c:333
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
 msgstr ""
 
-#: diff.c:405
+#: diff.c:410
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Неизвестное значения для переменной «diff.submodule»: «%s»"
 
-#: diff.c:465
+#: diff.c:470
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 "%s"
 msgstr "Найдены ошибки в переменной «diff.dirstat»:\n%s"
 
-#: diff.c:4210
+#: diff.c:4276
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "критическая ошибка при внешнем сравнении, останов на %s"
 
-#: diff.c:4555
+#: diff.c:4625
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check и -s нельзя использовать одновременно"
 
-#: diff.c:4558
+#: diff.c:4628
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S и --find-object нельзя использовать одновременно"
 
-#: diff.c:4636
+#: diff.c:4707
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow требует ровно одного спецификатора пути"
 
-#: diff.c:4684
+#: diff.c:4755
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr ""
 
-#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
-#: parse-options.c:199 parse-options.c:203
+#: diff.c:4760 diff.c:4765 diff.c:4770 diff.c:4775 diff.c:5303
+#: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
 #, c-format
 msgid "%s expects a numerical value"
 msgstr ""
 
-#: diff.c:4721
+#: diff.c:4792
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 "%s"
 msgstr "Сбой разбора параметра опции --dirstat/-X :\n%s"
 
-#: diff.c:4806
+#: diff.c:4877
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr ""
 
-#: diff.c:4830
+#: diff.c:4901
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr ""
 
-#: diff.c:4844
+#: diff.c:4915
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr ""
 
-#: diff.c:4894 diff.c:4900
+#: diff.c:4965 diff.c:4971
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr ""
 
-#: diff.c:4912
+#: diff.c:4983
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr ""
 
-#: diff.c:4933
+#: diff.c:5004
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr ""
 
-#: diff.c:4952
+#: diff.c:5023
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr ""
 
-#: diff.c:4992
+#: diff.c:5063
 msgid "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and \"histogram\""
 msgstr ""
 
-#: diff.c:5028 diff.c:5048
+#: diff.c:5099 diff.c:5119
 #, c-format
 msgid "invalid argument to %s"
 msgstr ""
 
-#: diff.c:5186
+#: diff.c:5223
+#, c-format
+msgid "invalid regex given to -I: '%s'"
+msgstr ""
+
+#: diff.c:5272
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr ""
 
-#: diff.c:5242
+#: diff.c:5328
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr ""
 
-#: diff.c:5265
+#: diff.c:5351
 msgid "Diff output format options"
 msgstr ""
 
-#: diff.c:5267 diff.c:5273
+#: diff.c:5353 diff.c:5359
 msgid "generate patch"
 msgstr ""
 
-#: diff.c:5270 builtin/log.c:167
+#: diff.c:5356 builtin/log.c:178
 msgid "suppress diff output"
 msgstr "не выводить список изменений"
 
-#: diff.c:5275 diff.c:5389 diff.c:5396
+#: diff.c:5361 diff.c:5475 diff.c:5482
 msgid "<n>"
 msgstr ""
 
-#: diff.c:5276 diff.c:5279
+#: diff.c:5362 diff.c:5365
 msgid "generate diffs with <n> lines context"
 msgstr ""
 
-#: diff.c:5281
+#: diff.c:5367
 msgid "generate the diff in raw format"
 msgstr ""
 
-#: diff.c:5284
+#: diff.c:5370
 msgid "synonym for '-p --raw'"
 msgstr ""
 
-#: diff.c:5288
+#: diff.c:5374
 msgid "synonym for '-p --stat'"
 msgstr ""
 
-#: diff.c:5292
+#: diff.c:5378
 msgid "machine friendly --stat"
 msgstr ""
 
-#: diff.c:5295
+#: diff.c:5381
 msgid "output only the last line of --stat"
 msgstr ""
 
-#: diff.c:5297 diff.c:5305
+#: diff.c:5383 diff.c:5391
 msgid "<param1,param2>..."
 msgstr ""
 
-#: diff.c:5298
+#: diff.c:5384
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 
-#: diff.c:5302
+#: diff.c:5388
 msgid "synonym for --dirstat=cumulative"
 msgstr ""
 
-#: diff.c:5306
+#: diff.c:5392
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr ""
 
-#: diff.c:5310
+#: diff.c:5396
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 
-#: diff.c:5313
+#: diff.c:5399
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "краткая сводка изменений, вроде созданий, переименований или изменений режима доступа"
 
-#: diff.c:5316
+#: diff.c:5402
 msgid "show only names of changed files"
 msgstr ""
 
-#: diff.c:5319
+#: diff.c:5405
 msgid "show only names and status of changed files"
 msgstr ""
 
-#: diff.c:5321
+#: diff.c:5407
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr ""
 
-#: diff.c:5322
+#: diff.c:5408
 msgid "generate diffstat"
 msgstr ""
 
-#: diff.c:5324 diff.c:5327 diff.c:5330
+#: diff.c:5410 diff.c:5413 diff.c:5416
 msgid "<width>"
 msgstr ""
 
-#: diff.c:5325
+#: diff.c:5411
 msgid "generate diffstat with a given width"
 msgstr ""
 
-#: diff.c:5328
+#: diff.c:5414
 msgid "generate diffstat with a given name width"
 msgstr ""
 
-#: diff.c:5331
+#: diff.c:5417
 msgid "generate diffstat with a given graph width"
 msgstr ""
 
-#: diff.c:5333
+#: diff.c:5419
 msgid "<count>"
 msgstr ""
 
-#: diff.c:5334
+#: diff.c:5420
 msgid "generate diffstat with limited lines"
 msgstr ""
 
-#: diff.c:5337
+#: diff.c:5423
 msgid "generate compact summary in diffstat"
-msgstr "генеÑ\80аÑ\86иÑ\8f ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ\82ной Ñ\81водки Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ Ð² diffstat"
+msgstr "генерация компактной сводки в diffstat"
 
-#: diff.c:5340
+#: diff.c:5426
 msgid "output a binary diff that can be applied"
 msgstr ""
 
-#: diff.c:5343
+#: diff.c:5429
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 
-#: diff.c:5345
+#: diff.c:5431
 msgid "show colored diff"
 msgstr ""
 
-#: diff.c:5346
+#: diff.c:5432
 msgid "<kind>"
 msgstr ""
 
-#: diff.c:5347
+#: diff.c:5433
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
 msgstr ""
 
-#: diff.c:5350
+#: diff.c:5436
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
 msgstr ""
 
-#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465
+#: diff.c:5439 diff.c:5442 diff.c:5445 diff.c:5554
 msgid "<prefix>"
 msgstr ""
 
-#: diff.c:5354
+#: diff.c:5440
 msgid "show the given source prefix instead of \"a/\""
 msgstr ""
 
-#: diff.c:5357
+#: diff.c:5443
 msgid "show the given destination prefix instead of \"b/\""
 msgstr ""
 
-#: diff.c:5360
+#: diff.c:5446
 msgid "prepend an additional prefix to every line of output"
 msgstr ""
 
-#: diff.c:5363
+#: diff.c:5449
 msgid "do not show any source or destination prefix"
 msgstr ""
 
-#: diff.c:5366
+#: diff.c:5452
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 
-#: diff.c:5370 diff.c:5375 diff.c:5380
+#: diff.c:5456 diff.c:5461 diff.c:5466
 msgid "<char>"
 msgstr ""
 
-#: diff.c:5371
+#: diff.c:5457
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr ""
 
-#: diff.c:5376
+#: diff.c:5462
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr ""
 
-#: diff.c:5381
+#: diff.c:5467
 msgid "specify the character to indicate a context instead of ' '"
 msgstr ""
 
-#: diff.c:5384
+#: diff.c:5470
 msgid "Diff rename options"
 msgstr ""
 
-#: diff.c:5385
+#: diff.c:5471
 msgid "<n>[/<m>]"
 msgstr ""
 
-#: diff.c:5386
+#: diff.c:5472
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr ""
 
-#: diff.c:5390
+#: diff.c:5476
 msgid "detect renames"
 msgstr ""
 
-#: diff.c:5394
+#: diff.c:5480
 msgid "omit the preimage for deletes"
 msgstr ""
 
-#: diff.c:5397
+#: diff.c:5483
 msgid "detect copies"
 msgstr ""
 
-#: diff.c:5401
+#: diff.c:5487
 msgid "use unmodified files as source to find copies"
 msgstr ""
 
-#: diff.c:5403
+#: diff.c:5489
 msgid "disable rename detection"
 msgstr ""
 
-#: diff.c:5406
+#: diff.c:5492
 msgid "use empty blobs as rename source"
 msgstr ""
 
-#: diff.c:5408
+#: diff.c:5494
 msgid "continue listing the history of a file beyond renames"
 msgstr ""
 
-#: diff.c:5411
+#: diff.c:5497
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
 msgstr ""
 
-#: diff.c:5413
+#: diff.c:5499
 msgid "Diff algorithm options"
 msgstr ""
 
-#: diff.c:5415
+#: diff.c:5501
 msgid "produce the smallest possible diff"
 msgstr ""
 
-#: diff.c:5418
+#: diff.c:5504
 msgid "ignore whitespace when comparing lines"
 msgstr ""
 
-#: diff.c:5421
+#: diff.c:5507
 msgid "ignore changes in amount of whitespace"
 msgstr ""
 
-#: diff.c:5424
+#: diff.c:5510
 msgid "ignore changes in whitespace at EOL"
 msgstr ""
 
-#: diff.c:5427
+#: diff.c:5513
 msgid "ignore carrier-return at the end of line"
 msgstr ""
 
-#: diff.c:5430
+#: diff.c:5516
 msgid "ignore changes whose lines are all blank"
 msgstr ""
 
-#: diff.c:5433
+#: diff.c:5518 diff.c:5540 diff.c:5543 diff.c:5588
+msgid "<regex>"
+msgstr ""
+
+#: diff.c:5519
+msgid "ignore changes whose all lines match <regex>"
+msgstr ""
+
+#: diff.c:5522
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 
-#: diff.c:5436
+#: diff.c:5525
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr ""
 
-#: diff.c:5440
+#: diff.c:5529
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr ""
 
-#: diff.c:5442
+#: diff.c:5531
 msgid "<algorithm>"
 msgstr ""
 
-#: diff.c:5443
+#: diff.c:5532
 msgid "choose a diff algorithm"
 msgstr ""
 
-#: diff.c:5445
+#: diff.c:5534
 msgid "<text>"
 msgstr ""
 
-#: diff.c:5446
+#: diff.c:5535
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr ""
 
-#: diff.c:5448 diff.c:5457 diff.c:5460
+#: diff.c:5537 diff.c:5546 diff.c:5549
 msgid "<mode>"
 msgstr ""
 
-#: diff.c:5449
+#: diff.c:5538
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 
-#: diff.c:5451 diff.c:5454 diff.c:5499
-msgid "<regex>"
-msgstr ""
-
-#: diff.c:5452
+#: diff.c:5541
 msgid "use <regex> to decide what a word is"
 msgstr ""
 
-#: diff.c:5455
+#: diff.c:5544
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr ""
 
-#: diff.c:5458
+#: diff.c:5547
 msgid "moved lines of code are colored differently"
 msgstr ""
 
-#: diff.c:5461
+#: diff.c:5550
 msgid "how white spaces are ignored in --color-moved"
 msgstr ""
 
-#: diff.c:5464
+#: diff.c:5553
 msgid "Other diff options"
 msgstr ""
 
-#: diff.c:5466
+#: diff.c:5555
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 
-#: diff.c:5470
+#: diff.c:5559
 msgid "treat all files as text"
 msgstr ""
 
-#: diff.c:5472
+#: diff.c:5561
 msgid "swap two inputs, reverse the diff"
 msgstr ""
 
-#: diff.c:5474
+#: diff.c:5563
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr ""
 
-#: diff.c:5476
+#: diff.c:5565
 msgid "disable all output of the program"
 msgstr ""
 
-#: diff.c:5478
+#: diff.c:5567
 msgid "allow an external diff helper to be executed"
 msgstr ""
 
-#: diff.c:5480
+#: diff.c:5569
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 
-#: diff.c:5482
+#: diff.c:5571
 msgid "<when>"
 msgstr ""
 
-#: diff.c:5483
+#: diff.c:5572
 msgid "ignore changes to submodules in the diff generation"
 msgstr ""
 
-#: diff.c:5486
+#: diff.c:5575
 msgid "<format>"
 msgstr ""
 
-#: diff.c:5487
+#: diff.c:5576
 msgid "specify how differences in submodules are shown"
 msgstr ""
 
-#: diff.c:5491
+#: diff.c:5580
 msgid "hide 'git add -N' entries from the index"
 msgstr ""
 
-#: diff.c:5494
+#: diff.c:5583
 msgid "treat 'git add -N' entries as real in the index"
 msgstr ""
 
-#: diff.c:5496
+#: diff.c:5585
 msgid "<string>"
 msgstr ""
 
-#: diff.c:5497
+#: diff.c:5586
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
 msgstr ""
 
-#: diff.c:5500
+#: diff.c:5589
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
 msgstr ""
 
-#: diff.c:5503
+#: diff.c:5592
 msgid "show all changes in the changeset with -S or -G"
 msgstr ""
 
-#: diff.c:5506
+#: diff.c:5595
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 
-#: diff.c:5509
+#: diff.c:5598
 msgid "control the order in which files appear in the output"
 msgstr ""
 
-#: diff.c:5510
+#: diff.c:5599
 msgid "<object-id>"
 msgstr ""
 
-#: diff.c:5511
+#: diff.c:5600
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
 msgstr ""
 
-#: diff.c:5513
+#: diff.c:5602
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr ""
 
-#: diff.c:5514
+#: diff.c:5603
 msgid "select files by diff type"
 msgstr ""
 
-#: diff.c:5516
+#: diff.c:5605
 msgid "<file>"
 msgstr ""
 
-#: diff.c:5517
+#: diff.c:5606
 msgid "Output to a specific file"
 msgstr ""
 
-#: diff.c:6150
+#: diff.c:6263
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "неточное определение переименования было пропущено из-за слишком большого количества файлов."
 
-#: diff.c:6153
+#: diff.c:6266
 msgid "only found copies from modified paths due to too many files."
 msgstr "найдены только копии из измененных путей из-за слишком большого количества файлов."
 
-#: diff.c:6156
+#: diff.c:6269
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "возможно вы захотите установить переменную %s в как минимум значение %d и повторить вызов команды."
 
-#: dir.c:537
+#: diffcore-order.c:24
+#, c-format
+msgid "failed to read orderfile '%s'"
+msgstr "сбой чтения orderfile «%s»"
+
+#: diffcore-rename.c:592
+msgid "Performing inexact rename detection"
+msgstr "Выполняется неточное определение переименования"
+
+#: dir.c:578
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr ""
 
-#: dir.c:926
+#: dir.c:718 dir.c:747 dir.c:760
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr ""
+
+#: dir.c:777 dir.c:791
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr ""
+
+#: dir.c:809
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr ""
+
+#: dir.c:819
+msgid "disabling cone pattern matching"
+msgstr ""
+
+#: dir.c:1198
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr ""
 
-#: dir.c:1843
+#: dir.c:2305
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "не удалось открыть каталог «%s»"
 
-#: dir.c:2085
+#: dir.c:2605
 msgid "failed to get kernel name and information"
 msgstr "не удалось получить имя ядра и информацию"
 
-#: dir.c:2209
+#: dir.c:2729
 msgid "untracked cache is disabled on this system or location"
 msgstr ""
 
-#: dir.c:3013
+#: dir.c:3520
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr ""
 
-#: dir.c:3058 dir.c:3063
+#: dir.c:3565 dir.c:3570
 #, c-format
 msgid "could not create directories for %s"
 msgstr "не удалось создать каталоги для %s"
 
-#: dir.c:3092
+#: dir.c:3599
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "не удалось переместить каталог git с «%s» в «%s»"
 
-#: editor.c:73
+#: editor.c:74
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "подсказка: Ожидание, пока вы закроете редактор с файлом…%c"
 
-#: entry.c:178
+#: entry.c:177
 msgid "Filtering content"
 msgstr "Фильтруется содержимое"
 
-#: entry.c:476
+#: entry.c:478
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "не удалось выполнить stat для файла «%s»"
@@ -2863,7 +3696,7 @@ msgstr "не удалось выполнить stat для файла «%s»"
 msgid "bad git namespace path \"%s\""
 msgstr ""
 
-#: environment.c:332
+#: environment.c:337
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr ""
@@ -2873,289 +3706,285 @@ msgstr ""
 msgid "too many args to run %s"
 msgstr ""
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
-msgstr "Внешний репозиторий без URL"
-
-#: fetch-pack.c:151
+#: fetch-pack.c:177
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: ожидается передача списка для получение части"
 
-#: fetch-pack.c:154
+#: fetch-pack.c:180
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr ""
 
-#: fetch-pack.c:165
+#: fetch-pack.c:191
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack: ожидается ACK/NAK, а получен пустой пакет"
 
-#: fetch-pack.c:185
+#: fetch-pack.c:211
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack: ожидается ACK/NAK, а получено «%s»"
 
-#: fetch-pack.c:196
+#: fetch-pack.c:222
 msgid "unable to write to remote"
 msgstr ""
 
-#: fetch-pack.c:258
+#: fetch-pack.c:283
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc требует multi_ack_detailed"
 
-#: fetch-pack.c:360 fetch-pack.c:1271
+#: fetch-pack.c:378 fetch-pack.c:1406
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "неправильная строка частичного получения: %s"
 
-#: fetch-pack.c:366 fetch-pack.c:1277
+#: fetch-pack.c:384 fetch-pack.c:1412
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "неправильная строка полного получения: %s"
 
-#: fetch-pack.c:368 fetch-pack.c:1279
+#: fetch-pack.c:386 fetch-pack.c:1414
 #, c-format
 msgid "object not found: %s"
 msgstr "объект не найден: %s"
 
-#: fetch-pack.c:371 fetch-pack.c:1282
+#: fetch-pack.c:389 fetch-pack.c:1417
 #, c-format
 msgid "error in object: %s"
 msgstr "ошибка в объекте: %s"
 
-#: fetch-pack.c:373 fetch-pack.c:1284
+#: fetch-pack.c:391 fetch-pack.c:1419
 #, c-format
 msgid "no shallow found: %s"
 msgstr "частичный клон не найден: %s"
 
-#: fetch-pack.c:376 fetch-pack.c:1288
+#: fetch-pack.c:394 fetch-pack.c:1423
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "ожидалось shallow/unshallow, а получено %s"
 
-#: fetch-pack.c:417
+#: fetch-pack.c:434
 #, c-format
 msgid "got %s %d %s"
 msgstr "получено %s %d %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:451
 #, c-format
 msgid "invalid commit %s"
 msgstr "недопустимый коммит %s"
 
-#: fetch-pack.c:465
+#: fetch-pack.c:482
 msgid "giving up"
 msgstr "останавливаю дальнейшие попытки"
 
-#: fetch-pack.c:477 progress.c:284
+#: fetch-pack.c:495 progress.c:339
 msgid "done"
 msgstr "готово"
 
-#: fetch-pack.c:489
+#: fetch-pack.c:507
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "получено %s (%d) %s"
 
-#: fetch-pack.c:535
+#: fetch-pack.c:543
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Помечаю %s как завершенный"
 
-#: fetch-pack.c:744
+#: fetch-pack.c:758
 #, c-format
 msgid "already have %s (%s)"
 msgstr "уже есть %s (%s)"
 
-#: fetch-pack.c:783
+#: fetch-pack.c:827
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: не удалось запустить программу разбора данных"
 
-#: fetch-pack.c:791
+#: fetch-pack.c:835
 msgid "protocol error: bad pack header"
 msgstr "ошибка протокола: неправильный заголовок потока"
 
-#: fetch-pack.c:859
+#: fetch-pack.c:919
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: не удалось запустить программу %s"
 
-#: fetch-pack.c:875
+#: fetch-pack.c:937
 #, c-format
 msgid "%s failed"
 msgstr "%s завершен с ошибкой"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:939
 msgid "error in sideband demultiplexer"
 msgstr "произошла  ошибка в  программе разбора данных"
 
-#: fetch-pack.c:906
-msgid "Server does not support shallow clients"
-msgstr "Сервер не поддерживает клиентов с частичным клонированием"
-
-#: fetch-pack.c:910
-msgid "Server supports multi_ack_detailed"
-msgstr "Сервер поддерживает multi_ack_detailed"
-
-#: fetch-pack.c:913
-msgid "Server supports no-done"
-msgstr "Сервер поддерживает no-done"
-
-#: fetch-pack.c:919
-msgid "Server supports multi_ack"
-msgstr "Сервер поддерживает multi_ack"
-
-#: fetch-pack.c:923
-msgid "Server supports side-band-64k"
-msgstr "Сервер поддерживает side-band-64k"
-
-#: fetch-pack.c:927
-msgid "Server supports side-band"
-msgstr "Сервер поддерживает side-band"
-
-#: fetch-pack.c:931
-msgid "Server supports allow-tip-sha1-in-want"
-msgstr "Сервер поддерживает allow-tip-sha1-in-want"
-
-#: fetch-pack.c:935
-msgid "Server supports allow-reachable-sha1-in-want"
-msgstr "Сервер поддерживает allow-reachable-sha1-in-want"
-
-#: fetch-pack.c:945
-msgid "Server supports ofs-delta"
-msgstr "Сервер поддерживает ofs-delta"
-
-#: fetch-pack.c:951 fetch-pack.c:1144
-msgid "Server supports filter"
-msgstr "Сервер поддерживает фильтрацию"
-
-#: fetch-pack.c:959
+#: fetch-pack.c:982
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Версия сервера %.*s"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:990 fetch-pack.c:996 fetch-pack.c:999 fetch-pack.c:1005
+#: fetch-pack.c:1009 fetch-pack.c:1013 fetch-pack.c:1017 fetch-pack.c:1021
+#: fetch-pack.c:1025 fetch-pack.c:1029 fetch-pack.c:1033 fetch-pack.c:1037
+#: fetch-pack.c:1043 fetch-pack.c:1049 fetch-pack.c:1054 fetch-pack.c:1059
+#, c-format
+msgid "Server supports %s"
+msgstr ""
+
+#: fetch-pack.c:992
+msgid "Server does not support shallow clients"
+msgstr "Сервер не поддерживает клиентов с частичным клонированием"
+
+#: fetch-pack.c:1052
 msgid "Server does not support --shallow-since"
 msgstr "Сервер не поддерживает --shallow-since"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:1057
 msgid "Server does not support --shallow-exclude"
 msgstr "Сервер не поддерживает --shallow-exclude"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:1061
 msgid "Server does not support --deepen"
 msgstr "Сервер не поддерживает --deepen"
 
-#: fetch-pack.c:988
+#: fetch-pack.c:1063
+msgid "Server does not support this repository's object format"
+msgstr ""
+
+#: fetch-pack.c:1076
 msgid "no common commits"
 msgstr "не общих коммитов"
 
-#: fetch-pack.c:1000 fetch-pack.c:1449
+#: fetch-pack.c:1088 fetch-pack.c:1628
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: ошибка при получении данных."
 
-#: fetch-pack.c:1138
+#: fetch-pack.c:1214
+#, c-format
+msgid "mismatched algorithms: client %s; server %s"
+msgstr ""
+
+#: fetch-pack.c:1218
+#, c-format
+msgid "the server does not support algorithm '%s'"
+msgstr ""
+
+#: fetch-pack.c:1238
 msgid "Server does not support shallow requests"
 msgstr "Сервер не поддерживает частичные запросы"
 
-#: fetch-pack.c:1171
+#: fetch-pack.c:1245
+msgid "Server supports filter"
+msgstr "Сервер поддерживает фильтрацию"
+
+#: fetch-pack.c:1284
 msgid "unable to write request to remote"
 msgstr ""
 
-#: fetch-pack.c:1189
+#: fetch-pack.c:1302
 #, c-format
 msgid "error reading section header '%s'"
 msgstr ""
 
-#: fetch-pack.c:1195
+#: fetch-pack.c:1308
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr ""
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1369
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr ""
 
-#: fetch-pack.c:1239
+#: fetch-pack.c:1374
 #, c-format
 msgid "error processing acks: %d"
 msgstr ""
 
-#: fetch-pack.c:1249
+#: fetch-pack.c:1384
 msgid "expected packfile to be sent after 'ready'"
 msgstr ""
 
-#: fetch-pack.c:1251
+#: fetch-pack.c:1386
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr ""
 
-#: fetch-pack.c:1293
+#: fetch-pack.c:1428
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr ""
 
-#: fetch-pack.c:1340
+#: fetch-pack.c:1475
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr ""
 
-#: fetch-pack.c:1345
+#: fetch-pack.c:1480
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr ""
 
-#: fetch-pack.c:1350
+#: fetch-pack.c:1485
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr ""
 
-#: fetch-pack.c:1676
+#: fetch-pack.c:1515
+msgid "git fetch-pack: expected response end packet"
+msgstr ""
+
+#: fetch-pack.c:1897
 msgid "no matching remote head"
 msgstr "нет соотвествующего внешнего указателя на ветку"
 
-#: fetch-pack.c:1699 builtin/clone.c:673
+#: fetch-pack.c:1920 builtin/clone.c:693
 msgid "remote did not send all necessary objects"
 msgstr "внешний репозиторий прислал не все необходимые объекты"
 
-#: fetch-pack.c:1726
+#: fetch-pack.c:1947
 #, c-format
 msgid "no such remote ref %s"
 msgstr "нет такой внешней ссылки %s"
 
-#: fetch-pack.c:1729
+#: fetch-pack.c:1950
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "Сервер не поддерживает запрос необъявленного объекта %s"
 
-#: gpg-interface.c:318
-msgid "gpg failed to sign the data"
-msgstr "gpg не удалось подписать данные"
-
-#: gpg-interface.c:344
+#: gpg-interface.c:272
 msgid "could not create temporary file"
 msgstr "не удалось создать временный файл"
 
-#: gpg-interface.c:347
+#: gpg-interface.c:275
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "сбой записи отсоединенной подписи в «%s»"
 
-#: graph.c:97
+#: gpg-interface.c:457
+msgid "gpg failed to sign the data"
+msgstr "gpg не удалось подписать данные"
+
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "игнорирую недопустимый цвет «%.*s» в log.graphColors"
 
-#: grep.c:2113
+#: grep.c:640
+msgid ""
+"given pattern contains NULL byte (via -f <file>). This is only supported "
+"with -P under PCRE v2"
+msgstr ""
+
+#: grep.c:2100
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "«%s»: не удалось прочесть %s"
 
-#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82
+#: grep.c:2117 setup.c:176 builtin/clone.c:412 builtin/diff.c:89
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "не удалось выполнить stat «%s»"
 
-#: grep.c:2141
+#: grep.c:2128
 #, c-format
 msgid "'%s': short read"
 msgstr "«%s»: слишком мало данных прочитано"
@@ -3205,79 +4034,79 @@ msgid "Low-level Commands / Interrogators"
 msgstr "Низкоуровневые команды / Запросчики"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
-msgstr "Низкоуровневые команды / Синхронизация репозиториев"
+msgid "Low-level Commands / Syncing Repositories"
+msgstr ""
 
 #: help.c:38
 msgid "Low-level Commands / Internal Helpers"
 msgstr "Низкоуровневые команды / Внутренние вспомогательные"
 
-#: help.c:298
+#: help.c:300
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "доступные команды git в «%s»"
 
-#: help.c:305
+#: help.c:307
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "команды git, доступные в других местах вашего $PATH"
 
-#: help.c:314
+#: help.c:316
 msgid "These are common Git commands used in various situations:"
 msgstr "Стандартные команды Git используемые в различных ситуациях:"
 
-#: help.c:363 git.c:97
+#: help.c:365 git.c:99
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "неподдерживаемый тип списка команд «%s»"
 
-#: help.c:403
-msgid "The common Git guides are:"
-msgstr "Основные руководства Git:"
+#: help.c:405
+msgid "The Git concept guides are:"
+msgstr ""
 
-#: help.c:512
+#: help.c:429
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr "Запустите «git help <команда>», чтобы прочесть о конкретной подкоманде"
 
-#: help.c:517
+#: help.c:434
 msgid "External commands"
 msgstr ""
 
-#: help.c:532
+#: help.c:449
 msgid "Command aliases"
 msgstr ""
 
-#: help.c:596
+#: help.c:527
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr "«%s» похоже на команду git, но нам не удалось ее запустить. Возможно, git-%s  не работает?"
 
-#: help.c:655
+#: help.c:543 help.c:631
+#, c-format
+msgid "git: '%s' is not a git command. See 'git --help'."
+msgstr "git: «%s» не является командой git. Смотрите «git --help»."
+
+#: help.c:591
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ой-ёй! Ваша система не сообщает ни о каких командах Git вообще."
 
-#: help.c:677
+#: help.c:613
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "Внимание: Вы запустили не существующую команду Git «%s»."
 
-#: help.c:682
+#: help.c:618
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Продолжаю, предполагая, что вы имели в виду «%s»."
 
-#: help.c:687
+#: help.c:623
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "Продолжу через %0.1f секунд, предполагая, что вы имели в виду «%s»."
 
-#: help.c:695
-#, c-format
-msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr "git: «%s» не является командой git. Смотрите «git --help»."
-
-#: help.c:699
+#: help.c:635
 msgid ""
 "\n"
 "The most similar command is"
@@ -3289,16 +4118,16 @@ msgstr[1] "\nСамые похожие команды:"
 msgstr[2] "\nСамые похожие команды:"
 msgstr[3] "\nСамые похожие команды:"
 
-#: help.c:714
+#: help.c:675
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: help.c:782
+#: help.c:730
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s — %s"
 
-#: help.c:786
+#: help.c:734
 msgid ""
 "\n"
 "Did you mean this?"
@@ -3310,7 +4139,15 @@ msgstr[1] "\nВозможно, вы имели в виду что-то из эт
 msgstr[2] "\nВозможно, вы имели в виду что-то из этого?"
 msgstr[3] "\nВозможно, вы имели в виду что-то из этого?"
 
-#: ident.c:349
+#: ident.c:353
+msgid "Author identity unknown\n"
+msgstr ""
+
+#: ident.c:356
+msgid "Committer identity unknown\n"
+msgstr ""
+
+#: ident.c:362
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -3325,71 +4162,95 @@ msgid ""
 "\n"
 msgstr "\n*** Пожалуйста, скажите мне кто вы есть.\n\nЗапустите\n\n  git config --global user.email \"you@example.com\"\n  git config --global user.name \"Ваше Имя\"\n\nдля указания идентификационных данных аккаунта по умолчанию.\nПропустите параметр --global для указания данных только для этого репозитория.\n\n"
 
-#: ident.c:379
+#: ident.c:397
 msgid "no email was given and auto-detection is disabled"
 msgstr "адрес электронной почты не указан и автоопределение отключено"
 
-#: ident.c:384
+#: ident.c:402
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "не удалось выполнить автоопределение адреса электронной почты (получено «%s»)"
 
-#: ident.c:401
+#: ident.c:419
 msgid "no name was given and auto-detection is disabled"
 msgstr "имя не указано и автоопределение отключено"
 
-#: ident.c:407
+#: ident.c:425
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "не удалось выполнить автоопределение имени (получено «%s»)"
 
-#: ident.c:415
+#: ident.c:433
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "пустое имя идентификатора (для <%s>) не разрешено"
 
-#: ident.c:421
+#: ident.c:439
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "имя состоит только из неразрешенных симоволов: %s"
 
-#: ident.c:436 builtin/commit.c:608
+#: ident.c:454 builtin/commit.c:634
 #, c-format
 msgid "invalid date format: %s"
 msgstr "неправильный формат даты: %s"
 
-#: list-objects.c:129
-#, c-format
-msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+#: list-objects-filter-options.c:81
+msgid "expected 'tree:<depth>'"
 msgstr ""
 
-#: list-objects.c:142
+#: list-objects-filter-options.c:96
+msgid "sparse:path filters support has been dropped"
+msgstr ""
+
+#: list-objects-filter-options.c:109
 #, c-format
-msgid "entry '%s' in tree %s has blob mode, but is not a blob"
+msgid "invalid filter-spec '%s'"
 msgstr ""
 
-#: list-objects.c:378
+#: list-objects-filter-options.c:125
 #, c-format
-msgid "unable to load root tree for commit %s"
+msgid "must escape char in sub-filter-spec: '%c'"
+msgstr ""
+
+#: list-objects-filter-options.c:167
+msgid "expected something after combine:"
 msgstr ""
 
-#: list-objects-filter-options.c:36
+#: list-objects-filter-options.c:249
 msgid "multiple filter-specs cannot be combined"
 msgstr "невозможно объединять фильтрацию с помощью нескольких спецификаций"
 
-#: list-objects-filter-options.c:58
-msgid "expected 'tree:<depth>'"
+#: list-objects-filter-options.c:361
+msgid "unable to upgrade repository format to support partial clone"
 msgstr ""
 
-#: list-objects-filter-options.c:84
-msgid "sparse:path filters support has been dropped"
+#: list-objects-filter.c:492
+#, c-format
+msgid "unable to access sparse blob in '%s'"
+msgstr ""
+
+#: list-objects-filter.c:495
+#, c-format
+msgid "unable to parse sparse filter data in %s"
+msgstr ""
+
+#: list-objects.c:127
+#, c-format
+msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+msgstr ""
+
+#: list-objects.c:140
+#, c-format
+msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr ""
 
-#: list-objects-filter-options.c:158
-msgid "cannot change partial clone promisor remote"
-msgstr "нельзя изменить внешний репозиторий при частичном клонировании"
+#: list-objects.c:375
+#, c-format
+msgid "unable to load root tree for commit %s"
+msgstr ""
 
-#: lockfile.c:151
+#: lockfile.c:152
 #, c-format
 msgid ""
 "Unable to create '%s.lock': %s.\n"
@@ -3401,123 +4262,125 @@ msgid ""
 "remove the file manually to continue."
 msgstr "Не удалось создать «%s.lock»: %s.\n\nПохоже, что другой процесс git запущен в этом репозитории,\nнапример редактор открыт из «git commit». Пожалуйста, убедитесь,\nчто все процессы были завершены и потом попробуйте снова.\nЕсли это не поможет, то возможно процесс git был ранее завершен\nс ошибкой в этом репозитории: \nудалите файл вручную для продолжения."
 
-#: lockfile.c:159
+#: lockfile.c:160
 #, c-format
 msgid "Unable to create '%s.lock': %s"
 msgstr "Не удалось создать «%s.lock»: %s"
 
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr "сбой чтения кэша"
+#: ls-refs.c:109
+msgid "expected flush after ls-refs arguments"
+msgstr ""
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
-#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
-#: builtin/stash.c:264
-msgid "unable to write new index file"
-msgstr "не удалось записать новый файл индекса"
+#: merge-ort-wrappers.c:13 merge-recursive.c:3672
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"  %s"
+msgstr ""
+
+#: merge-ort-wrappers.c:33 merge-recursive.c:3436
+#, c-format
+msgid "Already up to date!"
+msgstr "Уже обновлено!"
 
-#: merge-recursive.c:322
+#: merge-recursive.c:356
 msgid "(bad commit)\n"
 msgstr "(плохой коммит)\n"
 
-#: merge-recursive.c:345
+#: merge-recursive.c:379
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "сбой add_cacheinfo для пути «%s»; отмена слияния."
 
-#: merge-recursive.c:354
+#: merge-recursive.c:388
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "сбой обновления add_cacheinfo для пути «%s»; отмена слияния."
 
-#: merge-recursive.c:437
-msgid "error building trees"
-msgstr "ошибка при построении деревьев"
-
-#: merge-recursive.c:861
+#: merge-recursive.c:874
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "не удалось создать путь «%s»%s"
 
-#: merge-recursive.c:872
+#: merge-recursive.c:885
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Удаление %s, чтобы освободить место для подкаталогов\n"
 
-#: merge-recursive.c:886 merge-recursive.c:905
+#: merge-recursive.c:899 merge-recursive.c:918
 msgid ": perhaps a D/F conflict?"
 msgstr ": возможно, конфликт каталогов/файлов?"
 
-#: merge-recursive.c:895
+#: merge-recursive.c:908
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "отказ потери неотслеживаемого файла в «%s»"
 
-#: merge-recursive.c:936 builtin/cat-file.c:40
+#: merge-recursive.c:949 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "невозможно прочитать объект %s «%s»"
 
-#: merge-recursive.c:939
+#: merge-recursive.c:954
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "ожидается двоичный объект для %s «%s»"
 
-#: merge-recursive.c:963
+#: merge-recursive.c:979
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "не удалось открыть «%s»: %s"
 
-#: merge-recursive.c:974
+#: merge-recursive.c:990
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "не удалось создать символьную ссылку «%s»: %s"
 
-#: merge-recursive.c:979
+#: merge-recursive.c:995
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "не понятно, что делать с %06o %s «%s»"
 
-#: merge-recursive.c:1175
+#: merge-recursive.c:1191
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Не удалось слить подмодуль %s (состояние не забрано)"
 
-#: merge-recursive.c:1182
+#: merge-recursive.c:1198
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Не удалось слить подмодуль %s (нет коммитов)"
 
-#: merge-recursive.c:1189
+#: merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "Не удалось слить подмодуль %s (у коммитов другая база слияния)"
 
-#: merge-recursive.c:1197 merge-recursive.c:1209
+#: merge-recursive.c:1213 merge-recursive.c:1225
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Перемотка вперед подмодуля %s до указанного коммита:"
 
-#: merge-recursive.c:1200 merge-recursive.c:1212
+#: merge-recursive.c:1216 merge-recursive.c:1228
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Перемотка вперед подмодуля %s"
 
-#: merge-recursive.c:1235
+#: merge-recursive.c:1251
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr "Не удалось слить подмодуль %s (нет указанных коммитов для слияния)"
 
-#: merge-recursive.c:1239
+#: merge-recursive.c:1255
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Не удалось слить подмодуль %s (нельзя сделать перемотку вперед)"
 
-#: merge-recursive.c:1240
+#: merge-recursive.c:1256
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Найдено возможное разрешение слиятия для подмодуля:\n"
 
-#: merge-recursive.c:1243
+#: merge-recursive.c:1259
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3528,108 +4391,108 @@ msgid ""
 "which will accept this suggestion.\n"
 msgstr "Если оно верное, то просто добавьте его в индекс, например так:\n\n  git update-index --cacheinfo 160000 %s \"%s\"\n\nтем самым принимая это предположение.\n"
 
-#: merge-recursive.c:1252
+#: merge-recursive.c:1268
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Не удалось слить подмодуль %s (найдено несколько слияний)"
 
-#: merge-recursive.c:1325
+#: merge-recursive.c:1341
 msgid "Failed to execute internal merge"
 msgstr "Не удалось запустить внутреннее слияние"
 
-#: merge-recursive.c:1330
+#: merge-recursive.c:1346
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Не удалось добавить %s в базу данных"
 
-#: merge-recursive.c:1362
+#: merge-recursive.c:1378
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Автослияние %s"
 
-#: merge-recursive.c:1385
+#: merge-recursive.c:1402
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr "Ошибка: Отказ потери неотслеживаемого файла %s; запись в %s взамен."
 
-#: merge-recursive.c:1457
+#: merge-recursive.c:1474
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree."
 msgstr "КОНФЛИКТ (%s/удаление): %s удалено в %s и %s в %s. Версия %s из %s оставлена в дереве."
 
-#: merge-recursive.c:1462
+#: merge-recursive.c:1479
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
 msgstr "КОНФЛИКТ (%s/удаление): %s удалено в %s и от %s до %s в %s. Версия %s из %s оставлена в дереве."
 
-#: merge-recursive.c:1469
+#: merge-recursive.c:1486
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 "in tree at %s."
 msgstr "КОНФЛИКТ (%s/удаление): %s удалено в %s и %s в %s. Версия %s из %s оставлена в дереве на %s."
 
-#: merge-recursive.c:1474
+#: merge-recursive.c:1491
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree at %s."
 msgstr "КОНФЛИКТ (%s/удаление): %s удалено в %s и от %s до %s в %s. Версия %s из %s оставлена в дереве на %s."
 
-#: merge-recursive.c:1509
+#: merge-recursive.c:1526
 msgid "rename"
 msgstr "переименование"
 
-#: merge-recursive.c:1509
+#: merge-recursive.c:1526
 msgid "renamed"
 msgstr "переименовано"
 
-#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
+#: merge-recursive.c:1577 merge-recursive.c:2484 merge-recursive.c:3129
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Отказ потери изменённого файла %s"
 
-#: merge-recursive.c:1599
+#: merge-recursive.c:1587
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "Отказ потери неотслеживаемого файла %s, даже с учетом его наличия."
 
-#: merge-recursive.c:1657
+#: merge-recursive.c:1645
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 
-#: merge-recursive.c:1687
+#: merge-recursive.c:1676
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s — это каталог в %s, добавляем как %s вместо этого"
 
-#: merge-recursive.c:1692
+#: merge-recursive.c:1681
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "Отказ потери неотслеживаемого файла %s; добавление как %s взамен."
 
-#: merge-recursive.c:1711
+#: merge-recursive.c:1708
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
 "\"%s\"->\"%s\" in \"%s\"%s"
 msgstr "КОНФЛИКТ (переименование/переименование): Переименование «%s»→«%s» в ветке «%s» и переименование «%s»→«%s» в ветке «%s»%s"
 
-#: merge-recursive.c:1716
+#: merge-recursive.c:1713
 msgid " (left unresolved)"
 msgstr " (оставлено неразрешенным)"
 
-#: merge-recursive.c:1825
+#: merge-recursive.c:1805
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr "КОНФЛИКТ (переименование/переименование): Переименование «%s»→«%s» в ветке «%s» и переименование «%s»→«%s» в ветке «%s»"
 
-#: merge-recursive.c:2030
+#: merge-recursive.c:2068
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3637,157 +4500,146 @@ msgid ""
 "getting a majority of the files."
 msgstr ""
 
-#: merge-recursive.c:2062
+#: merge-recursive.c:2100
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
 "implicit directory rename(s) putting the following path(s) there: %s."
 msgstr ""
 
-#: merge-recursive.c:2072
+#: merge-recursive.c:2110
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
 "implicit directory renames tried to put these paths there: %s"
 msgstr ""
 
-#: merge-recursive.c:2164
+#: merge-recursive.c:2202
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory "
 "%s->%s in %s"
 msgstr ""
 
-#: merge-recursive.c:2408
+#: merge-recursive.c:2447
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr ""
 
-#: merge-recursive.c:2929
+#: merge-recursive.c:2973
 #, c-format
 msgid "cannot read object %s"
 msgstr "невозможно прочитать объект «%s»"
 
-#: merge-recursive.c:2932
+#: merge-recursive.c:2976
 #, c-format
 msgid "object %s is not a blob"
 msgstr "объект %s не является двоичным объектом"
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3040
 msgid "modify"
 msgstr "изменение"
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3040
 msgid "modified"
 msgstr "изменено"
 
-#: merge-recursive.c:3008
+#: merge-recursive.c:3052
 msgid "content"
 msgstr "содержимое"
 
-#: merge-recursive.c:3012
+#: merge-recursive.c:3056
 msgid "add/add"
 msgstr "добавление/добавление"
 
-#: merge-recursive.c:3035
+#: merge-recursive.c:3079
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Пропуск %s (слиты одинаковые изменения как существующие)"
 
-#: merge-recursive.c:3057 git-submodule.sh:937
+#: merge-recursive.c:3101
 msgid "submodule"
 msgstr "подмодуль"
 
-#: merge-recursive.c:3058
+#: merge-recursive.c:3102
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "КОНФЛИКТ (%s): Конфликт слияния в %s"
 
-#: merge-recursive.c:3088
+#: merge-recursive.c:3132
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Добавление вместо этого как %s"
 
-#: merge-recursive.c:3170
+#: merge-recursive.c:3215
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
 "moving it to %s."
 msgstr ""
 
-#: merge-recursive.c:3173
+#: merge-recursive.c:3218
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed"
 " in %s, suggesting it should perhaps be moved to %s."
 msgstr ""
 
-#: merge-recursive.c:3177
+#: merge-recursive.c:3222
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in"
 " %s; moving it to %s."
 msgstr ""
 
-#: merge-recursive.c:3180
+#: merge-recursive.c:3225
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
 "was renamed in %s, suggesting it should perhaps be moved to %s."
 msgstr ""
 
-#: merge-recursive.c:3294
+#: merge-recursive.c:3339
 #, c-format
 msgid "Removing %s"
 msgstr "Удаление %s"
 
-#: merge-recursive.c:3317
+#: merge-recursive.c:3362
 msgid "file/directory"
 msgstr "файл/каталог"
 
-#: merge-recursive.c:3322
+#: merge-recursive.c:3367
 msgid "directory/file"
 msgstr "каталог/файл"
 
-#: merge-recursive.c:3329
+#: merge-recursive.c:3374
 #, c-format
 msgid ""
 "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr "КОНФЛИКТ (%s): Уже существует каталог с именем «%s» в «%s». Добавление «%s» как «%s»"
 
-#: merge-recursive.c:3338
+#: merge-recursive.c:3383
 #, c-format
 msgid "Adding %s"
 msgstr "Добавление %s"
 
-#: merge-recursive.c:3347
+#: merge-recursive.c:3392
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr ""
 
-#: merge-recursive.c:3385
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-
-#: merge-recursive.c:3396
-msgid "Already up to date!"
-msgstr "Уже обновлено!"
-
-#: merge-recursive.c:3405
+#: merge-recursive.c:3445
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "сбой слияния деревьев «%s» и «%s»"
 
-#: merge-recursive.c:3504
+#: merge-recursive.c:3550
 msgid "Merging:"
 msgstr "Слияние:"
 
-#: merge-recursive.c:3517
+#: merge-recursive.c:3563
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
@@ -3796,154 +4648,201 @@ msgstr[1] "найдено %u общих предка:"
 msgstr[2] "найдено %u общих предков:"
 msgstr[3] "найдено %u общих предков:"
 
-#: merge-recursive.c:3556
+#: merge-recursive.c:3613
 msgid "merge returned no commit"
 msgstr "слияние не вернуло коммит"
 
-#: merge-recursive.c:3622
+#: merge-recursive.c:3769
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Не удалось разобрать объект «%s»"
 
-#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
+#: merge-recursive.c:3787 builtin/merge.c:711 builtin/merge.c:895
 msgid "Unable to write index."
 msgstr "Не удается записать индекс."
 
-#: midx.c:66
+#: merge.c:41
+msgid "failed to read the cache"
+msgstr "сбой чтения кэша"
+
+#: merge.c:109 rerere.c:720 builtin/am.c:1883 builtin/am.c:1917
+#: builtin/checkout.c:573 builtin/checkout.c:829 builtin/clone.c:817
+#: builtin/stash.c:265
+msgid "unable to write new index file"
+msgstr "не удалось записать новый файл индекса"
+
+#: midx.c:80
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr ""
 
-#: midx.c:82
+#: midx.c:96
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 
-#: midx.c:87
+#: midx.c:101
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr ""
 
-#: midx.c:92
+#: midx.c:106
 #, c-format
-msgid "hash version %u does not match"
-msgstr "версия хеш-суммы %u не соответсвует"
+msgid "multi-pack-index hash version %u does not match version %u"
+msgstr ""
 
-#: midx.c:106
+#: midx.c:123
 msgid "invalid chunk offset (too large)"
 msgstr ""
 
-#: midx.c:130
+#: midx.c:147
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr ""
 
-#: midx.c:143
+#: midx.c:160
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr ""
 
-#: midx.c:145
+#: midx.c:162
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr ""
 
-#: midx.c:147
+#: midx.c:164
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr ""
 
-#: midx.c:149
+#: midx.c:166
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr ""
 
-#: midx.c:163
+#: midx.c:180
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr ""
 
-#: midx.c:208
+#: midx.c:223
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr ""
 
-#: midx.c:258
+#: midx.c:273
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
 
-#: midx.c:286
-msgid "error preparing packfile from multi-pack-index"
-msgstr ""
-
-#: midx.c:457
+#: midx.c:480
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr ""
 
-#: midx.c:463
+#: midx.c:486
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr ""
 
-#: midx.c:557
+#: midx.c:546
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr ""
 
-#: midx.c:993
+#: midx.c:846
+msgid "Adding packfiles to multi-pack-index"
+msgstr ""
+
+#: midx.c:879
+#, c-format
+msgid "did not see pack-file %s to drop"
+msgstr ""
+
+#: midx.c:931
+msgid "no pack files to index."
+msgstr ""
+
+#: midx.c:982
+msgid "Writing chunks to multi-pack-index"
+msgstr ""
+
+#: midx.c:1060
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr ""
 
-#: midx.c:1048
+#: midx.c:1116
+msgid "multi-pack-index file exists, but failed to parse"
+msgstr ""
+
+#: midx.c:1124
 msgid "Looking for referenced packfiles"
 msgstr ""
 
-#: midx.c:1063
+#: midx.c:1139
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr ""
 
-#: midx.c:1067
-msgid "Verifying OID order in MIDX"
+#: midx.c:1144
+msgid "the midx contains no oid"
+msgstr ""
+
+#: midx.c:1153
+msgid "Verifying OID order in multi-pack-index"
 msgstr ""
 
-#: midx.c:1076
+#: midx.c:1162
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr ""
 
-#: midx.c:1095
+#: midx.c:1182
 msgid "Sorting objects by packfile"
 msgstr ""
 
-#: midx.c:1101
+#: midx.c:1189
 msgid "Verifying object offsets"
 msgstr ""
 
-#: midx.c:1117
+#: midx.c:1205
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr ""
 
-#: midx.c:1123
+#: midx.c:1211
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr ""
 
-#: midx.c:1132
+#: midx.c:1220
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 
-#: name-hash.c:531
+#: midx.c:1245
+msgid "Counting referenced objects"
+msgstr ""
+
+#: midx.c:1255
+msgid "Finding and deleting unreferenced packfiles"
+msgstr ""
+
+#: midx.c:1446
+msgid "could not start pack-objects"
+msgstr ""
+
+#: midx.c:1466
+msgid "could not finish pack-objects"
+msgstr ""
+
+#: name-hash.c:537
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr ""
 
-#: name-hash.c:553
+#: name-hash.c:559
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr ""
 
-#: name-hash.c:559
+#: name-hash.c:565
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr ""
@@ -3982,45 +4881,70 @@ msgstr "Отказ в перезаписи заметок в %s (за преде
 msgid "Bad %s value: '%s'"
 msgstr "Неправильное значение переменной %s: «%s»"
 
-#: object.c:54
+#: object.c:53
 #, c-format
 msgid "invalid object type \"%s\""
 msgstr ""
 
-#: object.c:174
+#: object.c:173
 #, c-format
 msgid "object %s is a %s, not a %s"
 msgstr ""
 
-#: object.c:234
+#: object.c:233
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr ""
 
-#: object.c:247
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "не удалось разобрать объект: %s"
 
-#: object.c:267 object.c:278
+#: object.c:266 object.c:278
 #, c-format
 msgid "hash mismatch %s"
-msgstr "несоответствие хеш-суммы %s"
+msgstr "несоответствие хэш-кода %s"
+
+#: pack-bitmap.c:815 pack-bitmap.c:821 builtin/pack-objects.c:2216
+#, c-format
+msgid "unable to get size of %s"
+msgstr "не удалось получить размер %s"
 
-#: packfile.c:617
+#: packfile.c:615
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "сдвиг до конца файла пакета (возможно, повреждён файл .idx?)"
 
-#: packfile.c:1868
+#: packfile.c:1907
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "сдвиг до начала индекса пакета для %s (повреждён индекс?)"
 
-#: packfile.c:1872
+#: packfile.c:1911
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "сдвиг за пределами индекса пакета для %s (обрезан индекс?)"
 
+#: parse-options-cb.c:20 parse-options-cb.c:24
+#, c-format
+msgid "option `%s' expects a numerical value"
+msgstr ""
+
+#: parse-options-cb.c:41
+#, c-format
+msgid "malformed expiration date '%s'"
+msgstr ""
+
+#: parse-options-cb.c:54
+#, c-format
+msgid "option `%s' expects \"always\", \"auto\", or \"never\""
+msgstr ""
+
+#: parse-options-cb.c:132 parse-options-cb.c:149
+#, c-format
+msgid "malformed object name '%s'"
+msgstr "Неправильное имя объекта «%s»"
+
 #: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
@@ -4036,7 +4960,7 @@ msgstr ""
 msgid "%s : incompatible with something else"
 msgstr ""
 
-#: parse-options.c:92 parse-options.c:96 parse-options.c:319
+#: parse-options.c:92 parse-options.c:96 parse-options.c:317
 #, c-format
 msgid "%s takes no value"
 msgstr ""
@@ -4046,162 +4970,147 @@ msgstr ""
 msgid "%s isn't available"
 msgstr ""
 
-#: parse-options.c:219
+#: parse-options.c:217
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr ""
 
-#: parse-options.c:389
+#: parse-options.c:386
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr ""
 
-#: parse-options.c:423 parse-options.c:431
+#: parse-options.c:420 parse-options.c:428
+#, c-format
+msgid "did you mean `--%s` (with two dashes)?"
+msgstr ""
+
+#: parse-options.c:666 parse-options.c:971
 #, c-format
-msgid "did you mean `--%s` (with two dashes ?)"
+msgid "alias of --%s"
 msgstr ""
 
-#: parse-options.c:859
+#: parse-options.c:862
 #, c-format
 msgid "unknown option `%s'"
 msgstr ""
 
-#: parse-options.c:861
+#: parse-options.c:864
 #, c-format
 msgid "unknown switch `%c'"
 msgstr ""
 
-#: parse-options.c:863
+#: parse-options.c:866
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr ""
 
-#: parse-options.c:887
+#: parse-options.c:890
 msgid "..."
 msgstr "…"
 
-#: parse-options.c:906
+#: parse-options.c:909
 #, c-format
 msgid "usage: %s"
 msgstr "использование: %s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
-#: parse-options.c:912
+#: parse-options.c:915
 #, c-format
 msgid "   or: %s"
 msgstr "          или: %s"
 
-#: parse-options.c:915
+#: parse-options.c:918
 #, c-format
 msgid "    %s"
 msgstr "            %s"
 
-#: parse-options.c:954
+#: parse-options.c:957
 msgid "-NUM"
 msgstr "-КОЛИЧЕСТВО"
 
-#: parse-options.c:968
-#, c-format
-msgid "alias of --%s"
-msgstr ""
-
-#: parse-options-cb.c:20 parse-options-cb.c:24
-#, c-format
-msgid "option `%s' expects a numerical value"
-msgstr ""
-
-#: parse-options-cb.c:41
-#, c-format
-msgid "malformed expiration date '%s'"
-msgstr ""
-
-#: parse-options-cb.c:54
-#, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr ""
-
-#: parse-options-cb.c:130 parse-options-cb.c:147
-#, c-format
-msgid "malformed object name '%s'"
-msgstr "Неправильное имя объекта «%s»"
-
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Не удалось предоставить доступ к %s на запись"
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr "Управляющий символ «\\» не разрешен как последний символ в значении attr"
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Разрешен только один спецификатор «attr:»."
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr "спецификатор attr не должен быть пустой"
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "недопустимое имя атрибута %s"
 
-#: pathspec.c:257
+#: pathspec.c:259
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr "глобальные опции спецификаторов пути «glob» и «noglob» нельзя использовать одновременно"
 
-#: pathspec.c:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr "глобальная опция спецификатора пути «literal» не совместима с другими глобальными спецификаторами доступа"
 
-#: pathspec.c:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr "неправильный параметр для магического слова «prefix» в спецификаторе пути "
+msgstr "неправильный параметр для магического слова «prefix» в спецификаторе пути"
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "неправильное магическое слово «%.*s» в спецификаторе пути «%s»"
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Пропущено «)» в конце магического слова спецификатора пути «%s»"
 
-#: pathspec.c:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Нереализованное магическое слово «%c» спецификатора пути «%s»"
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s: «literal» и «glob» не совместимы"
 
-#: pathspec.c:440
+#: pathspec.c:445
 #, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: «%s» вне репозитория"
+msgid "%s: '%s' is outside repository at '%s'"
+msgstr ""
 
-#: pathspec.c:514
+#: pathspec.c:521
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "«%s» (мнемоника: «%c»)"
 
-#: pathspec.c:524
+#: pathspec.c:531
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: магические слова в спецификаторе пути не поддерживаются командой: %s"
 
-#: pathspec.c:591
+#: pathspec.c:598
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "спецификатор пути «%s» находится за символической ссылкой"
 
+#: pathspec.c:643
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr ""
+
 #: pkt-line.c:92
 msgid "unable to write flush packet"
 msgstr ""
@@ -4211,44 +5120,48 @@ msgid "unable to write delim packet"
 msgstr ""
 
 #: pkt-line.c:106
+msgid "unable to write stateless separator packet"
+msgstr ""
+
+#: pkt-line.c:113
 msgid "flush packet write failed"
 msgstr ""
 
-#: pkt-line.c:146 pkt-line.c:232
+#: pkt-line.c:153 pkt-line.c:239
 msgid "protocol error: impossibly long line"
 msgstr ""
 
-#: pkt-line.c:162 pkt-line.c:164
+#: pkt-line.c:169 pkt-line.c:171
 msgid "packet write with format failed"
 msgstr ""
 
-#: pkt-line.c:196
+#: pkt-line.c:203
 msgid "packet write failed - data exceeds max packet size"
 msgstr ""
 
-#: pkt-line.c:203 pkt-line.c:210
+#: pkt-line.c:210 pkt-line.c:217
 msgid "packet write failed"
 msgstr ""
 
-#: pkt-line.c:295
+#: pkt-line.c:302
 msgid "read error"
 msgstr ""
 
-#: pkt-line.c:303
+#: pkt-line.c:310
 msgid "the remote end hung up unexpectedly"
 msgstr ""
 
-#: pkt-line.c:331
+#: pkt-line.c:338
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr ""
 
-#: pkt-line.c:341 pkt-line.c:346
+#: pkt-line.c:352 pkt-line.c:357
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr ""
 
-#: pkt-line.c:362
+#: pkt-line.c:373 sideband.c:165
 #, c-format
 msgid "remote error: %s"
 msgstr "ошибка внешнего репозитория: %s"
@@ -4262,233 +5175,272 @@ msgstr ""
 msgid "unable to create threaded lstat: %s"
 msgstr ""
 
-#: pretty.c:966
+#: pretty.c:983
 msgid "unable to parse --pretty format"
 msgstr "не удалось разобрать формат для --pretty"
 
-#: range-diff.c:56
+#: promisor-remote.c:30
+msgid "promisor-remote: unable to fork off fetch subprocess"
+msgstr ""
+
+#: promisor-remote.c:35 promisor-remote.c:37
+msgid "promisor-remote: could not write to fetch subprocess"
+msgstr ""
+
+#: promisor-remote.c:41
+msgid "promisor-remote: could not close stdin to fetch subprocess"
+msgstr ""
+
+#: promisor-remote.c:53
+#, c-format
+msgid "promisor remote name cannot begin with '/': %s"
+msgstr ""
+
+#: prune-packed.c:35
+msgid "Removing duplicate objects"
+msgstr "Удаление дублирующихся объектов"
+
+#: range-diff.c:77
 msgid "could not start `log`"
 msgstr ""
 
-#: range-diff.c:59
+#: range-diff.c:79
 msgid "could not read `log` output"
 msgstr ""
 
-#: range-diff.c:74 sequencer.c:4897
+#: range-diff.c:98 sequencer.c:5310
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "не удалось разобрать коммит «%s»"
 
-#: range-diff.c:224
+#: range-diff.c:112
+#, c-format
+msgid ""
+"could not parse first line of `log` output: did not start with 'commit ': "
+"'%s'"
+msgstr ""
+
+#: range-diff.c:137
+#, c-format
+msgid "could not parse git header '%.*s'"
+msgstr ""
+
+#: range-diff.c:299
 msgid "failed to generate diff"
 msgstr ""
 
-#: range-diff.c:455 range-diff.c:457
+#: range-diff.c:532 range-diff.c:534
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr ""
 
-#: read-cache.c:680
+#: read-cache.c:682
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr ""
 
-#: read-cache.c:696
+#: read-cache.c:698
 msgid "cannot create an empty blob in the object database"
 msgstr ""
 
-#: read-cache.c:718
+#: read-cache.c:720
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 
-#: read-cache.c:723
+#: read-cache.c:725
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr ""
 
-#: read-cache.c:775
+#: read-cache.c:777
 #, c-format
 msgid "unable to index file '%s'"
 msgstr ""
 
-#: read-cache.c:794
+#: read-cache.c:796
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr ""
 
-#: read-cache.c:805
+#: read-cache.c:807
 #, c-format
 msgid "unable to stat '%s'"
 msgstr ""
 
-#: read-cache.c:1314
+#: read-cache.c:1318
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr ""
 
-#: read-cache.c:1499
+#: read-cache.c:1524
 msgid "Refresh index"
 msgstr ""
 
-#: read-cache.c:1613
+#: read-cache.c:1639
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 "Using version %i"
 msgstr "index.version указан, но значение недействительное.\nИспользую версию %i"
 
-#: read-cache.c:1623
+#: read-cache.c:1649
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
 "Using version %i"
 msgstr "GIT_INDEX_VERSION указан, но значение недействительное.\nИспользую версию %i"
 
-#: read-cache.c:1679
+#: read-cache.c:1705
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr ""
 
-#: read-cache.c:1682
+#: read-cache.c:1708
 #, c-format
 msgid "bad index version %d"
 msgstr ""
 
-#: read-cache.c:1691
+#: read-cache.c:1717
 msgid "bad index file sha1 signature"
 msgstr ""
 
-#: read-cache.c:1721
+#: read-cache.c:1747
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr ""
 
-#: read-cache.c:1723
+#: read-cache.c:1749
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr ""
 
-#: read-cache.c:1760
+#: read-cache.c:1786
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr ""
 
-#: read-cache.c:1776
+#: read-cache.c:1802
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr ""
 
-#: read-cache.c:1833
+#: read-cache.c:1859
 msgid "unordered stage entries in index"
 msgstr ""
 
-#: read-cache.c:1836
+#: read-cache.c:1862
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr ""
 
-#: read-cache.c:1839
+#: read-cache.c:1865
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr ""
 
-#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
-#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
-#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
-#: builtin/submodule--helper.c:330
+#: read-cache.c:1971 read-cache.c:2262 rerere.c:565 rerere.c:599 rerere.c:1111
+#: submodule.c:1628 builtin/add.c:538 builtin/check-ignore.c:181
+#: builtin/checkout.c:502 builtin/checkout.c:688 builtin/clean.c:991
+#: builtin/commit.c:364 builtin/diff-tree.c:122 builtin/grep.c:507
+#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
+#: builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "файл индекса поврежден"
 
-#: read-cache.c:2087
+#: read-cache.c:2115
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr ""
 
-#: read-cache.c:2100
+#: read-cache.c:2128
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr ""
 
-#: read-cache.c:2133
+#: read-cache.c:2161
 #, c-format
 msgid "%s: index file open failed"
 msgstr ""
 
-#: read-cache.c:2137
+#: read-cache.c:2165
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr ""
 
-#: read-cache.c:2141
+#: read-cache.c:2169
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr ""
 
-#: read-cache.c:2145
+#: read-cache.c:2173
 #, c-format
 msgid "%s: unable to map index file"
 msgstr ""
 
-#: read-cache.c:2187
+#: read-cache.c:2215
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr ""
 
-#: read-cache.c:2214
+#: read-cache.c:2242
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr ""
 
-#: read-cache.c:2246
+#: read-cache.c:2274
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr ""
 
-#: read-cache.c:2293
+#: read-cache.c:2321
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr ""
 
-#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117
+#: read-cache.c:3017 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1140
 #, c-format
 msgid "could not close '%s'"
 msgstr "не удалось закрыть «%s»"
 
-#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
+#: read-cache.c:3120 sequencer.c:2479 sequencer.c:4231
 #, c-format
 msgid "could not stat '%s'"
 msgstr "не удалось выполнить stat для «%s»"
 
-#: read-cache.c:3105
+#: read-cache.c:3133
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "не удалось открыть каталог git: %s"
 
-#: read-cache.c:3117
+#: read-cache.c:3145
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "не удалось отсоединить: %s"
 
-#: read-cache.c:3142
+#: read-cache.c:3170
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr ""
 
-#: read-cache.c:3291
+#: read-cache.c:3319
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr ""
 
-#: rebase-interactive.c:26
+#: rebase-interactive.c:11
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.\n"
+"Or you can abort the rebase with 'git rebase --abort'.\n"
+msgstr "Вы можете исправить это с помощью «git rebase --edit-todo», а потом запустив «git rebase --continue».\nИли вы можете прервать процесс перемещения, выполнив «git rebase --abort»\n"
+
+#: rebase-interactive.c:33
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr "нераспознанная настройка %s для опции rebase.missingCommitsCheck. Игнорирую."
 
-#: rebase-interactive.c:35
+#: rebase-interactive.c:42
 msgid ""
 "\n"
 "Commands:\n"
@@ -4510,7 +5462,7 @@ msgid ""
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr "\nКоманды:\np, pick <коммит> = использовать коммит\nr, reword <коммит> = использовать коммит, но изменить сообщение коммита\ne, edit <коммит> = использовать коммит, но остановиться для исправления\ns, squash <коммит> = использовать коммит, но объединить с предыдущим коммитом\nf, fixup <коммит> = как «squash», но пропустить сообщение коммита\nx, exec <команда> = выполнить команду (остаток строки) с помощью командной оболочки\nb, break = остановиться здесь (продолжить с помощью «git rebase --continue»)\nd, drop <коммит> = удалить коммит\nl, label <метка> = дать имя текущему HEAD\nt, reset <метка> = сбросить HEAD к указанной метке\nm, merge [-C <коммит> | -c <коммит>] <метка> [# <строка>]\n. создать слияние используя сообщение коммита оригинального\n. слияния (или использовать указанную строку, если оригинальное\n. слияние не указано). Используйте -c <коммит> чтобы изменить\n. сообщение коммита.\n\nЭти строки можно перемещать; они будут выполнены сверху вниз.\n"
 
-#: rebase-interactive.c:56
+#: rebase-interactive.c:63
 #, c-format
 msgid "Rebase %s onto %s (%d command)"
 msgid_plural "Rebase %s onto %s (%d commands)"
@@ -4519,19 +5471,19 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
 msgstr "\nНе удаляйте строки. Используйте «drop», чтобы явно удалить коммит.\n"
 
-#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
 msgstr "\nЕсли вы удалите строку здесь, то УКАЗАННЫЙ КОММИТ БУДЕТ УТЕРЯН.\n"
 
-#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4540,36 +5492,33 @@ msgid ""
 "\n"
 msgstr "\nВы сейчас редактируете файл со списком дел для интерактивного перемещения.\nДля продолжения перемещения, после редактирования файла запустите:\n    git rebase --continue\n\n"
 
-#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 msgstr "\nНо если вы удалите все, то процесс перемещения будет будет прерван.\n\n"
 
-#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900
-msgid "Note that empty commits are commented out"
-msgstr "Заметьте, что пустые коммиты закомментированны"
-
-#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
-#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:110 rerere.c:485 rerere.c:692 sequencer.c:3607
+#: sequencer.c:3633 sequencer.c:5416 builtin/fsck.c:347 builtin/rebase.c:270
 #, c-format
 msgid "could not write '%s'"
 msgstr "не удалось записать «%s»"
 
-#: rebase-interactive.c:108
+#: rebase-interactive.c:116 builtin/rebase.c:202 builtin/rebase.c:228
+#: builtin/rebase.c:252
 #, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr ""
+msgid "could not write '%s'."
+msgstr "не удалось записать «%s»."
 
-#: rebase-interactive.c:173
+#: rebase-interactive.c:193
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):\n"
 msgstr "Внимание: некоторые коммиты могли быть отброшены по ошибке.\nОтброшенные коммиты (от новых к старым):\n"
 
-#: rebase-interactive.c:180
+#: rebase-interactive.c:200
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -4579,430 +5528,410 @@ msgid ""
 "\n"
 msgstr "Чтобы избежать этого сообщения, используйте «drop» чтобы явно удалить коммит.\n\nИспользуйте опцию «git config rebase.missingCommitsCheck» для изменения количества предупреждений.\nВозможные значения: ignore, warn, error.\n\n"
 
-#: refs.c:192
-#, c-format
-msgid "%s does not point to a valid object!"
-msgstr ""
-
-#: refs.c:597
-#, c-format
-msgid "ignoring dangling symref %s"
-msgstr ""
-
-#: refs.c:599 ref-filter.c:1982
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr "игнорирую неправильную ссылку %s"
-
-#: refs.c:734
-#, c-format
-msgid "could not open '%s' for writing: %s"
-msgstr "не удалось открыть «%s» для записи: %s"
-
-#: refs.c:744 refs.c:795
-#, c-format
-msgid "could not read ref '%s'"
-msgstr ""
-
-#: refs.c:750
-#, c-format
-msgid "ref '%s' already exists"
-msgstr ""
-
-#: refs.c:755
-#, c-format
-msgid "unexpected object ID when writing '%s'"
-msgstr ""
-
-#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
-#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
-#, c-format
-msgid "could not write to '%s'"
-msgstr "не удалось записать в «%s»"
-
-#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715
-#: builtin/rebase.c:993
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr "не удалось открыть «%s» для записи"
-
-#: refs.c:797
-#, c-format
-msgid "unexpected object ID when deleting '%s'"
-msgstr ""
-
-#: refs.c:928
-#, c-format
-msgid "log for ref %s has gap after %s"
-msgstr ""
-
-#: refs.c:934
+#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2394
+#: builtin/rebase.c:188 builtin/rebase.c:213 builtin/rebase.c:239
+#: builtin/rebase.c:264
 #, c-format
-msgid "log for ref %s unexpectedly ended on %s"
-msgstr ""
-
-#: refs.c:993
-#, c-format
-msgid "log for %s is empty"
-msgstr ""
-
-#: refs.c:1085
-#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr ""
-
-#: refs.c:1161
-#, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr ""
-
-#: refs.c:1942
-#, c-format
-msgid "multiple updates for ref '%s' not allowed"
-msgstr ""
-
-#: refs.c:1974
-msgid "ref updates forbidden inside quarantine environment"
-msgstr "обновление ссылок запрещено в изолированном окружении"
-
-#: refs.c:2070 refs.c:2100
-#, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr ""
-
-#: refs.c:2076 refs.c:2111
-#, c-format
-msgid "cannot process '%s' and '%s' at the same time"
-msgstr ""
-
-#: refs/files-backend.c:1234
-#, c-format
-msgid "could not remove reference %s"
-msgstr "не удалось удалить ссылки %s"
-
-#: refs/files-backend.c:1248 refs/packed-backend.c:1532
-#: refs/packed-backend.c:1542
-#, c-format
-msgid "could not delete reference %s: %s"
-msgstr "не удалось удалить ссылку %s: %s"
-
-#: refs/files-backend.c:1251 refs/packed-backend.c:1545
-#, c-format
-msgid "could not delete references: %s"
-msgstr "не удалось удалить ссылки: %s"
-
-#: refspec.c:137
-#, c-format
-msgid "invalid refspec '%s'"
-msgstr ""
+msgid "could not read '%s'."
+msgstr "не удалось прочитать «%s»."
 
-#: ref-filter.c:39 wt-status.c:1909
+#: ref-filter.c:42 wt-status.c:1973
 msgid "gone"
 msgstr "исчез"
 
-#: ref-filter.c:40
+#: ref-filter.c:43
 #, c-format
 msgid "ahead %d"
 msgstr "впереди %d"
 
-#: ref-filter.c:41
+#: ref-filter.c:44
 #, c-format
 msgid "behind %d"
 msgstr "позади %d"
 
-#: ref-filter.c:42
+#: ref-filter.c:45
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "впереди %d, позади %d"
 
-#: ref-filter.c:138
+#: ref-filter.c:169
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "ожидаемый формат: %%(color:<color>)"
 
-#: ref-filter.c:140
+#: ref-filter.c:171
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "неопознанный цвет: %%(color:%s)"
 
-#: ref-filter.c:162
+#: ref-filter.c:193
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Ожидается целочисленное значение refname:lstrip=%s"
 
-#: ref-filter.c:166
+#: ref-filter.c:197
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Ожидается целочисленное значение refname:rstrip=%s"
 
-#: ref-filter.c:168
+#: ref-filter.c:199
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "неопознанный аргумент %%(%s): %s"
 
-#: ref-filter.c:223
+#: ref-filter.c:254
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:245
+#: ref-filter.c:276
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr ""
 
-#: ref-filter.c:253
+#: ref-filter.c:284
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr ""
 
-#: ref-filter.c:265
+#: ref-filter.c:296
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "параметр %%(body) не принимает аргументы"
 
-#: ref-filter.c:274
+#: ref-filter.c:309
 #, c-format
-msgid "%%(subject) does not take arguments"
-msgstr "параметр %%(subject) не принимает аргументы"
+msgid "unrecognized %%(subject) argument: %s"
+msgstr ""
 
-#: ref-filter.c:296
+#: ref-filter.c:330
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "неизвестный аргумент для %%(trailers): %s"
 
-#: ref-filter.c:325
+#: ref-filter.c:363
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "положительное значение ожидает contents:lines=%s"
 
-#: ref-filter.c:327
+#: ref-filter.c:365
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "неопознанный аргумент %%(contents): %s"
 
-#: ref-filter.c:342
+#: ref-filter.c:380
+#, c-format
+msgid "positive value expected '%s' in %%(%s)"
+msgstr ""
+
+#: ref-filter.c:384
 #, c-format
-msgid "positive value expected objectname:short=%s"
-msgstr "ожидается положительное значение objectname:short=%s"
+msgid "unrecognized argument '%s' in %%(%s)"
+msgstr ""
 
-#: ref-filter.c:346
+#: ref-filter.c:398
 #, c-format
-msgid "unrecognized %%(objectname) argument: %s"
-msgstr "неопознанный аргумент %%(objectname): %s"
+msgid "unrecognized email option: %s"
+msgstr ""
 
-#: ref-filter.c:376
+#: ref-filter.c:428
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "ожидаемый формат: %%(align:<width>,<position>)"
 
-#: ref-filter.c:388
+#: ref-filter.c:440
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "неопознанная позиция:%s"
 
-#: ref-filter.c:395
+#: ref-filter.c:447
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "неопознанная ширина:%s"
 
-#: ref-filter.c:404
+#: ref-filter.c:456
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "неопознанный аргумент %%(align): %s"
 
-#: ref-filter.c:412
+#: ref-filter.c:464
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "ожидается положительная ширина с указанием частицы %%(align)"
 
-#: ref-filter.c:430
+#: ref-filter.c:482
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "неопознанный аргумент %%(if): %s"
 
-#: ref-filter.c:531
+#: ref-filter.c:584
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "неправильное имя поля: %.*s"
 
-#: ref-filter.c:558
+#: ref-filter.c:611
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "неизвестное имя поля: %.*s"
 
-#: ref-filter.c:562
+#: ref-filter.c:615
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr ""
 
-#: ref-filter.c:686
+#: ref-filter.c:739
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "формат: частица %%(if) использована без частицы %%(then)"
 
-#: ref-filter.c:749
+#: ref-filter.c:802
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "формат: частица %%(then) использована без частицы %%(if)"
 
-#: ref-filter.c:751
+#: ref-filter.c:804
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "формат: частица %%(then) использована более одного раза"
 
-#: ref-filter.c:753
+#: ref-filter.c:806
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "формат: частица %%(then) использована после %%(else)"
 
-#: ref-filter.c:781
+#: ref-filter.c:834
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "формат: частица %%(else) использована без частицы %%(if)"
 
-#: ref-filter.c:783
+#: ref-filter.c:836
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "формат: частица %%(else) использована без частицы %%(then)"
 
-#: ref-filter.c:785
+#: ref-filter.c:838
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "формат: частица %%(else) использована более одного раза"
 
-#: ref-filter.c:800
+#: ref-filter.c:853
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "формат: частица %%(end) использована без соответствующей частицы"
 
-#: ref-filter.c:857
+#: ref-filter.c:910
 #, c-format
 msgid "malformed format string %s"
 msgstr "неправильная строка формата %s"
 
-#: ref-filter.c:1453
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr "(нет ветки, перемещение %s)"
-
-#: ref-filter.c:1456
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr "(нет ветки перемещение отделённого HEAD %s)"
-
-#: ref-filter.c:1459
+#: ref-filter.c:1549
 #, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr "(нет ветки, двоичный поиск начат на %s)"
+msgid "no branch, rebasing %s"
+msgstr ""
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached at " in wt-status.c
-#: ref-filter.c:1467
+#: ref-filter.c:1552
 #, c-format
-msgid "(HEAD detached at %s)"
-msgstr "(HEAD отделён на %s)"
+msgid "no branch, rebasing detached HEAD %s"
+msgstr ""
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached from " in wt-status.c
-#: ref-filter.c:1474
+#: ref-filter.c:1555
 #, c-format
-msgid "(HEAD detached from %s)"
-msgstr "(HEAD отделён начиная с %s)"
+msgid "no branch, bisect started on %s"
+msgstr ""
 
-#: ref-filter.c:1478
-msgid "(no branch)"
-msgstr "(нет ветки)"
+#: ref-filter.c:1565
+msgid "no branch"
+msgstr ""
 
-#: ref-filter.c:1512 ref-filter.c:1669
+#: ref-filter.c:1599 ref-filter.c:1808
 #, c-format
 msgid "missing object %s for %s"
 msgstr "не найден объект %s для %s"
 
-#: ref-filter.c:1522
+#: ref-filter.c:1609
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "сбой при выполнении parse_object_buffer на %s для %s"
 
-#: ref-filter.c:1888
+#: ref-filter.c:2062
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "Повреждённый объект «%s»"
 
-#: ref-filter.c:1977
+#: ref-filter.c:2151
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "игнорирую ссылку с неправильным именем %s"
 
-#: ref-filter.c:2263
+#: ref-filter.c:2156 refs.c:676
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "игнорирую неправильную ссылку %s"
+
+#: ref-filter.c:2472
+#, c-format
+msgid "format: %%(end) atom missing"
+msgstr "format: пропущена частица %%(end)"
+
+#: ref-filter.c:2571
+#, c-format
+msgid "malformed object name %s"
+msgstr "неправильное имя объекта %s"
+
+#: ref-filter.c:2576
+#, c-format
+msgid "option `%s' must point to a commit"
+msgstr ""
+
+#: refs.c:264
+#, c-format
+msgid "%s does not point to a valid object!"
+msgstr ""
+
+#: refs.c:566
+#, c-format
+msgid ""
+"Using '%s' as the name for the initial branch. This default branch name\n"
+"is subject to change. To configure the initial branch name to use in all\n"
+"of your new repositories, which will suppress this warning, call:\n"
+"\n"
+"\tgit config --global init.defaultBranch <name>\n"
+"\n"
+"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
+"'development'. The just-created branch can be renamed via this command:\n"
+"\n"
+"\tgit branch -m <name>\n"
+msgstr ""
+
+#: refs.c:588
+#, c-format
+msgid "could not retrieve `%s`"
+msgstr ""
+
+#: refs.c:598
+#, c-format
+msgid "invalid branch name: %s = %s"
+msgstr ""
+
+#: refs.c:674
+#, c-format
+msgid "ignoring dangling symref %s"
+msgstr ""
+
+#: refs.c:911
+#, c-format
+msgid "log for ref %s has gap after %s"
+msgstr ""
+
+#: refs.c:917
+#, c-format
+msgid "log for ref %s unexpectedly ended on %s"
+msgstr ""
+
+#: refs.c:976
+#, c-format
+msgid "log for %s is empty"
+msgstr ""
+
+#: refs.c:1068
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr ""
+
+#: refs.c:1139
+#, c-format
+msgid "update_ref failed for ref '%s': %s"
+msgstr ""
+
+#: refs.c:1963
+#, c-format
+msgid "multiple updates for ref '%s' not allowed"
+msgstr ""
+
+#: refs.c:2043
+msgid "ref updates forbidden inside quarantine environment"
+msgstr "обновление ссылок запрещено в изолированном окружении"
+
+#: refs.c:2054
+msgid "ref updates aborted by hook"
+msgstr ""
+
+#: refs.c:2154 refs.c:2184
 #, c-format
-msgid "format: %%(end) atom missing"
-msgstr "format: пропущена частица %%(end)"
+msgid "'%s' exists; cannot create '%s'"
+msgstr ""
 
-#: ref-filter.c:2363
+#: refs.c:2160 refs.c:2195
 #, c-format
-msgid "option `%s' is incompatible with --merged"
+msgid "cannot process '%s' and '%s' at the same time"
 msgstr ""
 
-#: ref-filter.c:2366
+#: refs/files-backend.c:1228
 #, c-format
-msgid "option `%s' is incompatible with --no-merged"
-msgstr ""
+msgid "could not remove reference %s"
+msgstr "не удалось удалить ссылки %s"
 
-#: ref-filter.c:2376
+#: refs/files-backend.c:1242 refs/packed-backend.c:1542
+#: refs/packed-backend.c:1552
 #, c-format
-msgid "malformed object name %s"
-msgstr "неправильное имя объекта %s"
+msgid "could not delete reference %s: %s"
+msgstr "не удалось удалить ссылку %s: %s"
 
-#: ref-filter.c:2381
+#: refs/files-backend.c:1245 refs/packed-backend.c:1555
 #, c-format
-msgid "option `%s' must point to a commit"
+msgid "could not delete references: %s"
+msgstr "не удалось удалить ссылки: %s"
+
+#: refspec.c:170
+#, c-format
+msgid "invalid refspec '%s'"
 msgstr ""
 
-#: remote.c:363
+#: remote.c:351
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
 msgstr ""
 
-#: remote.c:410
+#: remote.c:399
 msgid "more than one receivepack given, using the first"
 msgstr ""
 
-#: remote.c:418
+#: remote.c:407
 msgid "more than one uploadpack given, using the first"
 msgstr ""
 
-#: remote.c:608
+#: remote.c:590
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Нельзя извлечь одновременно %s и %s в %s"
 
-#: remote.c:612
+#: remote.c:594
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s обычно отслеживает %s, а не %s"
 
-#: remote.c:616
+#: remote.c:598
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s отслеживает и %s и %s"
 
-#: remote.c:684
+#: remote.c:666
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr ""
 
-#: remote.c:694
+#: remote.c:676
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr ""
 
-#: remote.c:1000
+#: remote.c:1073
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr ""
 
-#: remote.c:1005
+#: remote.c:1078
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr ""
@@ -5010,7 +5939,7 @@ msgstr ""
 #. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
 #. the <src>.
-#: remote.c:1020
+#: remote.c:1093
 #, c-format
 msgid ""
 "The destination you provided is not a full refname (i.e.,\n"
@@ -5024,7 +5953,7 @@ msgid ""
 "Neither worked, so we gave up. You must fully qualify the ref."
 msgstr ""
 
-#: remote.c:1040
+#: remote.c:1113
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -5032,7 +5961,7 @@ msgid ""
 "'%s:refs/heads/%s'?"
 msgstr ""
 
-#: remote.c:1045
+#: remote.c:1118
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -5040,7 +5969,7 @@ msgid ""
 "'%s:refs/tags/%s'?"
 msgstr ""
 
-#: remote.c:1050
+#: remote.c:1123
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -5048,7 +5977,7 @@ msgid ""
 "'%s:refs/tags/%s'?"
 msgstr ""
 
-#: remote.c:1055
+#: remote.c:1128
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -5056,103 +5985,103 @@ msgid ""
 "'%s:refs/tags/%s'?"
 msgstr ""
 
-#: remote.c:1091
+#: remote.c:1164
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr ""
 
-#: remote.c:1102
+#: remote.c:1175
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
 msgstr ""
 
-#: remote.c:1114
+#: remote.c:1187
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr ""
 
-#: remote.c:1121
+#: remote.c:1194
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr ""
 
-#: remote.c:1624 remote.c:1725
+#: remote.c:1714 remote.c:1815
 msgid "HEAD does not point to a branch"
 msgstr "HEAD не указывает на ветку"
 
-#: remote.c:1633
+#: remote.c:1723
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "нет такой ветки: «%s»"
 
-#: remote.c:1636
+#: remote.c:1726
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "вышестоящая ветка не настроена для ветки «%s»"
 
-#: remote.c:1642
+#: remote.c:1732
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "вышестоящая ветка «%s» не сохранена как отслеживаемая ветка"
 
-#: remote.c:1657
+#: remote.c:1747
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "назначение для отправки «%s» на внешнем сервере «%s» не имеет локальной отслеживаемой ветки"
 
-#: remote.c:1669
+#: remote.c:1759
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "ветка «%s» не имеет внешнего сервера для отправки"
 
-#: remote.c:1679
+#: remote.c:1769
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "спецификаторы пути для отправки «%s» не включают в себя «%s»"
 
-#: remote.c:1692
+#: remote.c:1782
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "отправка не имеет точки назначения (push.default выставлен в «nothing»)"
 
-#: remote.c:1714
+#: remote.c:1804
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "не удалось выполнить «simple» отправку в единственную точку назначения"
 
-#: remote.c:1840
+#: remote.c:1933
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr ""
 
-#: remote.c:1853
+#: remote.c:1946
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr ""
 
-#: remote.c:2016
+#: remote.c:2109
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "Ваша ветка базируется на «%s», но вышестоящий репозиторий исчез.\n"
 
-#: remote.c:2020
+#: remote.c:2113
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr "(для исправления запустите «git branch --unset-upstream»)\n"
+msgstr " (для исправления запустите «git branch --unset-upstream»)\n"
 
-#: remote.c:2023
+#: remote.c:2116
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Ваша ветка обновлена в соответствии с «%s».\n"
 
-#: remote.c:2027
+#: remote.c:2120
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Ваша ветка и «%s» указывают на разные коммиты.\n"
 
-#: remote.c:2030
+#: remote.c:2123
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (используйте «%s» для просмотра описания)\n"
 
-#: remote.c:2034
+#: remote.c:2127
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
@@ -5161,11 +6090,11 @@ msgstr[1] "Ваша ветка опережает «%s» на %d коммита.
 msgstr[2] "Ваша ветка опережает «%s» на %d коммитов.\n"
 msgstr[3] "Ваша ветка опережает «%s» на %d коммитов.\n"
 
-#: remote.c:2040
+#: remote.c:2133
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (используйте «git push», чтобы опубликовать ваши локальные коммиты)\n"
 
-#: remote.c:2043
+#: remote.c:2136
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -5175,11 +6104,11 @@ msgstr[1] "Ваша ветка отстает от «%s» на %d коммита
 msgstr[2] "Ваша ветка отстает от «%s» на %d коммитов и может быть перемотана вперед.\n"
 msgstr[3] "Ваша ветка отстает от «%s» на %d коммитов и может быть перемотана вперед.\n"
 
-#: remote.c:2051
+#: remote.c:2144
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (используйте «git pull», чтобы обновить вашу локальную ветку)\n"
 
-#: remote.c:2054
+#: remote.c:2147
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -5192,11 +6121,11 @@ msgstr[1] "Ваша ветка и «%s» разделились\nи теперь
 msgstr[2] "Ваша ветка и «%s» разделились\nи теперь имеют %d и %d разных коммитов в каждой соответственно.\n"
 msgstr[3] "Ваша ветка и «%s» разделились\nи теперь имеют %d и %d разных коммитов в каждой соответственно.\n"
 
-#: remote.c:2064
+#: remote.c:2157
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (используйте «git pull», чтобы слить внешнюю ветку в вашу)\n"
 
-#: remote.c:2247
+#: remote.c:2349
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr ""
@@ -5211,7 +6140,7 @@ msgstr ""
 msgid "duplicate replace ref: %s"
 msgstr ""
 
-#: replace-object.c:73
+#: replace-object.c:82
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr ""
@@ -5274,8 +6203,8 @@ msgstr ""
 msgid "Recorded preimage for '%s'"
 msgstr ""
 
-#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
-#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2082 builtin/log.c:1992
+#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "не удалось создать каталог «%s»"
@@ -5309,223 +6238,240 @@ msgstr ""
 msgid "unable to open rr-cache directory"
 msgstr ""
 
-#: revision.c:2476
+#: reset.c:42
+msgid "could not determine HEAD revision"
+msgstr ""
+
+#: reset.c:70 reset.c:76 sequencer.c:3460
+#, c-format
+msgid "failed to find tree of %s"
+msgstr "не удалось найти дерево для %s"
+
+#: revision.c:2336
+msgid "--unpacked=<packfile> no longer supported"
+msgstr ""
+
+#: revision.c:2356
+#, c-format
+msgid "unknown value for --diff-merges: %s"
+msgstr ""
+
+#: revision.c:2694
 msgid "your current branch appears to be broken"
 msgstr "похоже, ваша текущая ветка повреждена"
 
-#: revision.c:2479
+#: revision.c:2697
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "ваша текущая ветка «%s» еще не содержит ни одного коммита"
 
-#: revision.c:2679
-msgid "--first-parent is incompatible with --bisect"
-msgstr "опцию --first-parent нельзя использовать одновременно с --bisect"
-
-#: revision.c:2683
+#: revision.c:2907
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr ""
 
-#: run-command.c:763
+#: run-command.c:764
 msgid "open /dev/null failed"
 msgstr "сбой открытия /dev/null"
 
-#: run-command.c:1269
+#: run-command.c:1271
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr ""
 
-#: run-command.c:1333
+#: run-command.c:1335
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
 "You can disable this warning with `git config advice.ignoredHook false`."
 msgstr "Перехватчик «%s» был проигнорирован, так как он не установлен как исполняемый.\nВы можете отключить это предупреждение с помощью команды «git config advice.ignoredHook false»."
 
-#: send-pack.c:141
+#: send-pack.c:146
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr "неожиданный пустой пакет при чтении статуса внешней распаковки"
 
-#: send-pack.c:143
+#: send-pack.c:148
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "не удалось разобрать статус внешней распаковки: %s"
 
-#: send-pack.c:145
+#: send-pack.c:150
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "сбой при внешней распаковке %s"
 
-#: send-pack.c:306
+#: send-pack.c:374
 msgid "failed to sign the push certificate"
 msgstr "сбой подписания сертификата отправки"
 
-#: send-pack.c:420
+#: send-pack.c:467
+msgid "the receiving end does not support this repository's hash algorithm"
+msgstr ""
+
+#: send-pack.c:476
 msgid "the receiving end does not support --signed push"
 msgstr "принимающая сторона не поддерживает отправку с опцией --signed"
 
-#: send-pack.c:422
+#: send-pack.c:478
 msgid ""
 "not sending a push certificate since the receiving end does not support "
 "--signed push"
 msgstr "не отправляем сертификат для отправки, так как принимающая сторона не поддерживает отправку с опцией --signed"
 
-#: send-pack.c:434
+#: send-pack.c:490
 msgid "the receiving end does not support --atomic push"
 msgstr "принимающая сторона не поддерживает отправку с опцией --atomic"
 
-#: send-pack.c:439
+#: send-pack.c:495
 msgid "the receiving end does not support push options"
 msgstr "принимающая сторона не поддерживает отправку с опциями"
 
-#: sequencer.c:187
+#: sequencer.c:195
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "неправильный режим очистки сообщения коммита «%s»"
 
-#: sequencer.c:292
+#: sequencer.c:323
 #, c-format
 msgid "could not delete '%s'"
 msgstr "не удалось удалить «%s»"
 
-#: sequencer.c:318
+#: sequencer.c:343 builtin/rebase.c:755 builtin/rebase.c:1596 builtin/rm.c:385
+#, c-format
+msgid "could not remove '%s'"
+msgstr "не удалось удалить «%s»"
+
+#: sequencer.c:353
 msgid "revert"
 msgstr "обратить изменения"
 
-#: sequencer.c:320
+#: sequencer.c:355
 msgid "cherry-pick"
 msgstr "копировать коммит"
 
-#: sequencer.c:322
-msgid "rebase -i"
-msgstr "rebase -i"
+#: sequencer.c:357
+msgid "rebase"
+msgstr ""
 
-#: sequencer.c:324
+#: sequencer.c:359
 #, c-format
 msgid "unknown action: %d"
 msgstr ""
 
-#: sequencer.c:382
+#: sequencer.c:418
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr "после разрешения конфликтов, пометьте исправленные пути\nс помощью «git add <пути>» или «git rm <пути>»"
 
-#: sequencer.c:385
+#: sequencer.c:421
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 "and commit the result with 'git commit'"
 msgstr "после разрешения конфликтов, пометьте исправленные пути\nс помощью «git add <пути>» или «git rm <пути>»\nи сделайте коммит с помощью «git commit»"
 
-#: sequencer.c:398 sequencer.c:2801
+#: sequencer.c:434 sequencer.c:3062
 #, c-format
 msgid "could not lock '%s'"
 msgstr "не удалось заблокировать «%s»"
 
-#: sequencer.c:405
+#: sequencer.c:436 sequencer.c:2861 sequencer.c:3066 sequencer.c:3080
+#: sequencer.c:3337 sequencer.c:5326 strbuf.c:1168 wrapper.c:631
+#, c-format
+msgid "could not write to '%s'"
+msgstr "не удалось записать в «%s»"
+
+#: sequencer.c:441
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "не удалось записать eol в «%s»"
 
-#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
-#: sequencer.c:3084
+#: sequencer.c:446 sequencer.c:2866 sequencer.c:3068 sequencer.c:3082
+#: sequencer.c:3345
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "не удалось завершить «%s»"
 
-#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
-#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
-#: builtin/merge.c:1115 builtin/rebase.c:567
-#, c-format
-msgid "could not read '%s'"
-msgstr "не удалось прочитать «%s»"
-
-#: sequencer.c:459
+#: sequencer.c:485
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "ваши локальные изменения будут перезаписаны %s."
 
-#: sequencer.c:463
+#: sequencer.c:489
 msgid "commit your changes or stash them to proceed."
 msgstr "для продолжения закоммитьте ваши изменения или спрячьте их."
 
-#: sequencer.c:495
+#: sequencer.c:521
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: перемотка вперед"
 
-#: sequencer.c:534 builtin/tag.c:555
+#: sequencer.c:560 builtin/tag.c:566
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Неправильное значение режима очистки %s"
 
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase -i".
-#: sequencer.c:629
+#. "rebase".
+#: sequencer.c:670
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Не удалось записать файл индекса"
 
-#: sequencer.c:646
+#: sequencer.c:687
 msgid "unable to update cache tree"
 msgstr "не удалось обновить дерево кэша"
 
-#: sequencer.c:660
+#: sequencer.c:701
 msgid "could not resolve HEAD commit"
 msgstr "не удалось распознать HEAD коммит"
 
-#: sequencer.c:740
+#: sequencer.c:781
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr ""
 
-#: sequencer.c:751
+#: sequencer.c:792
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr ""
 
-#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
-#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
+#: sequencer.c:829 wrapper.c:201 wrapper.c:371 builtin/am.c:710
+#: builtin/am.c:802 builtin/merge.c:1135 builtin/rebase.c:908
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "не удалось открыть «%s» для чтения"
 
-#: sequencer.c:798
+#: sequencer.c:839
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr ""
 
-#: sequencer.c:803
+#: sequencer.c:844
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr ""
 
-#: sequencer.c:808
+#: sequencer.c:849
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr ""
 
-#: sequencer.c:812
+#: sequencer.c:853
 #, c-format
 msgid "unknown variable '%s'"
 msgstr ""
 
-#: sequencer.c:817
+#: sequencer.c:858
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr ""
 
-#: sequencer.c:819
+#: sequencer.c:860
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr ""
 
-#: sequencer.c:821
+#: sequencer.c:862
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr ""
 
-#: sequencer.c:881
-#, c-format
-msgid "invalid date format '%s' in '%s'"
-msgstr ""
-
-#: sequencer.c:898
+#: sequencer.c:927
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5542,15 +6488,11 @@ msgid ""
 "  git rebase --continue\n"
 msgstr "у вас имеются проиндексированные изменения в рабочем каталоге. Если эти изменения должны быть объеденены с предыдущим коммитом, то запустите:\n\n  git commit --amend %s\n\nЕсли же они должны быть помещены в новый коммит, то запустите:\n\n  git commit %s\n\nВ любом случае, после того как вы закончите, продолжить перемещение можно выполнив:\n\n  git rebase --continue\n"
 
-#: sequencer.c:992
-msgid "writing root commit"
-msgstr "запись коневого коммита"
-
-#: sequencer.c:1213
+#: sequencer.c:1208
 msgid "'prepare-commit-msg' hook failed"
 msgstr "ошибка при вызове перехватчика «prepare-commit-msg»"
 
-#: sequencer.c:1220
+#: sequencer.c:1214
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5565,7 +6507,7 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr "Ваше имя или электронная почта настроены автоматически на основании вашего\nимени пользователя и имени машины. Пожалуйста, проверьте, что они \nопределены правильно.\nВы можете отключить это уведомление установив их напрямую. Запустите следующую\nкоманду и следуйте инструкциям вашего текстового редактора, для\nредактирования вашего файла конфигурации:\n\n    git config --global --edit\n\nПосле этого, изменить авторство этой коммита можно будет с помощью команды:\n\n    git commit --amend --reset-author\n"
 
-#: sequencer.c:1233
+#: sequencer.c:1227
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5579,305 +6521,354 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr "Ваше имя или электронная почта настроены автоматически на основании вашего\nимени пользователя и имени машины. Пожалуйста, проверьте, что они \nопределены правильно.\nВы можете отключить это уведомление установив их напрямую:\n\n    git config --global user.name \"Ваше Имя\"\n    git config --global user.email you@example.com\n\nПосле этого, изменить авторство этой коммита можно будет с помощью команды:\n\n    git commit --amend --reset-author\n"
 
-#: sequencer.c:1275
+#: sequencer.c:1269
 msgid "couldn't look up newly created commit"
 msgstr "нельзя запросить новосозданный коммит"
 
-#: sequencer.c:1277
+#: sequencer.c:1271
 msgid "could not parse newly created commit"
 msgstr "нельзя разобрать новосозданный коммит"
 
-#: sequencer.c:1323
+#: sequencer.c:1317
 msgid "unable to resolve HEAD after creating commit"
 msgstr "не удалось найти HEAD после создания коммита"
 
-#: sequencer.c:1325
+#: sequencer.c:1319
 msgid "detached HEAD"
 msgstr "отделённый HEAD"
 
-#: sequencer.c:1329
+#: sequencer.c:1323
 msgid " (root-commit)"
 msgstr " (корневой коммит)"
 
-#: sequencer.c:1350
+#: sequencer.c:1344
 msgid "could not parse HEAD"
 msgstr "не удалось разобрать HEAD"
 
-#: sequencer.c:1352
+#: sequencer.c:1346
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s не является коммитом!"
 
-#: sequencer.c:1356 builtin/commit.c:1551
+#: sequencer.c:1350 sequencer.c:1425 builtin/commit.c:1577
 msgid "could not parse HEAD commit"
 msgstr "не удалось разобрать HEAD коммит"
 
-#: sequencer.c:1408 sequencer.c:2001
+#: sequencer.c:1403 sequencer.c:2100
 msgid "unable to parse commit author"
 msgstr "не удалось разобрать автора коммита"
 
-#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688
+#: sequencer.c:1414 builtin/am.c:1566 builtin/merge.c:701
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree не удалось записать дерево"
 
-#: sequencer.c:1435 sequencer.c:1496
+#: sequencer.c:1447 sequencer.c:1565
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "не удалось прочитать сообщение коммита из «%s»"
 
-#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650
-#: builtin/merge.c:882 builtin/merge.c:906
+#: sequencer.c:1476 sequencer.c:1508
+#, c-format
+msgid "invalid author identity '%s'"
+msgstr ""
+
+#: sequencer.c:1482
+msgid "corrupt author: missing date information"
+msgstr ""
+
+#: sequencer.c:1521 builtin/am.c:1593 builtin/commit.c:1678
+#: builtin/merge.c:904 builtin/merge.c:929 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "сбой записи объекта коммита"
 
-#: sequencer.c:1523
+#: sequencer.c:1548 sequencer.c:4283 t/helper/test-fast-rebase.c:198
+#, c-format
+msgid "could not update %s"
+msgstr "не удалось обновить %s"
+
+#: sequencer.c:1597
 #, c-format
 msgid "could not parse commit %s"
 msgstr "не удалось разобрать коммит %s"
 
-#: sequencer.c:1528
+#: sequencer.c:1602
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "не удалось разобрать родительский коммит %s"
 
-#: sequencer.c:1602 sequencer.c:1712
+#: sequencer.c:1685 sequencer.c:1796
 #, c-format
 msgid "unknown command: %d"
 msgstr "неизвестная команда: %d"
 
-#: sequencer.c:1659 sequencer.c:1684
+#: sequencer.c:1743 sequencer.c:1768
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Это объединение %d коммитов."
 
-#: sequencer.c:1669
+#: sequencer.c:1753
 msgid "need a HEAD to fixup"
 msgstr "нужен HEAD для исправления"
 
-#: sequencer.c:1671 sequencer.c:3111
+#: sequencer.c:1755 sequencer.c:3372
 msgid "could not read HEAD"
 msgstr "не удалось прочитать HEAD"
 
-#: sequencer.c:1673
+#: sequencer.c:1757
 msgid "could not read HEAD's commit message"
 msgstr "не удалось прочитать сообщение коммита текущего HEAD"
 
-#: sequencer.c:1679
+#: sequencer.c:1763
 #, c-format
 msgid "cannot write '%s'"
 msgstr "не удалось записать «%s»"
 
-#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1770 git-rebase--preserve-merges.sh:486
 msgid "This is the 1st commit message:"
 msgstr "Это 1-е сообщение коммита:"
 
-#: sequencer.c:1694
+#: sequencer.c:1778
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "не удалось прочитать сообщение коммита для %s"
 
-#: sequencer.c:1701
+#: sequencer.c:1785
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Это сообщение коммита номер #%d:"
 
-#: sequencer.c:1707
+#: sequencer.c:1791
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Сообщение коммита номер #%d будет пропущено:"
 
-#: sequencer.c:1795
+#: sequencer.c:1879
 msgid "your index file is unmerged."
 msgstr "ваш индекс не слит."
 
-#: sequencer.c:1802
+#: sequencer.c:1886
 msgid "cannot fixup root commit"
 msgstr "нельзя исправить корневой коммит"
 
-#: sequencer.c:1821
+#: sequencer.c:1905
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "коммит %s — это коммит-слияние, но опция -m не указана."
 
-#: sequencer.c:1829 sequencer.c:1837
+#: sequencer.c:1913 sequencer.c:1921
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "у коммита %s нет предка %d"
 
-#: sequencer.c:1843
+#: sequencer.c:1927
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "не удалось получить сообщение коммита для %s"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1862
+#: sequencer.c:1946
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: не удалось разобрать родительский коммит для %s"
 
-#: sequencer.c:1927
+#: sequencer.c:2011
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "не удалось переименовать «%s» в «%s»"
 
-#: sequencer.c:1982
+#: sequencer.c:2071
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "не удалось обратить изменения коммита %s… %s"
 
-#: sequencer.c:1983
+#: sequencer.c:2072
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "не удалось применить коммит %s… %s"
 
-#: sequencer.c:2042
+#: sequencer.c:2092
+#, c-format
+msgid "dropping %s %s -- patch contents already upstream\n"
+msgstr ""
+
+#: sequencer.c:2150
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: сбой чтения индекса"
 
-#: sequencer.c:2049
+#: sequencer.c:2157
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: сбой обновления индекса"
 
-#: sequencer.c:2118
+#: sequencer.c:2234
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "параметр %s не принимает аргументы: «%s»"
 
-#: sequencer.c:2127
+#: sequencer.c:2243
 #, c-format
 msgid "missing arguments for %s"
 msgstr "пропущены аргументы для %s"
 
-#: sequencer.c:2164
+#: sequencer.c:2274
 #, c-format
-msgid "could not parse '%.*s'"
+msgid "could not parse '%s'"
 msgstr ""
 
-#: sequencer.c:2226
+#: sequencer.c:2335
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "неправильная строка %d: %.*s"
 
-#: sequencer.c:2237
+#: sequencer.c:2346
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "нельзя выполнить «%s» без указания предыдущего коммита"
 
-#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178
-#: builtin/rebase.c:204 builtin/rebase.c:229
-#, c-format
-msgid "could not read '%s'."
-msgstr "не удалось прочитать «%s»."
+#: sequencer.c:2432
+msgid "cancelling a cherry picking in progress"
+msgstr ""
 
-#: sequencer.c:2360
+#: sequencer.c:2441
+msgid "cancelling a revert in progress"
+msgstr ""
+
+#: sequencer.c:2485
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "пожалуйста исправьте это с помощью «git rebase --edit-todo»."
 
-#: sequencer.c:2362
+#: sequencer.c:2487
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "непригодная для использования карта с инструкциями: «%s»"
 
-#: sequencer.c:2367
+#: sequencer.c:2492
 msgid "no commits parsed."
 msgstr "коммиты не разобраны."
 
-#: sequencer.c:2378
+#: sequencer.c:2503
 msgid "cannot cherry-pick during a revert."
 msgstr "нельзя скопировать коммит во время процесса обращения коммита."
 
-#: sequencer.c:2380
+#: sequencer.c:2505
 msgid "cannot revert during a cherry-pick."
 msgstr "нельзя обратить изменения коммита во время копирования коммита."
 
-#: sequencer.c:2462
+#: sequencer.c:2583
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "неправильное значение %s: %s"
 
-#: sequencer.c:2549
+#: sequencer.c:2690
 msgid "unusable squash-onto"
 msgstr "непригодный для использования уплотнить-над"
 
-#: sequencer.c:2565
+#: sequencer.c:2710
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "испорченная карта с опциями: «%s»"
 
-#: sequencer.c:2648 sequencer.c:4227
+#: sequencer.c:2803 sequencer.c:4636
 msgid "empty commit set passed"
 msgstr "передан пустой набор коммитов"
 
-#: sequencer.c:2656
-msgid "a cherry-pick or revert is already in progress"
-msgstr "копирование или обращение изменений коммита уже выполняются"
+#: sequencer.c:2820
+msgid "revert is already in progress"
+msgstr ""
+
+#: sequencer.c:2822
+#, c-format
+msgid "try \"git revert (--continue | %s--abort | --quit)\""
+msgstr ""
+
+#: sequencer.c:2825
+msgid "cherry-pick is already in progress"
+msgstr ""
 
-#: sequencer.c:2657
-msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr "попробуйте «git cherry-pick (--continue | --quit | --abort)»"
+#: sequencer.c:2827
+#, c-format
+msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
+msgstr ""
 
-#: sequencer.c:2660
+#: sequencer.c:2841
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "не удалось создать каталог для указателя следования коммитов «%s»"
 
-#: sequencer.c:2674
+#: sequencer.c:2856
 msgid "could not lock HEAD"
 msgstr "не удалось заблокировать HEAD"
 
-#: sequencer.c:2729 sequencer.c:3979
+#: sequencer.c:2916 sequencer.c:4371
 msgid "no cherry-pick or revert in progress"
 msgstr "копирование или обращение изменений коммита уже выполняются"
 
-#: sequencer.c:2731
+#: sequencer.c:2918 sequencer.c:2929
 msgid "cannot resolve HEAD"
 msgstr "не удалось определить HEAD"
 
-#: sequencer.c:2733 sequencer.c:2768
+#: sequencer.c:2920 sequencer.c:2964
 msgid "cannot abort from a branch yet to be born"
 msgstr "нельзя отменить изменения с ветки, которая еще не создана"
 
-#: sequencer.c:2754 builtin/grep.c:732
+#: sequencer.c:2950 builtin/grep.c:756
 #, c-format
 msgid "cannot open '%s'"
 msgstr "не удалось открыть «%s»"
 
-#: sequencer.c:2756
+#: sequencer.c:2952
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "не удалось прочитать «%s»: %s"
 
-#: sequencer.c:2757
+#: sequencer.c:2953
 msgid "unexpected end of file"
 msgstr "неожиданный конец файла"
 
-#: sequencer.c:2763
+#: sequencer.c:2959
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "сохраненный файл с HEAD перед копированием коммита «%s» поврежден"
 
-#: sequencer.c:2774
+#: sequencer.c:2970
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "Похоже, что вы переместили HEAD. Перемотка не выполняется, проверьте свой указатель HEAD!"
 
-#: sequencer.c:2903 sequencer.c:3894
+#: sequencer.c:3011
+msgid "no revert in progress"
+msgstr ""
+
+#: sequencer.c:3020
+msgid "no cherry-pick in progress"
+msgstr ""
+
+#: sequencer.c:3030
+msgid "failed to skip the commit"
+msgstr ""
+
+#: sequencer.c:3037
+msgid "there is nothing to skip"
+msgstr ""
+
+#: sequencer.c:3040
 #, c-format
-msgid "could not update %s"
-msgstr "не удалось обновить %s"
+msgid ""
+"have you committed already?\n"
+"try \"git %s --continue\""
+msgstr ""
 
-#: sequencer.c:2941 sequencer.c:3874
+#: sequencer.c:3202 sequencer.c:4263
 msgid "cannot read HEAD"
 msgstr "не удалось прочитать HEAD"
 
-#: sequencer.c:2958
+#: sequencer.c:3219
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr ""
 
-#: sequencer.c:2966
+#: sequencer.c:3227
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -5889,27 +6880,27 @@ msgid ""
 "  git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:2976
+#: sequencer.c:3237
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr ""
 
-#: sequencer.c:2983
+#: sequencer.c:3244
 #, c-format
 msgid "Could not merge %.*s"
 msgstr ""
 
-#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
+#: sequencer.c:3258 sequencer.c:3262 builtin/difftool.c:640
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "не удалось скопировать «%s» в «%s»"
 
-#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839
-#: builtin/rebase.c:1580 builtin/rebase.c:1940 builtin/rebase.c:1995
-msgid "could not read index"
-msgstr "не удалось прочитать индекс"
+#: sequencer.c:3274
+#, c-format
+msgid "Executing: %s\n"
+msgstr ""
 
-#: sequencer.c:3028
+#: sequencer.c:3289
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -5919,11 +6910,11 @@ msgid ""
 "\n"
 msgstr "ошибка выполнения: %s\n%sВы можете исправить ошибку, а затем запустить\n\n  git rebase --continue\n\n"
 
-#: sequencer.c:3034
+#: sequencer.c:3295
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "и были сделаны изменения в индексе и/или в рабочем каталоге\n"
 
-#: sequencer.c:3040
+#: sequencer.c:3301
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -5934,108 +6925,120 @@ msgid ""
 "\n"
 msgstr "успешное выполнение: %s\nно остались изменения в индексе и/или в рабочем каталоге\nСделайте коммит или спрячьте ваши изменения, а затем выполните\n\n  git rebase --continue\n\n"
 
-#: sequencer.c:3101
+#: sequencer.c:3362
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr ""
 
-#: sequencer.c:3155
+#: sequencer.c:3416
 msgid "writing fake root commit"
 msgstr "запись поддельного корневого коммита"
 
-#: sequencer.c:3160
+#: sequencer.c:3421
 msgid "writing squash-onto"
 msgstr "запить уплотнить-над"
 
-#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
-#, c-format
-msgid "failed to find tree of %s"
-msgstr "не удалось найти дерево для %s"
-
-#: sequencer.c:3216 builtin/rebase.c:863
-msgid "could not write index"
-msgstr "не удалось записать индекс"
-
-#: sequencer.c:3243
+#: sequencer.c:3505
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "не удалось распознать «%s»"
 
-#: sequencer.c:3271
+#: sequencer.c:3538
 msgid "cannot merge without a current revision"
 msgstr "нельзя слить без текущей редакции"
 
-#: sequencer.c:3293
+#: sequencer.c:3560
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr ""
 
-#: sequencer.c:3302
+#: sequencer.c:3569
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr ""
 
-#: sequencer.c:3314
+#: sequencer.c:3581
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 
-#: sequencer.c:3329
+#: sequencer.c:3597
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "не удалось получить сообщение коммита для «%s»"
 
-#: sequencer.c:3478
+#: sequencer.c:3780
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "не удалось даже попытаться слить «%.*s»"
 
-#: sequencer.c:3494
+#: sequencer.c:3796
 msgid "merge: Unable to write new index file"
 msgstr "слияние: Не удалось записать файл индекса"
 
-#: sequencer.c:3562 builtin/rebase.c:711
+#: sequencer.c:3870
+msgid "Cannot autostash"
+msgstr "Не удалось автоматически спрятать изменения"
+
+#: sequencer.c:3873
+#, c-format
+msgid "Unexpected stash response: '%s'"
+msgstr ""
+
+#: sequencer.c:3879
+#, c-format
+msgid "Could not create directory for '%s'"
+msgstr ""
+
+#: sequencer.c:3882
+#, c-format
+msgid "Created autostash: %s\n"
+msgstr ""
+
+#: sequencer.c:3886
+msgid "could not reset --hard"
+msgstr ""
+
+#: sequencer.c:3911
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Применены автоматически спрятанные изменения.\n"
 
-#: sequencer.c:3574
+#: sequencer.c:3923
 #, c-format
 msgid "cannot store %s"
 msgstr "не удалось сохранить %s"
 
-#: sequencer.c:3577 builtin/rebase.c:727
+#: sequencer.c:3926
 #, c-format
 msgid ""
-"Applying autostash resulted in conflicts.\n"
+"%s\n"
 "Your changes are safe in the stash.\n"
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr "Применение автоматически спрятанных изменений вызвало конфликты.\nВаши изменения спрятаны и в безопасности.\nВы можете выполнить «git stash pop» или «git stash drop» в любой момент.\n"
+msgstr ""
 
-#: sequencer.c:3638
-#, c-format
-msgid "could not checkout %s"
+#: sequencer.c:3931
+msgid "Applying autostash resulted in conflicts."
 msgstr ""
 
-#: sequencer.c:3652
-#, c-format
-msgid "%s: not a valid OID"
+#: sequencer.c:3932
+msgid "Autostash exists; creating a new stash entry."
 msgstr ""
 
-#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
+#: sequencer.c:4025 git-rebase--preserve-merges.sh:769
 msgid "could not detach HEAD"
 msgstr "не удалось отделить HEAD"
 
-#: sequencer.c:3672
+#: sequencer.c:4040
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr ""
 
-#: sequencer.c:3674
+#: sequencer.c:4042
 #, c-format
 msgid "Stopped at %s\n"
 msgstr ""
 
-#: sequencer.c:3682
+#: sequencer.c:4050
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6048,120 +7051,124 @@ msgid ""
 "    git rebase --continue\n"
 msgstr ""
 
-#: sequencer.c:3759
+#: sequencer.c:4096
+#, c-format
+msgid "Rebasing (%d/%d)%s"
+msgstr ""
+
+#: sequencer.c:4141
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Остановлено на %s …  %.*s\n"
 
-#: sequencer.c:3837
+#: sequencer.c:4212
 #, c-format
 msgid "unknown command %d"
 msgstr "неизвестная команда %d"
 
-#: sequencer.c:3882
+#: sequencer.c:4271
 msgid "could not read orig-head"
 msgstr "не удалось прочитать orig-head"
 
-#: sequencer.c:3887
+#: sequencer.c:4276
 msgid "could not read 'onto'"
 msgstr "не удалось прочитать «onto»"
 
-#: sequencer.c:3901
+#: sequencer.c:4290
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "не удалось обновить HEAD на %s"
 
-#: sequencer.c:3991
+#: sequencer.c:4350
+#, c-format
+msgid "Successfully rebased and updated %s.\n"
+msgstr ""
+
+#: sequencer.c:4383
 msgid "cannot rebase: You have unstaged changes."
 msgstr "не удалось выполнить перемещение коммитов: У вас есть непроиндексированные изменения."
 
-#: sequencer.c:4000
+#: sequencer.c:4392
 msgid "cannot amend non-existing commit"
 msgstr "не удалось исправить несуществующий коммит"
 
-#: sequencer.c:4002
+#: sequencer.c:4394
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "недопустимый файл: «%s»"
 
-#: sequencer.c:4004
+#: sequencer.c:4396
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "недопустимое содержимое: «%s»"
 
-#: sequencer.c:4007
+#: sequencer.c:4399
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr "\nУ вас имеются незакоммиченные изменения в рабочем каталоге. Сделайте коммит, а затем запустите «git rebase --continue» снова."
 
-#: sequencer.c:4043 sequencer.c:4081
+#: sequencer.c:4435 sequencer.c:4474
 #, c-format
 msgid "could not write file: '%s'"
 msgstr ""
 
-#: sequencer.c:4096
+#: sequencer.c:4490
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "не удалось удалить CHERRY_PICK_HEAD"
 
-#: sequencer.c:4103
+#: sequencer.c:4497
 msgid "could not commit staged changes."
 msgstr "не удалось закоммитить проиндексированные изменения."
 
-#: sequencer.c:4204
+#: sequencer.c:4613
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: не удалось скопировать коммит %s"
 
-#: sequencer.c:4208
+#: sequencer.c:4617
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: плохая редакция"
 
-#: sequencer.c:4243
+#: sequencer.c:4652
 msgid "can't revert as initial commit"
 msgstr "нельзя возвратить изначальный коммит"
 
-#: sequencer.c:4686
+#: sequencer.c:5129
 msgid "make_script: unhandled options"
 msgstr "make_script: не обработанные опции"
 
-#: sequencer.c:4689
+#: sequencer.c:5132
 msgid "make_script: error preparing revisions"
 msgstr "make_script: ошибка при обновлении редакций"
 
-#: sequencer.c:4847
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr "Вы можете исправить это с помощью «git rebase --edit-todo», а потом запустив «git rebase --continue».\nИли вы можете прервать процесс перемещения, выполнив «git rebase --abort»\n"
-
-#: sequencer.c:4959 sequencer.c:4976
+#: sequencer.c:5374 sequencer.c:5391
 msgid "nothing to do"
 msgstr ""
 
-#: sequencer.c:4990
+#: sequencer.c:5410
 msgid "could not skip unnecessary pick commands"
 msgstr ""
 
-#: sequencer.c:5073
+#: sequencer.c:5504
 msgid "the script was already rearranged."
 msgstr "сценарий уже был перестроен."
 
-#: setup.c:123
+#: setup.c:133
 #, c-format
-msgid "'%s' is outside repository"
-msgstr "«%s» вне репозитория"
+msgid "'%s' is outside repository at '%s'"
+msgstr ""
 
-#: setup.c:173
+#: setup.c:185
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
 "Use 'git <command> -- <path>...' to specify paths that do not exist locally."
 msgstr "%s: нет такого пути в рабочем каталоге.\nИспользуйте «git <команда> -- <путь>…» для указания путей, которые не существуют локально."
 
-#: setup.c:186
+#: setup.c:198
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -6169,12 +7176,12 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr "неоднозначный аргумент «%s»: неизвестная редакция или не путь в рабочем каталоге.\nИспользуйте «--» для отделения путей от редакций, вот так:\n«git <команда> [<редакция>…] -- [<файл>…]»"
 
-#: setup.c:235
+#: setup.c:264
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 
-#: setup.c:254
+#: setup.c:283
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -6182,387 +7189,547 @@ msgid ""
 "'git <command> [<revision>...] -- [<file>...]'"
 msgstr "неоднозначный аргумент «%s»: является одновременно и редакцией и именем файла.\nИспользуйте «--» для отделения путей от редакций, вот так:\n«git <команда> [<редакция>…] -- [<файл>…]»"
 
-#: setup.c:390
+#: setup.c:419
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 
-#: setup.c:394
+#: setup.c:423
 msgid "this operation must be run in a work tree"
 msgstr ""
 
-#: setup.c:540
+#: setup.c:661
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Ожидаемая версия git репозитория <= %d, а обнаружена %d"
 
-#: setup.c:548
+#: setup.c:669
 msgid "unknown repository extensions found:"
 msgstr "обнаружены неизвестные расширения репозитория:"
 
-#: setup.c:567
+#: setup.c:681
+msgid "repo version is 0, but v1-only extensions found:"
+msgstr ""
+
+#: setup.c:700
 #, c-format
 msgid "error opening '%s'"
 msgstr "ошибка открытия «%s»"
 
-#: setup.c:569
+#: setup.c:702
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "файл слишком большой как для .git файла: «%s»"
 
-#: setup.c:571
+#: setup.c:704
 #, c-format
 msgid "error reading %s"
 msgstr "ошибка чтения %s"
 
-#: setup.c:573
+#: setup.c:706
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "неправильный формат файла gitfile: %s"
 
-#: setup.c:575
+#: setup.c:708
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "нет пути в gitfile: %s"
 
-#: setup.c:577
+#: setup.c:710
 #, c-format
 msgid "not a git repository: %s"
 msgstr "не является репозиторием git: %s"
 
-#: setup.c:676
+#: setup.c:812
 #, c-format
 msgid "'$%s' too big"
 msgstr "«$%s» слишком большой"
 
-#: setup.c:690
+#: setup.c:826
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "не является репозиторием git: «%s»"
 
-#: setup.c:719 setup.c:721 setup.c:752
+#: setup.c:855 setup.c:857 setup.c:888
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "не удалось выполнить chdir в «%s»"
 
-#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
+#: setup.c:860 setup.c:916 setup.c:926 setup.c:965 setup.c:973
 msgid "cannot come back to cwd"
 msgstr "не удалось вернуться в cwd"
 
-#: setup.c:851
+#: setup.c:987
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "не удалось выполнить stat для «%*s%s%s»"
 
-#: setup.c:1083
+#: setup.c:1225
 msgid "Unable to read current working directory"
 msgstr "Не удалось прочитать текущий рабочий каталог"
 
-#: setup.c:1092 setup.c:1098
+#: setup.c:1234 setup.c:1240
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "не удалось изменить на «%s»"
 
-#: setup.c:1103
+#: setup.c:1245
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "не найден git репозиторий (или один из родительских каталогов): %s"
 
-#: setup.c:1109
+#: setup.c:1251
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
 "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
 msgstr "не найден git репозиторий (или один из его каталогов вплоть до точки монтирования %s)\nОстанавливаю поиск на границе файловой системы (так как GIT_DISCOVERY_ACROSS_FILESYSTEM не установлен)."
 
-#: setup.c:1220
+#: setup.c:1362
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
 "The owner of files must always have read and write permissions."
 msgstr ""
 
-#: setup.c:1264
+#: setup.c:1409
 msgid "open /dev/null or dup failed"
 msgstr "сбой открытия /dev/null или дублирования дескриптора"
 
-#: setup.c:1279
+#: setup.c:1424
 msgid "fork failed"
 msgstr "сбой при выполнении fork"
 
-#: setup.c:1284
+#: setup.c:1429
 msgid "setsid failed"
 msgstr "сбой при выполнении setsid"
 
-#: sha1-file.c:453
+#: sha1-file.c:480
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 
-#: sha1-file.c:504
+#: sha1-file.c:531
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr ""
 
-#: sha1-file.c:576
+#: sha1-file.c:603
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr ""
 
-#: sha1-file.c:583
+#: sha1-file.c:610
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr ""
 
-#: sha1-file.c:626
+#: sha1-file.c:653
 msgid "unable to fdopen alternates lockfile"
 msgstr ""
 
-#: sha1-file.c:644
+#: sha1-file.c:671
 msgid "unable to read alternates file"
 msgstr ""
 
-#: sha1-file.c:651
+#: sha1-file.c:678
 msgid "unable to move new alternates file into place"
 msgstr ""
 
-#: sha1-file.c:686
+#: sha1-file.c:713
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "путь «%s» не существует"
 
-#: sha1-file.c:712
+#: sha1-file.c:734
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "ссылаемый репозиторий «%s» как связанное состояние, пока не поддерживается."
 
-#: sha1-file.c:718
+#: sha1-file.c:740
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "ссылаемый репозиторий «%s» не является локальным."
 
-#: sha1-file.c:724
+#: sha1-file.c:746
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "ссылаемый репозиторий «%s» является частичным"
 
-#: sha1-file.c:732
+#: sha1-file.c:754
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "ссылаемый репозиторий «%s» является сращенным"
 
-#: sha1-file.c:846
+#: sha1-file.c:814
+#, c-format
+msgid "invalid line while parsing alternate refs: %s"
+msgstr ""
+
+#: sha1-file.c:964
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr ""
 
-#: sha1-file.c:871
+#: sha1-file.c:985
 msgid "mmap failed"
 msgstr ""
 
-#: sha1-file.c:1035
+#: sha1-file.c:1149
 #, c-format
 msgid "object file %s is empty"
 msgstr ""
 
-#: sha1-file.c:1159 sha1-file.c:2297
+#: sha1-file.c:1284 sha1-file.c:2477
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr ""
 
-#: sha1-file.c:1161 sha1-file.c:2301
+#: sha1-file.c:1286 sha1-file.c:2481
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr ""
 
-#: sha1-file.c:1203
+#: sha1-file.c:1328
 msgid "invalid object type"
 msgstr ""
 
-#: sha1-file.c:1287
+#: sha1-file.c:1412
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr ""
 
-#: sha1-file.c:1290
+#: sha1-file.c:1415
 #, c-format
 msgid "unable to unpack %s header"
 msgstr ""
 
-#: sha1-file.c:1296
+#: sha1-file.c:1421
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr ""
 
-#: sha1-file.c:1299
+#: sha1-file.c:1424
 #, c-format
 msgid "unable to parse %s header"
 msgstr ""
 
-#: sha1-file.c:1490
+#: sha1-file.c:1651
 #, c-format
 msgid "failed to read object %s"
 msgstr ""
 
-#: sha1-file.c:1494
+#: sha1-file.c:1655
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr ""
 
-#: sha1-file.c:1498
+#: sha1-file.c:1659
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr ""
 
-#: sha1-file.c:1502
+#: sha1-file.c:1663
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr ""
 
-#: sha1-file.c:1604
+#: sha1-file.c:1768
 #, c-format
 msgid "unable to write file %s"
 msgstr ""
 
-#: sha1-file.c:1611
+#: sha1-file.c:1775
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr ""
 
-#: sha1-file.c:1618
+#: sha1-file.c:1782
 msgid "file write error"
 msgstr ""
 
-#: sha1-file.c:1637
+#: sha1-file.c:1802
 msgid "error when closing loose object file"
 msgstr ""
 
-#: sha1-file.c:1702
+#: sha1-file.c:1867
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 
-#: sha1-file.c:1704
+#: sha1-file.c:1869
 msgid "unable to create temporary file"
 msgstr ""
 
-#: sha1-file.c:1728
+#: sha1-file.c:1893
 msgid "unable to write loose object file"
 msgstr ""
 
-#: sha1-file.c:1734
+#: sha1-file.c:1899
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr ""
 
-#: sha1-file.c:1738
+#: sha1-file.c:1903
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr ""
 
-#: sha1-file.c:1742
+#: sha1-file.c:1907
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr ""
 
-#: sha1-file.c:1752 builtin/pack-objects.c:920
+#: sha1-file.c:1917 builtin/pack-objects.c:1086
 #, c-format
 msgid "failed utime() on %s"
 msgstr ""
 
-#: sha1-file.c:1827
+#: sha1-file.c:1994
 #, c-format
 msgid "cannot read object for %s"
 msgstr ""
 
-#: sha1-file.c:1867
+#: sha1-file.c:2045
 msgid "corrupt commit"
 msgstr ""
 
-#: sha1-file.c:1875
+#: sha1-file.c:2053
 msgid "corrupt tag"
 msgstr ""
 
-#: sha1-file.c:1974
+#: sha1-file.c:2153
+#, c-format
+msgid "read error while indexing %s"
+msgstr ""
+
+#: sha1-file.c:2156
+#, c-format
+msgid "short read while indexing %s"
+msgstr ""
+
+#: sha1-file.c:2229 sha1-file.c:2239
+#, c-format
+msgid "%s: failed to insert into database"
+msgstr ""
+
+#: sha1-file.c:2245
+#, c-format
+msgid "%s: unsupported file type"
+msgstr ""
+
+#: sha1-file.c:2269
+#, c-format
+msgid "%s is not a valid object"
+msgstr ""
+
+#: sha1-file.c:2271
+#, c-format
+msgid "%s is not a valid '%s' object"
+msgstr "%s не является действительным объектом «%s»"
+
+#: sha1-file.c:2298 builtin/index-pack.c:192
+#, c-format
+msgid "unable to open %s"
+msgstr "не удалось открыть %s"
+
+#: sha1-file.c:2488 sha1-file.c:2541
+#, c-format
+msgid "hash mismatch for %s (expected %s)"
+msgstr "несоответствие хэш-кода %s (ожидается %s)"
+
+#: sha1-file.c:2512
+#, c-format
+msgid "unable to mmap %s"
+msgstr ""
+
+#: sha1-file.c:2517
+#, c-format
+msgid "unable to unpack header of %s"
+msgstr ""
+
+#: sha1-file.c:2523
+#, c-format
+msgid "unable to parse header of %s"
+msgstr ""
+
+#: sha1-file.c:2534
+#, c-format
+msgid "unable to unpack contents of %s"
+msgstr ""
+
+#: sha1-name.c:486
+#, c-format
+msgid "short SHA1 %s is ambiguous"
+msgstr "сокращённый SHA1 идентификатор %s неоднозначен"
+
+#: sha1-name.c:497
+msgid "The candidates are:"
+msgstr "Возможно, вы имели в виду:"
+
+#: sha1-name.c:796
+msgid ""
+"Git normally never creates a ref that ends with 40 hex characters\n"
+"because it will be ignored when you just specify 40-hex. These refs\n"
+"may be created by mistake. For example,\n"
+"\n"
+"  git switch -c $br $(git rev-parse ...)\n"
+"\n"
+"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
+"examine these refs and maybe delete them. Turn this message off by\n"
+"running \"git config advice.objectNameWarning false\""
+msgstr ""
+
+#: sha1-name.c:916
+#, c-format
+msgid "log for '%.*s' only goes back to %s"
+msgstr ""
+
+#: sha1-name.c:924
+#, c-format
+msgid "log for '%.*s' only has %d entries"
+msgstr ""
+
+#: sha1-name.c:1702
+#, c-format
+msgid "path '%s' exists on disk, but not in '%.*s'"
+msgstr ""
+
+#: sha1-name.c:1708
+#, c-format
+msgid ""
+"path '%s' exists, but not '%s'\n"
+"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
+msgstr ""
+
+#: sha1-name.c:1717
+#, c-format
+msgid "path '%s' does not exist in '%.*s'"
+msgstr ""
+
+#: sha1-name.c:1745
+#, c-format
+msgid ""
+"path '%s' is in the index, but not at stage %d\n"
+"hint: Did you mean ':%d:%s'?"
+msgstr ""
+
+#: sha1-name.c:1761
+#, c-format
+msgid ""
+"path '%s' is in the index, but not '%s'\n"
+"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
+msgstr ""
+
+#: sha1-name.c:1769
+#, c-format
+msgid "path '%s' exists on disk, but not in the index"
+msgstr ""
+
+#: sha1-name.c:1771
+#, c-format
+msgid "path '%s' does not exist (neither on disk nor in the index)"
+msgstr ""
+
+#: sha1-name.c:1784
+msgid "relative path syntax can't be used outside working tree"
+msgstr ""
+
+#: sha1-name.c:1922
+#, c-format
+msgid "invalid object name '%.*s'."
+msgstr ""
+
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte
+#: strbuf.c:848
 #, c-format
-msgid "read error while indexing %s"
-msgstr ""
+msgid "%u.%2.2u GiB"
+msgstr "%u.%2.2u ГиБ"
 
-#: sha1-file.c:1977
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
+#: strbuf.c:850
 #, c-format
-msgid "short read while indexing %s"
-msgstr ""
+msgid "%u.%2.2u GiB/s"
+msgstr "%u.%2.2u ГиБ/с"
 
-#: sha1-file.c:2050 sha1-file.c:2059
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte
+#: strbuf.c:858
 #, c-format
-msgid "%s: failed to insert into database"
-msgstr ""
+msgid "%u.%2.2u MiB"
+msgstr "%u.%2.2u МиБ"
 
-#: sha1-file.c:2065
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
+#: strbuf.c:860
 #, c-format
-msgid "%s: unsupported file type"
-msgstr ""
+msgid "%u.%2.2u MiB/s"
+msgstr "%u.%2.2u МиБ/с"
 
-#: sha1-file.c:2089
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte
+#: strbuf.c:867
 #, c-format
-msgid "%s is not a valid object"
-msgstr ""
+msgid "%u.%2.2u KiB"
+msgstr "%u.%2.2u КиБ"
 
-#: sha1-file.c:2091
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
+#: strbuf.c:869
 #, c-format
-msgid "%s is not a valid '%s' object"
-msgstr "%s не является действительным объектом «%s»"
+msgid "%u.%2.2u KiB/s"
+msgstr "%u.%2.2u КиБ/с"
 
-#: sha1-file.c:2118 builtin/index-pack.c:154
+#. TRANSLATORS: IEC 80000-13:2008 byte
+#: strbuf.c:875
 #, c-format
-msgid "unable to open %s"
-msgstr "не удалось открыть %s"
+msgid "%u byte"
+msgid_plural "%u bytes"
+msgstr[0] "%u байт"
+msgstr[1] "%u байта"
+msgstr[2] "%u байтов"
+msgstr[3] "%u байта"
 
-#: sha1-file.c:2308 sha1-file.c:2360
+#. TRANSLATORS: IEC 80000-13:2008 byte/second
+#: strbuf.c:877
 #, c-format
-msgid "hash mismatch for %s (expected %s)"
-msgstr "несоответствие хеш-суммы %s (ожидается %s)"
+msgid "%u byte/s"
+msgid_plural "%u bytes/s"
+msgstr[0] "%u байт/с"
+msgstr[1] "%u байта/с"
+msgstr[2] "%u байтов/с"
+msgstr[3] "%u байта/с"
 
-#: sha1-file.c:2332
+#: strbuf.c:1166 wrapper.c:199 wrapper.c:369 builtin/am.c:719
+#: builtin/rebase.c:864
 #, c-format
-msgid "unable to mmap %s"
-msgstr ""
+msgid "could not open '%s' for writing"
+msgstr "не удалось открыть «%s» для записи"
 
-#: sha1-file.c:2337
+#: strbuf.c:1175
 #, c-format
-msgid "unable to unpack header of %s"
+msgid "could not edit '%s'"
 msgstr ""
 
-#: sha1-file.c:2343
+#: submodule-config.c:237
 #, c-format
-msgid "unable to parse header of %s"
-msgstr ""
+msgid "ignoring suspicious submodule name: %s"
+msgstr "игнорирую подозрительный подмодуль с именем: %s"
 
-#: sha1-file.c:2354
+#: submodule-config.c:304
+msgid "negative values not allowed for submodule.fetchjobs"
+msgstr "нельзя использовать отрицательные значения для submodule.fetchjobs"
+
+#: submodule-config.c:402
 #, c-format
-msgid "unable to unpack contents of %s"
+msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 
-#: sha1-name.c:490
+#: submodule-config.c:499
 #, c-format
-msgid "short SHA1 %s is ambiguous"
-msgstr "сокращённый SHA1 идентификатор %s неоднозначен"
-
-#: sha1-name.c:501
-msgid "The candidates are:"
-msgstr "Возможно, вы имели в виду:"
+msgid "invalid value for %s"
+msgstr "неправильное значение %s"
 
-#: sha1-name.c:800
-msgid ""
-"Git normally never creates a ref that ends with 40 hex characters\n"
-"because it will be ignored when you just specify 40-hex. These refs\n"
-"may be created by mistake. For example,\n"
-"\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr "Обычно Git не создает ссылки, оканчивающиеся на 40 шестнадцатеричных\nсимволов, потому, что они будут игнорироваться, когда вы просто\nукажете это 40-символьное шестнадцатеричное число. Такие ссылки\nмогли быть созданы по ошибке. Например, с помощью:\n\n  git checkout -b $br $(git rev-parse …)\n\n, если «$br» оказался пустым, то ссылка с 40-символьным\nшестнадцатеричным числом будет создана. Пожалуйста, просмотрите эти\nссылки и, возможно, удалите их. Вы можете отключить это сообщение\nзапустив «git config advice.objectNameWarning false»"
+#: submodule-config.c:766
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "Не удалось обновить .gitmodules запись %s"
 
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
@@ -6592,62 +7759,137 @@ msgstr "в пустом подмодуле «%s»"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Спецификатор пути «%s» в подмодуле «%.*s»"
 
-#: submodule.c:910
+#: submodule.c:434
+#, c-format
+msgid "bad --ignore-submodules argument: %s"
+msgstr ""
+
+#: submodule.c:816
+#, c-format
+msgid ""
+"Submodule in commit %s at path: '%s' collides with a submodule named the "
+"same. Skipping it."
+msgstr ""
+
+#: submodule.c:919
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "запись подмодуля «%s» (%s) является %s, а не является коммитом"
 
-#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
+#: submodule.c:1004
+#, c-format
+msgid ""
+"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
+"submodule %s"
+msgstr ""
+
+#: submodule.c:1127
+#, c-format
+msgid "process for submodule '%s' failed"
+msgstr ""
+
+#: submodule.c:1156 builtin/branch.c:680 builtin/submodule--helper.c:2469
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Не удалось определить HEAD как действительную ссылку."
 
-#: submodule.c:1481
+#: submodule.c:1167
+#, c-format
+msgid "Pushing submodule '%s'\n"
+msgstr ""
+
+#: submodule.c:1170
 #, c-format
-msgid "Could not access submodule '%s'"
+msgid "Unable to push submodule '%s'\n"
 msgstr ""
 
-#: submodule.c:1651
+#: submodule.c:1462
+#, c-format
+msgid "Fetching submodule %s%s\n"
+msgstr ""
+
+#: submodule.c:1492
+#, c-format
+msgid "Could not access submodule '%s'\n"
+msgstr ""
+
+#: submodule.c:1646
+#, c-format
+msgid ""
+"Errors during submodule fetch:\n"
+"%s"
+msgstr ""
+
+#: submodule.c:1671
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "«%s» не распознан как репозиторий git"
 
-#: submodule.c:1789
+#: submodule.c:1688
+#, c-format
+msgid "Could not run 'git status --porcelain=2' in submodule %s"
+msgstr ""
+
+#: submodule.c:1729
+#, c-format
+msgid "'git status --porcelain=2' failed in submodule %s"
+msgstr ""
+
+#: submodule.c:1804
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "не удалось запустить «git status» в подмодуле «%s»"
 
-#: submodule.c:1802
+#: submodule.c:1817
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "не удалось запустить «git status» в подмодуле «%s»"
 
-#: submodule.c:1817
+#: submodule.c:1832
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr ""
 
-#: submodule.c:1907
+#: submodule.c:1859 submodule.c:2169
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "не удалось рекурсивно зайти в подмодуль «%s»"
+
+#: submodule.c:1880
+msgid "could not reset submodule index"
+msgstr ""
+
+#: submodule.c:1922
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "подмодуль «%s» имеет изменённый индекс"
 
-#: submodule.c:1959
+#: submodule.c:1974
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr ""
 
-#: submodule.c:2008
+#: submodule.c:2042
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr ""
+
+#: submodule.c:2063
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "relocate_gitdir для подмодуля «%s» с указанием более одного рабочего дерева не поддерживается"
 
-#: submodule.c:2020 submodule.c:2076
+#: submodule.c:2075 submodule.c:2134
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "не удалось запросить имя подмодуля «%s»"
 
-#: submodule.c:2027
+#: submodule.c:2079
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr ""
+
+#: submodule.c:2086
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -6655,544 +7897,544 @@ msgid ""
 "'%s'\n"
 msgstr "Перемещение каталога git для «%s%s» из\n«%s» в\n«%s»\n"
 
-#: submodule.c:2111
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr "не удалось рекурсивно зайти в подмодуль «%s»"
-
-#: submodule.c:2155
+#: submodule.c:2214
 msgid "could not start ls-files in .."
 msgstr "не удалось выполнить stat ls-files в .."
 
-#: submodule.c:2194
+#: submodule.c:2254
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree вернул неожиданный код %d"
 
-#: submodule-config.c:232
-#, c-format
-msgid "ignoring suspicious submodule name: %s"
-msgstr "игнорирую подозрительный подмодуль с именем: %s"
-
-#: submodule-config.c:299
-msgid "negative values not allowed for submodule.fetchjobs"
-msgstr "нельзя использовать отрицательные значения для submodule.fetchjobs"
-
-#: submodule-config.c:397
-#, c-format
-msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr ""
-
-#: submodule-config.c:486
-#, c-format
-msgid "invalid value for %s"
-msgstr "неправильное значение %s"
-
-#: submodule-config.c:755
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr " Не удалось обновить .gitmodules запись %s"
-
-#: trailer.c:238
+#: trailer.c:236
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "сбой при запуске команды завершителя «%s»"
 
-#: trailer.c:485 trailer.c:490 trailer.c:495 trailer.c:549 trailer.c:553
-#: trailer.c:557
+#: trailer.c:483 trailer.c:488 trailer.c:493 trailer.c:547 trailer.c:551
+#: trailer.c:555
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "неизвестное значение «%s» для ключа «%s»"
 
-#: trailer.c:539 trailer.c:544 builtin/remote.c:295
+#: trailer.c:537 trailer.c:542 builtin/remote.c:299 builtin/remote.c:324
 #, c-format
 msgid "more than one %s"
 msgstr "больше одного %s"
 
-#: trailer.c:730
+#: trailer.c:728
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "пустая последняя лексема в завершителе «%.*s»"
 
-#: trailer.c:750
+#: trailer.c:748
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "не удалось прочитать входной файл «%s»"
 
-#: trailer.c:753
+#: trailer.c:751
 msgid "could not read from stdin"
 msgstr "не удалось прочитать из стандартного ввода"
 
-#: trailer.c:1011 wrapper.c:701
+#: trailer.c:1009 wrapper.c:676
 #, c-format
 msgid "could not stat %s"
 msgstr "не удалось выполнить stat для %s"
 
-#: trailer.c:1013
+#: trailer.c:1011
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "файл %s не является обычным файлом"
 
-#: trailer.c:1015
+#: trailer.c:1013
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "файл %s не доступен на запись пользователю"
 
-#: trailer.c:1027
+#: trailer.c:1025
 msgid "could not open temporary file"
 msgstr "не удалось создать временный файл"
 
-#: trailer.c:1067
+#: trailer.c:1065
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "не удалось переименовать временный файл в %s"
 
-#: transport.c:116
-#, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr "Будет установлен вышестоящий репозиторий для «%s» на «%s» с «%s»\n"
-
-#: transport.c:142
-#, c-format
-msgid "could not read bundle '%s'"
-msgstr ""
-
-#: transport.c:208
-#, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr "транспорт: неправильный параметр глубины «%s»"
-
-#: transport.c:259
-msgid "see protocol.version in 'git help config' for more details"
-msgstr ""
-
-#: transport.c:260
-msgid "server options require protocol version 2 or later"
-msgstr ""
-
-#: transport.c:625
-msgid "could not parse transport.color.* config"
-msgstr "не удалось разобрать опцию transport.color.*"
-
-#: transport.c:698
-msgid "support for protocol v2 not implemented yet"
-msgstr ""
-
-#: transport.c:825
-#, c-format
-msgid "unknown value for config '%s': %s"
-msgstr ""
-
-#: transport.c:891
-#, c-format
-msgid "transport '%s' not allowed"
-msgstr ""
-
-#: transport.c:945
-msgid "git-over-rsync is no longer supported"
-msgstr ""
-
-#: transport.c:1040
-#, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr "Подмодули по указанным путям содержат изменения, которые не найдены ни на одном из внешних репозиториев:\n"
-
-#: transport.c:1044
-#, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr "\nПопробуйте выполнить\n\n\tgit push --recurse-submodules=on-demand\n\nили перейти в каталог с помощью команды cd и выполнить\n\n\tgit push\n\nдля их отправки на внешний репозиторий.\n"
-
-#: transport.c:1052
-msgid "Aborting."
-msgstr "Прерываю."
-
-#: transport.c:1193
-msgid "failed to push all needed submodules"
-msgstr ""
-
-#: transport.c:1326 transport-helper.c:645
-msgid "operation not supported by protocol"
-msgstr ""
-
-#: transport.c:1430
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
-#: transport-helper.c:51 transport-helper.c:80
+#: transport-helper.c:62 transport-helper.c:91
 msgid "full write to remote helper failed"
 msgstr ""
 
-#: transport-helper.c:134
+#: transport-helper.c:145
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr ""
 
-#: transport-helper.c:150 transport-helper.c:559
+#: transport-helper.c:161 transport-helper.c:575
 msgid "can't dup helper output fd"
 msgstr ""
 
-#: transport-helper.c:201
+#: transport-helper.c:214
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
 "version of Git"
 msgstr ""
 
-#: transport-helper.c:207
+#: transport-helper.c:220
 msgid "this remote helper should implement refspec capability"
 msgstr ""
 
-#: transport-helper.c:274 transport-helper.c:414
+#: transport-helper.c:287 transport-helper.c:429
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr ""
 
-#: transport-helper.c:403
+#: transport-helper.c:417
 #, c-format
 msgid "%s also locked %s"
 msgstr ""
 
-#: transport-helper.c:481
+#: transport-helper.c:497
 msgid "couldn't run fast-import"
 msgstr ""
 
-#: transport-helper.c:504
+#: transport-helper.c:520
 msgid "error while running fast-import"
 msgstr ""
 
-#: transport-helper.c:533 transport-helper.c:1099
+#: transport-helper.c:549 transport-helper.c:1236
 #, c-format
 msgid "could not read ref %s"
 msgstr ""
 
-#: transport-helper.c:578
+#: transport-helper.c:594
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr ""
 
-#: transport-helper.c:600
+#: transport-helper.c:616
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 
-#: transport-helper.c:602
+#: transport-helper.c:618
 msgid "invalid remote service path"
 msgstr ""
 
-#: transport-helper.c:648
+#: transport-helper.c:661 transport.c:1446
+msgid "operation not supported by protocol"
+msgstr ""
+
+#: transport-helper.c:664
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr ""
 
-#: transport-helper.c:720
+#: transport-helper.c:745
+msgid "'option' without a matching 'ok/error' directive"
+msgstr ""
+
+#: transport-helper.c:788
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr ""
 
-#: transport-helper.c:773
+#: transport-helper.c:845
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr ""
 
-#: transport-helper.c:834
+#: transport-helper.c:928
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr ""
 
-#: transport-helper.c:837
+#: transport-helper.c:931
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr ""
 
-#: transport-helper.c:840
+#: transport-helper.c:934
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr ""
 
-#: transport-helper.c:847
+#: transport-helper.c:939
+#, c-format
+msgid "helper %s does not support --atomic"
+msgstr ""
+
+#: transport-helper.c:943
+#, c-format
+msgid "helper %s does not support --%s"
+msgstr ""
+
+#: transport-helper.c:950
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr ""
 
-#: transport-helper.c:939
+#: transport-helper.c:1050
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 
-#: transport-helper.c:944
+#: transport-helper.c:1055
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr ""
 
-#: transport-helper.c:991
+#: transport-helper.c:1102
 msgid "couldn't run fast-export"
 msgstr ""
 
-#: transport-helper.c:996
+#: transport-helper.c:1107
 msgid "error while running fast-export"
 msgstr ""
 
-#: transport-helper.c:1021
+#: transport-helper.c:1132
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
-"Perhaps you should specify a branch such as 'master'.\n"
+"Perhaps you should specify a branch.\n"
+msgstr ""
+
+#: transport-helper.c:1213
+#, c-format
+msgid "unsupported object format '%s'"
 msgstr ""
 
-#: transport-helper.c:1085
+#: transport-helper.c:1222
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr ""
 
-#: transport-helper.c:1238
+#: transport-helper.c:1374
 #, c-format
 msgid "read(%s) failed"
 msgstr ""
 
-#: transport-helper.c:1265
+#: transport-helper.c:1401
 #, c-format
 msgid "write(%s) failed"
 msgstr ""
 
-#: transport-helper.c:1314
+#: transport-helper.c:1450
 #, c-format
 msgid "%s thread failed"
 msgstr ""
 
-#: transport-helper.c:1318
+#: transport-helper.c:1454
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr ""
 
-#: transport-helper.c:1337 transport-helper.c:1341
+#: transport-helper.c:1473 transport-helper.c:1477
+#, c-format
+msgid "can't start thread for copying data: %s"
+msgstr ""
+
+#: transport-helper.c:1514
+#, c-format
+msgid "%s process failed to wait"
+msgstr ""
+
+#: transport-helper.c:1518
+#, c-format
+msgid "%s process failed"
+msgstr ""
+
+#: transport-helper.c:1536 transport-helper.c:1545
+msgid "can't start thread for copying data"
+msgstr ""
+
+#: transport.c:116
+#, c-format
+msgid "Would set upstream of '%s' to '%s' of '%s'\n"
+msgstr "Будет установлен вышестоящий репозиторий для «%s» на «%s» с «%s»\n"
+
+#: transport.c:145
+#, c-format
+msgid "could not read bundle '%s'"
+msgstr ""
+
+#: transport.c:220
+#, c-format
+msgid "transport: invalid depth option '%s'"
+msgstr "транспорт: неправильный параметр глубины «%s»"
+
+#: transport.c:269
+msgid "see protocol.version in 'git help config' for more details"
+msgstr ""
+
+#: transport.c:270
+msgid "server options require protocol version 2 or later"
+msgstr ""
+
+#: transport.c:727
+msgid "could not parse transport.color.* config"
+msgstr "не удалось разобрать опцию transport.color.*"
+
+#: transport.c:802
+msgid "support for protocol v2 not implemented yet"
+msgstr ""
+
+#: transport.c:936
+#, c-format
+msgid "unknown value for config '%s': %s"
+msgstr ""
+
+#: transport.c:1002
+#, c-format
+msgid "transport '%s' not allowed"
+msgstr ""
+
+#: transport.c:1055
+msgid "git-over-rsync is no longer supported"
+msgstr ""
+
+#: transport.c:1157
 #, c-format
-msgid "can't start thread for copying data: %s"
-msgstr ""
+msgid ""
+"The following submodule paths contain changes that can\n"
+"not be found on any remote:\n"
+msgstr "Подмодули по указанным путям содержат изменения, которые не найдены ни на одном из внешних репозиториев:\n"
 
-#: transport-helper.c:1378
+#: transport.c:1161
 #, c-format
-msgid "%s process failed to wait"
-msgstr ""
+msgid ""
+"\n"
+"Please try\n"
+"\n"
+"\tgit push --recurse-submodules=on-demand\n"
+"\n"
+"or cd to the path and use\n"
+"\n"
+"\tgit push\n"
+"\n"
+"to push them to a remote.\n"
+"\n"
+msgstr "\nПопробуйте выполнить\n\n\tgit push --recurse-submodules=on-demand\n\nили перейти в каталог с помощью команды cd и выполнить\n\n\tgit push\n\nдля их отправки на внешний репозиторий.\n"
 
-#: transport-helper.c:1382
-#, c-format
-msgid "%s process failed"
-msgstr ""
+#: transport.c:1169
+msgid "Aborting."
+msgstr "Прерываю."
 
-#: transport-helper.c:1400 transport-helper.c:1409
-msgid "can't start thread for copying data"
+#: transport.c:1315
+msgid "failed to push all needed submodules"
 msgstr ""
 
-#: tree-walk.c:33
+#: tree-walk.c:32
 msgid "too-short tree object"
 msgstr "слишком  короткий объект дерева"
 
-#: tree-walk.c:39
+#: tree-walk.c:38
 msgid "malformed mode in tree entry"
 msgstr "неправильный режим в записи дерева"
 
-#: tree-walk.c:43
+#: tree-walk.c:42
 msgid "empty filename in tree entry"
 msgstr "пустое имя файла в записи дерева"
 
-#: tree-walk.c:116
+#: tree-walk.c:117
 msgid "too-short tree file"
 msgstr "слишком  короткий файл дерева"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:113
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%sPlease commit your changes or stash them before you switch branches."
 msgstr "Ваши локальные изменения в указанных файлах будут перезаписаны при переключении на состояние:\n%%sСделайте коммит или спрячьте ваши изменения перед переключением веток."
 
-#: unpack-trees.c:113
+#: unpack-trees.c:115
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 "%%s"
 msgstr "Ваши локальные изменения в указанных файлах будут перезаписаны при переключении на состояние:\n%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:118
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%sPlease commit your changes or stash them before you merge."
 msgstr "Ваши локальные изменения в указанных файлах будут перезаписаны при слиянии:\n%%sСделайте коммит или спрячьте ваши изменения перед слиянием веток."
 
-#: unpack-trees.c:118
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 "%%s"
 msgstr "Ваши локальные изменения в указанных файлах будут перезаписаны при слиянии:\n%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:123
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%sPlease commit your changes or stash them before you %s."
 msgstr "Ваши локальные изменения в указанных файлах будут перезаписаны при %s:\n%%sСделайте коммит или спрячьте ваши изменения перед %s."
 
-#: unpack-trees.c:123
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 "%%s"
 msgstr "Ваши локальные изменения в указанных файлах будут перезаписаны при %s:\n%%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr "Обновление указанных каталогов приведет к потере неотслеживаемых файлов в них:\n%s"
 
-#: unpack-trees.c:132
+#: unpack-trees.c:134
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%sPlease move or remove them before you switch branches."
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут удалены при переключении на состояние:\n%%sПереместите эти файлы или удалите их перед переключением веток."
 
-#: unpack-trees.c:134
+#: unpack-trees.c:136
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 "%%s"
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут удалены при переключении на состояние:\n%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут удалены при слиянии:\n%%sПереместите эти файлы или удалите их перед переключением веток."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:141
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 "%%s"
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут удалены при слиянии:\n%%s"
 
-#: unpack-trees.c:142
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут удалены при %s:\n%%sПереместите эти файлы или удалите их перед %s."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:146
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 "%%s"
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут удалены при %s:\n%%s"
 
-#: unpack-trees.c:150
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by checkout:\n"
 "%%sPlease move or remove them before you switch branches."
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут перезаписаны при переключении на состояние:\n%%sПереместите эти файлы или удалите их перед переключением веток."
 
-#: unpack-trees.c:152
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by checkout:\n"
 "%%s"
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут перезаписаны при переключении на состояние:\n%%s"
 
-#: unpack-trees.c:155
+#: unpack-trees.c:157
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%sPlease move or remove them before you merge."
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут перезаписаны при слиянии:\n%%sПереместите эти файлы или удалите их перед переключением веток."
 
-#: unpack-trees.c:157
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 "%%s"
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут перезаписаны при слиянии:\n%%s"
 
-#: unpack-trees.c:160
+#: unpack-trees.c:162
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%sPlease move or remove them before you %s."
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут перезаписаны при %s:\n%%sПереместите эти файлы или удалите их перед %s."
 
-#: unpack-trees.c:162
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 "%%s"
 msgstr "Указанные неотслеживаемые файлы в рабочем каталоге будут перезаписаны при %s:\n%%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:172
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Запись «%s» частично совпадает с «%s».  Не удалось назначить соответствие."
 
-#: unpack-trees.c:173
+#: unpack-trees.c:175
 #, c-format
 msgid ""
-"Cannot update sparse checkout: the following entries are not up to date:\n"
+"Cannot update submodule:\n"
 "%s"
-msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ñ\87аÑ\81Ñ\82иÑ\87ное Ñ\81оÑ\81Ñ\82оÑ\8fние: Ñ\81ледÑ\83Ñ\8eÑ\89ие Ñ\8dлеменÑ\82Ñ\8b Ð½Ðµ Ð¿Ð¾Ñ\81ледней Ð²ÐµÑ\80Ñ\81ии:\n%s"
+msgstr "Ð\9dе Ñ\83долоÑ\81Ñ\8c Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ð¿Ð¾Ð´Ð¼Ð¾Ð´Ñ\83лÑ\8c:\n%s"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:178
 #, c-format
 msgid ""
-"The following working tree files would be overwritten by sparse checkout update:\n"
+"The following paths are not up to date and were left despite sparse patterns:\n"
 "%s"
-msgstr "Указанные файлы из рабочего каталога будут перезаписаны при обновлении частичного состояния:\n%s"
+msgstr ""
 
-#: unpack-trees.c:177
+#: unpack-trees.c:180
 #, c-format
 msgid ""
-"The following working tree files would be removed by sparse checkout update:\n"
+"The following paths are unmerged and were left despite sparse patterns:\n"
 "%s"
-msgstr "Указанные файлы из рабочего каталога будут удалены при обновлении частичного состояния:\n%s"
+msgstr ""
 
-#: unpack-trees.c:179
+#: unpack-trees.c:182
 #, c-format
 msgid ""
-"Cannot update submodule:\n"
+"The following paths were already present and thus not updated despite sparse patterns:\n"
 "%s"
-msgstr "Не удолось обновить подмодуль:\n%s"
+msgstr ""
 
-#: unpack-trees.c:256
+#: unpack-trees.c:262
 #, c-format
 msgid "Aborting\n"
 msgstr "Прерываю\n"
 
-#: unpack-trees.c:318
-msgid "Checking out files"
-msgstr "Распаковка файлов"
+#: unpack-trees.c:289
+#, c-format
+msgid ""
+"After fixing the above paths, you may want to run `git sparse-checkout "
+"reapply`.\n"
+msgstr "После исправления указанных путей вы можете запустить «git sparse-checkout reapply».\n"
 
 #: unpack-trees.c:350
+msgid "Updating files"
+msgstr ""
+
+#: unpack-trees.c:382
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
 "colliding group is in the working tree:\n"
 msgstr ""
 
+#: unpack-trees.c:1498
+msgid "Updating index flags"
+msgstr ""
+
+#: upload-pack.c:1550
+msgid "expected flush after fetch arguments"
+msgstr ""
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "Неправильная имя URL схемы или пропущен суффикс «://»"
@@ -7222,179 +8464,221 @@ msgstr "неправильный номер порта"
 msgid "invalid '..' path segment"
 msgstr "неправильная часть пути «..»"
 
-#: worktree.c:255 builtin/am.c:2097
+#: walker.c:170
+msgid "Fetching objects"
+msgstr ""
+
+#: worktree.c:236 builtin/am.c:2103
 #, c-format
 msgid "failed to read '%s'"
 msgstr "не удалось прочитать «%s»"
 
-#: worktree.c:301
+#: worktree.c:283
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 
-#: worktree.c:312
+#: worktree.c:294
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 
-#: worktree.c:324
+#: worktree.c:306
 #, c-format
 msgid "'%s' does not exist"
 msgstr "«%s» не существует"
 
-#: worktree.c:330
+#: worktree.c:312
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr ""
 
-#: worktree.c:338
+#: worktree.c:321
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr ""
 
-#: wrapper.c:223 wrapper.c:393
+#: worktree.c:587
+msgid "not a directory"
+msgstr ""
+
+#: worktree.c:596
+msgid ".git is not a file"
+msgstr ""
+
+#: worktree.c:598
+msgid ".git file broken"
+msgstr ""
+
+#: worktree.c:600
+msgid ".git file incorrect"
+msgstr ""
+
+#: worktree.c:670
+msgid "not a valid path"
+msgstr ""
+
+#: worktree.c:676
+msgid "unable to locate repository; .git is not a file"
+msgstr ""
+
+#: worktree.c:679
+msgid "unable to locate repository; .git file broken"
+msgstr ""
+
+#: worktree.c:685
+msgid "gitdir unreadable"
+msgstr ""
+
+#: worktree.c:689
+msgid "gitdir incorrect"
+msgstr ""
+
+#: wrapper.c:197 wrapper.c:367
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "не удалось открыть «%s» для чтения и записи"
 
-#: wrapper.c:424 wrapper.c:624
+#: wrapper.c:398 wrapper.c:599
 #, c-format
 msgid "unable to access '%s'"
 msgstr "«%s» недоступно"
 
-#: wrapper.c:632
+#: wrapper.c:607
 msgid "unable to get current working directory"
 msgstr "не удалось получить текущий рабочий каталог"
 
-#: wt-status.c:156
+#: wt-status.c:158
 msgid "Unmerged paths:"
 msgstr "Не слитые пути:"
 
-#: wt-status.c:183 wt-status.c:210
+#: wt-status.c:187 wt-status.c:219
+msgid "  (use \"git restore --staged <file>...\" to unstage)"
+msgstr "  (используйте «git restore --staged <файл>…», чтобы убрать из индекса)"
+
+#: wt-status.c:190 wt-status.c:222
 #, c-format
-msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (используйте «git reset %s <файл>…», чтобы убрать из индекса)"
+msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
+msgstr "  (используйте «git restore --source=%s --staged <файл>…», чтобы убрать из индекса)"
 
-#: wt-status.c:185 wt-status.c:212
+#: wt-status.c:193 wt-status.c:225
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (используйте «git rm --cached <файл>…», чтобы убрать из индекса)"
 
-#: wt-status.c:189
+#: wt-status.c:197
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (используйте «git add <файл>…», чтобы пометить разрешение конфликта)"
 
-#: wt-status.c:191 wt-status.c:195
+#: wt-status.c:199 wt-status.c:203
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr "  (используйте «git add/rm <файл>…», чтобы пометить выбранное разрешение конфликта)"
 
-#: wt-status.c:193
+#: wt-status.c:201
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (используйте «git rm <файл>…», чтобы пометить разрешение конфликта)"
 
-#: wt-status.c:204 wt-status.c:1064
+#: wt-status.c:211 wt-status.c:1070
 msgid "Changes to be committed:"
 msgstr "Изменения, которые будут включены в коммит:"
 
-#: wt-status.c:222 wt-status.c:1073
+#: wt-status.c:234 wt-status.c:1079
 msgid "Changes not staged for commit:"
 msgstr "Изменения, которые не в индексе для коммита:"
 
-#: wt-status.c:226
+#: wt-status.c:238
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (используйте «git add <файл>…», чтобы добавить файл в индекс)"
 
-#: wt-status.c:228
+#: wt-status.c:240
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr "  (используйте «git add/rm <файл>…», чтобы добавить или удалить файл из индекса)"
 
-#: wt-status.c:229
-msgid ""
-"  (use \"git checkout -- <file>...\" to discard changes in working "
-"directory)"
-msgstr "  (используйте «git checkout -- <файл>…», чтобы отменить изменения\n   в рабочем каталоге)"
+#: wt-status.c:241
+msgid "  (use \"git restore <file>...\" to discard changes in working directory)"
+msgstr "  (используйте «git restore <файл>…», чтобы отменить изменения в рабочем каталоге)"
 
-#: wt-status.c:231
+#: wt-status.c:243
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr "  (сделайте коммит или отмените изменения в неотслеживаемом или измененном содержимом в подмодулях)"
 
-#: wt-status.c:243
+#: wt-status.c:254
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr "  (используйте «git %s <файл>…», чтобы добавить в то, что будет включено в коммит)"
 
-#: wt-status.c:258
+#: wt-status.c:266
 msgid "both deleted:"
 msgstr "оба удалены:"
 
-#: wt-status.c:260
+#: wt-status.c:268
 msgid "added by us:"
 msgstr "добавлено нами:"
 
-#: wt-status.c:262
+#: wt-status.c:270
 msgid "deleted by them:"
 msgstr "удалено ими:"
 
-#: wt-status.c:264
+#: wt-status.c:272
 msgid "added by them:"
 msgstr "добавлено ими:"
 
-#: wt-status.c:266
+#: wt-status.c:274
 msgid "deleted by us:"
 msgstr "удалено нами:"
 
-#: wt-status.c:268
+#: wt-status.c:276
 msgid "both added:"
 msgstr "оба добавлены:"
 
-#: wt-status.c:270
+#: wt-status.c:278
 msgid "both modified:"
 msgstr "оба изменены:"
 
-#: wt-status.c:280
+#: wt-status.c:288
 msgid "new file:"
 msgstr "новый файл:"
 
-#: wt-status.c:282
+#: wt-status.c:290
 msgid "copied:"
 msgstr "скопировано:"
 
-#: wt-status.c:284
+#: wt-status.c:292
 msgid "deleted:"
 msgstr "удалено:"
 
-#: wt-status.c:286
+#: wt-status.c:294
 msgid "modified:"
 msgstr "изменено:"
 
-#: wt-status.c:288
+#: wt-status.c:296
 msgid "renamed:"
 msgstr "переименовано:"
 
-#: wt-status.c:290
+#: wt-status.c:298
 msgid "typechange:"
 msgstr "изменен тип:"
 
-#: wt-status.c:292
+#: wt-status.c:300
 msgid "unknown:"
 msgstr "неизвестно:"
 
-#: wt-status.c:294
+#: wt-status.c:302
 msgid "unmerged:"
 msgstr "не слитые:"
 
-#: wt-status.c:374
+#: wt-status.c:382
 msgid "new commits, "
 msgstr "новые коммиты, "
 
-#: wt-status.c:376
+#: wt-status.c:384
 msgid "modified content, "
 msgstr "изменено содержимое, "
 
-#: wt-status.c:378
+#: wt-status.c:386
 msgid "untracked content, "
 msgstr "неотслеживаемое содержимое, "
 
-#: wt-status.c:896
+#: wt-status.c:903
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
@@ -7403,69 +8687,77 @@ msgstr[1] "У вас сейчас спрятаны %d записи"
 msgstr[2] "У вас сейчас спрятано %d записей"
 msgstr[3] "У вас сейчас спрятаны %d записи"
 
-#: wt-status.c:928
+#: wt-status.c:934
 msgid "Submodules changed but not updated:"
 msgstr "Измененные, но не обновленные подмодули:"
 
-#: wt-status.c:930
+#: wt-status.c:936
 msgid "Submodule changes to be committed:"
 msgstr "Изменения в подмодулях, которые будут закоммичены:"
 
-#: wt-status.c:1012
+#: wt-status.c:1018
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
 msgstr "Не изменяйте или удаляйте строку выше этой.\nВсё, что ниже — будет проигнорировано."
 
-#: wt-status.c:1119
+#: wt-status.c:1110
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to compute the branch ahead/behind values.\n"
+"You can use '--no-ahead-behind' to avoid this.\n"
+msgstr ""
+
+#: wt-status.c:1140
 msgid "You have unmerged paths."
 msgstr "У вас есть не слитые пути."
 
-#: wt-status.c:1122
+#: wt-status.c:1143
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (разрешите конфликты, затем запустите «git commit»)"
 
-#: wt-status.c:1124
+#: wt-status.c:1145
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (используйте «git merge --abort», чтобы остановить операцию слияния)"
 
-#: wt-status.c:1128
+#: wt-status.c:1149
 msgid "All conflicts fixed but you are still merging."
 msgstr "Все конфликты исправлены, но вы все еще в процессе слияния."
 
-#: wt-status.c:1131
+#: wt-status.c:1152
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (используйте «git commit», чтобы завершить слияние)"
 
-#: wt-status.c:1140
+#: wt-status.c:1161
 msgid "You are in the middle of an am session."
 msgstr "Вы в процессе сессии am."
 
-#: wt-status.c:1143
+#: wt-status.c:1164
 msgid "The current patch is empty."
 msgstr "Текущий патч пустой."
 
-#: wt-status.c:1147
+#: wt-status.c:1168
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (разрешите конфликты, затем запустите «git am --continue»)"
 
-#: wt-status.c:1149
+#: wt-status.c:1170
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (используйте «git am --skip», чтобы пропустить этот патч)"
 
-#: wt-status.c:1151
+#: wt-status.c:1172
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (используйте «git am --abort», чтобы восстановить оригинальную ветку)"
 
-#: wt-status.c:1284
+#: wt-status.c:1305
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo отсутствует."
 
-#: wt-status.c:1286
+#: wt-status.c:1307
 msgid "No commands done."
 msgstr "Команды не выполнены."
 
-#: wt-status.c:1289
+#: wt-status.c:1310
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
@@ -7474,16 +8766,16 @@ msgstr[1] "Последняя команда выполнена (%d команд
 msgstr[2] "Последняя команда выполнена (%d команд выполнено):"
 msgstr[3] "Последняя команда выполнена (%d команд выполнено):"
 
-#: wt-status.c:1300
+#: wt-status.c:1321
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (смотрите дополнительно в файле %s)"
 
-#: wt-status.c:1305
+#: wt-status.c:1326
 msgid "No commands remaining."
 msgstr "Команд больше не осталось."
 
-#: wt-status.c:1308
+#: wt-status.c:1329
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -7492,170 +8784,175 @@ msgstr[1] "Следующая команда для выполнения (%d к
 msgstr[2] "Следующая команда для выполнения (%d команд осталось):"
 msgstr[3] "Следующая команда для выполнения (%d команд осталось):"
 
-#: wt-status.c:1316
+#: wt-status.c:1337
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
-msgstr "  (используйте «git rebase --edit-todo», чтобы просмотреть и изменить)"
+msgstr "  (используйте «git rebase --edit-todo», чтобы просмотреть или изменить их)"
 
-#: wt-status.c:1328
+#: wt-status.c:1349
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Вы сейчас перемещаете ветку «%s» над «%s»."
 
-#: wt-status.c:1333
+#: wt-status.c:1354
 msgid "You are currently rebasing."
 msgstr "Вы сейчас перемещаете ветку."
 
-#: wt-status.c:1346
+#: wt-status.c:1367
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (разрешите конфликты, затем запустите «git rebase --continue»)"
 
-#: wt-status.c:1348
+#: wt-status.c:1369
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (используйте «git rebase --skip», чтобы пропустить этот патч)"
 
-#: wt-status.c:1350
+#: wt-status.c:1371
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (используйте «git rebase --abort», чтобы перейти на оригинальную ветку)"
 
-#: wt-status.c:1357
+#: wt-status.c:1378
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (все конфликты разрешены: запустите «git rebase --continue»)"
 
-#: wt-status.c:1361
+#: wt-status.c:1382
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "Вы сейчас разделяете коммит при перемещении ветки  «%s» над «%s»."
 
-#: wt-status.c:1366
+#: wt-status.c:1387
 msgid "You are currently splitting a commit during a rebase."
 msgstr "Вы сейчас разделяете коммит при перемещении ветки."
 
-#: wt-status.c:1369
+#: wt-status.c:1390
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
-msgstr "(Как только ваш рабочий каталог будет чистый, запустите «git rebase --continue»)"
+msgstr "  (Как только ваш рабочий каталог будет чистый, запустите «git rebase --continue»)"
 
-#: wt-status.c:1373
+#: wt-status.c:1394
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "Вы сейчас редактируете коммит при перемещении ветки  «%s» над «%s»."
 
-#: wt-status.c:1378
+#: wt-status.c:1399
 msgid "You are currently editing a commit during a rebase."
 msgstr "Вы сейчас редактируете коммит при перемещении ветки."
 
-#: wt-status.c:1381
+#: wt-status.c:1402
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (используйте «git commit --amend», чтобы исправить текущий коммит)"
 
-#: wt-status.c:1383
+#: wt-status.c:1404
 msgid "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (используйте «git rebase --continue», когда будете довольны изменениями)"
 
-#: wt-status.c:1394
+#: wt-status.c:1415
 msgid "Cherry-pick currently in progress."
 msgstr ""
 
-#: wt-status.c:1397
+#: wt-status.c:1418
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Вы копируете коммит %s."
 
-#: wt-status.c:1404
+#: wt-status.c:1425
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (разрешите конфликты, затем запустите «git cherry-pick --continue»)"
 
-#: wt-status.c:1407
+#: wt-status.c:1428
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr ""
 
-#: wt-status.c:1410
+#: wt-status.c:1431
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (все конфликты разрешены: запустите «git cherry-pick --continue»)"
 
-#: wt-status.c:1412
+#: wt-status.c:1433
+msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
+msgstr ""
+
+#: wt-status.c:1435
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (используйте «git cherry-pick --abort», чтобы отменить копирования коммита)"
 
-#: wt-status.c:1422
+#: wt-status.c:1445
 msgid "Revert currently in progress."
 msgstr ""
 
-#: wt-status.c:1425
+#: wt-status.c:1448
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Вы сейчас обращаете изменения коммита %s."
 
-#: wt-status.c:1431
+#: wt-status.c:1454
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (разрешите конфликты, затем запустите «git revert --continue»)"
 
-#: wt-status.c:1434
+#: wt-status.c:1457
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr ""
 
-#: wt-status.c:1437
+#: wt-status.c:1460
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (все конфликты разрешены: запустите «git revert --continue»)"
 
-#: wt-status.c:1439
+#: wt-status.c:1462
+msgid "  (use \"git revert --skip\" to skip this patch)"
+msgstr ""
+
+#: wt-status.c:1464
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (используйте «git revert --abort», чтобы отменить операцию обращения изменений коммита)"
 
-#: wt-status.c:1449
+#: wt-status.c:1474
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Вы сейчас в процессе двоичного поиска, начатого с ветки «%s»."
 
-#: wt-status.c:1453
+#: wt-status.c:1478
 msgid "You are currently bisecting."
 msgstr "Вы сейчас в процессе двоичного поиска."
 
-#: wt-status.c:1456
+#: wt-status.c:1481
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (используйте «git bisect reset», чтобы вернуться на исходную ветку)"
 
-#: wt-status.c:1665
+#: wt-status.c:1492
+#, c-format
+msgid "You are in a sparse checkout with %d%% of tracked files present."
+msgstr ""
+
+#: wt-status.c:1731
 msgid "On branch "
 msgstr "На ветке "
 
-#: wt-status.c:1672
+#: wt-status.c:1738
 msgid "interactive rebase in progress; onto "
 msgstr "интерактивное перемещение в процессе; над "
 
-#: wt-status.c:1674
+#: wt-status.c:1740
 msgid "rebase in progress; onto "
 msgstr "перемещение в процессе; над "
 
-#: wt-status.c:1679
-msgid "HEAD detached at "
-msgstr "HEAD отделён на "
-
-#: wt-status.c:1681
-msgid "HEAD detached from "
-msgstr "HEAD отделён начиная с "
-
-#: wt-status.c:1684
+#: wt-status.c:1750
 msgid "Not currently on any branch."
 msgstr "Сейчас ни на одной из веток"
 
-#: wt-status.c:1701
+#: wt-status.c:1767
 msgid "Initial commit"
 msgstr "Начальный коммит"
 
-#: wt-status.c:1702
+#: wt-status.c:1768
 msgid "No commits yet"
 msgstr "Еще нет коммитов"
 
-#: wt-status.c:1716
+#: wt-status.c:1782
 msgid "Untracked files"
 msgstr "Неотслеживаемые файлы"
 
-#: wt-status.c:1718
+#: wt-status.c:1784
 msgid "Ignored files"
 msgstr "Игнорируемые файлы"
 
-#: wt-status.c:1722
+#: wt-status.c:1788
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -7663,216 +8960,225 @@ msgid ""
 "new files yourself (see 'git help status')."
 msgstr "%.2f секунды занял вывод списка неотслеживаемых файлов. «status -uno» возможно может ускорить это, но будьте внимательны, и не забудьте добавить новые файлы вручную (смотрите «git help status» для подробностей)."
 
-#: wt-status.c:1728
+#: wt-status.c:1794
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Неотслеживаемые файлы не показаны%s"
 
-#: wt-status.c:1730
+#: wt-status.c:1796
 msgid " (use -u option to show untracked files)"
-msgstr "(используйте опцию «-u», чтобы показать неотслеживаемые файлы)"
+msgstr " (используйте опцию «-u», чтобы показать неотслеживаемые файлы)"
 
-#: wt-status.c:1736
+#: wt-status.c:1802
 msgid "No changes"
 msgstr "Нет изменений"
 
-#: wt-status.c:1741
+#: wt-status.c:1807
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "нет изменений добавленных для коммита\n(используйте «git add» и/или «git commit -a»)\n"
 
-#: wt-status.c:1744
+#: wt-status.c:1811
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "нет изменений добавленных для коммита\n"
 
-#: wt-status.c:1747
+#: wt-status.c:1815
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "ничего не добавлено в коммит, но есть неотслеживаемые файлы (используйте «git add», чтобы отслеживать их)\n"
 
-#: wt-status.c:1750
+#: wt-status.c:1819
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "ничего не добавлено в коммит, но есть неотслеживаемые файлы\n"
 
-#: wt-status.c:1753
+#: wt-status.c:1823
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "нечего коммитить (создайте/скопируйте файлы, затем запустите «git add», чтобы отслеживать их)\n"
 
-#: wt-status.c:1756 wt-status.c:1761
+#: wt-status.c:1827 wt-status.c:1833
 #, c-format
 msgid "nothing to commit\n"
 msgstr "нечего коммитить\n"
 
-#: wt-status.c:1759
+#: wt-status.c:1830
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "нечего коммитить (используйте опцию «-u», чтобы показать неотслеживаемые файлы)\n"
 
-#: wt-status.c:1763
+#: wt-status.c:1835
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "нечего коммитить, нет изменений в рабочем каталоге\n"
 
-#: wt-status.c:1876
+#: wt-status.c:1940
 msgid "No commits yet on "
-msgstr "Еще нет коммитов в"
+msgstr "Еще нет коммитов в "
 
-#: wt-status.c:1880
+#: wt-status.c:1944
 msgid "HEAD (no branch)"
 msgstr "HEAD (нет ветки)"
 
-#: wt-status.c:1911
+#: wt-status.c:1975
 msgid "different"
 msgstr "отличается"
 
-#: wt-status.c:1913 wt-status.c:1921
+#: wt-status.c:1977 wt-status.c:1985
 msgid "behind "
-msgstr "позади"
+msgstr "позади "
 
-#: wt-status.c:1916 wt-status.c:1919
+#: wt-status.c:1980 wt-status.c:1983
 msgid "ahead "
 msgstr "впереди "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2443
+#: wt-status.c:2505
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "не удалось выполнить %s: У вас есть непроиндексированные изменения."
 
-#: wt-status.c:2449
+#: wt-status.c:2511
 msgid "additionally, your index contains uncommitted changes."
 msgstr "к тому же, в вашем индексе есть незакоммиченные изменения."
 
-#: wt-status.c:2451
+#: wt-status.c:2513
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "не удалось выполнить %s: В вашем индексе есть незакоммиченные изменения."
 
-#: builtin/add.c:25
+#: compat/precompose_utf8.c:58 builtin/clone.c:457
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "сбой отсоединения «%s»"
+
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<опции>] [--] <спецификатор-пути>…"
 
-#: builtin/add.c:84
+#: builtin/add.c:88
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "неожиданный статус утилиты сравнения %c"
 
-#: builtin/add.c:89 builtin/commit.c:285
+#: builtin/add.c:93 builtin/commit.c:285
 msgid "updating files failed"
 msgstr "сбой при обновлении файлов"
 
-#: builtin/add.c:99
+#: builtin/add.c:103
 #, c-format
 msgid "remove '%s'\n"
 msgstr "удалить «%s»\n"
 
-#: builtin/add.c:174
+#: builtin/add.c:178
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Непроиндексированные изменения после обновления индекса:"
 
-#: builtin/add.c:234 builtin/rev-parse.c:896
+#: builtin/add.c:272 builtin/rev-parse.c:908
 msgid "Could not read the index"
 msgstr "Не удалось прочитать индекс"
 
-#: builtin/add.c:245
+#: builtin/add.c:283
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Не удалось открыть «%s» для записи."
 
-#: builtin/add.c:249
+#: builtin/add.c:287
 msgid "Could not write patch"
 msgstr "Не удалось записать патч"
 
-#: builtin/add.c:252
+#: builtin/add.c:290
 msgid "editing patch failed"
 msgstr "сбой при редактировании патча"
 
-#: builtin/add.c:255
+#: builtin/add.c:293
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Не удалось выполнить stat для «%s»"
 
-#: builtin/add.c:257
+#: builtin/add.c:295
 msgid "Empty patch. Aborted."
 msgstr "Пустой патч. Операция прервана."
 
-#: builtin/add.c:262
+#: builtin/add.c:300
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Не удалось применить «%s»"
 
-#: builtin/add.c:270
+#: builtin/add.c:308
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "Следующие пути игнорируются одним из ваших файлов .gitignore:\n"
 
-#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
-#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
+#: builtin/add.c:328 builtin/clean.c:904 builtin/fetch.c:166 builtin/mv.c:124
+#: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:559
+#: builtin/remote.c:1427 builtin/rm.c:242 builtin/send-pack.c:190
 msgid "dry run"
 msgstr "пробный запуск"
 
-#: builtin/add.c:293
+#: builtin/add.c:331
 msgid "interactive picking"
 msgstr "интерактивный выбор"
 
-#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
+#: builtin/add.c:332 builtin/checkout.c:1547 builtin/reset.c:308
 msgid "select hunks interactively"
 msgstr "интерактивный выбор блоков"
 
-#: builtin/add.c:295
+#: builtin/add.c:333
 msgid "edit current diff and apply"
 msgstr "отредактировать текущий файл списка изменений и применить его"
 
-#: builtin/add.c:296
+#: builtin/add.c:334
 msgid "allow adding otherwise ignored files"
 msgstr "разрешить добавление игнорируемых иначе файлов"
 
-#: builtin/add.c:297
+#: builtin/add.c:335
 msgid "update tracked files"
 msgstr "обновить отслеживаемые файлы"
 
-#: builtin/add.c:298
+#: builtin/add.c:336
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "перенормализировать концы строк (EOL) отслеживаемых файлов (подразумевает -u)"
 
-#: builtin/add.c:299
+#: builtin/add.c:337
 msgid "record only the fact that the path will be added later"
 msgstr "записать только факт, что путь будет добавлен позже"
 
-#: builtin/add.c:300
+#: builtin/add.c:338
 msgid "add changes from all tracked and untracked files"
 msgstr "добавить изменения из всех отслеживаемых и неотслеживаемых файлов"
 
-#: builtin/add.c:303
+#: builtin/add.c:341
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "игнорировать пути удаленные из рабочего каталога (тоже, что и --no-all)"
 
-#: builtin/add.c:305
+#: builtin/add.c:343
 msgid "don't add, only refresh the index"
 msgstr "не добавлять, только обновить индекс"
 
-#: builtin/add.c:306
+#: builtin/add.c:344
 msgid "just skip files which cannot be added because of errors"
 msgstr "пропускать файлы, которые не могут быть добавлены из-за ошибок"
 
-#: builtin/add.c:307
+#: builtin/add.c:345
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "удостовериться, что даже недостающие файлы будут проигнорированы при  пробном запуске"
 
-#: builtin/add.c:309 builtin/update-index.c:1001
+#: builtin/add.c:347 builtin/update-index.c:1004
 msgid "override the executable bit of the listed files"
 msgstr "переопределить бит выполнения на указанных файлах"
 
-#: builtin/add.c:311
+#: builtin/add.c:349
 msgid "warn when adding an embedded repository"
 msgstr "предупреждать при добавлении встроенного git репозитория"
 
-#: builtin/add.c:326
+#: builtin/add.c:351
+msgid "backend for `git stash -p`"
+msgstr ""
+
+#: builtin/add.c:369
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -7890,399 +9196,434 @@ msgid ""
 "See \"git help submodule\" for more information."
 msgstr "Вы добавили другой репозиторий git внутри текущего репозитория\nКлоны внешнего репозитория не будут содержать внутренний\nрепозиторий и не будут знать как его получить.\nЕсли вы хотели добавить подмодуль, то запустите:\n\n\tgit submodule add <url> %s\n\nЕсли бы добавили этот путь по ошибке, то вы можете удалить его\nиз индекса с помощью:\n\n\tgit rm --cached %s\n\nДля дополнительной информации смотрите «git help submodule»."
 
-#: builtin/add.c:354
+#: builtin/add.c:397
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "добавление встроенного git репозитория: %s"
 
-#: builtin/add.c:372
-#, c-format
-msgid "Use -f if you really want to add them.\n"
-msgstr "Используйте -f, если вы действительно хотите добавить их.\n"
+#: builtin/add.c:416
+msgid ""
+"Use -f if you really want to add them.\n"
+"Turn this message off by running\n"
+"\"git config advice.addIgnoredFile false\""
+msgstr ""
 
-#: builtin/add.c:379
+#: builtin/add.c:425
 msgid "adding files failed"
 msgstr "ошибка при добавлении файлов"
 
-#: builtin/add.c:419
+#: builtin/add.c:453 builtin/commit.c:345
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr ""
+
+#: builtin/add.c:470
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr ""
+
+#: builtin/add.c:482
 msgid "-A and -u are mutually incompatible"
 msgstr "-A и -u нельзя использовать одновременно"
 
-#: builtin/add.c:426
+#: builtin/add.c:485
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Опция --ignore-missing может использоваться только вместе с --dry-run"
 
-#: builtin/add.c:430
+#: builtin/add.c:489
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "параметр --chmod «%s» должен быть -x или +x"
 
-#: builtin/add.c:445
+#: builtin/add.c:507 builtin/checkout.c:1715 builtin/commit.c:351
+#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1502
+msgid "--pathspec-from-file is incompatible with pathspec arguments"
+msgstr ""
+
+#: builtin/add.c:514 builtin/checkout.c:1727 builtin/commit.c:357
+#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1508
+msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgstr ""
+
+#: builtin/add.c:518
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Ничего не указано, ничего не добавлено.\n"
 
-#: builtin/add.c:446
-#, c-format
-msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr "Возможно, вы имели в виду «git add .»?\n"
+#: builtin/add.c:520
+msgid ""
+"Maybe you wanted to say 'git add .'?\n"
+"Turn this message off by running\n"
+"\"git config advice.addEmptyPathspec false\""
+msgstr ""
 
-#: builtin/am.c:348
+#: builtin/am.c:352
 msgid "could not parse author script"
 msgstr "не удалось разобрать сценарий авторства"
 
-#: builtin/am.c:432
+#: builtin/am.c:436
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "«%s» был удален перехватчиком applypatch-msg"
 
-#: builtin/am.c:474
+#: builtin/am.c:478
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Неправильная строка ввода: «%s»."
 
-#: builtin/am.c:512
+#: builtin/am.c:516
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Не удалось скопировать заметку из «%s» в «%s»"
 
-#: builtin/am.c:538
+#: builtin/am.c:542
 msgid "fseek failed"
 msgstr "сбой при выполнении fseek"
 
-#: builtin/am.c:726
+#: builtin/am.c:730
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "не удалось разобрать патч «%s»"
 
-#: builtin/am.c:791
+#: builtin/am.c:795
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Только серия патчей StGIT может быть применена за раз"
 
-#: builtin/am.c:839
+#: builtin/am.c:843
 msgid "invalid timestamp"
 msgstr "недопустимая метка даты/времени"
 
-#: builtin/am.c:844 builtin/am.c:856
+#: builtin/am.c:848 builtin/am.c:860
 msgid "invalid Date line"
 msgstr "недопустимая строка даты"
 
-#: builtin/am.c:851
+#: builtin/am.c:855
 msgid "invalid timezone offset"
 msgstr "недопустимое смещение часового пояса"
 
-#: builtin/am.c:944
+#: builtin/am.c:948
 msgid "Patch format detection failed."
 msgstr "Сбой определения формата патча."
 
-#: builtin/am.c:949 builtin/clone.c:409
+#: builtin/am.c:953 builtin/clone.c:410
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "не удалось создать каталог «%s»"
 
-#: builtin/am.c:954
+#: builtin/am.c:958
 msgid "Failed to split patches."
 msgstr "Не удалось разделить патчи на части."
 
-#: builtin/am.c:1084 builtin/commit.c:371
-msgid "unable to write index file"
-msgstr "не удалось записать индекс"
-
-#: builtin/am.c:1098
+#: builtin/am.c:1089
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Когда вы устраните эту проблему, запустите «%s --continue»."
 
-#: builtin/am.c:1099
+#: builtin/am.c:1090
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "Если вы хотите пропустить этот патч, то запустите «%s --skip»."
 
-#: builtin/am.c:1100
+#: builtin/am.c:1091
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "Чтобы вернуться на предыдущую ветку и остановить применение изменений, запустите «%s --abort»."
 
-#: builtin/am.c:1183
+#: builtin/am.c:1174
 msgid ""
 "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 
-#: builtin/am.c:1211
+#: builtin/am.c:1202
 msgid "Patch is empty."
 msgstr "Патч пустой."
 
-#: builtin/am.c:1277
+#: builtin/am.c:1267
 #, c-format
-msgid "invalid ident line: %.*s"
-msgstr "неправильная строка идентификации: %.*s"
+msgid "missing author line in commit %s"
+msgstr ""
 
-#: builtin/am.c:1299
+#: builtin/am.c:1270
 #, c-format
-msgid "unable to parse commit %s"
-msgstr "не удалось разобрать коммит %s"
+msgid "invalid ident line: %.*s"
+msgstr "неправильная строка идентификации: %.*s"
 
-#: builtin/am.c:1495
+#: builtin/am.c:1489
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "В репозитории отсутствуют двоичные объекты, необходимые для отката к трехходовому слиянию."
 
-#: builtin/am.c:1497
+#: builtin/am.c:1491
 msgid "Using index info to reconstruct a base tree..."
 msgstr "Использую индекс для реконструкции базового дерева…"
 
-#: builtin/am.c:1516
+#: builtin/am.c:1510
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
 msgstr "Вы вручную изменяли патч?\nОн не накладывается без ошибок на двоичные объекты, записанные в его заголовке."
 
-#: builtin/am.c:1522
+#: builtin/am.c:1516
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Откат к применению изменений к базовому коммиту с помощью трехходового слияния…"
 
-#: builtin/am.c:1548
+#: builtin/am.c:1542
 msgid "Failed to merge in the changes."
 msgstr "Не удалось слить изменения."
 
-#: builtin/am.c:1580
+#: builtin/am.c:1574
 msgid "applying to an empty history"
 msgstr "применение к пустой истории"
 
-#: builtin/am.c:1627 builtin/am.c:1631
+#: builtin/am.c:1626 builtin/am.c:1630
 #, c-format
 msgid "cannot resume: %s does not exist."
-msgstr "нельзя продолжнить: %s не существует "
-
-#: builtin/am.c:1647
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr "не удалось использовать интерактивное поведение, без stdin подключенного к терминалу."
+msgstr "нельзя продолжнить: %s не существует."
 
-#: builtin/am.c:1652
+#: builtin/am.c:1648
 msgid "Commit Body is:"
 msgstr "Тело коммита:"
 
 #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
 #. in your translation. The program will only accept English
 #. input at this point.
-#: builtin/am.c:1662
+#: builtin/am.c:1658
+#, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "Применить? [y] - да/[n] - нет/[e] - редактировать/[v] - просмотреть патч/[a] - применить всё: "
 
-#: builtin/am.c:1712
+#: builtin/am.c:1704 builtin/commit.c:395
+msgid "unable to write index file"
+msgstr "не удалось записать индекс"
+
+#: builtin/am.c:1708
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Индекс изменён: нельзя применять патчи (изменено: %s)"
 
-#: builtin/am.c:1752 builtin/am.c:1820
+#: builtin/am.c:1748 builtin/am.c:1816
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Применение: %.*s"
 
-#: builtin/am.c:1769
+#: builtin/am.c:1765
 msgid "No changes -- Patch already applied."
 msgstr "Нет изменений — Патч уже применен."
 
-#: builtin/am.c:1775
+#: builtin/am.c:1771
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Ошибка применения изменений на %s %.*s"
 
-#: builtin/am.c:1779
-msgid "Use 'git am --show-current-patch' to see the failed patch"
+#: builtin/am.c:1775
+msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr ""
 
-#: builtin/am.c:1823
+#: builtin/am.c:1819
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
 "already introduced the same changes; you might want to skip this patch."
 msgstr "Нет изменений — возможно, вы забыли вызвать «git add»?\nЕсли ничего не осталось для индексации, то, скорее всего, что-то другое уже сделало те же изменения; возможно, вам следует пропустить этот патч."
 
-#: builtin/am.c:1830
+#: builtin/am.c:1826
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as such.\n"
 "You might run `git rm` on a file to accept \"deleted by them\" for it."
 msgstr "У вас есть не слитые пути в индексе.\nВы должны выполнить «git add» для каждого файла с разрешенными конфликтами, чтобы пометить их таковыми.\nВы можете запустить «git rm» с именем файла, чтобы пометить его как «удалено ими»."
 
-#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
-#: builtin/reset.c:337
+#: builtin/am.c:1933 builtin/am.c:1937 builtin/am.c:1949 builtin/reset.c:347
+#: builtin/reset.c:355
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Не удалось разобрать объект «%s»."
 
-#: builtin/am.c:1989
+#: builtin/am.c:1985
 msgid "failed to clean index"
 msgstr "не удалось очистить индекс"
 
-#: builtin/am.c:2033
+#: builtin/am.c:2029
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "Похоже, что вы переместили HEAD с момента последней ошибки выполнения «am».\nПеремотка на ORIG_HEAD не выполняется"
 
-#: builtin/am.c:2130
+#: builtin/am.c:2136
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Неправильное значение для --patch-format: %s"
 
-#: builtin/am.c:2166
+#: builtin/am.c:2178
+#, c-format
+msgid "Invalid value for --show-current-patch: %s"
+msgstr ""
+
+#: builtin/am.c:2182
+#, c-format
+msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s"
+msgstr ""
+
+#: builtin/am.c:2213
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<опции>] [(<mbox> | <Maildir>)…]"
 
-#: builtin/am.c:2167
+#: builtin/am.c:2214
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<опции>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2220
 msgid "run interactively"
 msgstr "запустить в интерактивном режиме"
 
-#: builtin/am.c:2175
+#: builtin/am.c:2222
 msgid "historical option -- no-op"
 msgstr "историческая опция — ничего не делает"
 
-#: builtin/am.c:2177
+#: builtin/am.c:2224
 msgid "allow fall back on 3way merging if needed"
 msgstr "разрешить откатиться к трехходовому слиянию, если нужно"
 
-#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:306 builtin/stash.c:805
+#: builtin/am.c:2225 builtin/init-db.c:560 builtin/prune-packed.c:16
+#: builtin/repack.c:335 builtin/stash.c:815
 msgid "be quiet"
 msgstr "тихий режим"
 
-#: builtin/am.c:2180
-msgid "add a Signed-off-by line to the commit message"
-msgstr "добавить строку Signed-off-by к сообщению коммита"
+#: builtin/am.c:2227
+msgid "add a Signed-off-by trailer to the commit message"
+msgstr ""
 
-#: builtin/am.c:2183
+#: builtin/am.c:2230
 msgid "recode into utf8 (default)"
 msgstr "перекодировать в utf8 (по умолчанию)"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2232
 msgid "pass -k flag to git-mailinfo"
 msgstr "передать флаг -k в git-mailinfo"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2234
 msgid "pass -b flag to git-mailinfo"
 msgstr "передать флаг -b в git-mailinfo"
 
-#: builtin/am.c:2189
+#: builtin/am.c:2236
 msgid "pass -m flag to git-mailinfo"
 msgstr "передать флаг -m в git-mailinfo"
 
-#: builtin/am.c:2191
+#: builtin/am.c:2238
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "передать флаг --keep-cr в git-mailsplit для формата mbox"
 
-#: builtin/am.c:2194
+#: builtin/am.c:2241
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "не передавать --keep-cr флаг в git-mailsplit вне зависимости от am.keepcr"
 
-#: builtin/am.c:2197
+#: builtin/am.c:2244
 msgid "strip everything before a scissors line"
 msgstr "обрезать все до строки обрезки"
 
-#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
-#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
-#: builtin/am.c:2226
+#: builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252 builtin/am.c:2255
+#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267
+#: builtin/am.c:2273
 msgid "pass it through git-apply"
 msgstr "передать его в git-apply"
 
-#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
-#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
-#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
-#: parse-options.h:141 parse-options.h:162 parse-options.h:311
+#: builtin/am.c:2263 builtin/commit.c:1395 builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:903 builtin/merge.c:260
+#: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
+#: builtin/rebase.c:1341 builtin/repack.c:346 builtin/repack.c:350
+#: builtin/repack.c:352 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:404 parse-options.h:154 parse-options.h:175
+#: parse-options.h:316
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
-#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
+#: builtin/am.c:2269 builtin/branch.c:661 builtin/bugreport.c:136
+#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:438
+#: builtin/verify-tag.c:38
 msgid "format"
 msgstr "формат"
 
-#: builtin/am.c:2223
+#: builtin/am.c:2270
 msgid "format the patch(es) are in"
 msgstr "формат, в котором находятся патчи"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2276
 msgid "override error message when patch failure occurs"
 msgstr "переопределить сообщение об ошибке, если не удалось наложить изменения"
 
-#: builtin/am.c:2231
+#: builtin/am.c:2278
 msgid "continue applying patches after resolving a conflict"
 msgstr "продолжить применение изменений после разрешения конфиликта"
 
-#: builtin/am.c:2234
+#: builtin/am.c:2281
 msgid "synonyms for --continue"
 msgstr "синоним для --continue"
 
-#: builtin/am.c:2237
+#: builtin/am.c:2284
 msgid "skip the current patch"
 msgstr "пропустить текущий патч"
 
-#: builtin/am.c:2240
+#: builtin/am.c:2287
 msgid "restore the original branch and abort the patching operation."
 msgstr "восстановить оригинальную ветку и отменить операцию применения изменений."
 
-#: builtin/am.c:2243
+#: builtin/am.c:2290
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr ""
 
-#: builtin/am.c:2246
-msgid "show the patch being applied."
+#: builtin/am.c:2294
+msgid "show the patch being applied"
 msgstr ""
 
-#: builtin/am.c:2250
+#: builtin/am.c:2299
 msgid "lie about committer date"
 msgstr "соврать о дате коммитера"
 
-#: builtin/am.c:2252
+#: builtin/am.c:2301
 msgid "use current timestamp for author date"
 msgstr "использовать текущее время как время авторства"
 
-#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
-#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
-#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
+#: builtin/am.c:2303 builtin/commit-tree.c:120 builtin/commit.c:1515
+#: builtin/merge.c:297 builtin/pull.c:175 builtin/rebase.c:536
+#: builtin/rebase.c:1394 builtin/revert.c:117 builtin/tag.c:419
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
+#: builtin/am.c:2304 builtin/rebase.c:537 builtin/rebase.c:1395
 msgid "GPG-sign commits"
 msgstr "подписать коммиты с помощью GPG"
 
-#: builtin/am.c:2258
+#: builtin/am.c:2307
 msgid "(internal use for git-rebase)"
 msgstr "(внутреннее использование для git-rebase)"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2325
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
 msgstr "Опция -b/--binary уже долгое время ничего не делает и будет удалена с следующих версиях Git. Пожалуйста, не используйте ее."
 
-#: builtin/am.c:2283
+#: builtin/am.c:2332
 msgid "failed to read the index"
 msgstr "сбой чтения индекса"
 
-#: builtin/am.c:2298
+#: builtin/am.c:2347
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "предыдущий каталог перемещения %s еще существует, но передан mbox."
 
-#: builtin/am.c:2322
+#: builtin/am.c:2371
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
 "Use \"git am --abort\" to remove it."
 msgstr "Найден забытый каталог %s.\nИспользуйте «git am --abort», чтобы удалить его."
 
-#: builtin/am.c:2328
+#: builtin/am.c:2377
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Операция разрешения конфликтов не в процессе выполнения, не продолжаем."
 
+#: builtin/am.c:2387
+msgid "interactive mode requires patches on the command line"
+msgstr ""
+
 #: builtin/apply.c:8
 msgid "git apply [<options>] [<patch>...]"
 msgstr "git apply [<опции>] [<патч>…]"
@@ -8317,118 +9658,128 @@ msgstr "git archive: ошибка протокола"
 msgid "git archive: expected a flush"
 msgstr "git archive: ожидался сброс буфера"
 
-#: builtin/bisect--helper.c:22
-msgid "git bisect--helper --next-all [--no-checkout]"
-msgstr "git bisect--helper --next-all [--no-checkout]"
-
 #: builtin/bisect--helper.c:23
-msgid "git bisect--helper --write-terms <bad_term> <good_term>"
-msgstr "git bisect--helper --write-terms <плохое-определение> <хорошее-определение>"
-
-#: builtin/bisect--helper.c:24
-msgid "git bisect--helper --bisect-clean-state"
-msgstr "git bisect--helper --bisect-clean-state"
-
-#: builtin/bisect--helper.c:25
 msgid "git bisect--helper --bisect-reset [<commit>]"
 msgstr ""
 
-#: builtin/bisect--helper.c:26
+#: builtin/bisect--helper.c:24
 msgid ""
 "git bisect--helper --bisect-write [--no-log] <state> <revision> <good_term> "
 "<bad_term>"
 msgstr ""
 
-#: builtin/bisect--helper.c:27
+#: builtin/bisect--helper.c:25
 msgid ""
 "git bisect--helper --bisect-check-and-set-terms <command> <good_term> "
 "<bad_term>"
 msgstr ""
 
-#: builtin/bisect--helper.c:28
+#: builtin/bisect--helper.c:26
 msgid "git bisect--helper --bisect-next-check <good_term> <bad_term> [<term>]"
 msgstr ""
 
-#: builtin/bisect--helper.c:29
+#: builtin/bisect--helper.c:27
 msgid ""
 "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | "
 "--term-new]"
 msgstr ""
 
-#: builtin/bisect--helper.c:30
+#: builtin/bisect--helper.c:28
 msgid ""
-"git bisect--helper --bisect-start [--term-{old,good}=<term> "
-"--term-{new,bad}=<term>][--no-checkout] [<bad> [<good>...]] [--] "
-"[<paths>...]"
+"git bisect--helper --bisect-start [--term-{new,bad}=<term> "
+"--term-{old,good}=<term>] [--no-checkout] [--first-parent] [<bad> "
+"[<good>...]] [--] [<paths>...]"
+msgstr "git bisect--helper --bisect-start [--term-{new,bad}=<термин> --term-{old,good}=<термин>] [--no-checkout] [--first-parent] [<плохая-редация> [<хорошая-редация>…]] [--] [<пути>…]"
+
+#: builtin/bisect--helper.c:30
+msgid "git bisect--helper --bisect-next"
+msgstr ""
+
+#: builtin/bisect--helper.c:31
+msgid "git bisect--helper --bisect-auto-next"
+msgstr ""
+
+#: builtin/bisect--helper.c:32
+msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
 msgstr ""
 
-#: builtin/bisect--helper.c:86
+#: builtin/bisect--helper.c:33
+msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
+msgstr ""
+
+#: builtin/bisect--helper.c:108
+#, c-format
+msgid "cannot open file '%s' in mode '%s'"
+msgstr ""
+
+#: builtin/bisect--helper.c:115
+#, c-format
+msgid "could not write to file '%s'"
+msgstr ""
+
+#: builtin/bisect--helper.c:154
 #, c-format
 msgid "'%s' is not a valid term"
 msgstr "«%s» не является допустимым определением"
 
-#: builtin/bisect--helper.c:90
+#: builtin/bisect--helper.c:158
 #, c-format
 msgid "can't use the builtin command '%s' as a term"
 msgstr "нельзя использовать встроенную команду «%s» как определение"
 
-#: builtin/bisect--helper.c:100
+#: builtin/bisect--helper.c:168
 #, c-format
 msgid "can't change the meaning of the term '%s'"
 msgstr "нельзя изменить значение определения «%s»"
 
-#: builtin/bisect--helper.c:111
+#: builtin/bisect--helper.c:178
 msgid "please use two different terms"
 msgstr "используйте два разных определения"
 
-#: builtin/bisect--helper.c:118
-msgid "could not open the file BISECT_TERMS"
-msgstr "не удалось открыть файл BISECT_TERMS"
-
-#: builtin/bisect--helper.c:155
+#: builtin/bisect--helper.c:194
 #, c-format
 msgid "We are not bisecting.\n"
 msgstr ""
 
-#: builtin/bisect--helper.c:163
+#: builtin/bisect--helper.c:202
 #, c-format
 msgid "'%s' is not a valid commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:174
+#: builtin/bisect--helper.c:211
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
 msgstr ""
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:255
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr ""
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:260
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr ""
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:272
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr ""
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:298
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr ""
 
-#: builtin/bisect--helper.c:285
+#: builtin/bisect--helper.c:325
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
 "You can use \"git bisect %s\" and \"git bisect %s\" for that."
 msgstr ""
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:329
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -8436,7 +9787,7 @@ msgid ""
 "You can use \"git bisect %s\" and \"git bisect %s\" for that."
 msgstr ""
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:349
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr ""
@@ -8444,131 +9795,167 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:357
 msgid "Are you sure [Y/n]? "
 msgstr "Вы уверены [Y - да/n - нет]? "
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:418
 msgid "no terms defined"
 msgstr "определения не заданы"
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:421
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
 "and %s for the new state.\n"
 msgstr ""
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:431
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
 "Supported options are: --term-good|--term-old and --term-bad|--term-new."
 msgstr ""
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:498
+msgid "revision walk setup failed\n"
+msgstr ""
+
+#: builtin/bisect--helper.c:520
+#, c-format
+msgid "could not open '%s' for appending"
+msgstr ""
+
+#: builtin/bisect--helper.c:639 builtin/bisect--helper.c:652
+msgid "'' is not a valid term"
+msgstr ""
+
+#: builtin/bisect--helper.c:662
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr ""
 
-#: builtin/bisect--helper.c:479
+#: builtin/bisect--helper.c:666
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr ""
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:697
 msgid "bad HEAD - I need a HEAD"
 msgstr ""
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:712
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr ""
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:733
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "нельзя выполнить двоичный поиск на дереве после cg-seek"
 
-#: builtin/bisect--helper.c:550
-msgid "bad HEAD - strange symbolic ref"
+#: builtin/bisect--helper.c:736
+msgid "bad HEAD - strange symbolic ref"
+msgstr ""
+
+#: builtin/bisect--helper.c:756
+#, c-format
+msgid "invalid ref: '%s'"
+msgstr ""
+
+#: builtin/bisect--helper.c:814
+msgid "You need to start by \"git bisect start\"\n"
+msgstr ""
+
+#. TRANSLATORS: Make sure to include [Y] and [n] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: builtin/bisect--helper.c:825
+msgid "Do you want me to do it for you [Y/n]? "
+msgstr "Вы уверены, что хотите, чтобы я сделал это [Y] - да/[n] - нет? "
+
+#: builtin/bisect--helper.c:843
+msgid "Please call `--bisect-state` with at least one argument"
 msgstr ""
 
-#: builtin/bisect--helper.c:627
-msgid "perform 'git bisect next'"
-msgstr "выполнить «git bisect next»"
-
-#: builtin/bisect--helper.c:629
-msgid "write the terms to .git/BISECT_TERMS"
-msgstr "записать определения в .git/BISECT_TERMS"
-
-#: builtin/bisect--helper.c:631
-msgid "cleanup the bisection state"
-msgstr "очистить состояние двоичного поиска"
+#: builtin/bisect--helper.c:856
+#, c-format
+msgid "'git bisect %s' can take only one argument."
+msgstr ""
 
-#: builtin/bisect--helper.c:633
-msgid "check for expected revs"
-msgstr "проверить ожидаемые редакции"
+#: builtin/bisect--helper.c:868 builtin/bisect--helper.c:879
+#, c-format
+msgid "Bad rev input: %s"
+msgstr ""
 
-#: builtin/bisect--helper.c:635
+#: builtin/bisect--helper.c:924
 msgid "reset the bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:637
+#: builtin/bisect--helper.c:926
 msgid "write out the bisection state in BISECT_LOG"
 msgstr ""
 
-#: builtin/bisect--helper.c:639
+#: builtin/bisect--helper.c:928
 msgid "check and set terms in a bisection state"
 msgstr ""
 
-#: builtin/bisect--helper.c:641
+#: builtin/bisect--helper.c:930
 msgid "check whether bad or good terms exist"
 msgstr ""
 
-#: builtin/bisect--helper.c:643
+#: builtin/bisect--helper.c:932
 msgid "print out the bisect terms"
 msgstr ""
 
-#: builtin/bisect--helper.c:645
+#: builtin/bisect--helper.c:934
 msgid "start the bisect session"
 msgstr ""
 
-#: builtin/bisect--helper.c:647
-msgid "update BISECT_HEAD instead of checking out the current commit"
-msgstr "обновить BISECT_HEAD вместо перехода на текущий коммит"
+#: builtin/bisect--helper.c:936
+msgid "find the next bisection commit"
+msgstr ""
 
-#: builtin/bisect--helper.c:649
-msgid "no log for BISECT_WRITE"
+#: builtin/bisect--helper.c:938
+msgid ""
+"verify the next bisection state then checkout the next bisection commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:666
-msgid "--write-terms requires two arguments"
-msgstr "--write-terms требует указания двух параметров"
+#: builtin/bisect--helper.c:940
+msgid "mark the state of ref (or refs)"
+msgstr ""
 
-#: builtin/bisect--helper.c:670
-msgid "--bisect-clean-state requires no arguments"
-msgstr "--bisect-clean-state не требует указания параметров"
+#: builtin/bisect--helper.c:942
+msgid "no log for BISECT_WRITE"
+msgstr ""
 
-#: builtin/bisect--helper.c:677
+#: builtin/bisect--helper.c:957
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 
-#: builtin/bisect--helper.c:681
+#: builtin/bisect--helper.c:961
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:687
+#: builtin/bisect--helper.c:967
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:693
+#: builtin/bisect--helper.c:973
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr ""
 
-#: builtin/bisect--helper.c:699
+#: builtin/bisect--helper.c:979
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr ""
 
+#: builtin/bisect--helper.c:988
+msgid "--bisect-next requires 0 arguments"
+msgstr ""
+
+#: builtin/bisect--helper.c:994
+msgid "--bisect-auto-next requires 0 arguments"
+msgstr ""
+
 #: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<опции>] [<опции-редакции>] [<редакция>] [--] <файл>"
@@ -8577,133 +9964,146 @@ msgstr "git blame [<опции>] [<опции-редакции>] [<редакц
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<опции-rev-list> документированы в git-rev-list(1)"
 
-#: builtin/blame.c:407
+#: builtin/blame.c:410
 #, c-format
 msgid "expecting a color: %s"
 msgstr "ожидается цвет: %s"
 
-#: builtin/blame.c:414
+#: builtin/blame.c:417
 msgid "must end with a color"
 msgstr "должно заканчиваться на цвет"
 
-#: builtin/blame.c:701
+#: builtin/blame.c:730
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr ""
 
-#: builtin/blame.c:719
+#: builtin/blame.c:748
 msgid "invalid value for blame.coloring"
 msgstr ""
 
-#: builtin/blame.c:794
+#: builtin/blame.c:847
+#, c-format
+msgid "cannot find revision %s to ignore"
+msgstr ""
+
+#: builtin/blame.c:869
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Показать записи авторства постепенно, в процессе нахождения"
 
-#: builtin/blame.c:795
-msgid "Show blank SHA-1 for boundary commits (Default: off)"
-msgstr "Не показывать SHA-1 для коммитов, не входящих в границы запроса (По умолчанию: отключено)"
+#: builtin/blame.c:870
+msgid "Do not show object names of boundary commits (Default: off)"
+msgstr ""
 
-#: builtin/blame.c:796
+#: builtin/blame.c:871
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Не воспринимать корневые коммиты как граничные (По умолчанию: отключено)"
 
-#: builtin/blame.c:797
+#: builtin/blame.c:872
 msgid "Show work cost statistics"
 msgstr "Показать статистику расходов на выполнение запроса"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:873
 msgid "Force progress reporting"
 msgstr "Принудительно выводить прогресс выполнения"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:874
 msgid "Show output score for blame entries"
 msgstr "Показать оценку для записей авторства"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:875
 msgid "Show original filename (Default: auto)"
 msgstr "Показать оригинальное имя файла (По умолчанию: автоматически)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:876
 msgid "Show original linenumber (Default: off)"
 msgstr "Показать оригинальные номера строк (По умолчанию: отключено)"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:877
 msgid "Show in a format designed for machine consumption"
 msgstr "Показать в формате для программного разбора"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:878
 msgid "Show porcelain format with per-line commit information"
 msgstr "Показать в машиночитаемом формате, с построчной информацией о коммите"
 
-#: builtin/blame.c:804
+#: builtin/blame.c:879
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Использовать такой же формат вывода, как и git-annotate (По умолчанию: отключено)"
 
-#: builtin/blame.c:805
+#: builtin/blame.c:880
 msgid "Show raw timestamp (Default: off)"
 msgstr "Показать необработанные временные метки (По умолчанию: отключено)"
 
-#: builtin/blame.c:806
+#: builtin/blame.c:881
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Показать длинный SHA1 идентификатор коммита (По умолчанию: отключено)"
 
-#: builtin/blame.c:807
+#: builtin/blame.c:882
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Не показывать имя автора и временные метки (По умолчанию: отключено)"
 
-#: builtin/blame.c:808
+#: builtin/blame.c:883
 msgid "Show author email instead of name (Default: off)"
 msgstr "Показать почту автора вместо имени (По умолчанию: отключено)"
 
-#: builtin/blame.c:809
+#: builtin/blame.c:884
 msgid "Ignore whitespace differences"
 msgstr "Игнорировать различия в пробелах"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:885 builtin/log.c:1813
+msgid "rev"
+msgstr ""
+
+#: builtin/blame.c:885
+msgid "Ignore <rev> when blaming"
+msgstr ""
+
+#: builtin/blame.c:886
+msgid "Ignore revisions from <file>"
+msgstr ""
+
+#: builtin/blame.c:887
 msgid "color redundant metadata from previous line differently"
 msgstr ""
 
-#: builtin/blame.c:811
+#: builtin/blame.c:888
 msgid "color lines by age"
 msgstr ""
 
-#: builtin/blame.c:818
-msgid "Use an experimental heuristic to improve diffs"
-msgstr "Использовать эксперементальную эвристику, чтобы улучшить файлы списка изменений"
-
-#: builtin/blame.c:820
+#: builtin/blame.c:889
 msgid "Spend extra cycles to find better match"
 msgstr "Потратить больше времени, для нахождения лучших совпадений"
 
-#: builtin/blame.c:821
+#: builtin/blame.c:890
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Использовать редакции из <файла> вместо вызова git-rev-list"
 
-#: builtin/blame.c:822
+#: builtin/blame.c:891
 msgid "Use <file>'s contents as the final image"
 msgstr "Использовать содержимое <файла> как финальный снимок"
 
-#: builtin/blame.c:823 builtin/blame.c:824
+#: builtin/blame.c:892 builtin/blame.c:893
 msgid "score"
 msgstr "мин-длина"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:892
 msgid "Find line copies within and across files"
 msgstr "Найти копирование строк в пределах и между файлами"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:893
 msgid "Find line movements within and across files"
 msgstr "Найти перемещения строк в пределах и между файлами"
 
-#: builtin/blame.c:825
-msgid "n,m"
-msgstr "начало,конец"
+#: builtin/blame.c:894
+msgid "range"
+msgstr ""
 
-#: builtin/blame.c:825
-msgid "Process only line range n,m, counting from 1"
-msgstr "Обработать только строки в диапазоне начало,конец, начиная с 1"
+#: builtin/blame.c:895
+msgid "Process only line range <start>,<end> or function :<funcname>"
+msgstr ""
 
-#: builtin/blame.c:876
+#: builtin/blame.c:947
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress нельзя использовать одновременно с --incremental или машиночитаемым (porcelain) форматом"
 
@@ -8714,11 +10114,11 @@ msgstr "--progress нельзя использовать одновременн
 #. among various forms of relative timestamps, but
 #. your language may need more or fewer display
 #. columns.
-#: builtin/blame.c:927
+#: builtin/blame.c:998
 msgid "4 years, 11 months ago"
 msgstr "4 года и 11 месяцев назад"
 
-#: builtin/blame.c:1031
+#: builtin/blame.c:1114
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -8727,13 +10127,13 @@ msgstr[1] "файл %s содержит только %lu строки"
 msgstr[2] "файл %s содержит только %lu строк"
 msgstr[3] "файл %s содержит только %lu строки"
 
-#: builtin/blame.c:1077
+#: builtin/blame.c:1159
 msgid "Blaming lines"
 msgstr "Просмотр авторов строк"
 
 #: builtin/branch.c:29
-msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
-msgstr "git branch [<опции>] [-r | -a] [--merged | --no-merged]"
+msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
+msgstr ""
 
 #: builtin/branch.c:30
 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
@@ -8759,147 +10159,147 @@ msgstr "git branch [<опции>] [-r | -a] [--points-at]"
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<опции>] [-r | -a] [--format]"
 
-#: builtin/branch.c:151
+#: builtin/branch.c:154
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 msgstr "удаление ветки «%s», которая была слита с\n         «%s», но не слита с HEAD."
 
-#: builtin/branch.c:155
+#: builtin/branch.c:158
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
 "         '%s', even though it is merged to HEAD."
 msgstr "не удаление ветки «%s», которая еще не слита с\n         «%s», хотя уже слита с HEAD."
 
-#: builtin/branch.c:169
+#: builtin/branch.c:172
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "Не удалось найти объект коммита для «%s»"
 
-#: builtin/branch.c:173
+#: builtin/branch.c:176
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
 "If you are sure you want to delete it, run 'git branch -D %s'."
 msgstr "Ветка «%s» не слита полностью.\nЕсли вы уверены, что хотите ее удалить, запустите «git branch -D %s»."
 
-#: builtin/branch.c:186
+#: builtin/branch.c:189
 msgid "Update of config-file failed"
 msgstr "Не удалось обновить файл конфигурации"
 
-#: builtin/branch.c:217
+#: builtin/branch.c:220
 msgid "cannot use -a with -d"
 msgstr "нельзя использовать одновременно ключи -a и -d"
 
-#: builtin/branch.c:223
+#: builtin/branch.c:226
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Не удалось найти объект коммита для HEAD"
 
-#: builtin/branch.c:237
+#: builtin/branch.c:240
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "Нельзя удалить ветку «%s» т.к. она активна на «%s»"
 
-#: builtin/branch.c:252
+#: builtin/branch.c:255
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "внешняя отслеживаемая ветка «%s» не найдена."
 
-#: builtin/branch.c:253
+#: builtin/branch.c:256
 #, c-format
 msgid "branch '%s' not found."
 msgstr "ветка «%s» не найдена."
 
-#: builtin/branch.c:268
+#: builtin/branch.c:271
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "Ошибка удаления внешней отслеживаемой ветки «%s»"
 
-#: builtin/branch.c:269
+#: builtin/branch.c:272
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Ошибка удаления ветки «%s»"
 
-#: builtin/branch.c:276
+#: builtin/branch.c:279
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "Внешняя отслеживаемая ветка %s удалена (была %s).\n"
 
-#: builtin/branch.c:277
+#: builtin/branch.c:280
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Ветка %s удалена (была %s).\n"
 
-#: builtin/branch.c:421 builtin/tag.c:60
+#: builtin/branch.c:429 builtin/tag.c:61
 msgid "unable to parse format string"
 msgstr "не удалось разобрать строку формата"
 
-#: builtin/branch.c:452
+#: builtin/branch.c:460
 msgid "could not resolve HEAD"
-msgstr ""
+msgstr "не удалось получить HEAD"
 
-#: builtin/branch.c:458
+#: builtin/branch.c:466
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
-msgstr ""
+msgstr "HEAD (%s) указывает за пределы refs/heads/"
 
-#: builtin/branch.c:473
+#: builtin/branch.c:481
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Производится перемещение ветки %s на %s"
 
-#: builtin/branch.c:477
+#: builtin/branch.c:485
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Производится двоичный поиск в ветке %s на %s"
 
-#: builtin/branch.c:494
+#: builtin/branch.c:502
 msgid "cannot copy the current branch while not on any."
 msgstr "невозможно скопировать текущую ветку, если вы не находитесь ни на одной из веток."
 
-#: builtin/branch.c:496
+#: builtin/branch.c:504
 msgid "cannot rename the current branch while not on any."
 msgstr "невозможно переименовать текущую ветку, если вы не находитесь ни на одной из них."
 
-#: builtin/branch.c:507
+#: builtin/branch.c:515
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Недействительное имя ветки: «%s»"
 
-#: builtin/branch.c:534
+#: builtin/branch.c:544
 msgid "Branch rename failed"
 msgstr "Сбой переименования ветки"
 
-#: builtin/branch.c:536
+#: builtin/branch.c:546
 msgid "Branch copy failed"
 msgstr "Сбой копирования ветки"
 
-#: builtin/branch.c:540
+#: builtin/branch.c:550
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "Создана копия неправильно названной ветки «%s»"
 
-#: builtin/branch.c:543
+#: builtin/branch.c:553
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Переименована неправильно названная ветка «%s»"
 
-#: builtin/branch.c:549
+#: builtin/branch.c:559
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Ветка переименована в %s, но HEAD не обновлен!"
 
-#: builtin/branch.c:558
+#: builtin/branch.c:568
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Ветка переименована, но произошел сбой обновления файла конфигурации"
 
-#: builtin/branch.c:560
+#: builtin/branch.c:570
 msgid "Branch is copied, but update of config-file failed"
 msgstr "Ветка скопирована, но произошел сбой обновления файла конфигурации"
 
-#: builtin/branch.c:576
+#: builtin/branch.c:586
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -8907,308 +10307,439 @@ msgid ""
 "Lines starting with '%c' will be stripped.\n"
 msgstr "Измените описание для ветки:\n  %s\nСтроки, начинающиеся с «%c» будут вырезаны.\n"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:620
 msgid "Generic options"
 msgstr "Общие параметры"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:622
 msgid "show hash and subject, give twice for upstream branch"
-msgstr "показывать хеш-сумму и тему, укажите дважды для вышестоящей ветки"
+msgstr "показывать хэш-код и тему, укажите дважды для вышестоящей ветки"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:623
 msgid "suppress informational messages"
 msgstr "не выводить информационные сообщения"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:624
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "установить режим отслеживания вышестоящей ветки (см. git-pull(1))"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:626
 msgid "do not use"
 msgstr "не используйте"
 
-#: builtin/branch.c:618 builtin/rebase.c:485
+#: builtin/branch.c:628 builtin/rebase.c:532
 msgid "upstream"
 msgstr "вышестоящая"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:628
 msgid "change the upstream info"
 msgstr "изменить информацию о вышестоящей ветке"
 
-#: builtin/branch.c:619
-msgid "Unset the upstream info"
-msgstr "Убрать информацию о вышестоящей ветке"
+#: builtin/branch.c:629
+msgid "unset the upstream info"
+msgstr ""
 
-#: builtin/branch.c:620
+#: builtin/branch.c:630
 msgid "use colored output"
 msgstr "использовать цветной вывод"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:631
 msgid "act on remote-tracking branches"
 msgstr "выполнить действия на отслеживаемых внешних ветках"
 
-#: builtin/branch.c:623 builtin/branch.c:625
+#: builtin/branch.c:633 builtin/branch.c:635
 msgid "print only branches that contain the commit"
-msgstr "вÑ\8bвод Ñ\82олÑ\8cко Ð²ÐµÑ\82ок, которые содержат коммит"
+msgstr "вÑ\8bвеÑ\81Ñ\82и Ñ\82олÑ\8cко Ð²ÐµÑ\82ки, которые содержат коммит"
 
-#: builtin/branch.c:624 builtin/branch.c:626
+#: builtin/branch.c:634 builtin/branch.c:636
 msgid "print only branches that don't contain the commit"
-msgstr "вÑ\8bвод Ñ\82олÑ\8cко Ð²ÐµÑ\82ок, которые не содержат коммит"
+msgstr "вÑ\8bвеÑ\81Ñ\82и Ñ\82олÑ\8cко Ð²ÐµÑ\82ки, которые не содержат коммит"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:639
 msgid "Specific git-branch actions:"
 msgstr "Специфичные для git-branch действия:"
 
-#: builtin/branch.c:630
+#: builtin/branch.c:640
 msgid "list both remote-tracking and local branches"
-msgstr "показаÑ\82Ñ\8c Ñ\81пиÑ\81ок и отслеживаемых и локальных веток"
+msgstr "вÑ\8bвеÑ\81Ñ\82и Ñ\81пиÑ\81ки отслеживаемых и локальных веток"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:642
 msgid "delete fully merged branch"
 msgstr "удалить полностью слитую ветку"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:643
 msgid "delete branch (even if not merged)"
 msgstr "удалить ветку (даже никуда не слитую)"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:644
 msgid "move/rename a branch and its reflog"
 msgstr "переместить/переименовать ветки и ее журнал ссылок"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:645
 msgid "move/rename a branch, even if target exists"
 msgstr "переместить/переименовать ветку, даже если целевое имя уже существует"
 
-#: builtin/branch.c:636
+#: builtin/branch.c:646
 msgid "copy a branch and its reflog"
 msgstr "скопировать ветку и её журнал ссылок"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:647
 msgid "copy a branch, even if target exists"
 msgstr "скопировать ветку, даже если целевое имя уже существует"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:648
 msgid "list branch names"
-msgstr "показать список имен веток"
+msgstr "показать список имён веток"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:649
 msgid "show current branch name"
-msgstr ""
+msgstr "вывести имя текущей ветки"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:650
 msgid "create the branch's reflog"
 msgstr "создать журнал ссылок ветки"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:652
 msgid "edit the description for the branch"
 msgstr "изменить описание ветки"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:653
 msgid "force creation, move/rename, deletion"
 msgstr "принудительное создание, перемещение или удаление ветки"
 
-#: builtin/branch.c:644
+#: builtin/branch.c:654
 msgid "print only branches that are merged"
 msgstr "вывод только слитых веток"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:655
 msgid "print only branches that are not merged"
 msgstr "вывод только не слитых веток"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:656
 msgid "list branches in columns"
 msgstr "показать список веток по столбцам"
 
-#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:658 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:427
+#: builtin/tag.c:434
 msgid "object"
 msgstr "объект"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:659
 msgid "print only branches of the object"
 msgstr "вывод только веток, определенного объекта"
 
-#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
+#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:441
 msgid "sorting and filtering are case insensitive"
 msgstr "сортировка и фильтрация не зависят от регистра"
 
-#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432
-#: builtin/verify-tag.c:39
+#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:439
+#: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "использовать формат для вывода"
 
-#: builtin/branch.c:676 builtin/clone.c:748
+#: builtin/branch.c:684 builtin/clone.c:790
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD не найден в refs/heads!"
 
-#: builtin/branch.c:700
+#: builtin/branch.c:708
 msgid "--column and --verbose are incompatible"
 msgstr "--column и --verbose нельзя использовать одновременно"
 
-#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
+#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
 msgid "branch name required"
 msgstr "требуется имя ветки"
 
-#: builtin/branch.c:745
+#: builtin/branch.c:753
 msgid "Cannot give description to detached HEAD"
 msgstr "Нельзя дать описание отделённому HEAD"
 
-#: builtin/branch.c:750
+#: builtin/branch.c:758
 msgid "cannot edit description of more than one branch"
 msgstr "нельзя изменить описание более одной ветки за раз"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:765
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Еще нет коммита на ветке «%s»."
 
-#: builtin/branch.c:760
+#: builtin/branch.c:768
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Нет ветки с именем «%s»."
 
-#: builtin/branch.c:775
+#: builtin/branch.c:783
 msgid "too many branches for a copy operation"
 msgstr "слишком много веток для операции копирования"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:792
 msgid "too many arguments for a rename operation"
 msgstr "слишком много аргументов для операции переименования"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:797
 msgid "too many arguments to set new upstream"
 msgstr "слишком много аргументов для указания новой вышестоящей ветки"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:801
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "невозможно установить вышестоящий репозиторий для HEAD на %s, так как он не указывает ни на одну ветку."
 
-#: builtin/branch.c:796 builtin/branch.c:819
+#: builtin/branch.c:804 builtin/branch.c:827
 #, c-format
 msgid "no such branch '%s'"
 msgstr "нет такой ветки «%s»"
 
-#: builtin/branch.c:800
+#: builtin/branch.c:808
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "ветка «%s» не существует"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:821
 msgid "too many arguments to unset upstream"
 msgstr "слишком много аргументов для сброса указания вышестоящей ветки"
 
-#: builtin/branch.c:817
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "невозможно убрать вышестоящий репозиторий для HEAD, так как он не указывает ни на одну ветку."
 
-#: builtin/branch.c:823
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Ветка «%s» не имеет информации о вышестоящей ветке"
 
-#: builtin/branch.c:833
-msgid "-a and -r options to 'git branch' do not make sense with a branch name"
-msgstr "параметры -a и -r для «git branch» не имеют смысла с указанием имени ветки"
+#: builtin/branch.c:841
+msgid ""
+"The -a, and -r, options to 'git branch' do not take a branch name.\n"
+"Did you mean to use: -a|-r --list <pattern>?"
+msgstr ""
 
-#: builtin/branch.c:836
+#: builtin/branch.c:845
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
 msgstr "опция --set-upstream больше не поддерживается. Вместо неё используйте «--track» или «--set-upstream-to»"
 
-#: builtin/bundle.c:45
+#: builtin/bugreport.c:15
+msgid "git version:\n"
+msgstr ""
+
+#: builtin/bugreport.c:21
 #, c-format
-msgid "%s is okay\n"
-msgstr "%s в порядке\n"
+msgid "uname() failed with error '%s' (%d)\n"
+msgstr ""
+
+#: builtin/bugreport.c:31
+msgid "compiler info: "
+msgstr ""
+
+#: builtin/bugreport.c:34
+msgid "libc info: "
+msgstr ""
+
+#: builtin/bugreport.c:80
+msgid "not run from a git repository - no hooks to show\n"
+msgstr ""
+
+#: builtin/bugreport.c:90
+msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
+msgstr ""
+
+#: builtin/bugreport.c:97
+msgid ""
+"Thank you for filling out a Git bug report!\n"
+"Please answer the following questions to help us understand your issue.\n"
+"\n"
+"What did you do before the bug happened? (Steps to reproduce your issue)\n"
+"\n"
+"What did you expect to happen? (Expected behavior)\n"
+"\n"
+"What happened instead? (Actual behavior)\n"
+"\n"
+"What's different between what you expected and what actually happened?\n"
+"\n"
+"Anything else you want to add:\n"
+"\n"
+"Please review the rest of the bug report below.\n"
+"You can delete any lines you don't wish to share.\n"
+msgstr ""
+
+#: builtin/bugreport.c:135
+msgid "specify a destination for the bugreport file"
+msgstr ""
+
+#: builtin/bugreport.c:137
+msgid "specify a strftime format suffix for the filename"
+msgstr ""
+
+#: builtin/bugreport.c:159
+#, c-format
+msgid "could not create leading directories for '%s'"
+msgstr ""
+
+#: builtin/bugreport.c:166
+msgid "System Info"
+msgstr ""
+
+#: builtin/bugreport.c:169
+msgid "Enabled Hooks"
+msgstr ""
 
-#: builtin/bundle.c:58
+#: builtin/bugreport.c:176
+#, c-format
+msgid "couldn't create a new file at '%s'"
+msgstr ""
+
+#: builtin/bugreport.c:179
+#, c-format
+msgid "unable to write to %s"
+msgstr ""
+
+#: builtin/bugreport.c:189
+#, c-format
+msgid "Created new report at '%s'.\n"
+msgstr ""
+
+#: builtin/bundle.c:15 builtin/bundle.c:23
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr ""
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr ""
+
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr ""
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr ""
+
+#: builtin/bundle.c:67 builtin/pack-objects.c:3480
+msgid "do not show progress meter"
+msgstr "не выводить прогресс выполнения"
+
+#: builtin/bundle.c:69 builtin/pack-objects.c:3482
+msgid "show progress meter"
+msgstr "показать прогресс выполнения"
+
+#: builtin/bundle.c:71 builtin/pack-objects.c:3484
+msgid "show progress meter during object writing phase"
+msgstr "показать прогресс выполнения во время записи объектов"
+
+#: builtin/bundle.c:74 builtin/pack-objects.c:3487
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "похоже на --all-progress при включенном прогрессе выполнения"
+
+#: builtin/bundle.c:76
+msgid "specify bundle format version"
+msgstr ""
+
+#: builtin/bundle.c:96
 msgid "Need a repository to create a bundle."
 msgstr "Требуется репозиторий для создания пакета."
 
-#: builtin/bundle.c:62
+#: builtin/bundle.c:107
+msgid "do not show bundle details"
+msgstr ""
+
+#: builtin/bundle.c:122
+#, c-format
+msgid "%s is okay\n"
+msgstr "%s в порядке\n"
+
+#: builtin/bundle.c:163
 msgid "Need a repository to unbundle."
 msgstr "Требуется репозиторий для распаковки."
 
-#: builtin/cat-file.c:593
+#: builtin/bundle.c:171 builtin/remote.c:1700
+msgid "be verbose; must be placed before a subcommand"
+msgstr "быть многословнее; должно стоять перед подкомандой"
+
+#: builtin/bundle.c:193 builtin/remote.c:1731
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "Неизвестная подкоманда: %s"
+
+#: builtin/cat-file.c:598
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | "
 "-p | <type> | --textconv | --filters) [--path=<path>] <object>"
 msgstr "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <тип> | --textconv | --filters) [--path=<путь>] <объект>"
 
-#: builtin/cat-file.c:594
+#: builtin/cat-file.c:599
 msgid ""
-"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | "
-"--filters]"
-msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]"
+"git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
+"symlinks] [--textconv | --filters]"
+msgstr ""
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:620
 msgid "only one batch option may be specified"
 msgstr ""
 
-#: builtin/cat-file.c:633
+#: builtin/cat-file.c:638
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<тип> может быть одним из: blob, tree, commit, tag"
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:639
 msgid "show object type"
 msgstr "показать тип объекта"
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:640
 msgid "show object size"
 msgstr "показать размер объекта"
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:642
 msgid "exit with zero when there's no error"
 msgstr "выйти с нулевым кодом возврата, если нет ошибки"
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:643
 msgid "pretty-print object's content"
 msgstr "структурированный вывод содержимого объекта"
 
-#: builtin/cat-file.c:640
+#: builtin/cat-file.c:645
 msgid "for blob objects, run textconv on object's content"
-msgstr "запустить texconv на содержимом двоичных объектов "
+msgstr "запустить texconv на содержимом двоичных объектов"
 
-#: builtin/cat-file.c:642
+#: builtin/cat-file.c:647
 msgid "for blob objects, run filters on object's content"
-msgstr "запуск фильтров на содержимом двоичных объектов "
+msgstr "запуск фильтров на содержимом двоичных объектов"
 
-#: builtin/cat-file.c:643 git-submodule.sh:936
+#: builtin/cat-file.c:648
 msgid "blob"
 msgstr "двоичный объект"
 
-#: builtin/cat-file.c:644
+#: builtin/cat-file.c:649
 msgid "use a specific path for --textconv/--filters"
 msgstr "использовать определенный путь для --textconv/--filters"
 
-#: builtin/cat-file.c:646
+#: builtin/cat-file.c:651
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "разрешить -s и -t работать с повреждёнными объектами"
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:652
 msgid "buffer --batch output"
 msgstr "буфферировать вывод --batch"
 
-#: builtin/cat-file.c:649
+#: builtin/cat-file.c:654
 msgid "show info and content of objects fed from the standard input"
 msgstr "показать информацию и содержимое объектов, переданных из стандартного ввода"
 
-#: builtin/cat-file.c:653
+#: builtin/cat-file.c:658
 msgid "show info about objects fed from the standard input"
 msgstr "показать информацию об объектах, переданных из стандартного ввода"
 
-#: builtin/cat-file.c:657
+#: builtin/cat-file.c:662
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr "переходить по символьным ссылкам внутри дерева (используется с опциями --batch и --batch-check)"
 
-#: builtin/cat-file.c:659
+#: builtin/cat-file.c:664
 msgid "show all objects with --batch or --batch-check"
 msgstr "показать все объекты с опциями --batch или --batch-check"
 
-#: builtin/cat-file.c:661
+#: builtin/cat-file.c:666
 msgid "do not order --batch-all-objects output"
 msgstr ""
 
@@ -9236,8 +10767,8 @@ msgstr "прочитать имена файлов из стандартного
 msgid "terminate input and output records by a NUL character"
 msgstr "окончание ввода и вывода записей по НУЛЕВОМУ символу"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538
-#: builtin/worktree.c:499
+#: builtin/check-ignore.c:21 builtin/checkout.c:1500 builtin/gc.c:541
+#: builtin/worktree.c:561
 msgid "suppress progress reporting"
 msgstr "не выводить прогресс выполнения"
 
@@ -9249,27 +10780,27 @@ msgstr "показать не совпадающие введенные пути
 msgid "ignore index when checking"
 msgstr "игнорировать индекс при проверке"
 
-#: builtin/check-ignore.c:160
+#: builtin/check-ignore.c:163
 msgid "cannot specify pathnames with --stdin"
 msgstr "нельзя указывать пути вместе с параметром --stdin"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:166
 msgid "-z only makes sense with --stdin"
 msgstr "-z имеет смысл только вместе с параметром --stdin"
 
-#: builtin/check-ignore.c:165
+#: builtin/check-ignore.c:168
 msgid "no path specified"
 msgstr "не указан путь"
 
-#: builtin/check-ignore.c:169
+#: builtin/check-ignore.c:172
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet можно использовать только при указании одного пути"
 
-#: builtin/check-ignore.c:171
+#: builtin/check-ignore.c:174
 msgid "cannot have both --quiet and --verbose"
 msgstr "нельзя использовать одновременно --quiet и --verbose"
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:177
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching можно использовать только вместе с --verbose"
 
@@ -9290,117 +10821,104 @@ msgstr "не удалось разобрать контакт: %s"
 msgid "no contacts specified"
 msgstr "не указаны контакты"
 
-#: builtin/checkout-index.c:131
+#: builtin/checkout-index.c:139
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<опции>] [--] [<файл>…]"
 
-#: builtin/checkout-index.c:148
+#: builtin/checkout-index.c:156
 msgid "stage should be between 1 and 3 or all"
 msgstr "индекс должен быть между 1 и 3 или all"
 
-#: builtin/checkout-index.c:164
+#: builtin/checkout-index.c:173
 msgid "check out all files in the index"
 msgstr "переключиться на состояние всех файлов из индекса"
 
-#: builtin/checkout-index.c:165
+#: builtin/checkout-index.c:174
 msgid "force overwrite of existing files"
 msgstr "принудительная перезапись существующих файлов"
 
-#: builtin/checkout-index.c:167
+#: builtin/checkout-index.c:176
 msgid "no warning for existing files and files not in index"
 msgstr "не выводить предупреждения для существующих и непроиндексированных файлов"
 
-#: builtin/checkout-index.c:169
+#: builtin/checkout-index.c:178
 msgid "don't checkout new files"
 msgstr "не создавать новые файлы"
 
-#: builtin/checkout-index.c:171
+#: builtin/checkout-index.c:180
 msgid "update stat information in the index file"
 msgstr "обновить статистику доступа в файле индекса"
 
-#: builtin/checkout-index.c:175
+#: builtin/checkout-index.c:184
 msgid "read list of paths from the standard input"
 msgstr "прочитать список путей из стандартного ввода"
 
-#: builtin/checkout-index.c:177
+#: builtin/checkout-index.c:186
 msgid "write the content to temporary files"
 msgstr "записать содержимое во временные файлы"
 
-#: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
-#: builtin/worktree.c:672
+#: builtin/checkout-index.c:187 builtin/column.c:31
+#: builtin/submodule--helper.c:1824 builtin/submodule--helper.c:1827
+#: builtin/submodule--helper.c:1835 builtin/submodule--helper.c:2333
+#: builtin/worktree.c:757
 msgid "string"
 msgstr "строка"
 
-#: builtin/checkout-index.c:179
+#: builtin/checkout-index.c:188
 msgid "when creating files, prepend <string>"
 msgstr "добавить спереди <строку> при создании файлов"
 
-#: builtin/checkout-index.c:181
+#: builtin/checkout-index.c:190
 msgid "copy out the files from named stage"
 msgstr "копировать файлы из указанного индекса"
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<опции>] <ветка>"
 
-#: builtin/checkout.c:33
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<опции>] [<ветка>] -- <файл>…"
 
-#: builtin/checkout.c:151 builtin/checkout.c:190
+#: builtin/checkout.c:37
+msgid "git switch [<options>] [<branch>]"
+msgstr ""
+
+#: builtin/checkout.c:42
+msgid "git restore [<options>] [--source=<branch>] <file>..."
+msgstr "git restore [<опции>] [--source=<ветка>] <файл>…"
+
+#: builtin/checkout.c:188 builtin/checkout.c:227
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "путь «%s» не имеет нашей версии"
 
-#: builtin/checkout.c:153 builtin/checkout.c:192
+#: builtin/checkout.c:190 builtin/checkout.c:229
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "путь «%s» не имеет их версии"
 
-#: builtin/checkout.c:169
+#: builtin/checkout.c:206
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "путь «%s» не имеет всех необходимых версий"
 
-#: builtin/checkout.c:219
+#: builtin/checkout.c:258
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "путь «%s» не имеет необходимых версий"
 
-#: builtin/checkout.c:237
+#: builtin/checkout.c:275
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "путь «%s»: не удалось слить"
 
-#: builtin/checkout.c:253
+#: builtin/checkout.c:291
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Не удалось добавить результат слияния «%s»"
 
-#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337
-#: builtin/checkout.c:340
-#, c-format
-msgid "'%s' cannot be used with updating paths"
-msgstr "«%s» нельзя использовать при обновлении путей"
-
-#: builtin/checkout.c:343 builtin/checkout.c:346
-#, c-format
-msgid "'%s' cannot be used with %s"
-msgstr "«%s» нельзя использовать одновременно с %s"
-
-#: builtin/checkout.c:349
-#, c-format
-msgid "Cannot update paths and switch to branch '%s' at the same time."
-msgstr "Нельзя обновлять пути и переключаться на ветку «%s» одновременно."
-
-#: builtin/checkout.c:396 builtin/checkout.c:403
-#, c-format
-msgid "path '%s' is unmerged"
-msgstr "путь «%s» не слит"
-
-#: builtin/checkout.c:442
+#: builtin/checkout.c:396
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
@@ -9409,7 +10927,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: builtin/checkout.c:447
+#: builtin/checkout.c:401
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
@@ -9418,7 +10936,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: builtin/checkout.c:454
+#: builtin/checkout.c:408
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
@@ -9427,66 +10945,97 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: builtin/checkout.c:695
+#: builtin/checkout.c:431 builtin/checkout.c:434 builtin/checkout.c:437
+#: builtin/checkout.c:441
+#, c-format
+msgid "'%s' cannot be used with updating paths"
+msgstr "«%s» нельзя использовать при обновлении путей"
+
+#: builtin/checkout.c:444 builtin/checkout.c:447
+#, c-format
+msgid "'%s' cannot be used with %s"
+msgstr "«%s» нельзя использовать одновременно с %s"
+
+#: builtin/checkout.c:451
+#, c-format
+msgid "Cannot update paths and switch to branch '%s' at the same time."
+msgstr "Нельзя обновлять пути и переключаться на ветку «%s» одновременно."
+
+#: builtin/checkout.c:455
+#, c-format
+msgid "neither '%s' or '%s' is specified"
+msgstr ""
+
+#: builtin/checkout.c:459
+#, c-format
+msgid "'%s' must be used when '%s' is not specified"
+msgstr ""
+
+#: builtin/checkout.c:464 builtin/checkout.c:469
+#, c-format
+msgid "'%s' or '%s' cannot be used with %s"
+msgstr ""
+
+#: builtin/checkout.c:541 builtin/checkout.c:548
+#, c-format
+msgid "path '%s' is unmerged"
+msgstr "путь «%s» не слит"
+
+#: builtin/checkout.c:716
 msgid "you need to resolve your current index first"
 msgstr "сначала нужно разрешить конфликты в вашем текущем индексе"
 
-#: builtin/checkout.c:744
+#: builtin/checkout.c:770
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
 "%s"
 msgstr ""
 
-#: builtin/checkout.c:751
-#, c-format
-msgid "staged changes in the following files may be lost: %s"
-msgstr ""
-
-#: builtin/checkout.c:848
+#: builtin/checkout.c:866
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Не удалось создать журнал ссылок для «%s»: %s\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:908
 msgid "HEAD is now at"
 msgstr "HEAD сейчас на"
 
-#: builtin/checkout.c:894 builtin/clone.c:701
+#: builtin/checkout.c:912 builtin/clone.c:721 t/helper/test-fast-rebase.c:202
 msgid "unable to update HEAD"
 msgstr "не удалось обновить HEAD"
 
-#: builtin/checkout.c:898
+#: builtin/checkout.c:916
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Сброс ветки «%s»\n"
 
-#: builtin/checkout.c:901
+#: builtin/checkout.c:919
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Уже на «%s»\n"
 
-#: builtin/checkout.c:905
+#: builtin/checkout.c:923
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Переключение и сброс ветки «%s»\n"
 
-#: builtin/checkout.c:907 builtin/checkout.c:1283
+#: builtin/checkout.c:925 builtin/checkout.c:1356
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Переключено на новую ветку «%s»\n"
 
-#: builtin/checkout.c:909
+#: builtin/checkout.c:927
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Переключено на ветку «%s»\n"
 
-#: builtin/checkout.c:960
+#: builtin/checkout.c:978
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … и еще %d.\n"
 
-#: builtin/checkout.c:966
+#: builtin/checkout.c:984
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -9503,7 +11052,7 @@ msgstr[1] "Предупреждение: вы оставляете позади
 msgstr[2] "Предупреждение: вы оставляете позади %d коммитов не соединенные ни с одной из ваших веток:\n\n%s\n"
 msgstr[3] "Предупреждение: вы оставляете позади %d коммитов не соединенные ни с одной из ваших веток:\n\n%s\n"
 
-#: builtin/checkout.c:985
+#: builtin/checkout.c:1003
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -9522,228 +11071,357 @@ msgstr[1] "Если вы хотите сохранить их с помощью
 msgstr[2] "Если вы хотите сохранить их с помощью создания новой ветки, то сейчас самое время\nсделать это с помощью:\n\n git branch <имя-новой-ветки> %s\n"
 msgstr[3] "Если вы хотите сохранить их с помощью создания новой ветки, то сейчас самое время\nсделать это с помощью:\n\n git branch <имя-новой-ветки> %s\n"
 
-#: builtin/checkout.c:1017
+#: builtin/checkout.c:1038
 msgid "internal error in revision walk"
 msgstr "внутренняя ошибка при хождении по редакциям"
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1042
 msgid "Previous HEAD position was"
 msgstr "Предыдущая позиция HEAD была"
 
-#: builtin/checkout.c:1052 builtin/checkout.c:1278
+#: builtin/checkout.c:1082 builtin/checkout.c:1351
 msgid "You are on a branch yet to be born"
 msgstr "Вы находитесь на еще не созданной ветке"
 
-#: builtin/checkout.c:1173
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr "ожидается только одна ссылка, а передано %d."
-
-#: builtin/checkout.c:1209
+#: builtin/checkout.c:1164
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
 "Please use -- (and optionally --no-guess) to disambiguate"
 msgstr ""
 
-#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448
+#: builtin/checkout.c:1171
+msgid ""
+"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
+"you can do so by fully qualifying the name with the --track option:\n"
+"\n"
+"    git checkout --track origin/<name>\n"
+"\n"
+"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
+"one remote, e.g. the 'origin' remote, consider setting\n"
+"checkout.defaultRemote=origin in your config."
+msgstr ""
+
+#: builtin/checkout.c:1181
+#, c-format
+msgid "'%s' matched multiple (%d) remote tracking branches"
+msgstr ""
+
+#: builtin/checkout.c:1247
+msgid "only one reference expected"
+msgstr ""
+
+#: builtin/checkout.c:1264
+#, c-format
+msgid "only one reference expected, %d given."
+msgstr "ожидается только одна ссылка, а передано %d."
+
+#: builtin/checkout.c:1310 builtin/worktree.c:342 builtin/worktree.c:510
 #, c-format
 msgid "invalid reference: %s"
 msgstr "неправильная ссылка: %s"
 
-#: builtin/checkout.c:1251
+#: builtin/checkout.c:1323 builtin/checkout.c:1689
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "в дереве нет такой ссылки: %s"
 
-#: builtin/checkout.c:1292
+#: builtin/checkout.c:1370
+#, c-format
+msgid "a branch is expected, got tag '%s'"
+msgstr ""
+
+#: builtin/checkout.c:1372
+#, c-format
+msgid "a branch is expected, got remote branch '%s'"
+msgstr ""
+
+#: builtin/checkout.c:1373 builtin/checkout.c:1381
+#, c-format
+msgid "a branch is expected, got '%s'"
+msgstr ""
+
+#: builtin/checkout.c:1376
+#, c-format
+msgid "a branch is expected, got commit '%s'"
+msgstr ""
+
+#: builtin/checkout.c:1392
+msgid ""
+"cannot switch branch while merging\n"
+"Consider \"git merge --quit\" or \"git worktree add\"."
+msgstr ""
+
+#: builtin/checkout.c:1396
+msgid ""
+"cannot switch branch in the middle of an am session\n"
+"Consider \"git am --quit\" or \"git worktree add\"."
+msgstr ""
+
+#: builtin/checkout.c:1400
+msgid ""
+"cannot switch branch while rebasing\n"
+"Consider \"git rebase --quit\" or \"git worktree add\"."
+msgstr ""
+
+#: builtin/checkout.c:1404
+msgid ""
+"cannot switch branch while cherry-picking\n"
+"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
+msgstr ""
+
+#: builtin/checkout.c:1408
+msgid ""
+"cannot switch branch while reverting\n"
+"Consider \"git revert --quit\" or \"git worktree add\"."
+msgstr ""
+
+#: builtin/checkout.c:1412
+msgid "you are switching branch while bisecting"
+msgstr ""
+
+#: builtin/checkout.c:1419
 msgid "paths cannot be used with switching branches"
 msgstr "нельзя использовать пути при переключении веток"
 
-#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
+#: builtin/checkout.c:1422 builtin/checkout.c:1426 builtin/checkout.c:1430
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "нельзя использовать «%s» при переключении веток"
 
-#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
-#: builtin/checkout.c:1318
+#: builtin/checkout.c:1434 builtin/checkout.c:1437 builtin/checkout.c:1440
+#: builtin/checkout.c:1445 builtin/checkout.c:1450
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "«%s» нельзя использовать одновременно с «%s»"
 
-#: builtin/checkout.c:1323
+#: builtin/checkout.c:1447
+#, c-format
+msgid "'%s' cannot take <start-point>"
+msgstr ""
+
+#: builtin/checkout.c:1455
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Нельзя переключить ветку на не коммит «%s»"
 
-#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
-#: builtin/worktree.c:494
-msgid "branch"
-msgstr "ветка"
+#: builtin/checkout.c:1462
+msgid "missing branch or commit argument"
+msgstr ""
 
-#: builtin/checkout.c:1357
-msgid "create and checkout a new branch"
-msgstr "создать и переключиться на новую ветку"
+#: builtin/checkout.c:1504 builtin/clone.c:92 builtin/commit-graph.c:84
+#: builtin/commit-graph.c:222 builtin/fetch.c:172 builtin/merge.c:296
+#: builtin/multi-pack-index.c:27 builtin/pull.c:119 builtin/push.c:575
+#: builtin/send-pack.c:198
+msgid "force progress reporting"
+msgstr "принудительно выводить прогресс"
 
-#: builtin/checkout.c:1359
-msgid "create/reset and checkout a branch"
-msgstr "создать/сбросить и перключиться на новую ветку"
+#: builtin/checkout.c:1505
+msgid "perform a 3-way merge with the new branch"
+msgstr "выполнить трехходовое слияние с новой веткой"
 
-#: builtin/checkout.c:1360
-msgid "create reflog for new branch"
-msgstr "создать журнал ссылок для новой ветки"
+#: builtin/checkout.c:1506 builtin/log.c:1800 parse-options.h:322
+msgid "style"
+msgstr "стиль"
 
-#: builtin/checkout.c:1361 builtin/worktree.c:496
+#: builtin/checkout.c:1507
+msgid "conflict style (merge or diff3)"
+msgstr "стиль конфликтов слияния (merge или diff3)"
+
+#: builtin/checkout.c:1519 builtin/worktree.c:558
 msgid "detach HEAD at named commit"
 msgstr "отсоединить HEAD на указанном коммите"
 
-#: builtin/checkout.c:1362
+#: builtin/checkout.c:1520
 msgid "set upstream info for new branch"
 msgstr "установить информацию о вышестоящей ветке для новой ветки"
 
-#: builtin/checkout.c:1364
+#: builtin/checkout.c:1522
+msgid "force checkout (throw away local modifications)"
+msgstr "принудительное переключение на состояние (отбрасывает все локальные изменения)"
+
+#: builtin/checkout.c:1524
 msgid "new-branch"
 msgstr "новая-ветка"
 
-#: builtin/checkout.c:1364
+#: builtin/checkout.c:1524
 msgid "new unparented branch"
 msgstr "новая ветка без родителей"
 
-#: builtin/checkout.c:1366
+#: builtin/checkout.c:1526 builtin/merge.c:300
+msgid "update ignored files (default)"
+msgstr "обновить игнорируемые файлы (по умолчанию)"
+
+#: builtin/checkout.c:1529
+msgid "do not check if another worktree is holding the given ref"
+msgstr "не проверять, что другое дерево уже содержит указанную ссылку"
+
+#: builtin/checkout.c:1542
 msgid "checkout our version for unmerged files"
 msgstr "переключиться на нашу версию для не слитых файлов"
 
-#: builtin/checkout.c:1369
+#: builtin/checkout.c:1545
 msgid "checkout their version for unmerged files"
 msgstr "переключиться на их версию для не слитых файлов"
 
-#: builtin/checkout.c:1371
-msgid "force checkout (throw away local modifications)"
-msgstr "принудительное переключение на состояние (отбрасывает все локальные изменения)"
-
-#: builtin/checkout.c:1373
-msgid "perform a 3-way merge with the new branch"
-msgstr "выполнить трехходовое слияние с новой веткой"
-
-#: builtin/checkout.c:1375 builtin/merge.c:284
-msgid "update ignored files (default)"
-msgstr "обновить игнорируемые файлы (по умолчанию)"
-
-#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
-msgid "style"
-msgstr "стиль"
-
-#: builtin/checkout.c:1378
-msgid "conflict style (merge or diff3)"
-msgstr "стиль конфликтов слияния (merge или diff3)"
-
-#: builtin/checkout.c:1381
+#: builtin/checkout.c:1549
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "не ограничивать спецификаторы пути только частичными записями"
 
-#: builtin/checkout.c:1383
-msgid "do not second guess 'git checkout <no-such-branch>'"
-msgstr ""
-
-#: builtin/checkout.c:1385
-msgid "do not check if another worktree is holding the given ref"
-msgstr "не проверять, что другое дерево уже содержит указанную ссылку"
-
-#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141
-#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
-#: builtin/send-pack.c:174
-msgid "force progress reporting"
-msgstr "принудительно выводить прогресс"
-
-#: builtin/checkout.c:1390
-msgid "use overlay mode (default)"
+#: builtin/checkout.c:1604
+#, c-format
+msgid "-%c, -%c and --orphan are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1422
-msgid "-b, -B and --orphan are mutually exclusive"
-msgstr "-b, -B и --orphan нельзя использовать одновременно"
-
-#: builtin/checkout.c:1425
+#: builtin/checkout.c:1608
 msgid "-p and --overlay are mutually exclusive"
 msgstr ""
 
-#: builtin/checkout.c:1442
+#: builtin/checkout.c:1645
 msgid "--track needs a branch name"
 msgstr "--track требует имя ветки"
 
-#: builtin/checkout.c:1447
-msgid "missing branch name; try -b"
-msgstr "пропущено имя ветки; попробуйте -b"
+#: builtin/checkout.c:1650
+#, c-format
+msgid "missing branch name; try -%c"
+msgstr ""
+
+#: builtin/checkout.c:1682
+#, c-format
+msgid "could not resolve %s"
+msgstr ""
 
-#: builtin/checkout.c:1484
+#: builtin/checkout.c:1698
 msgid "invalid path specification"
 msgstr "недопустимый спецификатор пути"
 
-#: builtin/checkout.c:1491
+#: builtin/checkout.c:1705
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "«%s» не является коммитом, поэтому невозможно создать из него ветку «%s»"
 
-#: builtin/checkout.c:1495
+#: builtin/checkout.c:1709
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach не принимает путь «%s» как аргумент"
 
-#: builtin/checkout.c:1499
+#: builtin/checkout.c:1718
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr ""
+
+#: builtin/checkout.c:1721 builtin/reset.c:325 builtin/stash.c:1499
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr ""
+
+#: builtin/checkout.c:1734
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr "git checkout: --ours/--theirs, --force and --merge нельзя использовать одновременно при применении состояния индекса."
 
-#: builtin/checkout.c:1519
-#, c-format
-msgid ""
-"'%s' matched more than one remote tracking branch.\n"
-"We found %d remotes with a reference that matched. So we fell back\n"
-"on trying to resolve the argument as a path, but failed there too!\n"
-"\n"
-"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
-"you can do so by fully qualifying the name with the --track option:\n"
-"\n"
-"    git checkout --track origin/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
+#: builtin/checkout.c:1739
+msgid "you must specify path(s) to restore"
+msgstr ""
+
+#: builtin/checkout.c:1765 builtin/checkout.c:1767 builtin/checkout.c:1816
+#: builtin/checkout.c:1818 builtin/clone.c:122 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2719
+#: builtin/worktree.c:554 builtin/worktree.c:556
+msgid "branch"
+msgstr "ветка"
+
+#: builtin/checkout.c:1766
+msgid "create and checkout a new branch"
+msgstr "создать и переключиться на новую ветку"
+
+#: builtin/checkout.c:1768
+msgid "create/reset and checkout a branch"
+msgstr "создать/сбросить и перключиться на новую ветку"
+
+#: builtin/checkout.c:1769
+msgid "create reflog for new branch"
+msgstr "создать журнал ссылок для новой ветки"
+
+#: builtin/checkout.c:1771
+msgid "second guess 'git checkout <no-such-branch>' (default)"
+msgstr ""
+
+#: builtin/checkout.c:1772
+msgid "use overlay mode (default)"
 msgstr ""
 
-#: builtin/clean.c:28
+#: builtin/checkout.c:1817
+msgid "create and switch to a new branch"
+msgstr ""
+
+#: builtin/checkout.c:1819
+msgid "create/reset and switch to a branch"
+msgstr ""
+
+#: builtin/checkout.c:1821
+msgid "second guess 'git switch <no-such-branch>'"
+msgstr ""
+
+#: builtin/checkout.c:1823
+msgid "throw away local modifications"
+msgstr ""
+
+#: builtin/checkout.c:1857
+msgid "which tree-ish to checkout from"
+msgstr ""
+
+#: builtin/checkout.c:1859
+msgid "restore the index"
+msgstr ""
+
+#: builtin/checkout.c:1861
+msgid "restore the working tree (default)"
+msgstr ""
+
+#: builtin/checkout.c:1863
+msgid "ignore unmerged entries"
+msgstr ""
+
+#: builtin/checkout.c:1864
+msgid "use overlay mode"
+msgstr ""
+
+#: builtin/clean.c:29
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr "git clean [-d] [-f] [-i] [-n] [-q] [-e <шаблон>] [-x | -X] [--] <пути>…"
 
-#: builtin/clean.c:32
+#: builtin/clean.c:33
 #, c-format
 msgid "Removing %s\n"
 msgstr "Удаление %s\n"
 
-#: builtin/clean.c:33
+#: builtin/clean.c:34
 #, c-format
 msgid "Would remove %s\n"
 msgstr "Будет удалено %s\n"
 
-#: builtin/clean.c:34
+#: builtin/clean.c:35
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr "Пропуск репозитория %s\n"
 
-#: builtin/clean.c:35
+#: builtin/clean.c:36
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr "Будет пропущен репозиторий %s\n"
 
-#: builtin/clean.c:36
+#: builtin/clean.c:37
 #, c-format
 msgid "failed to remove %s"
 msgstr "сбой удаления %s"
 
-#: builtin/clean.c:299 git-add--interactive.perl:579
+#: builtin/clean.c:38
+#, c-format
+msgid "could not lstat %s\n"
+msgstr ""
+
+#: builtin/clean.c:302 git-add--interactive.perl:593
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -9752,7 +11430,7 @@ msgid ""
 "           - (empty) select nothing\n"
 msgstr "Справка по выделению:\n1          - выбрать указанный элемент\nfoo        - выбрать элемент с указанным префиксом\n           - (пусто) не выбирать ничего\n"
 
-#: builtin/clean.c:303 git-add--interactive.perl:588
+#: builtin/clean.c:306 git-add--interactive.perl:602
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -9765,8 +11443,8 @@ msgid ""
 "           - (empty) finish selecting\n"
 msgstr "Справка по выделению:\n1          - выбрать один элемент\n3-5        - выбрать диапазон элементов\n2-3,6-9    - выбрать несколько диапазонов\nfoo        - выбрать элемент с указанным префиксом\n-…       - убрать выделение с указанных элементов\n*          - выбрать все элементы\n           - (пусто) завершить выделение\n"
 
-#: builtin/clean.c:519 git-add--interactive.perl:554
-#: git-add--interactive.perl:559
+#: builtin/clean.c:521 git-add--interactive.perl:568
+#: git-add--interactive.perl:573
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Хм (%s)?\n"
@@ -9776,27 +11454,22 @@ msgstr "Хм (%s)?\n"
 msgid "Input ignore patterns>> "
 msgstr "Шаблоны игнорирования ввода>> "
 
-#: builtin/clean.c:698
+#: builtin/clean.c:696
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: Не удалось найти элементы соответствующие: %s"
 
-#: builtin/clean.c:719
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr "Укажите элементы для удаления"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:760
+#: builtin/clean.c:758
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Удалить %s [y - да/N - нет]? "
 
-#: builtin/clean.c:785 git-add--interactive.perl:1717
-#, c-format
-msgid "Bye.\n"
-msgstr "До свидания.\n"
-
-#: builtin/clean.c:793
+#: builtin/clean.c:789
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -9807,15 +11480,7 @@ msgid ""
 "?                   - help for prompt selection"
 msgstr "clean               - начать очистку\nfilter by pattern   - исключить удаление элементов\nselect by numbers   - исключить удаление элементов по номерам\nask each            - запрашивать подтверждение на удаление каждого элемента (как «rm -i»)\nquit                - прекратить очистку\nhelp                - этот экран\n?                   - справка по выделению"
 
-#: builtin/clean.c:820 git-add--interactive.perl:1793
-msgid "*** Commands ***"
-msgstr "*** Команды ***"
-
-#: builtin/clean.c:821 git-add--interactive.perl:1790
-msgid "What now"
-msgstr "Что теперь"
-
-#: builtin/clean.c:829
+#: builtin/clean.c:825
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Удалить следующие элементы:"
@@ -9823,387 +11488,406 @@ msgstr[1] "Удалить следующие элементы:"
 msgstr[2] "Удалить следующие элементы:"
 msgstr[3] "Удалить следующие элементы:"
 
-#: builtin/clean.c:845
+#: builtin/clean.c:841
 msgid "No more files to clean, exiting."
 msgstr "Больше нет файлов для очистки, выходим."
 
-#: builtin/clean.c:907
+#: builtin/clean.c:903
 msgid "do not print names of files removed"
 msgstr "не выводить имена удаляемых файлов"
 
-#: builtin/clean.c:909
+#: builtin/clean.c:905
 msgid "force"
 msgstr "принудительно"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:906
 msgid "interactive cleaning"
 msgstr "интерактивная очистка"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:908
 msgid "remove whole directories"
 msgstr "удалить каталоги полностью"
 
-#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
-#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/clean.c:909 builtin/describe.c:565 builtin/describe.c:567
+#: builtin/grep.c:921 builtin/log.c:183 builtin/log.c:185
+#: builtin/ls-files.c:558 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "шаблон"
 
-#: builtin/clean.c:914
+#: builtin/clean.c:910
 msgid "add <pattern> to ignore rules"
 msgstr "добавить <шаблон> в правила игнорирования"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:911
 msgid "remove ignored files, too"
 msgstr "также удалить игнорируемые файлы"
 
-#: builtin/clean.c:917
+#: builtin/clean.c:913
 msgid "remove only ignored files"
 msgstr "удалить только игнорируемые файлы"
 
-#: builtin/clean.c:935
-msgid "-x and -X cannot be used together"
-msgstr "нельзя использовать одновременно -x и -X"
-
-#: builtin/clean.c:939
+#: builtin/clean.c:929
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to"
 " clean"
 msgstr "clean.requireForce установлен как true и ни одна из опций -i, -n или -f не указана; отказ очистки"
 
-#: builtin/clean.c:942
+#: builtin/clean.c:932
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr "clean.requireForce установлен по умолчанию как true и ни одна из опций -i, -n или -f не указана; отказ очистки"
 
-#: builtin/clone.c:44
+#: builtin/clean.c:944
+msgid "-x and -X cannot be used together"
+msgstr "нельзя использовать одновременно -x и -X"
+
+#: builtin/clone.c:45
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<опции>] [--] <репозиторий> [<каталог>]"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:94
 msgid "don't create a checkout"
 msgstr "не переключать рабочую копию на HEAD"
 
-#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
+#: builtin/clone.c:95 builtin/clone.c:97 builtin/init-db.c:555
 msgid "create a bare repository"
 msgstr "создать голый репозиторий"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:99
 msgid "create a mirror repository (implies bare)"
 msgstr "создать зеркало репозитория (включает в себя и параметр bare)"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:101
 msgid "to clone from a local repository"
 msgstr "для клонирования из локального репозитория"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:103
 msgid "don't use local hardlinks, always copy"
 msgstr "не использовать жесткие ссылки, всегда копировать файлы"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:105
 msgid "setup as shared repository"
 msgstr "настроить как общедоступный репозиторий"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr "спецификатор-пути"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "initialize submodules in the clone"
 msgstr "инициализировать подмодули в клоне"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "number of submodules cloned in parallel"
 msgstr "количество подмодулей, которые будут клонированы парралельно"
 
-#: builtin/clone.c:108 builtin/init-db.c:486
+#: builtin/clone.c:112 builtin/init-db.c:552
 msgid "template-directory"
 msgstr "каталог-шаблонов"
 
-#: builtin/clone.c:109 builtin/init-db.c:487
+#: builtin/clone.c:113 builtin/init-db.c:553
 msgid "directory from which templates will be used"
 msgstr "каталог, шаблоны из которого будут использованы"
 
-#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1859
+#: builtin/clone.c:115 builtin/clone.c:117 builtin/submodule--helper.c:1831
+#: builtin/submodule--helper.c:2336
 msgid "reference repository"
 msgstr "ссылаемый репозиторий"
 
-#: builtin/clone.c:115 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1861
+#: builtin/clone.c:119 builtin/submodule--helper.c:1833
+#: builtin/submodule--helper.c:2338
 msgid "use --reference only while cloning"
 msgstr "используйте --reference только при клонировании"
 
-#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3306 builtin/repack.c:329
+#: builtin/clone.c:120 builtin/column.c:27 builtin/init-db.c:563
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3546 builtin/repack.c:358
 msgid "name"
 msgstr "имя"
 
-#: builtin/clone.c:117
+#: builtin/clone.c:121
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "использовать <имя> вместо «origin» для отслеживания вышестоящего репозитория"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:123
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "переключиться на <ветку>, вместо HEAD внешнего репозитория"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:125
 msgid "path to git-upload-pack on the remote"
 msgstr "путь к git-upload-pack на внешнем репозитории"
 
-#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:225
+#: builtin/clone.c:126 builtin/fetch.c:173 builtin/grep.c:860
+#: builtin/pull.c:208
 msgid "depth"
 msgstr "глубина"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:127
 msgid "create a shallow clone of that depth"
 msgstr "сделать частичный клон указанной глубины"
 
-#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
+#: builtin/clone.c:128 builtin/fetch.c:175 builtin/pack-objects.c:3535
+#: builtin/pull.c:211
 msgid "time"
 msgstr "время"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:129
 msgid "create a shallow clone since a specific time"
 msgstr "сделать частичный клон до определенного времени"
 
-#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1389
+#: builtin/clone.c:130 builtin/fetch.c:177 builtin/fetch.c:200
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1317
 msgid "revision"
 msgstr "редакция"
 
-#: builtin/clone.c:127 builtin/fetch.c:147
+#: builtin/clone.c:131 builtin/fetch.c:178 builtin/pull.c:215
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "углубить историю частичного клона исключая редакцию"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:133 builtin/submodule--helper.c:1843
+#: builtin/submodule--helper.c:2352
 msgid "clone only one branch, HEAD or --branch"
 msgstr "клонировать только одну ветку, HEAD или --branch"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:135
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "не клонировать метки, а также настроить, чтобы не клонировались и в дальнейшем"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:137
 msgid "any cloned submodules will be shallow"
 msgstr "все склонированные подмодули будут частичными клонами"
 
-#: builtin/clone.c:134 builtin/init-db.c:495
+#: builtin/clone.c:138 builtin/init-db.c:561
 msgid "gitdir"
 msgstr "каталог-git"
 
-#: builtin/clone.c:135 builtin/init-db.c:496
+#: builtin/clone.c:139 builtin/init-db.c:562
 msgid "separate git dir from working tree"
 msgstr "разместить каталог git отдельно от рабочей копии"
 
-#: builtin/clone.c:136
+#: builtin/clone.c:140
 msgid "key=value"
 msgstr "ключ=значение"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:141
 msgid "set config inside the new repository"
 msgstr "установить параметры внутри нового репозитория"
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
-#: builtin/push.c:585 builtin/send-pack.c:172
+#: builtin/clone.c:143 builtin/fetch.c:195 builtin/ls-remote.c:76
+#: builtin/pull.c:230 builtin/push.c:584 builtin/send-pack.c:196
 msgid "server-specific"
 msgstr "зависит-от-сервера"
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
-#: builtin/push.c:585 builtin/send-pack.c:173
+#: builtin/clone.c:143 builtin/fetch.c:195 builtin/ls-remote.c:76
+#: builtin/pull.c:231 builtin/push.c:584 builtin/send-pack.c:197
 msgid "option to transmit"
 msgstr "передаваемые опции"
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
-#: builtin/push.c:586
+#: builtin/clone.c:144 builtin/fetch.c:196 builtin/pull.c:234
+#: builtin/push.c:585
 msgid "use IPv4 addresses only"
 msgstr "использовать только IPv4 адреса"
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
-#: builtin/push.c:588
+#: builtin/clone.c:146 builtin/fetch.c:198 builtin/pull.c:237
+#: builtin/push.c:587
 msgid "use IPv6 addresses only"
 msgstr "использовать только IPv6 адреса"
 
-#: builtin/clone.c:280
+#: builtin/clone.c:150
+msgid "any cloned submodules will use their remote-tracking branch"
+msgstr ""
+
+#: builtin/clone.c:152
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr ""
+
+#: builtin/clone.c:288
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
 msgstr "Имя каталога не может быть угадано.\nУкажите имя каталога с помощью параметра командной строки"
 
-#: builtin/clone.c:333
+#: builtin/clone.c:341
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "информация: Не удалось добавить альтернативу для «%s»: %s\n"
 
-#: builtin/clone.c:405
-#, c-format
-msgid "failed to open '%s'"
-msgstr "не удалось открыть «%s»"
-
-#: builtin/clone.c:413
+#: builtin/clone.c:414
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s уже существует и не является каталогом"
 
-#: builtin/clone.c:427
+#: builtin/clone.c:432
 #, c-format
-msgid "failed to stat %s\n"
-msgstr "не удалось выполнить stat %s\n"
-
-#: builtin/clone.c:444
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "сбой отсоединения «%s»"
+msgid "failed to start iterator over '%s'"
+msgstr ""
 
-#: builtin/clone.c:449
+#: builtin/clone.c:463
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "не удалось создать ссылку «%s»"
 
-#: builtin/clone.c:453
+#: builtin/clone.c:467
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "не удалось копировать файл в «%s»"
 
-#: builtin/clone.c:479
+#: builtin/clone.c:472
+#, c-format
+msgid "failed to iterate over '%s'"
+msgstr ""
+
+#: builtin/clone.c:499
 #, c-format
 msgid "done.\n"
 msgstr "готово.\n"
 
-#: builtin/clone.c:493
+#: builtin/clone.c:513
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
-"and retry the checkout with 'git checkout -f HEAD'\n"
-msgstr "Клонирование прошло успешно, но во время переключения состояния произошла ошибка.\nС помощь команды «git status» вы можете просмотреть, какие файлы были обновлены,\nа с помощью «git checkout -f HEAD» можно повторить попытку переключения на ветку \n"
+"and retry with 'git restore --source=HEAD :/'\n"
+msgstr "Клонирование прошло успешно, но во время переключения на состояние произошла ошибка.\nС помощь команды «git status» вы можете просмотреть какие файлы были обновлены,\nа повторить попытку перехода на версию можно с помощью «git restore --source=HEAD :/»\n"
 
-#: builtin/clone.c:570
+#: builtin/clone.c:590
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Не удалось найти внешнюю ветку %s для клонирования."
 
-#: builtin/clone.c:689
+#: builtin/clone.c:709
 #, c-format
 msgid "unable to update %s"
 msgstr "не удалось обновить %s"
 
-#: builtin/clone.c:739
+#: builtin/clone.c:757
+msgid "failed to initialize sparse-checkout"
+msgstr ""
+
+#: builtin/clone.c:780
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
-msgstr "внешний HEAD ссылается на несуществующую ссылку, нельзя переключиться на такую версию.\n"
+msgstr "внешний HEAD ссылается на несуществующую ссылку, нельзя переключиться на такое состояние.\n"
 
-#: builtin/clone.c:770
+#: builtin/clone.c:812
 msgid "unable to checkout working tree"
 msgstr "не удалось переключиться на версию в рабочем каталоге"
 
-#: builtin/clone.c:815
+#: builtin/clone.c:887
 msgid "unable to write parameters to config file"
 msgstr "не удалось записать параметры в файл конфигурации"
 
-#: builtin/clone.c:878
+#: builtin/clone.c:950
 msgid "cannot repack to clean up"
 msgstr "не удалось выполнить перепаковку для очистки"
 
-#: builtin/clone.c:880
+#: builtin/clone.c:952
 msgid "cannot unlink temporary alternates file"
 msgstr "не удалось отсоединить временные альтернативные файлы"
 
-#: builtin/clone.c:920 builtin/receive-pack.c:1952
+#: builtin/clone.c:992 builtin/receive-pack.c:2493
 msgid "Too many arguments."
 msgstr "Слишком много аргументов."
 
-#: builtin/clone.c:924
+#: builtin/clone.c:996
 msgid "You must specify a repository to clone."
 msgstr "Вы должны указать репозиторий для клонирования."
 
-#: builtin/clone.c:937
+#: builtin/clone.c:1009
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare и --origin %s нельзя использовать одновременно."
 
-#: builtin/clone.c:940
+#: builtin/clone.c:1012
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare и --separate-git-dir нельзя использовать одновременно."
 
-#: builtin/clone.c:953
+#: builtin/clone.c:1025
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "репозиторий «%s» не существует"
 
-#: builtin/clone.c:959 builtin/fetch.c:1610
+#: builtin/clone.c:1029 builtin/fetch.c:1841
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "глубина %s не является положительным числом"
 
-#: builtin/clone.c:969
+#: builtin/clone.c:1039
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "целевой путь «%s» уже существует и не является пустым каталогом."
 
-#: builtin/clone.c:979
+#: builtin/clone.c:1045
+#, c-format
+msgid "repository path '%s' already exists and is not an empty directory."
+msgstr ""
+
+#: builtin/clone.c:1059
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "рабочий каталог «%s» уже существует."
 
-#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264
-#: builtin/worktree.c:296 builtin/worktree.c:328
+#: builtin/clone.c:1074 builtin/clone.c:1095 builtin/difftool.c:271
+#: builtin/log.c:1987 builtin/worktree.c:354 builtin/worktree.c:386
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "не удалось создать родительские каталоги для «%s»"
 
-#: builtin/clone.c:999
+#: builtin/clone.c:1079
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "не удалось создать рабочий каталог «%s»"
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1099
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Клонирование в голый репозиторий «%s»…\n"
 
-#: builtin/clone.c:1021
+#: builtin/clone.c:1101
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Клонирование в «%s»…\n"
 
-#: builtin/clone.c:1045
+#: builtin/clone.c:1125
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-"
 "if-able"
 msgstr "клонирование с параметром --recursive нельзя использовать одновременно ни с --reference, ни с --reference-if-able"
 
-#: builtin/clone.c:1106
+#: builtin/clone.c:1169 builtin/remote.c:200 builtin/remote.c:705
+#, c-format
+msgid "'%s' is not a valid remote name"
+msgstr "«%s» не является допустимым именем внешнего репозитория."
+
+#: builtin/clone.c:1210
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth игнорируется на локальных клонах; вместо этого используйте file://."
 
-#: builtin/clone.c:1108
+#: builtin/clone.c:1212
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since игнорируется на локальных клонах; используйте file:// вместо этого."
 
-#: builtin/clone.c:1110
+#: builtin/clone.c:1214
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude игнорируется на локальных клонах; используйте file:// вместо этого."
 
-#: builtin/clone.c:1112
+#: builtin/clone.c:1216
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr ""
 
-#: builtin/clone.c:1115
+#: builtin/clone.c:1219
 msgid "source repository is shallow, ignoring --local"
 msgstr "исходный репозиторий является частичным, --local игнорируется"
 
-#: builtin/clone.c:1120
+#: builtin/clone.c:1224
 msgid "--local is ignored"
 msgstr "--local игнорируется"
 
-#: builtin/clone.c:1197 builtin/clone.c:1205
+#: builtin/clone.c:1311 builtin/clone.c:1319
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Внешняя ветка %s не найдена в вышестоящем репозитории %s"
 
-#: builtin/clone.c:1208
+#: builtin/clone.c:1322
 msgid "You appear to have cloned an empty repository."
 msgstr "Похоже, что вы клонировали пустой репозиторий."
 
@@ -10211,33 +11895,134 @@ msgstr "Похоже, что вы клонировали пустой репоз
 msgid "git column [<options>]"
 msgstr "git column [<опции>]"
 
-#: builtin/column.c:27
-msgid "lookup config vars"
-msgstr "запросить переменные конфигурации"
+#: builtin/column.c:27
+msgid "lookup config vars"
+msgstr "запросить переменные конфигурации"
+
+#: builtin/column.c:28 builtin/column.c:29
+msgid "layout to use"
+msgstr "использовать схему расположения"
+
+#: builtin/column.c:30
+msgid "Maximum width"
+msgstr "Максимальная ширина"
+
+#: builtin/column.c:31
+msgid "Padding space on left border"
+msgstr "Расстояние отступа слева"
+
+#: builtin/column.c:32
+msgid "Padding space on right border"
+msgstr "Расстояние отступа справа"
+
+#: builtin/column.c:33
+msgid "Padding space between columns"
+msgstr "Расстояние отступа между колонками"
+
+#: builtin/column.c:51
+msgid "--command must be the first argument"
+msgstr "параметр --command должен быть первым"
+
+#: builtin/commit-graph.c:13 builtin/commit-graph.c:22
+msgid ""
+"git commit-graph verify [--object-dir <objdir>] [--shallow] "
+"[--[no-]progress]"
+msgstr ""
+
+#: builtin/commit-graph.c:14 builtin/commit-graph.c:27
+msgid ""
+"git commit-graph write [--object-dir <objdir>] [--append] "
+"[--split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] "
+"[--changed-paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split "
+"options>"
+msgstr ""
+
+#: builtin/commit-graph.c:64
+#, c-format
+msgid "could not find object directory matching %s"
+msgstr ""
+
+#: builtin/commit-graph.c:80 builtin/commit-graph.c:210
+#: builtin/commit-graph.c:316 builtin/fetch.c:184 builtin/log.c:1769
+msgid "dir"
+msgstr "каталог"
+
+#: builtin/commit-graph.c:81 builtin/commit-graph.c:211
+#: builtin/commit-graph.c:317
+msgid "The object directory to store the graph"
+msgstr "Каталог объектов для сохранения графа"
+
+#: builtin/commit-graph.c:83
+msgid "if the commit-graph is split, only verify the tip file"
+msgstr ""
+
+#: builtin/commit-graph.c:106
+#, c-format
+msgid "Could not open commit-graph '%s'"
+msgstr "Не удалось открыть файл commit-graph «%s»"
+
+#: builtin/commit-graph.c:142
+#, c-format
+msgid "unrecognized --split argument, %s"
+msgstr ""
+
+#: builtin/commit-graph.c:155
+#, c-format
+msgid "unexpected non-hex object ID: %s"
+msgstr ""
+
+#: builtin/commit-graph.c:160
+#, c-format
+msgid "invalid object: %s"
+msgstr ""
+
+#: builtin/commit-graph.c:213
+msgid "start walk at all refs"
+msgstr "начать со всех ссылок"
+
+#: builtin/commit-graph.c:215
+msgid "scan pack-indexes listed by stdin for commits"
+msgstr "искать коммиты в pack-indexes, перечисленных на стандартном вводе"
+
+#: builtin/commit-graph.c:217
+msgid "start walk at commits listed by stdin"
+msgstr "начать с коммитов, перечисленных на стандартном вводе"
+
+#: builtin/commit-graph.c:219
+msgid "include all commits already in the commit-graph file"
+msgstr "включить все коммиты, которые уже есть в файле commit-graph"
+
+#: builtin/commit-graph.c:221
+msgid "enable computation for changed paths"
+msgstr ""
 
-#: builtin/column.c:28 builtin/column.c:29
-msgid "layout to use"
-msgstr "использовать схему расположения"
+#: builtin/commit-graph.c:224
+msgid "allow writing an incremental commit-graph file"
+msgstr ""
 
-#: builtin/column.c:30
-msgid "Maximum width"
-msgstr "Максимальная ширина"
+#: builtin/commit-graph.c:228
+msgid "maximum number of commits in a non-base split commit-graph"
+msgstr ""
 
-#: builtin/column.c:31
-msgid "Padding space on left border"
-msgstr "Расстояние отступа слева"
+#: builtin/commit-graph.c:230
+msgid "maximum ratio between two levels of a split commit-graph"
+msgstr ""
 
-#: builtin/column.c:32
-msgid "Padding space on right border"
-msgstr "Расстояние отступа справа"
+#: builtin/commit-graph.c:232
+msgid "only expire files older than a given date-time"
+msgstr ""
 
-#: builtin/column.c:33
-msgid "Padding space between columns"
-msgstr "Расстояние отступа между колонками"
+#: builtin/commit-graph.c:234
+msgid "maximum number of changed-path Bloom filters to compute"
+msgstr ""
 
-#: builtin/column.c:51
-msgid "--command must be the first argument"
-msgstr "параметр --command должен быть первым"
+#: builtin/commit-graph.c:255
+msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
+msgstr "используйте что-то одно из --reachable, --stdin-commits и --stdin-packs"
+
+#: builtin/commit-graph.c:287
+msgid "Collecting commits from input"
+msgstr ""
 
 #: builtin/commit-tree.c:18
 msgid ""
@@ -10250,7 +12035,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr ""
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:555
 #, c-format
 msgid "not a valid object name %s"
 msgstr ""
@@ -10258,17 +12043,17 @@ msgstr ""
 #: builtin/commit-tree.c:93
 #, c-format
 msgid "git commit-tree: failed to open '%s'"
-msgstr ""
+msgstr "git commit-tree: сбой при открытии «%s»"
 
 #: builtin/commit-tree.c:96
 #, c-format
 msgid "git commit-tree: failed to read '%s'"
-msgstr ""
+msgstr "git commit-tree: сбой при чтении «%s»"
 
 #: builtin/commit-tree.c:98
 #, c-format
 msgid "git commit-tree: failed to close '%s'"
-msgstr ""
+msgstr "git commit-tree: сбой при закрытии «%s»"
 
 #: builtin/commit-tree.c:111
 msgid "parent"
@@ -10278,32 +12063,32 @@ msgstr ""
 msgid "id of a parent commit object"
 msgstr ""
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
-#: builtin/tag.c:406
+#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:281
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1470
+#: builtin/tag.c:413
 msgid "message"
 msgstr "сообщение"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1480
+#: builtin/commit-tree.c:115 builtin/commit.c:1504
 msgid "commit message"
 msgstr "сообщение коммита"
 
 #: builtin/commit-tree.c:118
 msgid "read commit log message from file"
-msgstr ""
+msgstr "прочитать сообщение коммита из файла"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283
-#: builtin/pull.c:193 builtin/revert.c:117
+#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:298
+#: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "подписать коммит с помощью GPG"
 
 #: builtin/commit-tree.c:133
 msgid "must give exactly one tree"
-msgstr ""
+msgstr "необходимо указать одно дерево"
 
 #: builtin/commit-tree.c:140
 msgid "git commit-tree: failed to read"
-msgstr ""
+msgstr "git commit-tree: сбой при чтении"
 
 #: builtin/commit.c:41
 msgid "git commit [<options>] [--] <pathspec>..."
@@ -10330,138 +12115,155 @@ msgid ""
 msgstr "Копируемый коммит теперь пуст, возможно после разрешения конфликтов.\nЕсли вы все равно хотите сделать пустой коммит, используйте:\n\n    git commit --allow-empty\n\n"
 
 #: builtin/commit.c:63
-msgid "Otherwise, please use 'git reset'\n"
-msgstr "В противном случае, используйте «git reset»\n"
+msgid "Otherwise, please use 'git rebase --skip'\n"
+msgstr "В противном случае, используйте «git rebase --skip»\n"
 
 #: builtin/commit.c:66
+msgid "Otherwise, please use 'git cherry-pick --skip'\n"
+msgstr ""
+
+#: builtin/commit.c:69
 msgid ""
+"and then use:\n"
+"\n"
+"    git cherry-pick --continue\n"
+"\n"
+"to resume cherry-picking the remaining commits.\n"
 "If you wish to skip this commit, use:\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --skip\n"
 "\n"
-"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
-"the remaining commits.\n"
-msgstr "Если вы хотите пропустит этот коммит, используйте команду:\n\n    git reset\n\nПосле этого «git cherry-pick --continue» продолжит копирование оставшихся коммитов.\n"
+msgstr ""
 
 #: builtin/commit.c:312
 msgid "failed to unpack HEAD tree object"
 msgstr "сбой распаковки объекта дерева HEAD"
 
-#: builtin/commit.c:353
+#: builtin/commit.c:348
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr ""
+
+#: builtin/commit.c:361
+msgid "No paths with --include/--only does not make sense."
+msgstr "Указание путей каталогов с опциями --include/--only не имеет смысла."
+
+#: builtin/commit.c:373
 msgid "unable to create temporary index"
 msgstr "не удалось создать временный индекс"
 
-#: builtin/commit.c:359
+#: builtin/commit.c:382
 msgid "interactive add failed"
 msgstr "сбой интерактивного добавления"
 
-#: builtin/commit.c:373
+#: builtin/commit.c:397
 msgid "unable to update temporary index"
 msgstr "не удалось обновить временный индекс"
 
-#: builtin/commit.c:375
+#: builtin/commit.c:399
 msgid "Failed to update main cache tree"
 msgstr "Сбой при обновлении основного кэша дерева"
 
-#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469
+#: builtin/commit.c:424 builtin/commit.c:447 builtin/commit.c:495
 msgid "unable to write new_index file"
 msgstr "не удалось записать файл new_index"
 
-#: builtin/commit.c:452
+#: builtin/commit.c:476
 msgid "cannot do a partial commit during a merge."
 msgstr "нельзя создать частичный коммит во время слияния."
 
-#: builtin/commit.c:454
+#: builtin/commit.c:478
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "нельзя создать частичный коммит во время копирования коммита."
 
-#: builtin/commit.c:462
+#: builtin/commit.c:480
+msgid "cannot do a partial commit during a rebase."
+msgstr ""
+
+#: builtin/commit.c:488
 msgid "cannot read the index"
 msgstr "не удалось прочитать индекс"
 
-#: builtin/commit.c:481
+#: builtin/commit.c:507
 msgid "unable to write temporary index file"
 msgstr "не удалось записать временный файл индекса"
 
-#: builtin/commit.c:579
+#: builtin/commit.c:605
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "у коммита «%s» отсутствует автор в заголовке"
 
-#: builtin/commit.c:581
+#: builtin/commit.c:607
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "у коммита «%s» строка автора в неправильном формате"
 
-#: builtin/commit.c:600
+#: builtin/commit.c:626
 msgid "malformed --author parameter"
 msgstr "параметр --author в неправильном формате"
 
-#: builtin/commit.c:653
+#: builtin/commit.c:679
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "нельзя выбрать символ комментария, который\nне используется в текущем сообщении коммита"
 
-#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069
+#: builtin/commit.c:717 builtin/commit.c:750 builtin/commit.c:1097
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "не удалось запросить коммит %s"
 
-#: builtin/commit.c:703 builtin/shortlog.c:319
+#: builtin/commit.c:729 builtin/shortlog.c:425
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(чтение файла журнала из стандартного ввода)\n"
 
-#: builtin/commit.c:705
+#: builtin/commit.c:731
 msgid "could not read log from standard input"
 msgstr "не удалось прочитать файл журнала из стандартного ввода"
 
-#: builtin/commit.c:709
+#: builtin/commit.c:735
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "не удалось прочитать файл журнала «%s»"
 
-#: builtin/commit.c:740 builtin/commit.c:756
+#: builtin/commit.c:766 builtin/commit.c:782
 msgid "could not read SQUASH_MSG"
 msgstr "не удалось прочитать SQUASH_MSG"
 
-#: builtin/commit.c:747
+#: builtin/commit.c:773
 msgid "could not read MERGE_MSG"
 msgstr "не удалось прочитать MERGE_MSG"
 
-#: builtin/commit.c:807
+#: builtin/commit.c:833
 msgid "could not write commit template"
 msgstr "не удалось записать шаблон описания коммита"
 
-#: builtin/commit.c:826
-#, c-format
+#: builtin/commit.c:853
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
-"If this is not correct, please remove the file\n"
-"\t%s\n"
+"If this is not correct, please run\n"
+"\tgit update-ref -d MERGE_HEAD\n"
 "and try again.\n"
-msgstr "\nПохоже, что вы пытаетесь закоммитить слияние.\nЕсли это ошибка, пожалуйста удалите файл\n\t%s\nи попробуйте снова.\n"
+msgstr ""
 
-#: builtin/commit.c:831
-#, c-format
+#: builtin/commit.c:858
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
-"If this is not correct, please remove the file\n"
-"\t%s\n"
+"If this is not correct, please run\n"
+"\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "and try again.\n"
-msgstr "\nПохоже, что вы пытаетесь закоммитить при копировании коммита.\nЕсли это не так, то удалите файл\n\t%s\nи попробуйте снова.\n"
+msgstr ""
 
-#: builtin/commit.c:844
+#: builtin/commit.c:868
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '%c' will be ignored, and an empty message aborts the commit.\n"
 msgstr "Пожалуйста, введите сообщение коммита для ваших изменений. Строки,\nначинающиеся с «%c» будут проигнорированы, а пустое сообщение\nотменяет процесс коммита.\n"
 
-#: builtin/commit.c:852
+#: builtin/commit.c:876
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -10469,583 +12271,541 @@ msgid ""
 "An empty message aborts the commit.\n"
 msgstr "Пожалуйста, введите сообщение коммита для ваших изменений. Строки,\nначинающиеся с «%c» будут оставлены; вы можете удалить их вручную,\nесли хотите. Пустое сообщение отменяет процесс коммита.\n"
 
-#: builtin/commit.c:869
+#: builtin/commit.c:893
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sАвтор:     %.*s <%.*s>"
 
-#: builtin/commit.c:877
+#: builtin/commit.c:901
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sДата:      %s"
 
-#: builtin/commit.c:884
+#: builtin/commit.c:908
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sКоммитер:  %.*s <%.*s>"
 
-#: builtin/commit.c:902
+#: builtin/commit.c:926
 msgid "Cannot read index"
 msgstr "Не удалось прочитать индекс"
 
-#: builtin/commit.c:969
+#: builtin/commit.c:997
 msgid "Error building trees"
 msgstr "Ошибка при построении деревьев"
 
-#: builtin/commit.c:983 builtin/tag.c:269
+#: builtin/commit.c:1011 builtin/tag.c:276
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Пожалуйста, укажите сообщение, при указании опций -m или -F.\n"
 
-#: builtin/commit.c:1027
+#: builtin/commit.c:1055
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author «%s» не в формате «Имя <почта>» и не совпадает с существующим автором"
 
-#: builtin/commit.c:1041
+#: builtin/commit.c:1069
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Недопустимый режим показа игнорируемых файлов «%s»"
 
-#: builtin/commit.c:1059 builtin/commit.c:1284
+#: builtin/commit.c:1087 builtin/commit.c:1331
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Неправильный режим неотслеживаемых файлов «%s»"
 
-#: builtin/commit.c:1097
+#: builtin/commit.c:1127
 msgid "--long and -z are incompatible"
 msgstr "--long и -z нельзя использовать одновременно"
 
-#: builtin/commit.c:1130
+#: builtin/commit.c:1171
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Указание одновременно опций --reset-author и --author не имеет смысла"
 
-#: builtin/commit.c:1139
+#: builtin/commit.c:1180
 msgid "You have nothing to amend."
 msgstr "Нечего исправлять."
 
-#: builtin/commit.c:1142
+#: builtin/commit.c:1183
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Вы в процессе слияния —  сейчас нельзя исправлять."
 
-#: builtin/commit.c:1144
+#: builtin/commit.c:1185
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "Вы в процессе копирования коммита —  сейчас нельзя исправлять."
 
-#: builtin/commit.c:1147
+#: builtin/commit.c:1187
+msgid "You are in the middle of a rebase -- cannot amend."
+msgstr ""
+
+#: builtin/commit.c:1190
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Опции --squash и --fixup не могут использоваться одновременно"
 
-#: builtin/commit.c:1157
+#: builtin/commit.c:1200
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Может использоваться только одна из опций -c/-C/-F/--fixup."
 
-#: builtin/commit.c:1159
+#: builtin/commit.c:1202
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr ""
 
-#: builtin/commit.c:1167
+#: builtin/commit.c:1211
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author может использоваться только одновременно с опциями -C, -c или --amend."
 
-#: builtin/commit.c:1184
+#: builtin/commit.c:1229
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "Может использоваться только одна из опций --include/--only/--all/--interactive/--patch."
 
-#: builtin/commit.c:1186
-msgid "No paths with --include/--only does not make sense."
-msgstr "Указание путей каталогов с опциями --include/--only не имеет смысла."
-
-#: builtin/commit.c:1192
+#: builtin/commit.c:1235
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr ""
 
-#: builtin/commit.c:1319 builtin/commit.c:1503
+#: builtin/commit.c:1366 builtin/commit.c:1527
 msgid "show status concisely"
 msgstr "кратко показать статус"
 
-#: builtin/commit.c:1321 builtin/commit.c:1505
+#: builtin/commit.c:1368 builtin/commit.c:1529
 msgid "show branch information"
 msgstr "показать информацию о версии"
 
-#: builtin/commit.c:1323
+#: builtin/commit.c:1370
 msgid "show stash information"
 msgstr "показать информацию о спрятанном"
 
-#: builtin/commit.c:1325 builtin/commit.c:1507
+#: builtin/commit.c:1372 builtin/commit.c:1531
 msgid "compute full ahead/behind values"
 msgstr ""
 
-#: builtin/commit.c:1327
+#: builtin/commit.c:1374
 msgid "version"
 msgstr "версия"
 
-#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
-#: builtin/worktree.c:643
+#: builtin/commit.c:1374 builtin/commit.c:1533 builtin/push.c:560
+#: builtin/worktree.c:725
 msgid "machine-readable output"
 msgstr "машиночитаемый вывод"
 
-#: builtin/commit.c:1330 builtin/commit.c:1511
+#: builtin/commit.c:1377 builtin/commit.c:1535
 msgid "show status in long format (default)"
 msgstr "показать статус в длинном формате (по умолчанию)"
 
-#: builtin/commit.c:1333 builtin/commit.c:1514
+#: builtin/commit.c:1380 builtin/commit.c:1538
 msgid "terminate entries with NUL"
 msgstr "завершать записи НУЛЕВЫМ байтом"
 
-#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
-#: parse-options.h:331
+#: builtin/commit.c:1382 builtin/commit.c:1386 builtin/commit.c:1541
+#: builtin/fast-export.c:1198 builtin/fast-export.c:1201
+#: builtin/fast-export.c:1204 builtin/rebase.c:1406 parse-options.h:336
 msgid "mode"
 msgstr "режим"
 
-#: builtin/commit.c:1336 builtin/commit.c:1517
+#: builtin/commit.c:1383 builtin/commit.c:1541
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "показать неотслеживаемые файлы, опциональные режимы: all (все), normal (как обычно), no (нет). (По умолчанию: all)"
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1387
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr "показывать игнорируемые файлы, с опциональным режимом: traditional (традиционный), matching (только совпадающие), no (не показывать). (По умолчанию: traditional)"
 
-#: builtin/commit.c:1342 parse-options.h:179
+#: builtin/commit.c:1389 parse-options.h:192
 msgid "when"
 msgstr "когда"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1390
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr "игнорировать изменения в подмодулях, опционально когда: all (всегда), dirty (изменённые), untracked (неотслеживаемые). (По умолчанию: all)"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1392
 msgid "list untracked files in columns"
 msgstr "показать неотслеживаемые файлы по столбцам"
 
-#: builtin/commit.c:1346
+#: builtin/commit.c:1393
 msgid "do not detect renames"
 msgstr "не определять переименования"
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1395
 msgid "detect renames, optionally set similarity index"
 msgstr "определять переименования, опционально устанавливать рейтинг сходства"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1415
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "Неподдерживаемая комбинация аргументов отображения игнорируемых и неотслеживаемых файлов"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1497
 msgid "suppress summary after successful commit"
 msgstr "не выводить сводку изменений после успешного коммита"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1498
 msgid "show diff in commit message template"
 msgstr "добавить список изменений в шаблон сообщения коммита"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1500
 msgid "Commit message options"
 msgstr "Опции сообщения коммита"
 
-#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
+#: builtin/commit.c:1501 builtin/merge.c:285 builtin/tag.c:415
 msgid "read message from file"
 msgstr "прочитать сообщение из файла"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1502
 msgid "author"
 msgstr "автор"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1502
 msgid "override author for commit"
 msgstr "подменить автора коммита"
 
-#: builtin/commit.c:1479 builtin/gc.c:539
+#: builtin/commit.c:1503 builtin/gc.c:542
 msgid "date"
 msgstr "дата"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1503
 msgid "override date for commit"
 msgstr "подменить дату коммита"
 
-#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
-#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
+#: builtin/commit.c:1505 builtin/commit.c:1506 builtin/commit.c:1507
+#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:87
 msgid "commit"
 msgstr "коммит"
 
-#: builtin/commit.c:1481
+#: builtin/commit.c:1505
 msgid "reuse and edit message from specified commit"
 msgstr "использовать и отредактировать сообщение от указанного коммита"
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1506
 msgid "reuse message from specified commit"
 msgstr "использовать сообщение указанного коммита"
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1507
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "использовать форматированное сообщение автоуплотнения для исправления указанного коммита"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1508
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "использовать форматированное сообщение автоуплотнения для уплотнения указанного коммита"
 
-#: builtin/commit.c:1485
+#: builtin/commit.c:1509
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "коммит теперь за моим авторством (используется с -C/-c/--amend)"
 
-#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285
-#: builtin/pull.c:162 builtin/revert.c:109
-msgid "add Signed-off-by:"
-msgstr "добавить Signed-off-by:"
+#: builtin/commit.c:1510 builtin/log.c:1744 builtin/merge.c:301
+#: builtin/pull.c:145 builtin/revert.c:110
+msgid "add a Signed-off-by trailer"
+msgstr ""
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1511
 msgid "use specified template file"
 msgstr "использовать указанный файл шаблона"
 
-#: builtin/commit.c:1488
+#: builtin/commit.c:1512
 msgid "force edit of commit"
 msgstr "принудительно редактировать коммит"
 
-#: builtin/commit.c:1490
+#: builtin/commit.c:1514
 msgid "include status in commit message template"
 msgstr "включить статус файлов в шаблон сообщения коммита"
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1519
 msgid "Commit contents options"
 msgstr "Опции содержимого коммита"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1520
 msgid "commit all changed files"
 msgstr "закоммитить все измененные файлы"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1521
 msgid "add specified files to index for commit"
 msgstr "добавить указанные файлы в индекс для коммита"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1522
 msgid "interactively add files"
 msgstr "интерактивное добавление файлов"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1523
 msgid "interactively add changes"
 msgstr "интерактивное добавление изменений"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1524
 msgid "commit only specified files"
 msgstr "закоммитить только указанные файлы"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1525
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "пропустить перехватчик pre-commit и commit-msg"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1526
 msgid "show what would be committed"
 msgstr "показать, что будет закоммичено"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1539
 msgid "amend previous commit"
 msgstr "исправить предыдущий коммит"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1540
 msgid "bypass post-rewrite hook"
 msgstr "пропустить перехватчик post-rewrite"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1547
 msgid "ok to record an empty change"
 msgstr "разрешить запись пустого коммита"
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1549
 msgid "ok to record a change with an empty message"
 msgstr "разрешить запись изменений с пустым сообщением"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1622
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Файл MERGE_HEAD поврежден (%s)"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1629
 msgid "could not read MERGE_MODE"
 msgstr "не удалось прочитать MERGE_MODE"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1650
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "не удалось открыть сообщение коммита: %s"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1657
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Отмена коммита из-за пустого сообщения коммита.\n"
 
-#: builtin/commit.c:1634
+#: builtin/commit.c:1662
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Отмена коммита; вы не изменили сообщение.\n"
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1696
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git reset HEAD\" to recover."
-msgstr "репозиторий был обновлен, но не удалось записать файл new_index. Удостоверьтесь, что на диске есть свободное место и квота не исчерпана, а после этого запустите «git reset HEAD» для восстановления."
-
-#: builtin/commit-graph.c:10
-msgid "git commit-graph [--object-dir <objdir>]"
-msgstr "git commit-graph [--object-dir <каталог-объектов>]"
-
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
-msgid "git commit-graph read [--object-dir <objdir>]"
-msgstr "git commit-graph read [--object-dir <каталог-объектов>]"
-
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:18
-msgid "git commit-graph verify [--object-dir <objdir>]"
-msgstr "git commit-graph verify [--object-dir <каталог-объектов>]"
-
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:28
-msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable"
-"|--stdin-packs|--stdin-commits]"
-msgstr "git commit-graph write [--object-dir <каталог-объектов>] [--append] [--reachable|--stdin-packs|--stdin-commits]"
-
-#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
-#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
-#: builtin/log.c:1561
-msgid "dir"
-msgstr "каталог"
-
-#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
-#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
-msgid "The object directory to store the graph"
-msgstr "Каталог объектов для сохранения графа"
-
-#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
-#, c-format
-msgid "Could not open commit-graph '%s'"
-msgstr "Не удалось открыть файл commit-graph «%s»"
-
-#: builtin/commit-graph.c:150
-msgid "start walk at all refs"
-msgstr "начать со всех ссылок"
-
-#: builtin/commit-graph.c:152
-msgid "scan pack-indexes listed by stdin for commits"
-msgstr "искать коммиты в pack-indexes, перечисленных на стандартном вводе"
-
-#: builtin/commit-graph.c:154
-msgid "start walk at commits listed by stdin"
-msgstr "начать с коммитов, перечисленных на стандартном вводе"
-
-#: builtin/commit-graph.c:156
-msgid "include all commits already in the commit-graph file"
-msgstr "включить все коммиты, которые уже есть в файле commit-graph"
-
-#: builtin/commit-graph.c:165
-msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
-msgstr "используйте что-то одно из --reachable, --stdin-commits и --stdin-packs"
+"not exceeded, and then \"git restore --staged :/\" to recover."
+msgstr "репозиторий был обновлен, но не удалось записать файл new_index. Удостоверьтесь, что на диске есть свободное место и квота не исчерпана, а после этого запустите «git restore --staged :/» для восстановления."
 
 #: builtin/config.c:11
 msgid "git config [<options>]"
 msgstr "git config [<опции>]"
 
-#: builtin/config.c:103
+#: builtin/config.c:109 builtin/env--helper.c:27
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr ""
 
-#: builtin/config.c:115
+#: builtin/config.c:121
 msgid "only one type at a time"
 msgstr ""
 
-#: builtin/config.c:124
+#: builtin/config.c:130
 msgid "Config file location"
 msgstr "Размещение файла конфигурации"
 
-#: builtin/config.c:125
+#: builtin/config.c:131
 msgid "use global config file"
 msgstr "использовать глобальный файл конфигурации"
 
-#: builtin/config.c:126
+#: builtin/config.c:132
 msgid "use system config file"
 msgstr "использовать системный файл конфигурации"
 
-#: builtin/config.c:127
+#: builtin/config.c:133
 msgid "use repository config file"
 msgstr "использовать файл конфигурации репозитория"
 
-#: builtin/config.c:128
+#: builtin/config.c:134
 msgid "use per-worktree config file"
 msgstr ""
 
-#: builtin/config.c:129
+#: builtin/config.c:135
 msgid "use given config file"
 msgstr "использовать указанный файл конфигурации"
 
-#: builtin/config.c:130
+#: builtin/config.c:136
 msgid "blob-id"
 msgstr "идент-двоичн-объекта"
 
-#: builtin/config.c:130
+#: builtin/config.c:136
 msgid "read config from given blob object"
 msgstr "прочитать настройки из указанного двоичного объекта"
 
-#: builtin/config.c:131
+#: builtin/config.c:137
 msgid "Action"
 msgstr "Действие"
 
-#: builtin/config.c:132
-msgid "get value: name [value-regex]"
-msgstr "получить значение: имя [шаблон-значений]"
+#: builtin/config.c:138
+msgid "get value: name [value-pattern]"
+msgstr ""
 
-#: builtin/config.c:133
-msgid "get all values: key [value-regex]"
-msgstr "получить все значения: ключ [шаблон-значений]"
+#: builtin/config.c:139
+msgid "get all values: key [value-pattern]"
+msgstr ""
 
-#: builtin/config.c:134
-msgid "get values for regexp: name-regex [value-regex]"
-msgstr "получить значения по шаблону: шаблон-имен [шаблон-значений]"
+#: builtin/config.c:140
+msgid "get values for regexp: name-regex [value-pattern]"
+msgstr ""
 
-#: builtin/config.c:135
+#: builtin/config.c:141
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "получить значение, специфичное для URL: раздел[.переменная] URL"
 
-#: builtin/config.c:136
-msgid "replace all matching variables: name value [value_regex]"
-msgstr "заменить все соответствующие переменные: имя значение [шаблон-значений]"
+#: builtin/config.c:142
+msgid "replace all matching variables: name value [value-pattern]"
+msgstr ""
 
-#: builtin/config.c:137
+#: builtin/config.c:143
 msgid "add a new variable: name value"
 msgstr "добавить новую переменную: имя значение"
 
-#: builtin/config.c:138
-msgid "remove a variable: name [value-regex]"
-msgstr "удалить переменную: имя [шаблон-значений]"
+#: builtin/config.c:144
+msgid "remove a variable: name [value-pattern]"
+msgstr ""
 
-#: builtin/config.c:139
-msgid "remove all matches: name [value-regex]"
-msgstr "удалить все совпадающие: имя [шаблон-значений]"
+#: builtin/config.c:145
+msgid "remove all matches: name [value-pattern]"
+msgstr ""
 
-#: builtin/config.c:140
+#: builtin/config.c:146
 msgid "rename section: old-name new-name"
 msgstr "переименовать раздел: старое-имя новое-имя"
 
-#: builtin/config.c:141
+#: builtin/config.c:147
 msgid "remove a section: name"
 msgstr "удалить раздел: имя"
 
-#: builtin/config.c:142
+#: builtin/config.c:148
 msgid "list all"
 msgstr "показать весь список"
 
-#: builtin/config.c:143
+#: builtin/config.c:149
+msgid "use string equality when comparing values to 'value-pattern'"
+msgstr ""
+
+#: builtin/config.c:150
 msgid "open an editor"
 msgstr "открыть в редакторе"
 
-#: builtin/config.c:144
+#: builtin/config.c:151
 msgid "find the color configured: slot [default]"
 msgstr "найти настроенный цвет: раздел [по-умолчанию]"
 
-#: builtin/config.c:145
+#: builtin/config.c:152
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "проверить, существует ли настроенный цвет: раздел [stdout-есть-tty]"
 
-#: builtin/config.c:146
+#: builtin/config.c:153
 msgid "Type"
 msgstr "Тип"
 
-#: builtin/config.c:147
+#: builtin/config.c:154 builtin/env--helper.c:43
 msgid "value is given this type"
 msgstr ""
 
-#: builtin/config.c:148
+#: builtin/config.c:155
 msgid "value is \"true\" or \"false\""
 msgstr "значение — это «true» (правда) или «false» (ложь)"
 
-#: builtin/config.c:149
+#: builtin/config.c:156
 msgid "value is decimal number"
 msgstr "значение — это десятичное число"
 
-#: builtin/config.c:150
+#: builtin/config.c:157
 msgid "value is --bool or --int"
 msgstr "значение — это --bool или --int"
 
-#: builtin/config.c:151
+#: builtin/config.c:158
+msgid "value is --bool or string"
+msgstr ""
+
+#: builtin/config.c:159
 msgid "value is a path (file or directory name)"
 msgstr "значение — это путь (к файлу или каталогу)"
 
-#: builtin/config.c:152
+#: builtin/config.c:160
 msgid "value is an expiry date"
 msgstr "значение - это дата окончания срока действия"
 
-#: builtin/config.c:153
+#: builtin/config.c:161
 msgid "Other"
 msgstr "Другое"
 
-#: builtin/config.c:154
+#: builtin/config.c:162
 msgid "terminate values with NUL byte"
 msgstr "завершать значения НУЛЕВЫМ байтом"
 
-#: builtin/config.c:155
+#: builtin/config.c:163
 msgid "show variable names only"
 msgstr "показывать только имена переменных"
 
-#: builtin/config.c:156
+#: builtin/config.c:164
 msgid "respect include directives on lookup"
 msgstr "учитывать директивы include (включения файлов) при запросе"
 
-#: builtin/config.c:157
+#: builtin/config.c:165
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr "показать источник настройки (файл, стандартный ввод, двоичный объект, командная строка)"
 
-#: builtin/config.c:158
+#: builtin/config.c:166
+msgid "show scope of config (worktree, local, global, system, command)"
+msgstr ""
+
+#: builtin/config.c:167 builtin/env--helper.c:45
 msgid "value"
 msgstr ""
 
-#: builtin/config.c:158
+#: builtin/config.c:167
 msgid "with --get, use default value when missing entry"
 msgstr ""
 
-#: builtin/config.c:172
+#: builtin/config.c:181
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr ""
 
-#: builtin/config.c:174
+#: builtin/config.c:183
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr ""
 
-#: builtin/config.c:308
+#: builtin/config.c:339
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr ""
 
-#: builtin/config.c:344
+#: builtin/config.c:377
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr ""
 
-#: builtin/config.c:401
+#: builtin/config.c:441
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr ""
 
-#: builtin/config.c:443
+#: builtin/config.c:483
 msgid "unable to parse default color value"
 msgstr "не удалось разобрать значение цвета по умолчанию"
 
-#: builtin/config.c:496 builtin/config.c:742
+#: builtin/config.c:536 builtin/config.c:833
 msgid "not in a git directory"
 msgstr ""
 
-#: builtin/config.c:499
+#: builtin/config.c:539
 msgid "writing to stdin is not supported"
 msgstr ""
 
-#: builtin/config.c:502
+#: builtin/config.c:542
 msgid "writing config blobs is not supported"
 msgstr ""
 
-#: builtin/config.c:587
+#: builtin/config.c:627
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -11055,81 +12815,89 @@ msgid ""
 "#\temail = %s\n"
 msgstr "# Это файл конфигурации пользователя Git.\n[user]\n# Пожалуйста, адаптируйте и раскомментируйте следующие строки:\n#\tuser = %s\n#\temail = %s\n"
 
-#: builtin/config.c:611
+#: builtin/config.c:652
 msgid "only one config file at a time"
 msgstr ""
 
-#: builtin/config.c:616
+#: builtin/config.c:658
 msgid "--local can only be used inside a git repository"
 msgstr "--local можно использовать только внутри git репозитория"
 
-#: builtin/config.c:619
+#: builtin/config.c:660
 msgid "--blob can only be used inside a git repository"
 msgstr ""
 
-#: builtin/config.c:638
+#: builtin/config.c:662
+msgid "--worktree can only be used inside a git repository"
+msgstr ""
+
+#: builtin/config.c:684
 msgid "$HOME not set"
 msgstr ""
 
-#: builtin/config.c:658
+#: builtin/config.c:708
 msgid ""
 "--worktree cannot be used with multiple working trees unless the config\n"
 "extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
 "section in \"git help worktree\" for details"
 msgstr ""
 
-#: builtin/config.c:688
+#: builtin/config.c:743
 msgid "--get-color and variable type are incoherent"
 msgstr ""
 
-#: builtin/config.c:693
+#: builtin/config.c:748
 msgid "only one action at a time"
 msgstr ""
 
-#: builtin/config.c:706
+#: builtin/config.c:761
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr ""
 
-#: builtin/config.c:712
+#: builtin/config.c:767
 msgid ""
 "--show-origin is only applicable to --get, --get-all, --get-regexp, and "
 "--list"
 msgstr ""
 
-#: builtin/config.c:718
+#: builtin/config.c:773
 msgid "--default is only applicable to --get"
 msgstr ""
 
-#: builtin/config.c:731
+#: builtin/config.c:806
+msgid "--fixed-value only applies with 'value-pattern'"
+msgstr ""
+
+#: builtin/config.c:822
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr ""
 
-#: builtin/config.c:734
+#: builtin/config.c:825
 msgid "error processing config file(s)"
 msgstr ""
 
-#: builtin/config.c:744
+#: builtin/config.c:835
 msgid "editing stdin is not supported"
 msgstr ""
 
-#: builtin/config.c:746
+#: builtin/config.c:837
 msgid "editing blobs is not supported"
 msgstr ""
 
-#: builtin/config.c:760
+#: builtin/config.c:851
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "не удалось создать файл конфигурации %s"
 
-#: builtin/config.c:773
+#: builtin/config.c:864
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
 "       Use a regexp, --add or --replace-all to change %s."
 msgstr "нельзя перезаписать несколько значений одним\n       Используйте регулярные выражения, параметры --add или --replace-all, чтобы изменить %s."
 
-#: builtin/config.c:847 builtin/config.c:858
+#: builtin/config.c:943 builtin/config.c:954
 #, c-format
 msgid "no such section: %s"
 msgstr ""
@@ -11142,11 +12910,37 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "вывод размеров в удобочитаемом для человека виде"
 
-#: builtin/describe.c:27
+#: builtin/credential-cache--daemon.c:226
+#, c-format
+msgid ""
+"The permissions on your socket directory are too loose; other\n"
+"users may be able to read your cached credentials. Consider running:\n"
+"\n"
+"\tchmod 0700 %s"
+msgstr "Права доступа к вашему каталогу сокетов слишком свободны; друге пользователи могуи читать ваши закэшированные пароли доступа. Обдумайте запуск команды:\n\n\tchmod 0700 %s"
+
+#: builtin/credential-cache--daemon.c:275
+msgid "print debugging messages to stderr"
+msgstr "вывод отладочных сообщений на stderr"
+
+#: builtin/credential-cache--daemon.c:315
+msgid "credential-cache--daemon unavailable; no unix socket support"
+msgstr ""
+
+#: builtin/credential-cache.c:154
+msgid "credential-cache unavailable; no unix socket support"
+msgstr ""
+
+#: builtin/credential-store.c:66
+#, c-format
+msgid "unable to get credential storage lock in %d ms"
+msgstr ""
+
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<опции>] [<указатель-коммита>…]"
 
-#: builtin/describe.c:28
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<опции>] --dirty"
 
@@ -11162,659 +12956,840 @@ msgstr "легковесный"
 msgid "annotated"
 msgstr "аннотированный"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:277
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "аннотированная метка %s не доступна"
 
-#: builtin/describe.c:277
-#, c-format
-msgid "annotated tag %s has no embedded name"
-msgstr "аннотированная метка %s не содержит встроенного названия"
-
-#: builtin/describe.c:279
+#: builtin/describe.c:281
 #, c-format
-msgid "tag '%s' is really '%s' here"
-msgstr "метка «%s» уже здесь «%s»"
+msgid "tag '%s' is externally known as '%s'"
+msgstr ""
 
-#: builtin/describe.c:323
+#: builtin/describe.c:328
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "нет меток, точно соответствующих «%s»"
 
-#: builtin/describe.c:325
+#: builtin/describe.c:330
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr "Нет точных совпадений по ссылкам или тегам, ищу описания\n"
 
-#: builtin/describe.c:379
+#: builtin/describe.c:397
 #, c-format
 msgid "finished search at %s\n"
 msgstr "поиск окончен на %s\n"
 
-#: builtin/describe.c:405
+#: builtin/describe.c:424
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr "Нет аннотированных меток, которые могут описать «%s».\nНо имеются неаннотированные метки: попробуйте добавить параметр --tags."
 
-#: builtin/describe.c:409
+#: builtin/describe.c:428
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr "Нет меток, которые могут описать «%s….\nПопробуйте добавить параметр --always или создать какие-нибудь метки."
 
-#: builtin/describe.c:439
+#: builtin/describe.c:458
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "посещено %lu коммитов\n"
 
-#: builtin/describe.c:442
+#: builtin/describe.c:461
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
 "gave up search at %s\n"
 msgstr "более %i меток найдено; показано последние %i\nостановлен поиск после %s\n"
 
-#: builtin/describe.c:510
+#: builtin/describe.c:529
 #, c-format
 msgid "describe %s\n"
 msgstr "описать %s\n"
 
-#: builtin/describe.c:513
+#: builtin/describe.c:532
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "Недопустимое имя объекта %s"
 
-#: builtin/describe.c:521
+#: builtin/describe.c:540
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s не является коммитом или двоичным объектом"
 
-#: builtin/describe.c:535
+#: builtin/describe.c:554
 msgid "find the tag that comes after the commit"
 msgstr "поиск метки, которая идет после коммита"
 
-#: builtin/describe.c:536
+#: builtin/describe.c:555
 msgid "debug search strategy on stderr"
 msgstr "вывод отладочной информации стратегии поиска на стандартный вывод"
 
-#: builtin/describe.c:537
+#: builtin/describe.c:556
 msgid "use any ref"
 msgstr "использовать любую ссылку"
 
-#: builtin/describe.c:538
+#: builtin/describe.c:557
 msgid "use any tag, even unannotated"
 msgstr "использовать любую метку, даже неаннотированную"
 
-#: builtin/describe.c:539
+#: builtin/describe.c:558
 msgid "always use long format"
 msgstr "всегда использовать длинный формат вывода"
 
-#: builtin/describe.c:540
+#: builtin/describe.c:559
 msgid "only follow first parent"
 msgstr "следовать только за первым родителем"
 
-#: builtin/describe.c:543
+#: builtin/describe.c:562
 msgid "only output exact matches"
 msgstr "выводить только точные совпадения"
 
-#: builtin/describe.c:545
+#: builtin/describe.c:564
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "рассматривать последние <n> меток (по умолчанию: 10)"
 
-#: builtin/describe.c:547
+#: builtin/describe.c:566
 msgid "only consider tags matching <pattern>"
 msgstr "рассматривать только метки по <шаблону>"
 
-#: builtin/describe.c:549
+#: builtin/describe.c:568
 msgid "do not consider tags matching <pattern>"
 msgstr "не учитывать метки, которые соответствуют <шаблону>"
 
-#: builtin/describe.c:551 builtin/name-rev.c:426
+#: builtin/describe.c:570 builtin/name-rev.c:535
 msgid "show abbreviated commit object as fallback"
 msgstr "если не найдено, показать сокращенный номер редакции коммита"
 
-#: builtin/describe.c:552 builtin/describe.c:555
+#: builtin/describe.c:571 builtin/describe.c:574
 msgid "mark"
 msgstr "пометка"
 
-#: builtin/describe.c:553
+#: builtin/describe.c:572
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "добавить <пометку> при изменённом рабочем каталоге (по умолчанию: «-dirty»)"
 
-#: builtin/describe.c:556
+#: builtin/describe.c:575
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr "добавить <пометку> на повреждённое рабочее дерево (по умолчанию: «-broken»)"
 
-#: builtin/describe.c:574
+#: builtin/describe.c:593
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long несовместимо с --abbrev=0"
 
-#: builtin/describe.c:603
+#: builtin/describe.c:622
 msgid "No names found, cannot describe anything."
 msgstr "Имена не найдены, не могу ничего описать."
 
-#: builtin/describe.c:654
+#: builtin/describe.c:673
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty несовместимо с указанием указателей коммитов"
 
-#: builtin/describe.c:656
+#: builtin/describe.c:675
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken несовместимо с указанием указателей коммитов"
 
-#: builtin/diff.c:84
+#: builtin/diff-tree.c:155
+msgid "--stdin and --merge-base are mutually exclusive"
+msgstr ""
+
+#: builtin/diff-tree.c:157
+msgid "--merge-base only works with two commits"
+msgstr ""
+
+#: builtin/diff.c:91
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "«%s»: не является обычным файлом или символьной ссылкой"
 
-#: builtin/diff.c:235
+#: builtin/diff.c:258
 #, c-format
 msgid "invalid option: %s"
 msgstr "неправильный параметр: %s"
 
-#: builtin/diff.c:350
+#: builtin/diff.c:375
+#, c-format
+msgid "%s...%s: no merge base"
+msgstr ""
+
+#: builtin/diff.c:485
 msgid "Not a git repository"
 msgstr "Не найден git репозиторий"
 
-#: builtin/diff.c:394
+#: builtin/diff.c:530 builtin/grep.c:681
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "передан неправильный объект «%s»."
 
-#: builtin/diff.c:403
+#: builtin/diff.c:541
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "передано больше двух двоичных объектов: «%s»"
 
-#: builtin/diff.c:408
+#: builtin/diff.c:546
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "передан необработанный объект «%s»."
 
+#: builtin/diff.c:580
+#, c-format
+msgid "%s...%s: multiple merge bases, using %s"
+msgstr ""
+
 #: builtin/difftool.c:30
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<опции>] [<коммит> [<коммит>]] [--] [<путь>…]"
 
-#: builtin/difftool.c:253
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr "сбой: %d"
 
-#: builtin/difftool.c:295
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr "не удалось прочитать символьную ссылку %s"
 
-#: builtin/difftool.c:297
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "не удалось прочитать файл символьной ссылки %s"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "не удалось прочитать объект %s для символьной ссылки %s"
 
-#: builtin/difftool.c:406
+#: builtin/difftool.c:412
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
 msgstr "комбинированные форматы файлов списка изменений(«-c» и «--cc») не поддерживаются в режиме сравнения каталогов(«-d» и «--dir-diff»)."
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:633
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "оба файла изменены: «%s» и «%s»."
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:635
 msgid "working tree file has been left."
 msgstr "рабочий каталог был покинут."
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:646
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "временные файлы уже находятся в «%s»."
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:647
 msgid "you may want to cleanup or recover these."
 msgstr "возможно вы хотите их удалить или восстановить."
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:696
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "использовать «diff.guitool» вместо «diff.tool»"
 
-#: builtin/difftool.c:691
+#: builtin/difftool.c:698
 msgid "perform a full-directory diff"
 msgstr "выполнить пофайловое сравнение всего каталога"
 
-#: builtin/difftool.c:693
+#: builtin/difftool.c:700
 msgid "do not prompt before launching a diff tool"
 msgstr "не спрашивать перед запуском утилиты сравнения"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:705
 msgid "use symlinks in dir-diff mode"
 msgstr "использовать символьные ссылки в режиме сравнения каталога"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:706
 msgid "tool"
 msgstr ""
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:707
 msgid "use the specified diff tool"
 msgstr "использовать указанную утилиту сравнения"
 
-#: builtin/difftool.c:702
+#: builtin/difftool.c:709
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "вывести список утилит, которые можно использовать с параметром «--tool»"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:712
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit"
 " code"
 msgstr "выходить из «git-difftool», если вызванная утилита сравнения вернула не нулевой код возврата"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:715
 msgid "specify a custom command for viewing diffs"
 msgstr "использовать особую команду для просмотра изменений"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:716
 msgid "passed to `diff`"
 msgstr ""
 
-#: builtin/difftool.c:724
+#: builtin/difftool.c:731
 msgid "difftool requires worktree or --no-index"
 msgstr ""
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:738
 msgid "--dir-diff is incompatible with --no-index"
 msgstr ""
 
-#: builtin/difftool.c:734
+#: builtin/difftool.c:741
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr ""
 
-#: builtin/difftool.c:742
-msgid "no <tool> given for --tool=<tool>"
-msgstr "не передана <утилита> для --tool=<утилита>"
+#: builtin/difftool.c:749
+msgid "no <tool> given for --tool=<tool>"
+msgstr "не передана <утилита> для --tool=<утилита>"
+
+#: builtin/difftool.c:756
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "не передана <команда> для --extcmd=<команда>"
+
+#: builtin/env--helper.c:6
+msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
+msgstr ""
+
+#: builtin/env--helper.c:42 builtin/hash-object.c:98
+msgid "type"
+msgstr "тип"
+
+#: builtin/env--helper.c:46
+msgid "default for git_env_*(...) to fall back on"
+msgstr ""
+
+#: builtin/env--helper.c:48
+msgid "be quiet only use git_env_*() value as exit code"
+msgstr ""
+
+#: builtin/env--helper.c:67
+#, c-format
+msgid ""
+"option `--default' expects a boolean value with `--type=bool`, not `%s`"
+msgstr ""
 
-#: builtin/difftool.c:749
-msgid "no <cmd> given for --extcmd=<cmd>"
-msgstr "не передана <команда> для --extcmd=<команда>"
+#: builtin/env--helper.c:82
+#, c-format
+msgid ""
+"option `--default' expects an unsigned long value with `--type=ulong`, not "
+"`%s`"
+msgstr ""
 
 #: builtin/fast-export.c:29
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [опции-rev-list]"
 
-#: builtin/fast-export.c:1084
+#: builtin/fast-export.c:868
+msgid "Error: Cannot export nested tags unless --mark-tags is specified."
+msgstr ""
+
+#: builtin/fast-export.c:1177
+msgid "--anonymize-map token cannot be empty"
+msgstr ""
+
+#: builtin/fast-export.c:1197
 msgid "show progress after <n> objects"
 msgstr "показать прогресс после <n> объектов"
 
-#: builtin/fast-export.c:1086
+#: builtin/fast-export.c:1199
 msgid "select handling of signed tags"
 msgstr "выбор обработки подписанных меток"
 
-#: builtin/fast-export.c:1089
+#: builtin/fast-export.c:1202
 msgid "select handling of tags that tag filtered objects"
 msgstr "выбор обработки меток, которыми помечены отфильтрованные объекты"
 
-#: builtin/fast-export.c:1092
+#: builtin/fast-export.c:1205
+msgid "select handling of commit messages in an alternate encoding"
+msgstr ""
+
+#: builtin/fast-export.c:1208
 msgid "Dump marks to this file"
 msgstr "Записать пометки в этот файл"
 
-#: builtin/fast-export.c:1094
+#: builtin/fast-export.c:1210
 msgid "Import marks from this file"
 msgstr "Импортировать пометки из этого файла"
 
-#: builtin/fast-export.c:1096
+#: builtin/fast-export.c:1214
+msgid "Import marks from this file if it exists"
+msgstr ""
+
+#: builtin/fast-export.c:1216
 msgid "Fake a tagger when tags lack one"
 msgstr "Подделать автора метки, если у метки он отсутствует"
 
-#: builtin/fast-export.c:1098
+#: builtin/fast-export.c:1218
 msgid "Output full tree for each commit"
 msgstr "Вывести полное дерево для каждого коммита"
 
-#: builtin/fast-export.c:1100
+#: builtin/fast-export.c:1220
 msgid "Use the done feature to terminate the stream"
 msgstr "Использовать пометку завершения в конце потока"
 
-#: builtin/fast-export.c:1101
+#: builtin/fast-export.c:1221
 msgid "Skip output of blob data"
 msgstr "Пропустить вывод данных двоичных объектов"
 
-#: builtin/fast-export.c:1102 builtin/log.c:1609
+#: builtin/fast-export.c:1222 builtin/log.c:1816
 msgid "refspec"
 msgstr "спецификатор ссылки"
 
-#: builtin/fast-export.c:1103
+#: builtin/fast-export.c:1223
 msgid "Apply refspec to exported refs"
 msgstr "Применить спецификатор ссылки к экспортируемым ссылкам"
 
-#: builtin/fast-export.c:1104
+#: builtin/fast-export.c:1224
 msgid "anonymize output"
 msgstr "сделать вывод анонимным"
 
-#: builtin/fast-export.c:1106
+#: builtin/fast-export.c:1225
+msgid "from:to"
+msgstr ""
+
+#: builtin/fast-export.c:1226
+msgid "convert <from> to <to> in anonymized output"
+msgstr ""
+
+#: builtin/fast-export.c:1229
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 
-#: builtin/fast-export.c:1108
+#: builtin/fast-export.c:1231
 msgid "Show original object ids of blobs/commits"
 msgstr ""
 
-#: builtin/fetch.c:28
+#: builtin/fast-export.c:1233
+msgid "Label tags with mark ids"
+msgstr ""
+
+#: builtin/fast-export.c:1256
+msgid "--anonymize-map without --anonymize does not make sense"
+msgstr ""
+
+#: builtin/fast-export.c:1271
+msgid "Cannot pass both --import-marks and --import-marks-if-exists"
+msgstr ""
+
+#: builtin/fast-import.c:3088
+#, c-format
+msgid "Missing from marks for submodule '%s'"
+msgstr ""
+
+#: builtin/fast-import.c:3090
+#, c-format
+msgid "Missing to marks for submodule '%s'"
+msgstr ""
+
+#: builtin/fast-import.c:3225
+#, c-format
+msgid "Expected 'mark' command, got %s"
+msgstr ""
+
+#: builtin/fast-import.c:3230
+#, c-format
+msgid "Expected 'to' command, got %s"
+msgstr ""
+
+#: builtin/fast-import.c:3322
+msgid "Expected format name:filename for submodule rewrite option"
+msgstr ""
+
+#: builtin/fast-import.c:3377
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr ""
+
+#: builtin/fetch-pack.c:241
+#, c-format
+msgid "Lockfile created but not reported: %s"
+msgstr ""
+
+#: builtin/fetch.c:35
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<опции>] [<репозиторий> [<спецификатор-ссылки>…]]"
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:36
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<опции>] <группа>"
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:37
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<опции>] [(<репозиторий> | <группа>)…]"
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:38
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<опции>]"
 
-#: builtin/fetch.c:115 builtin/pull.c:202
+#: builtin/fetch.c:119
+msgid "fetch.parallel cannot be negative"
+msgstr ""
+
+#: builtin/fetch.c:142 builtin/pull.c:185
 msgid "fetch from all remotes"
 msgstr "извлечь со всех внешних репозиториев"
 
-#: builtin/fetch.c:117 builtin/pull.c:205
+#: builtin/fetch.c:144 builtin/pull.c:245
+msgid "set upstream for git pull/fetch"
+msgstr ""
+
+#: builtin/fetch.c:146 builtin/pull.c:188
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "дописать к .git/FETCH_HEAD вместо перезаписи"
 
-#: builtin/fetch.c:119 builtin/pull.c:208
+#: builtin/fetch.c:148 builtin/pull.c:191
 msgid "path to upload pack on remote end"
 msgstr "путь к программе упаковки пакета на машине с внешним репозиторием"
 
-#: builtin/fetch.c:120
+#: builtin/fetch.c:149
 msgid "force overwrite of local reference"
 msgstr ""
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:151
 msgid "fetch from multiple remotes"
 msgstr "извлечь с нескольких внешних репозиториев"
 
-#: builtin/fetch.c:124 builtin/pull.c:212
+#: builtin/fetch.c:153 builtin/pull.c:195
 msgid "fetch all tags and associated objects"
 msgstr "извлечь все метки и связанные объекты"
 
-#: builtin/fetch.c:126
+#: builtin/fetch.c:155
 msgid "do not fetch all tags (--no-tags)"
 msgstr "не извлекать все метки (--no-tags)"
 
-#: builtin/fetch.c:128
+#: builtin/fetch.c:157
 msgid "number of submodules fetched in parallel"
 msgstr "количество подмодулей, которые будут скачаны парралельно"
 
-#: builtin/fetch.c:130 builtin/pull.c:215
+#: builtin/fetch.c:159 builtin/pull.c:198
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "почистить отслеживаемые внешние ветки, которых уже нет на внешнем репозитории"
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:161
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 
-#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139
+#: builtin/fetch.c:162 builtin/fetch.c:187 builtin/pull.c:122
 msgid "on-demand"
 msgstr "по требованию"
 
-#: builtin/fetch.c:134
+#: builtin/fetch.c:163
 msgid "control recursive fetching of submodules"
 msgstr "управление рекурсивным извлечением подмодулей"
 
-#: builtin/fetch.c:138 builtin/pull.c:223
+#: builtin/fetch.c:168
+msgid "write fetched references to the FETCH_HEAD file"
+msgstr ""
+
+#: builtin/fetch.c:169 builtin/pull.c:206
 msgid "keep downloaded pack"
 msgstr "оставить загруженный пакет данных"
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:171
 msgid "allow updating of HEAD ref"
 msgstr "разрешить обновление ссылки HEAD"
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
+#: builtin/fetch.c:174 builtin/fetch.c:180 builtin/pull.c:209
+#: builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "улугубить историю частичного клона"
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:176 builtin/pull.c:212
 msgid "deepen history of shallow repository based on time"
 msgstr "углубить историю частичного клона основываясь на времени"
 
-#: builtin/fetch.c:151 builtin/pull.c:229
+#: builtin/fetch.c:182 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "преобразовать в полный репозиторий"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:185
 msgid "prepend this to submodule path output"
 msgstr "присоединять это спереди к выводу путей подмодуля"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:188
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "настроить по умолчанию рекурсивное извлечение подмодулей (более низкий приоритет, чем файлы конфигурации)"
 
-#: builtin/fetch.c:161 builtin/pull.c:232
+#: builtin/fetch.c:192 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "принимать ссылки, которые обновляют .git/shallow"
 
-#: builtin/fetch.c:162 builtin/pull.c:234
+#: builtin/fetch.c:193 builtin/pull.c:226
 msgid "refmap"
 msgstr "соответствие-ссылок"
 
-#: builtin/fetch.c:163 builtin/pull.c:235
+#: builtin/fetch.c:194 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "указать соответствие ссылок при извлечении"
 
-#: builtin/fetch.c:170
+#: builtin/fetch.c:201 builtin/pull.c:240
 msgid "report that we have only objects reachable from this object"
 msgstr ""
 
-#: builtin/fetch.c:469
+#: builtin/fetch.c:204 builtin/fetch.c:206
+msgid "run 'maintenance --auto' after fetching"
+msgstr ""
+
+#: builtin/fetch.c:208 builtin/pull.c:243
+msgid "check for forced-updates on all updated branches"
+msgstr ""
+
+#: builtin/fetch.c:210
+msgid "write the commit-graph after fetching"
+msgstr ""
+
+#: builtin/fetch.c:212
+msgid "accept refspecs from stdin"
+msgstr ""
+
+#: builtin/fetch.c:523
 msgid "Couldn't find remote ref HEAD"
 msgstr "Не удалось найти ссылку HEAD на внешнем репозитории"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:677
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "опция fetch.output содержит неправильное значение для %s"
 
-#: builtin/fetch.c:705
+#: builtin/fetch.c:775
 #, c-format
 msgid "object %s not found"
 msgstr "объект %s не найден"
 
-#: builtin/fetch.c:709
+#: builtin/fetch.c:779
 msgid "[up to date]"
 msgstr "[актуально]"
 
-#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801
+#: builtin/fetch.c:792 builtin/fetch.c:808 builtin/fetch.c:880
 msgid "[rejected]"
 msgstr "[отклонено]"
 
-#: builtin/fetch.c:723
+#: builtin/fetch.c:793
 msgid "can't fetch in current branch"
 msgstr "нельзя извлечь текущую ветку"
 
-#: builtin/fetch.c:733
+#: builtin/fetch.c:803
 msgid "[tag update]"
 msgstr "[обновление метки]"
 
-#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784
-#: builtin/fetch.c:796
+#: builtin/fetch.c:804 builtin/fetch.c:841 builtin/fetch.c:863
+#: builtin/fetch.c:875
 msgid "unable to update local ref"
 msgstr "не удалось обновить локальную ссылку"
 
-#: builtin/fetch.c:738
+#: builtin/fetch.c:808
 msgid "would clobber existing tag"
 msgstr ""
 
-#: builtin/fetch.c:760
+#: builtin/fetch.c:830
 msgid "[new tag]"
 msgstr "[новая метка]"
 
-#: builtin/fetch.c:763
+#: builtin/fetch.c:833
 msgid "[new branch]"
 msgstr "[новая ветка]"
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:836
 msgid "[new ref]"
 msgstr "[новая ссылка]"
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:875
 msgid "forced update"
 msgstr "принудительное обновление"
 
-#: builtin/fetch.c:801
+#: builtin/fetch.c:880
 msgid "non-fast-forward"
 msgstr "без перемотки вперед"
 
-#: builtin/fetch.c:847
+#: builtin/fetch.c:901
+msgid ""
+"Fetch normally indicates which branches had a forced update,\n"
+"but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
+"flag or run 'git config fetch.showForcedUpdates true'."
+msgstr ""
+
+#: builtin/fetch.c:905
+#, c-format
+msgid ""
+"It took %.2f seconds to check forced updates. You can use\n"
+"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates false'\n"
+" to avoid this check.\n"
+msgstr ""
+
+#: builtin/fetch.c:939
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s не отправил все необходимые объекты\n"
 
-#: builtin/fetch.c:868
+#: builtin/fetch.c:960
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "%s отклонено из-за того, что частичные корни не разрешено обновлять"
 
-#: builtin/fetch.c:959 builtin/fetch.c:1081
+#: builtin/fetch.c:1053 builtin/fetch.c:1191
 #, c-format
 msgid "From %.*s\n"
 msgstr "Из %.*s\n"
 
-#: builtin/fetch.c:970
+#: builtin/fetch.c:1064
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr "не удалось обновить некоторые локальные ссылки; попробуйте запустить «git remote prune %s», чтобы почистить старые, конфликтующие ветки"
 
-#: builtin/fetch.c:1051
+#: builtin/fetch.c:1161
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s будет висящей веткой)"
 
-#: builtin/fetch.c:1052
+#: builtin/fetch.c:1162
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s стала висящей веткой)"
 
-#: builtin/fetch.c:1084
+#: builtin/fetch.c:1194
 msgid "[deleted]"
 msgstr "[удалено]"
 
-#: builtin/fetch.c:1085 builtin/remote.c:1036
+#: builtin/fetch.c:1195 builtin/remote.c:1118
 msgid "(none)"
 msgstr "(нет)"
 
-#: builtin/fetch.c:1108
+#: builtin/fetch.c:1218
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Отказ получения в текущую ветку %s не голого репозитория"
 
-#: builtin/fetch.c:1127
+#: builtin/fetch.c:1237
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Неправильное значение «%2$s» для параметра «%1$s» для %3$s"
 
-#: builtin/fetch.c:1130
+#: builtin/fetch.c:1240
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Параметр «%s» игнорируется для %s\n"
 
-#: builtin/fetch.c:1434
+#: builtin/fetch.c:1448
+msgid "multiple branches detected, incompatible with --set-upstream"
+msgstr ""
+
+#: builtin/fetch.c:1463
+msgid "not setting upstream for a remote remote-tracking branch"
+msgstr ""
+
+#: builtin/fetch.c:1465
+msgid "not setting upstream for a remote tag"
+msgstr ""
+
+#: builtin/fetch.c:1467
+msgid "unknown branch type"
+msgstr ""
+
+#: builtin/fetch.c:1469
+msgid ""
+"no source branch found.\n"
+"you need to specify exactly one branch with the --set-upstream option."
+msgstr ""
+
+#: builtin/fetch.c:1598 builtin/fetch.c:1661
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Извлечение из %s\n"
 
-#: builtin/fetch.c:1436 builtin/remote.c:100
+#: builtin/fetch.c:1608 builtin/fetch.c:1663 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Не удалось извлечь %s"
 
-#: builtin/fetch.c:1482
-msgid ""
-"--filter can only be used with the remote configured in "
-"extensions.partialClone"
+#: builtin/fetch.c:1620
+#, c-format
+msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr ""
 
-#: builtin/fetch.c:1506
+#: builtin/fetch.c:1724
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr "Не указан внешний репозиторий. Укажите URL или имя внешнего репозитория из которого должны извлекаться новые редакции."
 
-#: builtin/fetch.c:1543
+#: builtin/fetch.c:1760
 msgid "You need to specify a tag name."
 msgstr "Вам нужно указать имя метки."
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1825
 msgid "Negative depth in --deepen is not supported"
 msgstr "Отрицательная грубина для --deepen не поддерживается"
 
-#: builtin/fetch.c:1596
+#: builtin/fetch.c:1827
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen и --depth нельзя использовать одновременно"
 
-#: builtin/fetch.c:1601
+#: builtin/fetch.c:1832
 msgid "--depth and --unshallow cannot be used together"
 msgstr "нельзя использовать одновременно --depth и --unshallow"
 
-#: builtin/fetch.c:1603
+#: builtin/fetch.c:1834
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow не имеет смысла на полном репозитории"
 
-#: builtin/fetch.c:1619
+#: builtin/fetch.c:1851
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all не принимает имя репозитория как аргумент"
 
-#: builtin/fetch.c:1621
+#: builtin/fetch.c:1853
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all не имеет смысла при указании спецификаторов ссылок"
 
-#: builtin/fetch.c:1630
+#: builtin/fetch.c:1862
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Нет такого внешнего репозитория или группы: %s"
 
-#: builtin/fetch.c:1637
+#: builtin/fetch.c:1869
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Получение группы и указание спецификаций ссылок не имеет смысла"
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1887
 msgid ""
 "--filter can only be used with the remote configured in "
 "extensions.partialclone"
 msgstr ""
 
-#: builtin/fmt-merge-msg.c:18
+#: builtin/fetch.c:1891
+msgid "--stdin can only be used when fetching from one remote"
+msgstr ""
+
+#: builtin/fmt-merge-msg.c:7
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr "git fmt-merge-msg [-m <сообщение>] [--log[=<n>] | --no-log] [--file <файл>]"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:18
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "отправить в журнал <n> записей из короткого журнала"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:21
 msgid "alias for --log (deprecated)"
 msgstr "сокращение для --log (устаревшее)"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:24
 msgid "text"
 msgstr "текст"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:25
 msgid "use <text> as start of message"
 msgstr "использовать <текст> как начальное сообщение"
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:26
 msgid "file to read from"
 msgstr "файл для чтения"
 
@@ -11827,8 +13802,8 @@ msgid "git for-each-ref [--points-at <object>]"
 msgstr "git for-each-ref [--points-at <объект>]"
 
 #: builtin/for-each-ref.c:12
-msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
-msgstr "git for-each-ref [(--merged | --no-merged) [<коммит>]]"
+msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
+msgstr ""
 
 #: builtin/for-each-ref.c:13
 msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
@@ -11854,7 +13829,7 @@ msgstr "выводить указатели места заполнения в 
 msgid "show only <n> matched refs"
 msgstr "показать только <n> совпадающих ссылок"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:433
+#: builtin/for-each-ref.c:39 builtin/tag.c:440
 msgid "respect format colors"
 msgstr "использовать цвета из формата"
 
@@ -11878,272 +13853,288 @@ msgstr "вывод только ссылок, которые содержат к
 msgid "print only refs which don't contain the commit"
 msgstr "вывод только ссылок, которые не содержат коммит"
 
-#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161
+#: builtin/for-each-repo.c:9
+msgid "git for-each-repo --config=<config> <command-args>"
+msgstr ""
+
+#: builtin/for-each-repo.c:37
+msgid "config"
+msgstr ""
+
+#: builtin/for-each-repo.c:38
+msgid "config key storing a list of repository paths"
+msgstr ""
+
+#: builtin/for-each-repo.c:46
+msgid "missing --config=<config>"
+msgstr ""
+
+#: builtin/fsck.c:69 builtin/fsck.c:148 builtin/fsck.c:149
 msgid "unknown"
 msgstr ""
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:120 builtin/fsck.c:136
+#: builtin/fsck.c:101 builtin/fsck.c:121
 #, c-format
 msgid "error in %s %s: %s"
 msgstr ""
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:131
+#: builtin/fsck.c:115
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr ""
 
-#: builtin/fsck.c:157 builtin/fsck.c:159
+#: builtin/fsck.c:144 builtin/fsck.c:147
 #, c-format
 msgid "broken link from %7s %s"
 msgstr ""
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:156
 msgid "wrong object type in link"
 msgstr ""
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:172
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
 "              to %7s %s"
 msgstr ""
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:283
 #, c-format
 msgid "missing %s %s"
 msgstr ""
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:310
 #, c-format
 msgid "unreachable %s %s"
 msgstr ""
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:330
 #, c-format
 msgid "dangling %s %s"
 msgstr ""
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:340
 msgid "could not create lost-found"
 msgstr ""
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:351
 #, c-format
 msgid "could not finish '%s'"
 msgstr "не удалось закончить '%s'"
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:368
 #, c-format
 msgid "Checking %s"
 msgstr ""
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:406
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr ""
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:425
 #, c-format
 msgid "Checking %s %s"
 msgstr ""
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:430
 msgid "broken links"
 msgstr ""
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:439
 #, c-format
 msgid "root %s"
 msgstr ""
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:447
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr ""
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:476
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr ""
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:501
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr ""
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:515
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr ""
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:549
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr ""
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:556
 #, c-format
 msgid "%s: not a commit"
 msgstr ""
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:610
 msgid "notice: No default references"
 msgstr ""
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:625
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr ""
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:638
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr ""
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:658
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr ""
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:673
 msgid "Checking object directory"
 msgstr ""
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:676
 msgid "Checking object directories"
 msgstr "Проверка каталогов объектов"
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:691
 #, c-format
 msgid "Checking %s link"
 msgstr ""
 
-#: builtin/fsck.c:705 builtin/index-pack.c:841
+#: builtin/fsck.c:696 builtin/index-pack.c:865
 #, c-format
 msgid "invalid %s"
 msgstr "неправильный %s"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:703
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr ""
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:709
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr ""
 
-#: builtin/fsck.c:722
+#: builtin/fsck.c:713
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr ""
 
-#: builtin/fsck.c:734
+#: builtin/fsck.c:725
 msgid "Checking cache tree"
 msgstr ""
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:730
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr ""
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:739
 msgid "non-tree in cache-tree"
 msgstr ""
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:770
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<опции>] [<объект>…]"
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:776
 msgid "show unreachable objects"
 msgstr "показать недоступные объекты"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:777
 msgid "show dangling objects"
 msgstr "показать объекты, на которые нет ссылок"
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:778
 msgid "report tags"
 msgstr "вывести отчет по меткам"
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:779
 msgid "report root nodes"
 msgstr "вывести отчет по корневым узлам"
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:780
 msgid "make index objects head nodes"
 msgstr "воспринимать объекты в индексе как корневые узлы"
 
-#: builtin/fsck.c:792
+#: builtin/fsck.c:781
 msgid "make reflogs head nodes (default)"
 msgstr "создать корневые узлы журналов ссылок (по умолчанию)"
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:782
 msgid "also consider packs and alternate objects"
 msgstr "также проверять пакеты и альтернативные объекты"
 
-#: builtin/fsck.c:794
+#: builtin/fsck.c:783
 msgid "check only connectivity"
 msgstr "только проверить соединение"
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:784
 msgid "enable more strict checking"
 msgstr "использовать более строгую проверку"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:786
 msgid "write dangling objects in .git/lost-found"
 msgstr "записать объекты на которые нет ссылок в .git/lost-found"
 
-#: builtin/fsck.c:798 builtin/prune.c:132
+#: builtin/fsck.c:787 builtin/prune.c:134
 msgid "show progress"
 msgstr "показать прогресс выполнения"
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:788
 msgid "show verbose names for reachable objects"
 msgstr "показать подробные имена для недоступных объектов"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:224
+#: builtin/fsck.c:847 builtin/index-pack.c:261
 msgid "Checking objects"
 msgstr "Проверка объектов"
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:875
 #, c-format
 msgid "%s: object missing"
 msgstr ""
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:886
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr ""
 
-#: builtin/gc.c:34
+#: builtin/gc.c:39
 msgid "git gc [<options>]"
 msgstr "git gc [<опции>]"
 
-#: builtin/gc.c:90
+#: builtin/gc.c:94
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "Не удалось выполнить fstat %s: %s"
 
-#: builtin/gc.c:126
+#: builtin/gc.c:130
 #, c-format
 msgid "failed to parse '%s' value '%s'"
 msgstr ""
 
-#: builtin/gc.c:476 builtin/init-db.c:55
+#: builtin/gc.c:479 builtin/init-db.c:58
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "не удалось выполнить stat для «%s»"
 
-#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
+#: builtin/gc.c:488 builtin/notes.c:240 builtin/tag.c:530
 #, c-format
 msgid "cannot read '%s'"
 msgstr "не удалось прочитать «%s»"
 
-#: builtin/gc.c:492
+#: builtin/gc.c:495
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -12153,64 +14144,196 @@ msgid ""
 "%s"
 msgstr "Последний запуск gc сообщил следующее. Пожалуйста, исправьте ошибку и удалите %s.\nАвтоматическая очистка репозитория не будет производиться, пока этот файл не удалён.\n\n%s"
 
-#: builtin/gc.c:540
+#: builtin/gc.c:543
 msgid "prune unreferenced objects"
 msgstr "почистить объекты, на которые нет ссылок"
 
-#: builtin/gc.c:542
+#: builtin/gc.c:545
 msgid "be more thorough (increased runtime)"
 msgstr "проверять более внимательно (занимает больше времени)"
 
-#: builtin/gc.c:543
+#: builtin/gc.c:546
 msgid "enable auto-gc mode"
 msgstr "включить режим auto-gc"
 
-#: builtin/gc.c:546
+#: builtin/gc.c:549
 msgid "force running gc even if there may be another gc running"
 msgstr "принудительно запустить gc, даже есть другая копия gc уже запущена"
 
-#: builtin/gc.c:549
+#: builtin/gc.c:552
 msgid "repack all other packs except the largest pack"
 msgstr ""
 
-#: builtin/gc.c:566
+#: builtin/gc.c:569
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr ""
 
-#: builtin/gc.c:577
+#: builtin/gc.c:580
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr ""
 
-#: builtin/gc.c:597
+#: builtin/gc.c:600
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "Автоматическая упаковка репозитория в фоне, для оптимальной производительности.\n"
 
-#: builtin/gc.c:599
+#: builtin/gc.c:602
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Автоматическая упаковка репозитория, для оптимальной производительности.\n"
 
-#: builtin/gc.c:600
+#: builtin/gc.c:603
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Смотрите «git help gc» руководства по ручной очистке.\n"
 
-#: builtin/gc.c:640
+#: builtin/gc.c:643
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr "gc уже запущен на этом компьютере «%s» pid %<PRIuMAX> (если нет, используйте --force)"
 
-#: builtin/gc.c:693
+#: builtin/gc.c:698
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove "
 "them."
 msgstr "Имеется слишком много объектов, на которые нет ссылок; запустите «git prune» для их удаления."
 
-#: builtin/grep.c:29
+#: builtin/gc.c:708
+msgid ""
+"git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]"
+msgstr ""
+
+#: builtin/gc.c:738
+msgid "--no-schedule is not allowed"
+msgstr ""
+
+#: builtin/gc.c:743
+#, c-format
+msgid "unrecognized --schedule argument '%s'"
+msgstr ""
+
+#: builtin/gc.c:862
+msgid "failed to write commit-graph"
+msgstr ""
+
+#: builtin/gc.c:901
+msgid "failed to fill remotes"
+msgstr ""
+
+#: builtin/gc.c:1024
+msgid "failed to start 'git pack-objects' process"
+msgstr ""
+
+#: builtin/gc.c:1041
+msgid "failed to finish 'git pack-objects' process"
+msgstr ""
+
+#: builtin/gc.c:1093
+msgid "failed to write multi-pack-index"
+msgstr ""
+
+#: builtin/gc.c:1111
+msgid "'git multi-pack-index expire' failed"
+msgstr ""
+
+#: builtin/gc.c:1172
+msgid "'git multi-pack-index repack' failed"
+msgstr ""
+
+#: builtin/gc.c:1181
+msgid ""
+"skipping incremental-repack task because core.multiPackIndex is disabled"
+msgstr ""
+
+#: builtin/gc.c:1279
+#, c-format
+msgid "lock file '%s' exists, skipping maintenance"
+msgstr ""
+
+#: builtin/gc.c:1309
+#, c-format
+msgid "task '%s' failed"
+msgstr ""
+
+#: builtin/gc.c:1389
+#, c-format
+msgid "'%s' is not a valid task"
+msgstr ""
+
+#: builtin/gc.c:1394
+#, c-format
+msgid "task '%s' cannot be selected multiple times"
+msgstr ""
+
+#: builtin/gc.c:1409
+msgid "run tasks based on the state of the repository"
+msgstr ""
+
+#: builtin/gc.c:1410
+msgid "frequency"
+msgstr ""
+
+#: builtin/gc.c:1411
+msgid "run tasks based on frequency"
+msgstr ""
+
+#: builtin/gc.c:1414
+msgid "do not report progress or other information over stderr"
+msgstr ""
+
+#: builtin/gc.c:1415
+msgid "task"
+msgstr ""
+
+#: builtin/gc.c:1416
+msgid "run a specific task"
+msgstr ""
+
+#: builtin/gc.c:1433
+msgid "use at most one of --auto and --schedule=<frequency>"
+msgstr ""
+
+#: builtin/gc.c:1467
+msgid "failed to run 'git config'"
+msgstr ""
+
+#: builtin/gc.c:1512
+msgid "another process is scheduling background maintenance"
+msgstr ""
+
+#: builtin/gc.c:1525
+msgid "failed to run 'crontab -l'; your system might not support 'cron'"
+msgstr ""
+
+#: builtin/gc.c:1544
+msgid "failed to run 'crontab'; your system might not support 'cron'"
+msgstr ""
+
+#: builtin/gc.c:1550
+msgid "failed to open stdin of 'crontab'"
+msgstr ""
+
+#: builtin/gc.c:1592
+msgid "'crontab' died"
+msgstr ""
+
+#: builtin/gc.c:1605
+msgid "failed to add repo to global config"
+msgstr ""
+
+#: builtin/gc.c:1615
+msgid "git maintenance <subcommand> [<options>]"
+msgstr ""
+
+#: builtin/gc.c:1634
+#, c-format
+msgid "invalid subcommand: %s"
+msgstr ""
+
+#: builtin/grep.c:30
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<опции>] [-e] <шаблон> [<редакция>…] [[--] <путь>…]"
 
@@ -12227,258 +14350,258 @@ msgstr "указано недопустимое количество поток
 #. TRANSLATORS: %s is the configuration
 #. variable for tweaking threads, currently
 #. grep.threads
-#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
-#: builtin/pack-objects.c:2720
+#: builtin/grep.c:287 builtin/index-pack.c:1576 builtin/index-pack.c:1766
+#: builtin/pack-objects.c:2936
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "нет поддержки потоков, игнорирование %s"
 
-#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631
+#: builtin/grep.c:475 builtin/grep.c:600 builtin/grep.c:640
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "не удалось прочитать дерево (%s)"
 
-#: builtin/grep.c:646
+#: builtin/grep.c:655
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "не удалось выполнить grep из объекта типа %s"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:736
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "параметр «%c» ожидает числовое значение"
 
-#: builtin/grep.c:811
+#: builtin/grep.c:835
 msgid "search in index instead of in the work tree"
 msgstr "искать в индексе, а не в рабочем каталоге"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:837
 msgid "find in contents not managed by git"
 msgstr "искать в содержимом не управляемым git"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:839
 msgid "search in both tracked and untracked files"
 msgstr "искать и в отслеживаемых, и в неотслеживаемых файлах"
 
-#: builtin/grep.c:817
+#: builtin/grep.c:841
 msgid "ignore files specified via '.gitignore'"
 msgstr "игнорировать файлы указанные в «.gitignore»"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:843
 msgid "recursively search in each submodule"
 msgstr "рекурсивный поиск по всем подмодулям"
 
-#: builtin/grep.c:822
+#: builtin/grep.c:846
 msgid "show non-matching lines"
 msgstr "искать в несовпадающих строках"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:848
 msgid "case insensitive matching"
 msgstr "без учета регистра"
 
-#: builtin/grep.c:826
+#: builtin/grep.c:850
 msgid "match patterns only at word boundaries"
 msgstr "искать совпадения шаблона только на границах слов"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:852
 msgid "process binary files as text"
 msgstr "обработка двоичных файлов как текста"
 
-#: builtin/grep.c:830
+#: builtin/grep.c:854
 msgid "don't match patterns in binary files"
 msgstr "не искать совпадения шаблона в двоичных файлах"
 
-#: builtin/grep.c:833
+#: builtin/grep.c:857
 msgid "process binary files with textconv filters"
 msgstr "обрабатываться двоичные файлы с помощью фильтров textconv"
 
-#: builtin/grep.c:835
+#: builtin/grep.c:859
 msgid "search in subdirectories (default)"
 msgstr ""
 
-#: builtin/grep.c:837
+#: builtin/grep.c:861
 msgid "descend at most <depth> levels"
 msgstr "на глубине максиму <глубина> уровней"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:865
 msgid "use extended POSIX regular expressions"
 msgstr "использовать расширенные регулярные выражения POSIX"
 
-#: builtin/grep.c:844
+#: builtin/grep.c:868
 msgid "use basic POSIX regular expressions (default)"
 msgstr "использовать базовые регулярные выражения POSIX (по умолчанию)"
 
-#: builtin/grep.c:847
+#: builtin/grep.c:871
 msgid "interpret patterns as fixed strings"
 msgstr "интерпретировать шаблоны как фиксированные строки"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:874
 msgid "use Perl-compatible regular expressions"
 msgstr "использовать Perl-совместимые регулярные выражения"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:877
 msgid "show line numbers"
 msgstr "вывести номера строк"
 
-#: builtin/grep.c:854
+#: builtin/grep.c:878
 msgid "show column number of first match"
 msgstr ""
 
-#: builtin/grep.c:855
+#: builtin/grep.c:879
 msgid "don't show filenames"
 msgstr "не выводить имена файлов"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:880
 msgid "show filenames"
 msgstr "выводить имена файлов"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:882
 msgid "show filenames relative to top directory"
 msgstr "выводить имена файлов относительно каталога репозитория"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:884
 msgid "show only filenames instead of matching lines"
 msgstr "выводить только имена файлов, а не совпадающие строки"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:886
 msgid "synonym for --files-with-matches"
 msgstr "синоним для --files-with-matches"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:889
 msgid "show only the names of files without match"
 msgstr "выводить только несовпадающие имена файлов"
 
-#: builtin/grep.c:867
+#: builtin/grep.c:891
 msgid "print NUL after filenames"
 msgstr "выводить двоичный НОЛЬ после списка имен файлов"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:894
 msgid "show only matching parts of a line"
 msgstr ""
 
-#: builtin/grep.c:872
+#: builtin/grep.c:896
 msgid "show the number of matches instead of matching lines"
 msgstr "выводить количество совпадений, а не совпадающие строки"
 
-#: builtin/grep.c:873
+#: builtin/grep.c:897
 msgid "highlight matches"
 msgstr "подсвечивать совпадения"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:899
 msgid "print empty line between matches from different files"
 msgstr "выводить пустую строку после совпадений из разных файлов"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:901
 msgid "show filename only once above matches from same file"
 msgstr "выводить имя файла только раз на несколько совпадений в одном файле"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:904
 msgid "show <n> context lines before and after matches"
 msgstr "показать <n> строк контекста перед и после совпадения"
 
-#: builtin/grep.c:883
+#: builtin/grep.c:907
 msgid "show <n> context lines before matches"
 msgstr "показать <n> строк контекста перед совпадением"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:909
 msgid "show <n> context lines after matches"
 msgstr "показать <n> строк контекста после совпадения"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:911
 msgid "use <n> worker threads"
 msgstr "использовать <кол> рабочих потоков"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:912
 msgid "shortcut for -C NUM"
 msgstr "тоже, что и -C КОЛИЧЕСТВО"
 
-#: builtin/grep.c:891
+#: builtin/grep.c:915
 msgid "show a line with the function name before matches"
 msgstr "показать строку с именем функции перед совпадением"
 
-#: builtin/grep.c:893
+#: builtin/grep.c:917
 msgid "show the surrounding function"
 msgstr "показать окружающую функцию"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:920
 msgid "read patterns from file"
 msgstr "прочитать шаблоны из файла"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:922
 msgid "match <pattern>"
 msgstr "поиск соответствий с <шаблоном>"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:924
 msgid "combine patterns specified with -e"
 msgstr "объединить шаблоны указанные с помощью -e"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:936
 msgid "indicate hit with exit status without output"
 msgstr "ничего не выводить, указать на совпадение с помощью кода выхода"
 
-#: builtin/grep.c:914
+#: builtin/grep.c:938
 msgid "show only matches from files that match all patterns"
 msgstr "показать только совпадения из файлов в которых совпадают все шаблоны"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:940
 msgid "show parse tree for grep expression"
 msgstr "показать дерево разбора для выражения поиска"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:944
 msgid "pager"
 msgstr "пейджер"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:944
 msgid "show matching files in the pager"
 msgstr "показать совпадающие файлы с помощью программы-пейджера"
 
-#: builtin/grep.c:924
+#: builtin/grep.c:948
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "разрешить вызов grep(1) (игнорируется в этой сборке)"
 
-#: builtin/grep.c:988
+#: builtin/grep.c:1014
 msgid "no pattern given"
 msgstr ""
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1050
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index или --untracked нельзя использовать одновременно с указанием ревизии"
 
-#: builtin/grep.c:1032
+#: builtin/grep.c:1058
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "не удалось определить редакцию: %s"
 
-#: builtin/grep.c:1063
+#: builtin/grep.c:1088
+msgid "--untracked not supported with --recurse-submodules"
+msgstr ""
+
+#: builtin/grep.c:1092
 msgid "invalid option combination, ignoring --threads"
 msgstr ""
 
-#: builtin/grep.c:1066 builtin/pack-objects.c:3403
+#: builtin/grep.c:1095 builtin/pack-objects.c:3655
 msgid "no threads support, ignoring --threads"
 msgstr "нет поддержки потоков, игнорирование --threads"
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
+#: builtin/grep.c:1098 builtin/index-pack.c:1573 builtin/pack-objects.c:2933
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "указано неправильное количество потоков (%d)"
 
-#: builtin/grep.c:1092
+#: builtin/grep.c:1132
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager работает только в рабочем каталоге"
 
-#: builtin/grep.c:1115
-msgid "option not supported with --recurse-submodules"
-msgstr ""
-
-#: builtin/grep.c:1121
+#: builtin/grep.c:1158
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr ""
 
-#: builtin/grep.c:1127
+#: builtin/grep.c:1164
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr ""
 
-#: builtin/grep.c:1135
+#: builtin/grep.c:1172
 msgid "both --cached and trees are given"
 msgstr ""
 
@@ -12492,10 +14615,6 @@ msgstr "git hash-object [-t <тип>] [-w] [--path=<файл> | --no-filters] [-
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:98
-msgid "type"
-msgstr "тип"
-
 #: builtin/hash-object.c:98
 msgid "object type"
 msgstr "тип объекта"
@@ -12515,133 +14634,133 @@ msgstr "сохранить файл без использования фильт
 #: builtin/hash-object.c:104
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
-msgstr "хешировать любой мусор и создавать поврежденные объекты для отладки Git"
+msgstr "хэшировать любой мусор и создавать поврежденные объекты для отладки Git"
 
 #: builtin/hash-object.c:105
 msgid "process file as it were from this path"
 msgstr "обработать файл так, будто он находится по указанному пути"
 
-#: builtin/help.c:46
+#: builtin/help.c:47
 msgid "print all available commands"
 msgstr "вывести список всех доступных команд"
 
-#: builtin/help.c:47
+#: builtin/help.c:48
 msgid "exclude guides"
 msgstr "исключить руководства"
 
-#: builtin/help.c:48
+#: builtin/help.c:49
 msgid "print list of useful guides"
 msgstr "вывести список полезных руководств"
 
-#: builtin/help.c:49
+#: builtin/help.c:50
 msgid "print all configuration variable names"
 msgstr ""
 
-#: builtin/help.c:51
+#: builtin/help.c:52
 msgid "show man page"
 msgstr "открыть руководство в формате man"
 
-#: builtin/help.c:52
+#: builtin/help.c:53
 msgid "show manual in web browser"
 msgstr "открыть руководство в веб-браузере"
 
-#: builtin/help.c:54
+#: builtin/help.c:55
 msgid "show info page"
 msgstr "открыть руководство в формате info"
 
-#: builtin/help.c:56
+#: builtin/help.c:57
 msgid "print command description"
 msgstr ""
 
-#: builtin/help.c:61
+#: builtin/help.c:62
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<команда>]"
 
-#: builtin/help.c:77
+#: builtin/help.c:163
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "неопознанный формат руководства «%s»"
 
-#: builtin/help.c:104
+#: builtin/help.c:190
 msgid "Failed to start emacsclient."
 msgstr "Сбой при запуске emacsclient."
 
-#: builtin/help.c:117
+#: builtin/help.c:203
 msgid "Failed to parse emacsclient version."
 msgstr "Сбой при определении версии emacsclient."
 
-#: builtin/help.c:125
+#: builtin/help.c:211
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "версия emacsclient «%d» слишком старая (< 22)."
 
-#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183
+#: builtin/help.c:229 builtin/help.c:251 builtin/help.c:261 builtin/help.c:269
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "сбой при запуске «%s»"
 
-#: builtin/help.c:221
+#: builtin/help.c:307
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 "Please consider using 'man.<tool>.cmd' instead."
 msgstr "«%s»: путь для неподдерживаемой программы просмотра man.\nВместо этого используйте «man.<программа>.cmd»."
 
-#: builtin/help.c:233
+#: builtin/help.c:319
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 "Please consider using 'man.<tool>.path' instead."
 msgstr "«%s»: команда для неподдерживаемой программы просмотра man.\nВместо этого используйте «man.<программа>.path»."
 
-#: builtin/help.c:350
+#: builtin/help.c:436
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "«%s»: неизвестная программа просмотра man."
 
-#: builtin/help.c:367
+#: builtin/help.c:453
 msgid "no man viewer handled the request"
 msgstr "программа просмотра man не обработала запрос"
 
-#: builtin/help.c:375
+#: builtin/help.c:461
 msgid "no info viewer handled the request"
 msgstr "программа просмотра info не обработала запрос"
 
-#: builtin/help.c:434 builtin/help.c:445 git.c:335
+#: builtin/help.c:520 builtin/help.c:531 git.c:337
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "«%s» — это сокращение для «%s»"
 
-#: builtin/help.c:448 git.c:364
+#: builtin/help.c:534 git.c:369
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr ""
 
-#: builtin/help.c:477 builtin/help.c:507
+#: builtin/help.c:563 builtin/help.c:593
 #, c-format
 msgid "usage: %s%s"
 msgstr "использование: %s%s"
 
-#: builtin/help.c:491
+#: builtin/help.c:577
 msgid "'git help config' for more information"
 msgstr ""
 
-#: builtin/index-pack.c:184
+#: builtin/index-pack.c:221
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "несоответствие типа объекта на %s"
 
-#: builtin/index-pack.c:204
+#: builtin/index-pack.c:241
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "ожидаемый объект не получен на %s"
 
-#: builtin/index-pack.c:207
+#: builtin/index-pack.c:244
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "объект %s: ожидаемый тип %s, получен %s"
 
-#: builtin/index-pack.c:257
+#: builtin/index-pack.c:294
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
@@ -12650,73 +14769,73 @@ msgstr[1] "не удалось заполнить %d байта"
 msgstr[2] "не удалось заполнить %d байтов"
 msgstr[3] "не удалось заполнить %d байтов"
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:304
 msgid "early EOF"
 msgstr "неожиданный конец файла"
 
-#: builtin/index-pack.c:268
+#: builtin/index-pack.c:305
 msgid "read error on input"
 msgstr "ошибка чтения ввода"
 
-#: builtin/index-pack.c:280
+#: builtin/index-pack.c:317
 msgid "used more bytes than were available"
 msgstr "использовано больше байт, чем было доступно"
 
-#: builtin/index-pack.c:287 builtin/pack-objects.c:600
+#: builtin/index-pack.c:324 builtin/pack-objects.c:619
 msgid "pack too large for current definition of off_t"
 msgstr "пакет слишком большой для текущего определения off_t"
 
-#: builtin/index-pack.c:290 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "размер пакета превышает максимальный допустимый"
 
-#: builtin/index-pack.c:305 builtin/repack.c:250
+#: builtin/index-pack.c:342 builtin/repack.c:286
 #, c-format
 msgid "unable to create '%s'"
 msgstr "не удалось создать «%s»"
 
-#: builtin/index-pack.c:311
+#: builtin/index-pack.c:348
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "не удалось открыть файл пакета «%s»"
 
-#: builtin/index-pack.c:325
+#: builtin/index-pack.c:362
 msgid "pack signature mismatch"
 msgstr "несоответствие подписи пакета"
 
-#: builtin/index-pack.c:327
+#: builtin/index-pack.c:364
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "версия пакета %<PRIu32> не поддерживается"
 
-#: builtin/index-pack.c:345
+#: builtin/index-pack.c:382
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "пакет содержит плохой объект по смещению %<PRIuMAX>: %s"
 
-#: builtin/index-pack.c:465
+#: builtin/index-pack.c:488
 #, c-format
 msgid "inflate returned %d"
 msgstr "программа сжатия вернула %d"
 
-#: builtin/index-pack.c:514
+#: builtin/index-pack.c:537
 msgid "offset value overflow for delta base object"
 msgstr "переполнение значения смещения у базового объекта дельты"
 
-#: builtin/index-pack.c:522
+#: builtin/index-pack.c:545
 msgid "delta base offset is out of bound"
 msgstr "смещение базовой дельты вышло за допустимые пределы"
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:553
 #, c-format
 msgid "unknown object type %d"
 msgstr "неизвестный тип объекта %d"
 
-#: builtin/index-pack.c:561
+#: builtin/index-pack.c:584
 msgid "cannot pread pack file"
 msgstr "не удалось выполнить pread для файла пакета"
 
-#: builtin/index-pack.c:563
+#: builtin/index-pack.c:586
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
@@ -12725,88 +14844,88 @@ msgstr[1] "преждевременное окончание файла паке
 msgstr[2] "преждевременное окончание файла пакета, %<PRIuMAX> байтов отсутствует"
 msgstr[3] "преждевременное окончание файла пакета, %<PRIuMAX> байтов отсутствует"
 
-#: builtin/index-pack.c:589
+#: builtin/index-pack.c:612
 msgid "serious inflate inconsistency"
 msgstr "серьезное несоответствие при распаковке"
 
-#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
-#: builtin/index-pack.c:802 builtin/index-pack.c:811
+#: builtin/index-pack.c:757 builtin/index-pack.c:763 builtin/index-pack.c:787
+#: builtin/index-pack.c:826 builtin/index-pack.c:835
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "НАЙДЕНА КОЛЛИЗИЯ SHA1 С %s !"
 
-#: builtin/index-pack.c:737 builtin/pack-objects.c:153
-#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
+#: builtin/index-pack.c:760 builtin/pack-objects.c:171
+#: builtin/pack-objects.c:231 builtin/pack-objects.c:326
 #, c-format
 msgid "unable to read %s"
 msgstr "не удалось прочитать %s"
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:824
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "не удалось прочитать информацию существующего объекта %s"
 
-#: builtin/index-pack.c:808
+#: builtin/index-pack.c:832
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "не удалось прочитать существующий объект %s"
 
-#: builtin/index-pack.c:822
+#: builtin/index-pack.c:846
 #, c-format
 msgid "invalid blob object %s"
 msgstr "неправильный файл двоичного объекта %s"
 
-#: builtin/index-pack.c:825 builtin/index-pack.c:844
+#: builtin/index-pack.c:849 builtin/index-pack.c:868
 msgid "fsck error in packed object"
 msgstr ""
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:870
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Не все дочерние объекты %s достижимы"
 
-#: builtin/index-pack.c:918 builtin/index-pack.c:949
+#: builtin/index-pack.c:931 builtin/index-pack.c:978
 msgid "failed to apply delta"
 msgstr "сбой при применении дельты"
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1161
 msgid "Receiving objects"
 msgstr "Получение объектов"
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1161
 msgid "Indexing objects"
 msgstr "Индексирование объектов"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1195
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "пакет поврежден (несоответствие SHA1)"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1200
 msgid "cannot fstat packfile"
 msgstr "не удалось выполнить fstat для файла пакета"
 
-#: builtin/index-pack.c:1159
+#: builtin/index-pack.c:1203
 msgid "pack has junk at the end"
 msgstr "файл пакета содержит мусор в конце"
 
-#: builtin/index-pack.c:1171
+#: builtin/index-pack.c:1215
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "безумная путаница в parse_pack_objects()"
 
-#: builtin/index-pack.c:1194
+#: builtin/index-pack.c:1238
 msgid "Resolving deltas"
 msgstr "Определение изменений"
 
-#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
+#: builtin/index-pack.c:1249 builtin/pack-objects.c:2697
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "не удалось создать поток: %s"
 
-#: builtin/index-pack.c:1245
+#: builtin/index-pack.c:1282
 msgid "confusion beyond insanity"
 msgstr "безумная путаница"
 
-#: builtin/index-pack.c:1251
+#: builtin/index-pack.c:1288
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
@@ -12815,12 +14934,12 @@ msgstr[1] "завершено с %d локальными объектами"
 msgstr[2] "завершено с %d локальными объектами"
 msgstr[3] "завершено с %d локальными объектами"
 
-#: builtin/index-pack.c:1263
+#: builtin/index-pack.c:1300
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Неожиданная контрольная сумма в конце %s (диск поврежден?)"
 
-#: builtin/index-pack.c:1267
+#: builtin/index-pack.c:1304
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
@@ -12829,59 +14948,59 @@ msgstr[1] "пакет содержит %d неразрешенные дельт
 msgstr[2] "пакет содержит %d неразрешенных дельт"
 msgstr[3] "пакет содержит %d неразрешенных дельт"
 
-#: builtin/index-pack.c:1291
+#: builtin/index-pack.c:1328
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "нельзя сжать присоединенный объект (%d)"
 
-#: builtin/index-pack.c:1368
+#: builtin/index-pack.c:1424
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "локальный объект %s поврежден"
 
-#: builtin/index-pack.c:1382
+#: builtin/index-pack.c:1444
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "имя пакета «%s» не оканчивается на «.pack»"
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1469
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1415
+#: builtin/index-pack.c:1477
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr ""
 
-#: builtin/index-pack.c:1439
+#: builtin/index-pack.c:1501
 msgid "error while closing pack file"
 msgstr "ошибка при закрытии файла пакета"
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1515
 msgid "cannot store pack file"
 msgstr "не удалось сохранить файл пакета"
 
-#: builtin/index-pack.c:1461
+#: builtin/index-pack.c:1523
 msgid "cannot store index file"
 msgstr "не удалось сохранить файл индекса"
 
-#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
+#: builtin/index-pack.c:1567 builtin/pack-objects.c:2944
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "плохой pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1573
+#: builtin/index-pack.c:1631
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Не удалось открыть существующий файл пакета «%s»"
 
-#: builtin/index-pack.c:1575
+#: builtin/index-pack.c:1633
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Не удалось открыть существующий файл индекса для «%s»"
 
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1681
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
@@ -12890,7 +15009,7 @@ msgstr[1] "не дельты: %d объекта"
 msgstr[2] "не дельты: %d объектов"
 msgstr[3] "не дельты: %d объектов"
 
-#: builtin/index-pack.c:1630
+#: builtin/index-pack.c:1688
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
@@ -12899,698 +15018,761 @@ msgstr[1] "длина цепочки = %d: %lu объекта"
 msgstr[2] "длина цепочки = %d: %lu объектов"
 msgstr[3] "длина цепочки = %d: %lu объектов"
 
-#: builtin/index-pack.c:1667
+#: builtin/index-pack.c:1728
 msgid "Cannot come back to cwd"
 msgstr "Не удалось вернуться в текущий рабочий каталог"
 
-#: builtin/index-pack.c:1716 builtin/index-pack.c:1719
-#: builtin/index-pack.c:1735 builtin/index-pack.c:1739
+#: builtin/index-pack.c:1777 builtin/index-pack.c:1780
+#: builtin/index-pack.c:1796 builtin/index-pack.c:1800
 #, c-format
 msgid "bad %s"
 msgstr "плохой %s"
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1806 builtin/init-db.c:392 builtin/init-db.c:625
+#, c-format
+msgid "unknown hash algorithm '%s'"
+msgstr ""
+
+#: builtin/index-pack.c:1821
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin нельзя использовать без --stdin"
 
-#: builtin/index-pack.c:1757
+#: builtin/index-pack.c:1823
 msgid "--stdin requires a git repository"
 msgstr "опция --stdin требует наличия репозитория git"
 
-#: builtin/index-pack.c:1763
+#: builtin/index-pack.c:1825
+msgid "--object-format cannot be used with --stdin"
+msgstr ""
+
+#: builtin/index-pack.c:1831
 msgid "--verify with no packfile name given"
 msgstr "--verify без указания имени файла пакета"
 
-#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1892 builtin/unpack-objects.c:582
 msgid "fsck error in pack objects"
-msgstr ""
+msgstr "ошибка fsck в упакованных объектах"
 
-#: builtin/init-db.c:61
+#: builtin/init-db.c:64
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "не удалось выполнить stat для шаблона «%s»"
 
-#: builtin/init-db.c:66
+#: builtin/init-db.c:69
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "не удалось выполнить opendir для «%s»"
 
-#: builtin/init-db.c:78
+#: builtin/init-db.c:81
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "не удалось выполнить readlink для «%s»"
 
-#: builtin/init-db.c:80
+#: builtin/init-db.c:83
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "не удалось создать символьную ссылку «%s» на «%s»"
 
-#: builtin/init-db.c:86
+#: builtin/init-db.c:89
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "не удалось скопировать файл «%s» в «%s»"
 
-#: builtin/init-db.c:90
+#: builtin/init-db.c:93
 #, c-format
 msgid "ignoring template %s"
 msgstr "игнорирование шаблона %s"
 
-#: builtin/init-db.c:121
+#: builtin/init-db.c:124
 #, c-format
 msgid "templates not found in %s"
 msgstr ""
 
-#: builtin/init-db.c:136
+#: builtin/init-db.c:139
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "не копирую шаблоны из «%s»: %s"
 
-#: builtin/init-db.c:334
+#: builtin/init-db.c:275
+#, c-format
+msgid "invalid initial branch name: '%s'"
+msgstr ""
+
+#: builtin/init-db.c:367
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "не удается обработать файл типа %d"
 
-#: builtin/init-db.c:337
+#: builtin/init-db.c:370
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "не удается переместить файл %s в %s"
 
-#: builtin/init-db.c:354 builtin/init-db.c:357
+#: builtin/init-db.c:386
+msgid "attempt to reinitialize repository with different hash"
+msgstr ""
+
+#: builtin/init-db.c:410 builtin/init-db.c:413
 #, c-format
 msgid "%s already exists"
 msgstr "%s уже существует"
 
-#: builtin/init-db.c:413
+#: builtin/init-db.c:445
+#, c-format
+msgid "re-init: ignored --initial-branch=%s"
+msgstr ""
+
+#: builtin/init-db.c:476
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "Переинициализирован существующий общий репозиторий Git в %s%s\n"
 
-#: builtin/init-db.c:414
+#: builtin/init-db.c:477
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "Переинициализирован существующий репозиторий Git в %s%s\n"
 
-#: builtin/init-db.c:418
+#: builtin/init-db.c:481
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "Инициализирован пустой общий репозиторий Git в %s%s\n"
 
-#: builtin/init-db.c:419
+#: builtin/init-db.c:482
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Инициализирован пустой репозиторий Git в %s%s\n"
 
-#: builtin/init-db.c:468
+#: builtin/init-db.c:531
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] "
 "[--shared[=<permissions>]] [<directory>]"
 msgstr "git init [-q | --quiet] [--bare] [--template=<каталог-шаблонов>] [--shared[=<права-доступа>]] [<каталог>]"
 
-#: builtin/init-db.c:491
+#: builtin/init-db.c:557
 msgid "permissions"
 msgstr "права-доступа"
 
-#: builtin/init-db.c:492
+#: builtin/init-db.c:558
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "укажите, если репозиторий git будет использоваться несколькими пользователями"
 
-#: builtin/init-db.c:526 builtin/init-db.c:531
+#: builtin/init-db.c:564
+msgid "override the name of the initial branch"
+msgstr ""
+
+#: builtin/init-db.c:565 builtin/verify-pack.c:74
+msgid "hash"
+msgstr "хэш-код"
+
+#: builtin/init-db.c:566 builtin/show-index.c:22 builtin/verify-pack.c:75
+msgid "specify the hash algorithm to use"
+msgstr "указание какой алгоритм хэширования использовать"
+
+#: builtin/init-db.c:573
+msgid "--separate-git-dir and --bare are mutually exclusive"
+msgstr ""
+
+#: builtin/init-db.c:602 builtin/init-db.c:607
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "не удалось выполнить mkdir %s"
 
-#: builtin/init-db.c:535
+#: builtin/init-db.c:611 builtin/init-db.c:666
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "не удалось выполнить chdir в %s"
 
-#: builtin/init-db.c:556
+#: builtin/init-db.c:638
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "%s (или --work-tree=<каталог>) нельзя использовать без указания %s (или --git-dir=<каталог>)"
 
-#: builtin/init-db.c:584
+#: builtin/init-db.c:690
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Не удалось получить доступ к рабочему каталогу «%s»"
 
-#: builtin/interpret-trailers.c:15
+#: builtin/init-db.c:695
+msgid "--separate-git-dir incompatible with bare repository"
+msgstr ""
+
+#: builtin/interpret-trailers.c:16
 msgid ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<token>[(=|:)<value>])...] [<file>...]"
 msgstr "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ключ>[(=|:)<значение>])…] [<файл>…]"
 
-#: builtin/interpret-trailers.c:94
+#: builtin/interpret-trailers.c:95
 msgid "edit files in place"
 msgstr "редактировать файлы на месте"
 
-#: builtin/interpret-trailers.c:95
+#: builtin/interpret-trailers.c:96
 msgid "trim empty trailers"
 msgstr "удалять пустые завершители"
 
-#: builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:99
 msgid "where to place the new trailer"
 msgstr "где поместить новый завершитель"
 
-#: builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:101
 msgid "action if trailer already exists"
 msgstr "действие, если завершитель уже существует"
 
-#: builtin/interpret-trailers.c:102
+#: builtin/interpret-trailers.c:103
 msgid "action if trailer is missing"
 msgstr "действие, если завершитель не существует"
 
-#: builtin/interpret-trailers.c:104
+#: builtin/interpret-trailers.c:105
 msgid "output only the trailers"
 msgstr "вывести только завершители"
 
-#: builtin/interpret-trailers.c:105
+#: builtin/interpret-trailers.c:106
 msgid "do not apply config rules"
 msgstr "не применять правила из файла конфигурации"
 
-#: builtin/interpret-trailers.c:106
+#: builtin/interpret-trailers.c:107
 msgid "join whitespace-continued values"
 msgstr "объединить значения разделенные пробелом"
 
-#: builtin/interpret-trailers.c:107
+#: builtin/interpret-trailers.c:108
 msgid "set parsing options"
 msgstr "указание опций разбора"
 
-#: builtin/interpret-trailers.c:109
+#: builtin/interpret-trailers.c:110
 msgid "do not treat --- specially"
-msgstr ""
+msgstr "не воспринимать --- по-особенному"
 
-#: builtin/interpret-trailers.c:110
+#: builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr "завершитель"
 
-#: builtin/interpret-trailers.c:111
+#: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr "завершители для добавления"
 
-#: builtin/interpret-trailers.c:120
+#: builtin/interpret-trailers.c:123
 msgid "--trailer with --only-input does not make sense"
 msgstr "--trailer одновременно с --only-input не имеет смысла"
 
-#: builtin/interpret-trailers.c:130
+#: builtin/interpret-trailers.c:133
 msgid "no input file given for in-place editing"
 msgstr "ничего не передано, для редактирования файлов на месте"
 
-#: builtin/log.c:55
+#: builtin/log.c:58
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<опции>] [<диапазон-редакций>] [[--] <путь>…]"
 
-#: builtin/log.c:56
+#: builtin/log.c:59
 msgid "git show [<options>] <object>..."
 msgstr "git show [<опции>] <объект>…"
 
-#: builtin/log.c:104
+#: builtin/log.c:112
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "неправильный параметр для --decorate: %s"
 
-#: builtin/log.c:168
+#: builtin/log.c:179
 msgid "show source"
 msgstr "показать источник"
 
-#: builtin/log.c:169
+#: builtin/log.c:180
 msgid "Use mail map file"
 msgstr "Использовать файл соответствия почтовых адресов"
 
-#: builtin/log.c:171
+#: builtin/log.c:183
 msgid "only decorate refs that match <pattern>"
 msgstr "декорировать только ссылки соответствующие <шаблону>"
 
-#: builtin/log.c:173
+#: builtin/log.c:185
 msgid "do not decorate refs that match <pattern>"
 msgstr "не декорировать ссылки соответствующие <шаблону>"
 
-#: builtin/log.c:174
+#: builtin/log.c:186
 msgid "decorate options"
 msgstr "опции формата вывода ссылок"
 
-#: builtin/log.c:177
-msgid "Process line range n,m in file, counting from 1"
-msgstr "Обработать диапазон строк n,m из файла, начиная с 1"
+#: builtin/log.c:189
+msgid ""
+"Trace the evolution of line range <start>,<end> or function :<funcname> in "
+"<file>"
+msgstr ""
+
+#: builtin/log.c:212
+msgid "-L<range>:<file> cannot be used with pathspec"
+msgstr ""
 
-#: builtin/log.c:275
+#: builtin/log.c:302
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Финальный вывод: %d %s\n"
 
-#: builtin/log.c:529
+#: builtin/log.c:564
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: плохой файл"
 
-#: builtin/log.c:544 builtin/log.c:638
+#: builtin/log.c:579 builtin/log.c:674
 #, c-format
 msgid "could not read object %s"
 msgstr ""
 
-#: builtin/log.c:663
+#: builtin/log.c:699
 #, c-format
 msgid "unknown type: %d"
 msgstr ""
 
-#: builtin/log.c:784
+#: builtin/log.c:848
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr ""
+
+#: builtin/log.c:855
 msgid "format.headers without value"
 msgstr "в format.headers не указано значение"
 
-#: builtin/log.c:885
-msgid "name of output directory is too long"
-msgstr "слишком длинное имя выходного каталога"
-
-#: builtin/log.c:901
+#: builtin/log.c:984
 #, c-format
 msgid "cannot open patch file %s"
 msgstr ""
 
-#: builtin/log.c:918
+#: builtin/log.c:1001
 msgid "need exactly one range"
 msgstr ""
 
-#: builtin/log.c:928
+#: builtin/log.c:1011
 msgid "not a range"
 msgstr ""
 
-#: builtin/log.c:1051
+#: builtin/log.c:1175
 msgid "cover letter needs email format"
 msgstr ""
 
-#: builtin/log.c:1057
+#: builtin/log.c:1181
 msgid "failed to create cover-letter file"
 msgstr ""
 
-#: builtin/log.c:1136
+#: builtin/log.c:1262
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "ошибка в поле in-reply-to: %s"
 
-#: builtin/log.c:1163
+#: builtin/log.c:1289
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<опции>] [<начиная-с> | <диапазон-редакций>]"
 
-#: builtin/log.c:1221
+#: builtin/log.c:1347
 msgid "two output directories?"
 msgstr ""
 
-#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090
+#: builtin/log.c:1498 builtin/log.c:2318 builtin/log.c:2320 builtin/log.c:2332
 #, c-format
 msgid "unknown commit %s"
 msgstr ""
 
-#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1509 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr ""
 
-#: builtin/log.c:1347
+#: builtin/log.c:1518
 msgid "could not find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1351
+#: builtin/log.c:1528
 msgid ""
 "failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
 "Or you could specify base commit by --base=<base-commit-id> manually"
 msgstr ""
 
-#: builtin/log.c:1371
+#: builtin/log.c:1551
 msgid "failed to find exact merge base"
 msgstr ""
 
-#: builtin/log.c:1382
+#: builtin/log.c:1568
 msgid "base commit should be the ancestor of revision list"
 msgstr "базовый коммит должен быть предком списка редакций"
 
-#: builtin/log.c:1386
+#: builtin/log.c:1578
 msgid "base commit shouldn't be in revision list"
 msgstr "базовый коммит не должен быть в списке редакций"
 
-#: builtin/log.c:1439
+#: builtin/log.c:1636
 msgid "cannot get patch id"
 msgstr "не удалось получить идентификатор патча"
 
-#: builtin/log.c:1491
-msgid "failed to infer range-diff ranges"
+#: builtin/log.c:1693
+msgid "failed to infer range-diff origin of current series"
+msgstr ""
+
+#: builtin/log.c:1695
+#, c-format
+msgid "using '%s' as range-diff origin of current series"
 msgstr ""
 
-#: builtin/log.c:1536
+#: builtin/log.c:1739
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "выводить [PATCH n/m] даже когда один патч"
 
-#: builtin/log.c:1539
+#: builtin/log.c:1742
 msgid "use [PATCH] even with multiple patches"
 msgstr "выводить [PATCH] даже когда несколько патчей"
 
-#: builtin/log.c:1543
+#: builtin/log.c:1746
 msgid "print patches to standard out"
 msgstr "выводить патчи на стандартный вывод"
 
-#: builtin/log.c:1545
+#: builtin/log.c:1748
 msgid "generate a cover letter"
 msgstr "создать сопроводительное письмо"
 
-#: builtin/log.c:1547
+#: builtin/log.c:1750
 msgid "use simple number sequence for output file names"
 msgstr "использовать простую последовательность чисел для имен выходных файлов"
 
-#: builtin/log.c:1548
+#: builtin/log.c:1751
 msgid "sfx"
 msgstr "суффикс"
 
-#: builtin/log.c:1549
+#: builtin/log.c:1752
 msgid "use <sfx> instead of '.patch'"
 msgstr "использовать суффикс <суффикс> вместо «.patch»"
 
-#: builtin/log.c:1551
+#: builtin/log.c:1754
 msgid "start numbering patches at <n> instead of 1"
 msgstr "начать нумерацию патчей с <n>, а не с 1"
 
-#: builtin/log.c:1553
+#: builtin/log.c:1756
 msgid "mark the series as Nth re-roll"
 msgstr "пометить серию как энную попытку"
 
-#: builtin/log.c:1555
+#: builtin/log.c:1758
+msgid "max length of output filename"
+msgstr ""
+
+#: builtin/log.c:1760
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "Использовать [RFC PATCH] вместо [PATCH]"
 
-#: builtin/log.c:1558
+#: builtin/log.c:1763
+msgid "cover-from-description-mode"
+msgstr ""
+
+#: builtin/log.c:1764
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr ""
+
+#: builtin/log.c:1766
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Использовать [<префикс>] вместо [PATCH]"
 
-#: builtin/log.c:1561
+#: builtin/log.c:1769
 msgid "store resulting files in <dir>"
 msgstr "сохранить результирующие файлы в <каталог>"
 
-#: builtin/log.c:1564
+#: builtin/log.c:1772
 msgid "don't strip/add [PATCH]"
 msgstr "не обрезать/добавлять [PATCH]"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1775
 msgid "don't output binary diffs"
 msgstr "не выводить двоичные изменения"
 
-#: builtin/log.c:1569
+#: builtin/log.c:1777
 msgid "output all-zero hash in From header"
-msgstr "выводить нулевую хеш-сумму в заголовке From"
+msgstr "выводить нулевой хэш-код в заголовке From"
 
-#: builtin/log.c:1571
+#: builtin/log.c:1779
 msgid "don't include a patch matching a commit upstream"
 msgstr "не включать патч, если коммит уже есть в вышестоящей ветке"
 
-#: builtin/log.c:1573
+#: builtin/log.c:1781
 msgid "show patch format instead of default (patch + stat)"
 msgstr "выводить в формате патча, а не в стандартном (патч + статистика)"
 
-#: builtin/log.c:1575
+#: builtin/log.c:1783
 msgid "Messaging"
 msgstr "Передача сообщений"
 
-#: builtin/log.c:1576
+#: builtin/log.c:1784
 msgid "header"
 msgstr "заголовок"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1785
 msgid "add email header"
 msgstr "добавить заголовок сообщения"
 
-#: builtin/log.c:1578 builtin/log.c:1580
+#: builtin/log.c:1786 builtin/log.c:1787
 msgid "email"
 msgstr "почта"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1786
 msgid "add To: header"
 msgstr "добавить заголовок To:"
 
-#: builtin/log.c:1580
+#: builtin/log.c:1787
 msgid "add Cc: header"
 msgstr "добавить заголовок Cc:"
 
-#: builtin/log.c:1582
+#: builtin/log.c:1788
 msgid "ident"
 msgstr "идентификатор"
 
-#: builtin/log.c:1583
+#: builtin/log.c:1789
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "установить адрес отправителя на <идентификатор> (или на идентификатор коммитера, если отсутствует)"
 
-#: builtin/log.c:1585
+#: builtin/log.c:1791
 msgid "message-id"
 msgstr "идентификатор-сообщения"
 
-#: builtin/log.c:1586
+#: builtin/log.c:1792
 msgid "make first mail a reply to <message-id>"
 msgstr "сделать первое письмо ответом на <идентификатор-сообщения>"
 
-#: builtin/log.c:1587 builtin/log.c:1590
+#: builtin/log.c:1793 builtin/log.c:1796
 msgid "boundary"
 msgstr "вложение"
 
-#: builtin/log.c:1588
+#: builtin/log.c:1794
 msgid "attach the patch"
 msgstr "приложить патч"
 
-#: builtin/log.c:1591
+#: builtin/log.c:1797
 msgid "inline the patch"
 msgstr "включить патч в текст письма"
 
-#: builtin/log.c:1595
+#: builtin/log.c:1801
 msgid "enable message threading, styles: shallow, deep"
 msgstr "включить в письмах иерархичность, стили: shallow (частичную), deep (глубокую)"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1803
 msgid "signature"
 msgstr "подпись"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1804
 msgid "add a signature"
 msgstr "добавить подпись"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1805
 msgid "base-commit"
 msgstr "базовый коммит"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1806
 msgid "add prerequisite tree info to the patch series"
 msgstr "добавить информацию о требовании дерева к серии патчей"
 
-#: builtin/log.c:1602
+#: builtin/log.c:1809
 msgid "add a signature from a file"
 msgstr "добавить подпись из файла"
 
-#: builtin/log.c:1603
+#: builtin/log.c:1810
 msgid "don't print the patch filenames"
 msgstr "не выводить имена файлов патчей"
 
-#: builtin/log.c:1605
+#: builtin/log.c:1812
 msgid "show progress while generating patches"
 msgstr "показать прогресс выполнения во создания патчей"
 
-#: builtin/log.c:1606
-msgid "rev"
-msgstr ""
-
-#: builtin/log.c:1607
+#: builtin/log.c:1814
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1610
+#: builtin/log.c:1817
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1612
+#: builtin/log.c:1819
 msgid "percentage by which creation is weighted"
 msgstr ""
 
-#: builtin/log.c:1687
+#: builtin/log.c:1905
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "неправильная строка идентификации: %s"
 
-#: builtin/log.c:1702
+#: builtin/log.c:1920
 msgid "-n and -k are mutually exclusive"
 msgstr ""
 
-#: builtin/log.c:1704
+#: builtin/log.c:1922
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr ""
 
-#: builtin/log.c:1712
+#: builtin/log.c:1930
 msgid "--name-only does not make sense"
 msgstr "--name-only не имеет смысла"
 
-#: builtin/log.c:1714
+#: builtin/log.c:1932
 msgid "--name-status does not make sense"
 msgstr "--name-status не имеет смысла"
 
-#: builtin/log.c:1716
+#: builtin/log.c:1934
 msgid "--check does not make sense"
 msgstr "--check не имеет смысла"
 
-#: builtin/log.c:1748
-msgid "standard output, or directory, which one?"
-msgstr "стандартный вывод или каталог?"
+#: builtin/log.c:1956
+msgid "--stdout, --output, and --output-directory are mutually exclusive"
+msgstr ""
 
-#: builtin/log.c:1837
+#: builtin/log.c:2079
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1841
+#: builtin/log.c:2083
 msgid "Interdiff:"
 msgstr ""
 
-#: builtin/log.c:1842
+#: builtin/log.c:2084
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr ""
 
-#: builtin/log.c:1848
+#: builtin/log.c:2090
 msgid "--creation-factor requires --range-diff"
 msgstr ""
 
-#: builtin/log.c:1852
+#: builtin/log.c:2094
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr ""
 
-#: builtin/log.c:1860
+#: builtin/log.c:2102
 msgid "Range-diff:"
 msgstr ""
 
-#: builtin/log.c:1861
+#: builtin/log.c:2103
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr ""
 
-#: builtin/log.c:1872
+#: builtin/log.c:2114
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "не удалось прочитать файл подписи «%s»"
 
-#: builtin/log.c:1908
+#: builtin/log.c:2150
 msgid "Generating patches"
 msgstr "Создание патчей"
 
-#: builtin/log.c:1952
+#: builtin/log.c:2194
 msgid "failed to create output files"
 msgstr ""
 
-#: builtin/log.c:2011
+#: builtin/log.c:2253
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<вышестоящая-ветка> [<редакция> [<ограничение>]]]"
 
-#: builtin/log.c:2065
+#: builtin/log.c:2307
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> "
 "manually.\n"
 msgstr "Не удалось найти отслеживаемую внешнюю ветку, укажите <вышестоящую-ветку> вручную.\n"
 
-#: builtin/ls-files.c:470
+#: builtin/ls-files.c:471
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<опции>] [<файл>…]"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:527
 msgid "identify the file status with tags"
 msgstr "выводить имена файлов с метками"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:529
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "использовать символы в нижнем регистре для «предположительно без изменений» файлов"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:531
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "использовать символы нижнего регистра для файлов «fsmonitor clean»"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:533
 msgid "show cached files in the output (default)"
 msgstr "показывать кэшированные файлы при выводе (по умолчанию)"
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:535
 msgid "show deleted files in the output"
 msgstr "показывать удаленные файлы при выводе"
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:537
 msgid "show modified files in the output"
 msgstr "показывать измененные файлы при выводе"
 
-#: builtin/ls-files.c:538
+#: builtin/ls-files.c:539
 msgid "show other files in the output"
 msgstr "показывать другие файлы при выводе"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:541
 msgid "show ignored files in the output"
 msgstr "показывать игнорируемые файлы при выводе"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:544
 msgid "show staged contents' object name in the output"
 msgstr "показывать имя индексированного объекта на выводе"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 msgid "show files on the filesystem that need to be removed"
 msgstr "показывать файлы в файловой системе, которые должны быть удалены"
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:548
 msgid "show 'other' directories' names only"
 msgstr "показывать только имена у «других» каталогов"
 
-#: builtin/ls-files.c:549
+#: builtin/ls-files.c:550
 msgid "show line endings of files"
 msgstr "показать концы строк файлов"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:552
 msgid "don't show empty directories"
 msgstr "не показывать пустые каталоги"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:555
 msgid "show unmerged files in the output"
 msgstr "показывать не слитые файлы на выводе"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:557
 msgid "show resolve-undo information"
 msgstr "показывать информации о разрешении конфликтов и отмене"
 
-#: builtin/ls-files.c:558
+#: builtin/ls-files.c:559
 msgid "skip files matching pattern"
 msgstr "пропустить файлы, соответствующие шаблону"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:562
 msgid "exclude patterns are read from <file>"
 msgstr "прочитать шаблоны исключения из <файл>"
 
-#: builtin/ls-files.c:564
+#: builtin/ls-files.c:565
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "прочитать дополнительные покаталожные шаблоны исключения из <файл>"
 
-#: builtin/ls-files.c:566
+#: builtin/ls-files.c:567
 msgid "add the standard git exclusions"
 msgstr "добавить стандартные исключения git"
 
-#: builtin/ls-files.c:570
+#: builtin/ls-files.c:571
 msgid "make the output relative to the project top directory"
 msgstr "выводить пути относительно корневого каталога проекта"
 
-#: builtin/ls-files.c:573
+#: builtin/ls-files.c:574
 msgid "recurse through submodules"
 msgstr "рекурсивно по подмодулям"
 
-#: builtin/ls-files.c:575
+#: builtin/ls-files.c:576
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "если какой-либо <файл> не в индексе, считать это ошибкой"
 
-#: builtin/ls-files.c:576
+#: builtin/ls-files.c:577
 msgid "tree-ish"
 msgstr "указатель-дерева"
 
-#: builtin/ls-files.c:577
+#: builtin/ls-files.c:578
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "притвориться, что пути удалены, т.к. <указатель-дерева> еще существует"
 
-#: builtin/ls-files.c:579
+#: builtin/ls-files.c:580
 msgid "show debugging data"
 msgstr "показать отладочную информацию"
 
@@ -13605,7 +15787,7 @@ msgstr "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<запуск>]
 msgid "do not print remote URL"
 msgstr "не выводить URL внешних репозиториев"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1398
 msgid "exec"
 msgstr "запуск"
 
@@ -13678,475 +15860,487 @@ msgstr "вывести полное дерево; не только текущи
 msgid "empty mbox: '%s'"
 msgstr "пустой mbox: «%s»"
 
-#: builtin/merge.c:54
+#: builtin/merge-base.c:32
+msgid "git merge-base [-a | --all] <commit> <commit>..."
+msgstr "git merge-base [-a | --all] <коммит> <коммит>…"
+
+#: builtin/merge-base.c:33
+msgid "git merge-base [-a | --all] --octopus <commit>..."
+msgstr "git merge-base [-a | --all] --octopus <коммит>…"
+
+#: builtin/merge-base.c:34
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <коммит>…"
+
+#: builtin/merge-base.c:35
+msgid "git merge-base --is-ancestor <commit> <commit>"
+msgstr "git merge-base --is-ancestor <коммит> <коммит>"
+
+#: builtin/merge-base.c:36
+msgid "git merge-base --fork-point <ref> [<commit>]"
+msgstr "git merge-base --fork-point <ссылка> [<коммит>]"
+
+#: builtin/merge-base.c:143
+msgid "output all common ancestors"
+msgstr "вывести всех общих предков"
+
+#: builtin/merge-base.c:145
+msgid "find ancestors for a single n-way merge"
+msgstr "вывести предков для одного многоходового слияния"
+
+#: builtin/merge-base.c:147
+msgid "list revs not reachable from others"
+msgstr "вывести список редаций, которые не достижимы из друг друга"
+
+#: builtin/merge-base.c:149
+msgid "is the first one ancestor of the other?"
+msgstr "является первым предком второго указанного коммита?"
+
+#: builtin/merge-base.c:151
+msgid "find where <commit> forked from reflog of <ref>"
+msgstr "найти журнале ссылок <ссылка> где именно <коммит> разветвился"
+
+#: builtin/merge-file.c:9
+msgid ""
+"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
+"<orig-file> <file2>"
+msgstr "git merge-file [<опции>] [-L имя1 [-L orig [-L имя2]]] <файл1> <ориг-файл> <файл2>"
+
+#: builtin/merge-file.c:35
+msgid "send results to standard output"
+msgstr "вывести результат на стандартный вывод"
+
+#: builtin/merge-file.c:36
+msgid "use a diff3 based merge"
+msgstr "использовать diff3 слияние"
+
+#: builtin/merge-file.c:37
+msgid "for conflicts, use our version"
+msgstr "при возникновении конфликтов, использовать нашу версию"
+
+#: builtin/merge-file.c:39
+msgid "for conflicts, use their version"
+msgstr "при возникновении конфликтов, использовать их версию"
+
+#: builtin/merge-file.c:41
+msgid "for conflicts, use a union version"
+msgstr "при возникновении конфликтов, использовать обе версии"
+
+#: builtin/merge-file.c:44
+msgid "for conflicts, use this marker size"
+msgstr "при возникновении конфликтов, использовать этот размер маркера"
+
+#: builtin/merge-file.c:45
+msgid "do not warn about conflicts"
+msgstr "не предупреждать о конфликтах"
+
+#: builtin/merge-file.c:47
+msgid "set labels for file1/orig-file/file2"
+msgstr "установить метки для файл1/ориг-файл/файл2"
+
+#: builtin/merge-recursive.c:47
+#, c-format
+msgid "unknown option %s"
+msgstr "неизвестная опция %s"
+
+#: builtin/merge-recursive.c:53
+#, c-format
+msgid "could not parse object '%s'"
+msgstr "не удалось разобрать объект «%s»"
+
+#: builtin/merge-recursive.c:57
+#, c-format
+msgid "cannot handle more than %d base. Ignoring %s."
+msgid_plural "cannot handle more than %d bases. Ignoring %s."
+msgstr[0] "невозможно обработать больше %d базы. Игнорирую %s."
+msgstr[1] "невозможно обработать больше %d баз. Игнорирую %s."
+msgstr[2] "невозможно обработать больше %d баз. Игнорирую %s."
+msgstr[3] "невозможно обработать больше %d базы. Игнорирую %s."
+
+#: builtin/merge-recursive.c:65
+msgid "not handling anything other than two heads merge."
+msgstr "не обрабатываю ничего, кроме слияния двух указателей на ветки."
+
+#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76
+#, c-format
+msgid "could not resolve ref '%s'"
+msgstr "не удалось распознать ссылку «%s»"
+
+#: builtin/merge-recursive.c:82
+#, c-format
+msgid "Merging %s with %s\n"
+msgstr "Слияние %s и %s\n"
+
+#: builtin/merge.c:57
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<опции>] [<коммит>…]"
 
-#: builtin/merge.c:55
+#: builtin/merge.c:58
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:56
+#: builtin/merge.c:59
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:116
+#: builtin/merge.c:122
 msgid "switch `m' requires a value"
 msgstr "при указании параметра «m» требуется указать значение"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:145
 #, c-format
 msgid "option `%s' requires a value"
 msgstr ""
 
-#: builtin/merge.c:185
+#: builtin/merge.c:198
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Не удалось найти стратегию слияния «%s».\n"
 
-#: builtin/merge.c:186
+#: builtin/merge.c:199
 #, c-format
 msgid "Available strategies are:"
 msgstr "Доступные стратегии:"
 
-#: builtin/merge.c:191
+#: builtin/merge.c:204
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Доступные пользовательские стратегии:"
 
-#: builtin/merge.c:242 builtin/pull.c:150
+#: builtin/merge.c:255 builtin/pull.c:133
 msgid "do not show a diffstat at the end of the merge"
 msgstr "не выводить статистику изменений после окончания слияния"
 
-#: builtin/merge.c:245 builtin/pull.c:153
+#: builtin/merge.c:258 builtin/pull.c:136
 msgid "show a diffstat at the end of the merge"
 msgstr "вывести статистику изменений после окончания слияния"
 
-#: builtin/merge.c:246 builtin/pull.c:156
+#: builtin/merge.c:259 builtin/pull.c:139
 msgid "(synonym to --stat)"
 msgstr "(синоним для --stat)"
 
-#: builtin/merge.c:248 builtin/pull.c:159
+#: builtin/merge.c:261 builtin/pull.c:142
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "добавить (максимум <n>) записей из короткого журнала в сообщение коммита у слияния"
 
-#: builtin/merge.c:251 builtin/pull.c:165
+#: builtin/merge.c:264 builtin/pull.c:148
 msgid "create a single commit instead of doing a merge"
 msgstr "создать один коммит, вместо выполнения слияния"
 
-#: builtin/merge.c:253 builtin/pull.c:168
+#: builtin/merge.c:266 builtin/pull.c:151
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "сделать коммит, если слияние прошло успешно (по умолчанию)"
 
-#: builtin/merge.c:255 builtin/pull.c:171
+#: builtin/merge.c:268 builtin/pull.c:154
 msgid "edit message before committing"
 msgstr "отредактировать сообщение перед выполнением коммита"
 
-#: builtin/merge.c:257
+#: builtin/merge.c:270
 msgid "allow fast-forward (default)"
 msgstr "разрешить перемотку вперед (по умолчанию)"
 
-#: builtin/merge.c:259 builtin/pull.c:178
+#: builtin/merge.c:272 builtin/pull.c:161
 msgid "abort if fast-forward is not possible"
 msgstr "отменить выполнение слияния, если перемотка вперед невозможна"
 
-#: builtin/merge.c:263 builtin/pull.c:181
+#: builtin/merge.c:276 builtin/pull.c:164
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "проверить, что указанный коммит имеет верную электронную подпись GPG"
 
-#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185
-#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113
+#: builtin/merge.c:277 builtin/notes.c:787 builtin/pull.c:168
+#: builtin/rebase.c:539 builtin/rebase.c:1412 builtin/revert.c:114
 msgid "strategy"
 msgstr "стратегия"
 
-#: builtin/merge.c:265 builtin/pull.c:186
+#: builtin/merge.c:278 builtin/pull.c:169
 msgid "merge strategy to use"
 msgstr "используемая стратегия слияния"
 
-#: builtin/merge.c:266 builtin/pull.c:189
+#: builtin/merge.c:279 builtin/pull.c:172
 msgid "option=value"
 msgstr "опция=значение"
 
-#: builtin/merge.c:267 builtin/pull.c:190
+#: builtin/merge.c:280 builtin/pull.c:173
 msgid "option for selected merge strategy"
 msgstr "опции для выбранной стратегии слияния"
 
-#: builtin/merge.c:269
+#: builtin/merge.c:282
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "сообщение коммита для слияния (для слияния без перемотки вперед)"
 
-#: builtin/merge.c:276
+#: builtin/merge.c:289
 msgid "abort the current in-progress merge"
 msgstr "отменить выполнение происходящего слияния"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:291
+msgid "--abort but leave index and working tree alone"
+msgstr ""
+
+#: builtin/merge.c:293
 msgid "continue the current in-progress merge"
 msgstr "продолжить выполнение происходящего слияния"
 
-#: builtin/merge.c:280 builtin/pull.c:197
+#: builtin/merge.c:295 builtin/pull.c:180
 msgid "allow merging unrelated histories"
 msgstr "разрешить слияние несвязанных историй изменений"
 
-#: builtin/merge.c:286
-msgid "verify commit-msg hook"
-msgstr "проверить перехватчик commit-msg"
+#: builtin/merge.c:302
+msgid "bypass pre-merge-commit and commit-msg hooks"
+msgstr ""
 
-#: builtin/merge.c:311
+#: builtin/merge.c:319
 msgid "could not run stash."
 msgstr "не удалось выполнить stash."
 
-#: builtin/merge.c:316
+#: builtin/merge.c:324
 msgid "stash failed"
 msgstr "сбой при выполнении stash"
 
-#: builtin/merge.c:321
+#: builtin/merge.c:329
 #, c-format
 msgid "not a valid object: %s"
 msgstr "неправильный объект: %s"
 
-#: builtin/merge.c:343 builtin/merge.c:360
+#: builtin/merge.c:351 builtin/merge.c:368
 msgid "read-tree failed"
 msgstr "сбой при выполнении read-tree"
 
-#: builtin/merge.c:390
+#: builtin/merge.c:398
 msgid " (nothing to squash)"
 msgstr " (нечего уплотнять)"
 
-#: builtin/merge.c:401
+#: builtin/merge.c:409
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Уплотнение коммита — не обновляя HEAD\n"
 
-#: builtin/merge.c:451
+#: builtin/merge.c:459
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Нет сообщения слияния — не обновляем HEAD\n"
 
-#: builtin/merge.c:502
+#: builtin/merge.c:510
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "«%s» не указывает на коммит"
 
-#: builtin/merge.c:589
+#: builtin/merge.c:597
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Неправильная строка branch.%s.mergeoptions: %s"
 
-#: builtin/merge.c:712
+#: builtin/merge.c:723
 msgid "Not handling anything other than two heads merge."
 msgstr "Не обрабатываю ничего, кроме слияния двух указателей на ветки."
 
-#: builtin/merge.c:726
+#: builtin/merge.c:736
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Неизвестный параметр merge-recursive: -X%s"
 
-#: builtin/merge.c:741
+#: builtin/merge.c:755 t/helper/test-fast-rebase.c:209
 #, c-format
 msgid "unable to write %s"
 msgstr "не удалось записать %s"
 
-#: builtin/merge.c:793
+#: builtin/merge.c:807
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Не удалось прочесть из «%s»"
 
-#: builtin/merge.c:802
+#: builtin/merge.c:816
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "Не выполняю коммит слияния; используйте «git commit» для завершения слияния.\n"
 
-#: builtin/merge.c:808
+#: builtin/merge.c:822
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
 msgstr ""
 
-#: builtin/merge.c:813
+#: builtin/merge.c:827
 msgid "An empty message aborts the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:816
+#: builtin/merge.c:830
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
 "the commit.\n"
 msgstr ""
 
-#: builtin/merge.c:857
+#: builtin/merge.c:883
 msgid "Empty commit message."
 msgstr "Пустое сообщение коммита."
 
-#: builtin/merge.c:876
+#: builtin/merge.c:898
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Прекрасно.\n"
 
-#: builtin/merge.c:936
+#: builtin/merge.c:959
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "Не удалось провести автоматическое слияние; исправьте конфликты и сделайте коммит результата.\n"
 
-#: builtin/merge.c:975
+#: builtin/merge.c:998
 msgid "No current branch."
 msgstr "Нет текущей ветки."
 
-#: builtin/merge.c:977
+#: builtin/merge.c:1000
 msgid "No remote for the current branch."
 msgstr "У текущей ветки нет внешнего репозитория."
 
-#: builtin/merge.c:979
+#: builtin/merge.c:1002
 msgid "No default upstream defined for the current branch."
 msgstr "Для текущей ветки не указана вышестоящая ветка по умолчанию."
 
-#: builtin/merge.c:984
+#: builtin/merge.c:1007
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Не указана внешняя отслеживаемая ветка для %s на %s"
 
-#: builtin/merge.c:1041
+#: builtin/merge.c:1064
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Плохое значение «%s» в переменной окружения «%s»"
 
-#: builtin/merge.c:1144
+#: builtin/merge.c:1167
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "не является тем, что можно слить в %s: %s"
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1201
 msgid "not something we can merge"
 msgstr "не является тем, что можно слить"
 
-#: builtin/merge.c:1281
+#: builtin/merge.c:1311
 msgid "--abort expects no arguments"
 msgstr "опция --abort не принимает аргументы"
 
-#: builtin/merge.c:1285
+#: builtin/merge.c:1315
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Нет слияния, которое можно отменить (отсутствует файл MERGE_HEAD)."
 
-#: builtin/merge.c:1297
+#: builtin/merge.c:1333
+msgid "--quit expects no arguments"
+msgstr ""
+
+#: builtin/merge.c:1346
 msgid "--continue expects no arguments"
 msgstr "опция --continue не принимает аргументы"
 
-#: builtin/merge.c:1301
+#: builtin/merge.c:1350
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Сейчас не происходит слияние (отсутствует файл MERGE_HEAD)."
 
-#: builtin/merge.c:1317
+#: builtin/merge.c:1366
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr "Вы не завершили слияние (присутствует файл MERGE_HEAD).\nВыполните коммит ваших изменений, перед слиянием."
 
-#: builtin/merge.c:1324
+#: builtin/merge.c:1373
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgstr "Вы не завершили копирование коммита (присутствует файл CHERRY_PICK_HEAD).\nПожалуйста, закоммитьте ваши изменения, перед слиянием."
 
-#: builtin/merge.c:1327
+#: builtin/merge.c:1376
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Вы не завершили копирование коммита (присутствует файл CHERRY_PICK_HEAD)."
 
-#: builtin/merge.c:1341
+#: builtin/merge.c:1390
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Нельзя использовать одновременно --squash и --no-ff."
 
-#: builtin/merge.c:1349
+#: builtin/merge.c:1392
+msgid "You cannot combine --squash with --commit."
+msgstr ""
+
+#: builtin/merge.c:1408
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Коммит не указан и параметр merge.defaultToUpstream не установлен."
 
-#: builtin/merge.c:1366
+#: builtin/merge.c:1425
 msgid "Squash commit into empty head not supported yet"
 msgstr "Уплотнение коммита в пустую ветку еще не поддерживается"
 
-#: builtin/merge.c:1368
+#: builtin/merge.c:1427
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Коммит, не являющийся перемоткой вперед, нет смысла делать в пустую ветку."
 
-#: builtin/merge.c:1373
-#, c-format
-msgid "%s - not something we can merge"
-msgstr "%s не является тем, что можно слить"
-
-#: builtin/merge.c:1375
-msgid "Can merge only exactly one commit into empty head"
-msgstr "Можно только один коммит в пустую ветку."
-
-#: builtin/merge.c:1454
-msgid "refusing to merge unrelated histories"
-msgstr "отказ слияния несвязанных историй изменений"
-
-#: builtin/merge.c:1463
-msgid "Already up to date."
-msgstr "Уже обновлено."
-
-#: builtin/merge.c:1473
-#, c-format
-msgid "Updating %s..%s\n"
-msgstr "Обновление %s..%s\n"
-
-#: builtin/merge.c:1515
-#, c-format
-msgid "Trying really trivial in-index merge...\n"
-msgstr "Попытка тривиального слияния в индексе…\n"
-
-#: builtin/merge.c:1522
-#, c-format
-msgid "Nope.\n"
-msgstr "Не вышло.\n"
-
-#: builtin/merge.c:1547
-msgid "Already up to date. Yeeah!"
-msgstr "Уже обновлено. Круто!"
-
-#: builtin/merge.c:1553
-msgid "Not possible to fast-forward, aborting."
-msgstr "Перемотка вперед невозможна, отмена."
-
-#: builtin/merge.c:1576 builtin/merge.c:1655
+#: builtin/merge.c:1432
 #, c-format
-msgid "Rewinding the tree to pristine...\n"
-msgstr "Перемотка дерева к исходному состоянию…\n"
-
-#: builtin/merge.c:1580
-#, c-format
-msgid "Trying merge strategy %s...\n"
-msgstr "Попытка слияния с помощью стратегии %s…\n"
-
-#: builtin/merge.c:1646
-#, c-format
-msgid "No merge strategy handled the merge.\n"
-msgstr "Ни одна стратегия слияния не обработала слияние.\n"
-
-#: builtin/merge.c:1648
-#, c-format
-msgid "Merge with strategy %s failed.\n"
-msgstr "Сбой при слиянии с помощью стратегии %s.\n"
-
-#: builtin/merge.c:1657
-#, c-format
-msgid "Using the %s to prepare resolving by hand.\n"
-msgstr "Использую %s для подготовки ручного разрешения конфликтов.\n"
-
-#: builtin/merge.c:1669
-#, c-format
-msgid "Automatic merge went well; stopped before committing as requested\n"
-msgstr "Автоматическое слияние прошло успешно; как и запрашивали, остановлено перед выполнением коммита\n"
-
-#: builtin/merge-base.c:32
-msgid "git merge-base [-a | --all] <commit> <commit>..."
-msgstr "git merge-base [-a | --all] <коммит> <коммит>…"
-
-#: builtin/merge-base.c:33
-msgid "git merge-base [-a | --all] --octopus <commit>..."
-msgstr "git merge-base [-a | --all] --octopus <коммит>…"
-
-#: builtin/merge-base.c:34
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <коммит>…"
-
-#: builtin/merge-base.c:35
-msgid "git merge-base --is-ancestor <commit> <commit>"
-msgstr "git merge-base --is-ancestor <коммит> <коммит>"
-
-#: builtin/merge-base.c:36
-msgid "git merge-base --fork-point <ref> [<commit>]"
-msgstr "git merge-base --fork-point <ссылка> [<коммит>]"
-
-#: builtin/merge-base.c:153
-msgid "output all common ancestors"
-msgstr "вывести всех общих предков"
-
-#: builtin/merge-base.c:155
-msgid "find ancestors for a single n-way merge"
-msgstr "вывести предков для одного многоходового слияния"
-
-#: builtin/merge-base.c:157
-msgid "list revs not reachable from others"
-msgstr "вывести список редаций, которые не достижимы из друг друга"
-
-#: builtin/merge-base.c:159
-msgid "is the first one ancestor of the other?"
-msgstr "является первым предком второго указанного коммита?"
-
-#: builtin/merge-base.c:161
-msgid "find where <commit> forked from reflog of <ref>"
-msgstr "найти журнале ссылок <ссылка> где именно <коммит> разветвился"
-
-#: builtin/merge-file.c:9
-msgid ""
-"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
-"<orig-file> <file2>"
-msgstr "git merge-file [<опции>] [-L имя1 [-L orig [-L имя2]]] <файл1> <ориг-файл> <файл2>"
+msgid "%s - not something we can merge"
+msgstr "%s не является тем, что можно слить"
 
-#: builtin/merge-file.c:35
-msgid "send results to standard output"
-msgstr "вÑ\8bвеÑ\81Ñ\82и Ñ\80езÑ\83лÑ\8cÑ\82аÑ\82 Ð½Ð° Ñ\81Ñ\82андаÑ\80Ñ\82нÑ\8bй Ð²Ñ\8bвод"
+#: builtin/merge.c:1434
+msgid "Can merge only exactly one commit into empty head"
+msgstr "Ð\9cожно Ñ\82олÑ\8cко Ð¾Ð´Ð¸Ð½ ÐºÐ¾Ð¼Ð¼Ð¸Ñ\82 Ð² Ð¿Ñ\83Ñ\81Ñ\82Ñ\83Ñ\8e Ð²ÐµÑ\82кÑ\83."
 
-#: builtin/merge-file.c:36
-msgid "use a diff3 based merge"
-msgstr "иÑ\81полÑ\8cзоваÑ\82Ñ\8c diff3 Ñ\81лиÑ\8fние"
+#: builtin/merge.c:1515
+msgid "refusing to merge unrelated histories"
+msgstr "оÑ\82каз Ñ\81лиÑ\8fниÑ\8f Ð½ÐµÑ\81вÑ\8fзаннÑ\8bÑ\85 Ð¸Ñ\81Ñ\82оÑ\80ий Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹"
 
-#: builtin/merge-file.c:37
-msgid "for conflicts, use our version"
-msgstr "пÑ\80и Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ð¸ ÐºÐ¾Ð½Ñ\84ликÑ\82ов, Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ð½Ð°Ñ\88Ñ\83 Ð²ÐµÑ\80Ñ\81иÑ\8e"
+#: builtin/merge.c:1524
+msgid "Already up to date."
+msgstr "Уже Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾."
 
-#: builtin/merge-file.c:39
-msgid "for conflicts, use their version"
-msgstr "при возникновении конфликтов, использовать их версию"
+#: builtin/merge.c:1534
+#, c-format
+msgid "Updating %s..%s\n"
+msgstr "Обновление %s..%s\n"
 
-#: builtin/merge-file.c:41
-msgid "for conflicts, use a union version"
-msgstr "при возникновении конфликтов, использовать обе версии"
+#: builtin/merge.c:1580
+#, c-format
+msgid "Trying really trivial in-index merge...\n"
+msgstr "Попытка тривиального слияния в индексе…\n"
 
-#: builtin/merge-file.c:44
-msgid "for conflicts, use this marker size"
-msgstr "при возникновении конфликтов, использовать этот размер маркера"
+#: builtin/merge.c:1587
+#, c-format
+msgid "Nope.\n"
+msgstr "Не вышло.\n"
 
-#: builtin/merge-file.c:45
-msgid "do not warn about conflicts"
-msgstr "не Ð¿Ñ\80едÑ\83пÑ\80еждаÑ\82Ñ\8c Ð¾ ÐºÐ¾Ð½Ñ\84ликÑ\82аÑ\85"
+#: builtin/merge.c:1612
+msgid "Already up to date. Yeeah!"
+msgstr "Уже Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾. Ð\9aÑ\80Ñ\83Ñ\82о!"
 
-#: builtin/merge-file.c:47
-msgid "set labels for file1/orig-file/file2"
-msgstr "установить метки для файл1/ориг-файл/файл2"
+#: builtin/merge.c:1618
+msgid "Not possible to fast-forward, aborting."
+msgstr "Перемотка вперед невозможна, отмена."
 
-#: builtin/merge-recursive.c:46
+#: builtin/merge.c:1646 builtin/merge.c:1711
 #, c-format
-msgid "unknown option %s"
-msgstr "неизвеÑ\81Ñ\82наÑ\8f Ð¾Ð¿Ñ\86иÑ\8f %s"
+msgid "Rewinding the tree to pristine...\n"
+msgstr "Ð\9fеÑ\80емоÑ\82ка Ð´ÐµÑ\80ева Ðº Ð¸Ñ\81Ñ\85одномÑ\83 Ñ\81оÑ\81Ñ\82оÑ\8fниÑ\8eâ\80¦\n"
 
-#: builtin/merge-recursive.c:52
+#: builtin/merge.c:1650
 #, c-format
-msgid "could not parse object '%s'"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ñ\80азобÑ\80аÑ\82Ñ\8c Ð¾Ð±Ñ\8aекÑ\82 Â«%s»"
+msgid "Trying merge strategy %s...\n"
+msgstr "Ð\9fопÑ\8bÑ\82ка Ñ\81лиÑ\8fниÑ\8f Ñ\81 Ð¿Ð¾Ð¼Ð¾Ñ\89Ñ\8cÑ\8e Ñ\81Ñ\82Ñ\80аÑ\82егии %sâ\80¦\n"
 
-#: builtin/merge-recursive.c:56
+#: builtin/merge.c:1702
 #, c-format
-msgid "cannot handle more than %d base. Ignoring %s."
-msgid_plural "cannot handle more than %d bases. Ignoring %s."
-msgstr[0] "невозможно обработать больше %d базы. Игнорирую %s."
-msgstr[1] "невозможно обработать больше %d баз. Игнорирую %s."
-msgstr[2] "невозможно обработать больше %d баз. Игнорирую %s."
-msgstr[3] "невозможно обработать больше %d базы. Игнорирую %s."
+msgid "No merge strategy handled the merge.\n"
+msgstr "Ни одна стратегия слияния не обработала слияние.\n"
 
-#: builtin/merge-recursive.c:64
-msgid "not handling anything other than two heads merge."
-msgstr "не обрабатываю ничего, кроме слияния двух указателей на ветки."
+#: builtin/merge.c:1704
+#, c-format
+msgid "Merge with strategy %s failed.\n"
+msgstr "Сбой при слиянии с помощью стратегии %s.\n"
 
-#: builtin/merge-recursive.c:70 builtin/merge-recursive.c:72
+#: builtin/merge.c:1713
 #, c-format
-msgid "could not resolve ref '%s'"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ñ\80аÑ\81познаÑ\82Ñ\8c Ñ\81Ñ\81Ñ\8bлкÑ\83 Â«%s»"
+msgid "Using the %s to prepare resolving by hand.\n"
+msgstr "Ð\98Ñ\81полÑ\8cзÑ\83Ñ\8e %s Ð´Ð»Ñ\8f Ð¿Ð¾Ð´Ð³Ð¾Ñ\82овки Ñ\80Ñ\83Ñ\87ного Ñ\80азÑ\80еÑ\88ениÑ\8f ÐºÐ¾Ð½Ñ\84ликÑ\82ов.\n"
 
-#: builtin/merge-recursive.c:78
+#: builtin/merge.c:1727
 #, c-format
-msgid "Merging %s with %s\n"
-msgstr "СлиÑ\8fние %s Ð¸ %s\n"
+msgid "Automatic merge went well; stopped before committing as requested\n"
+msgstr "Ð\90вÑ\82омаÑ\82иÑ\87еÑ\81кое Ñ\81лиÑ\8fние Ð¿Ñ\80оÑ\88ло Ñ\83Ñ\81пеÑ\88но; ÐºÐ°Ðº Ð¸ Ð·Ð°Ð¿Ñ\80аÑ\88ивали, Ð¾Ñ\81Ñ\82ановлено Ð¿ÐµÑ\80ед Ð²Ñ\8bполнением ÐºÐ¾Ð¼Ð¼Ð¸Ñ\82а\n"
 
 #: builtin/mktree.c:66
 msgid "git mktree [-z] [--missing] [--batch]"
@@ -14165,20 +16359,32 @@ msgid "allow creation of more than one tree"
 msgstr "допустить создание более одного дерева"
 
 #: builtin/multi-pack-index.c:9
-msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
+msgid ""
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<size>)"
 msgstr ""
 
-#: builtin/multi-pack-index.c:22
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 
-#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67
+#: builtin/multi-pack-index.c:29
+msgid ""
+"during repack, collect pack-files of smaller size into a batch that is "
+"larger than this size"
+msgstr ""
+
+#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:25
 msgid "too many arguments"
 msgstr ""
 
-#: builtin/multi-pack-index.c:51
+#: builtin/multi-pack-index.c:60
+msgid "--batch-size option is only for 'repack' subcommand"
+msgstr ""
+
+#: builtin/multi-pack-index.c:69
 #, c-format
-msgid "unrecognized verb: %s"
+msgid "unrecognized subcommand: %s"
 msgstr ""
 
 #: builtin/mv.c:18
@@ -14207,113 +16413,117 @@ msgstr "принудительно перемещать/переименоват
 msgid "skip move/rename errors"
 msgstr "пропускать ошибки при перемещении/переименовании"
 
-#: builtin/mv.c:169
+#: builtin/mv.c:170
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "целевой путь «%s» не является каталогом"
 
-#: builtin/mv.c:180
+#: builtin/mv.c:181
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Проверка переименования из «%s» в «%s»\n"
 
-#: builtin/mv.c:184
+#: builtin/mv.c:185
 msgid "bad source"
 msgstr "плохой источник"
 
-#: builtin/mv.c:187
+#: builtin/mv.c:188
 msgid "can not move directory into itself"
 msgstr "нельзя переместить каталог в самого себя"
 
-#: builtin/mv.c:190
+#: builtin/mv.c:191
 msgid "cannot move directory over file"
 msgstr "нельзя переместить каталог в файл"
 
-#: builtin/mv.c:199
+#: builtin/mv.c:200
 msgid "source directory is empty"
 msgstr "исходный каталог пуст"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:225
 msgid "not under version control"
 msgstr "не под версионным контролем"
 
 #: builtin/mv.c:227
+msgid "conflicted"
+msgstr ""
+
+#: builtin/mv.c:230
 msgid "destination exists"
 msgstr "целевой путь уже существует"
 
-#: builtin/mv.c:235
+#: builtin/mv.c:238
 #, c-format
 msgid "overwriting '%s'"
 msgstr "перезапись «%s»"
 
-#: builtin/mv.c:238
+#: builtin/mv.c:241
 msgid "Cannot overwrite"
 msgstr "Не удалось перезаписать"
 
-#: builtin/mv.c:241
+#: builtin/mv.c:244
 msgid "multiple sources for the same target"
 msgstr "несколько источников для одного целевого пути"
 
-#: builtin/mv.c:243
+#: builtin/mv.c:246
 msgid "destination directory does not exist"
 msgstr "целевой каталог не существует"
 
-#: builtin/mv.c:250
+#: builtin/mv.c:253
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, откуда=%s, куда=%s"
 
-#: builtin/mv.c:271
+#: builtin/mv.c:274
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Переименование %s в %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516
+#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:484
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "сбой при переименовании «%s»"
 
-#: builtin/name-rev.c:355
+#: builtin/name-rev.c:465
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<опции>] <коммит>…"
 
-#: builtin/name-rev.c:356
+#: builtin/name-rev.c:466
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<опции>] --all"
 
-#: builtin/name-rev.c:357
+#: builtin/name-rev.c:467
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<опции>] --stdin"
 
-#: builtin/name-rev.c:415
-msgid "print only names (no SHA-1)"
-msgstr "выводить только имена (без SHA-1)"
+#: builtin/name-rev.c:524
+msgid "print only ref-based names (no object names)"
+msgstr ""
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:525
 msgid "only use tags to name the commits"
 msgstr "использовать только метки для именования коммитов"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:527
 msgid "only use refs matching <pattern>"
-msgstr "использовать только ссылки, соответствующие <шаблону> "
+msgstr "использовать только ссылки, соответствующие <шаблону>"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:529
 msgid "ignore refs matching <pattern>"
 msgstr "игнорировать ссылки, соответствующие <шаблону>"
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:531
 msgid "list all commits reachable from all refs"
 msgstr "вывести список всех коммитов, достижимых со всех ссылок"
 
-#: builtin/name-rev.c:423
+#: builtin/name-rev.c:532
 msgid "read from stdin"
 msgstr "прочитать из стандартного ввода"
 
-#: builtin/name-rev.c:424
+#: builtin/name-rev.c:533
 msgid "allow to print `undefined` names (default)"
 msgstr "разрешить вывод «undefined», если не найдено (по умолчанию)"
 
-#: builtin/name-rev.c:430
+#: builtin/name-rev.c:539
 msgid "dereference tags in the input (internal use)"
 msgstr "разыменовывать введенные метки (для внутреннего использования)"
 
@@ -14453,7 +16663,7 @@ msgstr "не удалось записать объект заметки"
 msgid "the note contents have been left in %s"
 msgstr "содержимое заметки осталось в %s"
 
-#: builtin/notes.c:242 builtin/tag.c:522
+#: builtin/notes.c:242 builtin/tag.c:533
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "не удалось открыть или прочитать «%s»"
@@ -14673,7 +16883,7 @@ msgid ""
 "--abort'.\n"
 msgstr "Не удалось автоматически слить заметки. Исправьте конфликты в %s и закоммитьте результат с помощью «git notes merge --commit», или прервите процесс слияния с помощью «git notes merge --abort».\n"
 
-#: builtin/notes.c:897 builtin/tag.c:535
+#: builtin/notes.c:897 builtin/tag.c:546
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Не удалось разрешить «%s» как ссылку."
@@ -14691,7 +16901,7 @@ msgstr "попытка удаления несуществующей замет
 msgid "read object names from the standard input"
 msgstr "прочитать имена объектов из стандартного ввода"
 
-#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165
+#: builtin/notes.c:954 builtin/prune.c:132 builtin/worktree.c:220
 msgid "do not remove, show only"
 msgstr "не удалять, только показать список"
 
@@ -14707,387 +16917,375 @@ msgstr "ссылка-на-заметку"
 msgid "use notes from <notes-ref>"
 msgstr "использовать заметку из <ссылка-на-заметку>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1611
+#: builtin/notes.c:1034 builtin/stash.c:1604
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "неизвестная подкоманда: %s"
 
-#: builtin/pack-objects.c:52
+#: builtin/pack-objects.c:54
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<опции>…] [< <список-ссылок> | < <список-объектов>]"
 
-#: builtin/pack-objects.c:53
+#: builtin/pack-objects.c:55
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<опции>…] <имя-базы> [< <список-ссылок> | < <список-объектов>]"
 
-#: builtin/pack-objects.c:424
+#: builtin/pack-objects.c:443
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:435
+#: builtin/pack-objects.c:454
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:566
+#: builtin/pack-objects.c:585
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr ""
 
-#: builtin/pack-objects.c:777
+#: builtin/pack-objects.c:796
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr ""
 
-#: builtin/pack-objects.c:790
-#, c-format
-msgid "packfile is invalid: %s"
-msgstr ""
-
-#: builtin/pack-objects.c:794
-#, c-format
-msgid "unable to open packfile for reuse: %s"
-msgstr ""
-
-#: builtin/pack-objects.c:798
-msgid "unable to seek in reused packfile"
-msgstr ""
-
-#: builtin/pack-objects.c:809
-msgid "unable to read from reused packfile"
-msgstr ""
-
-#: builtin/pack-objects.c:837
+#: builtin/pack-objects.c:1004
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "отключение записи битовых карт, так как карты были разбиты на части из-за pack.packSizeLimit"
 
-#: builtin/pack-objects.c:850
+#: builtin/pack-objects.c:1017
 msgid "Writing objects"
 msgstr "Запись объектов"
 
-#: builtin/pack-objects.c:912 builtin/update-index.c:89
+#: builtin/pack-objects.c:1078 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "не удалось выполнить stat %s"
 
-#: builtin/pack-objects.c:965
+#: builtin/pack-objects.c:1131
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr ""
 
-#: builtin/pack-objects.c:1161
+#: builtin/pack-objects.c:1348
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "отключение записи битовых карт, так как некоторые объекты не были упакованы"
 
-#: builtin/pack-objects.c:1589
+#: builtin/pack-objects.c:1796
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:1598
+#: builtin/pack-objects.c:1805
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr ""
 
-#: builtin/pack-objects.c:1867
+#: builtin/pack-objects.c:2086
 msgid "Counting objects"
 msgstr "Подсчет объектов"
 
-#: builtin/pack-objects.c:1997
-#, c-format
-msgid "unable to get size of %s"
-msgstr "не удалось получить размер %s"
-
-#: builtin/pack-objects.c:2012
+#: builtin/pack-objects.c:2231
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "не удалось разобрать заголовок объекта %s"
 
-#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098
-#: builtin/pack-objects.c:2108
+#: builtin/pack-objects.c:2301 builtin/pack-objects.c:2317
+#: builtin/pack-objects.c:2327
 #, c-format
 msgid "object %s cannot be read"
 msgstr ""
 
-#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112
+#: builtin/pack-objects.c:2304 builtin/pack-objects.c:2331
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 
-#: builtin/pack-objects.c:2122
+#: builtin/pack-objects.c:2341
 msgid "suboptimal pack - out of memory"
 msgstr ""
 
-#: builtin/pack-objects.c:2448
+#: builtin/pack-objects.c:2656
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "При сжатии изменений используется до %d потоков"
 
-#: builtin/pack-objects.c:2580
+#: builtin/pack-objects.c:2795
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2883
 msgid "Compressing objects"
 msgstr "Сжатие объектов"
 
-#: builtin/pack-objects.c:2673
+#: builtin/pack-objects.c:2889
 msgid "inconsistency with delta count"
 msgstr ""
 
-#: builtin/pack-objects.c:2754
+#: builtin/pack-objects.c:2961
+#, c-format
+msgid ""
+"value of uploadpack.blobpackfileuri must be of the form '<object-hash> "
+"<pack-hash> <uri>' (got '%s')"
+msgstr ""
+
+#: builtin/pack-objects.c:2964
+#, c-format
+msgid ""
+"object already configured in another uploadpack.blobpackfileuri (got '%s')"
+msgstr ""
+
+#: builtin/pack-objects.c:2993
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
 " %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2760
+#: builtin/pack-objects.c:2999
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
 " %s"
 msgstr ""
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:3097
 msgid "invalid value for --missing"
 msgstr "недопустимое значение для --missing"
 
-#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025
+#: builtin/pack-objects.c:3156 builtin/pack-objects.c:3264
 msgid "cannot open pack index"
 msgstr ""
 
-#: builtin/pack-objects.c:2948
+#: builtin/pack-objects.c:3187
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr ""
 
-#: builtin/pack-objects.c:3033
+#: builtin/pack-objects.c:3272
 msgid "unable to force loose object"
 msgstr ""
 
-#: builtin/pack-objects.c:3125
+#: builtin/pack-objects.c:3365
 #, c-format
 msgid "not a rev '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3128
+#: builtin/pack-objects.c:3368
 #, c-format
 msgid "bad revision '%s'"
 msgstr ""
 
-#: builtin/pack-objects.c:3153
+#: builtin/pack-objects.c:3393
 msgid "unable to add recent objects"
 msgstr ""
 
-#: builtin/pack-objects.c:3206
+#: builtin/pack-objects.c:3446
 #, c-format
 msgid "unsupported index version %s"
 msgstr "неподдерживаемая версия индекса %s"
 
-#: builtin/pack-objects.c:3210
+#: builtin/pack-objects.c:3450
 #, c-format
 msgid "bad index version '%s'"
 msgstr "плохая версия индекса «%s»"
 
-#: builtin/pack-objects.c:3240
-msgid "do not show progress meter"
-msgstr "не выводить прогресс выполнения"
-
-#: builtin/pack-objects.c:3242
-msgid "show progress meter"
-msgstr "показать прогресс выполнения"
-
-#: builtin/pack-objects.c:3244
-msgid "show progress meter during object writing phase"
-msgstr "показать прогресс выполнения во время записи объектов"
-
-#: builtin/pack-objects.c:3247
-msgid "similar to --all-progress when progress meter is shown"
-msgstr "похоже на --all-progress при включенном прогрессе выполнения"
-
-#: builtin/pack-objects.c:3248
+#: builtin/pack-objects.c:3488
 msgid "<version>[,<offset>]"
 msgstr ""
 
-#: builtin/pack-objects.c:3249
+#: builtin/pack-objects.c:3489
 msgid "write the pack index file in the specified idx format version"
 msgstr "записать файл индекса пакета в указанной версии формата"
 
-#: builtin/pack-objects.c:3252
+#: builtin/pack-objects.c:3492
 msgid "maximum size of each output pack file"
 msgstr "максимальный размер каждого выходного файла пакета"
 
-#: builtin/pack-objects.c:3254
+#: builtin/pack-objects.c:3494
 msgid "ignore borrowed objects from alternate object store"
 msgstr "игнорировать чужие объекты, взятые из альтернативного хранилища объектов"
 
-#: builtin/pack-objects.c:3256
+#: builtin/pack-objects.c:3496
 msgid "ignore packed objects"
 msgstr "игнорировать упакованные объекты"
 
-#: builtin/pack-objects.c:3258
+#: builtin/pack-objects.c:3498
 msgid "limit pack window by objects"
 msgstr "ограничить окно пакета по количеству объектов"
 
-#: builtin/pack-objects.c:3260
+#: builtin/pack-objects.c:3500
 msgid "limit pack window by memory in addition to object limit"
 msgstr "дополнительно к количеству объектов ограничить окно пакета по памяти"
 
-#: builtin/pack-objects.c:3262
+#: builtin/pack-objects.c:3502
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "максимальная разрешенная длина цепочки дельт в результирующем пакете"
 
-#: builtin/pack-objects.c:3264
+#: builtin/pack-objects.c:3504
 msgid "reuse existing deltas"
 msgstr "использовать повторно существующие дельты"
 
-#: builtin/pack-objects.c:3266
+#: builtin/pack-objects.c:3506
 msgid "reuse existing objects"
 msgstr "использовать повторно существующие объекты"
 
-#: builtin/pack-objects.c:3268
+#: builtin/pack-objects.c:3508
 msgid "use OFS_DELTA objects"
 msgstr "использовать объекты OFS_DELTA"
 
-#: builtin/pack-objects.c:3270
+#: builtin/pack-objects.c:3510
 msgid "use threads when searching for best delta matches"
 msgstr "использовать многопоточность при поиске лучших совпадений дельт"
 
-#: builtin/pack-objects.c:3272
+#: builtin/pack-objects.c:3512
 msgid "do not create an empty pack output"
 msgstr "не создавать пустые выходные пакеты"
 
-#: builtin/pack-objects.c:3274
+#: builtin/pack-objects.c:3514
 msgid "read revision arguments from standard input"
 msgstr "прочитать аргументы редакций из стандартного ввода"
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3516
 msgid "limit the objects to those that are not yet packed"
 msgstr "ограничиться объектами, которые еще не упакованы"
 
-#: builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3519
 msgid "include objects reachable from any reference"
 msgstr "включить объекты, которые достижимы по любой из ссылок"
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3522
 msgid "include objects referred by reflog entries"
 msgstr "включить объекты, на которые ссылаются записи журнала ссылок"
 
-#: builtin/pack-objects.c:3285
+#: builtin/pack-objects.c:3525
 msgid "include objects referred to by the index"
 msgstr "включить объекты, на которые ссылается индекс"
 
-#: builtin/pack-objects.c:3288
+#: builtin/pack-objects.c:3528
 msgid "output pack to stdout"
 msgstr "вывести пакет на  стандартный вывод"
 
-#: builtin/pack-objects.c:3290
+#: builtin/pack-objects.c:3530
 msgid "include tag objects that refer to objects to be packed"
 msgstr "включить объекты меток, которые ссылаются на упаковываемые объекты"
 
-#: builtin/pack-objects.c:3292
+#: builtin/pack-objects.c:3532
 msgid "keep unreachable objects"
 msgstr "сохранять ссылки на недоступные объекты"
 
-#: builtin/pack-objects.c:3294
+#: builtin/pack-objects.c:3534
 msgid "pack loose unreachable objects"
 msgstr "паковать недостижимые объекты"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3536
 msgid "unpack unreachable objects newer than <time>"
 msgstr "распаковать недоступные объекты, которые новее, чем <время>"
 
-#: builtin/pack-objects.c:3299
+#: builtin/pack-objects.c:3539
 msgid "use the sparse reachability algorithm"
 msgstr ""
 
-#: builtin/pack-objects.c:3301
+#: builtin/pack-objects.c:3541
 msgid "create thin packs"
 msgstr "создавать тонкие пакеты"
 
-#: builtin/pack-objects.c:3303
+#: builtin/pack-objects.c:3543
 msgid "create packs suitable for shallow fetches"
 msgstr "создавать пакеты, подходящие для частичных извлечений"
 
-#: builtin/pack-objects.c:3305
+#: builtin/pack-objects.c:3545
 msgid "ignore packs that have companion .keep file"
 msgstr "игнорировать пакеты, рядом с которыми лежит .keep файл"
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3547
 msgid "ignore this pack"
 msgstr "игнорировать этот пакет"
 
-#: builtin/pack-objects.c:3309
+#: builtin/pack-objects.c:3549
 msgid "pack compression level"
 msgstr "уровень сжатия пакета"
 
-#: builtin/pack-objects.c:3311
+#: builtin/pack-objects.c:3551
 msgid "do not hide commits by grafts"
 msgstr "не скрывать коммиты сращениями"
 
-#: builtin/pack-objects.c:3313
+#: builtin/pack-objects.c:3553
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "по возможности использовать индекс в битовых картах, для ускорения подсчета объектов"
 
-#: builtin/pack-objects.c:3315
+#: builtin/pack-objects.c:3555
 msgid "write a bitmap index together with the pack index"
 msgstr "запись индекса в битовых картах вместе с индексом пакета"
 
-#: builtin/pack-objects.c:3318
+#: builtin/pack-objects.c:3559
+msgid "write a bitmap index if possible"
+msgstr ""
+
+#: builtin/pack-objects.c:3563
 msgid "handling for missing objects"
 msgstr "обработка отсутствующих объектов"
 
-#: builtin/pack-objects.c:3321
+#: builtin/pack-objects.c:3566
 msgid "do not pack objects in promisor packfiles"
 msgstr "не упаковывать объекты в promisor файлы пакетов"
 
-#: builtin/pack-objects.c:3323
+#: builtin/pack-objects.c:3568
 msgid "respect islands during delta compression"
 msgstr ""
 
-#: builtin/pack-objects.c:3348
+#: builtin/pack-objects.c:3570
+msgid "protocol"
+msgstr ""
+
+#: builtin/pack-objects.c:3571
+msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
+msgstr ""
+
+#: builtin/pack-objects.c:3600
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "глубина цепочки изменений %d слишком большая, использую принудительно %d"
 
-#: builtin/pack-objects.c:3353
+#: builtin/pack-objects.c:3605
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "лисит pack.deltaCacheLimit слишком высокий, использую принудительно %d"
 
-#: builtin/pack-objects.c:3407
+#: builtin/pack-objects.c:3659
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 
-#: builtin/pack-objects.c:3409
+#: builtin/pack-objects.c:3661
 msgid "minimum pack size limit is 1 MiB"
 msgstr ""
 
-#: builtin/pack-objects.c:3414
+#: builtin/pack-objects.c:3666
 msgid "--thin cannot be used to build an indexable pack"
 msgstr ""
 
-#: builtin/pack-objects.c:3417
+#: builtin/pack-objects.c:3669
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr ""
 
-#: builtin/pack-objects.c:3423
+#: builtin/pack-objects.c:3675
 msgid "cannot use --filter without --stdout"
 msgstr ""
 
-#: builtin/pack-objects.c:3484
+#: builtin/pack-objects.c:3735
 msgid "Enumerating objects"
 msgstr "Перечисление объектов"
 
-#: builtin/pack-objects.c:3514
+#: builtin/pack-objects.c:3766
 #, c-format
-msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
-msgstr "Всего %<PRIu32> (изменения %<PRIu32>), повторно использовано %<PRIu32> (изменения %<PRIu32>)"
+msgid ""
+"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
+"reused %<PRIu32>"
+msgstr "Всего %<PRIu32> (изменений %<PRIu32>), повторно использовано %<PRIu32> (изменений %<PRIu32>), повторно использовано пакетов %<PRIu32>"
 
 #: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
@@ -15101,98 +17299,110 @@ msgstr "паковать всё"
 msgid "prune loose refs (default)"
 msgstr "почистить слабые ссылки (по умолчанию)"
 
-#: builtin/prune-packed.c:9
+#: builtin/prune-packed.c:6
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
 
-#: builtin/prune-packed.c:42
-msgid "Removing duplicate objects"
-msgstr "Удаление дублирующихся объектов"
-
-#: builtin/prune.c:12
+#: builtin/prune.c:14
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <время>] [--] [<редакция>…]"
 
-#: builtin/prune.c:131
+#: builtin/prune.c:133
 msgid "report pruned objects"
 msgstr "вывести список удаленных объектов"
 
-#: builtin/prune.c:134
+#: builtin/prune.c:136
 msgid "expire objects older than <time>"
 msgstr "удалить объекты старее чем <дата-окончания>"
 
-#: builtin/prune.c:136
+#: builtin/prune.c:138
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "ограничить обход объектами вне promisor файлов пакетов"
 
-#: builtin/prune.c:150
+#: builtin/prune.c:152
 msgid "cannot prune in a precious-objects repo"
 msgstr "нельзя почистить неиспользуемые объекты в precious-objects репозитории"
 
-#: builtin/pull.c:66 builtin/pull.c:68
+#: builtin/pull.c:45 builtin/pull.c:47
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Неправильное значение %s: %s"
 
-#: builtin/pull.c:88
+#: builtin/pull.c:67
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<опции>] [<репозиторий> [<спецификатор-ссылки>…]]"
 
-#: builtin/pull.c:140
+#: builtin/pull.c:123
 msgid "control for recursive fetching of submodules"
 msgstr "управление рекурсивным извлечением подмодулей"
 
-#: builtin/pull.c:144
+#: builtin/pull.c:127
 msgid "Options related to merging"
 msgstr "Опции, связанные со слиянием"
 
-#: builtin/pull.c:147
+#: builtin/pull.c:130
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "забрать изменения с помощью перемещения, а не слияния"
 
-#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125
+#: builtin/pull.c:158 builtin/rebase.c:490 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "разрешить перемотку вперед"
 
-#: builtin/pull.c:184
-msgid "automatically stash/stash pop before and after rebase"
-msgstr "автоматически выполнять stash/stash pop до и после перемещения"
+#: builtin/pull.c:167 parse-options.h:339
+msgid "automatically stash/stash pop before and after"
+msgstr ""
 
-#: builtin/pull.c:200
+#: builtin/pull.c:183
 msgid "Options related to fetching"
 msgstr "Опции, связанные с извлечением изменений"
 
-#: builtin/pull.c:210
+#: builtin/pull.c:193
 msgid "force overwrite of local branch"
 msgstr "принудительная перезапись локальной ветки"
 
-#: builtin/pull.c:218
+#: builtin/pull.c:201
 msgid "number of submodules pulled in parallel"
 msgstr "количество подмодулей, которые будут получены парралельно"
 
-#: builtin/pull.c:313
+#: builtin/pull.c:317
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Неправильное значение для pull.ff: %s"
 
-#: builtin/pull.c:430
+#: builtin/pull.c:348
+msgid ""
+"Pulling without specifying how to reconcile divergent branches is\n"
+"discouraged. You can squelch this message by running one of the following\n"
+"commands sometime before your next pull:\n"
+"\n"
+"  git config pull.rebase false  # merge (the default strategy)\n"
+"  git config pull.rebase true   # rebase\n"
+"  git config pull.ff only       # fast-forward only\n"
+"\n"
+"You can replace \"git config\" with \"git config --global\" to set a default\n"
+"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
+"or --ff-only on the command line to override the configured default per\n"
+"invocation.\n"
+msgstr ""
+
+#: builtin/pull.c:458
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "Нет претендентов для перемещения среди ссылок, которые вы только что получили."
 
-#: builtin/pull.c:432
+#: builtin/pull.c:460
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "Нет претендентов для слияния среди ссылок, которые вы только что получили."
 
-#: builtin/pull.c:433
+#: builtin/pull.c:461
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "Обычно это означает, что вы передали спецификацию ссылки с помощью шаблона и этот шаблон ни с чем не совпал на внешнем репозитории."
 
-#: builtin/pull.c:436
+#: builtin/pull.c:464
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -15200,74 +17410,69 @@ msgid ""
 "for your current branch, you must specify a branch on the command line."
 msgstr "Вы попросили получить изменения со внешнего репозитория «%s», но не указали ветку. Так как это не репозиторий по умолчанию для  вашей текущей ветки, вы должны указать ветку в командной строке."
 
-#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73
+#: builtin/pull.c:469 builtin/rebase.c:1246
 msgid "You are not currently on a branch."
 msgstr "Вы сейчас ни на одной из веток."
 
-#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79
+#: builtin/pull.c:471 builtin/pull.c:486
 msgid "Please specify which branch you want to rebase against."
 msgstr "Пожалуйста, укажите на какую ветку вы хотите переместить изменения."
 
-#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82
+#: builtin/pull.c:473 builtin/pull.c:488
 msgid "Please specify which branch you want to merge with."
 msgstr "Пожалуйста, укажите с какой веткой вы хотите слить изменения."
 
-#: builtin/pull.c:446 builtin/pull.c:461
+#: builtin/pull.c:474 builtin/pull.c:489
 msgid "See git-pull(1) for details."
 msgstr "Для дополнительной информации, смотрите git-pull(1)."
 
-#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463
-#: builtin/rebase.c:1327 git-parse-remote.sh:64
+#: builtin/pull.c:476 builtin/pull.c:482 builtin/pull.c:491
+#: builtin/rebase.c:1252
 msgid "<remote>"
 msgstr "<внешний-репозиторий>"
 
-#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468
-#: git-parse-remote.sh:65
+#: builtin/pull.c:476 builtin/pull.c:491 builtin/pull.c:496
 msgid "<branch>"
 msgstr "<ветка>"
 
-#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75
+#: builtin/pull.c:484 builtin/rebase.c:1244
 msgid "There is no tracking information for the current branch."
 msgstr "У текущей ветки нет информации об отслеживании."
 
-#: builtin/pull.c:465 git-parse-remote.sh:95
+#: builtin/pull.c:493
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "Если вы хотите указать информацию о отслеживаемой ветке, выполните:"
 
-#: builtin/pull.c:470
+#: builtin/pull.c:498
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
 "from the remote, but no such ref was fetched."
 msgstr "Ваша конфигурация указывает, что нужно слить изменения со ссылкой\n«%s» из внешнего репозитория, но такая ссылка не была получена."
 
-#: builtin/pull.c:574
+#: builtin/pull.c:609
 #, c-format
 msgid "unable to access commit %s"
 msgstr ""
 
-#: builtin/pull.c:854
+#: builtin/pull.c:915
 msgid "ignoring --verify-signatures for rebase"
 msgstr "игнорирование --verify-signatures при перемещении"
 
-#: builtin/pull.c:909
-msgid "--[no-]autostash option is only valid with --rebase."
-msgstr "--[no-]autostash можно использовать только вместе с --rebase."
-
-#: builtin/pull.c:917
+#: builtin/pull.c:972
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "Обновление еще не начавшейся ветки с изменениями, добавленными в индекс."
 
-#: builtin/pull.c:921
+#: builtin/pull.c:976
 msgid "pull with rebase"
 msgstr "получение с перемещением"
 
-#: builtin/pull.c:922
+#: builtin/pull.c:977
 msgid "please commit or stash them."
 msgstr "сделайте коммит или спрячьте их."
 
-#: builtin/pull.c:947
+#: builtin/pull.c:1002
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -15275,7 +17480,7 @@ msgid ""
 "commit %s."
 msgstr "извлечение обновило указатель на вашу текущую ветку.\nперемотка вашего рабочего каталога\nс коммита %s."
 
-#: builtin/pull.c:953
+#: builtin/pull.c:1008
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -15286,15 +17491,15 @@ msgid ""
 "to recover."
 msgstr "Не удалось перемотать вперёд изменения в вашем рабочем каталоге.\nПосле того, как вы убедитесь, что вы сохранили всё необходимое из вывода\n$ git diff %s\n, запустите\n$ git reset --hard\nдля восстановления исходного состояния."
 
-#: builtin/pull.c:968
+#: builtin/pull.c:1023
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Нельзя слить несколько веток в пустой указатель на ветку."
 
-#: builtin/pull.c:972
+#: builtin/pull.c:1027
 msgid "Cannot rebase onto multiple branches."
 msgstr "Невозможно переместить над несколькими ветками."
 
-#: builtin/pull.c:979
+#: builtin/pull.c:1041
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "невозможно выполнить перемещение с записанными локальными изменениями в подмодулях"
 
@@ -15306,17 +17511,17 @@ msgstr "git push [<опции>] [<репозиторий> [<спецификат
 msgid "tag shorthand without <tag>"
 msgstr "указано сокращение tag, но не указана сама <метка>"
 
-#: builtin/push.c:121
+#: builtin/push.c:119
 msgid "--delete only accepts plain target ref names"
 msgstr "опция --delete принимает только простые целевые имена ссылок"
 
-#: builtin/push.c:167
+#: builtin/push.c:164
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
 msgstr "\nЧтобы выбрать любую из опций на постоянной основе, смотрите push.default в «git help config»."
 
-#: builtin/push.c:170
+#: builtin/push.c:167
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -15331,7 +17536,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: builtin/push.c:185
+#: builtin/push.c:182
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -15341,7 +17546,7 @@ msgid ""
 "    git push %s HEAD:<name-of-remote-branch>\n"
 msgstr "Вы сейчас не находитесь ни на одной из веток.\nЧтобы отправить историю, ведущую к текущему (отделённый HEAD) состоянию, используйте\n\n    git push %s HEAD:<имя-внешней-ветки>\n"
 
-#: builtin/push.c:199
+#: builtin/push.c:194
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -15350,13 +17555,13 @@ msgid ""
 "    git push --set-upstream %s %s\n"
 msgstr "Текущая ветка %s не имеет вышестоящей ветки.\nЧтобы отправить текущую ветку и установить внешнюю ветку как вышестоящую для этой ветки, используйте\n\n    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:207
+#: builtin/push.c:202
 #, c-format
 msgid ""
 "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "Ваша текущая ветка %s имеет несколько вышестоящих веток, отказ в отправке изменений."
 
-#: builtin/push.c:210
+#: builtin/push.c:205
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -15364,11 +17569,11 @@ msgid ""
 "to update which remote branch."
 msgstr "Вы сейчас отправляете изменения на внешний репозиторий «%s», который не является вышестоящим для вашей текущей ветки «%s», без указания того, что отправлять и в какую внешнюю ветку."
 
-#: builtin/push.c:269
+#: builtin/push.c:260
 msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr "Вы не указали спецификацию ссылки для отправки, а push.default указан как «nothing»."
 
-#: builtin/push.c:276
+#: builtin/push.c:267
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -15376,7 +17581,7 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr "Обновления были отклонены, так как верхушка вашей текущей ветки\nпозади ее внешней части. Заберите и слейте внешние изменения \n(например, с помощью «git pull …») перед повторной попыткой отправки\nизменений.\nДля дополнительной информации, смотрите «Note about fast-forwards»\nв «git push --help»."
 
-#: builtin/push.c:282
+#: builtin/push.c:273
 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"
@@ -15384,7 +17589,7 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr "Обновления были отклонены, так как верхушка отправляемой ветки\nпозади ее внешней части. Переключитесь на ветку и заберите внешние\nизменения (например, с помощью «git pull …») перед повторной\nпопыткой отправки изменений.\nДля дополнительной информации, смотрите «Note about fast-forwards»\nв «git push --help»."
 
-#: builtin/push.c:288
+#: builtin/push.c:279
 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"
@@ -15393,86 +17598,81 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr "Обновления были отклонены, так как внешний репозиторий содержит\nизменения, которых у вас нет в вашем локальном репозитории.\nОбычно, это связанно с тем, что кто-то уже отправил изменения в \nто же место. Перед повторной отправкой ваших изменений, вам нужно\nзабрать и слить изменения из внешнего репозитория себе\n(например, с помощью «git pull …»).\nДля дополнительной информации, смотрите «Note about fast-forwards»\nв «git push --help»."
 
-#: builtin/push.c:295
+#: builtin/push.c:286
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "Обновления были отклонены, так как метка уже существует во внешнем репозитории."
 
-#: builtin/push.c:298
+#: builtin/push.c:289
 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"
 "without using the '--force' option.\n"
 msgstr "Вы не можете обновить внешнюю ссылку, которая указывает на объект, не являющийся коммитом или обновить внешнюю ссылку так, чтобы она указывала на объект, не являющийся коммитом, без указания опции «--force».\n"
 
-#: builtin/push.c:359
+#: builtin/push.c:294
+msgid ""
+"Updates were rejected because the tip of the remote-tracking\n"
+"branch has been updated since the last checkout. You may want\n"
+"to integrate those changes locally (e.g., 'git pull ...')\n"
+"before forcing an update.\n"
+msgstr ""
+
+#: builtin/push.c:364
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Отправка в %s\n"
 
-#: builtin/push.c:364
+#: builtin/push.c:371
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "не удалось отправить некоторые ссылки в «%s»"
 
-#: builtin/push.c:398
-#, c-format
-msgid "bad repository '%s'"
-msgstr "плохой репозитория «%s»"
-
-#: builtin/push.c:399
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr "Не настроена точка назначения для отправки.\nЛибо укажите URL с помощью командной строки, либо настройте внешний репозиторий с помощью\n\n    git remote add <имя> <адрес>\n\nа затем отправьте изменения с помощью имени внешнего репозитория\n\n    git push <имя>\n"
-
-#: builtin/push.c:554
+#: builtin/push.c:553
 msgid "repository"
 msgstr "репозиторий"
 
-#: builtin/push.c:555 builtin/send-pack.c:164
+#: builtin/push.c:554 builtin/send-pack.c:189
 msgid "push all refs"
 msgstr "отправить все ссылки"
 
-#: builtin/push.c:556 builtin/send-pack.c:166
+#: builtin/push.c:555 builtin/send-pack.c:191
 msgid "mirror all refs"
 msgstr "сделать зеркало всех ссылок"
 
-#: builtin/push.c:558
+#: builtin/push.c:557
 msgid "delete refs"
 msgstr "удалить ссылки"
 
-#: builtin/push.c:559
+#: builtin/push.c:558
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "отправить метки (нельзя использовать вместе с --all или --mirror)"
 
-#: builtin/push.c:562 builtin/send-pack.c:167
+#: builtin/push.c:561 builtin/send-pack.c:192
 msgid "force updates"
 msgstr "принудительное обновление"
 
-#: builtin/push.c:564 builtin/send-pack.c:181
+#: builtin/push.c:562 builtin/send-pack.c:204
 msgid "<refname>:<expect>"
 msgstr ""
 
-#: builtin/push.c:565 builtin/send-pack.c:182
+#: builtin/push.c:563 builtin/send-pack.c:205
 msgid "require old value of ref to be at this value"
 msgstr "требовать, чтобы старое значение ссылки было ожидаемым"
 
-#: builtin/push.c:568
+#: builtin/push.c:566 builtin/send-pack.c:208
+msgid "require remote updates to be integrated locally"
+msgstr ""
+
+#: builtin/push.c:569
 msgid "control recursive pushing of submodules"
 msgstr "управление рекурсивной отправкой подмодулей"
 
-#: builtin/push.c:570 builtin/send-pack.c:175
+#: builtin/push.c:570 builtin/send-pack.c:199
 msgid "use thin pack"
 msgstr "использовать тонкие пакеты"
 
-#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161
-#: builtin/send-pack.c:162
+#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:186
+#: builtin/send-pack.c:187
 msgid "receive pack program"
 msgstr "путь к программе упаковки на сервере"
 
@@ -15492,43 +17692,60 @@ msgstr "пропустить перехватчик pre-push"
 msgid "push missing but relevant tags"
 msgstr "отправить пропущенные, но нужные метки"
 
-#: builtin/push.c:582 builtin/send-pack.c:169
+#: builtin/push.c:581 builtin/send-pack.c:193
 msgid "GPG sign the push"
 msgstr "подписать отправку с помощью GPG"
 
-#: builtin/push.c:584 builtin/send-pack.c:176
+#: builtin/push.c:583 builtin/send-pack.c:200
 msgid "request atomic transaction on remote side"
 msgstr "запросить выполнение атомарной транзакции на внешней стороне"
 
-#: builtin/push.c:602
+#: builtin/push.c:601
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete несовместимо с  --all, --mirror и --tags"
 
-#: builtin/push.c:604
+#: builtin/push.c:603
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete не имеет смысла без указания ссылок"
 
-#: builtin/push.c:607
+#: builtin/push.c:623
+#, c-format
+msgid "bad repository '%s'"
+msgstr "плохой репозитория «%s»"
+
+#: builtin/push.c:624
+msgid ""
+"No configured push destination.\n"
+"Either specify the URL from the command-line or configure a remote repository using\n"
+"\n"
+"    git remote add <name> <url>\n"
+"\n"
+"and then push using the remote name\n"
+"\n"
+"    git push <name>\n"
+msgstr "Не настроена точка назначения для отправки.\nЛибо укажите URL с помощью командной строки, либо настройте внешний репозиторий с помощью\n\n    git remote add <имя> <адрес>\n\nа затем отправьте изменения с помощью имени внешнего репозитория\n\n    git push <имя>\n"
+
+#: builtin/push.c:639
 msgid "--all and --tags are incompatible"
 msgstr "--all и --tags нельзя использовать одновременно"
 
-#: builtin/push.c:609
+#: builtin/push.c:641
 msgid "--all can't be combined with refspecs"
 msgstr "--all нельзя использовать вместе со спецификаторами ссылок"
 
-#: builtin/push.c:613
+#: builtin/push.c:645
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror и --tags нельзя использовать одновременно"
 
-#: builtin/push.c:615
+#: builtin/push.c:647
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror нельзя использовать вместе со спецификаторами ссылок"
 
-#: builtin/push.c:618
+#: builtin/push.c:650
 msgid "--all and --mirror are incompatible"
 msgstr "--all и --mirror нельзя использовать одновременно"
 
-#: builtin/push.c:637
+#: builtin/push.c:657
 msgid "push options must not have new line characters"
 msgstr "опции для отправки не должны содержать символы перевода строк"
 
@@ -15544,24 +17761,32 @@ msgstr ""
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr ""
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr ""
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr ""
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr ""
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr ""
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr ""
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr ""
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr ""
 
@@ -15640,232 +17865,213 @@ msgstr "отладка unpack-trees"
 msgid "suppress feedback messages"
 msgstr ""
 
-#: builtin/rebase.c:32
+#: builtin/read-tree.c:188
+msgid "You need to resolve your current index first"
+msgstr ""
+
+#: builtin/rebase.c:35
 msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
-"[<branch>]"
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
+"[<upstream> [<branch>]]"
 msgstr ""
 
-#: builtin/rebase.c:34
+#: builtin/rebase.c:37
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root "
 "[<branch>]"
 msgstr ""
 
-#: builtin/rebase.c:36
+#: builtin/rebase.c:39
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr ""
 
-#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#: builtin/rebase.c:193 builtin/rebase.c:217 builtin/rebase.c:244
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "непригодный для использования список дел: «%s»"
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
-#, c-format
-msgid "could not write '%s'."
-msgstr ""
-
-#: builtin/rebase.c:252
-msgid "no HEAD?"
-msgstr ""
-
-#: builtin/rebase.c:279
+#: builtin/rebase.c:310
 #, c-format
 msgid "could not create temporary %s"
 msgstr ""
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:316
 msgid "could not mark as interactive"
 msgstr ""
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:369
 msgid "could not generate todo list"
 msgstr ""
 
-#: builtin/rebase.c:382
+#: builtin/rebase.c:411
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr ""
 
-#: builtin/rebase.c:437
+#: builtin/rebase.c:480
 msgid "git rebase--interactive [<options>]"
 msgstr ""
 
-#: builtin/rebase.c:449
-msgid "keep empty commits"
-msgstr "оставить пустые коммиты"
+#: builtin/rebase.c:493 builtin/rebase.c:1388
+msgid "keep commits which start empty"
+msgstr ""
 
-#: builtin/rebase.c:451 builtin/revert.c:127
+#: builtin/rebase.c:497 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "разрешить коммиты с пустыми сообщениями"
 
-#: builtin/rebase.c:452
+#: builtin/rebase.c:499
 msgid "rebase merge commits"
 msgstr ""
 
-#: builtin/rebase.c:454
+#: builtin/rebase.c:501
 msgid "keep original branch points of cousins"
 msgstr ""
 
-#: builtin/rebase.c:456
+#: builtin/rebase.c:503
 msgid "move commits that begin with squash!/fixup!"
 msgstr ""
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:504
 msgid "sign commits"
 msgstr ""
 
-#: builtin/rebase.c:459 builtin/rebase.c:1397
+#: builtin/rebase.c:506 builtin/rebase.c:1327
 msgid "display a diffstat of what changed upstream"
 msgstr ""
 
-#: builtin/rebase.c:461
+#: builtin/rebase.c:508
 msgid "continue rebase"
 msgstr "продолжить перемещение"
 
-#: builtin/rebase.c:463
+#: builtin/rebase.c:510
 msgid "skip commit"
 msgstr ""
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:511
 msgid "edit the todo list"
 msgstr ""
 
-#: builtin/rebase.c:466
+#: builtin/rebase.c:513
 msgid "show the current patch"
 msgstr ""
 
-#: builtin/rebase.c:469
+#: builtin/rebase.c:516
 msgid "shorten commit ids in the todo list"
 msgstr "вывести короткие идентификаторы коммитов в списке действий"
 
-#: builtin/rebase.c:471
+#: builtin/rebase.c:518
 msgid "expand commit ids in the todo list"
 msgstr "вывести полные идентификаторы коммитов в списке действий"
 
-#: builtin/rebase.c:473
+#: builtin/rebase.c:520
 msgid "check the todo list"
 msgstr "проверить список дел"
 
-#: builtin/rebase.c:475
+#: builtin/rebase.c:522
 msgid "rearrange fixup/squash lines"
 msgstr "переставить строки fixup/squash"
 
-#: builtin/rebase.c:477
+#: builtin/rebase.c:524
 msgid "insert exec commands in todo list"
 msgstr "вставить команды исполнения коммитов в списке действий"
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:525
 msgid "onto"
 msgstr ""
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:528
 msgid "restrict-revision"
 msgstr ""
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:528
 msgid "restrict revision"
 msgstr ""
 
-#: builtin/rebase.c:483
+#: builtin/rebase.c:530
 msgid "squash-onto"
 msgstr ""
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:531
 msgid "squash onto"
 msgstr ""
 
-#: builtin/rebase.c:486
+#: builtin/rebase.c:533
 msgid "the upstream commit"
 msgstr ""
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:535
 msgid "head-name"
 msgstr ""
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:535
 msgid "head name"
 msgstr ""
 
-#: builtin/rebase.c:493
+#: builtin/rebase.c:540
 msgid "rebase strategy"
 msgstr ""
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:541
 msgid "strategy-opts"
 msgstr ""
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:542
 msgid "strategy options"
 msgstr ""
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:543
 msgid "switch-to"
 msgstr ""
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:544
 msgid "the branch or commit to checkout"
 msgstr ""
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:545
 msgid "onto-name"
 msgstr ""
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:545
 msgid "onto name"
 msgstr ""
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:546
 msgid "cmd"
 msgstr ""
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:546
 msgid "the command to run"
 msgstr ""
 
-#: builtin/rebase.c:502 builtin/rebase.c:1480
+#: builtin/rebase.c:549 builtin/rebase.c:1421
 msgid "automatically re-schedule any `exec` that fails"
 msgstr ""
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:565
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins не имеет смысла без указания --rebase-merges"
 
-#: builtin/rebase.c:534 builtin/rebase.c:1787
+#: builtin/rebase.c:581
 #, c-format
-msgid "%s requires an interactive rebase"
+msgid "%s requires the merge backend"
 msgstr ""
 
-#: builtin/rebase.c:586
+#: builtin/rebase.c:624
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr ""
 
-#: builtin/rebase.c:601
+#: builtin/rebase.c:641
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:666
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr ""
 
-#: builtin/rebase.c:702
-#, c-format
-msgid "Could not read '%s'"
-msgstr ""
-
-#: builtin/rebase.c:720
-#, c-format
-msgid "Cannot store %s"
-msgstr ""
-
-#: builtin/rebase.c:817
-msgid "could not determine HEAD revision"
-msgstr ""
-
-#: builtin/rebase.c:940
+#: builtin/rebase.c:811 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"
@@ -15873,7 +18079,7 @@ msgid ""
 "To abort and get back to the state before \"git rebase\", run \"git rebase --abort\"."
 msgstr "Разрешите все конфликты вручную, пометьте их разрешёнными с помощью «git add/rm <конфликтующие-файлы>», а затем запустите «git rebase --continue».\nЕсли вы хотите пропустить этот коммит, то запустите «git rebase --skip».\nЧтобы вернуться на состояние до «git rebase», запустите «git rebase --abort»."
 
-#: builtin/rebase.c:1021
+#: builtin/rebase.c:894
 #, c-format
 msgid ""
 "\n"
@@ -15885,7 +18091,12 @@ msgid ""
 "As a result, git cannot rebase them."
 msgstr ""
 
-#: builtin/rebase.c:1313
+#: builtin/rebase.c:1220
+#, c-format
+msgid "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask\"."
+msgstr ""
+
+#: builtin/rebase.c:1238
 #, c-format
 msgid ""
 "%s\n"
@@ -15896,7 +18107,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/rebase.c:1329
+#: builtin/rebase.c:1254
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -15905,174 +18116,201 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1284
 msgid "exec commands cannot contain newlines"
 msgstr ""
 
-#: builtin/rebase.c:1363
+#: builtin/rebase.c:1288
 msgid "empty exec command"
 msgstr ""
 
-#: builtin/rebase.c:1390
+#: builtin/rebase.c:1318
 msgid "rebase onto given branch instead of upstream"
 msgstr ""
 
-#: builtin/rebase.c:1392
+#: builtin/rebase.c:1320
+msgid "use the merge-base of upstream and branch as the current base"
+msgstr ""
+
+#: builtin/rebase.c:1322
 msgid "allow pre-rebase hook to run"
 msgstr ""
 
-#: builtin/rebase.c:1394
+#: builtin/rebase.c:1324
 msgid "be quiet. implies --no-stat"
 msgstr ""
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1330
 msgid "do not show diffstat of what changed upstream"
 msgstr ""
 
-#: builtin/rebase.c:1403
-msgid "add a Signed-off-by: line to each commit"
+#: builtin/rebase.c:1333
+msgid "add a Signed-off-by trailer to each commit"
+msgstr ""
+
+#: builtin/rebase.c:1336
+msgid "make committer date match author date"
+msgstr ""
+
+#: builtin/rebase.c:1338
+msgid "ignore author date and use current date"
 msgstr ""
 
-#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411
-msgid "passed to 'git am'"
+#: builtin/rebase.c:1340
+msgid "synonym of --reset-author-date"
 msgstr ""
 
-#: builtin/rebase.c:1413 builtin/rebase.c:1415
+#: builtin/rebase.c:1342 builtin/rebase.c:1346
 msgid "passed to 'git apply'"
 msgstr ""
 
-#: builtin/rebase.c:1417 builtin/rebase.c:1420
+#: builtin/rebase.c:1344
+msgid "ignore changes in whitespace"
+msgstr ""
+
+#: builtin/rebase.c:1348 builtin/rebase.c:1351
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 
-#: builtin/rebase.c:1422
+#: builtin/rebase.c:1353
 msgid "continue"
 msgstr ""
 
-#: builtin/rebase.c:1425
+#: builtin/rebase.c:1356
 msgid "skip current patch and continue"
 msgstr ""
 
-#: builtin/rebase.c:1427
+#: builtin/rebase.c:1358
 msgid "abort and check out the original branch"
 msgstr ""
 
-#: builtin/rebase.c:1430
+#: builtin/rebase.c:1361
 msgid "abort but keep HEAD where it is"
 msgstr ""
 
-#: builtin/rebase.c:1431
+#: builtin/rebase.c:1362
 msgid "edit the todo list during an interactive rebase"
 msgstr ""
 
-#: builtin/rebase.c:1434
+#: builtin/rebase.c:1365
 msgid "show the patch file being applied or merged"
 msgstr ""
 
-#: builtin/rebase.c:1437
+#: builtin/rebase.c:1368
+msgid "use apply strategies to rebase"
+msgstr ""
+
+#: builtin/rebase.c:1372
 msgid "use merging strategies to rebase"
 msgstr ""
 
-#: builtin/rebase.c:1441
+#: builtin/rebase.c:1376
 msgid "let the user edit the list of commits to rebase"
 msgstr ""
 
-#: builtin/rebase.c:1445
+#: builtin/rebase.c:1380
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr ""
 
-#: builtin/rebase.c:1449
-msgid "preserve empty commits during rebase"
+#: builtin/rebase.c:1385
+msgid "how to handle commits that become empty"
 msgstr ""
 
-#: builtin/rebase.c:1451
+#: builtin/rebase.c:1392
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr ""
 
-#: builtin/rebase.c:1457
-msgid "automatically stash/stash pop before and after"
-msgstr ""
-
-#: builtin/rebase.c:1459
+#: builtin/rebase.c:1399
 msgid "add exec lines after each commit of the editable list"
 msgstr ""
 
-#: builtin/rebase.c:1463
+#: builtin/rebase.c:1403
 msgid "allow rebasing commits with empty messages"
 msgstr ""
 
-#: builtin/rebase.c:1466
+#: builtin/rebase.c:1407
 msgid "try to rebase merges instead of skipping them"
 msgstr ""
 
-#: builtin/rebase.c:1469
+#: builtin/rebase.c:1410
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr ""
 
-#: builtin/rebase.c:1471
+#: builtin/rebase.c:1412
 msgid "use the given merge strategy"
 msgstr ""
 
-#: builtin/rebase.c:1473 builtin/revert.c:114
+#: builtin/rebase.c:1414 builtin/revert.c:115
 msgid "option"
 msgstr "опция"
 
-#: builtin/rebase.c:1474
+#: builtin/rebase.c:1415
 msgid "pass the argument through to the merge strategy"
 msgstr ""
 
-#: builtin/rebase.c:1477
+#: builtin/rebase.c:1418
 msgid "rebase all reachable commits up to the root(s)"
 msgstr ""
 
-#: builtin/rebase.c:1498
+#: builtin/rebase.c:1423
+msgid "apply all changes, even those already present upstream"
+msgstr ""
+
+#: builtin/rebase.c:1440
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
 msgstr ""
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1446
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "Похоже, что выполняется «git am». Невозможно выполнить перемещение."
 
-#: builtin/rebase.c:1545
+#: builtin/rebase.c:1487
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 
-#: builtin/rebase.c:1549
+#: builtin/rebase.c:1492
+msgid "cannot combine '--keep-base' with '--onto'"
+msgstr ""
+
+#: builtin/rebase.c:1494
+msgid "cannot combine '--keep-base' with '--root'"
+msgstr ""
+
+#: builtin/rebase.c:1498
+msgid "cannot combine '--root' with '--fork-point'"
+msgstr ""
+
+#: builtin/rebase.c:1501
 msgid "No rebase in progress?"
 msgstr "Нет перемещения в процессе?"
 
-#: builtin/rebase.c:1553
+#: builtin/rebase.c:1505
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "Действие --edit-todo может использоваться только при интерактивном перемещении."
 
-#: builtin/rebase.c:1576
+#: builtin/rebase.c:1528 t/helper/test-fast-rebase.c:123
 msgid "Cannot read HEAD"
 msgstr "Не удалось прочитать HEAD"
 
-#: builtin/rebase.c:1588
+#: builtin/rebase.c:1540
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgstr "Вы должны отредактировать все\nконфликты слияния, а потом пометить\nих как разрешенные с помощью git add"
 
-#: builtin/rebase.c:1607
+#: builtin/rebase.c:1559
 msgid "could not discard worktree changes"
 msgstr ""
 
-#: builtin/rebase.c:1626
-#, c-format
-msgid "could not move back to %s"
-msgstr ""
-
-#: builtin/rebase.c:1637 builtin/rm.c:369
+#: builtin/rebase.c:1578
 #, c-format
-msgid "could not remove '%s'"
-msgstr "не удалось удалить «%s»"
+msgid "could not move back to %s"
+msgstr ""
 
-#: builtin/rebase.c:1663
+#: builtin/rebase.c:1624
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -16085,167 +18323,140 @@ msgid ""
 "valuable there.\n"
 msgstr ""
 
-#: builtin/rebase.c:1684
+#: builtin/rebase.c:1652
 msgid "switch `C' expects a numerical value"
 msgstr ""
 
-#: builtin/rebase.c:1725
+#: builtin/rebase.c:1694
 #, c-format
 msgid "Unknown mode: %s"
 msgstr ""
 
-#: builtin/rebase.c:1747
+#: builtin/rebase.c:1733
 msgid "--strategy requires --merge or --interactive"
 msgstr ""
 
-#: builtin/rebase.c:1796
-msgid "cannot combine am options with either interactive or merge options"
+#: builtin/rebase.c:1763
+msgid "cannot combine apply options with merge options"
 msgstr ""
 
-#: builtin/rebase.c:1815
-msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
+#: builtin/rebase.c:1776
+#, c-format
+msgid "Unknown rebase backend: %s"
 msgstr ""
 
-#: builtin/rebase.c:1819
-msgid ""
-"error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
+#: builtin/rebase.c:1806
+msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr ""
 
-#: builtin/rebase.c:1825
-msgid "cannot combine '--rebase-merges' with '--strategy-option'"
+#: builtin/rebase.c:1826
+msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr ""
 
-#: builtin/rebase.c:1828
-msgid "cannot combine '--rebase-merges' with '--strategy'"
+#: builtin/rebase.c:1830
+msgid ""
+"error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 
-#: builtin/rebase.c:1852
+#: builtin/rebase.c:1854
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1858
+#: builtin/rebase.c:1860
 msgid "Could not create new root commit"
 msgstr ""
 
-#: builtin/rebase.c:1876
+#: builtin/rebase.c:1886
+#, c-format
+msgid "'%s': need exactly one merge base with branch"
+msgstr ""
+
+#: builtin/rebase.c:1889
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr ""
 
-#: builtin/rebase.c:1883
+#: builtin/rebase.c:1897
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1908
+#: builtin/rebase.c:1923
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr ""
 
-#: builtin/rebase.c:1916 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1933
+#: builtin/rebase.c:1931 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:2414
 #, c-format
 msgid "No such ref: %s"
 msgstr "Нет такой ссылки: %s"
 
-#: builtin/rebase.c:1927
+#: builtin/rebase.c:1942
 msgid "Could not resolve HEAD to a revision"
 msgstr ""
 
-#: builtin/rebase.c:1968
-msgid "Cannot autostash"
-msgstr "Не удалось автоматически спрятать изменения"
-
-#: builtin/rebase.c:1971
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1977
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1980
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr ""
-
-#: builtin/rebase.c:1983
-msgid "could not reset --hard"
-msgstr ""
-
-#: builtin/rebase.c:1984 builtin/reset.c:114
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD сейчас на %s"
-
-#: builtin/rebase.c:2000
+#: builtin/rebase.c:1963
 msgid "Please commit or stash them."
 msgstr "Сделайте коммит или спрячьте их."
 
-#: builtin/rebase.c:2027
-#, c-format
-msgid "could not parse '%s'"
-msgstr ""
-
-#: builtin/rebase.c:2040
+#: builtin/rebase.c:1999
 #, c-format
 msgid "could not switch to %s"
 msgstr ""
 
-#: builtin/rebase.c:2051
+#: builtin/rebase.c:2010
 msgid "HEAD is up to date."
 msgstr "HEAD уже в актуальном состоянии."
 
-#: builtin/rebase.c:2053
+#: builtin/rebase.c:2012
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr ""
 
-#: builtin/rebase.c:2061
+#: builtin/rebase.c:2020
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD уже в актуальном состоянии, принудительное перемещение."
 
-#: builtin/rebase.c:2063
+#: builtin/rebase.c:2022
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr ""
 
-#: builtin/rebase.c:2071
+#: builtin/rebase.c:2030
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Перехватчик pre-rebase отказал в перемещении."
 
-#: builtin/rebase.c:2078
+#: builtin/rebase.c:2037
 #, c-format
 msgid "Changes to %s:\n"
 msgstr ""
 
-#: builtin/rebase.c:2081
+#: builtin/rebase.c:2040
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr ""
 
-#: builtin/rebase.c:2106
+#: builtin/rebase.c:2065
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 
-#: builtin/rebase.c:2115
+#: builtin/rebase.c:2074
 msgid "Could not detach HEAD"
 msgstr ""
 
-#: builtin/rebase.c:2124
+#: builtin/rebase.c:2083
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr ""
 
-#: builtin/receive-pack.c:33
+#: builtin/receive-pack.c:34
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <каталог-git>"
 
-#: builtin/receive-pack.c:833
+#: builtin/receive-pack.c:1276
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -16262,7 +18473,7 @@ msgid ""
 "'receive.denyCurrentBranch' configuration variable to 'refuse'."
 msgstr "По умолчанию, обновлять текущую ветку в репозитории с рабочей\nкопией (не голом) запрещено, так как это сделает состояние индекса\nи рабочего каталога противоречивым, и вам прийдется выполнить\n«git reset --hard», чтобы состояние рабочего каталога снова\nсоответствовало HEAD.\n\nВы можете установить значение опции «receive.denyCurrentBranch»\nв «ignore» или «warn» во внешнем репозитории, чтобы разрешить\nотправку в его текущую ветку; но это не рекомендуется, если только\nвы не намерены обновить его рабочий каталог способом подобным\nвышеописанному.\n\nЧтобы пропустить это сообщение и все равно оставить поведение\nпо умолчанию, установите значение опции «receive.denyCurrentBranch»\nв «refuse»."
 
-#: builtin/receive-pack.c:853
+#: builtin/receive-pack.c:1296
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -16274,11 +18485,11 @@ msgid ""
 "To squelch this message, you can set it to 'refuse'."
 msgstr "По умолчанию, удаление текущей ветки запрещено, так как последующий\n«git clone» не сможет получить никаких файлов, что приведет к путанице.\n\nВы можете установить значение опции «receive.denyDeleteCurrent»\nв «warn» или «ignore», во внешнем репозитории,  чтобы разрешить\nудаление текущей ветки с или без предупреждающего сообщения.\n\nЧтобы пропустить это сообщение, вы можете установить значение опции\nв «refuse»."
 
-#: builtin/receive-pack.c:1940
+#: builtin/receive-pack.c:2481
 msgid "quiet"
 msgstr "тихий режим"
 
-#: builtin/receive-pack.c:1954
+#: builtin/receive-pack.c:2495
 msgid "You must specify a directory."
 msgstr "Вы должны указать каталог."
 
@@ -16299,210 +18510,218 @@ msgstr ""
 msgid "git reflog exists <ref>"
 msgstr ""
 
-#: builtin/reflog.c:567 builtin/reflog.c:572
+#: builtin/reflog.c:568 builtin/reflog.c:573
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "«%s» не является допустимой меткой даты/времени"
 
-#: builtin/reflog.c:605
+#: builtin/reflog.c:606
 #, c-format
 msgid "Marking reachable objects..."
 msgstr ""
 
-#: builtin/reflog.c:643
+#: builtin/reflog.c:644
 #, c-format
 msgid "%s points nowhere!"
 msgstr ""
 
-#: builtin/reflog.c:695
+#: builtin/reflog.c:696
 msgid "no reflog specified to delete"
 msgstr ""
 
-#: builtin/reflog.c:704
+#: builtin/reflog.c:705
 #, c-format
 msgid "not a reflog: %s"
 msgstr ""
 
-#: builtin/reflog.c:709
+#: builtin/reflog.c:710
 #, c-format
 msgid "no reflog for '%s'"
 msgstr ""
 
-#: builtin/reflog.c:755
+#: builtin/reflog.c:756
 #, c-format
 msgid "invalid ref format: %s"
 msgstr ""
 
-#: builtin/reflog.c:764
+#: builtin/reflog.c:765
 msgid "git reflog [ show | expire | delete | exists ]"
 msgstr ""
 
-#: builtin/remote.c:16
+#: builtin/remote.c:17
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:17
+#: builtin/remote.c:18
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] "
 "[--mirror=<fetch|push>] <name> <url>"
 msgstr "git remote add [-t <ветка>] [-m <мастер-ветка>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <имя> <адрес>"
 
-#: builtin/remote.c:18 builtin/remote.c:38
+#: builtin/remote.c:19 builtin/remote.c:39
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <старое-название> <новое-название>"
 
-#: builtin/remote.c:19 builtin/remote.c:43
+#: builtin/remote.c:20 builtin/remote.c:44
 msgid "git remote remove <name>"
 msgstr "git remote remove <имя>"
 
-#: builtin/remote.c:20 builtin/remote.c:48
+#: builtin/remote.c:21 builtin/remote.c:49
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <имя> (-a | --auto | -d | --delete | <ветка>)"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <имя>"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <имя>"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr "git remote [-v | --verbose] update [-p | --prune] [(<группа> | <имя-внешнего-репозитория>)…]"
 
-#: builtin/remote.c:24
+#: builtin/remote.c:25
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <имя> <ветка>…"
 
-#: builtin/remote.c:25 builtin/remote.c:74
+#: builtin/remote.c:26 builtin/remote.c:75
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <имя>"
 
-#: builtin/remote.c:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <имя> <новый-url> [<старый-url>]"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <имя> <новый-url>"
 
-#: builtin/remote.c:28 builtin/remote.c:81
+#: builtin/remote.c:29 builtin/remote.c:82
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <имя> <url>"
 
-#: builtin/remote.c:33
+#: builtin/remote.c:34
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<опции>] <имя> <url>"
 
-#: builtin/remote.c:53
+#: builtin/remote.c:54
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <имя> <ветка>…"
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <имя> <ветка>…"
 
-#: builtin/remote.c:59
+#: builtin/remote.c:60
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<опции>] <имя>"
 
-#: builtin/remote.c:64
+#: builtin/remote.c:65
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<опции>] <имя>"
 
-#: builtin/remote.c:69
+#: builtin/remote.c:70
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<опции>] [<группа> | <имя-внешнего-репозитория>]…"
 
-#: builtin/remote.c:98
+#: builtin/remote.c:99
 #, c-format
 msgid "Updating %s"
 msgstr "Обновление %s"
 
-#: builtin/remote.c:130
+#: builtin/remote.c:131
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
 msgstr "ключ --mirror небезопасен и не рекомендуется к использованию;\nиспользуйте вместо него --mirror=fetch или --mirror=push"
 
-#: builtin/remote.c:147
+#: builtin/remote.c:148
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "неизвестный аргумент для mirror: %s"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:164
 msgid "fetch the remote branches"
 msgstr "извлечь внешние ветки"
 
-#: builtin/remote.c:165
+#: builtin/remote.c:166
 msgid "import all tags and associated objects when fetching"
 msgstr "импортировать все метки и ассоциированные объекты при извлечении"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "или не извлекать метки вообще (--no-tags)"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "branch(es) to track"
 msgstr "отслеживаемые ветки"
 
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "master branch"
 msgstr "мастер ветка"
 
-#: builtin/remote.c:173
+#: builtin/remote.c:174
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "настроить внешний репозиторий как зеркало для отправки или извлечения изменений"
 
-#: builtin/remote.c:185
+#: builtin/remote.c:186
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "указание мастер ветки не имеет смысла с параметром --mirror"
 
-#: builtin/remote.c:187
+#: builtin/remote.c:188
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "указание отслеживаемых веток имеет смысл только при зеркальном извлечении"
 
-#: builtin/remote.c:194 builtin/remote.c:636
+#: builtin/remote.c:195 builtin/remote.c:700
 #, c-format
 msgid "remote %s already exists."
 msgstr "внешний репозиторий %s уже существует"
 
-#: builtin/remote.c:198 builtin/remote.c:640
-#, c-format
-msgid "'%s' is not a valid remote name"
-msgstr "«%s» не является допустимым именем внешнего репозитория."
-
-#: builtin/remote.c:238
+#: builtin/remote.c:240
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Не удалось настроить мастер ветку «%s»"
 
-#: builtin/remote.c:344
+#: builtin/remote.c:355
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "Не удалось извлечь карту для спецификатора ссылки %s"
 
-#: builtin/remote.c:443 builtin/remote.c:451
+#: builtin/remote.c:454 builtin/remote.c:462
 msgid "(matching)"
 msgstr "(соответствующая)"
 
-#: builtin/remote.c:455
+#: builtin/remote.c:466
 msgid "(delete)"
 msgstr "(удаленная)"
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:655
+#, c-format
+msgid "could not set '%s'"
+msgstr ""
+
+#: builtin/remote.c:660
+#, c-format
+msgid ""
+"The %s configuration remote.pushDefault in:\n"
+"\t%s:%d\n"
+"now names the non-existent remote '%s'"
+msgstr ""
+
+#: builtin/remote.c:691 builtin/remote.c:836 builtin/remote.c:946
 #, c-format
 msgid "No such remote: '%s'"
 msgstr ""
 
-#: builtin/remote.c:646
+#: builtin/remote.c:710
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Не удалось переименовать секцию конфигурации с «%s» на «%s»"
 
-#: builtin/remote.c:666
+#: builtin/remote.c:730
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -16510,17 +18729,17 @@ msgid ""
 "\tPlease update the configuration manually if necessary."
 msgstr "Не обновляю нестандартную спецификатор ссылки для извлечения\n\t%s\n\tПожалуйста, если требуется, обновите конфигурацию вручную."
 
-#: builtin/remote.c:702
+#: builtin/remote.c:770
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "не удалось удалить «%s»"
 
-#: builtin/remote.c:736
+#: builtin/remote.c:804
 #, c-format
 msgid "creating '%s' failed"
 msgstr "не удалось создать «%s»"
 
-#: builtin/remote.c:802
+#: builtin/remote.c:882
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -16532,148 +18751,148 @@ msgstr[1] "Примечание: Некоторые ветки вне иерар
 msgstr[2] "Примечание: Некоторые ветки вне иерархии refs/remotes/ не будут удалены;\nчтобы удалить их, используйте:"
 msgstr[3] "Примечание: Некоторые ветки вне иерархии refs/remotes/ не будут удалены;\nчтобы удалить их, используйте:"
 
-#: builtin/remote.c:816
+#: builtin/remote.c:896
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Не удалось удалить секцию файла конфигурации «%s»"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:999
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " новая (следующее извлечение сохранит ее в remotes/%s)"
 
-#: builtin/remote.c:920
+#: builtin/remote.c:1002
 msgid " tracked"
 msgstr " отслеживается"
 
-#: builtin/remote.c:922
+#: builtin/remote.c:1004
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " недействительна (используйте «git remote prune», чтобы удалить)"
 
-#: builtin/remote.c:924
+#: builtin/remote.c:1006
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:965
+#: builtin/remote.c:1047
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "неправильный параметр конфигурации branch.%s.merge; невозможно переместить более чем над 1 веткой"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:1056
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "перемещается интерактивно над внешней веткой %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:1058
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr ""
 
-#: builtin/remote.c:979
+#: builtin/remote.c:1061
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "перемещается над внешней веткой %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:1065
 #, c-format
 msgid " merges with remote %s"
 msgstr " будет слита с внешней веткой %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:1068
 #, c-format
 msgid "merges with remote %s"
 msgstr "будет слита с внешней веткой %s"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:1071
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    и с внешней веткой %s\n"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1114
 msgid "create"
 msgstr "создана"
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1117
 msgid "delete"
 msgstr "удалена"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1121
 msgid "up to date"
 msgstr "уже актуальна"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1124
 msgid "fast-forwardable"
 msgstr "возможна перемотка вперед"
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1127
 msgid "local out of date"
 msgstr "локальная ветка устарела"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1134
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s будет принудительно отправлена в %-*s (%s)"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1137
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s будет отправлена в %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1141
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s будет принудительно отправлена в %s"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1144
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s будет отправлена в %s"
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1212
 msgid "do not query remotes"
 msgstr "не опрашивать внешние репозитории"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1239
 #, c-format
 msgid "* remote %s"
 msgstr "* внешний репозиторий %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1240
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL для извлечения: %s"
 
-#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
+#: builtin/remote.c:1241 builtin/remote.c:1257 builtin/remote.c:1396
 msgid "(no URL)"
 msgstr "(нет URL)"
 
 #. TRANSLATORS: the colon ':' should align
 #. with the one in " Fetch URL: %s"
 #. translation.
-#: builtin/remote.c:1173 builtin/remote.c:1175
+#: builtin/remote.c:1255 builtin/remote.c:1257
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "    URL для отправки: %s"
 
-#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
+#: builtin/remote.c:1259 builtin/remote.c:1261 builtin/remote.c:1263
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD ветка: %s"
 
-#: builtin/remote.c:1177
+#: builtin/remote.c:1259
 msgid "(not queried)"
 msgstr "(не запрашивался)"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1261
 msgid "(unknown)"
 msgstr "(неизвестно)"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1265
 #, c-format
 msgid "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD ветка (HEAD внешнего репозитория неоднозначный, может быть одним из):\n"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1277
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -16682,11 +18901,11 @@ msgstr[1] "  Внешние ветки:%s"
 msgstr[2] "  Внешние ветки:%s"
 msgstr[3] "  Внешние ветки:%s"
 
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1280 builtin/remote.c:1306
 msgid " (status not queried)"
 msgstr " (статус не запрашивался)"
 
-#: builtin/remote.c:1207
+#: builtin/remote.c:1289
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Локальная ветка, настроенная для «git pull»:"
@@ -16694,11 +18913,11 @@ msgstr[1] "  Локальные ветки, настроенные для «git
 msgstr[2] "  Локальные ветки, настроенные для «git pull»:"
 msgstr[3] "  Локальные ветки, настроенные для «git pull»:"
 
-#: builtin/remote.c:1215
+#: builtin/remote.c:1297
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr " Локальные ссылки, зеркалируемые с помощью «git push»"
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1303
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
@@ -16707,266 +18926,250 @@ msgstr[1] "  Локальные ссылки, настроенные для «gi
 msgstr[2] "  Локальные ссылки, настроенные для «git push»%s:"
 msgstr[3] "  Локальные ссылки, настроенные для «git push»%s:"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1324
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "установить refs/remotes/<имя>/HEAD в зависимости от внешнего репозитория"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1326
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "удалить refs/remotes/<имя>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1341
 msgid "Cannot determine remote HEAD"
 msgstr "Не удалось определить внешний HEAD"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1343
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "Несколько внешних HEAD веток. Укажите явно одну из них:"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1353
 #, c-format
 msgid "Could not delete %s"
 msgstr "Не удалось удалить %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1361
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Недопустимая ссылка: %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1363
 #, c-format
 msgid "Could not setup %s"
 msgstr "Не удалось настроить %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1381
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s будет висящей веткой!"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1382
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s стала висящей веткой!"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1392
 #, c-format
 msgid "Pruning %s"
 msgstr "Очистка %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1393
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1409
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [будет удалена] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1412
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [удалена] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1457
 msgid "prune remotes after fetching"
 msgstr "почистить внешние репозитории после извлечения"
 
-#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
+#: builtin/remote.c:1521 builtin/remote.c:1577 builtin/remote.c:1647
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Нет такого внешнего репозитория «%s»"
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1539
 msgid "add branch"
 msgstr "добавить ветку"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1546
 msgid "no remote specified"
 msgstr "не указан внешний репозиторий"
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1563
 msgid "query push URLs rather than fetch URLs"
 msgstr "запросить URL отправки, вместо URL извлечения"
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1565
 msgid "return all URLs"
 msgstr "вернуть все URL"
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1595
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "URL не настроены для внешнего репозитория «%s»"
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1621
 msgid "manipulate push URLs"
 msgstr "управление URL отправки"
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1623
 msgid "add URL"
 msgstr "добавить URL"
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1625
 msgid "delete URLs"
 msgstr "удалить URL"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1632
 msgid "--add --delete doesn't make sense"
 msgstr "--add нельзя использовать одновременно с --delete"
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1673
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Неправильный шаблон старого URL: %s"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1681
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Не найдены совпадения URL: %s"
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1683
 msgid "Will not delete all non-push URLs"
 msgstr "Нельзя удалить все URL не-отправки"
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr "быть многословнее; должно стоять перед подкомандой"
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr "Неизвестная подкоманда: %s"
-
-#: builtin/repack.c:22
+#: builtin/repack.c:25
 msgid "git repack [<options>]"
 msgstr "git repack [<опции>]"
 
-#: builtin/repack.c:27
+#: builtin/repack.c:30
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
 msgstr "Инкрементальные перепаковки не совместимы с индексами в битовых картах.  Используйте опцию --no-write-bitmap-index или отключите параметр конфигурации pack.writebitmaps."
 
-#: builtin/repack.c:200
+#: builtin/repack.c:197
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 
-#: builtin/repack.c:239 builtin/repack.c:414
+#: builtin/repack.c:268 builtin/repack.c:447
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 
-#: builtin/repack.c:256
+#: builtin/repack.c:295
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 
-#: builtin/repack.c:294
+#: builtin/repack.c:323
 msgid "pack everything in a single pack"
 msgstr "упаковать всё в один пакет"
 
-#: builtin/repack.c:296
+#: builtin/repack.c:325
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "тоже, что и -a, но дополнительно отбросить недостижимые объекты"
 
-#: builtin/repack.c:299
+#: builtin/repack.c:328
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "удалите лишние пакеты и запустите git-prune-packed"
 
-#: builtin/repack.c:301
+#: builtin/repack.c:330
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "передать опцию --no-reuse-delta в git-pack-objects"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:332
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "передать опцию --no-reuse-object в git-pack-objects"
 
-#: builtin/repack.c:305
+#: builtin/repack.c:334
 msgid "do not run git-update-server-info"
 msgstr "не запускать git-update-server-info"
 
-#: builtin/repack.c:308
+#: builtin/repack.c:337
 msgid "pass --local to git-pack-objects"
 msgstr "передать опцию --local в git-pack-objects"
 
-#: builtin/repack.c:310
+#: builtin/repack.c:339
 msgid "write bitmap index"
 msgstr "запись индекса в битовых картах"
 
-#: builtin/repack.c:312
+#: builtin/repack.c:341
 msgid "pass --delta-islands to git-pack-objects"
 msgstr ""
 
-#: builtin/repack.c:313
+#: builtin/repack.c:342
 msgid "approxidate"
 msgstr "примерная-дата"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:343
 msgid "with -A, do not loosen objects older than this"
 msgstr "с опцией -A, не отбрасывать объекты старее, чем указано"
 
-#: builtin/repack.c:316
+#: builtin/repack.c:345
 msgid "with -a, repack unreachable objects"
 msgstr "с параметром -a, перепаковать недоступные объекты"
 
-#: builtin/repack.c:318
+#: builtin/repack.c:347
 msgid "size of the window used for delta compression"
 msgstr "размер окна, используемый для компрессии дельт"
 
-#: builtin/repack.c:319 builtin/repack.c:325
+#: builtin/repack.c:348 builtin/repack.c:354
 msgid "bytes"
 msgstr "количество-байт"
 
-#: builtin/repack.c:320
+#: builtin/repack.c:349
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "тоже, что и выше, но ограничить размер памяти, а не количество записей"
 
-#: builtin/repack.c:322
+#: builtin/repack.c:351
 msgid "limits the maximum delta depth"
 msgstr "ограничение на максимальную глубину дельт"
 
-#: builtin/repack.c:324
+#: builtin/repack.c:353
 msgid "limits the maximum number of threads"
 msgstr "ограничение на максимальное количество потоков"
 
-#: builtin/repack.c:326
+#: builtin/repack.c:355
 msgid "maximum size of each packfile"
 msgstr "максимальный размер каждого из файлов пакета"
 
-#: builtin/repack.c:328
+#: builtin/repack.c:357
 msgid "repack objects in packs marked with .keep"
 msgstr "переупаковать объекты в пакеты, помеченные файлом .keep"
 
-#: builtin/repack.c:330
+#: builtin/repack.c:359
 msgid "do not repack this pack"
 msgstr ""
 
-#: builtin/repack.c:340
+#: builtin/repack.c:369
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "нельзя удалять пакеты в precious-objects репозитории"
 
-#: builtin/repack.c:344
+#: builtin/repack.c:373
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable и -A нельзя использовать одновременно"
 
-#: builtin/repack.c:423
+#: builtin/repack.c:456
 msgid "Nothing new to pack."
 msgstr ""
 
-#: builtin/repack.c:484
+#: builtin/repack.c:486
 #, c-format
-msgid ""
-"WARNING: Some packs in use have been renamed by\n"
-"WARNING: prefixing old- to their name, in order to\n"
-"WARNING: replace them with the new version of the\n"
-"WARNING: file.  But the operation failed, and the\n"
-"WARNING: attempt to rename them back to their\n"
-"WARNING: original names also failed.\n"
-"WARNING: Please rename them in %s manually:\n"
+msgid "missing required file: %s"
 msgstr ""
 
-#: builtin/repack.c:532
+#: builtin/repack.c:488
 #, c-format
-msgid "failed to remove '%s'"
-msgstr "сбой удаления «%s»"
+msgid "could not unlink: %s"
+msgstr ""
 
 #: builtin/replace.c:22
 msgid "git replace [-f] <object> <replacement>"
@@ -17066,8 +19269,8 @@ msgstr ""
 msgid "unable to write object to database"
 msgstr ""
 
-#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
-#: builtin/replace.c:452
+#: builtin/replace.c:322 builtin/replace.c:378 builtin/replace.c:424
+#: builtin/replace.c:454
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr ""
@@ -17086,124 +19289,124 @@ msgstr ""
 msgid "new object is the same as the old one: '%s'"
 msgstr ""
 
-#: builtin/replace.c:383
+#: builtin/replace.c:384
 #, c-format
 msgid "could not parse %s as a commit"
 msgstr ""
 
-#: builtin/replace.c:414
+#: builtin/replace.c:416
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "плохая метка слияния в коммите «%s»"
 
-#: builtin/replace.c:416
+#: builtin/replace.c:418
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "повреждённая метка слияния в коммите «%s»"
 
-#: builtin/replace.c:428
+#: builtin/replace.c:430
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr "оригинальный коммит «%s» содержит метку слияния «%s», которая была отброшена; используйте --edit вместо --graft"
 
-#: builtin/replace.c:467
+#: builtin/replace.c:469
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr ""
 
-#: builtin/replace.c:468
+#: builtin/replace.c:470
 msgid "the signature will be removed in the replacement commit!"
 msgstr "подпись будет удалена в замененном коммите!"
 
-#: builtin/replace.c:478
+#: builtin/replace.c:480
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "не удалось записать замену для коммита: «%s»"
 
-#: builtin/replace.c:486
+#: builtin/replace.c:488
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr ""
 
-#: builtin/replace.c:490
+#: builtin/replace.c:492
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr ""
 
-#: builtin/replace.c:525
+#: builtin/replace.c:527
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
 "%s"
 msgstr ""
 
-#: builtin/replace.c:546
+#: builtin/replace.c:548
 msgid "list replace refs"
 msgstr "вывести список заменяемых ссылок"
 
-#: builtin/replace.c:547
+#: builtin/replace.c:549
 msgid "delete replace refs"
 msgstr "удаление заменяемых ссылок"
 
-#: builtin/replace.c:548
+#: builtin/replace.c:550
 msgid "edit existing object"
 msgstr "изменение существующего объекта"
 
-#: builtin/replace.c:549
+#: builtin/replace.c:551
 msgid "change a commit's parents"
 msgstr "изменение родителя коммита"
 
-#: builtin/replace.c:550
+#: builtin/replace.c:552
 msgid "convert existing graft file"
 msgstr ""
 
-#: builtin/replace.c:551
+#: builtin/replace.c:553
 msgid "replace the ref if it exists"
 msgstr "замена ссылки, если она существует"
 
-#: builtin/replace.c:553
+#: builtin/replace.c:555
 msgid "do not pretty-print contents for --edit"
 msgstr "не делать структурированный вывод содержимого для --edit"
 
-#: builtin/replace.c:554
+#: builtin/replace.c:556
 msgid "use this format"
 msgstr "использовать этот формат"
 
-#: builtin/replace.c:567
+#: builtin/replace.c:569
 msgid "--format cannot be used when not listing"
 msgstr ""
 
-#: builtin/replace.c:575
+#: builtin/replace.c:577
 msgid "-f only makes sense when writing a replacement"
 msgstr ""
 
-#: builtin/replace.c:579
+#: builtin/replace.c:581
 msgid "--raw only makes sense with --edit"
 msgstr ""
 
-#: builtin/replace.c:585
+#: builtin/replace.c:587
 msgid "-d needs at least one argument"
 msgstr ""
 
-#: builtin/replace.c:591
+#: builtin/replace.c:593
 msgid "bad number of arguments"
 msgstr ""
 
-#: builtin/replace.c:597
+#: builtin/replace.c:599
 msgid "-e needs exactly one argument"
 msgstr ""
 
-#: builtin/replace.c:603
+#: builtin/replace.c:605
 msgid "-g needs at least one argument"
 msgstr ""
 
-#: builtin/replace.c:609
+#: builtin/replace.c:611
 msgid "--convert-graft-file takes no argument"
 msgstr ""
 
-#: builtin/replace.c:615
+#: builtin/replace.c:617
 msgid "only one pattern can be given with -l"
 msgstr ""
 
@@ -17230,113 +19433,123 @@ msgid ""
 msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<коммит>]"
 
 #: builtin/reset.c:33
-msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
-msgstr "git reset [-q] [<указатель-дерева>] [--] <пути>…"
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
+msgstr ""
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<указатель-дерева>] [--] [<пути>…]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+
+#: builtin/reset.c:35
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
+msgstr ""
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "mixed"
 msgstr "смешанный"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "soft"
 msgstr "мягкий"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "hard"
 msgstr "жесткий"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "merge"
 msgstr "слиянием"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "keep"
 msgstr "оставлением"
 
-#: builtin/reset.c:81
+#: builtin/reset.c:83
 msgid "You do not have a valid HEAD."
 msgstr "У вас нет верного HEAD."
 
-#: builtin/reset.c:83
+#: builtin/reset.c:85
 msgid "Failed to find tree of HEAD."
 msgstr "Не удалось найти дерево у HEAD."
 
-#: builtin/reset.c:89
+#: builtin/reset.c:91
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Не удалось найти дерево у %s."
 
-#: builtin/reset.c:193
+#: builtin/reset.c:116
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD сейчас на %s"
+
+#: builtin/reset.c:195
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Нельзя выполнить сброс в режиме «%s» во время слияния."
 
-#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
-#: builtin/stash.c:613
+#: builtin/reset.c:295 builtin/stash.c:520 builtin/stash.c:594
+#: builtin/stash.c:618
 msgid "be quiet, only report errors"
 msgstr "тихий режим, выводить только ошибки"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:297
 msgid "reset HEAD and index"
 msgstr "сбросить HEAD и индекс"
 
-#: builtin/reset.c:296
+#: builtin/reset.c:298
 msgid "reset only HEAD"
 msgstr "сбросить только HEAD"
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:300 builtin/reset.c:302
 msgid "reset HEAD, index and working tree"
 msgstr "сбросить HEAD, индекс и рабочий каталог"
 
-#: builtin/reset.c:302
+#: builtin/reset.c:304
 msgid "reset HEAD but keep local changes"
 msgstr "сбросить HEAD, но оставить локальные изменения"
 
-#: builtin/reset.c:308
+#: builtin/reset.c:310
 msgid "record only the fact that removed paths will be added later"
 msgstr "записать только факт того, что удаленные пути будут добавлены позже"
 
-#: builtin/reset.c:326
+#: builtin/reset.c:344
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Не удалось распознать «%s» как действительную редакцию."
 
-#: builtin/reset.c:334
+#: builtin/reset.c:352
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Не удалось распознать «%s» как действительное дерево."
 
-#: builtin/reset.c:343
+#: builtin/reset.c:361
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch нельзя использовать одновременно с --{hard,mixed,soft}"
 
-#: builtin/reset.c:353
+#: builtin/reset.c:371
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "использование опции --mixed с путями устарело; используйте «git reset -- <пути>» instead."
 
-#: builtin/reset.c:355
+#: builtin/reset.c:373
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Нельзя выполнить сброс в режиме «%s» вместе с указанием пути."
 
-#: builtin/reset.c:370
+#: builtin/reset.c:388
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "сброс «%s» разрешен только с голым репозиторием"
 
-#: builtin/reset.c:374
+#: builtin/reset.c:392
 msgid "-N can only be used with --mixed"
 msgstr "-N можно использовать вместе с --mixed"
 
-#: builtin/reset.c:395
+#: builtin/reset.c:413
 msgid "Unstaged changes after reset:"
 msgstr "Непроиндексированные изменения после сброса:"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:416
 #, c-format
 msgid ""
 "\n"
@@ -17345,53 +19558,48 @@ msgid ""
 "to make this the default.\n"
 msgstr ""
 
-#: builtin/reset.c:408
+#: builtin/reset.c:434
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Не удалось сбросить файл индекса на редакцию «%s»."
 
-#: builtin/reset.c:412
+#: builtin/reset.c:439
 msgid "Could not write new index file."
 msgstr "Не удалось записать новый файл индекса."
 
-#: builtin/rev-list.c:405
+#: builtin/rev-list.c:499
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr ""
 
-#: builtin/rev-list.c:466
+#: builtin/rev-list.c:560
 msgid "object filtering requires --objects"
 msgstr "фильтрация объектов требует указания параметра --objects"
 
-#: builtin/rev-list.c:469
-#, c-format
-msgid "invalid sparse value '%s'"
-msgstr "недопустимое частичное значение «%s»"
-
-#: builtin/rev-list.c:510
+#: builtin/rev-list.c:610
 msgid "rev-list does not support display of notes"
 msgstr "rev-list не поддерживает отображение заметок"
 
-#: builtin/rev-list.c:513
-msgid "cannot combine --use-bitmap-index with object filtering"
-msgstr "нельзя использовать --use-bitmap-index одновременно с фильтрацией объектов"
+#: builtin/rev-list.c:615
+msgid "marked counting is incompatible with --objects"
+msgstr ""
 
-#: builtin/rev-parse.c:408
+#: builtin/rev-parse.c:409
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<опции>] -- [<аргументы>…]"
 
-#: builtin/rev-parse.c:413
+#: builtin/rev-parse.c:414
 msgid "keep the `--` passed as an arg"
 msgstr "передавать далее «--» как аргумент"
 
-#: builtin/rev-parse.c:415
+#: builtin/rev-parse.c:416
 msgid "stop parsing after the first non-option argument"
 msgstr "остановить разбор после первого аргумента не являющегося опцией"
 
-#: builtin/rev-parse.c:418
+#: builtin/rev-parse.c:419
 msgid "output in stuck long form"
 msgstr "выводить аргументы в длинном формате"
 
-#: builtin/rev-parse.c:551
+#: builtin/rev-parse.c:552
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -17438,47 +19646,51 @@ msgstr "продолжить последовательность копиров
 msgid "cancel revert or cherry-pick sequence"
 msgstr "отмена последовательности копирования или обращения изменений коммитов"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:105
+msgid "skip current commit and continue"
+msgstr ""
+
+#: builtin/revert.c:107
 msgid "don't automatically commit"
 msgstr "не коммитить автоматически"
 
-#: builtin/revert.c:107
+#: builtin/revert.c:108
 msgid "edit the commit message"
 msgstr "изменить сообщение коммита"
 
-#: builtin/revert.c:110
+#: builtin/revert.c:111
 msgid "parent-number"
 msgstr "номер-родителя"
 
-#: builtin/revert.c:111
+#: builtin/revert.c:112
 msgid "select mainline parent"
 msgstr "выбор основного родителя"
 
-#: builtin/revert.c:113
+#: builtin/revert.c:114
 msgid "merge strategy"
 msgstr "стратегия слияния"
 
-#: builtin/revert.c:115
+#: builtin/revert.c:116
 msgid "option for merge strategy"
 msgstr "опция для стратегии слияния"
 
-#: builtin/revert.c:124
+#: builtin/revert.c:125
 msgid "append commit name"
 msgstr "добавить имя коммита"
 
-#: builtin/revert.c:126
+#: builtin/revert.c:127
 msgid "preserve initially empty commits"
 msgstr "сохранить изначально пустые коммиты"
 
-#: builtin/revert.c:128
+#: builtin/revert.c:129
 msgid "keep redundant, empty commits"
 msgstr "оставить избыточные, пустые коммиты"
 
-#: builtin/revert.c:227
+#: builtin/revert.c:239
 msgid "revert failed"
 msgstr "сбой обращения изменений коммита"
 
-#: builtin/revert.c:240
+#: builtin/revert.c:252
 msgid "cherry-pick failed"
 msgstr "сбой при копировании коммита"
 
@@ -17526,36 +19738,40 @@ msgstr[1] "следующие файлы содержат локальные и
 msgstr[2] "следующие файлы содержат локальные изменения:"
 msgstr[3] "следующие файлы содержат локальные изменения:"
 
-#: builtin/rm.c:242
+#: builtin/rm.c:243
 msgid "do not list removed files"
 msgstr "не выводить список удаленных файлов"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "only remove from the index"
 msgstr "удалить только из индекса"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "override the up-to-date check"
 msgstr "пропустить проверку актуальности"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "allow recursive removal"
 msgstr "разрешить рекурсивное удаление"
 
-#: builtin/rm.c:247
+#: builtin/rm.c:248
 msgid "exit with a zero status even if nothing matched"
 msgstr "выход с нулевым кодом возврата, даже если ничего не найдено"
 
-#: builtin/rm.c:289
+#: builtin/rm.c:282
+msgid "No pathspec was given. Which files should I remove?"
+msgstr ""
+
+#: builtin/rm.c:305
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 
-#: builtin/rm.c:307
+#: builtin/rm.c:323
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "не удаляю рекурсивно «%s» без указания опции -r"
 
-#: builtin/rm.c:346
+#: builtin/rm.c:362
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: не удалось удалить %s"
@@ -17566,55 +19782,76 @@ msgid ""
 "  --all and explicit <ref> specification are mutually exclusive."
 msgstr "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<сервер>:]<каталог> [<ссылка>…]\n  --all и явный спецификатор <ссылки> взаимно исключающие."
 
-#: builtin/send-pack.c:163
+#: builtin/send-pack.c:188
 msgid "remote name"
 msgstr "имя внешнего репозитория"
 
-#: builtin/send-pack.c:177
+#: builtin/send-pack.c:201
 msgid "use stateless RPC protocol"
 msgstr "протокол без сохранения состояния для RPC"
 
-#: builtin/send-pack.c:178
+#: builtin/send-pack.c:202
 msgid "read refs from stdin"
 msgstr "прочитать ссылки из стандартного ввода"
 
-#: builtin/send-pack.c:179
+#: builtin/send-pack.c:203
 msgid "print status from remote helper"
 msgstr "вывести статус от скрипта внешнего сервера"
 
-#: builtin/shortlog.c:14
+#: builtin/shortlog.c:16
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git shortlog [<опции>] [<диапазон-редакций>] [[--] <путь>…]"
 
-#: builtin/shortlog.c:15
+#: builtin/shortlog.c:17
 msgid "git log --pretty=short | git shortlog [<options>]"
 msgstr "git log --pretty=short | git shortlog [<опции>]"
 
-#: builtin/shortlog.c:264
+#: builtin/shortlog.c:135
+msgid "using multiple --group options with stdin is not supported"
+msgstr ""
+
+#: builtin/shortlog.c:145
+msgid "using --group=trailer with stdin is not supported"
+msgstr ""
+
+#: builtin/shortlog.c:335
+#, c-format
+msgid "unknown group type: %s"
+msgstr ""
+
+#: builtin/shortlog.c:363
 msgid "Group by committer rather than author"
 msgstr "Группировать по коммитеру, а не по автору"
 
-#: builtin/shortlog.c:266
+#: builtin/shortlog.c:366
 msgid "sort output according to the number of commits per author"
 msgstr "отсортировать вывод по количеству коммитов у автора"
 
-#: builtin/shortlog.c:268
+#: builtin/shortlog.c:368
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "Не выводить описания коммитов, а только их количество"
 
-#: builtin/shortlog.c:270
+#: builtin/shortlog.c:370
 msgid "Show the email address of each author"
 msgstr "Показать почту каждого из авторов"
 
-#: builtin/shortlog.c:271
+#: builtin/shortlog.c:371
 msgid "<w>[,<i1>[,<i2>]]"
 msgstr "<w>[,<i1>[,<i2>]]"
 
-#: builtin/shortlog.c:272
+#: builtin/shortlog.c:372
 msgid "Linewrap output"
 msgstr "Перенос строк на выводе"
 
-#: builtin/shortlog.c:301
+#: builtin/shortlog.c:374
+msgid "field"
+msgstr ""
+
+#: builtin/shortlog.c:375
+msgid "Group by field"
+msgstr ""
+
+#: builtin/shortlog.c:403
 msgid "too many arguments given outside repository"
 msgstr ""
 
@@ -17639,90 +19876,90 @@ msgstr[1] "игнорирование %s; невозможно обработа
 msgstr[2] "игнорирование %s; невозможно обработать больше %d ссылок"
 msgstr[3] "игнорирование %s; невозможно обработать больше %d ссылки"
 
-#: builtin/show-branch.c:549
+#: builtin/show-branch.c:548
 #, c-format
 msgid "no matching refs with %s"
 msgstr "нет совпадающих записей с %s"
 
-#: builtin/show-branch.c:646
+#: builtin/show-branch.c:645
 msgid "show remote-tracking and local branches"
 msgstr "показать список и отслеживаемых внешних и локальных веток"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr "показать список отслеживаемых внешних веток"
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:649
 msgid "color '*!+-' corresponding to the branch"
 msgstr "окрашивать «*!+-» в соответствии с веткой"
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:651
 msgid "show <n> more commits after the common ancestor"
 msgstr "показать <n> коммитов после общего предка"
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr "синоним для more=-1"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr "не выводить именованные строки"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr "включить в вывод текущую ветку"
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:658
 msgid "name commits with their object names"
 msgstr "именовать коммиты их именами объектов"
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:660
 msgid "show possible merge bases"
 msgstr "вывести возможные базы слияния"
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:662
 msgid "show refs unreachable from any other ref"
 msgstr "вывести ссылки, недоступные из любых других ссылок"
 
-#: builtin/show-branch.c:665
+#: builtin/show-branch.c:664
 msgid "show commits in topological order"
 msgstr "вывести коммиты в топологическом порядке"
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:667
 msgid "show only commits not on the first branch"
 msgstr "вывести только коммиты, отсутствующие в первой ветке"
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:669
 msgid "show merges reachable from only one tip"
 msgstr "вывести слияния, достижимые только из одной из верхушек"
 
-#: builtin/show-branch.c:672
+#: builtin/show-branch.c:671
 msgid "topologically sort, maintaining date order where possible"
 msgstr "топологическая сортировка, с сохранением порядка дат, если возможно"
 
-#: builtin/show-branch.c:675
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr "<n>[,<база>]"
 
-#: builtin/show-branch.c:676
+#: builtin/show-branch.c:675
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "показать <n> последних записей в журнале ссылок, начиная с базы"
 
-#: builtin/show-branch.c:712
+#: builtin/show-branch.c:711
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-"
 "base"
 msgstr "--reflog несовместимо с --all, --remotes, --independent и --merge-base"
 
-#: builtin/show-branch.c:736
+#: builtin/show-branch.c:735
 msgid "no branches given, and HEAD is not valid"
 msgstr "не указаны ветки и HEAD не действительный"
 
-#: builtin/show-branch.c:739
+#: builtin/show-branch.c:738
 msgid "--reflog option needs one branch name"
 msgstr "параметр --reflog требует указания имени одной ветки"
 
-#: builtin/show-branch.c:742
+#: builtin/show-branch.c:741
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
@@ -17731,12 +19968,12 @@ msgstr[1] "только %d записи могут быть показаны о
 msgstr[2] "только %d записей могут быть показаны одновременно."
 msgstr[3] "только %d записи могут быть показаны одновременно."
 
-#: builtin/show-branch.c:746
+#: builtin/show-branch.c:745
 #, c-format
 msgid "no such ref %s"
 msgstr "нет такой ссылки %s"
 
-#: builtin/show-branch.c:832
+#: builtin/show-branch.c:831
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
@@ -17745,16 +19982,24 @@ msgstr[1] "невозможно обработать больше %d редак
 msgstr[2] "невозможно обработать больше %d редакций."
 msgstr[3] "невозможно обработать больше %d редакции."
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:835
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "«%s» не является допустимой ссылкой на коммит."
 
-#: builtin/show-branch.c:839
+#: builtin/show-branch.c:838
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "не удалось найти коммит %s (%s)"
 
+#: builtin/show-index.c:21
+msgid "hash-algorithm"
+msgstr ""
+
+#: builtin/show-index.c:31
+msgid "Unknown hash algorithm"
+msgstr ""
+
 #: builtin/show-ref.c:12
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | "
@@ -17787,7 +20032,7 @@ msgstr "разыменовать метки в идентификаторы об
 
 #: builtin/show-ref.c:173
 msgid "only show SHA1 hash using <n> digits"
-msgstr "использовать <n> символов для вывода SHA-1 хеш-суммы"
+msgstr "использовать <n> символов для вывода хэш-кода SHA-1"
 
 #: builtin/show-ref.c:177
 msgid "do not print results to stdout (useful with --verify)"
@@ -17797,15 +20042,86 @@ msgstr "не печатать результат на стандартный в
 msgid "show refs from stdin that aren't in local repository"
 msgstr "вывести ссылки со стандартного ввода, которых нет в локальном репозитории"
 
-#: builtin/stash.c:22 builtin/stash.c:37
+#: builtin/sparse-checkout.c:21
+msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
+msgstr ""
+
+#: builtin/sparse-checkout.c:50
+msgid "git sparse-checkout list"
+msgstr ""
+
+#: builtin/sparse-checkout.c:76
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr ""
+
+#: builtin/sparse-checkout.c:228
+msgid "failed to create directory for sparse-checkout file"
+msgstr ""
+
+#: builtin/sparse-checkout.c:269
+msgid "unable to upgrade repository format to enable worktreeConfig"
+msgstr ""
+
+#: builtin/sparse-checkout.c:271
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr ""
+
+#: builtin/sparse-checkout.c:288
+msgid "git sparse-checkout init [--cone]"
+msgstr ""
+
+#: builtin/sparse-checkout.c:307
+msgid "initialize the sparse-checkout in cone mode"
+msgstr ""
+
+#: builtin/sparse-checkout.c:344
+#, c-format
+msgid "failed to open '%s'"
+msgstr "не удалось открыть «%s»"
+
+#: builtin/sparse-checkout.c:401
+#, c-format
+msgid "could not normalize path %s"
+msgstr ""
+
+#: builtin/sparse-checkout.c:413
+msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
+msgstr ""
+
+#: builtin/sparse-checkout.c:438
+#, c-format
+msgid "unable to unquote C-style string '%s'"
+msgstr ""
+
+#: builtin/sparse-checkout.c:492 builtin/sparse-checkout.c:516
+msgid "unable to load existing sparse-checkout patterns"
+msgstr ""
+
+#: builtin/sparse-checkout.c:561
+msgid "read patterns from standard in"
+msgstr ""
+
+#: builtin/sparse-checkout.c:576
+msgid "git sparse-checkout reapply"
+msgstr ""
+
+#: builtin/sparse-checkout.c:595
+msgid "git sparse-checkout disable"
+msgstr ""
+
+#: builtin/sparse-checkout.c:623
+msgid "error while refreshing working directory"
+msgstr ""
+
+#: builtin/stash.c:22 builtin/stash.c:38
 msgid "git stash list [<options>]"
 msgstr "git stash list [<опции>]"
 
-#: builtin/stash.c:23 builtin/stash.c:42
+#: builtin/stash.c:23 builtin/stash.c:43
 msgid "git stash show [<options>] [<stash>]"
 msgstr "git stash show [<опциии>] [<спрятанные-изменения>]"
 
-#: builtin/stash.c:24 builtin/stash.c:47
+#: builtin/stash.c:24 builtin/stash.c:48
 msgid "git stash drop [-q|--quiet] [<stash>]"
 msgstr "git stash drop [-q|--quiet] [<спрятанные-изменения>]"
 
@@ -17813,209 +20129,217 @@ msgstr "git stash drop [-q|--quiet] [<спрятанные-изменения>]"
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<спрятанные-изменения>]"
 
-#: builtin/stash.c:26 builtin/stash.c:62
+#: builtin/stash.c:26 builtin/stash.c:63
 msgid "git stash branch <branchname> [<stash>]"
 msgstr "git stash branch <имя-ветки> [<спрятанные-изменения>]"
 
-#: builtin/stash.c:27 builtin/stash.c:67
+#: builtin/stash.c:27 builtin/stash.c:68
 msgid "git stash clear"
 msgstr "git stash clear"
 
-#: builtin/stash.c:28 builtin/stash.c:77
+#: builtin/stash.c:28
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
 "          [--] [<pathspec>...]]"
-msgstr "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n          [-u|--include-untracked] [-a|--all] [-m|--message <сообщение>]\n          [--] [<спецификатор-пути>…]]"
+msgstr ""
 
-#: builtin/stash.c:31 builtin/stash.c:84
+#: builtin/stash.c:32 builtin/stash.c:85
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
 msgstr "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n          [-u|--include-untracked] [-a|--all] [<сообщение>]"
 
-#: builtin/stash.c:52
+#: builtin/stash.c:53
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<спрятанные-изменения>]"
 
-#: builtin/stash.c:57
+#: builtin/stash.c:58
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<спрятанные-изменения>]"
 
-#: builtin/stash.c:72
+#: builtin/stash.c:73
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <сообщение>] [-q|--quiet] <коммит>"
 
-#: builtin/stash.c:127
+#: builtin/stash.c:78
+msgid ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<pathspec>...]]"
+msgstr "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n          [-u|--include-untracked] [-a|--all] [-m|--message <сообщение>]\n          [--] [<спецификатор-пути>…]]"
+
+#: builtin/stash.c:128
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "«%s» не является коммитом со спрятанными изменениями"
 
-#: builtin/stash.c:147
+#: builtin/stash.c:148
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "Передано слишком много редакций:%s"
 
-#: builtin/stash.c:161 git-legacy-stash.sh:548
+#: builtin/stash.c:162
 msgid "No stash entries found."
 msgstr "Не найдены спрятанные изменения."
 
-#: builtin/stash.c:175
+#: builtin/stash.c:176
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "%s не является допустимой ссылкой на коммит"
 
-#: builtin/stash.c:224 git-legacy-stash.sh:75
+#: builtin/stash.c:225
 msgid "git stash clear with parameters is unimplemented"
 msgstr "git stash очистка с параметрами не реализована"
 
-#: builtin/stash.c:403
+#: builtin/stash.c:404
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "нельзя применить спрятанные изменения во время выполнения слияния"
 
-#: builtin/stash.c:414
+#: builtin/stash.c:415
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "не удалось сгенерировать список изменений %s^!."
 
-#: builtin/stash.c:421
-msgid "conflicts in index.Try without --index."
-msgstr "конфликты в индексе. Попробуйте без --index."
+#: builtin/stash.c:422
+msgid "conflicts in index. Try without --index."
+msgstr ""
 
-#: builtin/stash.c:427
+#: builtin/stash.c:428
 msgid "could not save index tree"
 msgstr "не удалось сохранить дерево индекса"
 
-#: builtin/stash.c:434
+#: builtin/stash.c:437
 msgid "could not restore untracked files from stash"
 msgstr "невозможно восстановить неотслеживаемые файлы из спрятанных файлов"
 
-#: builtin/stash.c:448
+#: builtin/stash.c:451
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Слияние %s и %s"
 
-#: builtin/stash.c:458 git-legacy-stash.sh:680
+#: builtin/stash.c:461
 msgid "Index was not unstashed."
 msgstr "Индекс не был извлечён из спрятанных изменений."
 
-#: builtin/stash.c:516 builtin/stash.c:615
+#: builtin/stash.c:522 builtin/stash.c:620
 msgid "attempt to recreate the index"
 msgstr "попытка пересоздания индекса"
 
-#: builtin/stash.c:549
+#: builtin/stash.c:566
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "Отброшено %s (%s)"
 
-#: builtin/stash.c:552
+#: builtin/stash.c:569
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: Не удалось отбросить запись из спрятанных изменений"
 
-#: builtin/stash.c:577
+#: builtin/stash.c:582
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "«%s» не является ссылкой на спрятанные изменения"
 
-#: builtin/stash.c:627 git-legacy-stash.sh:694
+#: builtin/stash.c:632
 msgid "The stash entry is kept in case you need it again."
 msgstr "Спрятанные изменения сохранены, на случай если они снова вам понадобятся."
 
-#: builtin/stash.c:650 git-legacy-stash.sh:712
+#: builtin/stash.c:655
 msgid "No branch name specified"
 msgstr "Не указано имя ветки"
 
-#: builtin/stash.c:789 builtin/stash.c:826
+#: builtin/stash.c:799 builtin/stash.c:836
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Не удолось обновить %s с %s"
 
-#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510
+#: builtin/stash.c:817 builtin/stash.c:1471 builtin/stash.c:1536
 msgid "stash message"
 msgstr "описание спрятанных изменений"
 
-#: builtin/stash.c:817
+#: builtin/stash.c:827
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "«git stash store» требует указания одного аргумента <коммит>"
 
-#: builtin/stash.c:1039 git-legacy-stash.sh:217
+#: builtin/stash.c:1042
 msgid "No changes selected"
 msgstr "Изменения не выбраны"
 
-#: builtin/stash.c:1135 git-legacy-stash.sh:150
+#: builtin/stash.c:1142
 msgid "You do not have the initial commit yet"
 msgstr "У вас еще нет начального коммита"
 
-#: builtin/stash.c:1162 git-legacy-stash.sh:165
+#: builtin/stash.c:1169
 msgid "Cannot save the current index state"
 msgstr "Не удалось сохранить текущее состояние индекса"
 
-#: builtin/stash.c:1171 git-legacy-stash.sh:180
+#: builtin/stash.c:1178
 msgid "Cannot save the untracked files"
 msgstr "Невозможно сохранить неотслеживаемые файлы"
 
-#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200
-#: git-legacy-stash.sh:213
+#: builtin/stash.c:1189 builtin/stash.c:1198
 msgid "Cannot save the current worktree state"
 msgstr "Не удалось сохранить текущее состояние рабочего каталога"
 
-#: builtin/stash.c:1219 git-legacy-stash.sh:233
+#: builtin/stash.c:1226
 msgid "Cannot record working tree state"
 msgstr "Не удалось записать состояние рабочего каталога"
 
-#: builtin/stash.c:1268 git-legacy-stash.sh:337
+#: builtin/stash.c:1275
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "Нельзя использовать --patch и --include-untracked или --all одновременно"
 
-#: builtin/stash.c:1284
+#: builtin/stash.c:1291
 msgid "Did you forget to 'git add'?"
 msgstr "Возможно, вы забыли выполнить «git add»?"
 
-#: builtin/stash.c:1299 git-legacy-stash.sh:345
+#: builtin/stash.c:1306
 msgid "No local changes to save"
 msgstr "Нет локальных изменений для сохранения"
 
-#: builtin/stash.c:1306 git-legacy-stash.sh:350
+#: builtin/stash.c:1313
 msgid "Cannot initialize stash"
 msgstr "Не удалось инициализировать спрятанные изменения"
 
-#: builtin/stash.c:1321 git-legacy-stash.sh:354
+#: builtin/stash.c:1328
 msgid "Cannot save the current status"
 msgstr "Не удалось сохранить текущий статус"
 
-#: builtin/stash.c:1326
+#: builtin/stash.c:1333
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Рабочий каталог и состояние индекса сохранены %s"
 
-#: builtin/stash.c:1430 git-legacy-stash.sh:384
+#: builtin/stash.c:1423
 msgid "Cannot remove worktree changes"
 msgstr "Не удалось удалить изменения рабочего каталога"
 
-#: builtin/stash.c:1465 builtin/stash.c:1501
+#: builtin/stash.c:1462 builtin/stash.c:1527
 msgid "keep index"
 msgstr ""
 
-#: builtin/stash.c:1467 builtin/stash.c:1503
+#: builtin/stash.c:1464 builtin/stash.c:1529
 msgid "stash in patch mode"
 msgstr ""
 
-#: builtin/stash.c:1468 builtin/stash.c:1504
+#: builtin/stash.c:1465 builtin/stash.c:1530
 msgid "quiet mode"
 msgstr ""
 
-#: builtin/stash.c:1470 builtin/stash.c:1506
+#: builtin/stash.c:1467 builtin/stash.c:1532
 msgid "include untracked files in stash"
 msgstr ""
 
-#: builtin/stash.c:1472 builtin/stash.c:1508
+#: builtin/stash.c:1469 builtin/stash.c:1534
 msgid "include ignore files"
 msgstr ""
 
-#: builtin/stash.c:1568
-#, c-format
-msgid "could not exec %s"
+#: builtin/stash.c:1569
+msgid ""
+"the stash.useBuiltin support has been removed!\n"
+"See its entry in 'git help config' for details."
 msgstr ""
 
 #: builtin/stripspace.c:18
@@ -18034,393 +20358,502 @@ msgstr "пропустить и удалить все строки, начина
 msgid "prepend comment character and space to each line"
 msgstr "добавить перед каждой строкой символ комметария и пробел"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:2423
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Ожидалось полное имя ссылки, а получено %s"
 
-#: builtin/submodule--helper.c:62
+#: builtin/submodule--helper.c:64
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr ""
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "не удалось обрезать один компонент url «%s»"
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1819
 msgid "alternative anchor for relative paths"
 msgstr "альтернативный символ для относительных путей"
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<путь>] [<путь>…]"
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627
-#: builtin/submodule--helper.c:650
+#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:652
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "URL для подмодуля по пути «%s» не найден в .gitmodules"
 
-#: builtin/submodule--helper.c:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
 "."
 msgstr ""
 
-#: builtin/submodule--helper.c:546
+#: builtin/submodule--helper.c:549
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested submodules of %s\n"
 "."
 msgstr ""
 
-#: builtin/submodule--helper.c:562
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr ""
 
-#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:1487
 msgid "Recurse into nested submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:569
+#: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr ""
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:599
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr ""
 
-#: builtin/submodule--helper.c:664
+#: builtin/submodule--helper.c:666
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Сбой регистрации адреса для пути подмодуля «%s»"
 
-#: builtin/submodule--helper.c:668
+#: builtin/submodule--helper.c:670
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Подмодуль «%s» (%s) зарегистрирован по пути «%s»\n"
 
-#: builtin/submodule--helper.c:678
+#: builtin/submodule--helper.c:680
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "внимание: предполагаемый режим обновления для подмодуля «%s»\n"
 
-#: builtin/submodule--helper.c:685
+#: builtin/submodule--helper.c:687
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Сбой регистрации режима обновления для пути подмодуля «%s»"
 
-#: builtin/submodule--helper.c:707
+#: builtin/submodule--helper.c:709
 msgid "Suppress output for initializing a submodule"
 msgstr "Не выводить информацию о инициализации подмодуля"
 
-#: builtin/submodule--helper.c:712
+#: builtin/submodule--helper.c:714
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr ""
 
-#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910
+#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:922
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "не найдено соответствие подмодулей в .gitmodules для пути «%s»"
 
-#: builtin/submodule--helper.c:823
+#: builtin/submodule--helper.c:835
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "не удалось найти HEAD ссылку внутри подмодуля «%s»"
 
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019
+#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1457
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "не удалось перейти вглубь подмодуля «%s»"
 
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185
+#: builtin/submodule--helper.c:886 builtin/submodule--helper.c:1623
 msgid "Suppress submodule status output"
 msgstr "Не выводить статус подмодуля"
 
-#: builtin/submodule--helper.c:875
+#: builtin/submodule--helper.c:887
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "Использовать коммит хранящийся в индексе вместо коммита хранящегося в HEAD подмодуля"
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:888
 msgid "recurse into nested submodules"
 msgstr "проходить вглубь вложенных подмодулей"
 
-#: builtin/submodule--helper.c:881
+#: builtin/submodule--helper.c:893
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<путь>…]"
 
-#: builtin/submodule--helper.c:905
+#: builtin/submodule--helper.c:917
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <путь>"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:989
+#, c-format
+msgid "* %s %s(blob)->%s(submodule)"
+msgstr ""
+
+#: builtin/submodule--helper.c:992
+#, c-format
+msgid "* %s %s(submodule)->%s(blob)"
+msgstr ""
+
+#: builtin/submodule--helper.c:1005
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: builtin/submodule--helper.c:1055
+#, c-format
+msgid "couldn't hash object from '%s'"
+msgstr ""
+
+#: builtin/submodule--helper.c:1059
+#, c-format
+msgid "unexpected mode %o\n"
+msgstr ""
+
+#: builtin/submodule--helper.c:1300
+msgid "use the commit stored in the index instead of the submodule HEAD"
+msgstr ""
+
+#: builtin/submodule--helper.c:1302
+msgid "to compare the commit in the index with that in the submodule HEAD"
+msgstr ""
+
+#: builtin/submodule--helper.c:1304
+msgid "skip submodules with 'ignore_config' value set to 'all'"
+msgstr ""
+
+#: builtin/submodule--helper.c:1306
+msgid "limit the summary size"
+msgstr ""
+
+#: builtin/submodule--helper.c:1311
+msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
+msgstr ""
+
+#: builtin/submodule--helper.c:1335
+msgid "could not fetch a revision for HEAD"
+msgstr ""
+
+#: builtin/submodule--helper.c:1340
+msgid "--cached and --files are mutually exclusive"
+msgstr ""
+
+#: builtin/submodule--helper.c:1407
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:975
+#: builtin/submodule--helper.c:1413
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:989
+#: builtin/submodule--helper.c:1427
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1000
+#: builtin/submodule--helper.c:1438
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1047
+#: builtin/submodule--helper.c:1485
 msgid "Suppress output of synchronizing submodule url"
 msgstr ""
 
-#: builtin/submodule--helper.c:1054
+#: builtin/submodule--helper.c:1492
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<путь>]"
 
-#: builtin/submodule--helper.c:1108
+#: builtin/submodule--helper.c:1546
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
 "really want to remove it including all of its history)"
 msgstr ""
 
-#: builtin/submodule--helper.c:1120
+#: builtin/submodule--helper.c:1558
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr ""
 
-#: builtin/submodule--helper.c:1128
+#: builtin/submodule--helper.c:1566
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1130
+#: builtin/submodule--helper.c:1568
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1141
+#: builtin/submodule--helper.c:1579
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr ""
 
-#: builtin/submodule--helper.c:1157
+#: builtin/submodule--helper.c:1595
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr ""
 
-#: builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:1624
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr ""
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1625
 msgid "Unregister all submodules"
 msgstr ""
 
-#: builtin/submodule--helper.c:1192
+#: builtin/submodule--helper.c:1630
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<путь>…]]"
 
-#: builtin/submodule--helper.c:1206
+#: builtin/submodule--helper.c:1644
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Используйте «--all», если вы действительно хотите деинициализировать все подмодули"
 
-#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1713
+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 ""
+
+#: builtin/submodule--helper.c:1752 builtin/submodule--helper.c:1755
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "подмодулю «%s» не удалось добавить альтернативу: %s"
 
-#: builtin/submodule--helper.c:1340
+#: builtin/submodule--helper.c:1791
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Значение «%s» для параметра submodule.alternateErrorStrategy не рапознано"
 
-#: builtin/submodule--helper.c:1347
+#: builtin/submodule--helper.c:1798
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Значение «%s» для параметра submodule.alternateLocation не рапознано"
 
-#: builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1822
 msgid "where the new submodule will be cloned to"
 msgstr "куда должен быть склонирован новый подмодуль"
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1825
 msgid "name of the new submodule"
 msgstr "имя нового подмодуля"
 
-#: builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1828
 msgid "url where to clone the submodule from"
 msgstr "url откуда должен был склонирован новый подмодуль"
 
-#: builtin/submodule--helper.c:1384
+#: builtin/submodule--helper.c:1836
 msgid "depth for shallow clones"
 msgstr "глубина для частичного клона"
 
-#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871
+#: builtin/submodule--helper.c:1839 builtin/submodule--helper.c:2348
 msgid "force cloning progress"
 msgstr "принудительно выводить прогресс клонирования"
 
-#: builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1841 builtin/submodule--helper.c:2350
+msgid "disallow cloning into non-empty directory"
+msgstr ""
+
+#: builtin/submodule--helper.c:1848
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
-msgstr "git submodule--helper clone [--prefix=<путь>] [--quiet] [--reference <репозиторий>] [--name <имя>] [--depth <глубина>] --url <url> --path <путь>"
+"<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
+"<url> --path <path>"
+msgstr ""
+
+#: builtin/submodule--helper.c:1873
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's git dir"
+msgstr ""
 
-#: builtin/submodule--helper.c:1423
+#: builtin/submodule--helper.c:1884
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "не удалось клонировать «%s» в подмодуль по пути «%s»"
 
-#: builtin/submodule--helper.c:1437
+#: builtin/submodule--helper.c:1888
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr ""
+
+#: builtin/submodule--helper.c:1900
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "не удалось получить каталог для подмодуля «%s»"
 
-#: builtin/submodule--helper.c:1473
+#: builtin/submodule--helper.c:1936
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1477
+#: builtin/submodule--helper.c:1940
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:1570
+#: builtin/submodule--helper.c:2041
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Подмодуль по пути «%s» не инициализирован"
 
-#: builtin/submodule--helper.c:1574
+#: builtin/submodule--helper.c:2045
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Возможно, вы хотели использовать «update --init»?"
 
-#: builtin/submodule--helper.c:1604
+#: builtin/submodule--helper.c:2075
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Пропуск не слитого подмодуля %s"
 
-#: builtin/submodule--helper.c:1633
+#: builtin/submodule--helper.c:2104
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Пропуск подмодуля «%s»"
 
-#: builtin/submodule--helper.c:1777
+#: builtin/submodule--helper.c:2254
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Не удалось клонировать «%s». Запланирована повторная попытка"
 
-#: builtin/submodule--helper.c:1788
+#: builtin/submodule--helper.c:2265
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Не удалось клонировать «%s» со второй попытки, отмена"
 
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092
+#: builtin/submodule--helper.c:2327 builtin/submodule--helper.c:2573
 msgid "path into the working tree"
 msgstr "путь в рабочем каталоге"
 
-#: builtin/submodule--helper.c:1853
+#: builtin/submodule--helper.c:2330
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "путь в рабочем каталоге, в пределах границ подмодуля"
 
-#: builtin/submodule--helper.c:1857
+#: builtin/submodule--helper.c:2334
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout или none"
 
-#: builtin/submodule--helper.c:1863
+#: builtin/submodule--helper.c:2340
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Создать частичный клон, ограниченный указанным количеством редакций"
 
-#: builtin/submodule--helper.c:1866
+#: builtin/submodule--helper.c:2343
 msgid "parallel jobs"
 msgstr "параллельные задачи"
 
-#: builtin/submodule--helper.c:1868
+#: builtin/submodule--helper.c:2345
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "должен ли изначальный процесс клонирования следовать рекомендации о частичности"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:2346
 msgid "don't print cloning progress"
 msgstr "вы выводить прогресс клонирования"
 
-#: builtin/submodule--helper.c:1876
-msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
-msgstr "git submodule--helper update_clone [--prefix=<путь>] [<путь>…]"
+#: builtin/submodule--helper.c:2357
+msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+msgstr ""
 
-#: builtin/submodule--helper.c:1889
+#: builtin/submodule--helper.c:2370
 msgid "bad value for update parameter"
 msgstr "плохое значение для параметра update"
 
-#: builtin/submodule--helper.c:1937
+#: builtin/submodule--helper.c:2418
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr "Ветка подмодуля (%s) настроена на наследование ветки из родительского проекта, но он не находится ни на одной ветке"
 
-#: builtin/submodule--helper.c:2060
+#: builtin/submodule--helper.c:2541
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr ""
 
-#: builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:2574
 msgid "recurse into submodules"
 msgstr "рекурсивно по подмодулям"
 
-#: builtin/submodule--helper.c:2099
+#: builtin/submodule--helper.c:2580
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<опции>] [<путь>…]"
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2636
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr ""
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2639
 msgid "unset the config in the .gitmodules file"
 msgstr ""
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2644
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <имя> [<значение>]"
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2645
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <имя>"
 
-#: builtin/submodule--helper.c:2166
+#: builtin/submodule--helper.c:2646
 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:2665 git-submodule.sh:150
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 
-#: builtin/submodule--helper.c:2235 git.c:433 git.c:685
+#: builtin/submodule--helper.c:2681
+msgid "Suppress output for setting url of a submodule"
+msgstr ""
+
+#: builtin/submodule--helper.c:2685
+msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
+msgstr ""
+
+#: builtin/submodule--helper.c:2718
+msgid "set the default tracking branch to master"
+msgstr ""
+
+#: builtin/submodule--helper.c:2720
+msgid "set the default tracking branch"
+msgstr ""
+
+#: builtin/submodule--helper.c:2724
+msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
+msgstr ""
+
+#: builtin/submodule--helper.c:2725
+msgid ""
+"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
+msgstr ""
+
+#: builtin/submodule--helper.c:2732
+msgid "--branch or --default required"
+msgstr ""
+
+#: builtin/submodule--helper.c:2735
+msgid "--branch and --default are mutually exclusive"
+msgstr ""
+
+#: builtin/submodule--helper.c:2792 git.c:438 git.c:711
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s не поддерживает параметр --super-prefix"
 
-#: builtin/submodule--helper.c:2241
+#: builtin/submodule--helper.c:2798
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "«%s» не является подкомандой submodule--helper"
@@ -18445,11 +20878,11 @@ msgstr "удалить символьные ссылки"
 msgid "shorten ref output"
 msgstr "укороченный вывод ссылок"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
 msgid "reason"
 msgstr "причина"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:499
 msgid "reason of the update"
 msgstr "причина обновления"
 
@@ -18466,24 +20899,24 @@ msgstr "git tag -d <имя-метки>…"
 #: builtin/tag.c:28
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <object>]\n"
-"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
-msgstr "git tag -l [-n[<количество>]] [--contains <коммит>] [--no-contains <коммит>] [--points-at <объект>]\n\t\t[--format=<формат>] [--[no-]merged [<коммит>]] [<шаблон>…]"
+"\t\t[--format=<format>] [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
+msgstr ""
 
 #: builtin/tag.c:30
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<формат>] <имя-метки>…"
 
-#: builtin/tag.c:88
+#: builtin/tag.c:89
 #, c-format
 msgid "tag '%s' not found."
 msgstr "метка  «%s» не найдена."
 
-#: builtin/tag.c:104
+#: builtin/tag.c:105
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Метка «%s» удалена (была %s)\n"
 
-#: builtin/tag.c:134
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -18492,7 +20925,7 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr "\nВведите сообщение для метки:\n  %s\nСтроки, начинающиеся с «%c» будут проигнорированы.\n"
 
-#: builtin/tag.c:138
+#: builtin/tag.c:139
 #, c-format
 msgid ""
 "\n"
@@ -18501,15 +20934,15 @@ msgid ""
 "Lines starting with '%c' will be kept; you may remove them yourself if you want to.\n"
 msgstr "\nВведите сообщение для метки:\n  %s\nСтроки, начинающиеся с «%c» будут оставлены; вы можете удалить их вручную, если хотите.\n"
 
-#: builtin/tag.c:192
+#: builtin/tag.c:198
 msgid "unable to sign the tag"
 msgstr "не удалось подписать метку"
 
-#: builtin/tag.c:194
+#: builtin/tag.c:200
 msgid "unable to write tag file"
 msgstr "не удалось записать файл метки"
 
-#: builtin/tag.c:210
+#: builtin/tag.c:216
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -18518,382 +20951,386 @@ msgid ""
 "\tgit tag -f %s %s^{}"
 msgstr ""
 
-#: builtin/tag.c:226
+#: builtin/tag.c:232
 msgid "bad object type."
 msgstr "неправильный тип объекта"
 
-#: builtin/tag.c:278
+#: builtin/tag.c:285
 msgid "no tag message?"
 msgstr "нет описания метки?"
 
-#: builtin/tag.c:285
+#: builtin/tag.c:292
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Сообщение метки было оставлено в %s\n"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:403
 msgid "list tag names"
 msgstr "список названий меток"
 
-#: builtin/tag.c:398
+#: builtin/tag.c:405
 msgid "print <n> lines of each tag message"
 msgstr "печатать <n> строк описания от каждой метки"
 
-#: builtin/tag.c:400
+#: builtin/tag.c:407
 msgid "delete tags"
 msgstr "удалить метки"
 
-#: builtin/tag.c:401
+#: builtin/tag.c:408
 msgid "verify tags"
 msgstr "проверить метки"
 
-#: builtin/tag.c:403
+#: builtin/tag.c:410
 msgid "Tag creation options"
 msgstr "Настройки создания метки"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:412
 msgid "annotated tag, needs a message"
 msgstr "для аннотированной метки нужно сообщение"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:414
 msgid "tag message"
 msgstr "описание метки"
 
-#: builtin/tag.c:409
+#: builtin/tag.c:416
 msgid "force edit of tag message"
 msgstr ""
 
-#: builtin/tag.c:410
+#: builtin/tag.c:417
 msgid "annotated and GPG-signed tag"
 msgstr "аннотированная и подписанная с помощью GPG метка"
 
-#: builtin/tag.c:413
+#: builtin/tag.c:420
 msgid "use another key to sign the tag"
 msgstr "использовать другой ключ для подписания метки"
 
-#: builtin/tag.c:414
+#: builtin/tag.c:421
 msgid "replace the tag if exists"
 msgstr "замена метки, если она существует"
 
-#: builtin/tag.c:415 builtin/update-ref.c:369
+#: builtin/tag.c:422 builtin/update-ref.c:505
 msgid "create a reflog"
 msgstr "создать журнал ссылок"
 
-#: builtin/tag.c:417
+#: builtin/tag.c:424
 msgid "Tag listing options"
 msgstr "Настройки вывода списка меток"
 
-#: builtin/tag.c:418
+#: builtin/tag.c:425
 msgid "show tag list in columns"
 msgstr "показать список меток по столбцам"
 
-#: builtin/tag.c:419 builtin/tag.c:421
+#: builtin/tag.c:426 builtin/tag.c:428
 msgid "print only tags that contain the commit"
 msgstr "вывод только меток, которые содержат коммит"
 
-#: builtin/tag.c:420 builtin/tag.c:422
+#: builtin/tag.c:427 builtin/tag.c:429
 msgid "print only tags that don't contain the commit"
 msgstr "вывод только меток, которые не содержат коммит"
 
-#: builtin/tag.c:423
+#: builtin/tag.c:430
 msgid "print only tags that are merged"
 msgstr "вывод только слитых меток"
 
-#: builtin/tag.c:424
+#: builtin/tag.c:431
 msgid "print only tags that are not merged"
 msgstr "вывод только не слитых меток"
 
-#: builtin/tag.c:428
+#: builtin/tag.c:435
 msgid "print only tags of the object"
 msgstr "вывод только меток, определенного объекта"
 
-#: builtin/tag.c:472
+#: builtin/tag.c:483
 msgid "--column and -n are incompatible"
 msgstr "--column и -n нельзя использовать одновременно"
 
-#: builtin/tag.c:494
+#: builtin/tag.c:505
 msgid "-n option is only allowed in list mode"
 msgstr "опцию -n можно использовать только в режиме списка"
 
-#: builtin/tag.c:496
+#: builtin/tag.c:507
 msgid "--contains option is only allowed in list mode"
 msgstr "опцию --contains можно использовать только в режиме списка"
 
-#: builtin/tag.c:498
+#: builtin/tag.c:509
 msgid "--no-contains option is only allowed in list mode"
 msgstr "опцию --no-contains можно использовать только в режиме списка"
 
-#: builtin/tag.c:500
+#: builtin/tag.c:511
 msgid "--points-at option is only allowed in list mode"
 msgstr "опцию --points-at можно использовать только в режиме списка"
 
-#: builtin/tag.c:502
+#: builtin/tag.c:513
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr "опции --merged и --no-merged можно использовать только в режиме списка"
 
-#: builtin/tag.c:513
+#: builtin/tag.c:524
 msgid "only one -F or -m option is allowed."
 msgstr "-F и -m нельзя использовать одновременно."
 
-#: builtin/tag.c:532
+#: builtin/tag.c:543
 msgid "too many params"
 msgstr "передано слишком много параметров"
 
-#: builtin/tag.c:538
+#: builtin/tag.c:549
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "«%s» не является допустимым именем метки."
 
-#: builtin/tag.c:543
+#: builtin/tag.c:554
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "метка «%s» уже существует"
 
-#: builtin/tag.c:574
+#: builtin/tag.c:585
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Метка «%s» обновлена (была %s)\n"
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:502
 msgid "Unpacking objects"
 msgstr "Распаковка объектов"
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr "не удалось создать каталог %s"
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr "не удалось создать файл %s"
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr "не удалось удалить файл %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 "не удалось удалить каталог %s"
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Проверка mtime в «%s» "
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr "информация статистики каталога не изменяется после добавления нового файла"
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr "информация статистики каталога не изменяется после добавления нового каталога"
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr "информация статистики каталога изменяется после добавления нового файла"
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr "информация статистики каталога изменяется после добавления нового файла внутри подкаталога"
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr "информация статистики каталога не изменяется после удаления файла"
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr "информация статистики каталога не изменяется после удаления каталога"
 
-#: builtin/update-index.c:221
+#: builtin/update-index.c:222
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:591
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<опции>] [--] [<файл>…]"
 
-#: builtin/update-index.c:971
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr "продолжить обновление, даже если индекс требует обновления"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "обновление: игнорировать подмодули"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "не игнорировать новые файлы"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "разрешить файлам заменять каталоги и наоборот"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "замечать файлы отсутствующие в рабочем каталоге"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr "обновить, даже если в индексе имеются не слитые записи"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "обновить информацию о статусе файлов"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "как --refresh, но игнорировать настройку assume-unchanged"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<режим доступа>,<объект>,<путь>"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "добавить указанную запись в индекс"
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "пометить файлы как «не измененные»"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "убрать пометку assumed-unchanged"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "пометить файлы как «только в индексе»"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "убрать пометку skip-worktree"
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr ""
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr "только добавить в индекс; не добавлять содержимое в базу данных объектов"
 
-#: builtin/update-index.c:1019
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr "удалить указанные пути, даже если они существуют в рабочем каталоге"
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "с опцией --stdin: строки на вводе отделяются НУЛЕВЫМ байтом"
 
-#: builtin/update-index.c:1023
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "прочитать список обновляемых путей из стандартного ввода"
 
-#: builtin/update-index.c:1027
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "добавить записи из стандартного ввода в индекс"
 
-#: builtin/update-index.c:1031
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "заново заполнить индекс #2 и #3 для указанных путей"
 
-#: builtin/update-index.c:1035
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "обновить только записи, которые отличаются от HEAD"
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "игнорировать файлы, отсутствующие в рабочем каталоге"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "вывести выполняемые действия на стандартный вывод"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(для машинной обработки) забыть сохраненные неразрешенные конфликты"
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "записать индекс в указанном формате"
 
-#: builtin/update-index.c:1050
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "разрешить или запретить раздельный индекс"
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "включить/отключить кэш неотслеживаемых файлов"
 
-#: builtin/update-index.c:1054
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr "проверить, что файловая система поддерживает кэш неотслеживаемых файлов"
 
-#: builtin/update-index.c:1056
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr "включить кэш неотслеживаемых файлов без проверки файловой системы"
 
-#: builtin/update-index.c:1058
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "записать индекс, даже если он не помечен как измененный"
 
-#: builtin/update-index.c:1060
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr "включить или выключить мониторинг файловой системы"
 
-#: builtin/update-index.c:1062
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "пометить файл как действительный в мониторе файловой системы"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "снять пометку действительности мониторе файловой системы"
 
-#: builtin/update-index.c:1168
+#: builtin/update-index.c:1173
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr "параметр  core.splitIndex установлен в false; удалите или измените его, если вы действительно хотите включить разделенный индекс"
 
-#: builtin/update-index.c:1177
+#: builtin/update-index.c:1182
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr "параметр  core.splitIndex установлен в true; удалите или измените его, если вы действительно хотите отключить разделенный индекс"
 
-#: builtin/update-index.c:1188
+#: 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"
 msgstr "параметр core.untrackedCache установлен true; удалите или измените его, если вы действительно хотите удалить кэш неотслеживаемых файлов"
 
-#: builtin/update-index.c:1192
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "Кэш неотслеживаемых файлов отключен"
 
-#: builtin/update-index.c:1200
+#: 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"
 msgstr "параметр core.untrackedCache установлен false; удалите или измените его, если вы действительно хотите включить кэш неотслеживаемых файлов"
 
-#: builtin/update-index.c:1204
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Кэш неотслеживаемых файлов включен для «%s»"
 
-#: builtin/update-index.c:1212
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "параметр core.fsmonitor не установлен; установите его если вы действительно хотите включить мониторинг файловой системы"
 
-#: builtin/update-index.c:1216
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "мониторинг файловой системы включён"
 
-#: builtin/update-index.c:1219
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "параметр core.fsmonitor установлен; удалите его если вы действительно хотите выключить мониторинг файловой системы"
 
-#: builtin/update-index.c:1223
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "мониторинг файловой системы выключён"
 
@@ -18909,19 +21346,19 @@ msgstr "git update-ref [<опции>]    <имя-ссылки> <новое-зн
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<опции>] --stdin [-z]"
 
-#: builtin/update-ref.c:364
+#: builtin/update-ref.c:500
 msgid "delete the reference"
 msgstr "удалить ссылку"
 
-#: builtin/update-ref.c:366
+#: builtin/update-ref.c:502
 msgid "update <refname> not the one it points to"
 msgstr "обновить <имя-ссылки> а не то, на что она указывает"
 
-#: builtin/update-ref.c:367
+#: builtin/update-ref.c:503
 msgid "stdin has NUL-terminated arguments"
 msgstr "ввод отделённый НУЛЕВЫМИ символами"
 
-#: builtin/update-ref.c:368
+#: builtin/update-ref.c:504
 msgid "read updates from stdin"
 msgstr "прочитать обновления из стандартного ввода"
 
@@ -18953,308 +21390,312 @@ msgstr "не проверять <каталог>/.git/ если <каталог>
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "прервать передачу после <кол> секунд простоя"
 
-#: builtin/verify-commit.c:20
+#: builtin/verify-commit.c:19
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <коммит>…"
 
-#: builtin/verify-commit.c:76
+#: builtin/verify-commit.c:68
 msgid "print commit contents"
 msgstr "вывести содержимое коммита"
 
-#: builtin/verify-commit.c:77 builtin/verify-tag.c:38
+#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "выводить сырой вывод статуса от gpg"
 
-#: builtin/verify-pack.c:55
+#: builtin/verify-pack.c:59
 msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
 msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <пакет>…"
 
-#: builtin/verify-pack.c:65
+#: builtin/verify-pack.c:70
 msgid "verbose"
 msgstr "быть многословнее"
 
-#: builtin/verify-pack.c:67
+#: builtin/verify-pack.c:72
 msgid "show statistics only"
 msgstr "вывести только статистику"
 
-#: builtin/verify-tag.c:19
+#: builtin/verify-tag.c:18
 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
 msgstr "git verify-tag [-v | --verbose] [--format=<формат>] <метка>…"
 
-#: builtin/verify-tag.c:37
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "вывести содержимое метки"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr "git worktree add [<опции>] <путь> [<указатель-коммита>]"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<опции>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<опции>] <путь>"
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:20
 msgid "git worktree move <worktree> <new-path>"
 msgstr "git worktree move <рабочий-каталог> <новый-путь>"
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:21
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<опции>]"
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:22
 msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<опции>] <рабочий-каталог>"
 
-#: builtin/worktree.c:24
+#: builtin/worktree.c:23
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <путь>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:891
+#: builtin/worktree.c:60 builtin/worktree.c:973
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "не удалось удалить «%s»"
 
-#: builtin/worktree.c:80
-#, c-format
-msgid "Removing worktrees/%s: not a valid directory"
-msgstr "Удаление рабочих каталогов/%s: не является каталогом"
+#: builtin/worktree.c:85
+msgid "not a valid directory"
+msgstr ""
 
-#: builtin/worktree.c:86
-#, c-format
-msgid "Removing worktrees/%s: gitdir file does not exist"
-msgstr "Удаление рабочих каталогов/%s: файл gitdir не существует"
+#: builtin/worktree.c:91
+msgid "gitdir file does not exist"
+msgstr ""
 
-#: builtin/worktree.c:91 builtin/worktree.c:100
+#: builtin/worktree.c:96 builtin/worktree.c:105
 #, c-format
-msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
-msgstr "Удаление рабочих каталогов/%s: не удалось прочитать файл gitdir (%s)"
+msgid "unable to read gitdir file (%s)"
+msgstr ""
 
-#: builtin/worktree.c:110
+#: builtin/worktree.c:115
 #, c-format
-msgid ""
-"Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
-"%<PRIuMAX>)"
-msgstr "Удаление рабочего каталога/%s: прочитано мало данных (ожидалось %<PRIuMAX> байт, прочитано %<PRIuMAX>)"
+msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
+msgstr ""
 
-#: builtin/worktree.c:118
-#, c-format
-msgid "Removing worktrees/%s: invalid gitdir file"
-msgstr "Удаление рабочих каталогов/%s: недействительный файл gitdir"
+#: builtin/worktree.c:123
+msgid "invalid gitdir file"
+msgstr ""
 
-#: builtin/worktree.c:127
+#: builtin/worktree.c:131
+msgid "gitdir file points to non-existent location"
+msgstr ""
+
+#: builtin/worktree.c:146
 #, c-format
-msgid "Removing worktrees/%s: gitdir file points to non-existent location"
-msgstr "Удаление рабочих каталогов/%s: gitdir указывает на несуществующее расположение"
+msgid "Removing %s/%s: %s"
+msgstr ""
 
-#: builtin/worktree.c:166
+#: builtin/worktree.c:221
 msgid "report pruned working trees"
 msgstr "вывести список удаленных рабочих каталогов"
 
-#: builtin/worktree.c:168
+#: builtin/worktree.c:223
 msgid "expire working trees older than <time>"
 msgstr "удалить рабочие каталоги старее чем <дата-окончания>"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:293
 #, c-format
 msgid "'%s' already exists"
 msgstr "«%s» уже существует"
 
-#: builtin/worktree.c:252
+#: builtin/worktree.c:302
 #, c-format
-msgid "unable to re-add worktree '%s'"
+msgid "unusable worktree destination '%s'"
 msgstr ""
 
-#: builtin/worktree.c:257
+#: builtin/worktree.c:307
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
-"use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
+"use '%s -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
 msgstr ""
 
-#: builtin/worktree.c:259
+#: builtin/worktree.c:309
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
-"use 'add -f' to override, or 'prune' or 'remove' to clear"
+"use '%s -f' to override, or 'prune' or 'remove' to clear"
 msgstr ""
 
-#: builtin/worktree.c:302
+#: builtin/worktree.c:360
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "не удалось создать каталог «%s»"
 
-#: builtin/worktree.c:432 builtin/worktree.c:438
+#: builtin/worktree.c:494 builtin/worktree.c:500
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr ""
 
-#: builtin/worktree.c:434
+#: builtin/worktree.c:496
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr ""
 
-#: builtin/worktree.c:443
+#: builtin/worktree.c:505
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr ""
 
-#: builtin/worktree.c:449
+#: builtin/worktree.c:511
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr ""
 
-#: builtin/worktree.c:490
+#: builtin/worktree.c:552
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "переключиться на <ветка> даже если она уже активна в другом рабочесм каталоге"
 
-#: builtin/worktree.c:493
+#: builtin/worktree.c:555
 msgid "create a new branch"
 msgstr "создать новую ветку"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:557
 msgid "create or reset a branch"
 msgstr "создать или перейти на ветку"
 
-#: builtin/worktree.c:497
+#: builtin/worktree.c:559
 msgid "populate the new working tree"
 msgstr "наполнить новый рабочий каталог"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:560
 msgid "keep the new working tree locked"
 msgstr "держать рабочий каталог заблокированным"
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:563
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "настроить режим отслеживания ветки (смотрите git-branch(1))"
 
-#: builtin/worktree.c:504
+#: builtin/worktree.c:566
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "пытаться найти соответствие имени новой ветки с именем внешней ветки"
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:574
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B и --detach нельзя использовать одновременно"
 
-#: builtin/worktree.c:573
+#: builtin/worktree.c:635
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "--[no-]track можно использовать только когда вы создаёте новую ветку"
 
-#: builtin/worktree.c:673
+#: builtin/worktree.c:758
 msgid "reason for locking"
 msgstr "причина блокировки"
 
-#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792
-#: builtin/worktree.c:919
+#: builtin/worktree.c:770 builtin/worktree.c:803 builtin/worktree.c:877
+#: builtin/worktree.c:1001
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "«%s» не является рабочим каталогом"
 
-#: builtin/worktree.c:687 builtin/worktree.c:720
+#: builtin/worktree.c:772 builtin/worktree.c:805
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Главный рабочий каталог не может быть заблокирован или разблокирован"
 
-#: builtin/worktree.c:692
+#: builtin/worktree.c:777
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "«%s» уже заблокирован, причина: %s"
 
-#: builtin/worktree.c:694
+#: builtin/worktree.c:779
 #, c-format
 msgid "'%s' is already locked"
 msgstr "«%s» уже заблокирован"
 
-#: builtin/worktree.c:722
+#: builtin/worktree.c:807
 #, c-format
 msgid "'%s' is not locked"
 msgstr "«%s» не заблокирован"
 
-#: builtin/worktree.c:763
+#: builtin/worktree.c:848
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 
-#: builtin/worktree.c:771
+#: builtin/worktree.c:856
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 
-#: builtin/worktree.c:794 builtin/worktree.c:921
+#: builtin/worktree.c:879 builtin/worktree.c:1003
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr ""
 
-#: builtin/worktree.c:799
+#: builtin/worktree.c:884
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr ""
 
-#: builtin/worktree.c:805
-#, c-format
-msgid "target '%s' already exists"
-msgstr ""
-
-#: builtin/worktree.c:813
+#: builtin/worktree.c:897
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
 "use 'move -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:815
+#: builtin/worktree.c:899
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:818
+#: builtin/worktree.c:902
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr ""
 
-#: builtin/worktree.c:823
+#: builtin/worktree.c:907
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr ""
 
-#: builtin/worktree.c:871
+#: builtin/worktree.c:953
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr ""
 
-#: builtin/worktree.c:875
+#: builtin/worktree.c:957
 #, c-format
-msgid "'%s' is dirty, use --force to delete it"
+msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 
-#: builtin/worktree.c:880
+#: builtin/worktree.c:962
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr ""
 
-#: builtin/worktree.c:903
+#: builtin/worktree.c:985
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 
-#: builtin/worktree.c:926
+#: builtin/worktree.c:1008
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
 "use 'remove -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:1010
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
 msgstr ""
 
-#: builtin/worktree.c:931
+#: builtin/worktree.c:1013
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
 
+#: builtin/worktree.c:1037
+#, c-format
+msgid "repair: %s: %s"
+msgstr ""
+
+#: builtin/worktree.c:1040
+#, c-format
+msgid "error: %s: %s"
+msgstr ""
+
 #: builtin/write-tree.c:15
 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
 msgstr "git write-tree [--missing-ok] [--prefix=<префикс>/]"
@@ -19271,25 +21712,29 @@ msgstr "вывести объект дерева для подкаталога 
 msgid "only useful for debugging"
 msgstr "используется только при отладке"
 
-#: credential-cache--daemon.c:223
+#: http-fetch.c:114
 #, c-format
-msgid ""
-"The permissions on your socket directory are too loose; other\n"
-"users may be able to read your cached credentials. Consider running:\n"
-"\n"
-"\tchmod 0700 %s"
-msgstr "Права доступа к вашему каталогу сокетов слишком свободны; друге пользователи могуи читать ваши закэшированные пароли доступа. Обдумайте запуск команды:\n\n\tchmod 0700 %s"
+msgid "argument to --packfile must be a valid hash (got '%s')"
+msgstr ""
 
-#: credential-cache--daemon.c:272
-msgid "print debugging messages to stderr"
-msgstr "вывод отладочных сообщений на stderr"
+#: http-fetch.c:122
+msgid "not a git repository"
+msgstr ""
 
-#: t/helper/test-reach.c:152
+#: t/helper/test-fast-rebase.c:141
+msgid "unhandled options"
+msgstr ""
+
+#: t/helper/test-fast-rebase.c:146
+msgid "error preparing revisions"
+msgstr ""
+
+#: t/helper/test-reach.c:154
 #, c-format
 msgid "commit %s is not marked reachable"
 msgstr ""
 
-#: t/helper/test-reach.c:162
+#: t/helper/test-reach.c:164
 msgid "too many commits marked reachable"
 msgstr ""
 
@@ -19301,7 +21746,7 @@ msgstr ""
 msgid "exit immediately after advertising capabilities"
 msgstr ""
 
-#: git.c:27
+#: git.c:28
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
 "           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
@@ -19310,146 +21755,147 @@ msgid ""
 "           <command> [<args>]"
 msgstr "git [--version] [--help] [-C <путь>] [-c <имя>=<значение>]\n           [--exec-path[=<путь>]] [--html-path] [--man-path] [--info-path]\n           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]\n           [--git-dir=<путь>] [--work-tree=<путь>] [--namespace=<имя>]\n           <команда> [<аргументы>]"
 
-#: git.c:34
+#: git.c:35
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept."
-msgstr "«git help -а» и «git help -g» выводит список доступных подкоманд и\nнекоторые руководства по темам. Запустите «git help <команда>» или\n«git help <термин>», чтобы прочесть о конкретных подкоманде или теме."
+"to read about a specific subcommand or concept.\n"
+"See 'git help git' for an overview of the system."
+msgstr ""
 
-#: git.c:185
+#: git.c:187
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr ""
 
-#: git.c:199
+#: git.c:201
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr ""
 
-#: git.c:213
+#: git.c:215
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr ""
 
-#: git.c:227
+#: git.c:229
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr ""
 
-#: git.c:249
+#: git.c:251
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr ""
 
-#: git.c:287
+#: git.c:289
 #, c-format
 msgid "no directory given for -C\n"
 msgstr ""
 
-#: git.c:313
+#: git.c:315
 #, c-format
 msgid "unknown option: %s\n"
 msgstr ""
 
-#: git.c:359
+#: git.c:364
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr ""
 
-#: git.c:368
+#: git.c:373
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
 "You can use '!git' in the alias to do this"
 msgstr ""
 
-#: git.c:376
+#: git.c:380
 #, c-format
 msgid "empty alias for %s"
 msgstr ""
 
-#: git.c:379
+#: git.c:383
 #, c-format
 msgid "recursive alias: %s"
 msgstr ""
 
-#: git.c:459
+#: git.c:465
 msgid "write failure on standard output"
 msgstr ""
 
-#: git.c:461
+#: git.c:467
 msgid "unknown write failure on standard output"
 msgstr ""
 
-#: git.c:463
+#: git.c:469
 msgid "close failed on standard output"
 msgstr ""
 
-#: git.c:797
+#: git.c:820
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 
-#: git.c:847
+#: git.c:870
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr ""
 
-#: git.c:860
+#: git.c:883
 #, c-format
 msgid ""
 "usage: %s\n"
 "\n"
 msgstr ""
 
-#: git.c:880
+#: git.c:903
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr ""
 
-#: git.c:892
+#: git.c:915
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr ""
 
-#: http.c:378
+#: http.c:399
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr "отрицательное значение http.postbuffer; использую стандартное значение %d"
 
-#: http.c:399
+#: http.c:420
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "Делегация проверки полномочий не поддерживается с cURL < 7.22.0"
 
-#: http.c:408
+#: http.c:429
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Public key pinning не поддерживается с cURL < 7.44.0"
 
-#: http.c:876
+#: http.c:910
 msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
 msgstr ""
 
-#: http.c:949
+#: http.c:989
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr ""
 
-#: http.c:1085
+#: http.c:1132
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr ""
 
-#: http.c:1092
+#: http.c:1139
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 
-#: http.c:1096
+#: http.c:1143
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr ""
 
-#: http.c:1965
+#: http.c:2025
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -19457,152 +21903,193 @@ msgid ""
 "   redirect: %s"
 msgstr "не удалось обновить базовый url из переадресации:\n  запрошено: %s\n   переадресовано: %s"
 
-#: remote-curl.c:157
+#: remote-curl.c:183
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr ""
 
-#: remote-curl.c:254
+#: remote-curl.c:307
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr ""
 
-#: remote-curl.c:355
+#: remote-curl.c:408
 msgid "invalid server response; expected service, got flush packet"
 msgstr ""
 
-#: remote-curl.c:386
+#: remote-curl.c:439
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr ""
 
-#: remote-curl.c:446
+#: remote-curl.c:499
 #, c-format
 msgid "repository '%s' not found"
 msgstr ""
 
-#: remote-curl.c:450
+#: remote-curl.c:503
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr ""
 
-#: remote-curl.c:454
+#: remote-curl.c:507
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "«%s» недоступно: %s"
 
-#: remote-curl.c:460
+#: remote-curl.c:513
 #, c-format
 msgid "redirecting to %s"
 msgstr "переадресация на %s"
 
-#: remote-curl.c:584
+#: remote-curl.c:642
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr ""
 
-#: remote-curl.c:664
-msgid "unable to rewind rpc post data - try increasing http.postBuffer"
+#: remote-curl.c:654
+msgid "remote server sent stateless separator"
 msgstr ""
 
 #: remote-curl.c:724
+msgid "unable to rewind rpc post data - try increasing http.postBuffer"
+msgstr ""
+
+#: remote-curl.c:754
+#, c-format
+msgid "remote-curl: bad line length character: %.4s"
+msgstr ""
+
+#: remote-curl.c:756
+msgid "remote-curl: unexpected response end packet"
+msgstr ""
+
+#: remote-curl.c:832
 #, c-format
 msgid "RPC failed; %s"
 msgstr ""
 
-#: remote-curl.c:764
+#: remote-curl.c:872
 msgid "cannot handle pushes this big"
 msgstr ""
 
-#: remote-curl.c:879
+#: remote-curl.c:987
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr ""
 
-#: remote-curl.c:883
+#: remote-curl.c:991
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr ""
 
-#: remote-curl.c:1014
+#: remote-curl.c:1041
+#, c-format
+msgid "%d bytes of length header were received"
+msgstr ""
+
+#: remote-curl.c:1043
+#, c-format
+msgid "%d bytes of body are still expected"
+msgstr ""
+
+#: remote-curl.c:1132
 msgid "dumb http transport does not support shallow capabilities"
 msgstr ""
 
-#: remote-curl.c:1028
+#: remote-curl.c:1147
 msgid "fetch failed."
 msgstr ""
 
-#: remote-curl.c:1076
+#: remote-curl.c:1193
 msgid "cannot fetch by sha1 over smart http"
 msgstr ""
 
-#: remote-curl.c:1120 remote-curl.c:1126
+#: remote-curl.c:1237 remote-curl.c:1243
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr ""
 
-#: remote-curl.c:1138 remote-curl.c:1252
+#: remote-curl.c:1255 remote-curl.c:1373
 #, c-format
 msgid "http transport does not support %s"
 msgstr ""
 
-#: remote-curl.c:1174
+#: remote-curl.c:1291
 msgid "git-http-push failed"
 msgstr ""
 
-#: remote-curl.c:1360
+#: remote-curl.c:1479
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr ""
 
-#: remote-curl.c:1392
+#: remote-curl.c:1511
 msgid "remote-curl: error reading command stream from git"
 msgstr ""
 
-#: remote-curl.c:1399
+#: remote-curl.c:1518
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr ""
 
-#: remote-curl.c:1439
+#: remote-curl.c:1559
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr ""
 
-#: list-objects-filter-options.h:61
+#: compat/compiler.h:26
+msgid "no compiler information available\n"
+msgstr ""
+
+#: compat/compiler.h:38
+msgid "no libc information available\n"
+msgstr ""
+
+#: list-objects-filter-options.h:91
 msgid "args"
 msgstr "аргументы"
 
-#: list-objects-filter-options.h:62
+#: list-objects-filter-options.h:92
 msgid "object filtering"
 msgstr "фильтрация объектов"
 
-#: parse-options.h:170
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "дата-окончания"
 
-#: parse-options.h:184
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "ничего не делает (оставлено для обратной совместимости)"
 
-#: parse-options.h:304
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "быть многословнее"
 
-#: parse-options.h:306
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "тихий режим"
 
-#: parse-options.h:312
-msgid "use <n> digits to display SHA-1s"
-msgstr "использовать <n> цифр для вывода SHA-1"
+#: parse-options.h:317
+msgid "use <n> digits to display object names"
+msgstr ""
 
-#: parse-options.h:331
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr "как удалять пробелы и #комментарии из сообщения коммита"
 
-#: ref-filter.h:101
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr ""
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL "
+"character"
+msgstr ""
+
+#: ref-filter.h:96
 msgid "key"
 msgstr "ключ"
 
-#: ref-filter.h:101
+#: ref-filter.h:96
 msgid "field name to sort on"
 msgstr "имя поля, по которому выполнить сортировку"
 
@@ -19610,6 +22097,14 @@ msgstr "имя поля, по которому выполнить сортиро
 msgid "update the index with reused conflict resolution if possible"
 msgstr "обновить индекс с помощью переиспользования разрешения конфликта, если возможно"
 
+#: wt-status.h:80
+msgid "HEAD detached at "
+msgstr "HEAD отделён на "
+
+#: wt-status.h:81
+msgid "HEAD detached from "
+msgstr "HEAD отделён начиная с "
+
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "Добавление содержимого файла в индекс"
@@ -19647,852 +22142,772 @@ msgid "List, create, or delete branches"
 msgstr "Вывод списка, создание или удаление веток"
 
 #: command-list.h:59
+msgid "Collect information for user to file a bug report"
+msgstr ""
+
+#: command-list.h:60
 msgid "Move objects and refs by archive"
 msgstr "Перемещение объектов и ссылок по архиву"
 
-#: command-list.h:60
+#: command-list.h:61
 msgid "Provide content or type and size information for repository objects"
 msgstr "Вывод содержимого или типа и информации о размере для объектов репозитория"
 
-#: command-list.h:61
+#: command-list.h:62
 msgid "Display gitattributes information"
 msgstr "Вывод информации из gitattributes"
 
-#: command-list.h:62
+#: command-list.h:63
 msgid "Debug gitignore / exclude files"
 msgstr "Отладка файлов gitignore / exclude"
 
-#: command-list.h:63
+#: command-list.h:64
 msgid "Show canonical names and email addresses of contacts"
 msgstr "Вывод каноничных имён и адресов электронной почты контактов"
 
-#: command-list.h:64
+#: command-list.h:65
 msgid "Switch branches or restore working tree files"
 msgstr "Переключение веток или восстановление файлов в рабочем каталоге"
 
-#: command-list.h:65
+#: command-list.h:66
 msgid "Copy files from the index to the working tree"
 msgstr "Копирование файлов из индекса в рабочий каталог"
 
-#: command-list.h:66
+#: command-list.h:67
 msgid "Ensures that a reference name is well formed"
 msgstr "Удостовериться, что имя ссылки правильно сформировано"
 
-#: command-list.h:67
+#: command-list.h:68
 msgid "Find commits yet to be applied to upstream"
 msgstr "Поиск коммитов которые еще не применены вышестоящим репозиторием"
 
-#: command-list.h:68
+#: command-list.h:69
 msgid "Apply the changes introduced by some existing commits"
 msgstr "Применение изменений, сделанных в каком-то существующем коммите"
 
-#: command-list.h:69
+#: command-list.h:70
 msgid "Graphical alternative to git-commit"
 msgstr "Графическая альтернатива для git-commit"
 
-#: command-list.h:70
+#: command-list.h:71
 msgid "Remove untracked files from the working tree"
 msgstr "Удаление неотслеживаемых файлов из рабочего каталога"
 
-#: command-list.h:71
+#: command-list.h:72
 msgid "Clone a repository into a new directory"
 msgstr "Клонирование репозитория в новый каталог"
 
-#: command-list.h:72
+#: command-list.h:73
 msgid "Display data in columns"
 msgstr "Вывод данных по колонкам"
 
-#: command-list.h:73
+#: command-list.h:74
 msgid "Record changes to the repository"
 msgstr "Запись изменений в репозиторий"
 
-#: command-list.h:74
+#: command-list.h:75
 msgid "Write and verify Git commit-graph files"
 msgstr "Запись и проверка commit-graph файлов Git"
 
-#: command-list.h:75
+#: command-list.h:76
 msgid "Create a new commit object"
 msgstr "Создание нового объекта коммита"
 
-#: command-list.h:76
+#: command-list.h:77
 msgid "Get and set repository or global options"
 msgstr "Получение и установка глобальных опций или опций репозитория"
 
-#: command-list.h:77
+#: command-list.h:78
 msgid "Count unpacked number of objects and their disk consumption"
 msgstr "Подсчет количества неупакованных объектов и их потребления диска"
 
-#: command-list.h:78
+#: command-list.h:79
 msgid "Retrieve and store user credentials"
 msgstr "Получение и сохранение учетных записей пользователя"
 
-#: command-list.h:79
+#: command-list.h:80
 msgid "Helper to temporarily store passwords in memory"
 msgstr "Помощник для временного хранения паролей в памяти"
 
-#: command-list.h:80
+#: command-list.h:81
 msgid "Helper to store credentials on disk"
 msgstr "Помощник для хранения учетных записей на диске"
 
-#: command-list.h:81
+#: command-list.h:82
 msgid "Export a single commit to a CVS checkout"
 msgstr "Экспорт единственного коммита в виде рабочей копии CVS"
 
-#: command-list.h:82
+#: command-list.h:83
 msgid "Salvage your data out of another SCM people love to hate"
 msgstr "Спасение ваших данных из другой СКВ которую люди любят ненавидеть"
 
-#: command-list.h:83
+#: command-list.h:84
 msgid "A CVS server emulator for Git"
 msgstr "Эмулятор сервера CVS для Git"
 
-#: command-list.h:84
+#: command-list.h:85
 msgid "A really simple server for Git repositories"
 msgstr "Очень простой сервер для Git репозиториев"
 
-#: command-list.h:85
+#: command-list.h:86
 msgid "Give an object a human readable name based on an available ref"
 msgstr "Присвоение объекту удобочитаемое имя на основе доступной ссылки"
 
-#: command-list.h:86
+#: command-list.h:87
 msgid "Show changes between commits, commit and working tree, etc"
 msgstr "Вывод разницы между коммитами, коммитом и рабочим каталогом и т.д."
 
-#: command-list.h:87
+#: command-list.h:88
 msgid "Compares files in the working tree and the index"
 msgstr "Сравнение седержимого файлов в рабочем каталоге с файлами в индексе"
 
-#: command-list.h:88
+#: command-list.h:89
 msgid "Compare a tree to the working tree or index"
 msgstr "Сравнение дерева файлов с рабочим каталогом или индексом"
 
-#: command-list.h:89
+#: command-list.h:90
 msgid "Compares the content and mode of blobs found via two tree objects"
 msgstr "Сравнение содержимого и режима двоичных объектов, найденных по двум объектам дерева"
 
-#: command-list.h:90
+#: command-list.h:91
 msgid "Show changes using common diff tools"
 msgstr "Показ изменений с помощью распространенных утилит сравнения"
 
-#: command-list.h:91
+#: command-list.h:92
 msgid "Git data exporter"
 msgstr "Экспорт данных Git"
 
-#: command-list.h:92
+#: command-list.h:93
 msgid "Backend for fast Git data importers"
 msgstr "Внутренний интерфейс для быстрого импорта данных Git"
 
-#: command-list.h:93
+#: command-list.h:94
 msgid "Download objects and refs from another repository"
 msgstr "Загрузка объектов и ссылок из другого репозитория"
 
-#: command-list.h:94
+#: command-list.h:95
 msgid "Receive missing objects from another repository"
 msgstr "Получение недостающих объектов из другого репозитория"
 
-#: command-list.h:95
+#: command-list.h:96
 msgid "Rewrite branches"
 msgstr "Перезапись веток"
 
-#: command-list.h:96
+#: command-list.h:97
 msgid "Produce a merge commit message"
 msgstr "Создание сообщения коммита для слияния"
 
-#: command-list.h:97
+#: command-list.h:98
 msgid "Output information on each ref"
 msgstr "Вывод информации о каждой ссылке"
 
-#: command-list.h:98
+#: command-list.h:99
+msgid "Run a Git command on a list of repositories"
+msgstr ""
+
+#: command-list.h:100
 msgid "Prepare patches for e-mail submission"
 msgstr "Подготовка патчей для отправки по электронной почте"
 
-#: command-list.h:99
+#: command-list.h:101
 msgid "Verifies the connectivity and validity of the objects in the database"
 msgstr "Проверка связности и валидности объектов в базе данных"
 
-#: command-list.h:100
+#: command-list.h:102
 msgid "Cleanup unnecessary files and optimize the local repository"
 msgstr "Очистка ненужных файлов и оптимизация локального репозитория"
 
-#: command-list.h:101
+#: command-list.h:103
 msgid "Extract commit ID from an archive created using git-archive"
 msgstr "Извлечение идентификатора коммита из архива, созданного с помощью git-archive"
 
-#: command-list.h:102
+#: command-list.h:104
 msgid "Print lines matching a pattern"
 msgstr "Вывод строк, соответствующих шаблону"
 
-#: command-list.h:103
+#: command-list.h:105
 msgid "A portable graphical interface to Git"
 msgstr "Портативный графический интерфейс для Git"
 
-#: command-list.h:104
+#: command-list.h:106
 msgid "Compute object ID and optionally creates a blob from a file"
 msgstr "Вычисление идентификатора объекта и возможное создание двоичного объекта из файла"
 
-#: command-list.h:105
+#: command-list.h:107
 msgid "Display help information about Git"
 msgstr "Отображение справочной информации о Git"
 
-#: command-list.h:106
+#: command-list.h:108
 msgid "Server side implementation of Git over HTTP"
 msgstr "Серверная реализация протокола Git над HTTP"
 
-#: command-list.h:107
+#: command-list.h:109
 msgid "Download from a remote Git repository via HTTP"
 msgstr "Загрузка из внешнего репозитория Git с помощью HTTP"
 
-#: command-list.h:108
+#: command-list.h:110
 msgid "Push objects over HTTP/DAV to another repository"
 msgstr "Отправка объектов в другой репозиторий с помощью HTTP/DAV"
 
-#: command-list.h:109
+#: command-list.h:111
 msgid "Send a collection of patches from stdin to an IMAP folder"
 msgstr "Отправка коллекции патчей из стандартного ввода в папку IMAP"
 
-#: command-list.h:110
+#: command-list.h:112
 msgid "Build pack index file for an existing packed archive"
 msgstr "Построение файла индекса для существующего упакованного архива"
 
-#: command-list.h:111
+#: command-list.h:113
 msgid "Create an empty Git repository or reinitialize an existing one"
 msgstr "Создание пустого репозитория Git или переинициализация существующего"
 
-#: command-list.h:112
+#: command-list.h:114
 msgid "Instantly browse your working repository in gitweb"
 msgstr "Мгновенный просмотр вашего рабочего репозитория в gitweb"
 
-#: command-list.h:113
+#: command-list.h:115
 msgid "Add or parse structured information in commit messages"
 msgstr "Добавление или разбор структурированной информации в сообщениях коммита"
 
-#: command-list.h:114
+#: command-list.h:116
 msgid "The Git repository browser"
 msgstr "Браузер репозитория Git"
 
-#: command-list.h:115
+#: command-list.h:117
 msgid "Show commit logs"
 msgstr "Вывод истории коммитов"
 
-#: command-list.h:116
+#: command-list.h:118
 msgid "Show information about files in the index and the working tree"
 msgstr "Вывод информации о файлах в индексе и в рабочем каталоге"
 
-#: command-list.h:117
+#: command-list.h:119
 msgid "List references in a remote repository"
 msgstr "Вывод списка ссылок во внешнем репозитории"
 
-#: command-list.h:118
+#: command-list.h:120
 msgid "List the contents of a tree object"
 msgstr "Вывод содержимого объекта дерева"
 
-#: command-list.h:119
+#: command-list.h:121
 msgid "Extracts patch and authorship from a single e-mail message"
 msgstr "Извлекает патч и авторство из одного сообщения электронной почты"
 
-#: command-list.h:120
+#: command-list.h:122
 msgid "Simple UNIX mbox splitter program"
 msgstr "Простая программа UNIX для разбора файла mbox"
 
-#: command-list.h:121
+#: command-list.h:123
+msgid "Run tasks to optimize Git repository data"
+msgstr ""
+
+#: command-list.h:124
 msgid "Join two or more development histories together"
 msgstr "Объединение одной или нескольких историй разработки вместе"
 
-#: command-list.h:122
+#: command-list.h:125
 msgid "Find as good common ancestors as possible for a merge"
 msgstr "Поиск подходящих общих предков для возможного слияния"
 
-#: command-list.h:123
+#: command-list.h:126
 msgid "Run a three-way file merge"
 msgstr "Запуск трёхходового слияния файлов"
 
-#: command-list.h:124
+#: command-list.h:127
 msgid "Run a merge for files needing merging"
 msgstr "Запуск слияния для файлов, которые требуют слияния"
 
-#: command-list.h:125
+#: command-list.h:128
 msgid "The standard helper program to use with git-merge-index"
 msgstr "Стандартная программа-помощник для использования совместно с git-merge-index"
 
-#: command-list.h:126
+#: command-list.h:129
 msgid "Run merge conflict resolution tools to resolve merge conflicts"
 msgstr "Запуск инструментов разрешения конфликтов слияния"
 
-#: command-list.h:127
+#: command-list.h:130
 msgid "Show three-way merge without touching index"
 msgstr "Вывод трёхходового слияние без затрагивания индекса"
 
-#: command-list.h:128
+#: command-list.h:131
 msgid "Write and verify multi-pack-indexes"
 msgstr "Запись и проверка файлов multi-pack-index"
 
-#: command-list.h:129
+#: command-list.h:132
 msgid "Creates a tag object"
 msgstr "Создание объектов меток"
 
-#: command-list.h:130
+#: command-list.h:133
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "Построение объекта дерева из текста формата ls-tree"
 
-#: command-list.h:131
+#: command-list.h:134
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "Перемещение или переименование файла, каталога или символьной ссылки"
 
-#: command-list.h:132
+#: command-list.h:135
 msgid "Find symbolic names for given revs"
 msgstr "Поиск символьных имён для указанных редакций"
 
-#: command-list.h:133
+#: command-list.h:136
 msgid "Add or inspect object notes"
 msgstr "Добавление или просмотр заметок объекта"
 
-#: command-list.h:134
+#: command-list.h:137
 msgid "Import from and submit to Perforce repositories"
 msgstr "Импорт и отправка в репозитории Perforce"
 
-#: command-list.h:135
+#: command-list.h:138
 msgid "Create a packed archive of objects"
 msgstr "Создание упакованного архива объектов"
 
-#: command-list.h:136
+#: command-list.h:139
 msgid "Find redundant pack files"
 msgstr "Поиск избыточных файлов пакетов"
 
-#: command-list.h:137
+#: command-list.h:140
 msgid "Pack heads and tags for efficient repository access"
 msgstr "Упаковка указателей на ветки и меток для эффективного доступа к репозиторию"
 
-#: command-list.h:138
-msgid "Routines to help parsing remote repository access parameters"
-msgstr "Подпрограммы для помощи разбора параметров доступа внешнего репозитория"
-
-#: command-list.h:139
+#: command-list.h:141
 msgid "Compute unique ID for a patch"
 msgstr "Вычисление уникального идентификатора для патча"
 
-#: command-list.h:140
+#: command-list.h:142
 msgid "Prune all unreachable objects from the object database"
 msgstr "Очистка всех недостижимых объектов из базы данных объектов"
 
-#: command-list.h:141
+#: command-list.h:143
 msgid "Remove extra objects that are already in pack files"
 msgstr "Удаление дополнительных объектов, которые уже содержатся в файлах пакетов"
 
-#: command-list.h:142
+#: command-list.h:144
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "Извлечение изменений и объединение с другим репозиторием или локальной веткой"
 
-#: command-list.h:143
+#: command-list.h:145
 msgid "Update remote refs along with associated objects"
 msgstr "Обновление внешних ссылок и связанных объектов"
 
-#: command-list.h:144
+#: command-list.h:146
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "Применение упорядоченного списка патчей над текущей веткой"
 
-#: command-list.h:145
+#: command-list.h:147
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr "Сравнение двух диапазонов коммитов (например двух версий ветки)"
 
-#: command-list.h:146
+#: command-list.h:148
 msgid "Reads tree information into the index"
 msgstr "Чтение информации о дереве в индекс"
 
-#: command-list.h:147
+#: command-list.h:149
 msgid "Reapply commits on top of another base tip"
 msgstr "Повторное применение коммитов над верхушкой другой ветки"
 
-#: command-list.h:148
+#: command-list.h:150
 msgid "Receive what is pushed into the repository"
 msgstr "Получение того, что было отправлено в репозиторий"
 
-#: command-list.h:149
+#: command-list.h:151
 msgid "Manage reflog information"
 msgstr "Управление информацией журнала ссылок"
 
-#: command-list.h:150
+#: command-list.h:152
 msgid "Manage set of tracked repositories"
 msgstr "Управление набором отслеживаемых репозиториев"
 
-#: command-list.h:151
+#: command-list.h:153
 msgid "Pack unpacked objects in a repository"
 msgstr "Упаковка неупакованных объектов в репозитории"
 
-#: command-list.h:152
+#: command-list.h:154
 msgid "Create, list, delete refs to replace objects"
 msgstr "Создание, вывод списка, удаление ссылок для замены объектов"
 
-#: command-list.h:153
+#: command-list.h:155
 msgid "Generates a summary of pending changes"
 msgstr "Генерация сводки предстоящих изменений"
 
-#: command-list.h:154
+#: command-list.h:156
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "Повторное использование записанных разрешений конфликтов при слияниях"
 
-#: command-list.h:155
+#: command-list.h:157
 msgid "Reset current HEAD to the specified state"
 msgstr "Сброс текущего состояния HEAD на указанное состояние"
 
-#: command-list.h:156
+#: command-list.h:158
+msgid "Restore working tree files"
+msgstr ""
+
+#: command-list.h:159
 msgid "Revert some existing commits"
 msgstr "Обращение изменений существующих коммитов"
 
-#: command-list.h:157
+#: command-list.h:160
 msgid "Lists commit objects in reverse chronological order"
 msgstr "Вывод списка объектов коммита в обратном хронологическом порядке"
 
-#: command-list.h:158
+#: command-list.h:161
 msgid "Pick out and massage parameters"
 msgstr "Разбор и обработка параметров"
 
-#: command-list.h:159
+#: command-list.h:162
 msgid "Remove files from the working tree and from the index"
 msgstr "Удаление файлов из рабочего каталога и индекса"
 
-#: command-list.h:160
+#: command-list.h:163
 msgid "Send a collection of patches as emails"
 msgstr "Отправка коллекции патчей на электронную почту"
 
-#: command-list.h:161
+#: command-list.h:164
 msgid "Push objects over Git protocol to another repository"
 msgstr "Отправка объектов в другой репозиторий с помощью протокола Git"
 
-#: command-list.h:162
+#: command-list.h:165
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "Ограниченная оболочка входа в систему для доступа Git через SSH"
 
-#: command-list.h:163
+#: command-list.h:166
 msgid "Summarize 'git log' output"
 msgstr "Обобщение вывода «git log»"
 
-#: command-list.h:164
+#: command-list.h:167
 msgid "Show various types of objects"
 msgstr "Вывод различных типов объектов"
 
-#: command-list.h:165
+#: command-list.h:168
 msgid "Show branches and their commits"
 msgstr "Вывод веток и их коммитов"
 
-#: command-list.h:166
+#: command-list.h:169
 msgid "Show packed archive index"
 msgstr "Вывод индекса упакованного архива"
 
-#: command-list.h:167
+#: command-list.h:170
 msgid "List references in a local repository"
 msgstr "Вывод ссылок в локальном репозитории"
 
-#: command-list.h:168
+#: command-list.h:171
 msgid "Git's i18n setup code for shell scripts"
 msgstr "Код настройки интернационализации для сценариев оболочки Git"
 
-#: command-list.h:169
+#: command-list.h:172
 msgid "Common Git shell script setup code"
 msgstr "Общий код настройки для сценариев оболочки Git"
 
-#: command-list.h:170
+#: command-list.h:173
+msgid "Initialize and modify the sparse-checkout"
+msgstr ""
+
+#: command-list.h:174
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Спрятать изменения в изменённом рабочем каталоге"
 
-#: command-list.h:171
+#: command-list.h:175
 msgid "Add file contents to the staging area"
 msgstr "Добавление содержимого файлов в индекс"
 
-#: command-list.h:172
+#: command-list.h:176
 msgid "Show the working tree status"
 msgstr "Вывод состояния рабочего каталога"
 
-#: command-list.h:173
+#: command-list.h:177
 msgid "Remove unnecessary whitespace"
 msgstr "Удаление ненужных пробелов"
 
-#: command-list.h:174
+#: command-list.h:178
 msgid "Initialize, update or inspect submodules"
 msgstr "Инициализация, обновление или просмотр подмодулей"
 
-#: command-list.h:175
+#: command-list.h:179
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Двухсторонние операции между репозиториями Subversion и Git"
 
-#: command-list.h:176
+#: command-list.h:180
+msgid "Switch branches"
+msgstr ""
+
+#: command-list.h:181
 msgid "Read, modify and delete symbolic refs"
 msgstr "Чтение, изменение и удаление символических ссылок"
 
-#: command-list.h:177
+#: command-list.h:182
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "Создание, вывод списка, удаление или проверка метки, подписанной с помощью GPG"
 
-#: command-list.h:178
+#: command-list.h:183
 msgid "Creates a temporary file with a blob's contents"
 msgstr "Создание временного файла с содержимым двоичного объекта"
 
-#: command-list.h:179
+#: command-list.h:184
 msgid "Unpack objects from a packed archive"
 msgstr "Распаковка объектов из упакованного архива"
 
-#: command-list.h:180
+#: command-list.h:185
 msgid "Register file contents in the working tree to the index"
 msgstr "Регистрация содержимого файла из рабочего каталога в индекс"
 
-#: command-list.h:181
+#: command-list.h:186
 msgid "Update the object name stored in a ref safely"
 msgstr "Безопасное обновление имени объекта хранящегося в ссылке"
 
-#: command-list.h:182
+#: command-list.h:187
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "Обновление файла со вспомогательной информацией для глупых серверов"
 
-#: command-list.h:183
+#: command-list.h:188
 msgid "Send archive back to git-archive"
 msgstr "Отправка архива обратно в git-archive"
 
-#: command-list.h:184
+#: command-list.h:189
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Отправка упакованных объектов обратно в git-fetch-pack"
 
-#: command-list.h:185
+#: command-list.h:190
 msgid "Show a Git logical variable"
 msgstr "Вывод логической переменной Git"
 
-#: command-list.h:186
+#: command-list.h:191
 msgid "Check the GPG signature of commits"
 msgstr "Проверка подписи GPG коммитов"
 
-#: command-list.h:187
+#: command-list.h:192
 msgid "Validate packed Git archive files"
 msgstr "Проверка файлов упакованных архивов Git"
 
-#: command-list.h:188
+#: command-list.h:193
 msgid "Check the GPG signature of tags"
 msgstr "Проверка подписи GPG меток"
 
-#: command-list.h:189
+#: command-list.h:194
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Веб интерфейс Git (веб-интерфейс для Git репозиториев)"
 
-#: command-list.h:190
+#: command-list.h:195
 msgid "Show logs with difference each commit introduces"
 msgstr "Вывод журнала с изменениями, которые вводил каждый из коммитов"
 
-#: command-list.h:191
+#: command-list.h:196
 msgid "Manage multiple working trees"
 msgstr "Управление несколькими рабочими каталогами"
 
-#: command-list.h:192
+#: command-list.h:197
 msgid "Create a tree object from the current index"
 msgstr "Создание объекта дерева из текущего индекса"
 
-#: command-list.h:193
+#: command-list.h:198
 msgid "Defining attributes per path"
 msgstr "Определение атрибутов для путей файлов или каталогов"
 
-#: command-list.h:194
+#: command-list.h:199
 msgid "Git command-line interface and conventions"
 msgstr "Интерфейс коммандной строки Git и соглашения"
 
-#: command-list.h:195
+#: command-list.h:200
 msgid "A Git core tutorial for developers"
 msgstr "Учебник по ядру Git для разработчиков"
 
-#: command-list.h:196
+#: command-list.h:201
+msgid "Providing usernames and passwords to Git"
+msgstr ""
+
+#: command-list.h:202
 msgid "Git for CVS users"
 msgstr "Git для пользователей CVS"
 
-#: command-list.h:197
+#: command-list.h:203
 msgid "Tweaking diff output"
 msgstr "Подстройка вывода списка изменений"
 
-#: command-list.h:198
+#: command-list.h:204
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "Полезный минимум команд для каждодневного использования Git"
 
-#: command-list.h:199
+#: command-list.h:205
+msgid "Frequently asked questions about using Git"
+msgstr ""
+
+#: command-list.h:206
 msgid "A Git Glossary"
 msgstr "Глоссарий Git"
 
-#: command-list.h:200
+#: command-list.h:207
 msgid "Hooks used by Git"
 msgstr "Перехватчики используемые Git"
 
-#: command-list.h:201
+#: command-list.h:208
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Указание специально игнорируемых файлов"
 
-#: command-list.h:202
+#: command-list.h:209
 msgid "Defining submodule properties"
 msgstr "Определение свойств подмодулей"
 
-#: command-list.h:203
+#: command-list.h:210
 msgid "Git namespaces"
 msgstr "Пространства имён Git"
 
-#: command-list.h:204
+#: command-list.h:211
+msgid "Helper programs to interact with remote repositories"
+msgstr ""
+
+#: command-list.h:212
 msgid "Git Repository Layout"
 msgstr "Содержимое репозитория Git"
 
-#: command-list.h:205
+#: command-list.h:213
 msgid "Specifying revisions and ranges for Git"
 msgstr "Указание редакций и диапазонов для Git"
 
-#: command-list.h:206
+#: command-list.h:214
+msgid "Mounting one repository inside another"
+msgstr ""
+
+#: command-list.h:215
 msgid "A tutorial introduction to Git: part two"
 msgstr "Обучающее введение в Git: часть вторая"
 
-#: command-list.h:207
+#: command-list.h:216
 msgid "A tutorial introduction to Git"
 msgstr "Обучающее введение в Git"
 
-#: command-list.h:208
+#: command-list.h:217
 msgid "An overview of recommended workflows with Git"
 msgstr "Обзор рекомендуемых последовательностей выполняемых действий с Git"
 
-#: git-bisect.sh:54
-msgid "You need to start by \"git bisect start\""
-msgstr "Вам нужно начать с помощью «git bisect start»"
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-bisect.sh:60
-msgid "Do you want me to do it for you [Y/n]? "
-msgstr "Вы уверены, что хотите, чтобы я сделал это [Y - да/n - нет]? "
-
-#: git-bisect.sh:101
+#: git-bisect.sh:48
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr "Плохой ввод номера редакции: $arg"
 
-#: git-bisect.sh:121
-#, sh-format
-msgid "Bad rev input: $bisected_head"
-msgstr "Плохой ввод номера редакции: $bisected_head"
-
-#: git-bisect.sh:130
-#, sh-format
-msgid "Bad rev input: $rev"
-msgstr "Плохой ввод номера редакции: $rev"
-
-#: git-bisect.sh:139
-#, sh-format
-msgid "'git bisect $TERM_BAD' can take only one argument."
-msgstr "«git bisect $TERM_BAD» может принимать только один аргумент."
-
-#: git-bisect.sh:209
+#: git-bisect.sh:82
 msgid "No logfile given"
 msgstr "Не передан файл журнала"
 
-#: git-bisect.sh:210
+#: git-bisect.sh:83
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr "не удалось прочитать $file для повтора изменений"
 
-#: git-bisect.sh:232
+#: git-bisect.sh:105
 msgid "?? what are you talking about?"
 msgstr "?? вы о чем?"
 
-#: git-bisect.sh:241
+#: git-bisect.sh:115
 msgid "bisect run failed: no command provided."
 msgstr "сбой при выполнении двоичного поиска: не передана команда."
 
-#: git-bisect.sh:246
+#: git-bisect.sh:120
 #, sh-format
 msgid "running $command"
 msgstr "запускаю $command"
 
-#: git-bisect.sh:253
+#: git-bisect.sh:127
 #, sh-format
 msgid ""
 "bisect run failed:\n"
 "exit code $res from '$command' is < 0 or >= 128"
 msgstr "не удалось выполнить двоичный поиск:\nкод завершения $res от «$command» оказался < 0 или >= 128"
 
-#: git-bisect.sh:279
+#: git-bisect.sh:152
 msgid "bisect run cannot continue any more"
 msgstr "bisect run больше не может продолжать"
 
-#: git-bisect.sh:285
+#: git-bisect.sh:158
 #, sh-format
 msgid ""
 "bisect run failed:\n"
-"'bisect_state $state' exited with error code $res"
-msgstr "не удалось выполнить двоичный поиск:\n«bisect_state $state» завершился с кодом ошибки $res"
+"'bisect-state $state' exited with error code $res"
+msgstr ""
 
-#: git-bisect.sh:292
+#: git-bisect.sh:165
 msgid "bisect run success"
 msgstr "bisect run выполнен успешно"
 
-#: git-bisect.sh:300
+#: git-bisect.sh:173
 msgid "We are not bisecting."
 msgstr "Вы сейчас не в процессе бинарного поиска."
 
 #: git-merge-octopus.sh:46
 msgid ""
 "Error: Your local changes to the following files would be overwritten by "
-"merge"
-msgstr "Ошибка: Ваши локальные изменения в указанных файлах будут перезаписаны при слиянии"
-
-#: git-merge-octopus.sh:61
-msgid "Automated merge did not work."
-msgstr "Не удалось автоматически слить изменения."
-
-#: git-merge-octopus.sh:62
-msgid "Should not be doing an octopus."
-msgstr "Должно быть octopus не подходит."
-
-#: git-merge-octopus.sh:73
-#, sh-format
-msgid "Unable to find common commit with $pretty_name"
-msgstr "Не удалось найти общий коммит с $pretty_name"
-
-#: git-merge-octopus.sh:77
-#, sh-format
-msgid "Already up to date with $pretty_name"
-msgstr "Уже обновлено в соответствии с $pretty_name"
-
-#: git-merge-octopus.sh:89
-#, sh-format
-msgid "Fast-forwarding to: $pretty_name"
-msgstr "Перемотка вперед до: $pretty_name"
-
-#: git-merge-octopus.sh:97
-#, sh-format
-msgid "Trying simple merge with $pretty_name"
-msgstr "Попытка простого слияния с $pretty_name"
-
-#: git-merge-octopus.sh:102
-msgid "Simple merge did not work, trying automatic merge."
-msgstr "Простое слияние не удалось, попытка автоматического слияния."
-
-#: git-legacy-stash.sh:220
-msgid "Cannot remove temporary index (can't happen)"
-msgstr "Не удалось удалить временный индекс (не должно случаться)"
-
-#: git-legacy-stash.sh:271
-#, sh-format
-msgid "Cannot update $ref_stash with $w_commit"
-msgstr "Не удалось обновить $ref_stash с помощью $w_commit"
-
-#: git-legacy-stash.sh:323
-#, sh-format
-msgid "error: unknown option for 'stash push': $option"
-msgstr "ошибка: неизвестный параметр для «stash push»: $option"
-
-#: git-legacy-stash.sh:355
-#, sh-format
-msgid "Saved working directory and index state $stash_msg"
-msgstr "Рабочий каталог и состояние индекса сохранены $stash_msg"
-
-#: git-legacy-stash.sh:535
-#, sh-format
-msgid "unknown option: $opt"
-msgstr "неизвестная опция: $opt"
-
-#: git-legacy-stash.sh:555
-#, sh-format
-msgid "Too many revisions specified: $REV"
-msgstr "Передано слишком много редакций: $REV"
-
-#: git-legacy-stash.sh:570
-#, sh-format
-msgid "$reference is not a valid reference"
-msgstr "$reference не является действительной ссылкой"
-
-#: git-legacy-stash.sh:598
-#, sh-format
-msgid "'$args' is not a stash-like commit"
-msgstr "«$args» не похоже на коммит со спрятанными изменениями"
-
-#: git-legacy-stash.sh:609
-#, sh-format
-msgid "'$args' is not a stash reference"
-msgstr "«$args» не является ссылкой на спрятанные изменения"
-
-#: git-legacy-stash.sh:617
-msgid "unable to refresh index"
-msgstr "не удалось обновить индекс"
-
-#: git-legacy-stash.sh:621
-msgid "Cannot apply a stash in the middle of a merge"
-msgstr "Нельзя применить спрятанные изменения во время выполнения слияния"
+"merge"
+msgstr "Ошибка: Ваши локальные изменения в указанных файлах будут перезаписаны при слиянии"
 
-#: git-legacy-stash.sh:629
-msgid "Conflicts in index. Try without --index."
-msgstr "Ð\9aонÑ\84ликÑ\82Ñ\8b Ð² Ð¸Ð½Ð´ÐµÐºÑ\81е. Ð\9fопÑ\80обÑ\83йÑ\82е Ð±ÐµÐ· --index."
+#: git-merge-octopus.sh:61
+msgid "Automated merge did not work."
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð°Ð²Ñ\82омаÑ\82иÑ\87еÑ\81ки Ñ\81лиÑ\82Ñ\8c Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f."
 
-#: git-legacy-stash.sh:631
-msgid "Could not save index tree"
-msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ñ\81оÑ\85Ñ\80аниÑ\82Ñ\8c Ð´ÐµÑ\80ево Ð¸Ð½Ð´ÐµÐºÑ\81а"
+#: git-merge-octopus.sh:62
+msgid "Should not be doing an octopus."
+msgstr "Ð\94олжно Ð±Ñ\8bÑ\82Ñ\8c octopus Ð½Ðµ Ð¿Ð¾Ð´Ñ\85одиÑ\82."
 
-#: git-legacy-stash.sh:640
-msgid "Could not restore untracked files from stash entry"
-msgstr "Невозможно восстановить неотслеживаемые файлы из спрятанных изменений"
+#: git-merge-octopus.sh:73
+#, sh-format
+msgid "Unable to find common commit with $pretty_name"
+msgstr "Не удалось найти общий коммит с $pretty_name"
 
-#: git-legacy-stash.sh:665
-msgid "Cannot unstage modified files"
-msgstr "Невозможно убрать из индекса измененные файлы"
+#: git-merge-octopus.sh:77
+#, sh-format
+msgid "Already up to date with $pretty_name"
+msgstr "Уже обновлено в соответствии с $pretty_name"
 
-#: git-legacy-stash.sh:703
+#: git-merge-octopus.sh:89
 #, sh-format
-msgid "Dropped ${REV} ($s)"
-msgstr "Ð\9eÑ\82бÑ\80оÑ\88ено ${REV} ($s)"
+msgid "Fast-forwarding to: $pretty_name"
+msgstr "Ð\9fеÑ\80емоÑ\82ка Ð²Ð¿ÐµÑ\80ед Ð´Ð¾: $pretty_name"
 
-#: git-legacy-stash.sh:704
+#: git-merge-octopus.sh:97
 #, sh-format
-msgid "${REV}: Could not drop stash entry"
-msgstr "${REV}: Не удалось отбросить запись из спрятанных изменений"
+msgid "Trying simple merge with $pretty_name"
+msgstr "Попытка простого слияния с $pretty_name"
 
-#: git-legacy-stash.sh:791
-msgid "(To restore them type \"git stash apply\")"
-msgstr "(Чтобы восстановить их, наберите «git stash apply»)"
+#: git-merge-octopus.sh:102
+msgid "Simple merge did not work, trying automatic merge."
+msgstr "Простое слияние не удалось, попытка автоматического слияния."
 
-#: git-submodule.sh:200
+#: git-submodule.sh:179
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "Относительный путь можно использовать только находясь на вершине рабочего каталога"
 
-#: git-submodule.sh:210
+#: git-submodule.sh:189
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "URL репозитория: «$repo» должен быть абсолютным или начинаться с ./|../"
 
-#: git-submodule.sh:229
+#: git-submodule.sh:208
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "«$sm_path» уже содержится в индексе"
 
-#: git-submodule.sh:232
+#: git-submodule.sh:211
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "«$sm_path» уже содержится в индексе и не является подмодулем"
 
-#: git-submodule.sh:239
+#: git-submodule.sh:218
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr ""
 
-#: git-submodule.sh:245
-#, sh-format
-msgid ""
-"The following path is ignored by one of your .gitignore files:\n"
-"$sm_path\n"
-"Use -f if you really want to add it."
-msgstr "Следующие пути игнорируются одним из ваших файлов .gitignore:\n$sm_path\nИспользуйте опцию -f, если вы действительно хотите его добавить."
-
-#: git-submodule.sh:268
+#: git-submodule.sh:249
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Добавляю существующий репозиторий из «$sm_path» в индекс"
 
-#: git-submodule.sh:270
+#: git-submodule.sh:251
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "«$sm_path» уже существует и не является действительным репозиторием git"
 
-#: git-submodule.sh:278
+#: git-submodule.sh:259
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "Каталог git для «$sm_name» найден локально на внешних репозиториях:"
 
-#: git-submodule.sh:280
+#: git-submodule.sh:261
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -20501,137 +22916,124 @@ msgid ""
 "or you are unsure what this means choose another name with the '--name' option."
 msgstr "Если вы хотите повторно использовать локальный каталог git вместо повторного клонирования из\n  $realrepo\nто используйте параметр «--force». Если же локальный каталог git не является нужным репозиторием или если вы не уверены, что это значит, то укажите другое имя для подмодуля с помощью параметра «--name»."
 
-#: git-submodule.sh:286
+#: git-submodule.sh:267
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Восстановление локального каталога git для подмодуля «$sm_name»."
 
-#: git-submodule.sh:298
+#: git-submodule.sh:279
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Не удалось переключиться на состояние у подмодуля «$sm_path»"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:284
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Сбой добавления подмодуля «$sm_path»"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:293
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Не удалось зарегистрировать подмодуль «$sm_path»"
 
-#: git-submodule.sh:573
+#: git-submodule.sh:568
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "Не удалось найти текущую редакцию для подмодуля по пути «$displaypath»"
 
-#: git-submodule.sh:583
+#: git-submodule.sh:578
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Не удалось выполнить извлечение для подмодуля по пути «$sm_path»"
 
-#: git-submodule.sh:588
+#: git-submodule.sh:583
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr "Не удалось найти текущую редакцию ${remote_name}/${branch} для подмодуля по пути «$sm_path»"
 
-#: git-submodule.sh:606
+#: git-submodule.sh:601
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
 "$sha1:"
 msgstr ""
 
-#: git-submodule.sh:612
+#: git-submodule.sh:607
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 "Direct fetching of that commit failed."
 msgstr "Получен по пути подмодуля «$displaypath», но не содержит $sha1. Сбой при прямом получении коммита."
 
-#: git-submodule.sh:619
+#: git-submodule.sh:614
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Не удалось переключиться на состояние «$sha1» для подмодуля по пути «$displaypath»"
 
-#: git-submodule.sh:620
+#: git-submodule.sh:615
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Подмодуль по пути «$displaypath»: забрано состояние «$sha1»"
 
-#: git-submodule.sh:624
+#: git-submodule.sh:619
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Не удалось переместить «$sha1» для подмодуля по пути «$displaypath»"
 
-#: git-submodule.sh:625
+#: git-submodule.sh:620
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Подмодуль по пути «$displaypath»: перемещен над «$sha1»"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:625
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "Не удалось выполнить слияние с «$sha1» для подмодуля по пути «$displaypath»"
 
-#: git-submodule.sh:631
+#: git-submodule.sh:626
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Подмодуль по пути «$displaypath»: слито с «$sha1»"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:631
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "Сбой выполнения «$command $sha1» для подмодуля по пути «$displaypath»"
 
-#: git-submodule.sh:637
+#: git-submodule.sh:632
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Подмодуль по пути «$displaypath»: «$command $sha1»"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:663
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Не удалось выполнить рекурсивно для подмодуля по пути «$displaypath»"
 
-#: git-submodule.sh:830
-msgid "The --cached option cannot be used with the --files option"
-msgstr "Опцию --cached нельзя использовать одновременно с опцией --files"
-
-#: git-submodule.sh:882
-#, sh-format
-msgid "unexpected mode $mod_dst"
-msgstr "неизвестный режим $mod_dst"
-
-#: git-submodule.sh:902
-#, sh-format
-msgid "  Warn: $display_name doesn't contain commit $sha1_src"
-msgstr "  Предупреждение: $display_name не содержит коммит $sha1_src"
-
-#: git-submodule.sh:905
-#, sh-format
-msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
-msgstr "  Предупреждение: $display_name не содержит коммит $sha1_dst"
+#: git-rebase--preserve-merges.sh:109
+msgid "Applied autostash."
+msgstr "Применены автоматически спрятанные изменения."
 
-#: git-submodule.sh:908
+#: git-rebase--preserve-merges.sh:112
 #, sh-format
-msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
-msgstr "  Предупреждение: $display_name не содержит коммиты $sha1_src и $sha1_dst"
+msgid "Cannot store $stash_sha1"
+msgstr "Не удалось сохранить $stash_sha1"
 
-#: git-parse-remote.sh:89
-#, sh-format
-msgid "See git-${cmd}(1) for details."
-msgstr "Для дополнительной информации, смотрите git-${cmd}(1)."
+#: git-rebase--preserve-merges.sh:113
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr "Применение автоматически спрятанных изменений вызвало конфликты.\nВаши изменения спрятаны и в безопасности.\nВы можете выполнить «git stash pop» или «git stash drop» в любой момент.\n"
 
-#: git-rebase--preserve-merges.sh:136
+#: git-rebase--preserve-merges.sh:191
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Перемещение ($new_count/$total)"
 
-#: git-rebase--preserve-merges.sh:152
+#: git-rebase--preserve-merges.sh:197
 msgid ""
 "\n"
 "Commands:\n"
@@ -20652,7 +23054,7 @@ msgid ""
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr "\nКоманды:\np, pick <коммит> = использовать коммит\nr, reword <коммит> = использовать коммит, но изменить сообщение коммита\ne, edit <коммит> = использовать коммит, но остановиться для исправления\ns, squash <коммит> = использовать коммит, но объединить с предыдущим коммитом\nf, fixup <коммит> = как «squash», но пропустить сообщение коммита\nx, exec <команда> = выполнить команду (остаток строки) с помощью командной оболочки\nd, drop <коммит> = удалить коммит\nl, label <метка> = дать имя текущему HEAD\nt, reset <метка> = сбросить HEAD к указанной метке\nm, merge [-C <коммит> | -c <коммит>] <метка> [# <строка>]\n. создать слияние используя сообщение коммита оригинального\n. слияния (или использовать указанную строку, если оригинальное\n. слияние не указано). Используйте -c <коммит> чтобы изменить\n. сообщение коммита.\n\nЭти строки можно перемещать; они будут выполнены сверху вниз.\n"
 
-#: git-rebase--preserve-merges.sh:215
+#: git-rebase--preserve-merges.sh:260
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -20664,61 +23066,61 @@ msgid ""
 "\tgit rebase --continue"
 msgstr "Теперь вы можете исправить коммит с помощью\n\n\tgit commit --amend $gpg_sign_opt_quoted\n\nКак только вы будете довольны результатом, запустите\n\n\tgit rebase --continue"
 
-#: git-rebase--preserve-merges.sh:240
+#: git-rebase--preserve-merges.sh:285
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1: не является коммитом, который можно взять"
 
-#: git-rebase--preserve-merges.sh:279
+#: git-rebase--preserve-merges.sh:324
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Недопустимое имя коммита: $sha1"
 
-#: git-rebase--preserve-merges.sh:309
+#: git-rebase--preserve-merges.sh:354
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Не удалось записать замену sha1 текущего коммита"
 
-#: git-rebase--preserve-merges.sh:360
+#: git-rebase--preserve-merges.sh:405
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Перемотка вперед до $sha1"
 
-#: git-rebase--preserve-merges.sh:362
+#: git-rebase--preserve-merges.sh:407
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Не удалось перемотать вперед до $sha1"
 
-#: git-rebase--preserve-merges.sh:371
+#: git-rebase--preserve-merges.sh:416
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Не удалось переместить HEAD на $first_parent"
 
-#: git-rebase--preserve-merges.sh:376
+#: git-rebase--preserve-merges.sh:421
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Нельзя уплотнить слияние: $sha1"
 
-#: git-rebase--preserve-merges.sh:394
+#: git-rebase--preserve-merges.sh:439
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Ошибка при повторении слияния $sha1"
 
-#: git-rebase--preserve-merges.sh:403
+#: git-rebase--preserve-merges.sh:448
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Не удалось взять $sha1"
 
-#: git-rebase--preserve-merges.sh:412
+#: git-rebase--preserve-merges.sh:457
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Это сообщение коммита номер #${n}:"
 
-#: git-rebase--preserve-merges.sh:417
+#: git-rebase--preserve-merges.sh:462
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Сообщение коммита номер #${n} будет пропущено:"
 
-#: git-rebase--preserve-merges.sh:428
+#: git-rebase--preserve-merges.sh:473
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
@@ -20727,22 +23129,22 @@ msgstr[1] "Это объединение $count коммитов"
 msgstr[2] "Это объединение $count коммитов"
 msgstr[3] "Это объединение $count коммитов"
 
-#: git-rebase--preserve-merges.sh:437
+#: git-rebase--preserve-merges.sh:482
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Не удалось записать $fixup_msg"
 
-#: git-rebase--preserve-merges.sh:440
+#: git-rebase--preserve-merges.sh:485
 msgid "This is a combination of 2 commits."
 msgstr "Это объединение 2 коммитов"
 
-#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524
-#: git-rebase--preserve-merges.sh:527
+#: git-rebase--preserve-merges.sh:526 git-rebase--preserve-merges.sh:569
+#: git-rebase--preserve-merges.sh:572
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Не удалось применить $sha1… $rest"
 
-#: git-rebase--preserve-merges.sh:556
+#: git-rebase--preserve-merges.sh:601
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -20751,31 +23153,31 @@ msgid ""
 "you are able to reword the commit."
 msgstr "Не удалось исправить коммит после успешного перехода на $sha1… $rest\nЭто произошло, скорее всего, из-за пустого сообщения коммита или из-за перехватчика перед коммитом. Если же это произошло из-за перехватчика перед коммитом, то вам нужно решить с ним проблему и повторить попытку снова."
 
-#: git-rebase--preserve-merges.sh:571
+#: git-rebase--preserve-merges.sh:616
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Остановлено на $sha1_abbrev… $rest"
 
-#: git-rebase--preserve-merges.sh:586
+#: git-rebase--preserve-merges.sh:631
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "Нельзя сделать «$squash_style» без указания предыдущего коммита"
 
-#: git-rebase--preserve-merges.sh:628
+#: git-rebase--preserve-merges.sh:673
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Выполнение: $rest"
 
-#: git-rebase--preserve-merges.sh:636
+#: git-rebase--preserve-merges.sh:681
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Не удалось выполнить: $rest"
 
-#: git-rebase--preserve-merges.sh:638
+#: git-rebase--preserve-merges.sh:683
 msgid "and made changes to the index and/or the working tree"
 msgstr "и были сделаны изменения в индексе и/или в рабочем каталоге"
 
-#: git-rebase--preserve-merges.sh:640
+#: git-rebase--preserve-merges.sh:685
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -20783,7 +23185,7 @@ msgid ""
 msgstr "Вы можете исправить ошибку, а затем запустить\n\n\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--preserve-merges.sh:653
+#: git-rebase--preserve-merges.sh:698
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -20793,25 +23195,25 @@ msgid ""
 "\tgit rebase --continue"
 msgstr "Успешное выполнение: $rest\nно остались изменения в индексе и/или в рабочем каталоге\nСделайте коммит или спрячьте ваши изменения, а затем выполните\n\n\tgit rebase --continue"
 
-#: git-rebase--preserve-merges.sh:664
+#: git-rebase--preserve-merges.sh:709
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Неопознанная команда: $command $sha1 $rest"
 
-#: git-rebase--preserve-merges.sh:665
+#: git-rebase--preserve-merges.sh:710
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "Пожалуйста исправьте это с помощью «git rebase --edit-todo»."
 
-#: git-rebase--preserve-merges.sh:700
+#: git-rebase--preserve-merges.sh:745
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Успешно перемещён и обновлён $head_name."
 
-#: git-rebase--preserve-merges.sh:757
+#: git-rebase--preserve-merges.sh:802
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Не удалось удалить CHERRY_PICK_HEAD"
 
-#: git-rebase--preserve-merges.sh:762
+#: git-rebase--preserve-merges.sh:807
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -20829,43 +23231,43 @@ msgid ""
 "  git rebase --continue\n"
 msgstr "У вас имеются проиндексированные изменения в рабочем каталоге.\nЕсли эти изменения должны быть объеденены с предыдущим коммитом, то запустите:\n\n  git commit --amend $gpg_sign_opt_quoted\n\nЕсли же они должны быть помещены в новый коммит, то запустите:\n\n  git commit $gpg_sign_opt_quoted\n\nВ любом случае, после того как вы закончите, продолжить перемещение можно выполнив:\n\n  git rebase --continue\n"
 
-#: git-rebase--preserve-merges.sh:779
+#: git-rebase--preserve-merges.sh:824
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Произошла ошибка при поиске автора для исправления коммита"
 
-#: git-rebase--preserve-merges.sh:784
+#: git-rebase--preserve-merges.sh:829
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr "У вас имеются незакоммиченные изменения в рабочем каталоге. Сделайте коммит, а затем запустите «git rebase --continue» снова."
 
-#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793
+#: git-rebase--preserve-merges.sh:834 git-rebase--preserve-merges.sh:838
 msgid "Could not commit staged changes."
 msgstr "Не удалось закоммитить проиндексированные изменения."
 
-#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+#: git-rebase--preserve-merges.sh:869 git-rebase--preserve-merges.sh:955
 msgid "Could not execute editor"
 msgstr "Не удалось запустить редактор"
 
-#: git-rebase--preserve-merges.sh:845
+#: git-rebase--preserve-merges.sh:890
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Не удалось перейти на версию $switch_to"
 
-#: git-rebase--preserve-merges.sh:852
+#: git-rebase--preserve-merges.sh:897
 msgid "No HEAD?"
 msgstr "Нет указателя HEAD?"
 
-#: git-rebase--preserve-merges.sh:853
+#: git-rebase--preserve-merges.sh:898
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Не удалось создать временный каталог $state_dir"
 
-#: git-rebase--preserve-merges.sh:856
+#: git-rebase--preserve-merges.sh:901
 msgid "Could not mark as interactive"
 msgstr "Не удалось пометить как интерактивный"
 
-#: git-rebase--preserve-merges.sh:888
+#: git-rebase--preserve-merges.sh:933
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
@@ -20874,7 +23276,11 @@ msgstr[1] "Перемещение $shortrevisions над $shortonto ($todocount
 msgstr[2] "Перемещение $shortrevisions над $shortonto ($todocount команд)"
 msgstr[3] "Перемещение $shortrevisions над $shortonto ($todocount команд)"
 
-#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
+#: git-rebase--preserve-merges.sh:945
+msgid "Note that empty commits are commented out"
+msgstr "Заметьте, что пустые коммиты закомментированны"
+
+#: git-rebase--preserve-merges.sh:987 git-rebase--preserve-merges.sh:992
 msgid "Could not init rewritten commits"
 msgstr "Не удалось инициализировать перезаписанные коммиты"
 
@@ -20936,59 +23342,12 @@ msgid "Unable to determine absolute path of git directory"
 msgstr "Не удалось определить абсолютный путь к каталогу git"
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:196
+#: git-add--interactive.perl:212
 #, perl-format
 msgid "%12s %12s %s"
 msgstr "%12s %12s %s"
 
-#: git-add--interactive.perl:197
-msgid "staged"
-msgstr "в индексе"
-
-#: git-add--interactive.perl:197
-msgid "unstaged"
-msgstr "не в индексе"
-
-#: git-add--interactive.perl:253 git-add--interactive.perl:278
-msgid "binary"
-msgstr "двоичный"
-
-#: git-add--interactive.perl:262 git-add--interactive.perl:316
-msgid "nothing"
-msgstr "ничего"
-
-#: git-add--interactive.perl:298 git-add--interactive.perl:313
-msgid "unchanged"
-msgstr "нет изменений"
-
-#: git-add--interactive.perl:609
-#, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] "добавлен %d путь\n"
-msgstr[1] "добавлено %d пути\n"
-msgstr[2] "добавлено %d путей\n"
-msgstr[3] "добавлено %d пути\n"
-
-#: git-add--interactive.perl:612
-#, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] "обновлён %d путь\n"
-msgstr[1] "обновлено %d пути\n"
-msgstr[2] "обновлено %d путей\n"
-msgstr[3] "обновлено %d пути\n"
-
-#: git-add--interactive.perl:615
-#, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] "обращены изменения %d пути\n"
-msgstr[1] "обращены изменения %d путей\n"
-msgstr[2] "обращены изменения %d путей\n"
-msgstr[3] "обращены изменения %d путей\n"
-
-#: git-add--interactive.perl:618
+#: git-add--interactive.perl:632
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
@@ -20997,67 +23356,44 @@ msgstr[1] "тронуты %d пути\n"
 msgstr[2] "тронуты %d путей\n"
 msgstr[3] "тронуты %d пути\n"
 
-#: git-add--interactive.perl:627
-msgid "Update"
-msgstr "Обновить"
-
-#: git-add--interactive.perl:639
-msgid "Revert"
-msgstr "Обратить изменения"
-
-#: git-add--interactive.perl:662
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr "примечание: %s теперь неотслеживаемый.\n"
-
-#: git-add--interactive.perl:673
-msgid "Add untracked"
-msgstr "Добавить неотслеживаемый"
-
-#: git-add--interactive.perl:679
-msgid "No untracked files.\n"
-msgstr "Нет неотслеживаемых файлов.\n"
-
-#: git-add--interactive.perl:1033
+#: git-add--interactive.perl:1056
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr "Если патч применяется без ошибок, то изменённый блок будет сразу помечен для индексирования."
 
-#: git-add--interactive.perl:1036
+#: git-add--interactive.perl:1059
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr "Если патч применяется без ошибок, то изменённый блок будет сразу помечен для прятанья."
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1062
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr "Если патч применяется без ошибок, то изменённый блок будет сразу помечен для убирания из индекса."
 
-#: git-add--interactive.perl:1042 git-add--interactive.perl:1051
+#: git-add--interactive.perl:1065 git-add--interactive.perl:1074
+#: git-add--interactive.perl:1080
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr "Если патч применяется без ошибок, то изменённый блок будет сразу помечен для применения."
 
-#: git-add--interactive.perl:1045 git-add--interactive.perl:1048
+#: git-add--interactive.perl:1068 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 discarding."
 msgstr "Если патч применяется без ошибок, то изменённый блок будет сразу помечен для отмены изменений."
 
-#: git-add--interactive.perl:1085
+#: git-add--interactive.perl:1114
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "не удалось открыть файл редактирования блока изменений для записи: %s"
 
-#: git-add--interactive.perl:1086
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr "Ручной режим редактирования блока изменений — смотрите ниже для небольшого руководства.\n"
-
-#: git-add--interactive.perl:1092
+#: git-add--interactive.perl:1121
 #, perl-format
 msgid ""
 "---\n"
@@ -21066,32 +23402,12 @@ msgid ""
 "Lines starting with %s will be removed.\n"
 msgstr "---\nЧтобы удалить «%s» строки, сделайте их ' ' строками (контекст).\nЧтобы удалить «%s» строки, удалите их.\nСтроки, начинающиеся с %s будут удалены.\n"
 
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1100
-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возможность изменить его снова. Если все строки блока\nизменений удалены, то редактирование будет отменено\nи блок останется без изменений.\n"
-
-#: git-add--interactive.perl:1114
+#: git-add--interactive.perl:1143
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "не удалось открыть файл редактирования блока изменений для чтения: %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:1213
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]?"
-" "
-msgstr "Изменённый вами блок не применяется. Редактировать снова (ответ «y» означает «нет»!) [y/n]? "
-
-#: git-add--interactive.perl:1222
+#: git-add--interactive.perl:1251
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -21100,7 +23416,7 @@ msgid ""
 "d - do not stage this hunk or any of the later hunks in the file"
 msgstr "y - проиндексировать блок изменений\nn - не индексировать этот блок изменений\nq - выход; не индексировать этот и последующие блоки\na - проиндексировать этот и все последующие блоки файла\nd - не индексировать этот и последующие блоки файла"
 
-#: git-add--interactive.perl:1228
+#: git-add--interactive.perl:1257
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -21109,7 +23425,7 @@ msgid ""
 "d - do not stash this hunk or any of the later hunks in the file"
 msgstr "y - спрятать изменения блока\nq - выход; не прятать изменения этого и последующих блоков\na - спрятать этот и все последующие блоки файла\nd - не прятать этот и последующие блоки файла"
 
-#: git-add--interactive.perl:1234
+#: git-add--interactive.perl:1263
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -21118,7 +23434,7 @@ msgid ""
 "d - do not unstage this hunk or any of the later hunks in the file"
 msgstr "y - убрать из индекса этот блок изменений\nn - не убирать из индекса этот блок изменений\nq - выход; не убирать из индекса этот и последующие блоки\na - убрать из индекса этот и все последующие блоки файла\nd - не убирать из индекса этот и последующие блоки файла"
 
-#: git-add--interactive.perl:1240
+#: git-add--interactive.perl:1269
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -21127,7 +23443,7 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr "y - применить блок изменений к индексу\nn - не применять этот блок изменений к индексу\nq - выход; не применять этот и последующие блоки\na - применить этот блок и все последующие блоки файла\nd - не применять этот и последующие блоки файла"
 
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1275 git-add--interactive.perl:1293
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -21136,7 +23452,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr "y - отменить изменения этого блока в рабочем каталоге\nn - не отменять изменения этого блока в рабочем каталоге\nq - выход; не отменять изменения этого блока и всех последующих\na - отменить изменения этого и всех последующих блоков файла\nd - не отменять изменения этого и всех последующих блоков файла"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1281
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -21145,7 +23461,7 @@ msgid ""
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr "y - отменить изменения этого блока в индексе и рабочем каталоге\nn - не отменять изменения этого блока в индексе и рабочем каталоге\nq - выход; не отменять изменения этого блока и всех последующих\na - отменить изменения этого и всех последующих блоков файла\nd - не отменять изменения этого и всех последующих блоков файла"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1287
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -21154,7 +23470,16 @@ msgid ""
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr "y - применить блок изменений к индексу и рабочему каталогу\nn - не применять этот блок изменений к индексу и рабочему каталогу\nq - выход; не применять этот и последующие блоки\na - применить этот блок и все последующие блоки файла\nd - не применять этот и последующие блоки файла"
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1299
+msgid ""
+"y - apply this hunk to worktree\n"
+"n - do not apply this hunk to worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+
+#: git-add--interactive.perl:1314
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -21167,158 +23492,45 @@ msgid ""
 "? - print help\n"
 msgstr "g - выбрать блок изменений на который нужно перейти\n/ - поиск блока изменений с помощью регулярного выражения\nj - не принимать решение по этому блоку, перейти на следующий без решения\nJ - не принимать решение по этому блоку, перейти на следующий\nk - не принимать решение по этому блоку, перейти на предыдущий без решения\nK - не принимать решение по этому блоку, перейти на предыдущий\ns - разделить текущий блок на блоки меньшего размера\ne - вручную отредактировать текущий блок\n? - вывести справку\n"
 
-#: git-add--interactive.perl:1304
+#: git-add--interactive.perl:1345
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "Выбранные блоки не применяются без ошибок к индексу!\n"
 
-#: git-add--interactive.perl:1305
-msgid "Apply them to the worktree anyway? "
-msgstr "Все равно применить их к рабочему каталогу?"
-
-#: git-add--interactive.perl:1308
-msgid "Nothing was applied.\n"
-msgstr "Ничего не применено.\n"
-
-#: git-add--interactive.perl:1319
+#: git-add--interactive.perl:1360
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "игнорирую не слитое: %s\n"
 
-#: git-add--interactive.perl:1328
-msgid "Only binary files changed.\n"
-msgstr "Только изменения двоичных файлов.\n"
-
-#: git-add--interactive.perl:1330
-msgid "No changes.\n"
-msgstr "Нет изменений.\n"
-
-#: git-add--interactive.perl:1338
-msgid "Patch update"
-msgstr "Обновление патча"
-
-#: git-add--interactive.perl:1390
-#, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr "Проиндексировать изменение режима доступа [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1391
-#, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr "Проиндексировать удаление [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1392
-#, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Проиндексировать этот блок изменений [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1395
-#, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr "Спрятать изменение режима доступа [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1396
-#, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr "Спрятать удаление файла [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1397
-#, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr "Спрятать этот блок изменений [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1400
-#, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr "Убрать изменения режима доступа из индекса [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1401
-#, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr "Убрать удаление из индекса [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1402
-#, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Убрать из индекса этот блок измений [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1405
-#, perl-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr "Применить изменение режима доступа к индексу [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1406
-#, perl-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr "Применить удаление к индексу [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1407
-#, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr "Применить этот блок к индексу [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1410
-#, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr "Отменить изменения режима доступа в рабочем каталоге [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1411
-#, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr "Отменить удаление в рабочем каталоге [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1412
-#, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr "Отменить изменения этого блока в рабочем каталоге [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1415
-#, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Отменить изменения режима доступа в индексе и рабочем каталоге [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1416
-#, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Отменить удаление в индексе и рабочем каталоге [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1417
+#: git-add--interactive.perl:1479
 #, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Отменить изменения этого блока в индексе и рабочем каталоге [y,n,q,a,d%s,?]? "
+msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
 
-#: git-add--interactive.perl:1420
+#: git-add--interactive.perl:1480
 #, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Применить изменения режима доступа к индексу и рабочему каталогу [y,n,q,a,d%s,?]? "
+msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
 
-#: git-add--interactive.perl:1421
+#: git-add--interactive.perl:1481
 #, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Применить удаление к индексу и рабочему каталогу [y,n,q,a,d%s,?]? "
+msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
 
-#: git-add--interactive.perl:1422
+#: git-add--interactive.perl:1482
 #, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Применить изменения этого блока к индексу и рабочему каталогу [y,n,q,a,d%s,?]? "
+msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
+msgstr ""
 
-#: git-add--interactive.perl:1522
+#: git-add--interactive.perl:1599
 msgid "No other hunks to goto\n"
 msgstr ""
 
-#: git-add--interactive.perl:1529
-msgid "go to which hunk (<ret> to see more)? "
-msgstr "на какой блок перейти (нажмите <ввод> чтобы увидеть еще)? "
-
-#: git-add--interactive.perl:1531
-msgid "go to which hunk? "
-msgstr "на какой блок перейти? "
-
-#: git-add--interactive.perl:1540
+#: git-add--interactive.perl:1617
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Неверный номер: «%s»\n"
 
-#: git-add--interactive.perl:1545
+#: git-add--interactive.perl:1622
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
@@ -21327,36 +23539,32 @@ msgstr[1] "Простите, но только %d блока изменений
 msgstr[2] "Простите, но только %d блоков изменений доступно.\n"
 msgstr[3] "Простите, но только %d блока изменений доступно.\n"
 
-#: git-add--interactive.perl:1571
+#: git-add--interactive.perl:1657
 msgid "No other hunks to search\n"
 msgstr ""
 
-#: git-add--interactive.perl:1575
-msgid "search for regex? "
-msgstr "искать с помощью регулярного выражения? "
-
-#: git-add--interactive.perl:1588
+#: git-add--interactive.perl:1674
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Регулярное выражение для поиска в неверном формате %s: %s\n"
 
-#: git-add--interactive.perl:1598
+#: git-add--interactive.perl:1684
 msgid "No hunk matches the given pattern\n"
 msgstr "Не найдены блоки, которые соответствуют указанному шаблону\n"
 
-#: git-add--interactive.perl:1610 git-add--interactive.perl:1632
+#: git-add--interactive.perl:1696 git-add--interactive.perl:1718
 msgid "No previous hunk\n"
 msgstr "Нет предыдущего блока\n"
 
-#: git-add--interactive.perl:1619 git-add--interactive.perl:1638
+#: git-add--interactive.perl:1705 git-add--interactive.perl:1724
 msgid "No next hunk\n"
 msgstr "Не следующего блока\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1730
 msgid "Sorry, cannot split this hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1650
+#: git-add--interactive.perl:1736
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
@@ -21365,17 +23573,13 @@ msgstr[1] "Разбито на %d блока изменений.\n"
 msgstr[2] "Разбито на %d блоков изменений.\n"
 msgstr[3] "Разбито на %d блока изменений.\n"
 
-#: git-add--interactive.perl:1660
+#: git-add--interactive.perl:1746
 msgid "Sorry, cannot edit this hunk\n"
 msgstr ""
 
-#: git-add--interactive.perl:1706
-msgid "Review diff"
-msgstr "Просмотреть изменения"
-
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1725
+#: git-add--interactive.perl:1811
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -21385,18 +23589,19 @@ msgid ""
 "add untracked - add contents of untracked files to the staged set of changes\n"
 msgstr "status        - показать пути с изменениями\nupdate        - добавить состояние рабочего каталога индекс\nrevert        - вернуть проиндексированный набор изменений к HEAD версии\npatch         - выбрать и выборочно обновить блоки\ndiff          - просмотреть изменения между HEAD и индексом\nadd untracked - добавить содержимое неотслеживаемых файлов в индекс\n"
 
-#: git-add--interactive.perl:1742 git-add--interactive.perl:1747
-#: git-add--interactive.perl:1750 git-add--interactive.perl:1757
-#: git-add--interactive.perl:1761 git-add--interactive.perl:1767
+#: git-add--interactive.perl:1828 git-add--interactive.perl:1840
+#: git-add--interactive.perl:1843 git-add--interactive.perl:1850
+#: git-add--interactive.perl:1853 git-add--interactive.perl:1860
+#: git-add--interactive.perl:1864 git-add--interactive.perl:1870
 msgid "missing --"
 msgstr "отсутствует --"
 
-#: git-add--interactive.perl:1763
+#: git-add--interactive.perl:1866
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "неизвестный режим для --patch: %s"
 
-#: git-add--interactive.perl:1769 git-add--interactive.perl:1775
+#: git-add--interactive.perl:1872 git-add--interactive.perl:1878
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "недопустимый аргумент %s, ожидается --"
@@ -21409,65 +23614,72 @@ msgstr "локальный часовой пояс отличается от GMT
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "локальный сдвиг времени больше или равен 24 часа\n"
 
-#: git-send-email.perl:219 git-send-email.perl:225
+#: git-send-email.perl:223 git-send-email.perl:229
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "редактор был завершен с ошибкой, отменяю всё"
 
-#: git-send-email.perl:302
+#: git-send-email.perl:312
 #, perl-format
 msgid "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr "«%s» содержит промежуточную версию письма, которое вы готовите.\n"
 
-#: git-send-email.perl:307
+#: git-send-email.perl:317
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "«%s.final» содержит подготовленное письмо.\n"
 
-#: git-send-email.perl:326
+#: git-send-email.perl:410
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases не совместимо с другими опциями\n"
 
-#: git-send-email.perl:395 git-send-email.perl:656
+#: git-send-email.perl:484
+msgid ""
+"fatal: found configuration options for 'sendmail'\n"
+"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
+"Set sendemail.forbidSendmailVariables to false to disable this check.\n"
+msgstr ""
+
+#: git-send-email.perl:489 git-send-email.perl:691
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "Нельзя запускать git format-patch вне репозитория\n"
 
-#: git-send-email.perl:398
+#: git-send-email.perl:492
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
 msgstr ""
 
-#: git-send-email.perl:470
+#: git-send-email.perl:505
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Неизвестное поле --suppress-cc: «%s»\n"
 
-#: git-send-email.perl:501
+#: git-send-email.perl:536
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Неизвестный параметр --confirm: «%s»\n"
 
-#: git-send-email.perl:529
+#: git-send-email.perl:564
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "предупреждение: сокращение для sendmail с кавычками не поддерживается: %s\n"
 
-#: git-send-email.perl:531
+#: git-send-email.perl:566
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "предупреждение: «:include:» не поддерживается: %s\n"
 
-#: git-send-email.perl:533
+#: git-send-email.perl:568
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "предупреждение: перенаправление «/file» или «|pipe» не поддерживается: %s\n"
 
-#: git-send-email.perl:538
+#: git-send-email.perl:573
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "предупреждение: строка sendmail не распознана: %s\n"
 
-#: git-send-email.perl:622
+#: git-send-email.perl:657
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -21477,36 +23689,36 @@ msgid ""
 "    * Giving --format-patch option if you mean a range.\n"
 msgstr "Файл «%s» существует, но это также может быть и\nдиапазоном коммитов для которых нужно сделать патчи. \nУстраните неоднозначность…\n\n    * Указав \"./%s\" если вы имеете в виду имя файла; или\n    * Передав опцию --format-patch если вы имеете в виду диапазон коммитов.\n"
 
-#: git-send-email.perl:643
+#: git-send-email.perl:678
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Не удалось выполнить opendir %s: %s"
 
-#: git-send-email.perl:667
+#: git-send-email.perl:702
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
 "warning: no patches were sent\n"
 msgstr "критическая ошибка: %s: %s\nпредупреждение: патчи не были отправлены\n"
 
-#: git-send-email.perl:678
+#: git-send-email.perl:713
 msgid ""
 "\n"
 "No patch files specified!\n"
 "\n"
 msgstr "\nФайл с патчем не указан!\n\n"
 
-#: git-send-email.perl:691
+#: git-send-email.perl:726
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Нет строки с темой в %s?"
 
-#: git-send-email.perl:701
+#: git-send-email.perl:736
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Не удалось открыть для записи %s: %s"
 
-#: git-send-email.perl:712
+#: git-send-email.perl:747
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -21515,37 +23727,37 @@ msgid ""
 "Clear the body content if you don't wish to send a summary.\n"
 msgstr "Строки, начинающиеся с «GIT:» будут удалены.\nВозможно будет полезно включить статистику добавлений\nи удалений или таблицу содержимого к создаваемому патчу.\n\nОчистите содержимое, если вы не хотите отправлять письмо со сводкой изменений.\n"
 
-#: git-send-email.perl:736
+#: git-send-email.perl:771
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Не удалось открыть %s: %s"
 
-#: git-send-email.perl:753
+#: git-send-email.perl:788
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Не удалось открыть %s.final: %s"
 
-#: git-send-email.perl:796
+#: git-send-email.perl:831
 msgid "Summary email is empty, skipping it\n"
 msgstr "Письмо со сводкой изменений пустое, попускаю его\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:831
+#: git-send-email.perl:866
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "Вы уверены, что хотите использовать <%s> [y/N]? "
 
-#: git-send-email.perl:886
+#: git-send-email.perl:921
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr "Следующие файлы 8 битные, но не содержат Content-Transfer-Encoding.\n"
 
-#: git-send-email.perl:891
+#: git-send-email.perl:926
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Какую 8 битную кодировку нужно указать [UTF-8]? "
 
-#: git-send-email.perl:899
+#: git-send-email.perl:934
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -21553,20 +23765,20 @@ msgid ""
 "has the template subject '*** SUBJECT HERE ***'. Pass --force if you really want to send.\n"
 msgstr "Отказываюсь отправить, т.к. патч\n\t%s\nсодержит шаблонный заголовок «*** SUBJECT HERE ***». Укажите параметр --force, если вы  действительно хотите отправить его.\n"
 
-#: git-send-email.perl:918
+#: git-send-email.perl:953
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "Кому должны быть отправлены письма (если нужно)?"
 
-#: git-send-email.perl:936
+#: git-send-email.perl:971
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "критическая ошибка: сокращение «%s» раскрывается само в себя\n"
 
-#: git-send-email.perl:948
+#: git-send-email.perl:983
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID который нужно использовать в поле In-Reply-To для первого письма (если нужно)? "
 
-#: git-send-email.perl:1006 git-send-email.perl:1014
+#: git-send-email.perl:1041 git-send-email.perl:1049
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "ошибка: не удалось выделить действительный адрес из: %s\n"
@@ -21574,16 +23786,16 @@ msgstr "ошибка: не удалось выделить действител
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1018
+#: git-send-email.perl:1053
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "Что нужно сделать с этим адресом? ([q] - выход|[d] - отбросить|[e] - редактировать): "
 
-#: git-send-email.perl:1335
+#: git-send-email.perl:1370
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "путь CA «%s» не существует"
 
-#: git-send-email.perl:1418
+#: git-send-email.perl:1453
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -21600,128 +23812,128 @@ msgstr "    Список Cc (получателей копии письма) б
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1433
+#: git-send-email.perl:1468
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "Отправить это письмо? ([y] - да|[n] - нет|[e] - изменить|[q] - выход|[a] - все): "
 
-#: git-send-email.perl:1436
+#: git-send-email.perl:1471
 msgid "Send this email reply required"
 msgstr "Отправка этого ответа на письмо обязательна"
 
-#: git-send-email.perl:1464
+#: git-send-email.perl:1499
 msgid "The required SMTP server is not properly defined."
 msgstr "Требуемый SMTP сервер не был правильно объявлен."
 
-#: git-send-email.perl:1511
+#: git-send-email.perl:1546
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Сервер не поддерживает STARTTLS! %s"
 
-#: git-send-email.perl:1516 git-send-email.perl:1520
+#: git-send-email.perl:1551 git-send-email.perl:1555
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "Ошибка STARTTLS! %s"
 
-#: git-send-email.perl:1529
+#: git-send-email.perl:1564
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr "Не удалось инициализировать SMTP. Проверьте ваши настройки и попробуйте запустить в параметром --smtp-debug."
 
-#: git-send-email.perl:1547
+#: git-send-email.perl:1582
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "Не удалось отправить %s\n"
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1585
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Имитация отправки %s\n"
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1585
 #, perl-format
 msgid "Sent %s\n"
 msgstr "Отправлено %s\n"
 
-#: git-send-email.perl:1552
+#: git-send-email.perl:1587
 msgid "Dry-OK. Log says:\n"
 msgstr "Имитация OK. Журнал содержит:\n"
 
-#: git-send-email.perl:1552
+#: git-send-email.perl:1587
 msgid "OK. Log says:\n"
 msgstr "OK. Журнал содержит:\n"
 
-#: git-send-email.perl:1564
+#: git-send-email.perl:1599
 msgid "Result: "
 msgstr "Результат: "
 
-#: git-send-email.perl:1567
+#: git-send-email.perl:1602
 msgid "Result: OK\n"
 msgstr "Результат: OK\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1620
 #, perl-format
 msgid "can't open file %s"
 msgstr "не удалось открыть файл %s"
 
-#: git-send-email.perl:1632 git-send-email.perl:1652
+#: git-send-email.perl:1667 git-send-email.perl:1687
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) Добавление cc: %s со строки «%s»\n"
 
-#: git-send-email.perl:1638
+#: git-send-email.perl:1673
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) Добавление to: %s со строки «%s»\n"
 
-#: git-send-email.perl:1691
+#: git-send-email.perl:1730
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) Добавление cc: %s со строки «%s»\n"
 
-#: git-send-email.perl:1726
+#: git-send-email.perl:1765
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) Добавление cc: %s со строки «%s»\n"
 
-#: git-send-email.perl:1837
+#: git-send-email.perl:1876
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Не удалось выполнить «%s»"
 
-#: git-send-email.perl:1844
+#: git-send-email.perl:1883
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Добавление %s: %s из: «%s»\n"
 
-#: git-send-email.perl:1848
+#: git-send-email.perl:1887
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) не удалось закрыть поток к «%s»"
 
-#: git-send-email.perl:1878
+#: git-send-email.perl:1917
 msgid "cannot send message as 7bit"
 msgstr "не удалось отправить сообщение в 7 битной кодировке"
 
-#: git-send-email.perl:1886
+#: git-send-email.perl:1925
 msgid "invalid transfer encoding"
 msgstr "недопустимая кодировка передачи"
 
-#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989
+#: git-send-email.perl:1966 git-send-email.perl:2018 git-send-email.perl:2028
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "не удалось открыть %s: %s\n"
 
-#: git-send-email.perl:1930
+#: git-send-email.perl:1969
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s: патч содержит строку длиннее чем 998 символов"
 
-#: git-send-email.perl:1947
+#: git-send-email.perl:1986
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "Пропускаю %s с окончанием резервной копии «%s».\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1951
+#: git-send-email.perl:1990
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
-msgstr "Вы действительно хотите отправить %s? [y - да|N - нет]: "
+msgstr "Вы действительно хотите отправить %s? [y] - да, [N] - нет: "