i18n/ru.po
branchstable
changeset 16738 6253677114dd
parent 16737 040ae0d48d76
child 16797 2478594b37c2
--- a/i18n/ru.po	Tue Apr 10 11:17:06 2012 +0400
+++ b/i18n/ru.po	Tue May 15 14:58:16 2012 +0100
@@ -75,6 +75,7 @@
 #
 # Разное
 #
+# amend            - исправлять
 # extension        — расширение
 # option           — параметр (не «опция»)
 #     options      — параметры (не «настройки») 
@@ -133,6 +134,7 @@
 # abort          отмена или останов (в статусах) (thg: прервать, прервано)
 # checkin        (в конфиге для encode/decode) сейчас фиксация ???
 # lookup         поиск ???
+# facility       ???
 #
 #
 # === TODO ===
@@ -170,7 +172,7 @@
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2012-01-31 11:45+0400\n"
+"POT-Creation-Date: 2012-05-14 13:32+0400\n"
 "PO-Revision-Date: 2011-05-12 23:48+0400\n"
 "Last-Translator: Alexander Sauta <demosito@gmail.com>\n"
 "Language-Team: Russian\n"
@@ -519,15 +521,16 @@
 "  images/** = jack, @designers"
 
 msgid ""
-"  # Everyone (except for \"user6\" - see acl.deny above) will have write\n"
-"  # access to any file under the \"resources\" folder (except for 1\n"
-"  # file. See acl.deny):\n"
+"  # Everyone (except for \"user6\" and \"@hg-denied\" - see acl.deny above)\n"
+"  # will have write access to any file under the \"resources\" folder\n"
+"  # (except for 1 file. See acl.deny):\n"
 "  src/main/resources/** = *"
 msgstr ""
-"  # Любой пользователь (за исключением \"user6\" - см. acl.deny выше) "
-"получит доступ на запись\n"
-"  # в любой файл в папке \"resources\" (за исключением 1\n"
-"  # файла. Смотри acl.deny):\n"
+"  # Любой пользователь (за исключением \"user6\" и \"@hg-denied\" - см. acl."
+"deny\n"
+"  # выше) получит доступ на запись\n"
+"  # в любой файл в папке \"resources\" (за исключением 1 файла. См. acl."
+"deny):\n"
 "  src/main/resources/** = *"
 
 msgid "  .hgtags = release_engineer"
@@ -573,8 +576,12 @@
 "Bugzilla ID. Комментарий форматируется с использованием механизма шаблонов\n"
 "Mercurial."
 
-msgid "The hook does not change bug status."
-msgstr "Хук не изменяет статус бага."
+msgid ""
+"The bug references can optionally include an update for Bugzilla of the\n"
+"hours spent working on the bug. Bugs can also be marked fixed."
+msgstr ""
+"Ссылки на баги могут включать обновление затраченного времени для\n"
+"Bugzilla. Можно также помечать баги как исправленные."
 
 msgid "Three basic modes of access to Bugzilla are provided:"
 msgstr "Предоставляются три основных режима доступа к Bugzilla:"
@@ -608,29 +615,33 @@
 "MySQL user and password to have full access rights to the Bugzilla\n"
 "database. For these reasons this access mode is now considered\n"
 "deprecated, and will not be updated for new Bugzilla versions going\n"
-"forward."
+"forward. Only adding comments is supported in this access mode."
 msgstr ""
 "Прямая запись в базу данных чувствительна к изменениям в ее схеме и\n"
 "полагается на скрипт из каталога contrib Bugzilla при отправке\n"
 "уведомлений об изменении бага по email. Этот скрипт запускается\n"
-"от имени пользователя Mercurial, должен быть запущен на машине, на\n"
-"которой установлена Bugzilla, и требует прав на чтение конфигурации\n"
-"Bugzilla и имени и пароля пользователя, имеющего полный доступа\n"
-"к ее базе данных. По этим причинам этот режим признан устаревшим и\n"
-"не будет обновляться в новых версиях Bugzilla."
+"от имени пользователя, запускающего Mercurial, должен быть запущен\n"
+"на машине, на которой установлена Bugzilla, и требует прав на чтение\n"
+"конфигурации Bugzilla, а также обязательно имени и пароля пользователя "
+"MySQL,\n"
+"имеющего полный доступ к ее базе данных. По этим причинам этот режим\n"
+"признан устаревшим и не будет обновляться в новых версиях Bugzilla."
 
 msgid ""
 "Access via XMLRPC needs a Bugzilla username and password to be specified\n"
 "in the configuration. Comments are added under that username. Since the\n"
 "configuration must be readable by all Mercurial users, it is recommended\n"
 "that the rights of that user are restricted in Bugzilla to the minimum\n"
-"necessary to add comments."
+"necessary to add comments. Marking bugs fixed requires Bugzilla 4.0 and "
+"later."
 msgstr ""
 "Доступ по XMLRPC требует задания имени и пароля пользователя Bugzilla\n"
 "в настройках. Комментарии добавляются от имени этого пользователя.\n"
 "Поскольку настройки должны быть доступны на чтение всем пользователям\n"
 "Mercurial, рекомендуется ограничить этого пользователя в Bugzilla\n"
-"максимально, разрешив только добавлять комментарии."
+"максимально, разрешив только добавлять комментарии. Для возможностипомечать "
+"баги как исправленные (fixed), требует Bugzilla версии не\n"
+"ниже 4.0."
 
 msgid ""
 "Access via XMLRPC/email uses XMLRPC to query Bugzilla, but sends\n"
@@ -639,17 +650,19 @@
 "user, so the comment appears to come from the Mercurial user. In the event\n"
 "that the Mercurial user email is not recognised by Bugzilla as a Bugzilla\n"
 "user, the email associated with the Bugzilla username used to log into\n"
-"Bugzilla is used instead as the source of the comment."
+"Bugzilla is used instead as the source of the comment. Marking bugs fixed\n"
+"works on all supported Bugzilla versions."
 msgstr ""
 "Доступ через XMLRPC/email использует XMLRPC для опроса Bugzilla, но\n"
-"отправляет письма на email-интерфейс Bugzilla для отправки комментариев\n"
-"к багам. Адрес From: (От) в письме устанавливается в email-адрес "
+"для добавления комментариев к багам отправляет письма на email-интерфейс\n"
+"Bugzilla. Адрес From: (От:) в письме устанавливается в email-адрес "
 "пользователя\n"
 "Mercurial, поэтому комментарии оставляются от имени пользователя\n"
 "Mercurial. В случае, если почтовый адрес пользователя Mercurial не\n"
 "опознается Bugzill'ой как ее пользователь, в качестве источника\n"
 "комментариев используется адрес email, привязанный к пользователю\n"
-"Bugzilla, от имени которого выполнялся вход."
+"Bugzilla, от имени которого выполнялся вход. Возможность помечать баги\n"
+"как исправленные доступна на всех поддерживаемых версия Bugzilla."
 
 msgid "Configuration items common to all access modes:"
 msgstr "Общие параметры для всех режимов доступа:"
@@ -680,18 +693,83 @@
 
 msgid ""
 "bugzilla.regexp\n"
-"  Regular expression to match bug IDs in changeset commit message.\n"
-"  Must contain one \"()\" group. The default expression matches ``Bug\n"
-"  1234``, ``Bug no. 1234``, ``Bug number 1234``, ``Bugs 1234,5678``,\n"
-"  ``Bug 1234 and 5678`` and variations thereof. Matching is case\n"
-"  insensitive."
+"  Regular expression to match bug IDs for update in changeset commit "
+"message.\n"
+"  It must contain one \"()\" named group ``<ids>`` containing the bug\n"
+"  IDs separated by non-digit characters. It may also contain\n"
+"  a named group ``<hours>`` with a floating-point number giving the\n"
+"  hours worked on the bug. If no named groups are present, the first\n"
+"  \"()\" group is assumed to contain the bug IDs, and work time is not\n"
+"  updated. The default expression matches ``Bug 1234``, ``Bug no. 1234``,\n"
+"  ``Bug number 1234``, ``Bugs 1234,5678``, ``Bug 1234 and 5678`` and\n"
+"  variations thereof, followed by an hours number prefixed by ``h`` or\n"
+"  ``hours``, e.g. ``hours 1.5``. Matching is case insensitive."
 msgstr ""
 "bugzilla.regexp\n"
-"  Регулярное выражение для поиска ID бага в комментарии фиксации набора\n"
-"  изменений. Должно содержать одну группу в скобках \"()\". По умолчанию\n"
-"  задано выражение, совпадающее с ``Bug 1234``, ``Bug no. 1234``,\n"
-"  ``Bug number 1234``, ``Bugs 1234,5678``, ``Bug 1234 and 5678`` и их\n"
-"  вариациями. Не чувствительно к регистру."
+"  Регулярное выражение, определяющее ID обновляемого бага в сообщении\n"
+"  фиксации.\n"
+"  Оно должно содержать одну именованную группу в круглых скобках с именем\n"
+"  ``<ids>``, содержащую идентификаторы багов, разделенные нецифровыми\n"
+"  символами. Оно также может содержвать группу ``<hours>`` с дробным\n"
+"  числом, определяющим затраченное на баг время. Если ни одна именованная\n"
+"  группа не определена, первая группа в круглых скоках считается содержащей\n"
+"  идентификатор бага, затраченное время не обновляется. Выражение, "
+"определенное\n"
+"  по умолчанию, совпадет с ``Bug 1234``, ``Bug no. 1234``,\n"
+"  ``Bug number 1234``, ``Bugs 1234,5678``, ``Bug 1234 and 5678`` и\n"
+"  подобными вариациями, с последующим количеством затраченного времени в "
+"часах\n"
+"  с префиксом ``h`` или ``hours``, например ``hours 1.5``. Регистр букв не\n"
+"  учитывается."
+
+msgid ""
+"bugzilla.fixregexp\n"
+"  Regular expression to match bug IDs for marking fixed in changeset\n"
+"  commit message. This must contain a \"()\" named group ``<ids>` "
+"containing\n"
+"  the bug IDs separated by non-digit characters. It may also contain\n"
+"  a named group ``<hours>`` with a floating-point number giving the\n"
+"  hours worked on the bug. If no named groups are present, the first\n"
+"  \"()\" group is assumed to contain the bug IDs, and work time is not\n"
+"  updated. The default expression matches ``Fixes 1234``, ``Fixes bug "
+"1234``,\n"
+"  ``Fixes bugs 1234,5678``, ``Fixes 1234 and 5678`` and\n"
+"  variations thereof, followed by an hours number prefixed by ``h`` or\n"
+"  ``hours``, e.g. ``hours 1.5``. Matching is case insensitive."
+msgstr ""
+"bugzilla.fixregexp\n"
+"  Регулярное выражение, определяющее ID бага, помечаемого как исправленный,\n"
+"  в сообщении фиксации.\n"
+"  Оно должно содержать именованную группу в круглых скобках с именем\n"
+"  ``<ids>``, содержащую идентификаторы багов, разделенные нецифровыми\n"
+"  символами. Оно также может содержвать группу ``<hours>`` с дробным\n"
+"  числом, определяющим затраченное на баг время. Если ни одна именованная\n"
+"  группа не определена, первая группа в круглых скоках считается содержащей\n"
+"  идентификатор бага, затраченное время не обновляется. Выражение, "
+"определенное\n"
+"  по умолчанию, совпадет с ``Fixes 1234``, ``Fixes bug 1234``,\n"
+"  ``Fixes bugs 1234,5678``, ``Fixes 1234 and 5678`` и\n"
+"  подобными вариациями, с последующим количеством затраченного времени в "
+"часах\n"
+"  с префиксом ``h`` или ``hours``, например ``hours 1.5``. Регистр букв не\n"
+"  учитывается."
+
+msgid ""
+"bugzilla.fixstatus\n"
+"  The status to set a bug to when marking fixed. Default ``RESOLVED``."
+msgstr ""
+"bugzilla.fixstatus\n"
+"  Статус, который присваивается багу, когда он помечается как исправленный.\n"
+"  По умолчанию ``RESOLVED``."
+
+msgid ""
+"bugzilla.fixresolution\n"
+"  The resolution to set a bug to when marking fixed. Default ``FIXED``."
+msgstr ""
+"bugzilla.fixresolution\n"
+"  Резолюция, которая присваивается багу, когда он помечается как "
+"исправленный.\n"
+"  По умолчанию ``FIXED``."
 
 msgid ""
 "bugzilla.style\n"
@@ -1087,6 +1165,10 @@
 msgstr "неизвестная схема базы данных"
 
 #, python-format
+msgid "bug %d does not exist\n"
+msgstr "баг %d не существует!\n"
+
+#, python-format
 msgid "bug %d already knows about changeset %s\n"
 msgstr "баг %d уже знает о наборе изменений %s\n"
 
@@ -1120,6 +1202,14 @@
 msgid "cannot find bugzilla user id for %s or %s"
 msgstr "идентификатор пользователя bugzilla для %s или %s не найден"
 
+msgid "Bugzilla/MySQL cannot update bug state\n"
+msgstr "Bugzilla/MySQL не может обновить состояние бага\n"
+
+msgid "Bugzilla/XMLRPC needs Bugzilla 4.0 or later to mark bugs fixed\n"
+msgstr ""
+"Bugzilla/XMLRPC требует Bugzilla 4.0 или новее, чтобы помечать\n"
+"баги как исправленные\n"
+
 msgid "configuration 'bzemail' missing"
 msgstr "отсутствует параметр 'bzemail'"
 
@@ -1131,6 +1221,10 @@
 msgid "bugzilla version %s not supported"
 msgstr "версия bugzilla %s не поддерживается"
 
+#, python-format
+msgid "%s: invalid hours\n"
+msgstr "%s: неверное количество часов\n"
+
 msgid ""
 "changeset {node|short} in repo {root} refers to bug {bug}.\n"
 "details:\n"
@@ -2211,8 +2305,8 @@
 msgstr "невозможно определить тип источника bzr\n"
 
 #, python-format
-msgid "%s is not a valid revision in current branch"
-msgstr "%s - недопустимая ревизия на текущей ветке"
+msgid "%s is not a valid revision"
+msgstr "%s - некорректная ревизия"
 
 #, python-format
 msgid "%s is not available in %s anymore"
@@ -2239,6 +2333,11 @@
 msgstr "не удается открыть файл отображения (map file) %r: %s"
 
 #, python-format
+msgid "syntax error in %s(%d): child parent1[,parent2] expected"
+msgstr ""
+"синтаксическая ошибка в %s(%d): ожидается `потомок родитель1[,родитель2]`"
+
+#, python-format
 msgid "%s: invalid source repository type"
 msgstr "%s: неверный тип хранилища-источника"
 
@@ -2267,6 +2366,15 @@
 msgid "scanning"
 msgstr "сканирование"
 
+# NOT-SURE
+#, python-format
+msgid "splice map revision %s is not being converted, ignoring\n"
+msgstr "ревизия %s из splicemap не конвертируется, игнорируем\n"
+
+#, python-format
+msgid "unknown splice map parent: %s"
+msgstr "неизвестный родитель в splicemap: %s"
+
 #, python-format
 msgid "unknown sort mode: %s"
 msgstr "неизвестный режим сортировки: %s"
@@ -2535,6 +2643,14 @@
 msgstr "обновление закладок\n"
 
 #, python-format
+msgid ""
+"revision %s not found in destination repository (lookups with "
+"clonebranches=true are not implemented)"
+msgstr ""
+"ревизия %s не найдена в хранилище назначения (поиск с clonebranches=true\n"
+"не реализован)"
+
+#, python-format
 msgid "%s is not a valid start revision"
 msgstr "%s не является допустимой начальной ревизией"
 
@@ -2705,6 +2821,15 @@
 msgid "writing Subversion tags is not yet implemented\n"
 msgstr "запись меток Subversion еще не реализована\n"
 
+# NOT-SURE
+#, python-format
+msgid ""
+"splice map revision %s not found in subversion child map (revision lookups "
+"are not implemented)"
+msgstr ""
+"ревизия %s из splicemap не найдена в таблице дочерних ревизий subversion\n"
+"(поиск ревизий не реализован)"
+
 msgid "automatically manage newlines in repository files"
 msgstr "автоматический перевод форматов новой строки в хранилище"
 
@@ -2984,13 +3109,15 @@
 "  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
 "  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+"  vimdiff = gvim -f \"+next\" \\\n"
+"            \"+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))\""
 msgstr ""
 "  # добавить новую команду vimdiff, запускающую gvimdiff с плагином DirDiff\n"
 "  # (см. http://www.vim.org/scripts/script.php?script_id=102)\n"
-"  # Неанглоязычные пользователи. не забудьте добавить\n"
+"  # Неанглоязычные пользователи, не забудьте добавить\n"
 "  # \"let g:DirDiffDynamicDiffText = 1\" в ваш .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
+"  vimdiff = gvim -f \"+next\" \\\n"
+"            \"+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))\""
 
 msgid "Tool arguments can include variables that are expanded at runtime::"
 msgstr ""
@@ -3130,6 +3257,74 @@
 msgid "hg %s [OPTION]... [FILE]..."
 msgstr "hg %s [ПАРАМЕТР]... [ФАЙЛ]..."
 
+msgid "http authentication with factotum"
+msgstr "http-аутентификация через factotum"
+
+msgid ""
+"This extension allows the factotum(4) facility on Plan 9 from Bell Labs\n"
+"platforms to provide authentication information for HTTP access. "
+"Configuration\n"
+"entries specified in the auth section as well as authentication information\n"
+"provided in the repository URL are fully supported. If no prefix is "
+"specified,\n"
+"a value of \"*\" will be assumed."
+msgstr ""
+"Это расширение позволяет средству factotum(4) из Plan 9 от Bell Labs\n"
+"пркдоставлять информацию для аутентификации для доступа по HTTP.\n"
+"Поддерживаются все параметры конфигурации из секции ``auth`` и параметры\n"
+"из URL хранилища. Если префикс не указан, предполагается значение \"*\"."
+
+msgid "By default, keys are specified as::"
+msgstr "По умолчанию ключи задаются так::"
+
+msgid ""
+"  proto=pass service=hg prefix=<prefix> user=<username> !password=<password>"
+msgstr ""
+"  proto=pass service=hg prefix=<префикс> user=<имя_пользователя> !"
+"password=<пароль>"
+
+msgid ""
+"If the factotum extension is unable to read the required key, one will be\n"
+"requested interactively."
+msgstr ""
+"Если расширение factotum не может прочитать требуемый ключ, он будет "
+"запрошее\n"
+"у пользователя интерактивно."
+
+msgid ""
+"A configuration section is available to customize runtime behavior. By\n"
+"default, these entries are::"
+msgstr ""
+"Существует секция конфига для настройки поведения во время выполнения.\n"
+"По умолчанию настройки таковы::"
+
+msgid ""
+"  [factotum]\n"
+"  executable = /bin/auth/factotum\n"
+"  mountpoint = /mnt/factotum\n"
+"  service = hg"
+msgstr ""
+"  [factotum]\n"
+"  executable = /bin/auth/factotum\n"
+"  mountpoint = /mnt/factotum\n"
+"  service = hg"
+
+msgid ""
+"The executable entry defines the full path to the factotum binary. The\n"
+"mountpoint entry defines the path to the factotum file service. Lastly, the\n"
+"service entry controls the service name used when reading keys."
+msgstr ""
+"Параметр ``executable`` задает полный путь к исполняемому файлу factotum.\n"
+"Параметр ``mountpoint`` определяет путь к файловому сервису factotum. "
+"Наконец,\n"
+"параметр ``service`` определяет имя сервиса, используемого при чтении ключей."
+
+msgid "factotum not interactive"
+msgstr "factotum не интерактивен"
+
+msgid "factotum not responding"
+msgstr "factotum не отвечает"
+
 msgid "pull, update and merge in one command"
 msgstr "затянуть, обновиться и слить одной командой"
 
@@ -3156,15 +3351,14 @@
 "    рабочий каталог обновляется, чтобы отразить новые изменения."
 
 msgid ""
-"    When a merge occurs, the newly pulled changes are assumed to be\n"
-"    \"authoritative\". The head of the new changes is used as the first\n"
-"    parent, with local changes as the second. To switch the merge\n"
-"    order, use --switch-parent."
-msgstr ""
-"    Во время слияния затянутые изменения считаются \"приоритетными\".\n"
-"    Головная ревизия новых изменений используется в качестве первого\n"
-"    родителя, вторым являются локальные изменения. Чтобы изменить\n"
-"    этот порядок, используйте --switch-parent."
+"    When a merge is needed, the working directory is first updated to\n"
+"    the newly pulled changes. Local changes are then merged into the\n"
+"    pulled changes. To switch the merge order, use --switch-parent."
+msgstr ""
+"    Если требуется слияние, рабочий каталог сначала обновляется на\n"
+"    только что затянутые изменения. После этого локальные изменения\n"
+"    сливаются в затянутые. Чтобы изменить этот порядок, используйте\n"
+"    --switch-parent."
 
 msgid "    See :hg:`help dates` for a list of formats valid for -d/--date."
 msgstr "    Список возможных форматов для --d/--dates см. :hg:`help dates`"
@@ -3358,23 +3552,68 @@
 msgid "-G/--graph option is incompatible with --%s"
 msgstr "опция -G/--graph несовместима с --%s "
 
-msgid "-G/--graph option is incompatible with --follow with file argument"
-msgstr "опция -G/--graph несовместима с --follow с аргументом-файлом"
-
-msgid "NUM"
-msgstr "КОЛ-ВО"
-
-msgid "limit number of changes displayed"
-msgstr "ограничивать количество отображаемых изменений"
-
-msgid "show patch"
-msgstr "показать патч"
+#, python-format
+msgid "cannot follow file not in parent revision: \"%s\""
+msgstr ""
+"невозможно отслеживать файл, которого нет в родительской ревизии: \"%s\""
+
+#, python-format
+msgid "cannot follow nonexistent file: \"%s\""
+msgstr "невозможно отслеживать несуществующий файл: \"%s\""
+
+msgid "can only follow copies/renames for explicit filenames"
+msgstr ""
+"чтобы отслеживать копирования/переименования, требуется явное имя файла"
+
+msgid "follow changeset history, or file history across copies and renames"
+msgstr ""
+"следовать истории набора изменений или истории файла при копированиях/"
+"переименованиях"
+
+msgid "only follow the first parent of merge changesets (DEPRECATED)"
+msgstr "следовать только за первым родителем ревизий слияния (УСТАРЕЛО)"
+
+msgid "show revisions matching date spec"
+msgstr "показывать ревизии с датой, соответствующей данной"
+
+msgid "show copied files"
+msgstr "показывать скопированные файлы"
+
+msgid "do case-insensitive search for a given text"
+msgstr "выполнить поиск данного текста, игнорируя регистр"
 
 msgid "show the specified revision or range"
 msgstr "показать заданную ревизию или диапазон ревизий"
 
-msgid "hg glog [OPTION]... [FILE]"
-msgstr "hg glog [ПАРАМЕТР]... [ФАЙЛ]"
+msgid "include revisions where files were removed"
+msgstr "включить ревизии, в которых файлы были удалены"
+
+msgid "show only merges (DEPRECATED)"
+msgstr "показывать только слияния (УСТАРЕЛО)"
+
+msgid "USER"
+msgstr "ПОЛЬЗОВАТЕЛЬ"
+
+msgid "revisions committed by user"
+msgstr "только ревизии данного пользователем"
+
+msgid "show only changesets within the given named branch (DEPRECATED)"
+msgstr "показывать только ревизии на данной именованной ветке (УСТАРЕЛО)"
+
+msgid "BRANCH"
+msgstr "ВЕТКА"
+
+msgid "show changesets within the given named branch"
+msgstr "показывать наборы изменений на данной именованной ветке"
+
+msgid "do not display revision or any of its ancestors"
+msgstr "не показывать ревизию и всех ее предшественников"
+
+msgid "show hidden changesets (DEPRECATED)"
+msgstr "показывать скрытые наборы изменений (УСТАРЕЛО)"
+
+msgid "[OPTION]... [FILE]"
+msgstr "[ПАРАМЕТР]... [ФАЙЛ]"
 
 msgid "show revision history alongside an ASCII revision graph"
 msgstr "показать историю ревизий рядом с ASCII-графом ревизий"
@@ -3577,6 +3816,12 @@
 msgid "start interactive history viewer"
 msgstr "запустить интерактивный обозреватель истории"
 
+msgid "NUM"
+msgstr "КОЛ-ВО"
+
+msgid "limit number of changes displayed"
+msgstr "ограничивать количество отображаемых изменений"
+
 msgid "hg view [-l LIMIT] [REVRANGE]"
 msgstr "hg view [-l ПРЕДЕЛ] [ДИАПАЗОН_РЕВИЗИЙ]"
 
@@ -4482,6 +4727,10 @@
 msgid "%d largefiles updated, %d removed\n"
 msgstr "%d больших файлов загружено, %d удалено\n"
 
+#, python-format
+msgid "largefile %s is not in cache and could not be downloaded"
+msgstr "большой файл %s отсутствует в кэше и не может быть загружен"
+
 msgid "minimum size (MB) for files to be converted as largefiles"
 msgstr ""
 "минимальный размер (МБ), начиная с которого файлы преобразуются в большие"
@@ -4943,6 +5192,9 @@
 msgid "patch %s is empty\n"
 msgstr "патч %s пуст\n"
 
+msgid "qpush exactly duplicates child changeset"
+msgstr "qpush создает точную копию дочернего набора изменений"
+
 msgid "repository commit failed"
 msgstr "ошибка при фиксации хранилища"
 
@@ -5115,6 +5367,12 @@
 msgid "popping would remove a revision not managed by this patch queue"
 msgstr "выталкивание удалит ревизию, не контролируемую этой очередью патчей"
 
+msgid "popping would remove an immutable revision"
+msgstr "выталкивание удалит неизменяемую ревизию"
+
+msgid "see \"hg help phases\" for details"
+msgstr "подробнее см. \"hg help phases\""
+
 msgid "deletions found between repo revs"
 msgstr "обнаружены удаления между ревизиями хранилища"
 
@@ -5128,6 +5386,9 @@
 msgid "cannot refresh a revision with children"
 msgstr "не могу обновить ревизию с дочерними ревизиями"
 
+msgid "cannot refresh immutable revision"
+msgstr "невозможно обновить неизменяемую ревизию"
+
 msgid ""
 "refresh interrupted while patch was popped! (revert --all, qpush to "
 "recover)\n"
@@ -5208,9 +5469,6 @@
 msgid "revision %d is not mutable"
 msgstr "ревизия %d неизменяема"
 
-msgid "see \"hg help phases\" for details"
-msgstr "подробнее см. \"hg help phases\""
-
 #, python-format
 msgid "cannot import merge revision %d"
 msgstr "невозможно импортировать ревизию слияния %d"
@@ -5271,8 +5529,8 @@
 "    Чтобы прекратить отслеживать патч и переместить его в хранилище,\n"
 "    используйте команду :hg:`qfinish`."
 
-msgid "show only the last patch"
-msgstr "показать только последний патч"
+msgid "show only the preceding applied patch"
+msgstr "показать только предыдущий наложенный патч"
 
 msgid "hg qapplied [-1] [-s] [PATCH]"
 msgstr "hg qapplied [-1] [-s] [ПАТЧ]"
@@ -5322,8 +5580,8 @@
 msgid "hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... FILE..."
 msgstr "hg qimport [-e] [-n ИМЯ] [-f] [-g] [-P] [-r РЕВ]... ФАЙЛ..."
 
-msgid "import a patch"
-msgstr "импортировать патч"
+msgid "import a patch or existing changeset"
+msgstr "импортировать патч или существующий набор изменений"
 
 msgid ""
 "    The patch is inserted into the series after the last applied\n"
@@ -5523,14 +5781,15 @@
 msgid "hg qnext [-s]"
 msgstr "hg qnext [-s]"
 
-msgid "print the name of the next patch"
-msgstr "напечатать имя следующего патча"
+# NOT-SURE
+msgid "print the name of the next pushable patch"
+msgstr "напечатать имя следующего вталкиваемого патча"
 
 msgid "hg qprev [-s]"
 msgstr "hg qprev [-s]"
 
-msgid "print the name of the previous patch"
-msgstr "напечатать имя предыдущего патча"
+msgid "print the name of the preceding applied patch"
+msgstr "напечатать имя предыдущего наложенного патча"
 
 msgid "import uncommitted changes (DEPRECATED)"
 msgstr "импортировать незафиксированные изменения (УСТАРЕЛО)"
@@ -5538,9 +5797,6 @@
 msgid "add \"From: <current user>\" to patch"
 msgstr "добавить \"From: <текущий пользователь>\" к патчу"
 
-msgid "USER"
-msgstr "ПОЛЬЗОВАТЕЛЬ"
-
 msgid "add \"From: <USER>\" to patch"
 msgstr "добавить \"From: <ПОЛЬЗОВАТЕЛЬ>\" к патчу"
 
@@ -5979,6 +6235,9 @@
 msgid "no backups (DEPRECATED)"
 msgstr "без резервного копирования (УСТАРЕЛО)"
 
+msgid "ignored  (DEPRECATED)"
+msgstr "игнорируется (УСТАРЕЛО)"
+
 msgid "do not modify working copy during strip"
 msgstr "не изменять рабочую копию во во время операции strip"
 
@@ -6356,13 +6615,14 @@
 
 msgid ""
 "First, enable the extension as explained in :hg:`help extensions`, and\n"
-"register the hook you want to run. ``incoming`` and ``outgoing`` hooks\n"
+"register the hook you want to run. ``incoming`` and ``changegroup`` hooks\n"
 "are run by the changesets receiver while the ``outgoing`` one is for\n"
 "the sender::"
 msgstr ""
 "Первым делом, включите расширение, как это описано в :hg:`help extensions`\n"
 "и зарегистрируйте хук, который вы желаете запускать. На стороне,\n"
-"принимающей наборы изменений, выполняются хуки ``incoming`` и ``outgoing``,\n"
+"принимающей наборы изменений, выполняются хуки ``incoming`` и "
+"``changegroup``,\n"
 "в то время как на передающей стороне выполняется только ``outgoing``::"
 
 msgid ""
@@ -6848,6 +7108,9 @@
 "``\n"
 "для дополнительной информации.\n"
 
+msgid "send patches as inline message text (default)"
+msgstr "отправлять патчи в таксте сообщения (по умолчанию)"
+
 msgid "send patches as attachments"
 msgstr "отправить патчи как вложения"
 
@@ -6976,11 +7239,16 @@
 "    By default the patch is included as text in the email body for\n"
 "    easy reviewing. Using the -a/--attach option will instead create\n"
 "    an attachment for the patch. With -i/--inline an inline attachment\n"
-"    will be created."
+"    will be created. You can include a patch both as text in the email\n"
+"    body and as a regular or an inline attachment by combining the\n"
+"    -a/--attach or -i/--inline with the --body option."
 msgstr ""
 "    По умолчанию патч включается в тело письма для упрощения просмотра.\n"
 "    Параметр -a/--attach создаст вложение, содержащее патч. С параметром\n"
-"    -i/--inline будет создано вложение в тексте (inline attachment)."
+"    -i/--inline будет создано встроенное вложение (inline attachment).\n"
+"    Можно отправить патч одновременно в тексте письма и в обычном или\n"
+"    встроенном вложении, комбинируя параметры -a/--attach или -i/--include\n"
+"    с параметром --body."
 
 msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
@@ -7656,6 +7924,10 @@
 msgid "source is ancestor of destination"
 msgstr "источник является предком ревизии назначения"
 
+#, python-format
+msgid "updating bookmark %s\n"
+msgstr "обновление закладки %s\n"
+
 msgid "--tool can only be used with --rebase"
 msgstr "--tool можно использовать только вместе с --rebase"
 
@@ -7688,8 +7960,8 @@
 msgstr "изменено полос: %d, строк: %d\n"
 
 # PROMPT
-msgid "[Ynsfdaq?]"
-msgstr "[Ynsfdaq?]"
+msgid "[Ynesfdaq?]"
+msgstr "[Ynesfdaq?]"
 
 # PROMPT
 msgid "&Yes, record this change"
@@ -7699,6 +7971,9 @@
 msgid "&No, skip this change"
 msgstr "&No - Нет, пропустить это изменение"
 
+msgid "&Edit the change manually"
+msgstr "&Edit - редактировать изменение вручную"
+
 # PROMPT
 msgid "&Skip remaining changes to this file"
 msgstr "&Skip - Пропустить оставшиеся изменения в этом файле"
@@ -7723,6 +7998,39 @@
 msgid "&?"
 msgstr "&?"
 
+msgid "cannot edit patch for whole file"
+msgstr "нельзя редактировать патч для целого файла"
+
+msgid "cannot edit patch for binary file"
+msgstr "нельзя редактировать патч для двоичного файла"
+
+msgid ""
+"\n"
+"To remove '-' lines, make them ' ' lines (context).\n"
+"To remove '+' lines, delete them.\n"
+"Lines starting with # will be removed from the patch."
+msgstr ""
+"\n"
+"Чтобы убрать строки, начинающиеся с '-', замените '-' на ' ' (контекст).\n"
+"Чтобы убрать строки, начинающиеся с '+', удалите их.\n"
+"Строки, начинающиеся с #, будут убраны из патча."
+
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"added to the record list. If it does not apply cleanly, a rejects\n"
+"file will be generated: you can use that when you try again. If\n"
+"all lines of the hunk are removed, then the edit is aborted and\n"
+"the hunk is left unchanged.\n"
+msgstr ""
+"Если патч накладывается успешно, редактируемый лоскут будет немедленно\n"
+"добавлен в записываемый список. Если наложить не удалось, генерируется\n"
+"файл отказов, который может быть использован в следующих попытках.\n"
+"Если из лоскута удалены все строки, редактирование завершается и лоскут\n"
+"остается неизменным.\n"
+
+msgid "edit failed"
+msgstr "неудача при редактировании"
+
 msgid "user quit"
 msgstr "пользовательский выход"
 
@@ -7768,10 +8076,12 @@
 # PROMPT
 msgid ""
 "      y - record this change\n"
-"      n - skip this change"
+"      n - skip this change\n"
+"      e - edit this change manually"
 msgstr ""
 "      y - записать это изменение\n"
-"      n - пропустить это изменение"
+"      n - пропустить это изменение\n"
+"      e - редактировать это изменение вручную"
 
 # PROMPT
 msgid ""
@@ -8096,6 +8406,10 @@
 msgstr "пропускаем ревизию слияния %s:%s\n"
 
 #, python-format
+msgid "%s is not a parent of %s"
+msgstr "%s не родитель %s"
+
+#, python-format
 msgid "%s merged at %s\n"
 msgstr "%s слит в %s\n"
 
@@ -8164,9 +8478,6 @@
 msgid "pull patches from REPO"
 msgstr "затянуть патчи из ХРАНИЛИЩА"
 
-msgid "BRANCH"
-msgstr "ВЕТКА"
-
 msgid "pull patches from branch BRANCH"
 msgstr "затянуть патчи из ВЕТКИ"
 
@@ -8179,6 +8490,9 @@
 msgid "merge at REV"
 msgstr "слить в РЕВизии"
 
+msgid "parent to choose when transplanting merge"
+msgstr "выбираемая родительская ревизия при персадке слияния"
+
 msgid "append transplant info to log message"
 msgstr "добавить информацию о пересадке в журнальное сообщение"
 
@@ -8265,6 +8579,14 @@
 "    transplant."
 
 msgid ""
+"    Merge changesets may be transplanted directly by specifying the\n"
+"    proper parent changeset by calling :hg:`transplant --parent`."
+msgstr ""
+"    Ревизии слияния могут быть пересажены напрямую, путем задания\n"
+"    соответствующей родительской ревизии с помощью\n"
+"    :hg:`transplant --parent`."
+
+msgid ""
 "    If no merges or revisions are provided, :hg:`transplant` will\n"
 "    start an interactive changeset browser."
 msgstr ""
@@ -8604,10 +8926,6 @@
 msgid "branch %s not found"
 msgstr "ветка %s не найдена"
 
-#, python-format
-msgid "updating bookmark %s\n"
-msgstr "обновление закладки %s\n"
-
 # NOT-SURE
 #, python-format
 msgid "divergent bookmark %s stored as %s\n"
@@ -8706,6 +9024,10 @@
 msgstr "%s: не перезаписывается - %s конфликтует с %s\n"
 
 #, python-format
+msgid "%s: can't copy - same file\n"
+msgstr "%s: нельзя копировать файл самого в себя\n"
+
+#, python-format
 msgid "%s: not overwriting - file exists\n"
 msgstr "%s: не перезаписывается - файл существует\n"
 
@@ -8832,14 +9154,6 @@
 msgstr "не найдена ревизия для данной даты"
 
 #, python-format
-msgid "cannot follow nonexistent file: \"%s\""
-msgstr "невозможно отслеживать несуществующий файл: \"%s\""
-
-msgid "can only follow copies/renames for explicit filenames"
-msgstr ""
-"чтобы отслеживать копирования/переименования, требуется явное имя файла"
-
-#, python-format
 msgid "adding %s\n"
 msgstr "добавляется %s\n"
 
@@ -8847,6 +9161,22 @@
 msgid "skipping missing subrepository: %s\n"
 msgstr "пропускается отсутствующее подхранилище: %s\n"
 
+#, python-format
+msgid "amending changeset %s\n"
+msgstr "исправление набора изменений %s\n"
+
+#, python-format
+msgid "copying changeset %s to %s\n"
+msgstr "набор изменений %s копируется в %s\n"
+
+#, python-format
+msgid "stripping intermediate changeset %s\n"
+msgstr "вырезаем промежуточную ревизию %s\n"
+
+#, python-format
+msgid "stripping amended changeset %s\n"
+msgstr "вырезаем исправленную ревизию %s\n"
+
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
 msgstr ""
 "HG: Введите сообщение фиксации. Строки, начинающиеся с 'HG:' будут удалены."
@@ -8890,6 +9220,30 @@
 msgid "empty commit message"
 msgstr "пустое сообщение фиксации"
 
+#, python-format
+msgid "forgetting %s\n"
+msgstr "забываю %s\n"
+
+#, python-format
+msgid "reverting %s\n"
+msgstr "восстановление %s\n"
+
+#, python-format
+msgid "undeleting %s\n"
+msgstr "отмена удаления %s\n"
+
+#, python-format
+msgid "saving current version of %s as %s\n"
+msgstr "текущая версия %s сохраняется как %s\n"
+
+#, python-format
+msgid "file not managed: %s\n"
+msgstr "файл не под контролем версий: %s\n"
+
+#, python-format
+msgid "no changes needed to %s\n"
+msgstr "не требуются изменения для %s\n"
+
 # overlay - накладываемый?
 msgid "repository root directory or name of overlay bundle file"
 msgstr "корневой каталог хранилища или имя файла комплекта"
@@ -8992,6 +9346,9 @@
 msgid "display with template"
 msgstr "отображать с помощью шаблона"
 
+msgid "show patch"
+msgstr "показать патч"
+
 msgid "do not show merges"
 msgstr "не показывать слияния"
 
@@ -9370,10 +9727,6 @@
 msgid "cannot backout a merge changeset"
 msgstr "не могу отменить ревизию слияния"
 
-#, python-format
-msgid "%s is not a parent of %s"
-msgstr "%s не родитель %s"
-
 msgid "cannot use --parent on non-merge changeset"
 msgstr ""
 "нельзя использовать --parent для ревизии, не являющейся результатом слияния"
@@ -9904,12 +10257,12 @@
 "    Возвращает 0 в случае успеха, 1 если изменения не найдены\n"
 "    "
 
+msgid "unknown bundle type specified with --type"
+msgstr "неизвестный способ задан в --type"
+
 msgid "--base is incompatible with specifying a destination"
 msgstr "нельзя одновременно указывать --base и хранилище назначения"
 
-msgid "unknown bundle type specified with --type"
-msgstr "неизвестный способ задан в --type"
-
 msgid "print output to file with formatted name"
 msgstr "печатать в файл с именем согласно ФОРМАТУ"
 
@@ -10158,6 +10511,9 @@
 msgid "mark a branch as closed, hiding it from the branch list"
 msgstr "пометить ветку как закрытую, скрыть ее из списка веток"
 
+msgid "amend the parent of the working dir"
+msgstr "исправить родительскую ревизию рабочего каталога"
+
 msgid "commit the specified files or all outstanding changes"
 msgstr "зафиксировать указанные файлы или все изменения в хранилище"
 
@@ -10196,6 +10552,39 @@
 "    ``.hg/last-message.txt``."
 
 msgid ""
+"    The --amend flag can be used to amend the parent of the\n"
+"    working directory with a new commit that contains the changes\n"
+"    in the parent in addition to those currently reported by :hg:`status`,\n"
+"    if there are any. The old commit is stored in a backup bundle in\n"
+"    ``.hg/strip-backup`` (see :hg:`help bundle` and :hg:`help unbundle`\n"
+"    on how to restore it)."
+msgstr ""
+"    Флаг --amend может быть использован для внесения поправок в "
+"родительскую\n"
+"    ревизию рабочего каталога с помощью еще одной операции фиксации,\n"
+"    содержащей изменения для родительской ревизии в дополнении к тем,\n"
+"    которые показываются :hg:`status` (если таковые имеются). Резервная\n"
+"    копия старого набора изменений будет сохранена в виде комплекта в\n"
+"    ``.hg/strip-backup`` (о том, как его восстановить, см.\n"
+"    :hg:`help bundle` и :hg:`help unbundle`)."
+
+msgid ""
+"    Message, user and date are taken from the amended commit unless\n"
+"    specified. When a message isn't specified on the command line,\n"
+"    the editor will open with the message of the amended commit."
+msgstr ""
+"    Сообщение фиксации, имя пользователя и дата берутся из изменяемой\n"
+"    ревизии, если они явно не заданы. Если сообщение фиксации не указано в\n"
+"    командной строке, откроется редактор с сообщением изменяемой ревизии."
+
+msgid ""
+"    It is not possible to amend public changesets (see :hg:`help phases`)\n"
+"    or changesets that have children."
+msgstr ""
+"    Нельзя изменить опубликованный набор изменений (см. :hg:`help phases`),\n"
+"    а также набор изменений, имеющий потомков."
+
+msgid ""
 "    Returns 0 on success, 1 if nothing changed.\n"
 "    "
 msgstr ""
@@ -10205,13 +10594,28 @@
 msgid "can only close branch heads"
 msgstr "можно закрыть только головную ревизию ветки"
 
+msgid "cannot amend recursively"
+msgstr "невозможно исправлять рекурсивно"
+
+msgid "cannot amend public changesets"
+msgstr "нельзя исправлять публичные ревизии"
+
+msgid "cannot amend merge changesets"
+msgstr "невозможно исправить ревизии слияния"
+
+msgid "cannot amend while merging"
+msgstr "невозможно исправлять во время слияния"
+
+msgid "cannot amend changeset with children"
+msgstr "нельзя исправлять ревизию, имеющую потомков"
+
+msgid "nothing changed\n"
+msgstr "нет изменений\n"
+
 #, python-format
 msgid "nothing changed (%d missing files, see 'hg status')\n"
 msgstr "нет изменений (%d файлов отсутствует, см. 'hg status')\n"
 
-msgid "nothing changed\n"
-msgstr "нет изменений\n"
-
 msgid "created new head\n"
 msgstr "создана новая голова\n"
 
@@ -10630,6 +11034,25 @@
 "    Сообщает об успехе или неудаче.\n"
 "    "
 
+msgid "A B"
+msgstr "A B"
+
+#, python-format
+msgid "a: %s\n"
+msgstr "a: %s\n"
+
+#, python-format
+msgid "b: %s\n"
+msgstr "b: %s\n"
+
+#, python-format
+msgid "depth(a): %d depth(b): %d\n"
+msgstr "глубина(а): %d глубина(b): %d\n"
+
+#, python-format
+msgid "delta: %d hdist: %d distance: %d relation: %s\n"
+msgstr "дельта: %d hdist: %d расстояние: %d отношение: %s\n"
+
 msgid "revision to rebuild to"
 msgstr "перестроить на данную ревизию"
 
@@ -10668,6 +11091,15 @@
 msgid "parse and apply a revision specification"
 msgstr "разобрать и применить спецификацию ревизии"
 
+msgid ""
+"    Use --verbose to print the parsed tree before and after aliases\n"
+"    expansion.\n"
+"    "
+msgstr ""
+"    Используйте --verbose чтобы напечатать разобранное дерево до и\n"
+"    после подстановки псевдонимов.\n"
+"    "
+
 msgid "REV1 [REV2]"
 msgstr "РЕВИЗИЯ1 [РЕВИЗИЯ2]"
 
@@ -11096,11 +11528,6 @@
 msgid "print all revisions that match"
 msgstr "печатать все подходящие ревизии"
 
-msgid "follow changeset history, or file history across copies and renames"
-msgstr ""
-"следовать истории набора изменений или истории файла при копированиях/"
-"переименованиях"
-
 msgid "ignore case when matching"
 msgstr "игнорировать регистр букв"
 
@@ -11777,42 +12204,6 @@
 "    проблем, когда \"xargs\" считает отдельные имена с пробелами\n"
 "    несколькими файлами."
 
-msgid "only follow the first parent of merge changesets (DEPRECATED)"
-msgstr "следовать только за первым родителем ревизий слияния (УСТАРЕЛО)"
-
-msgid "show revisions matching date spec"
-msgstr "показывать ревизии с датой, соответствующей данной"
-
-msgid "show copied files"
-msgstr "показывать скопированные файлы"
-
-msgid "do case-insensitive search for a given text"
-msgstr "выполнить поиск данного текста, игнорируя регистр"
-
-msgid "include revisions where files were removed"
-msgstr "включить ревизии, в которых файлы были удалены"
-
-msgid "show only merges (DEPRECATED)"
-msgstr "показывать только слияния (УСТАРЕЛО)"
-
-msgid "revisions committed by user"
-msgstr "только ревизии данного пользователем"
-
-msgid "show only changesets within the given named branch (DEPRECATED)"
-msgstr "показывать только ревизии на данной именованной ветке (УСТАРЕЛО)"
-
-msgid "show changesets within the given named branch"
-msgstr "показывать наборы изменений на данной именованной ветке"
-
-msgid "do not display revision or any of its ancestors"
-msgstr "не показывать ревизию и всех ее предшественников"
-
-msgid "show hidden changesets (DEPRECATED)"
-msgstr "показывать скрытые наборы изменений (УСТАРЕЛО)"
-
-msgid "[OPTION]... [FILE]"
-msgstr "[ПАРАМЕТР]... [ФАЙЛ]"
-
 msgid "show revision history of entire repository or files"
 msgstr "показать историю ревизий всего хранилища или файлов"
 
@@ -11951,6 +12342,13 @@
 "    См. :hg:`help revisions` и :hg:`help revsets` для дополнительной\n"
 "    информации о задании ревизий."
 
+msgid ""
+"    See :hg:`help templates` for more about pre-packaged styles and\n"
+"    specifying custom templates."
+msgstr ""
+"    Дополнительно о встроенных стилях и создании своих шаблонов\n"
+"    см. :hg:`help templates`."
+
 msgid "revision to display"
 msgstr "показать данную ревизию"
 
@@ -12252,18 +12650,26 @@
 msgstr "        публичная < черновая < секретная"
 
 msgid ""
-"    Return 0 on success, 1 if no phases were changed.\n"
-"    "
-msgstr ""
-"    Возвращает 0 при успехе, 1 если никакие фазы не изменены.\n"
+"    Return 0 on success, 1 if no phases were changed or some could not\n"
+"    be changed.\n"
+"    "
+msgstr ""
+"    Возвращает 0 при успехе, 1 если никакие фазы не были изменены или\n"
+"    некоторые не удалось изменить.\n"
 "    "
 
 msgid "only one phase can be specified"
 msgstr "можно указать только одну фазу"
 
 #, python-format
-msgid "phase change for %i changesets\n"
-msgstr "изменение фазы для %i наборов изменений\n"
+msgid "cannot move %i changesets to a more permissive phase, use --force\n"
+msgstr ""
+"не могу поменять фазу для %d наборов изменений на менее строгую,\n"
+"используйте --force\n"
+
+#, python-format
+msgid "phase changed for %i changesets\n"
+msgstr "фаза изменена для %i наборов изменений\n"
 
 msgid "no phases changed\n"
 msgstr "никакие фазы не изменены\n"
@@ -12338,12 +12744,11 @@
 "    Подробнее см. :hg:`help urls`."
 
 msgid ""
-"    Returns 0 on success, 1 if no changes found or an update had\n"
-"    unresolved files.\n"
-"    "
-msgstr ""
-"    Возвращает 0 при успехе, 1 если изменений не найдено или есть\n"
-"    конфликты при обновлении.\n"
+"    Returns 0 on success, 1 if an update had unresolved files.\n"
+"    "
+msgstr ""
+"    При успехе возвращает 0, 1 если при обновлении остались конфликты "
+"слияния.\n"
 "    "
 
 #, python-format
@@ -12826,30 +13231,6 @@
 msgid "use --all to revert all files"
 msgstr "используйте --all чтобы восстановить все файлы"
 
-#, python-format
-msgid "forgetting %s\n"
-msgstr "забываю %s\n"
-
-#, python-format
-msgid "reverting %s\n"
-msgstr "восстановление %s\n"
-
-#, python-format
-msgid "undeleting %s\n"
-msgstr "отмена удаления %s\n"
-
-#, python-format
-msgid "saving current version of %s as %s\n"
-msgstr "текущая версия %s сохраняется как %s\n"
-
-#, python-format
-msgid "file not managed: %s\n"
-msgstr "файл не под контролем версий: %s\n"
-
-#, python-format
-msgid "no changes needed to %s\n"
-msgstr "не требуются изменения для %s\n"
-
 msgid "ignore safety measures"
 msgstr "игнорировать меры безопасности"
 
@@ -13647,6 +14028,14 @@
 msgid "cannot include %s (%s)"
 msgstr "не удается включить %s (%s)"
 
+#, python-format
+msgid "working directory has unknown parent '%s'!"
+msgstr "рабочий каталог имеет неизвестного родителя '%s'!"
+
+#, python-format
+msgid "unknown revision '%s'"
+msgstr "неизвестная ревизия '%s'"
+
 msgid "not found in manifest"
 msgstr "не найден в манифесте"
 
@@ -13904,6 +14293,9 @@
 msgid "** Extensions loaded: %s\n"
 msgstr "** Загруженные расширения: %s\n"
 
+msgid "too few arguments for command alias"
+msgstr "недостаточно аргументов для псевдонима команды"
+
 #, python-format
 msgid "no definition for alias '%s'\n"
 msgstr "отсутствует определение псевдонима '%s'\n"
@@ -13976,6 +14368,17 @@
 "lsprof не доступен - установите с http://codespeak.net/svn/user/arigo/hack/"
 "misc/lsprof/"
 
+msgid "statprof not available - install using \"easy_install statprof\""
+msgstr "statprof не доступен - установите с помощью \"easy_install statprof\""
+
+#, python-format
+msgid "invalid sampling frequency '%s' - ignoring\n"
+msgstr "неверная частота сэмплирования '%s' - игнорируется\n"
+
+#, python-format
+msgid "unrecognized profiler '%s' - ignored\n"
+msgstr "неопознанный профилировщик '%s' - игнорирется\n"
+
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
 msgstr "*** не удалось импортировать расширение %s из %s: %s\n"
@@ -14004,6 +14407,15 @@
 msgid "tool %s requires a GUI\n"
 msgstr "программа %s требует графический интерфейс пользователя\n"
 
+msgid ""
+"``internal:prompt``\n"
+"Asks the user which of the local or the other version to keep as\n"
+"    the merged version."
+msgstr ""
+"``internal:prompt``\n"
+"Спрашивает пользователя, какую версию файла - локальную или \n"
+"   из хранилища - использовать в качестве слитой версии."
+
 # PROMPT
 #, python-format
 msgid ""
@@ -14013,10 +14425,72 @@
 " не найден инструмент для слияния %s\n"
 "использовать локальный файл:(l)ocal или взять другой:(o)ther?"
 
+msgid ""
+"``internal:local``\n"
+"Uses the local version of files as the merged version."
+msgstr ""
+"``internal:local``\n"
+"Использует локальные версии файлов в качестве результата слияния."
+
+msgid ""
+"``internal:other``\n"
+"Uses the other version of files as the merged version."
+msgstr ""
+"``internal:other``\n"
+"Использует версию файла из хранилища в качестве результат слияния."
+
+msgid ""
+"``internal:fail``\n"
+"Rather than attempting to merge files that were modified on both\n"
+"    branches, it marks them as unresolved. The resolve command must be\n"
+"    used to resolve these conflicts."
+msgstr ""
+"``internal:fail``\n"
+"Вместо того, чтобы попытаться провести слияние файлов, измененных на\n"
+"   обеих ветках, он помечает их как файлы с неразрешенными конфликтами.\n"
+"   После разрешения конфликта должна быть использована команда resolve."
+
 #, python-format
 msgid "%s.premerge not valid ('%s' is neither boolean nor %s)"
 msgstr "некорректный параметр %s.premerge ('%s' не логический и не %s)"
 
+msgid ""
+"``internal:merge``\n"
+"Uses the internal non-interactive simple merge algorithm for merging\n"
+"    files. It will fail if there are any conflicts and leave markers in\n"
+"    the partially merged file."
+msgstr ""
+"``internal:merge``\n"
+"Использует внутренний неинтерактивный простой алгоритм слияния.\n"
+"   Завершиться с ошибкой, если обнаружит конфликт, и оставит специальные\n"
+"   маркеры в частично слитом файле."
+
+#, python-format
+msgid "merging %s incomplete! (edit conflicts, then use 'hg resolve --mark')\n"
+msgstr ""
+"слияние %s не завершено! (устраните конфликты, затем используйте 'hg resolve "
+"--mark')\n"
+
+msgid ""
+"``internal:dump``\n"
+"Creates three versions of the files to merge, containing the\n"
+"    contents of local, other and base. These files can then be used to\n"
+"    perform a merge manually. If the file to be merged is named\n"
+"    ``a.txt``, these files will accordingly be named ``a.txt.local``,\n"
+"    ``a.txt.other`` and ``a.txt.base`` and they will be placed in the\n"
+"    same directory as ``a.txt``."
+msgstr ""
+"``internal:dump``\n"
+"Создает три версии файла для слияния: локальную, из хранилища и\n"
+"   базовую. Эти файлы можно использовать для слияния вручную. Если\n"
+"   файл называется `a.txt``, то эти файлы будут называться ``a.txt.local``,\n"
+"   ``a.txt.other`` и ``a.txt.base`` соответственно и будут находиться\n"
+"   в том же каталоге, что и ``a.txt``."
+
+#, python-format
+msgid "merging %s failed!\n"
+msgstr "не удалось слияние %s!\n"
+
 # PROMPT
 #, python-format
 msgid "was merge of '%s' successful (yn)?"
@@ -14031,16 +14505,6 @@
 " выходной файл %s, похоже, не изменен\n"
 "было ли слияние успешным (y - да, n - нет)?"
 
-#, python-format
-msgid "merging %s incomplete! (edit conflicts, then use 'hg resolve --mark')\n"
-msgstr ""
-"слияние %s не завершено! (устраните конфликты, затем используйте 'hg resolve "
-"--mark')\n"
-
-#, python-format
-msgid "merging %s failed!\n"
-msgstr "не удалось слияние %s!\n"
-
 msgid "unterminated string"
 msgstr "незавершенная строка"
 
@@ -14268,6 +14732,20 @@
 msgid "copied takes no arguments"
 msgstr "copied не требует аргументов"
 
+msgid ""
+"``subrepo([pattern])``\n"
+"    Subrepositories whose paths match the given pattern."
+msgstr ""
+"``subrepo([шаблон])``\n"
+"    Подхранилища, чьи пути совпадают с данным шаблоном"
+
+#. i18n: "subrepo" is a keyword
+msgid "subrepo takes at most one argument"
+msgstr "subrepo принимает максимум один ргумент"
+
+msgid "subrepo requires a pattern or no arguments"
+msgstr "аргументом subrepo может быть либо шаблон, либо ничего"
+
 msgid "invalid token"
 msgstr "неизвестный символ"
 
@@ -14348,7 +14826,7 @@
 msgid "URL Paths"
 msgstr "Пути URL"
 
-msgid "Using additional features"
+msgid "Using Additional Features"
 msgstr "Использование дополнительных возможностей"
 
 msgid "Subrepositories"
@@ -14360,7 +14838,7 @@
 msgid "Glossary"
 msgstr "Глоссарий"
 
-msgid "syntax for Mercurial ignore files"
+msgid "Syntax for Mercurial Ignore Files"
 msgstr "Синтаксис файлов игнорирования Mercurial"
 
 msgid "Working with Phases"
@@ -14433,32 +14911,34 @@
 "последующие переопределяют предыдущие. Если далее указано несколько\n"
 "путей, первые имеют приоритет над последующими."
 
-msgid "| (Unix, Windows) ``<repo>/.hg/hgrc``"
-msgstr "| (Unix, Windows) ``<хранилище>/.hg/hgrc``"
+msgid "| (All) ``<repo>/.hg/hgrc``"
+msgstr "| (All) ``<хранилище>/.hg/hgrc``"
 
 msgid ""
 "    Per-repository configuration options that only apply in a\n"
 "    particular repository. This file is not version-controlled, and\n"
 "    will not get transferred during a \"clone\" operation. Options in\n"
 "    this file override options in all other configuration files. On\n"
-"    Unix, most of this file will be ignored if it doesn't belong to a\n"
-"    trusted user or to a trusted group. See the documentation for the\n"
-"    ``[trusted]`` section below for more details."
+"    Plan 9 and Unix, most of this file will be ignored if it doesn't\n"
+"    belong to a trusted user or to a trusted group. See the documentation\n"
+"    for the ``[trusted]`` section below for more details."
 msgstr ""
 "    Индивидуальные настройки хранилища - это те, которые действуют\n"
 "    только для текущего хранилища. Этот файл не участвует в контроле\n"
 "    версий и не скачивается при клонировании. Настройки в этом файле\n"
-"    переопределяют настройки других файлов. В Unix большая часть этого\n"
-"    файла игнорируется, если он не принадлежат доверенному пользователю\n"
-"    или группе. См. документацию по секции ``[trusted]``."
-
-msgid ""
+"    переопределяют настройки других файлов. В Unix и Plan9 большая часть\n"
+"    этого файла игнорируется, если он не принадлежат доверенному\n"
+"    пользователю или группе. См. документацию по секции ``[trusted]``."
+
+msgid ""
+"| (Plan 9) ``$home/lib/hgrc``\n"
 "| (Unix) ``$HOME/.hgrc``\n"
 "| (Windows) ``%USERPROFILE%\\.hgrc``\n"
 "| (Windows) ``%USERPROFILE%\\Mercurial.ini``\n"
 "| (Windows) ``%HOME%\\.hgrc``\n"
 "| (Windows) ``%HOME%\\Mercurial.ini``"
 msgstr ""
+"| (Plan 9) ``$home/lib/hgrc``\n"
 "| (Unix) ``$HOME/.hgrc``\n"
 "| (Windows) ``%USERPROFILE%\\.hgrc``\n"
 "| (Windows) ``%USERPROFILE%\\Mercurial.ini``\n"
@@ -14481,9 +14961,13 @@
 "    данной инсталляции."
 
 msgid ""
+"| (Plan 9) ``/lib/mercurial/hgrc``\n"
+"| (Plan 9) ``/lib/mercurial/hgrc.d/*.rc``\n"
 "| (Unix) ``/etc/mercurial/hgrc``\n"
 "| (Unix) ``/etc/mercurial/hgrc.d/*.rc``"
 msgstr ""
+"| (Plan 9) ``/lib/mercurial/hgrc``\n"
+"| (Plan 9) ``/lib/mercurial/hgrc.d/*.rc``\n"
 "| (Unix) ``/etc/mercurial/hgrc``\n"
 "| (Unix) ``/etc/mercurial/hgrc.d/*.rc``"
 
@@ -14499,9 +14983,13 @@
 "    Настройки из этих файлов переопределяют настройки инсталляции."
 
 msgid ""
+"| (Plan 9) ``<install-root>/lib/mercurial/hgrc``\n"
+"| (Plan 9) ``<install-root>/lib/mercurial/hgrc.d/*.rc``\n"
 "| (Unix) ``<install-root>/etc/mercurial/hgrc``\n"
 "| (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
 msgstr ""
+"| (Plan 9) ``<корень-установки>/lib/mercurial/hgrc``\n"
+"| (Plan 9) ``<корень-установки>/lib/mercurial/hgrc.d/*.rc``\n"
 "| (Unix) ``<корень-установки>/etc/mercurial/hgrc``\n"
 "| (Unix) ``<корень-установки>/etc/mercurial/hgrc.d/*.rc``"
 
@@ -14538,18 +15026,14 @@
 "    keys contain PATH-like strings, every part of which must reference\n"
 "    a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will\n"
 "    be read.  Mercurial checks each of these locations in the specified\n"
-"    order until one or more configuration files are detected.  If the\n"
-"    pywin32 extensions are not installed, Mercurial will only look for\n"
-"    site-wide configuration in ``C:\\Mercurial\\Mercurial.ini``."
+"    order until one or more configuration files are detected."
 msgstr ""
 "    Настройки из файлов конфигурации инсталляции/общесистемных файлов\n"
 "    влияют на все команды, запускаемые всеми пользователями в любых\n"
-"    каталогах. Ключи реестра содержат строки, каждая часть которых\n"
-"    должна быть путем к файлу ``Mercurial.ini`` или каталогу с файлами\n"
-"    ``*.rc``. Mercurial просматривает все эти пути в указанном порядке\n"
-"    пока не найдет один или более файл конфигурации. Если не установлены\n"
-"    расширения pywin32, Mercurial будет искать только системный конфиг\n"
-"    в ``C:\\Mercurial\\Mercurial.ini``."
+"    каталогах. Ключи реестра содержат строки, по формату похожие на PATH,\n"
+"    каждая часть которых должна быть путем к файлу ``Mercurial.ini``\n"
+"    или каталогу с файлами ``*.rc``. Mercurial просматривает все эти пути\n"
+"    в указанном порядке пока не найдет один или более файл конфигурации."
 
 msgid ""
 "Syntax\n"
@@ -14814,8 +15298,8 @@
 "командной оболочки (шела). Псевдоним шела исполняется шелом и позволяет\n"
 "запускать произвольные команды. Например, ::"
 
-msgid "   echo = !echo"
-msgstr "   echo = !echo"
+msgid "   echo = !echo $@"
+msgstr "   echo = !echo $@"
 
 msgid ""
 "will let you do ``hg echo foo`` to have ``foo`` printed in your\n"
@@ -14835,17 +15319,31 @@
 "как это делает расширение purge."
 
 msgid ""
-"Shell aliases are executed in an environment where ``$HG`` expand to\n"
+"Positional arguments like ``$1``, ``$2``, etc. in the alias definition\n"
+"expand to the command arguments. Unmatched arguments are\n"
+"removed. ``$0`` expands to the alias name and ``$@`` expands to all\n"
+"arguments separated by a space. These expansions happen before the\n"
+"command is passed to the shell."
+msgstr ""
+"Позиционные аргументы, такие как ``$1``, ``$2`` и т.п. в определении\n"
+"псевдонима раскрываются в аргументы команды. Аргументы, для которых\n"
+"нет соответсвующих параметров, удаляются. ``$0`` раскрывается в имя\n"
+"псевдонима, ``$@`` - в список всех аргументов, разделенных пробелами.\n"
+"Эти подстановки выполняются до того, как команда будет передана\n"
+"оболочке."
+
+msgid ""
+"Shell aliases are executed in an environment where ``$HG`` expands to\n"
 "the path of the Mercurial that was used to execute the alias. This is\n"
 "useful when you want to call further Mercurial commands in a shell\n"
 "alias, as was done above for the purge alias. In addition,\n"
-"``$HG_ARGS`` expand to the arguments given to Mercurial. In the ``hg\n"
+"``$HG_ARGS`` expands to the arguments given to Mercurial. In the ``hg\n"
 "echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``."
 msgstr ""
 "Псевдонимы оболочки выполняются в среде, в которой ``$HG`` раскрывается\n"
 "в путь к исполняемому в данный момент файлу Mercurial. Это полезно,\n"
 "если вы хотите запустить еще одну команду Mercurial из псевдонима,\n"
-"как это сделано в предыдущем примере. Кроме того, ``$HG_ARGS``\n"
+"как это сделано в предыдущем примере для purge. Кроме того, ``$HG_ARGS``\n"
 "раскрывается в аргументы, переданные Mercurial. В примере с\n"
 "``hg echo foo``, ``$HG_ARGS`` раскроется в ``echo foo``."
 
@@ -15412,45 +15910,6 @@
 
 msgid ""
 "\n"
-"``hostfingerprints``\n"
-"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
-msgstr ""
-"\n"
-"``hostfingerprints``\n"
-"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
-
-msgid ""
-"Fingerprints of the certificates of known HTTPS servers.\n"
-"A HTTPS connection to a server with a fingerprint configured here will\n"
-"only succeed if the servers certificate matches the fingerprint.\n"
-"This is very similar to how ssh known hosts works.\n"
-"The fingerprint is the SHA-1 hash value of the DER encoded certificate.\n"
-"The CA chain and web.cacerts is not used for servers with a fingerprint."
-msgstr ""
-"Слепки сертификатов известных HTTPS-серверов. При заданном слепке\n"
-"HTTPS-соединение успешно установится только если слепок сертификата\n"
-"сервера совпадает с заданным. Это похоже на работу с известными хостами\n"
-"по ssh. Слепок - это хэш SHA-1 от сертификата, зашифрованного DER.\n"
-"Цепочка CA и web.cacerts не используются для серверов с заданными\n"
-"слепками."
-
-msgid "For example::"
-msgstr "Пример::"
-
-msgid ""
-"    [hostfingerprints]\n"
-"    hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:"
-"d6:4b:ee:cc"
-msgstr ""
-"    [hostfingerprints]\n"
-"    hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:"
-"d6:4b:ee:cc"
-
-msgid "This feature is only supported when using Python 2.6 or later."
-msgstr "Поддерживается только если используется Python 2.6 или выше."
-
-msgid ""
-"\n"
 "``format``\n"
 "\"\"\"\"\"\"\"\"\"\""
 msgstr ""
@@ -15513,256 +15972,60 @@
 "    будет совместим с Mercurial до версии 1.7."
 
 msgid ""
-"``merge-patterns``\n"
-"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
-msgstr ""
-"``merge-patterns``\n"
-"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
-
-msgid ""
-"This section specifies merge tools to associate with particular file\n"
-"patterns. Tools matched here will take precedence over the default\n"
-"merge tool. Patterns are globs by default, rooted at the repository\n"
-"root."
-msgstr ""
-"Эта секция задает инструменты для слияния файлов, подходящих под\n"
-"определенный шаблон. Подходящие сюда программы имеют приоритет перед\n"
-"инструментами по умолчанию. Шаблоны по умолчанию имеют формат glob,\n"
-"пути задаются относительно корня хранилища."
-
-msgid ""
-"  [merge-patterns]\n"
-"  **.c = kdiff3\n"
-"  **.jpg = myimgmerge"
-msgstr ""
-"  [merge-patterns]\n"
-"  **.c = kdiff3\n"
-"  **.jpg = myimgmerge"
-
-msgid ""
-"``merge-tools``\n"
-"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
-msgstr ""
-"``merge-tools``\n"
-"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
-
-msgid ""
-"This section configures external merge tools to use for file-level\n"
-"merges."
-msgstr "Эта секция задает внешние инструменты для слияния отдельных файлов."
-
-msgid "Example ``~/.hgrc``::"
-msgstr "Пример ``~/.hgrc``::"
-
-msgid ""
-"  [merge-tools]\n"
-"  # Override stock tool location\n"
-"  kdiff3.executable = ~/bin/kdiff3\n"
-"  # Specify command line\n"
-"  kdiff3.args = $base $local $other -o $output\n"
-"  # Give higher priority\n"
-"  kdiff3.priority = 1"
-msgstr ""
-"  [merge-tools]\n"
-"  # Переопределить изначальное расположение программы\n"
-"  kdiff3.executable = ~/bin/kdiff3\n"
-"  # Задать параметры командной строки\n"
-"  kdiff3.args = $base $local $other -o $output\n"
-"  # Задать повышенный приоритет\n"
-"  kdiff3.priority = 1"
-
-msgid ""
-"  # Define new tool\n"
-"  myHtmlTool.args = -m $local $other $base $output\n"
-"  myHtmlTool.regkey = Software\\FooSoftware\\HtmlMerge\n"
-"  myHtmlTool.priority = 1"
-msgstr ""
-"  # Определить новый инструмент\n"
-"  myHtmlTool.args = -m $local $other $base $output\n"
-"  myHtmlTool.regkey = Software\\FooSoftware\\HtmlMerge\n"
-"  myHtmlTool.priority = 1"
-
-msgid ""
-"``priority``\n"
-"  The priority in which to evaluate this tool.\n"
-"  Default: 0."
-msgstr ""
-"``priority``\n"
-"  Приоритет, с которым выбирается этот инструмент.\n"
-"  По умолчанию 0."
-
-msgid ""
-"``executable``\n"
-"  Either just the name of the executable or its pathname.  On Windows,\n"
-"  the path can use environment variables with ${ProgramFiles} syntax.\n"
-"  Default: the tool name."
-msgstr ""
-"``executable``\n"
-"  Имя или полный путь к исполняемого файлу. В Windows в пути можно\n"
-"  использовать переменные окружения с синтаксисом ${ProgramFiles}.\n"
-"  По умолчанию: имя программы."
-
-msgid ""
-"``args``\n"
-"  The arguments to pass to the tool executable. You can refer to the\n"
-"  files being merged as well as the output file through these\n"
-"  variables: ``$base``, ``$local``, ``$other``, ``$output``.\n"
-"  Default: ``$local $base $other``"
-msgstr ""
-"``args``\n"
-"  Аргументы, передаваемые инструменту слияния. Можно обращаться к\n"
-"  сливаемым файлам и результату слияния через эти переменные:\n"
-"  ``$base``, ``$local``, ``$other``, ``$output``.\n"
-"  По умолчанию: ``$local $base $other``"
-
-msgid ""
-"``premerge``\n"
-"  Attempt to run internal non-interactive 3-way merge tool before\n"
-"  launching external tool.  Options are ``true``, ``false``, or ``keep``\n"
-"  to leave markers in the file if the premerge fails.\n"
-"  Default: True"
-msgstr ""
-"``premerge``\n"
-"  Пытаться запускать внутренний неинтерактивный инструмент слияния\n"
-"  для трех файлов перед запуском внешней программы. Возможны значения\n"
-"  ``true``(включено), ``false``(выключено) или ``keep``, чтобы оставить\n"
-"  маркеры конфликтов в файлах при неудавшемся предварительном слиянии.\n"
-"  По умолчанию: True"
-
-msgid ""
-"``binary``\n"
-"  This tool can merge binary files. Defaults to False, unless tool\n"
-"  was selected by file pattern match."
-msgstr ""
-"``binary``\n"
-"  Этот инструмент может использоваться для слияния бинарных файлов.\n"
-"  По умолчанию False, если этот инструмент не был выбран при\n"
-"  совпадении шаблона имени файла."
-
-msgid ""
-"``symlink``\n"
-"  This tool can merge symlinks. Defaults to False, even if tool was\n"
-"  selected by file pattern match."
-msgstr ""
-"``symlink``\n"
-"  Этот инструмент может использоваться для слияния символических ссылок\n"
-"  По умолчанию False, даже если инструмент был выбран при совпадении\n"
-"  шаблона имени файла."
-
-msgid ""
-"``check``\n"
-"  A list of merge success-checking options:"
-msgstr ""
-"``check``\n"
-"  Список параметров, свидетельствующих об успехе слияния::"
-
-msgid ""
-"  ``changed``\n"
-"    Ask whether merge was successful when the merged file shows no changes.\n"
-"  ``conflicts``\n"
-"    Check whether there are conflicts even though the tool reported "
-"success.\n"
-"  ``prompt``\n"
-"    Always prompt for merge success, regardless of success reported by tool."
-msgstr ""
-"  ``changed``\n"
-"    Спросить, было ли слияние успешным, если в слитом файле нет изменений.\n"
-"  ``conflicts``\n"
-"    Проверить наличие конфликтов, даже если программа слияния сигнализирует "
-"об успехе\n"
-"  ``prompt``\n"
-"    Всегда спрашивать об успехе слияния, вне зависимости от возвращенного    "
-"инструментом слияния статуса."
-
-msgid ""
-"``checkchanged``\n"
-"  True is equivalent to ``check = changed``.\n"
-"  Default: False"
-msgstr ""
-"``checkchanged``\n"
-"  Эквивалентно ``check = changed``.\n"
-"  По умолчанию: False"
-
-msgid ""
-"``checkconflicts``\n"
-"  True is equivalent to ``check = conflicts``.\n"
-"  Default: False"
-msgstr ""
-"``checkconflicts``\n"
-"  Эквивалентно ``check = conflicts``.\n"
-"  По умолчанию: False"
-
-msgid ""
-"``fixeol``\n"
-"  Attempt to fix up EOL changes caused by the merge tool.\n"
-"  Default: False"
-msgstr ""
-"``fixeol``\n"
-"  Пытаться исправить изменения формата новой строки из-за работы  программы "
-"слияния.\n"
-"  По умолчанию: False"
-
-msgid ""
-"``gui``\n"
-"  This tool requires a graphical interface to run. Default: False"
-msgstr ""
-"``gui``\n"
-"  Эта программа требует графический интерфейс. По умолчанию: False"
-
-msgid ""
-"``regkey``\n"
-"  Windows registry key which describes install location of this\n"
-"  tool. Mercurial will search for this key first under\n"
-"  ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
-"  Default: None"
-msgstr ""
-"``regkey``\n"
-"  Ключ реестра Windows, описывающий установочный каталог этого\n"
-"  инструмента. Mercurial ищет этот ключ сначала в ``HKEY_CURRENT_USER``,\n"
-"  потом в ``HKEY_LOCAL_MACHINE``.\n"
-"  По умолчанию: не задан"
-
-msgid ""
-"``regkeyalt``\n"
-"  An alternate Windows registry key to try if the first key is not\n"
-"  found.  The alternate key uses the same ``regname`` and ``regappend``\n"
-"  semantics of the primary key.  The most common use for this key\n"
-"  is to search for 32bit applications on 64bit operating systems.\n"
-"  Default: None"
-msgstr ""
-"``regkeyalt``\n"
-"  Альтернативный ключ в реестре Windows, который используется если\n"
-"  первый ключ не найден. Этот ключ использует ту же семантику\n"
-"  ``regname`` и ``regappend``, что и первичный ключ. Обычно это\n"
-"  используется для поиска 32-битных приложений в 64-битных ОС.\n"
-"  По умолчанию: не задан"
-
-msgid ""
-"``regname``\n"
-"  Name of value to read from specified registry key. Defaults to the\n"
-"  unnamed (default) value."
-msgstr ""
-"``regname``\n"
-"  Имя читаемого из реестра параметра. По умолчанию значение не пусто -\n"
-"  неименованный параметр."
-
-msgid ""
-"``regappend``\n"
-"  String to append to the value read from the registry, typically\n"
-"  the executable name of the tool.\n"
-"  Default: None"
-msgstr ""
-"``regappend``\n"
-"  Строка, добавляемая к прочитанному из реестра значению, как правило\n"
-"  это имя исполняемого файла инструмента.\n"
-"  По умолчанию: не задан"
-
-msgid ""
-"\n"
+"``graph``\n"
+"\"\"\"\"\"\"\"\"\""
+msgstr ""
+"``graph``\n"
+"\"\"\"\"\"\"\"\"\""
+
+msgid ""
+"Web graph view configuration. This section let you change graph\n"
+"elements display properties by branches, for instance to make the\n"
+"``default`` branch stand out."
+msgstr ""
+"Настройки отображения графа в веб-интерфейсе. Эта секция позволяет\n"
+"менять свойства отображаемых элементов по веткам, например, чтобы\n"
+"выделить ветку ``default``."
+
+msgid "    <branch>.<argument> = <value>"
+msgstr "    <ветка>.<аргумент> = <значение>"
+
+msgid ""
+"where ``<branch>`` is the name of the branch being\n"
+"customized. Example::"
+msgstr "где ``<ветка>`` - имя настраиваемой ветки. Например::"
+
+msgid ""
+"    [graph]\n"
+"    # 2px width\n"
+"    default.width = 2\n"
+"    # red color\n"
+"    default.color = FF0000"
+msgstr ""
+"    [graph]\n"
+"    # толшина 2 пикселя\n"
+"    default.width = 2\n"
+"    # красный цвет\n"
+"    default.color = FF0000"
+
+msgid ""
+"``width``\n"
+"    Set branch edges width in pixels."
+msgstr ""
+"``width``\n"
+"    Задает толщину ребер графа для ветки в пикселях."
+
+msgid ""
+"``color``\n"
+"    Set branch edges color in hexadecimal RGB notation."
+msgstr ""
+"``color``\n"
+"    Задает цвет ребер графа для ветки в шестнадцатиричном RGB-виде."
+
+msgid ""
 "``hooks``\n"
 "\"\"\"\"\"\"\"\"\""
 msgstr ""
-"\n"
 "``hooks``\n"
 "\"\"\"\"\"\"\"\"\""
 
@@ -16152,6 +16415,45 @@
 
 msgid ""
 "\n"
+"``hostfingerprints``\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+msgstr ""
+"\n"
+"``hostfingerprints``\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+
+msgid ""
+"Fingerprints of the certificates of known HTTPS servers.\n"
+"A HTTPS connection to a server with a fingerprint configured here will\n"
+"only succeed if the servers certificate matches the fingerprint.\n"
+"This is very similar to how ssh known hosts works.\n"
+"The fingerprint is the SHA-1 hash value of the DER encoded certificate.\n"
+"The CA chain and web.cacerts is not used for servers with a fingerprint."
+msgstr ""
+"Слепки сертификатов известных HTTPS-серверов. При заданном слепке\n"
+"HTTPS-соединение успешно установится только если слепок сертификата\n"
+"сервера совпадает с заданным. Это похоже на работу с известными хостами\n"
+"по ssh. Слепок - это хэш SHA-1 от сертификата, зашифрованного DER.\n"
+"Цепочка CA и web.cacerts не используются для серверов с заданными\n"
+"слепками."
+
+msgid "For example::"
+msgstr "Пример::"
+
+msgid ""
+"    [hostfingerprints]\n"
+"    hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:"
+"d6:4b:ee:cc"
+msgstr ""
+"    [hostfingerprints]\n"
+"    hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:"
+"d6:4b:ee:cc"
+
+msgid "This feature is only supported when using Python 2.6 or later."
+msgstr "Поддерживается только если используется Python 2.6 или выше."
+
+msgid ""
+"\n"
 "``http_proxy``\n"
 "\"\"\"\"\"\"\"\"\"\"\"\"\"\""
 msgstr ""
@@ -16208,66 +16510,249 @@
 "    записей из ``http_proxy.no``. True или False. По умолчанию: False."
 
 msgid ""
-"``smtp``\n"
-"\"\"\"\"\"\"\"\""
-msgstr ""
-"``smtp``\n"
-"\"\"\"\"\"\"\"\""
-
-msgid "Configuration for extensions that need to send email messages."
-msgstr "Настройки для расширений, которые рассылают email-сообщения."
-
-msgid ""
-"``host``\n"
-"    Host name of mail server, e.g. \"mail.example.com\"."
-msgstr ""
-"``host``\n"
-"    Имя хоста почтового сервера, например \"mail.example.com\"."
-
-msgid ""
-"``port``\n"
-"    Optional. Port to connect to on mail server. Default: 25."
-msgstr "    Необязательный. Входящий порт почтового сервера. По умолчанию: 25."
-
-msgid ""
-"``tls``\n"
-"    Optional. Method to enable TLS when connecting to mail server: "
-"starttls,\n"
-"    smtps or none. Default: none."
-msgstr ""
-"``tls``\n"
-"    Необязательный. Способ включения TLS при подключении к почтовому "
-"серверу:\n"
-"    starttls, smtps или none (откл.). По умолчанию: none."
-
-msgid ""
-"``username``\n"
-"    Optional. User name for authenticating with the SMTP server.\n"
-"    Default: none."
-msgstr ""
-"``username``\n"
-"    Необязательный. Имя пользователя для аутентификации на SMTP-сервере.\n"
-"    По умолчанию: не задан."
-
-msgid ""
-"``password``\n"
-"    Optional. Password for authenticating with the SMTP server. If not\n"
-"    specified, interactive sessions will prompt the user for a\n"
-"    password; non-interactive sessions will fail. Default: none."
-msgstr ""
-"``password``\n"
-"    Необязательный. Пароль для аутентификации на SMTP-сервере. Если\n"
-"    не задан, пользователю будет предложено ввести пароль, а\n"
-"    неинтерактивный сеанс завершится неудачей. По умолчанию: не задан."
-
-msgid ""
-"``local_hostname``\n"
-"    Optional. It's the hostname that the sender can use to identify\n"
-"    itself to the MTA."
-msgstr ""
-"``local_hostname``\n"
-"    Необязательный. Имя хоста, используемое отправителем для\n"
-"    самоидентификации через MTA."
+"``merge-patterns``\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+msgstr ""
+"``merge-patterns``\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+
+msgid ""
+"This section specifies merge tools to associate with particular file\n"
+"patterns. Tools matched here will take precedence over the default\n"
+"merge tool. Patterns are globs by default, rooted at the repository\n"
+"root."
+msgstr ""
+"Эта секция задает инструменты для слияния файлов, подходящих под\n"
+"определенный шаблон. Подходящие сюда программы имеют приоритет перед\n"
+"инструментами по умолчанию. Шаблоны по умолчанию имеют формат glob,\n"
+"пути задаются относительно корня хранилища."
+
+msgid ""
+"  [merge-patterns]\n"
+"  **.c = kdiff3\n"
+"  **.jpg = myimgmerge"
+msgstr ""
+"  [merge-patterns]\n"
+"  **.c = kdiff3\n"
+"  **.jpg = myimgmerge"
+
+msgid ""
+"``merge-tools``\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+msgstr ""
+"``merge-tools``\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+
+msgid ""
+"This section configures external merge tools to use for file-level\n"
+"merges."
+msgstr "Эта секция задает внешние инструменты для слияния отдельных файлов."
+
+msgid "Example ``~/.hgrc``::"
+msgstr "Пример ``~/.hgrc``::"
+
+msgid ""
+"  [merge-tools]\n"
+"  # Override stock tool location\n"
+"  kdiff3.executable = ~/bin/kdiff3\n"
+"  # Specify command line\n"
+"  kdiff3.args = $base $local $other -o $output\n"
+"  # Give higher priority\n"
+"  kdiff3.priority = 1"
+msgstr ""
+"  [merge-tools]\n"
+"  # Переопределить изначальное расположение программы\n"
+"  kdiff3.executable = ~/bin/kdiff3\n"
+"  # Задать параметры командной строки\n"
+"  kdiff3.args = $base $local $other -o $output\n"
+"  # Задать повышенный приоритет\n"
+"  kdiff3.priority = 1"
+
+msgid ""
+"  # Define new tool\n"
+"  myHtmlTool.args = -m $local $other $base $output\n"
+"  myHtmlTool.regkey = Software\\FooSoftware\\HtmlMerge\n"
+"  myHtmlTool.priority = 1"
+msgstr ""
+"  # Определить новый инструмент\n"
+"  myHtmlTool.args = -m $local $other $base $output\n"
+"  myHtmlTool.regkey = Software\\FooSoftware\\HtmlMerge\n"
+"  myHtmlTool.priority = 1"
+
+msgid ""
+"``priority``\n"
+"  The priority in which to evaluate this tool.\n"
+"  Default: 0."
+msgstr ""
+"``priority``\n"
+"  Приоритет, с которым выбирается этот инструмент.\n"
+"  По умолчанию 0."
+
+msgid ""
+"``executable``\n"
+"  Either just the name of the executable or its pathname.  On Windows,\n"
+"  the path can use environment variables with ${ProgramFiles} syntax.\n"
+"  Default: the tool name."
+msgstr ""
+"``executable``\n"
+"  Имя или полный путь к исполняемого файлу. В Windows в пути можно\n"
+"  использовать переменные окружения с синтаксисом ${ProgramFiles}.\n"
+"  По умолчанию: имя программы."
+
+msgid ""
+"``args``\n"
+"  The arguments to pass to the tool executable. You can refer to the\n"
+"  files being merged as well as the output file through these\n"
+"  variables: ``$base``, ``$local``, ``$other``, ``$output``.\n"
+"  Default: ``$local $base $other``"
+msgstr ""
+"``args``\n"
+"  Аргументы, передаваемые инструменту слияния. Можно обращаться к\n"
+"  сливаемым файлам и результату слияния через эти переменные:\n"
+"  ``$base``, ``$local``, ``$other``, ``$output``.\n"
+"  По умолчанию: ``$local $base $other``"
+
+msgid ""
+"``premerge``\n"
+"  Attempt to run internal non-interactive 3-way merge tool before\n"
+"  launching external tool.  Options are ``true``, ``false``, or ``keep``\n"
+"  to leave markers in the file if the premerge fails.\n"
+"  Default: True"
+msgstr ""
+"``premerge``\n"
+"  Пытаться запускать внутренний неинтерактивный инструмент слияния\n"
+"  для трех файлов перед запуском внешней программы. Возможны значения\n"
+"  ``true``(включено), ``false``(выключено) или ``keep``, чтобы оставить\n"
+"  маркеры конфликтов в файлах при неудавшемся предварительном слиянии.\n"
+"  По умолчанию: True"
+
+msgid ""
+"``binary``\n"
+"  This tool can merge binary files. Defaults to False, unless tool\n"
+"  was selected by file pattern match."
+msgstr ""
+"``binary``\n"
+"  Этот инструмент может использоваться для слияния бинарных файлов.\n"
+"  По умолчанию False, если этот инструмент не был выбран при\n"
+"  совпадении шаблона имени файла."
+
+msgid ""
+"``symlink``\n"
+"  This tool can merge symlinks. Defaults to False, even if tool was\n"
+"  selected by file pattern match."
+msgstr ""
+"``symlink``\n"
+"  Этот инструмент может использоваться для слияния символических ссылок\n"
+"  По умолчанию False, даже если инструмент был выбран при совпадении\n"
+"  шаблона имени файла."
+
+msgid ""
+"``check``\n"
+"  A list of merge success-checking options:"
+msgstr ""
+"``check``\n"
+"  Список параметров, свидетельствующих об успехе слияния::"
+
+msgid ""
+"  ``changed``\n"
+"    Ask whether merge was successful when the merged file shows no changes.\n"
+"  ``conflicts``\n"
+"    Check whether there are conflicts even though the tool reported "
+"success.\n"
+"  ``prompt``\n"
+"    Always prompt for merge success, regardless of success reported by tool."
+msgstr ""
+"  ``changed``\n"
+"    Спросить, было ли слияние успешным, если в слитом файле нет изменений.\n"
+"  ``conflicts``\n"
+"    Проверить наличие конфликтов, даже если программа слияния сигнализирует "
+"об успехе\n"
+"  ``prompt``\n"
+"    Всегда спрашивать об успехе слияния, вне зависимости от возвращенного    "
+"инструментом слияния статуса."
+
+msgid ""
+"``checkchanged``\n"
+"  True is equivalent to ``check = changed``.\n"
+"  Default: False"
+msgstr ""
+"``checkchanged``\n"
+"  Эквивалентно ``check = changed``.\n"
+"  По умолчанию: False"
+
+msgid ""
+"``checkconflicts``\n"
+"  True is equivalent to ``check = conflicts``.\n"
+"  Default: False"
+msgstr ""
+"``checkconflicts``\n"
+"  Эквивалентно ``check = conflicts``.\n"
+"  По умолчанию: False"
+
+msgid ""
+"``fixeol``\n"
+"  Attempt to fix up EOL changes caused by the merge tool.\n"
+"  Default: False"
+msgstr ""
+"``fixeol``\n"
+"  Пытаться исправить изменения формата новой строки из-за работы  программы "
+"слияния.\n"
+"  По умолчанию: False"
+
+msgid ""
+"``gui``\n"
+"  This tool requires a graphical interface to run. Default: False"
+msgstr ""
+"``gui``\n"
+"  Эта программа требует графический интерфейс. По умолчанию: False"
+
+msgid ""
+"``regkey``\n"
+"  Windows registry key which describes install location of this\n"
+"  tool. Mercurial will search for this key first under\n"
+"  ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
+"  Default: None"
+msgstr ""
+"``regkey``\n"
+"  Ключ реестра Windows, описывающий установочный каталог этого\n"
+"  инструмента. Mercurial ищет этот ключ сначала в ``HKEY_CURRENT_USER``,\n"
+"  потом в ``HKEY_LOCAL_MACHINE``.\n"
+"  По умолчанию: не задан"
+
+msgid ""
+"``regkeyalt``\n"
+"  An alternate Windows registry key to try if the first key is not\n"
+"  found.  The alternate key uses the same ``regname`` and ``regappend``\n"
+"  semantics of the primary key.  The most common use for this key\n"
+"  is to search for 32bit applications on 64bit operating systems.\n"
+"  Default: None"
+msgstr ""
+"``regkeyalt``\n"
+"  Альтернативный ключ в реестре Windows, который используется если\n"
+"  первый ключ не найден. Этот ключ использует ту же семантику\n"
+"  ``regname`` и ``regappend``, что и первичный ключ. Обычно это\n"
+"  используется для поиска 32-битных приложений в 64-битных ОС.\n"
+"  По умолчанию: не задан"
+
+msgid ""
+"``regname``\n"
+"  Name of value to read from specified registry key. Defaults to the\n"
+"  unnamed (default) value."
+msgstr ""
+"``regname``\n"
+"  Имя читаемого из реестра параметра. По умолчанию значение не пусто -\n"
+"  неименованный параметр."
+
+msgid ""
+"``regappend``\n"
+"  String to append to the value read from the registry, typically\n"
+"  the executable name of the tool.\n"
+"  Default: None"
+msgstr ""
+"``regappend``\n"
+"  Строка, добавляемая к прочитанному из реестра значению, как правило\n"
+"  это имя исполняемого файла инструмента.\n"
+"  По умолчанию: не задан"
 
 msgid ""
 "\n"
@@ -16371,8 +16856,8 @@
 msgstr ""
 "``publish``\n"
 "    Управляет поведением черновой фазы при работе в качестве сервера. Если\n"
-"    Истина, проталкиваемые наборы изменений становятся публичными на "
-"    клиенте и на сервере, а затянутые или клонированные наборы изменений\n"
+"    Истина, проталкиваемые наборы изменений становятся публичными на     "
+"клиенте и на сервере, а затянутые или клонированные наборы изменений\n"
 "    становятся публичными на стороне клиента.\n"
 "    По умолчанию: True (Истина)"
 
@@ -16393,25 +16878,64 @@
 "\"\"\"\"\"\"\"\"\"\"\"\"\""
 
 msgid ""
-"Specifies profiling format and file output. In this section\n"
-"description, 'profiling data' stands for the raw data collected\n"
-"during profiling, while 'profiling report' stands for a statistical\n"
-"text report generated from the profiling data. The profiling is done\n"
-"using lsprof."
-msgstr ""
-"Задает формат для профилирования и выходного файла. В описании этой\n"
+"Specifies profiling type, format, and file output. Two profilers are\n"
+"supported: an instrumenting profiler (named ``ls``), and a sampling\n"
+"profiler (named ``stat``)."
+msgstr ""
+"Определяет тип профилирования, формат и выходной файл. Поддерживаются\n"
+"два профилировщика: инструментирующий (instrumenting profiler, далее\n"
+"называется ``ls``) и сэмплирующий (sampling profiler, ``stat``)."
+
+msgid ""
+"In this section description, 'profiling data' stands for the raw data\n"
+"collected during profiling, while 'profiling report' stands for a\n"
+"statistical text report generated from the profiling data. The\n"
+"profiling is done using lsprof."
+msgstr ""
+"В описании этой\n"
 "секции 'данные профилирования' означают сырые данные, собранные при\n"
 "профилировании, а 'отчет профилирования' означает статистический\n"
 "текстовый отчет, сгенерированный из данных профилирования.\n"
 "Профилирование выполняется с помощью lsprof."
 
 msgid ""
+"``type``\n"
+"    The type of profiler to use.\n"
+"    Default: ls."
+msgstr ""
+"``type``\n"
+"    Используемый тип профилировщика.\n"
+"    По умолчанию: ls."
+
+msgid ""
+"    ``ls``\n"
+"      Use Python's built-in instrumenting profiler. This profiler\n"
+"      works on all platforms, but each line number it reports is the\n"
+"      first line of a function. This restriction makes it difficult to\n"
+"      identify the expensive parts of a non-trivial function.\n"
+"    ``stat``\n"
+"      Use a third-party statistical profiler, statprof. This profiler\n"
+"      currently runs only on Unix systems, and is most useful for\n"
+"      profiling commands that run for longer than about 0.1 seconds."
+msgstr ""
+"    ``ls``\n"
+"      Использовать встренный инструментирующий профилировщик Python.\n"
+"      Работает на всех платформах, но каждая строка, которую он показывает,\n"
+"      является первой строкой функции. Это ограничение затрудняет поиск \n"
+"      проблемного места в нетривиальной функции.\n"
+"    ``stat``\n"
+"      Использовать сторонний статистический профилировщик, statprof.\n"
+"      В настоящее время работает в Unix, особо полезен для профилирования\n"
+"      команд, которые выполняются более 0.1 секуднды."
+
+msgid ""
 "``format``\n"
-"    Profiling format.\n"
+"    Profiling format.  Specific to the ``ls`` instrumenting profiler.\n"
 "    Default: text."
 msgstr ""
-"``format``\n"
-"    Формат профилирования.\n"
+"т``format``\n"
+"    Формат профилирования. Специфичен для инструментирующего профилировщика "
+"``ls``.\n"
 "    По умолчанию: text (текстовый)."
 
 msgid ""
@@ -16432,6 +16956,16 @@
 "      сохранения в файл, он может быть загружен прямо в kcachegrind."
 
 msgid ""
+"``frequency``\n"
+"    Sampling frequency.  Specific to the ``stat`` sampling profiler.\n"
+"    Default: 1000."
+msgstr ""
+"``frequency``\n"
+"    Частота сэмплирования. Только для сэмплирующего профилировщика "
+"``stat``.\n"
+"    По умолчанию: 1000."
+
+msgid ""
 "``output``\n"
 "    File path where profiling data or report should be saved. If the\n"
 "    file exists, it is replaced. Default: None, data is printed on\n"
@@ -16491,6 +17025,15 @@
 "    По умолчанию True (включен)."
 
 msgid ""
+"``preferuncompressed``\n"
+"    When set, clients will try to use the uncompressed streaming\n"
+"    protocol. Default is False."
+msgstr ""
+"``preferuncompressed``\n"
+"    Если истина, клиенты будут пытаться использовать протокол без\n"
+"    сжатия. По умолчанию False (ложь)."
+
+msgid ""
 "``validate``\n"
 "    Whether to validate the completeness of pushed changesets by\n"
 "    checking that all new file revisions specified in manifests are\n"
@@ -16502,28 +17045,98 @@
 "    По умолчанию False (отключено)."
 
 msgid ""
+"``smtp``\n"
+"\"\"\"\"\"\"\"\""
+msgstr ""
+"``smtp``\n"
+"\"\"\"\"\"\"\"\""
+
+msgid "Configuration for extensions that need to send email messages."
+msgstr "Настройки для расширений, которые рассылают email-сообщения."
+
+msgid ""
+"``host``\n"
+"    Host name of mail server, e.g. \"mail.example.com\"."
+msgstr ""
+"``host``\n"
+"    Имя хоста почтового сервера, например \"mail.example.com\"."
+
+msgid ""
+"``port``\n"
+"    Optional. Port to connect to on mail server. Default: 25."
+msgstr "    Необязательный. Входящий порт почтового сервера. По умолчанию: 25."
+
+msgid ""
+"``tls``\n"
+"    Optional. Method to enable TLS when connecting to mail server: "
+"starttls,\n"
+"    smtps or none. Default: none."
+msgstr ""
+"``tls``\n"
+"    Необязательный. Способ включения TLS при подключении к почтовому "
+"серверу:\n"
+"    starttls, smtps или none (откл.). По умолчанию: none."
+
+msgid ""
+"``username``\n"
+"    Optional. User name for authenticating with the SMTP server.\n"
+"    Default: none."
+msgstr ""
+"``username``\n"
+"    Необязательный. Имя пользователя для аутентификации на SMTP-сервере.\n"
+"    По умолчанию: не задан."
+
+msgid ""
+"``password``\n"
+"    Optional. Password for authenticating with the SMTP server. If not\n"
+"    specified, interactive sessions will prompt the user for a\n"
+"    password; non-interactive sessions will fail. Default: none."
+msgstr ""
+"``password``\n"
+"    Необязательный. Пароль для аутентификации на SMTP-сервере. Если\n"
+"    не задан, пользователю будет предложено ввести пароль, а\n"
+"    неинтерактивный сеанс завершится неудачей. По умолчанию: не задан."
+
+msgid ""
+"``local_hostname``\n"
+"    Optional. It's the hostname that the sender can use to identify\n"
+"    itself to the MTA."
+msgstr ""
+"``local_hostname``\n"
+"    Необязательный. Имя хоста, используемое отправителем для\n"
+"    самоидентификации через MTA."
+
+msgid ""
+"\n"
 "``subpaths``\n"
 "\"\"\"\"\"\"\"\"\"\"\"\""
 msgstr ""
+"\n"
 "``subpaths``\n"
 "\"\"\"\"\"\"\"\"\"\"\"\""
 
-msgid "Defines subrepositories source locations rewriting rules of the form::"
-msgstr "Определяет правила переопределения адресов источников в форме::"
+msgid ""
+"Subrepository source URLs can go stale if a remote server changes name\n"
+"or becomes temporarily unavailable. This section lets you define\n"
+"rewrite rules of the form::"
+msgstr ""
+"URL источников подхранилищ могут стать недействительными, если удаленный\n"
+"сервер сменил имя или стал временно недоступным. Эта секция позволяет вам\n"
+"задать правила замены вида::"
 
 msgid "    <pattern> = <replacement>"
 msgstr "   <шаблон> = <замена>"
 
 msgid ""
-"Where ``pattern`` is a regular expression matching the source and\n"
-"``replacement`` is the replacement string used to rewrite it. Groups\n"
-"can be matched in ``pattern`` and referenced in ``replacements``. For\n"
-"instance::"
-msgstr ""
-"Где ``шаблон`` - это регулярное выражение, с которым совпадает\n"
-"адрес источника, а ``замена`` - строка, на которую он будет заменен.\n"
-"Группы, совпадающие в ``шаблоне``, могут быть использованы в ``замене``.\n"
-"Например::"
+"where ``pattern`` is a regular expression matching a subrepository\n"
+"source URL and ``replacement`` is the replacement string used to\n"
+"rewrite it. Groups can be matched in ``pattern`` and referenced in\n"
+"``replacements``. For instance::"
+msgstr ""
+"где ``шаблон`` - это регулярное выражение, с которым совпадает\n"
+"адрес подхранилища-источника, а ``замена`` - строка, на которую он будет\n"
+"заменен. Группы, совпадающие в ``шаблоне``, могут быть использованы в\n"
+"``замене``. Например::"
 
 msgid "    http://server/(.*)-hg/ = http://hg.server/\\1/"
 msgstr "    http://server/(.*)-hg/ = http://hg.server/\\1/"
@@ -16531,8 +17144,14 @@
 msgid "rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``."
 msgstr "заменит ``http://server/foo-hg/`` на ``http://hg.server/foo/``."
 
-msgid "All patterns are applied in definition order."
-msgstr "Все шаблоны применяются в порядке определения."
+msgid ""
+"Relative subrepository paths are first made absolute, and the the\n"
+"rewrite rules are then applied on the full (absolute) path. The rules\n"
+"are applied in definition order."
+msgstr ""
+"Относительные пути подхранилищ сначала делаются абсолютными, после чего\n"
+"уже к этим абсолютным путям применяются правила замены. Правила применяются\n"
+"в порядке их определения."
 
 msgid ""
 "``trusted``\n"
@@ -16751,6 +17370,16 @@
 "    По умолчанию ``hg``."
 
 msgid ""
+"``reportoldssl``\n"
+"    Warn if an SSL certificate is unable to be due to using Python\n"
+"    2.5 or earlier. True or False. Default is True."
+msgstr ""
+"``reportoldssl``\n"
+"    Предупреждать, если невозможно использовать SSL-сертификат из-за\n"
+"    старой версии Python (2.5 или старее). True или False. По умолчанию\n"
+"    True (Истина)."
+
+msgid ""
 "``report_untrusted``\n"
 "    Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a\n"
 "    trusted user or group. True or False. Default is True."
@@ -17040,14 +17669,43 @@
 "    authority certificates. Environment variables and ``~user``\n"
 "    constructs are expanded in the filename. If specified on the\n"
 "    client, then it will verify the identity of remote HTTPS servers\n"
-"    with these certificates. The form must be as follows::"
+"    with these certificates."
 msgstr ""
 "``cacerts``\n"
 "    Путь к файлу, содержащему список зашифрованных PEM сертификатов.\n"
 "    Производится подстановка переменных окружения и строк вида\n"
-"    ``~user``. Если указан на стороне клиента, будет использоваться\n"
-"    для идентификации отдалённых HTTPS-серверов с этими сертификатами.\n"
-"    Формат файла следующий::"
+"    ``~user``. Если задан на стороне клиента, будет использоваться\n"
+"    для идентификации отдалённых HTTPS-серверов с этими сертификатами."
+
+msgid ""
+"    This feature is only supported when using Python 2.6 or later. If you "
+"wish\n"
+"    to use it with earlier versions of Python, install the backported\n"
+"    version of the ssl library that is available from\n"
+"    ``http://pypi.python.org``."
+msgstr ""
+"    Эта возможность поддерживается только при использовании Python 2.6\n"
+"    или выше. Если вы хотите использовать ее с более ранними версиями\n"
+"    Python, установите бэкпортированную версию библиотеки ssl,\n"
+"    доступную под адресу ``http://pypi.python.org``."
+
+msgid ""
+"    To disable SSL verification temporarily, specify ``--insecure`` from\n"
+"    command line."
+msgstr ""
+"    Чтобы временно отключить SSL-верификацию, укажите ``--insecure``\n"
+"    из командной строки."
+
+msgid ""
+"    You can use OpenSSL's CA certificate file if your platform has\n"
+"    one. On most Linux systems this will be\n"
+"    ``/etc/ssl/certs/ca-certificates.crt``. Otherwise you will have to\n"
+"    generate this file manually. The form must be as follows::"
+msgstr ""
+"    Вы можете использовать файл сертификата CA OpenSSL, если он \n"
+"    имеется на вашей платформе. На большинстве Linux-систем это\n"
+"    ``/etc/ssl/certs/ca-certificates.crt``. В противном случае вам\n"
+"    необходимо вручную сгенерировать этот файл. Формат файла::"
 
 msgid ""
 "        -----BEGIN CERTIFICATE-----\n"
@@ -17065,36 +17723,6 @@
 "        -----END CERTIFICATE-----"
 
 msgid ""
-"    This feature is only supported when using Python 2.6 or later. If you "
-"wish\n"
-"    to use it with earlier versions of Python, install the backported\n"
-"    version of the ssl library that is available from\n"
-"    ``http://pypi.python.org``."
-msgstr ""
-"    Эта возможность поддерживается только при использовании Python 2.6\n"
-"    или выше. Если вы хотите использовать ее с более ранними версиями\n"
-"    Python, установите бэкпортированную версию библиотеки ssl,\n"
-"    доступную под адресу ``http://pypi.python.org``."
-
-msgid ""
-"    You can use OpenSSL's CA certificate file if your platform has one.\n"
-"    On most Linux systems this will be ``/etc/ssl/certs/ca-certificates."
-"crt``.\n"
-"    Otherwise you will have to generate this file manually."
-msgstr ""
-"    Вы можете использовать файл сертификата CA OpenSSL, если он \n"
-"    имеется на вашей платформе. На большинстве Linux-систем это\n"
-"    ``/etc/ssl/certs/ca-certificates.crt``. В противном случае вам\n"
-"    необходимо вручную сгенерировать этот файл."
-
-msgid ""
-"    To disable SSL verification temporarily, specify ``--insecure`` from\n"
-"    command line."
-msgstr ""
-"    Чтобы временно отключить SSL-верификацию, укажите ``--insecure``\n"
-"    из командной строки."
-
-msgid ""
 "``cache``\n"
 "    Whether to support caching in hgweb. Defaults to True."
 msgstr ""
@@ -17102,6 +17730,26 @@
 "    Включить или нет кэширование в hgweb. По умолчанию True (включено)."
 
 msgid ""
+"``collapse``\n"
+"    With ``descend`` enabled, repositories in subdirectories are shown at\n"
+"    a single level alongside repositories in the current path. With\n"
+"    ``collapse`` also enabled, repositories residing at a deeper level than\n"
+"    the current path are grouped behind navigable directory entries that\n"
+"    lead to the locations of these repositories. In effect, this setting\n"
+"    collapses each collection of repositories found within a subdirectory\n"
+"    into a single entry for that subdirectory. Default is False."
+msgstr ""
+"``collapse``\n"
+"    Если включен ``descend``, хранилища в подкаталогах показываются на\n"
+"    одном уровне с хранилищами по текущему пути. Если включен и "
+"``collapse``,\n"
+"    хранилища, находящиеся глубже текущего пути, группируются в список\n"
+"    элементов, ведущих к этим хранилищам, с возможностью навигации. Таким\n"
+"    образом, этот параметр позволяет свернуть каждую коллекцию хранилищ\n"
+"    подкаталога в одну запись для этого подкаталога. По умолчанию False "
+"(выкл.)."
+
+msgid ""
 "``contact``\n"
 "    Name or email address of the person in charge of the repository.\n"
 "    Defaults to ui.username or ``$EMAIL`` or \"unknown\" if unset or empty."
@@ -18169,10 +18817,10 @@
 
 msgid ""
 "Close changeset\n"
-"    See 'Changeset, close'."
-msgstr ""
-"Закрыть набор изменений (ревизию)\n"
-"    См. 'Набор изменений, закрыть'."
+"    See 'Head, closed branch'"
+msgstr ""
+"Закрытая ревизия\n"
+"    См. 'Головная ревизия, закрытая ветка'."
 
 msgid ""
 "Closed branch\n"
@@ -18390,6 +19038,14 @@
 "    в выводе :hg:`branches`."
 
 msgid ""
+"    Closed heads can be re-opened by committing new changeset as the\n"
+"    child of the changeset that marks a head as closed."
+msgstr ""
+"    Закрытые головы могут быть снова открыты, если зафиксировать новую "
+"ревизию\n"
+"    как дочернюю для ревизии, в которой голова была помечена как закрытая."
+
+msgid ""
 "Head, repository\n"
 "    A topological head which has not been closed."
 msgstr ""
@@ -18895,6 +19551,15 @@
 "относительно корневого каталога, начните его с ``^``."
 
 msgid ""
+".. note::\n"
+"  Patterns specified in other than ``.hgignore`` are always rooted.\n"
+"  Please see :hg:`help patterns` for details."
+msgstr ""
+".. note::\n"
+"  Шаблоны, заданные где угодно, кроме ``.hgignore``, привязаны к корневому\n"
+"  каталогу. См. также :hg:`help patterns`."
+
+msgid ""
 "Example\n"
 "-------"
 msgstr ""
@@ -19117,66 +19782,8 @@
 "merge tools are:"
 msgstr "Существуют также встроенные инструменты слияния:"
 
-msgid ""
-"``internal:merge``\n"
-"   Uses the internal non-interactive simple merge algorithm for merging\n"
-"   files. It will fail if there are any conflicts and leave markers in\n"
-"   the partially merged file."
-msgstr ""
-"``internal:merge``\n"
-"   Использует внутренний неинтерактивный простой алгоритм слияния.\n"
-"   Завершиться с ошибкой, если обнаружит конфликт, и оставит специальные\n"
-"   маркеры в частично слитом файле."
-
-msgid ""
-"``internal:fail``\n"
-"   Rather than attempting to merge files that were modified on both\n"
-"   branches, it marks them as unresolved. The resolve command must be\n"
-"   used to resolve these conflicts."
-msgstr ""
-"``internal:fail``\n"
-"   Вместо того, чтобы попытаться провести слияние файлов, измененных на\n"
-"   обеих ветках, он отмечает их как файлы с неразрешенными конфликтами.\n"
-"   После разрешения конфликта должна быть использована команда resolve."
-
-msgid ""
-"``internal:local``\n"
-"   Uses the local version of files as the merged version."
-msgstr ""
-"``internal:local``\n"
-"   Использует локальные версии файлов в качестве слитой версии."
-
-msgid ""
-"``internal:other``\n"
-"   Uses the other version of files as the merged version."
-msgstr ""
-"``internal:other``\n"
-"   Использует версию файла из хранилища в качестве слитой версии."
-
-msgid ""
-"``internal:prompt``\n"
-"   Asks the user which of the local or the other version to keep as\n"
-"   the merged version."
-msgstr ""
-"``internal:prompt``\n"
-"   Спрашивает пользователя, какую версию файла - локальную или \n"
-"   из хранилища - использовать в качестве слитой версии."
-
-msgid ""
-"``internal:dump``\n"
-"   Creates three versions of the files to merge, containing the\n"
-"   contents of local, other and base. These files can then be used to\n"
-"   perform a merge manually. If the file to be merged is named\n"
-"   ``a.txt``, these files will accordingly be named ``a.txt.local``,\n"
-"   ``a.txt.other`` and ``a.txt.base`` and they will be placed in the\n"
-"   same directory as ``a.txt``."
-msgstr ""
-"``internal:dump``\n"
-"   Создает три версии файла для слияния: локальную, из хранилища и\n"
-"   базовую. Эти файлы можно использовать для слияния вручную. Если\n"
-"   файл называется `a.txt``, то эти файлы будут называться ``a.txt.local``,\n"
-"   ``a.txt.other`` и ``a.txt.base`` соответственно и будут находиться\n"
-"   в том же каталоге, что и ``a.txt``."
+msgid ".. internaltoolsmarker"
+msgstr ".. internaltoolsmarker"
 
 msgid ""
 "Internal tools are always available and do not require a GUI but will by "
@@ -19353,6 +19960,15 @@
 msgstr "Другая форма шаблонов должна указываться явно."
 
 msgid ""
+".. note::\n"
+"  Patterns specified in ``.hgignore`` are not rooted. \n"
+"  Please see :hg:`help hgignore` for details."
+msgstr ""
+".. note::\n"
+"  Шаблоны, заданные в ``.hgignore``, привязаны к корневому\n"
+"  каталогу. См. :hg:`help hgignore`."
+
+msgid ""
 "To use a plain path name without any pattern matching, start it with\n"
 "``path:``. These path names must completely match starting at the\n"
 "current repository root."
@@ -19483,13 +20099,13 @@
 "These phases are ordered (public < draft < secret) and no changeset\n"
 "can be in a lower phase than its ancestors. For instance, if a\n"
 "changeset is public, all its ancestors are also public. Lastly,\n"
-"changeset phases only be changed towards the public phase."
+"changeset phases should only be changed towards the public phase."
 msgstr ""
 "Фазы расположены в следующем порядке: публичная < черновая < секретная,\n"
 "при этом набор изменений не может находится в фазе, меньшей фазы его\n"
 "предков. Например, если набор изменений находится в публичной фазе,\n"
 "то и все его родительские ревизии будут в публичной фазе. Наконец, фазы\n"
-"набора изменений могут меняться только в сторону пулбичной фазы."
+"набора изменений следует менять только в сторону пулбичной фазы."
 
 msgid ""
 "How are phases managed?\n"
@@ -19619,6 +20235,13 @@
 msgid "     hg log --template \"{rev} {phase}\\n\""
 msgstr "     hg log --template \"{rev} {phase}\\n\""
 
+msgid " - resynchronize draft changesets relative to a remote repository::"
+msgstr ""
+" - синхронизировать черновые ревизии относительно отдаленного хранилища::"
+
+msgid "     hg phase -fd 'outgoing(URL)' "
+msgstr "     hg phase -fd 'outgoing(URL)' "
+
 msgid ""
 "See :hg:`help phase` for more information on manually manipulating phases.\n"
 msgstr "См. :hg:`help phase` — о том, как изменять фазы вручную.\n"
@@ -19946,12 +20569,14 @@
 "   находится где угодно в рабочем каталоге."
 
 msgid ""
-"2. Nested repository references. They are defined in ``.hgsub`` and\n"
+"2. Nested repository references. They are defined in ``.hgsub``, which\n"
+"   should be placed in the root of working directory, and\n"
 "   tell where the subrepository checkouts come from. Mercurial\n"
 "   subrepositories are referenced like:"
 msgstr ""
-"2. Ссылки на вложенные хранилища. Они определены в ``.hgsub`` и\n"
-"   описывают, откуда были извлечены копии подхранилищ.\n"
+"2. Ссылки на вложенные хранилища. Они определяются в файле ``.hgsub``,\n"
+"   который должен находиться в корне рабочего каталога, и описывают,\n"
+"   откуда были извлечены копии подхранилищ.\n"
 "   Подхранилища имеют такие пути:"
 
 msgid "     path/to/nested = https://example.com/nested/repo/path"
@@ -19988,13 +20613,15 @@
 "   в родительское хранилище перед использованием подхранилищ."
 
 msgid ""
-"3. Nested repository states. They are defined in ``.hgsubstate`` and\n"
+"3. Nested repository states. They are defined in ``.hgsubstate``, which\n"
+"   is placed in the root of working directory, and\n"
 "   capture whatever information is required to restore the\n"
 "   subrepositories to the state they were committed in a parent\n"
 "   repository changeset. Mercurial automatically record the nested\n"
 "   repositories states when committing in the parent repository."
 msgstr ""
-"3. Состояния вложенных хранилищ. Они определены в ``.hgsubstate``\n"
+"3. Состояния вложенных хранилищ. Они определяются в файле ``.hgsubstate``,\n"
+"   который должен находиться в корне рабочего каталога,\n"
 "   и содержат информацию, необходимую для дальнейшего восстановления\n"
 "   подхранилищ до состояния, в котором они были зафиксированы в\n"
 "   родительское хранилище. Mercurial записывает состояния вложенных\n"
@@ -20704,14 +21331,6 @@
 msgstr ""
 "рабочая копия .hgtags изменена (пожалуйста зафиксируйте .hgtags вручную)"
 
-#, python-format
-msgid "working directory has unknown parent '%s'!"
-msgstr "рабочий каталог имеет неизвестного родителя '%s'!"
-
-#, python-format
-msgid "unknown revision '%s'"
-msgstr "неизвестная ревизия '%s'"
-
 msgid "abandoned transaction found - run hg recover"
 msgstr "обнаружена незавершенная транзакцию - воспользуйтесь hg recover"
 
@@ -20775,12 +21394,17 @@
 msgstr ""
 "нельзя зафиксировать слияние частично (не указывайте файлы или шаблоны)"
 
-msgid "can't commit subrepos without .hgsub"
-msgstr "невозможно зафиксировать подхранилища без .hgsub"
+# NOT-SURE
+#, python-format
+msgid "commit with new subrepo %s excluded"
+msgstr "фиксация с исключенным новым подхранилищем %s"
 
 msgid "use --subrepos for recursive commit"
 msgstr "используйте --subrepos чтобы фиксировать рекурсивно"
 
+msgid "can't commit subrepos without .hgsub"
+msgstr "невозможно зафиксировать подхранилища без .hgsub"
+
 msgid "file not found!"
 msgstr "файл не найден!"
 
@@ -20790,6 +21414,9 @@
 msgid "file not tracked!"
 msgstr "файл не отслеживается!"
 
+msgid "cannot commit merge with missing files"
+msgstr "невозможно зафиксировать слияние с недостающими файлами"
+
 msgid "unresolved merge conflicts (see hg help resolve)"
 msgstr "неразрешенные конфликты слияния (см. hg help resolve)"
 
@@ -21162,12 +21789,17 @@
 msgid "bad hunk #%d old text line %d"
 msgstr "плохая полоса #%d старая строка текста %d"
 
-msgid "could not extract binary patch"
-msgstr "невозможно извлечь двоичный патч"
-
-#, python-format
-msgid "binary patch is %d bytes, not %d"
-msgstr "двоичный патч имеет размер %d байт, а не %d"
+#, python-format
+msgid "could not extract \"%s\" binary data"
+msgstr "невозможно извлечь бинарные данные \"%s\""
+
+#, python-format
+msgid "could not decode \"%s\" binary patch: %s"
+msgstr "невозможно декодировать двоичный патч \"%s\": %s"
+
+#, python-format
+msgid "\"%s\" length is %d bytes, should be %d"
+msgstr "\"%s\" имеет размер %d байт, а должен %d"
 
 #, python-format
 msgid "unable to strip away %d of %d dirs from %s"
@@ -21177,6 +21809,10 @@
 msgstr "не определены исходный и конечный файлы"
 
 #, python-format
+msgid "failed to synchronize metadata for \"%s\""
+msgstr "не удалось синхронизировать метаданные для \"%s\""
+
+#, python-format
 msgid "cannot create %s: destination already exists"
 msgstr "не удается создать %s: назначение уже существует"
 
@@ -21223,6 +21859,10 @@
 msgstr "добавляется ветка\n"
 
 #, python-format
+msgid "error removing %s: %s\n"
+msgstr "ошибка при удалении %s: %s\n"
+
+#, python-format
 msgid "strip failed, full bundle stored in '%s'\n"
 msgstr "strip не удался, полный комплект (bundle) сохранен в '%s'\n"
 
@@ -21472,6 +22112,14 @@
 "``first(множество, [n])``\n"
 "    Псевдоним для limit()."
 
+#, python-format
+msgid "%s takes no arguments or a filename"
+msgstr "%s принимает либо ноль аргументов, либо имя файла"
+
+#, python-format
+msgid "%s expected a filename"
+msgstr "%s ожидает имя файла"
+
 msgid ""
 "``follow([file])``\n"
 "    An alias for ``::.`` (ancestors of the working copy's first parent).\n"
@@ -21483,13 +22131,6 @@
 "    Если указано имя файла, прослеживается вся история данного файла,\n"
 "    включая копии."
 
-#. i18n: "follow" is a keyword
-msgid "follow takes no arguments or a filename"
-msgstr "follow принимает либо ноль аргументов, либо имя файла"
-
-msgid "follow expected a filename"
-msgstr "follow ожидает имя файла"
-
 msgid ""
 "``all()``\n"
 "    All changesets, the same as ``0:tip``."
@@ -21520,6 +22161,23 @@
 msgid "invalid match pattern: %s"
 msgstr "неверный шаблон поиска: %s"
 
+#. i18n: "_matchfiles" is a keyword
+msgid "_matchfiles requires at least one argument"
+msgstr "_matchfiles требует хотя бы один аргумент"
+
+msgid "_matchfiles requires string arguments"
+msgstr "_matchfiles требует строковых аргументов"
+
+msgid "_matchfiles expected at most one revision"
+msgstr ""
+
+msgid "_matchfiles expected at most one default mode"
+msgstr ""
+
+#, python-format
+msgid "invalid _matchfiles prefix: %s"
+msgstr "неверный префикс для _matchfiles: %s"
+
 msgid ""
 "``file(pattern)``\n"
 "    Changesets affecting files matched by pattern."
@@ -21769,6 +22427,69 @@
 msgstr "rev ожидает число"
 
 msgid ""
+"``matching(revision [, field])``\n"
+"    Changesets in which a given set of fields match the set of fields in "
+"the\n"
+"    selected revision or set."
+msgstr ""
+"``matching(ревизия [, поле])``\n"
+"    Наборы изменений, в которых заданный набор полей совпадает с набором\n"
+"    полей в выбранной ревизии или множестве ревизий."
+
+msgid ""
+"    To match more than one field pass the list of fields to match separated\n"
+"    by spaces (e.g. ``author description``)."
+msgstr ""
+"    Для поиска ревизий с несколькими совпадающими полями, задайте список "
+"имен,\n"
+"    полей, разделенных пробелами (например, ``author dexcription``)."
+
+msgid ""
+"    Valid fields are most regular revision fields and some special fields."
+msgstr ""
+"    В качестве полей могут выступать \"обычные\" поля ревизий, а также\n"
+"    несколько особых полей."
+
+msgid ""
+"    Regular revision fields are ``description``, ``author``, ``branch``,\n"
+"    ``date``, ``files``, ``phase``, ``parents``, ``substate`` and ``user``.\n"
+"    Note that ``author`` and ``user`` are synonyms."
+msgstr ""
+"    \"Обычные\" поля ревизий: ``description``, ``author``, ``branch``,\n"
+"    ``date``, ``files``, ``phase``, ``parents``, ``substate`` and ``user``\n"
+"    (описание, автор, ветка, дата, файлы, фаза, родители, состояние, и еще\n"
+"    раз автор-пользователь).\n"
+"    Обратите внимание, что ``author`` and ``user`` являются синонимами."
+
+msgid ""
+"    Special fields are ``summary`` and ``metadata``:\n"
+"    ``summary`` matches the first line of the description.\n"
+"    ``metatadata`` is equivalent to matching ``description user date``\n"
+"    (i.e. it matches the main metadata fields)."
+msgstr ""
+"    Особыми полями являются ``summary`` and ``metadata``: ``summary``\n"
+"    соответствует первой строке описания. ``metadata`` эквивалентно\n"
+"    совпадению ``description user date`` (т.е. это основные поля\n"
+"    метаданных)."
+
+msgid ""
+"    ``metadata`` is the default field which is used when no fields are\n"
+"    specified. You can match more than one field at a time."
+msgstr ""
+"    ``metadata`` используется по умолчанию, когда не указано ни одного\n"
+"    поля. Можно искать по нескольким полям за раз."
+
+msgid "matching takes 1 or 2 arguments"
+msgstr "matching принимает один или два аргумента"
+
+msgid "matching requires a string as its second argument"
+msgstr "matching требует строку в качестве второго аргумента"
+
+#, python-format
+msgid "unexpected field name passed to matching: %s"
+msgstr "неожиданное имя поля, переданное matching: %s"
+
+msgid ""
 "``reverse(set)``\n"
 "    Reverse order of set."
 msgstr ""
@@ -21777,10 +22498,10 @@
 
 msgid ""
 "``roots(set)``\n"
-"    Changesets with no parent changeset in set."
+"    Changesets in set with no parent changeset in set."
 msgstr ""
 "``roots(множество)``\n"
-"    Наборы изменений, не имеющие родителя во множестве."
+"    Наборы изменений из множества, не имеющие родителя во множестве."
 
 msgid ""
 "``secret()``\n"
@@ -21857,6 +22578,10 @@
 msgstr "не является символом"
 
 #, python-format
+msgid "infinite expansion of revset alias \"%s\" detected"
+msgstr "обнаружена бесконечная подстановка в revset-псевдониме \"%s\""
+
+#, python-format
 msgid "invalid number of arguments: %s"
 msgstr "неверное количество аргументов: %s"
 
@@ -22064,6 +22789,10 @@
 msgstr "файл спецификации подхранилища %s не найден"
 
 #, python-format
+msgid "invalid subrepository revision specifier in .hgsubstate line %d"
+msgstr "неверный спецификатор ревизии подхранилища в .hgsubstate строка %d"
+
+#, python-format
 msgid "bad subrepository pattern in %s: %s"
 msgstr "некорректный шаблон подхранилища в %s: %s"
 
@@ -22152,6 +22881,10 @@
 msgstr "проталкиваем подхранилище %s в %s\n"
 
 #, python-format
+msgid "reverting subrepo %s\n"
+msgstr "восстановление подхранилища %s\n"
+
+#, python-format
 msgid "'svn' executable not found for subrepo '%s'"
 msgstr "исполняемый файл 'svn' не найден для подхранилища '%s'"
 
@@ -22162,6 +22895,13 @@
 msgid "cannot commit svn externals"
 msgstr "не удается зафиксировать svn externals"
 
+# svn externals - это символические ссылки в хранилище svn
+msgid "cannot commit missing svn entries"
+msgstr "не удается зафиксировать отсутствующие элементы svn"
+
+msgid "failed to commit svn changes"
+msgstr "не удалось зафиксировать изменения в svn"
+
 #, python-format
 msgid "not removing repo %s because it has changes.\n"
 msgstr "не удаляем хранилище %s, т.к. в нем имеются изменения.\n"
@@ -22322,8 +23062,43 @@
 ":obfuscate: Произвольный текст. Возвращает входной текст в виде\n"
 "    последовательности XML-сущностей."
 
-msgid ":person: Any text. Returns the text before an email address."
-msgstr ":person: Произвольный текст. Возвращает текст перед email-адресом."
+msgid ""
+":person: Any text. Returns the name before an email address,\n"
+"    interpreting it as per RFC 5322."
+msgstr ""
+":person: Произвольный текст. Возвращает имя перед email-адресом,\n"
+"    интерпретируя его согласно RFC 5322."
+
+msgid ""
+"    >>> person('foo@bar')\n"
+"    'foo'\n"
+"    >>> person('Foo Bar <foo@bar>')\n"
+"    'Foo Bar'\n"
+"    >>> person('\"Foo Bar\" <foo@bar>')\n"
+"    'Foo Bar'\n"
+"    >>> person('\"Foo \"buz\" Bar\" <foo@bar>')\n"
+"    'Foo \"buz\" Bar'\n"
+"    >>> # The following are invalid, but do exist in real-life\n"
+"    ...\n"
+"    >>> person('Foo \"buz\" Bar <foo@bar>')\n"
+"    'Foo \"buz\" Bar'\n"
+"    >>> person('\"Foo Bar <foo@bar>')\n"
+"    'Foo Bar'"
+msgstr ""
+"    >>> person('foo@bar')\n"
+"    'foo'\n"
+"    >>> person('Foo Bar <foo@bar>')\n"
+"    'Foo Bar'\n"
+"    >>> person('\"Foo Bar\" <foo@bar>')\n"
+"    'Foo Bar'\n"
+"    >>> person('\"Foo \"buz\" Bar\" <foo@bar>')\n"
+"    'Foo \"buz\" Bar'\n"
+"    >>> # Нижеследующее некорректно, но в реальности работает\n"
+"    ...\n"
+"    >>> person('Foo \"buz\" Bar <foo@bar>')\n"
+"    'Foo \"buz\" Bar'\n"
+"    >>> person('\"Foo Bar <foo@bar>')\n"
+"    'Foo Bar'"
 
 msgid ""
 ":rfc3339date: Date. Returns a date using the Internet date format\n"
@@ -22395,8 +23170,16 @@
 ":urlescape: Произвольный текст. Экранирует все \"специальные\" символы.\n"
 "    Например, \"foo bar\" превращается в \"foo%20bar\"."
 
-msgid ":user: Any text. Returns the user portion of an email address."
-msgstr ":user: Произвольный текст. Возвращает пользователя из email-адреса."
+msgid ""
+":user: Any text. Returns a short representation of a user name or email\n"
+"    address."
+msgstr ""
+":user: Произвольный текст. Возвращает короткий вариант имени\n"
+"    пользователя или email-адреса."
+
+msgid ":emailuser: Any text. Returns the user portion of an email address."
+msgstr ""
+":emailuser: Произвольный текст. Возвращает пользователя из email-адреса."
 
 msgid ":author: String. The unmodified author of the changeset."
 msgstr ":author: Строка. Неизмененный автор набора изменений."
@@ -22600,9 +23383,6 @@
 msgid "password: "
 msgstr "пароль: "
 
-msgid "edit failed"
-msgstr "неудача при редактировании"
-
 msgid "http authorization required"
 msgstr "требуется http-авторизация"
 
@@ -22908,6 +23688,59 @@
 msgid "push failed:"
 msgstr "ошибка при проталкивании:"
 
+#~ msgid "The hook does not change bug status."
+#~ msgstr "Хук не изменяет статус бага."
+
+#~ msgid ""
+#~ "bugzilla.regexp\n"
+#~ "  Regular expression to match bug IDs in changeset commit message.\n"
+#~ "  Must contain one \"()\" group. The default expression matches ``Bug\n"
+#~ "  1234``, ``Bug no. 1234``, ``Bug number 1234``, ``Bugs 1234,5678``,\n"
+#~ "  ``Bug 1234 and 5678`` and variations thereof. Matching is case\n"
+#~ "  insensitive."
+#~ msgstr ""
+#~ "bugzilla.regexp\n"
+#~ "  Регулярное выражение для поиска ID бага в комментарии фиксации набора\n"
+#~ "  изменений. Должно содержать одну группу в скобках \"()\". По умолчанию\n"
+#~ "  задано выражение, совпадающее с ``Bug 1234``, ``Bug no. 1234``,\n"
+#~ "  ``Bug number 1234``, ``Bugs 1234,5678``, ``Bug 1234 and 5678`` и их\n"
+#~ "  вариациями. Не чувствительно к регистру."
+
+#~ msgid "%s is not a valid revision in current branch"
+#~ msgstr "%s - недопустимая ревизия на текущей ветке"
+
+#~ msgid "-G/--graph option is incompatible with --follow with file argument"
+#~ msgstr "опция -G/--graph несовместима с --follow с аргументом-файлом"
+
+#~ msgid "hg glog [OPTION]... [FILE]"
+#~ msgstr "hg glog [ПАРАМЕТР]... [ФАЙЛ]"
+
+#~ msgid "import a patch"
+#~ msgstr "импортировать патч"
+
+#~ msgid ""
+#~ "    Returns 0 on success, 1 if no changes found or an update had\n"
+#~ "    unresolved files.\n"
+#~ "    "
+#~ msgstr ""
+#~ "    Возвращает 0 при успехе, 1 если изменений не найдено или есть\n"
+#~ "    конфликты при обновлении.\n"
+#~ "    "
+
+#~ msgid ""
+#~ "Defines subrepositories source locations rewriting rules of the form::"
+#~ msgstr "Определяет правила переопределения адресов источников в форме::"
+
+#~ msgid "All patterns are applied in definition order."
+#~ msgstr "Все шаблоны применяются в порядке определения."
+
+#~ msgid ""
+#~ "Close changeset\n"
+#~ "    See 'Changeset, close'."
+#~ msgstr ""
+#~ "Закрыть набор изменений (ревизию)\n"
+#~ "    См. 'Набор изменений, закрыть'."
+
 #~ msgid "bad hash in '%s' (only %d bytes long)"
 #~ msgstr "неверный хэш в '%s' (длина всего %d байт)"